Regalis
89941229f8
A reference to the character who triggered a signal is passed to all the recipients of the signal. Allows more accurate server logging: using doors, docking ports or turrets is now properly logged.
2017-04-28 18:10:47 +03:00
Regalis
9a36df0f52
ItemComponent syncing fixes:
...
- Relay and lightcomponent states are synced (otherwise clients won't be notified if the state is, for example, toggled by a signal from a button).
- Clients don't play door sounds if a signal attempts to set the state to the same value as the predicted state, but DO play if a correction from the server changes the state from the predicted one.
- Clients are notified if a reactor receives a shutdown signal.
- Powercontainer updates are sent if the charge changes by 1%, not by 1 unit.
2017-04-11 20:38:07 +03:00
Regalis
347f549ac1
Reactors, sonars, nav terminals, pumps and batteries use similar delayed correction logic as doors and inventories.
...
I.e. the clients delay correcting the state of the item until the local player stops manipulating the state (atm the delay is 1 sec). Prevents pumping speeds, steering directions and whatnot from switching to an old state and back - now the corrections should not be visible to the players unless the client predicts the state wrong.
2017-04-11 00:48:53 +03:00
Regalis
f863eb331d
Moved stun from AnimController to the character class, server notifies clients when the stun ends, husk infection included in character status messages
2017-04-07 19:56:25 +03:00
Regalis
bfe043c154
Fixed door sounds playing twice client-side (first when the client activates the door and again when the correct state is received from the server)
2017-04-05 23:51:45 +03:00
Regalis
5bdb57b98a
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/Items/Components/Signal/Connection.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Physics/PhysicsBody.cs
2017-03-11 13:24:09 +02:00
juanjp600
3868b70387
Fixed windowed door shadows
2017-03-01 13:41:37 -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
4c5da19ab4
Clients predict the state of a door when a signal is received (and revert back to the correct state if no verification is received from the server in 1 sec)
2017-02-08 19:56:42 +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
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
8c90fd1774
Doors push colliders away when closing, small human standing anim tweak
2016-11-18 18:47:58 +02:00
Regalis
3d234aef73
Sending NetEntityEvents from client to server, ItemComponent class doesn't implement the INetSerializable interfaces (only the derived classes do), reactor syncing
2016-11-13 19:34:23 +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
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
e12fe29f80
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/Items/CharacterInventory.cs
Subsurface/Source/Items/Inventory.cs
Subsurface/Source/Items/Item.cs
2016-10-12 21:12:21 +03:00
Regalis
1cdb218fe0
Items are removed from their parent inventory and their bodies are removed when Item.Remove is called
2016-10-12 21:07:19 +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
Regalis
d8476d9371
Hull-specific ambient lighting: light sources increase the amount of ambient light in rooms and the light can spread to adjacent rooms through gaps. Allows making the default ambient light much darker without making shadows look too dark in fully lit subs.
2016-10-10 21:13:22 +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
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
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
juanjp600
bf686ae997
A few more security checks
2016-08-29 18:38:06 -03:00
juanjp600
73fc0cf724
More security checks
...
This actually looks pretty bad, not gonna lie.
2016-08-28 19:54:31 -03:00
Regalis
7c8e866030
Fixed the door collision bug at docking ports
2016-08-16 20:21:33 +03:00
Regalis
296c5a14ed
- host can respawn
...
- respawn info texts
- camera clamped to the the upper edge of the level
- fixed submarinebody being generated from all walls (and not just the ones belonging to that specific sub)
2016-06-23 18:23:20 +03:00
Regalis
b4af92ace2
Small optimization: items have a list of components that have to be drawn
2016-05-24 21:17:38 +03:00
Regalis
ef05650c01
Motion sensor component, ruins have doors and hatches with randomly placed motion sensors that close them automatically
2016-05-07 09:09:30 +03:00
Regalis
d3ab7946a8
Using ToLowerInvariant instead of ToLower (the game works for Turkish players now!)
...
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html
2016-04-27 17:14:09 +03:00
Regalis
5f05db7ca4
- fixed "signal loops" causing StackOverFlowExceptions (now the signals can only take 10 "steps" between components per frame)
...
- parameter for changing the output value of And/Or components when the input conditions aren't met
- or components work properly now
- a limited number of signals (100) can be queued in a delay component
2016-04-02 02:25:44 +03:00
Sebastian Broberg
467a99f79d
Fixed hatch issue with shadows
...
Added per segment visibility/collision
2016-03-03 20:18:21 +01:00
Regalis
619390ab72
Water dustparticle fixes, random variation in background color, submarine is automatically moved to origo when loading, configuring a fabricable item with no material requirements doesn't throw an error, AI characters can't open doors if in handcuffs, engines can be picked through doors
2016-02-20 18:24:38 +02:00
Regalis
9cfbbb44ed
Fixed a bunch of sprites not being removed
2016-02-19 15:58:43 +02:00
Regalis
c59a2b5207
Some visual effects when drowning or being killed by pressure
2016-02-19 15:00:45 +02:00
Regalis
bec6d95198
Server log, ai characters steer away from the abyss
2016-02-14 16:47:23 +02:00
Regalis
9b6dd5da00
Timer for deattaching items, more reliable door syncing, some new splash sounds
2016-02-13 21:25:59 +02:00
Regalis11
28af6fa1f4
- Crewcommander close button & info text notifying about the hotkey
...
- Doors can only be selected when they are broken
- Fixed crashing when placing a door while no sub is loaded
- Generating waypoints for an empty sub won't crash the game
- Drawing characterHUD in editor
2016-01-24 17:03:25 +02:00
Regalis
5f1cb194ab
List of previously used mapentities in editor, waypoint sprites, properly generating waypoints for hatches, waypoint paths are saved in editor instead of generating them on loading, gap particle bugfix, separate waypoint and spawnpoint prefabs, turret rotation limits visible in editor, hatch convexhull fix, new railgunloader sprite
2016-01-17 15:45:16 +02:00
Regalis
8e491ae855
Bunch of editor improvements/bugfixes: free node positioning when placing wires, options to hide hulls, gaps & links, hidden entities can't be selected, more accurate stair selecting, disabled UImessages, camera position fixes
2016-01-15 23:04:34 +02:00
Regalis
203e7c4114
Horizontal doors (hatches), bugfix in holdable.cs
2016-01-15 18:30:44 +02:00
Regalis
e3ebc28afb
Picking items from outside the sub, replcaed fabricator.png with separate sprites for each machine, descriptions moved from itemprefab to the mapentityprefab base class, editortutorial progress
2016-01-15 17:10:21 +02:00
Regalis
92d396e6b2
Fixed AIObjectiveGoto terminating if previous path was unreachable, BackGroundSpriteManager won't place a sprite if a suitable position isn't found, StatusEffect fire position fix, UI improvements, door convexhull fix, progress on Fabricators & Deconstructors, mapentities sorted by category in edit mode, item descriptions, TutorialMode refactoring to make it easier to add new types of tutorials
2015-12-28 13:21:24 +02:00
Regalis
8c032d8368
Lighting bugfixes, setting camera position to character on shift start
2015-12-26 22:35:28 +02:00
Regalis
af470eab2e
more accurate submarine body generation, multiplayer fixes, saving takes HiddenSubPosition into account, fire coordinate fixes, editscreen fixes, checking item triggers in AIObjectiveGoto, netlobbyscreen sync fixes, re-enabled level start/end positions, water edit fixed
2015-12-17 18:26:40 +02:00
Regalis
859be53d28
Level wall generation bugfixes, moved level background drawing to LevelRenderer, more coordinate system bugfixes, better looking progress bars,
2015-12-14 18:59:59 +02:00
Regalis
17e8a2171f
Progress + prettier ice walls
2015-12-12 13:44:05 +02:00
Regalis
78bccca4af
Moar progress, fixed shadow/los/submarine misalignment issues
2015-12-09 19:29:53 +02:00