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
fa6bf60032
Combat missions don't reset the "allow respawn" setting
2016-11-06 15:57:28 +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
juanjp600
35dafc4792
Merge remote-tracking branch 'barotrauma/master' into new-netcode
...
# Conflicts:
# Subsurface/Source/Characters/Character.cs
# Subsurface/Source/Items/Components/Machines/Steering.cs
# Subsurface/Source/Map/Structure.cs
# Subsurface/Source/Networking/GameClient.cs
# Subsurface/Source/Networking/GameServer.cs
2016-11-05 18:09:44 -03:00
Regalis
8f646a2723
- fixed dummy location generation crashing the tutorial
...
- gameserver handles exceptions thrown when instantiating a new gamesession
- fixed screwdrivers (and other items that can be held in either hand) going into both hand slots when equipping by double clicking
2016-11-03 18:22:45 +02:00
Regalis
8011aecb31
Autorestart countdown is reset and the start button re-enabled if an exception is thrown when starting a new round, "restarting in X seconds" clamped over 0, added resolution & window mode to crash reports
2016-11-02 18:00:37 +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
5cc605bc01
Dust particles are drawn in the same batch as the background sprites (-> far-away particles are rendered behind the sprites), limiting character name length in the crew info menu, the "submarine not found in your folder" -tooltip is updated after downloading a sub file
2016-10-29 15:38:40 +03:00
Regalis
980f8e0d33
- option to select which location autopilot navigates towards
...
- generating "dummy locations" for the MP gamesessions (visible in sonar and mission descriptions)
- EndGame network message tells the clients if the mission was successful (because the message may arrive before the sub has reached the exit or before some character has died at the client's end)
2016-10-26 19:22:40 +03:00
Regalis
6f9160e4a7
Removing & spawning entities in the same order as the server, EntitySpawner does both removing and spawning
2016-10-26 16:44:59 +03: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
ac8edb5b2a
Fixed monster/artifact events being out of sync between the server and the clients
2016-10-25 18:58:56 +03:00
Regalis
641e579e92
Backported animcontroller-overhaul
2016-10-22 15:18:16 +03:00
Regalis
b410a04a86
Fixes
2016-10-21 19:55:48 +03:00
Regalis
e2d0e7fe24
Moved collider position correction logic to the physicsbody class (so that it can be used for sub & item syncing), character position msg length is written in bytes instead of bits, misc cleanup/refactoring
2016-10-19 20:49:18 +03:00
Regalis
de203cc424
- a WIP attempt to correct the position of the controlled character based on updates from the server
...
- fixed server not being able to move character controllers
- renamed IsNetworkPlayer -> IsRemotePlayer
2016-10-19 00:15:29 +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
b68eeda8a8
WIP position syncing
2016-10-17 22:34:59 +03:00
Regalis
170e1a0da8
ItemRemover -> EntityRemover, clients reset spawner & remover when starting a new round
2016-10-12 20:46:47 +03:00
Regalis
60b36e020c
Changed ItemSpawner to EntitySpawner, used for syncing both item and character spawning
2016-10-12 19:25:01 +03:00
Regalis
ac3539da63
Item spawn syncing
2016-10-12 18:29:44 +03:00
Regalis
a235b90aee
Job & waypoint assignment
2016-10-12 16:49:43 +03:00
juanjp600
f5268c7c6c
Fixes
...
It compiles now, but it's probably really broken.
2016-10-11 21:37:23 -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
cb1b975f9f
Merged branch combat-mission into combat-mission
2016-10-10 09:58:06 -03:00
juanjp600
0125ff0f5c
Replace mission GUI box text hack + If both teams die, they both lose
2016-10-10 08:32:31 -03:00
Regalis
f7e98ee6a8
Cargo spawning fix again: items are spawned slightly above the bottom of the cargo room (because the item is only inside the hull if pos.Y > hull.rect.bottom)
2016-10-09 17:33:51 +03:00
juanjp600
b09eebc9c2
Holding F gives old mousewheel zoom functionality
2016-10-08 18:55:27 -03:00
Regalis
1b66e51970
Additional cargo isn't spawned in shuttles, fixed exception if trying to spawn additional cargo in a sub with no cargo spawnpoint, netlobby chatMsgBox stays selected after sending a chat message
2016-10-08 18:02:25 +03:00
juanjp600
91539c5b84
Host can spawn in team 2 + relay component state syncing
2016-10-05 22:03:06 -03:00
juanjp600
ffeda27c1b
Restored change lost in conflict resolve
...
Also checking for itemprefab because adding structures wouldn't make any sense here
2016-10-05 17:01:38 -03:00
Regalis
4ebe961024
Simpler method of checking which items to put in the Additional Cargo menu
2016-10-05 20:19:09 +03:00
Regalis
fb28fc8cda
- separate listboxes for both teams in the crew menu
...
- fixed host getting team ID 0
- fixed clients not spawning if their ID is 0 (= if playing a non-combat mission before IDs have been assigned)
- fixed host's character taking part in the job assignment of both teams
2016-10-05 20:15:39 +03:00
Regalis
41c38575b9
Using ItemSpawner to spawn extra cargo (-> clients will be notified of the spawned items)
2016-10-05 18:30:48 +03:00
juanjp600
14ae355f19
Merge remote-tracking branch 'refs/remotes/barotrauma/combat-mission'
...
Conflicts:
Subsurface/Source/GUI/GUIListBox.cs
2016-10-04 22:30:29 -03:00
juanjp600
4874ad2ef8
Host can have subs spawn with more items
...
TODO: check if clients see the extra cargo, they probably don't
2016-10-04 22:28:13 -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
65006c5da1
Fixed exception when attempting to start a round with no clients, spawning host's character
2016-10-04 19:22:23 +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
Regalis
41289c098a
Moved some UI element updates from draw to update
2016-10-04 18:28:56 +03:00
juanjp600
1187686449
Host can disable spawning of certain characters
...
GUITickBox might not work very well because of the override of Rect, might want to look into that later
2016-10-03 22:27:32 -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
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
Regalis
4e9ea758cb
Team IDs start from 1 (-> monsters don't count as members of the team 0)
2016-09-27 17:55:45 +03:00
Regalis
8f0d16b145
Fixed host's character spawning twice, some cleanup (LINQ <3)
2016-09-27 17:31:26 +03:00
juanjp600
344947c3c4
Search and destroy mission
...
Featuring ugly code
2016-09-26 22:09:06 -03:00
Regalis
bc5ace4f53
Clients spawn all characters at round start (not just their own), spawnpoints that aren't inside the main sub are ignored when selecting spawnpoints for the clients
2016-09-26 20:02:23 +03:00