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
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
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
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
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
juanjp600
ecb7500df9
Converted UInt32 ID's to UInt16
...
TODO: test everything, make sure nothing broke
2017-03-06 16:25:12 -03:00
Regalis
52bf73722f
ServerEntityEventManager doesn't process received events until the character inputs of the client for the corresponding frame have been processed (fixes character movement lagging behind EntityEvents at the servers side)
...
+ split character networking logic into a separate file, characters drop items at the position of their collider instead of hands
2017-02-09 23:09:42 +02:00
Regalis
1f07b18e5b
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Items/Components/DockingPort.cs
Subsurface/Source/Items/Components/Signal/Wire.cs
Subsurface/Source/Items/Item.cs
2016-12-29 22:18:27 +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
1f454d593e
Inventory syncing, objHeader is passed to the ClientRead/ServerRead methods so they can determine how to read the msg (is it an inventory update, position, input, etc)
2016-12-10 16:39:58 +02:00
Regalis
108dddf082
Wall damage syncing, inventory serialization methods
2016-12-10 13:06:17 +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
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
adde3461ea
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Items/Components/Door.cs
Subsurface/Source/Items/Components/Power/PowerContainer.cs
Subsurface/Source/Items/Components/Signal/Wire.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/ChatMessage.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Networking/GameServerSettings.cs
Subsurface/Source/Networking/NetworkMember.cs
2016-11-24 19:52:40 +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
9061f0e53a
Water flows more slowly through partially open gaps
2016-11-23 21:20:00 +02:00
Regalis
498c72c64a
Server sends ServerEntityEvents to clients, NetEntityEvents can contain an object array which will be passed to the serializable entity (now only used for ItemComponent indices)
2016-11-13 13:56:48 +02:00
Regalis
c314b37029
Some classes for syncing entity state changes. Similar to the NetworkEvents in the old netcode, but the logic is split into separate classes which prevent the server from reading updates for entities that aren't IClientSerializable.
...
todo: add NetEntityEventManagers to server & client, some logic to prevent sending events that don't need to be sent (e.g. duplicate event state updates)
2016-11-12 20:56:06 +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
Regalis
e6b2919877
Items/structures can be copied by holding ctrl in the editor
2016-11-11 17:37:03 +02:00
juanjp600
f0acf69065
Merge remote-tracking branch 'barotrauma/master' into new-netcode
...
# Conflicts:
# Subsurface/Properties/AssemblyInfo.cs
# Subsurface/Source/Characters/AI/EnemyAIController.cs
# Subsurface/Source/Characters/AICharacter.cs
# Subsurface/Source/Characters/Character.cs
# Subsurface/Source/Items/Components/Signal/Connection.cs
# Subsurface/Source/Items/Item.cs
# Subsurface/Source/Map/Structure.cs
# Subsurface/Source/Networking/GameClient.cs
# Subsurface/Source/Networking/GameServer.cs
# Subsurface/Source/Screens/NetLobbyScreen.cs
2016-11-05 18:18:20 -03:00
Regalis
a32198ff80
v0.5.3.1
2016-11-04 16:27:53 +02:00
Regalis
c3b3d57b57
Fixed brainfart, asserting that structure and wallsection rects have non-negative dimensions
2016-11-03 19:09:14 +02:00
Regalis
505b4f5f1a
The sprites of structures with no body are flipped correctly
2016-11-03 18:24:03 +02:00
Regalis
eb2c51c2f1
Cleanup with resharper (mostly removing redundancies & using collection.Length/Count properties instead of the Count method)
2016-10-31 20:50:20 +02:00
Regalis
0422beebde
Small optimization: structures that haven't taken damage aren't rendered using the damage shader
2016-10-27 19:39:07 +03:00
Regalis
92b61ee816
Merge branch 'master' into animcontroller-overhaul
2016-10-19 21:15:44 +03:00
Regalis
9fed308705
InGame update messages include a timestamp which is passed to the ClientRead methods
...
Now only used in character position syncing, but some other entities may also have an use for it (e.g. discarding outdated data)
2016-10-18 19:04:32 +03:00
juanjp600
506ef2f2aa
Attempted fix for drawableComponents crash + LOS tweaks
2016-10-12 19:24:39 -03:00
juanjp600
72033a581e
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GUI/GUI.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/GameSettings.cs
Subsurface/Source/Items/CharacterInventory.cs
Subsurface/Source/Items/Components/ItemComponent.cs
Subsurface/Source/Items/Components/Machines/Pump.cs
Subsurface/Source/Items/Components/Machines/Radar.cs
Subsurface/Source/Items/Components/Machines/Steering.cs
Subsurface/Source/Items/Components/Power/PowerContainer.cs
Subsurface/Source/Items/Inventory.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Items/ItemSpawner.cs
Subsurface/Source/Map/Levels/WaterRenderer.cs
Subsurface/Source/Map/LinkedSubmarine.cs
Subsurface/Source/Map/Map/Map.cs
Subsurface/Source/Map/Structure.cs
Subsurface/Source/Map/Submarine.cs
Subsurface/Source/Map/WayPoint.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
Subsurface/Source/Screens/GameScreen.cs
2016-10-11 20:19:25 -03:00
juanjp600
94895edbdb
Fixes and minor enhancements for sub editor
...
- Zoom now works relative to the mouse's position rather than the center of the screen, much like Valve's Hammer Editor (or pulsegun's map editor shameless plug ;) )
- Rectangles now have line widths dependent on the camera zoom, not perfect but it's better than having lines disappear
- Fixed background resizing
- Fixed editor being completely broken because of no vsync, might still have a few bugs here and there
- Fixed selection rectangle not rendering at all when dragging from bottom right to top left
- Newline change in Item.cs
2016-10-06 21:15:01 -03:00
Regalis
292218b9b0
WallSection flipping
2016-10-03 22:40:14 +03:00
juanjp600
e1296e4a8e
Backported vsync changes from new-netcode, WIP hull visibility culling
...
The hull culling functions are there, they just aren't being used right now because there are some annoying bugs.
2016-10-02 22:24:31 -03:00
juanjp600
bdcd894b83
Flipping sprites of staircases & engine
2016-10-01 16:41:16 -03:00
Regalis
0fe822c96a
Stair body + linkedsub flipping
2016-09-30 20:07:36 +03:00
juanjp600
0ef813f189
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Barotrauma.csproj
Subsurface/Source/Screens/GameScreen.cs
2016-09-26 17:03:14 -03:00
Regalis
0ba69a3472
Using nonpremultiplied alpha when drawing damaged wall sections (-> no artifacts around windows anymore), particle collision optimization
2016-09-22 18:14:16 +03:00
Regalis
721f4ff5a6
Particle system improvements:
...
- particles can collide with the outer walls of the sub
- drag + waterdrag parameters
- fixed particles "twitching" when the submarine is moving fast
- submarine velocity only affects the initial velocity of the particles (i.e. accelerating the sub doesn't automatically accelerate them)
2016-09-21 19:45:20 +03:00
Regalis
5918e845ac
Progress bars that show the health of wall sections when welding/cutting
2016-09-20 18:40:30 +03:00
Regalis
f8368f464a
Walls have an additional background sprite below the destructible sprite, separate parameters for rgb and alpha lerping in the damage shader
2016-09-19 21:51:37 +03:00
Regalis
b24359464b
Wall damage shader testing (WIP)
2016-09-16 14:47:08 +03:00
juanjp600
bfd8bc6b35
Server serialization functions require client
2016-09-07 17:32:20 -03:00
Regalis
0d68467464
Separate interfaces for entities that the clients/server can send updates for (+ placeholder implementations)
...
May or may not be useful
2016-09-01 20:39:52 +03:00
juanjp600
9416eb64d7
Completely destroyed game
...
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -03:00
juanjp600
6e83ef7626
Merge remote-tracking branch 'refs/remotes/origin/master'
...
Conflicts:
Subsurface/Barotrauma.csproj
Subsurface/Source/Characters/AI/EnemyAIController.cs
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Items/Components/DockingPort.cs
Subsurface/Source/Items/Components/Door.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
2016-08-30 18:04:49 -03:00
juanjp600
af220dbc2a
Removed Fill/ReadNetworkData
...
These functions needed to be replaced because they rely heavily on reliability.
Instead, new functions called (Write/Read)Data(Server/Client) will be added.
Separating client and server code into completely separate functions will help ensure that proper security checks are performed.
2016-08-29 20:02:46 -03:00
Regalis
a0a5e2df33
v0.5.0.1 + re-enabled the black wall damage indicators, client permissions disabled
2016-08-29 23:43:08 +03:00
Regalis
0b2a5d5771
Wall sections are updated after resizing a structure
2016-08-29 17:25:17 +03:00