Commit Graph

805 Commits

Author SHA1 Message Date
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 c2098f06f8 Removed a redundant DrawRectangle method & redundant sub visibility culling in GameScreen 2016-11-12 18:29:39 +02:00
Regalis 0353732e7e Fixed highlighting items when highlighting a wire in a connection panel 2016-11-12 18:27:35 +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 d403b38440 Hull, Gap & WayPoint cloning, equipped items are removed when switching from character mode to wiring or mode or vice versa 2016-11-12 15:44:02 +02:00
Regalis 0aa4b7a93d Copy, paste & cut functionality in the editor 2016-11-11 17:58:14 +02:00
Regalis e6b2919877 Items/structures can be copied by holding ctrl in the editor 2016-11-11 17:37:03 +02:00
Regalis 96cedd67f1 ItemComponents that don't implement the IDrawableComponent interface can't be added to the list of drawable components, pickTimer is ignored when deattaching items from the walls in the editor 2016-11-11 17:34:21 +02:00
juanjp600 392bc13258 Removed case check from CharacterInfo because it corrects itself
Just make sure to not get the directory casing wrong and we'll be good
2016-11-10 21:58:35 -03:00
juanjp600 62d79aff03 Removed testasd command 2016-11-10 21:48:50 -03:00
juanjp600 0e9c20c666 Case-sensitivity checks on Windows
Should prevent "TigerThresher" from happening again.
2016-11-10 21:45:59 -03:00
Regalis b371e8d600 Made the tutorial a bit easier: the windows broken by the moloch leak much more slowly and pressure doesn't reach lethal levels in the command room 2016-11-10 19:54:13 +02:00
Regalis e6356a7516 Updating wire sections when moving nodes in the editor 2016-11-10 19:44:48 +02:00
Regalis 8a8b9ca0fc Re-registering to master server if the server has timed out 2016-11-10 19:44:19 +02:00
Regalis a18630c0b3 Fixed tutorial sub spawning twice 2016-11-10 19:34:47 +02:00
Regalis 8d1db582ad Fixed flickering lights 2016-11-10 17:46:46 +02:00
Regalis 4bb8531775 Moving dummycharacter collider to cursor pos in the editor (-> dropped items are positioned correctly) 2016-11-10 17:21:30 +02:00
Regalis 50a770a2a6 v0.5.3.3
+ removed unnecessary EventInput code from the linux build, null check before disposing sprite texture
2016-11-09 21:01:38 +02:00
Regalis 17a7cb70ed Resetting character position to the server pos if the difference between the positions is large enough 2016-11-09 19:58:05 +02:00
Regalis e1c2cd4d53 Networked characters can climb ladders without joining the Europan Space Program 2016-11-09 18:17:04 +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 9eaca68cea Clients move their saved local positions if they don't match the servers position (instead of immediately snapping to the latest server position)
TODO: prevent ladders from sending the character flying, some safeguards in case positions are way off
2016-11-09 17:43:23 +02:00
Regalis d017817878 Updating wire sections if the wires are moved during loading 2016-11-09 16:23:48 +02:00
Regalis e3cd19b781 Wire rendering optimization (angles & distances between nodes are only calculated when adding/removing nodes) 2016-11-08 22:22:49 +02:00
Regalis adf19869c2 - ItemContainers whose bodies are disabled don't set the positions of the contained items each frame (only once when the item is placed in the container)
- ItemContainers maintain a list of statuseffects that need to be applied on the contained items instead of constantly rechecking each item
- deactivating ItemContainers if they have no body and there are no statuseffects to apply
2016-11-08 21:22:09 +02:00
Regalis 1617cd8f7a Item/statuseffect optimization:
- PowerTransfer components cache power connections instead of rechecking them every frame
- items store connections in a dictionary with the name of the connection as a key (-> finding the correct connection when sending a signal is more efficient)
- storing item tags & StatusEffect targetNames in HashSets
2016-11-08 21:14:29 +02:00
Regalis 1dc08b3019 Added collider to humanhusk.xml, disabled the "zoom effect" when under pressure as a huskified human 2016-11-08 20:15:59 +02:00
Regalis cd5c72eff2 Number of children in the debugconsole listbox limited to 200 (prevents framerate drop if adding tons of messages) 2016-11-07 20:45:23 +02:00
Regalis f259f3fba4 Limiting character movement when collider isn't upright (can't run at full speed if lodged in some tight space), hack-ish way of moving the collider of a character that's being dragged 2016-11-07 18:52:36 +02:00
juanjp600 cd8c927800 Sync InputType.Select 2016-11-06 18:15:13 -03: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 de3966ae95 - character colliders stay enabled when the character is unconscious/stunned (prevents getting stuck inside walls when the collider is re-enabled)
- can't climb over obstacles if the contact point is above the center of the character collider
- higher "obstacle climbing velocity"
- limiting collider velocity when dragging another character
2016-11-06 18:56:03 +02:00
juanjp600 160eff85d0 Input fast-forward/catchup when standing still for 15 frames
Also made position correction work based on linear velocity so running doesn't make you twitch nearly as much.
2016-11-06 13:43:53 -03:00
Regalis 92985f3ed9 Position updates not sent for subs docked to the second main sub 2016-11-06 16:56:05 +02:00
Regalis e15f5f5040 Moving a wire outside the sub doesn't reset connections or nodes in the editor 2016-11-06 15:58:34 +02:00
Regalis fa6bf60032 Combat missions don't reset the "allow respawn" setting 2016-11-06 15:57:28 +02:00
juanjp600 fae2dc2536 Can compile again
Let's hope it's not too broken.
2016-11-05 18:55:11 -03: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 a32198ff80 v0.5.3.1 2016-11-04 16:27:53 +02:00
Regalis 1e61e815b8 Changes for linux version 2016-11-03 20:11:56 +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 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 799efd8474 - attempt to fix "DXGI_ERROR_NOT_CURRENTLY_AVAILABLE" exceptions (the game tries forcing focus to the window and running GameMain again, and if that doesn't help, disables hardware mode switching)
- messages can be added to debugconsole before it's initialized
2016-11-02 20:38:55 +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 95937694f4 Colliders can "climb" over small obstacles 2016-11-02 17:14:57 +02:00
Regalis 3cc807605e Wires can be dragged from a connection panel to the inventory without dropping them, wire connections & nodes are cleared when taking the wire outside 2016-11-02 14:40:05 +02:00