Regalis
7910b13120
Hulls, gaps, structures & waypoints implement ShallowRemove (= a method that's used to remove entities without severing links between them when copypasting).
...
Copied waypoints used to stay in the waypoint list, causing an exception to be thrown in PathFinder.GenerateNodes due to duplicate IDs.
2017-05-29 19:49:58 +03:00
Regalis
9281795866
Null reference fixes
2017-05-29 18:41:56 +03:00
Regalis
52daeea109
Fixed limb lightsource flipping (or actually disabled flipping altogether and just made the lightsource follow the rotation of the limb)
2017-05-29 18:41:36 +03:00
Regalis
4a94f12c8b
Item list is manually cleared if there are items left after unloading a sub.
...
The "ItemList.Count == 0" assertion failed during one of the testing sessions. No idea why or how to reproduce it, but I hope this will do as a workaround until we figure out the actual cause.
2017-05-29 17:59:24 +03:00
Regalis
4d0a6677e9
Server notifies clients when an OnFire statuseffect causes an item to break (-> clients can see oxygen/fuel tanks exploding again)
2017-05-24 17:30:20 +03:00
Regalis
93940ff5a8
- AI crew can avoid firesources in nearby hulls, not just the one they're currently inside
...
- fixed fires, oxygen and water level not being taken into account in path cost calculations
- particle collision fix
2017-05-20 17:11:45 +03:00
Regalis
e3b595b9e0
Cleanup (removing unused variables & other redundancies, rethrowing exceptions instead of wrapping them in a new exception instance)
2017-05-20 15:35:13 +03:00
Regalis
89bd2b1a98
Improved particle collision logic:
...
- checking if any of the extents of the particle collide with the edges of the hull, instead of just checking if a position in the direction the particle is heading is outside the hull
- separate fields for friction and restitution
2017-05-18 20:03:58 +03:00
Regalis
095054182e
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUITextBlock.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/Items/Components/Machines/Radar.cs
Subsurface/Source/Networking/GameClient.cs
2017-05-17 18:51:22 +03:00
Regalis
043c2fbc5e
Moved TotalElapsedTime from GameMain to the Timing class
2017-05-03 19:15:43 +03:00
Regalis
ba49f59204
Some cleanup (mostly removing redundancies from the GameMain class)
2017-05-03 00:27:13 +03:00
Regalis
31f7eca717
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUIButton.cs
Subsurface/Source/GameSession/CrewManager.cs
Subsurface/Source/GameSession/GameSession.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Screens/MainMenuScreen.cs
Subsurface/Source/Screens/ServerListScreen.cs
2017-04-23 21:40:11 +03:00
Regalis
645df3fde6
Crew command menu and the info menu can't be open at the same time, UI layout tweaking again
2017-04-23 21:06:30 +03:00
Regalis
0709418ba3
Merge branch 'UI-overhaul'
...
Conflicts:
Subsurface/Source/Screens/EditMapScreen.cs
2017-04-20 21:27:40 +03:00
Regalis
a5d605e29b
Sub editor doesn't allow creating structures with zero width/height, fixed null exceptions when trying to remove a structure without wall sections
2017-04-20 18:02:20 +03:00
Regalis
92a74808fe
Fix to oxygen distribution logic: gaps used to move a fixed amount of oxygen between hulls every frame, causing the oxygen levels to fluctuate constantly. While it wasn't noticeable in regular sized hulls, smaller hulls created excessive amounts of NetworkEvents due to large fluctuations in the oxygen percentage.
...
Now the gaps make the oxygen percentages settle to the average value, and hulls have a minimum delay of 0.5s between the creation of NetworkEvents.
2017-04-18 21:37:23 +03:00
Regalis
7df4bff249
Fixed exceptions if a character is removed when an AI character is attacking it
2017-04-17 17:59:22 +03:00
Regalis
dc6ed7daf1
Separate component style for item UIs + option to select the style in the item config files, removed a bunch of hard-coded UI element color changes
2017-04-10 18:11:33 +03:00
Regalis
887735ff32
- DockingPort syncing fix: server waits until the port is locked before sending hull/gap IDs, clients can't lock the port until the server tells them to
...
- fixed crew commands being disabled in single player instead of multiplayer
- server-side ID error logging fix
2017-04-09 20:51:57 +03:00
Regalis
4ee96e4fbe
Fixed "collection was modified" exceptions if a huskified human dies in a fire
2017-04-09 18:32:13 +03:00
Regalis
3844dd9dac
GUIStyle logic changes: instead of having a predetermined GUIComponentStyle for each type of GUIComponent, any GUIComponent can use any style. The GUIComponent constructors take the name of the style as a parameter, and if no style is specified, the default style for the GUIComponent in question will be used.
2017-04-08 16:46:53 +03:00
Regalis
f863eb331d
Moved stun from AnimController to the character class, server notifies clients when the stun ends, husk infection included in character status messages
2017-04-07 19:56:25 +03:00
Regalis
77614dfa4e
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/Characters/Animation/Ragdoll.cs
2017-04-06 21:59:52 +03:00
Regalis
a2e21a78f9
Nicer looking explosions
2017-04-06 21:58:35 +03:00
Regalis
7cb88e39e9
Attempt to fix ThrowOrIgnoreBadComparer exception in LightSource.FindRaycastHits.
...
Couldn't reproduce the crash, but I'm guessing it could be caused by CompareCCW not returning 0 if comparing a position to itself. (and if not, at least the exception is caught now)
2017-04-05 21:36:31 +03:00
Regalis
b3bbdbf589
Explosion damage is reduced if there are walls or other solid obstacles between an explosion and a character
2017-04-04 19:54:28 +03:00
Regalis
b063cf3feb
Fire sound fix: the sounds were freed after each round without ever loading them again. The sound objects still existed and had some buffer ID assigned though, causing an incorrect clip to be played or OpenAL errors to be thrown on successive rounds. (Now freed sounds always have a buffer ID of -1)
2017-04-03 20:59:02 +03:00
Regalis
6895cdbd7d
Clients don't apply OnFire statuseffects to items. OnFire can cause items to explode, and because the client can't set the condition of the item to 0.0, it'll keep exploding until the server breaks the item. TODO: come up with a proper fix because now clients can't see oxy or fuel tanks exploding at their end.
2017-04-03 20:48:09 +03:00
Regalis
e75d596d34
Firesource syncing fixes
2017-04-03 20:22:59 +03:00
Regalis
43d29de45c
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Barotrauma.csproj
2017-04-03 18:36:22 +03:00
Regalis
c368d6ddf1
- fire particle tweaking
...
- water puts out fires more slowly and the speed depends on the height of the water surface relative to the position of the firesource (instead of the volume of the water in the room)
- the extents of the firesources are visualized when debugdraw is on
- any >0.0 damage to structures has a chance of spawning some "shrapnel" particles
2017-03-30 21:50:18 +03:00
Regalis
5bdd801da4
Having multiple sub files with the same name doesn't prevent clients from selecting or requesting the correct one
2017-03-28 21:01:44 +03:00
Regalis
1a3c18c727
EntitySpawner sends spawn/removal messages to clients using EntityEvents.
...
EntityEvents and EntitySpawner used to work independently of each other, with separate IDs, and there was no guarantee that spawning and events would happen in the correct order. For example, a client could fail to read events during midround syncing because the entity has been removed, or read an event for an incorrect entity because the entity has been removed and the ID taken by some other entity.
2017-03-27 21:05:32 +03:00
Regalis
52dde81396
Removed duplicate "MapEntity.MapLoaded" call from level generation, fixed level walls occasionally overlapping with ruins
2017-03-25 20:13:15 +02:00
Regalis
7e431c7dfd
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/Items/Components/Machines/Deconstructor.cs
Subsurface/Source/Items/Components/Machines/Fabricator.cs
2017-03-23 18:58:18 +02:00
Regalis
e9e4e5f9d3
Level cells that overlap with ruins are removed during level generation (instead of just disabling collisions with them), background sprites can spawn on ruin walls
2017-03-23 18:13:28 +02:00
Regalis
823ad12058
Some refactoring: made PosInfo a class and moved character-specific fields to a "CharacterStateInfo" subclass
2017-03-21 19:36:28 +02:00
Regalis
2722d3cf8d
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/Events/MonsterEvent.cs
2017-03-21 18:16:25 +02:00
Regalis
7c6ea5b1c0
LightSource vertices are recalculated if another submarine within the range of the light has moved relative to the sub the light is in
2017-03-20 17:15:12 +02:00
Regalis
40f5f352f5
- pasted entities are assigned to the main sub (-> entities copypasted from another sub are saved)
...
- fixed submarinebody attempting to generate a physics body for a sub with no walls if there are some other walls loaded
- MathUtils.GiftWrap doesn't throw an exception if passed an empty list of points
2017-03-15 23:59:23 +02:00
Regalis
5bdb57b98a
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/Items/Components/Signal/Connection.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Physics/PhysicsBody.cs
2017-03-11 13:24:09 +02:00
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
juanjp600
ecb7500df9
Converted UInt32 ID's to UInt16
...
TODO: test everything, make sure nothing broke
2017-03-06 16:25:12 -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