Commit Graph

331 Commits

Author SHA1 Message Date
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
Regalis c402ba208b Spawning client characters with correct characterinfo 2016-09-26 17:06:20 +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
juanjp600 5567dff1c9 Fixed input order execution + Controller direction syncing
It was a dumb mistake indeed, now the player's movement is a lot less erratic. There's some very minor desync, though I might've just tested it incorrectly.
2016-09-24 18:11:09 -03:00
juanjp600 44e12ffed2 Basic player input syncing
There's currently a bug where the inputs might be read out of order or more than once, which leads to desync. I'll feel really dumb when I find what's going on here.

Also, I'm using placeholder player spawning because CharacterInfo doesn't seem to be fully functional yet.
2016-09-22 21:20:46 -03:00