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
ac65a431a8
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Items/Components/Signal/Wire.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Items/ItemInventory.cs
Subsurface/Source/Networking/GameServer.cs
2016-11-09 17:58:56 +02:00
Regalis
d017817878
Updating wire sections if the wires are moved during loading
2016-11-09 16:23:48 +02:00
Regalis
f4a942414d
More efficient culling, workaround for null exception in CombatMission.GetTeamName
2016-11-06 19:41:32 +02:00
Regalis
bddc673fed
Mapentity visibility culling based on their parent sub (-> subs outside the camera view aren't rendered)
2016-11-06 18:59:05 +02:00
Regalis
92985f3ed9
Position updates not sent for subs docked to the second main sub
2016-11-06 16:56:05 +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
19683e749d
Waypoint generation fix (submarine collider is ignored when doing visibility checks), regenerated waypoints in vanilla subs
2016-11-01 19:06:33 +02:00
Regalis
1b818b6422
Fixed timestep logic is disabled during loading (less choppy loading screens & no pause at the start of the game), damageable structures visible in LOS again, footstep sound tweaking
2016-11-01 19:05:09 +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
df9f89e383
Submarine position syncing
2016-10-25 20:50:47 +03:00
Regalis
62dd055e8d
Merge branch 'master' into animcontroller-overhaul
...
Conflicts:
Subsurface/Content/Characters/Crawler/crawler.xml
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Animation/FishAnimController.cs
Subsurface/Source/Characters/Animation/Ragdoll.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Map/Submarine.cs
Subsurface/Source/Map/SubmarineBody.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
2016-10-25 20:09:25 +03:00
Regalis
07f8c966ab
Submarine position is synced using the same logic as the characters, AICharacter position syncing
2016-10-25 19:01:19 +03:00
Regalis
641e579e92
Backported animcontroller-overhaul
2016-10-22 15:18:16 +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
Regalis
f3e74a6a41
Collider-controlled swimming, fixes
2016-10-16 20:07:34 +03:00
juanjp600
7e6ef65eb3
Improved LOS effect
...
It's pretty inefficient (I need to figure out how to set up new shaders), and it might let the player see too much, but it looks way better than pure black.
2016-10-12 16:54:41 -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
Regalis
ffc6782025
Removed fixed timestep logic from GameScreen (redundant now because the logic is handled in GameMain)
2016-10-04 19:54:17 +03:00
Regalis
050f7ffc83
Removed fixed timestep logic from GameScreen (redundant now because the logic is handled in GameMain)
2016-10-04 19:21:05 +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
Regalis
8e8a0e57f0
Cleaned up the flipping logic a bit, overridable MapEntity.FlipX method
2016-09-30 19:48:56 +03:00
Regalis
0da9f58325
Fixed physics item & wire flipping
2016-09-30 19:00:12 +03:00
juanjp600
f6b82eb095
Some progress on flipping subs
...
Press crouch to flip every sub in the map, texture alignment breaks and physics items vanish, but other than that it's working.
2016-09-29 22:20:15 -03:00
juanjp600
e318034a1a
Remove submarines markers from radar in combat missions
...
This should make the mission type a lot more fun.
2016-09-27 19:42:15 -03:00
juanjp600
344947c3c4
Search and destroy mission
...
Featuring ugly code
2016-09-26 22:09:06 -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
790212a20b
Merge branch 'walldamage'
2016-09-26 16:28:52 +03:00
juanjp600
02d98f5d29
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Source/Networking/FileStreamReceiver.cs
Subsurface/Source/Networking/FileStreamSender.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Networking/NetworkEvent.cs
Subsurface/Source/Screens/NetLobbyScreen.cs
2016-09-24 21:28:37 -03:00
juanjp600
d537e8795a
Replace '' (two single quotes) with \" (double quote)
...
We must correct post-traumatic Blitz disorder
2016-09-24 21:26:08 -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
cf77a59c97
Implemented some of the itemcomponent read/write methods, made submarines server serializable
2016-09-02 17:59:08 +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
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
6c5452570e
More sanity checks to make sure clients aren't doing something they're not allowed to:
...
- AICharacter, hull, structure and submarine updates from clients are ignored
- character updates from anyone else than the client controlling the character are ignored
- players can't pick/drop items from anyone else's inventory (unless the target is unconscious/stunned/cuffed)
- server has authority over reactor temperature
2016-08-16 17:56:33 +03:00
Regalis
69933188d6
Ragdoll.SetPosition takes platforms into account if the character isn't ignoring platforms (i.e. forcing a character on top of a platform won't make it fall through it), reaching the top/bottom of a ladder won't make networkplayers fall off, server ignores position updates from dead/unconscious characters, smaller ResetRagdollDistance
2016-08-10 19:16:18 +03:00
Regalis
d55926a352
Option to choose which submarine to use as the respawn shuttle, submarines can be given "tags" (atm just shuttle and HideInMenu), separate saving window in sub editor
2016-08-05 14:06:05 +03:00
Regalis
911846acff
- submarines send position updates more frequently when they're moving faster
...
- small AICharacter syncing optimizations
- respawning can be disabled in server setting
- netstats show the total amount of bytes sent for each networkevent type
2016-07-20 17:20:27 +03:00
Regalis
f8fec79785
Parts of the submarine that are left behind in the level will stay there, it's possible to leave the level without the main sub (e.g. in an escape shuttle)
2016-07-16 16:14:51 +03:00
Regalis
03a3a156ba
- fixed camera "twitching" when trying to move it above the upper limit of the level
...
- fixed duplicate hulls/gaps being placed at docking ports when saving and loading
- fixed linkedsubmarines moving when saving and reloading if the center of the wall vertices isn't he same as the center of the sub
- moving docked submarines along with the main sub when syncing the position
- characters are killed when the client controlling them disconnects (+ cause of death: disconnected)
- fixed the description box in server lobby
2016-07-15 19:21:10 +03:00
Regalis
a5111d33df
Tons of AI + pathfinding bugfixes:
...
- waypoints are created between docked subs and removed when they undock
- fixed start waypoint being left out of steering paths
- NPCs won't close doors/hatches on themselves
- NPCs won't let go of ladders until their feet are above the lower edge of the hull
- fixed FindDivingGear "loops": need to find a suit -> need to get to a suit -> need a suit to get to the suit -> need to find a suit...
- fixed characters constantly turning from side to side in small rooms
- recursive function for finding the button which opens a door (so a button doesn't have to be connected straight to a door for an NPC to be able to open it)
- AIObjectiveGetItem keeps searching for more suitable items even if a path to a matching item has been found
2016-07-08 20:53:11 +03:00
Regalis
19915fc4e5
- server log and item lists in editor can be filtered
...
- changes to item highlighting logic (easier in cramped subs)
- sub name/description boxes and selected items are reset when leaving the editor
2016-07-06 18:10:22 +03:00
Regalis
cafeceb6d2
WIP dockingport/multisub saving in single player mode
2016-07-02 14:59:49 +03:00
Regalis
b04e204dc3
- multiple submarines can be "merged" into one file (to be used as escape vessels etc)
...
- WIP docking ports
2016-06-26 14:31:00 +03:00
Regalis
dc7956274c
- camera follows the closest sub
...
- WIP "respawn shuttle"
- submarine size affects its mass
- electricity fixes
2016-06-18 14:46:40 +03:00
Regalis
cf822cfae6
Submarine saving fixes, impact damage in sub-sub collisions, submarine ambient sounds
2016-06-12 14:23:08 +03:00