Commit Graph

400 Commits

Author SHA1 Message Date
juanjp600
d6c292a2cc SharpFont + ScalableFont implementation
https://github.com/Robmaister/SharpFont

TODO: replace Code Bold.otf with the full version, fix any bugs, build on Linux, possibly move ToolBox string wrapping and limiting logic to ScalableFont class for better results.
2017-03-07 13:44:42 -03:00
Regalis
e059a08688 Optimized lightsource raycasts 2017-03-03 00:02:43 +02:00
Regalis
f04a00f6e1 Merge branch 'lighting-optimization' 2017-03-02 19:39:55 +02:00
Regalis
335ee8c72e Warning message about unlinked vents is only shown once when saving (not for each vent) 2017-03-02 19:39:00 +02:00
juanjp600
f2db3c6b20 Merge remote-tracking branch 'barotrauma/master' into lighting-optimization 2017-03-01 15:02:23 -03:00
juanjp600
84a8232c1a Fixed override sprite scaling
Now it looks right.
2017-02-28 19:38:25 -03:00
juanjp600
4568f34f39 Rotating lights and overridden textures
The flashlight has the correct texture now, but something still seems off about the UV coordinates. Scaling is probably incorrect.
2017-02-28 19:19:02 -03:00
Regalis
9e16542b13 Replaced the arrows in server lobby buttons with images, made GUIImages rotatable (todo: make them align correctly when rotated/scaled), fixed the size of the sub save warning messagebox 2017-02-27 22:28:10 +02:00
Regalis
22d40077fa Fixed exception in LightSource if ConvexHullList for hulls outside the sub hasn't been generated (i.e. if switching to game mode using console commands), removed some debug code 2017-02-27 18:53:34 +02:00
Regalis
68a0320935 LightSources cache the light vertices in vertex buffers and only recalculate if needed 2017-02-27 00:41:50 +02:00
Regalis
f3f875e641 Calculating light volumes works now. Very poorly optimized at the moment, todo: cache volumes and only recalculate when needed 2017-02-26 21:33:32 +02:00
Regalis
abfe2261d2 - ConvexHulls consist of Segments and SegmentPoints which keep references to each other
- LightSources fetch a list of non-backfacing ConvexHull segments within their range, and sort the points counter-clockwise (TODO: calculate triangles from the points)
- fixed incorrectly working CircleIntersectsRectangle method
2017-02-26 01:17:22 +02:00
Regalis
bcabe4ab39 Disabled convexhull shadow caching 2017-02-25 21:50:24 +02:00
Regalis
844097b132 Initial steps in making the light rendering use light volumes instead of shadow volumes to allow rendering the lights in one batch.
So far just disabled shadow rendering and cleaned up some unnecessary stuff
2017-02-25 21:24:38 +02:00
Regalis
b8c3b9c29f - sub editor shows a warning upon saving if there are entities way outside the sub
- warnings are shown in a GUIMessageBox instead of the debug console
- added a submarine indicator to the editor
2017-02-24 00:01:46 +02:00
Regalis
1ea3044fd6 Firesource sound fix 2017-02-13 21:12:15 +02:00
Regalis
5871faa2dd Added a few new console commands: disablehud, lockx & locky (disables submarine movement on the respective axis), followsub (toggles whether the camera moves with the subs) 2017-02-13 16:23:28 +02:00
Regalis
9a69126b1c Fixed OnMapLoaded not being called on MapEntities that don't belong to any sub (due to this, gaps weren't created on doors in alien ruins until the game starts running, which occasionally caused entity ID mismatches between clients and the server), changelog update 2016-12-31 13:26:50 +02:00
Regalis
c01ac33e1d Option to configure damage sounds for structures with a specific tag, some new sounds 2016-12-21 00:07:25 +02:00
Regalis
32c7edba1c Explosion damage calculations take the size of the limbs into account (e.g. it's possible to damage endworms with explosives that have a damage radius less than 600) 2016-12-20 19:28:25 +02:00
Regalis
dd46ce1d98 Adjusting submarine spawnposition if the sub (or any docked subs) intersect with walls 2016-12-20 16:11:47 +02:00
Regalis
311f388358 Limbs with no sprite don't cause the game to crash anymore, lightsources attached to a limb are drawn at the interpolated position (= DrawPosition) of the limb, lightTexture origin is flipped on the X-axis when parent limb flips 2016-12-17 14:24:54 +02:00
Regalis
d7ed27381f List of linkable subs in the editor is refreshed after saving a new sub 2016-12-14 17:00:09 +02:00
Regalis
a2f19a3b16 The size of the docked subs is taken into account when generating the level 2016-12-13 23:21:47 +02:00
Regalis
2ef7c2f996 Preventing ruins from spanning above the top of the level 2016-12-13 23:14:41 +02:00
Regalis
40c28a11de Docked subs are forced to correct positions during loading and the docking is "locked" (subs won't get stuck inside each other even if the linked sub is placed incorrectly in the editor) 2016-12-13 23:12:56 +02:00
Regalis
6a189c6ec4 Fix for "collection was modified" exceptions when removing entities using delete or Ctrl+X 2016-12-12 15:01:50 +02:00
Regalis
f9ea876edf - sub list in the main menu is refreshed when MainMenuScreen is selected (-> downloaded and newly created subs appear in the list)
- fixed "editing menu" not disappearing after an entity is removed in the editor
- debugconsole textbox is automatically selected when opening the console
- clearing the current gamesession if returning to main menu using the console
2016-12-12 14:49:16 +02:00
Regalis
fdf99cddcb Replaced the solid black color inside wall cells with an ice texture, background ice textures loop better 2016-12-11 21:41:24 +02:00
Regalis
fada49d277 Level generation fix: voronoiCell collision is disabled if any of it's edges intersects with any part of an alien ruin
+ SalvageMission attempts to place artifacts in artifact holders
2016-12-01 16:14:24 +02:00
Regalis
a2442bfcb8 Simple MapEntity visibility culling (structures outside the camera view or items with nothing to render aren't drawn)
Could be optimized further, but already gives a pretty nice performance boost
2016-11-30 21:09:11 +02:00
Regalis
2e2c206d5f ID-based hull & gap depth sorting 2016-11-29 19:21:46 +02:00
Regalis
0b03b78606 Entities that are behind other entities can be selected using a listbox that appears when hovering the cursor over them, itemcomponent GUIFrames aren't added to GUIUpdateList in sub editor (unless in character mode) 2016-11-29 17:30:13 +02:00
Regalis
d035d3bfb2 Structure depth sorting based on ID (overlapping structures don't "flicker" on top of each other) 2016-11-28 17:50:38 +02:00
Regalis
5779de0e17 Fixed null exception when copypasting entities that can't be linked (e.g. walls), aligning pasted entities to the "world grid" 2016-11-28 16:14:50 +02:00
Regalis
baf6a94e38 Fixed wall damage not being visible if there's only one damaged section 2016-11-24 19:15:38 +02:00
Regalis
9d1d64901a Pathfinding fixes:
- determining if a character is close enough to a waypoint works now, even if the character is too short for its collider to overlap with the wp (e.g. crawlers)
- enemies can drop down from platforms
- an extra waypoint is placed at the middle of stairs to prevent characters from choosing a waypoint on a platform above the stairs as the starting point of their path
2016-11-23 22:20:44 +02:00
Regalis
9061f0e53a Water flows more slowly through partially open gaps 2016-11-23 21:20:00 +02:00
Regalis
b773413b45 Fixed items disappearing from copypasted containers if the items have been removed from the original container, cloning links between entities 2016-11-23 20:34:41 +02:00
Regalis
e39ab10a71 Level generation fixes 2016-11-23 17:52:23 +02:00
juanjp600
7a3bce3973 Hull volume helper in editor + Character name matches client name + Better-looking Watcher light source
Also '' is a thing of the past, use \" instead
2016-11-20 18:47:22 -03:00
Regalis
d37bad2d44 Wire sections are updated after flipping, made the wire node list private and added public methods which ensure that sections are updated when modifying nodes 2016-11-16 18:41:32 +02:00
juanjp600
5922fc972d Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-15 22:26:46 -03:00
juanjp600
d2c17274fe GUI elements now respect render order + some minor distance comparison optimization 2016-11-15 22:26:36 -03:00
Regalis
642a1bdd54 Disabled the "infinite walls" at the edges of the level (don't work correctly with multiple subs), the barrier at the top of the level can't be passed through when outside the borders of the level 2016-11-15 19:56:00 +02:00
Regalis
f7a9a77721 Some debug assertions to help figure out the cause for the body.FixtureList==null & GetHullsInRange crash reports 2016-11-15 19:53:25 +02:00
Regalis
335bf00890 Entity removal fixes 2016-11-14 17:52:26 +02:00
Regalis
b86231170f Fixed selectionrect becoming active when moving entities in the editor, null check in ConnectionPanel.UpdateHUD 2016-11-14 16:29:15 +02:00
Regalis
c2098f06f8 Removed a redundant DrawRectangle method & redundant sub visibility culling in GameScreen 2016-11-12 18:29:39 +02:00
Regalis
7fa660d38e Wires can be cloned and moved if both items it's connected to are selected 2016-11-12 15:51:46 +02:00