Commit Graph

60 Commits

Author SHA1 Message Date
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
Regalis
beecfe60ac mhgvik 2015-12-06 16:36:24 +02:00
Regalis11
40fb8d803d Lighting fixes & teleporting characters to sub 2015-12-06 16:07:25 +02:00
Regalis
242af12f14 Progress 2015-12-04 01:37:30 +02:00
Regalis
5bcdfa2b56 AI combat, misc AI improvements, characters can't get stuck inside doors 2015-12-03 18:34:35 +02:00
Regalis
11857f894b AI operating reactors & railguns, misc AI improvements 2015-11-30 19:06:27 +02:00
Regalis
4b5126675c Human AI improvements, minor UI tweaking 2015-11-25 16:04:51 +02:00
Regalis
c456fa3c90 Human AI with pathfinding and room hazard avoidance 2015-11-23 01:22:38 +02:00
Regalis
4d949e3be1 Spectating, fire, damaged limb sprites, water detector, engineer jumpsuit, new signal comp sprites, resharper cleanup (god knows what else, commit more often) 2015-11-10 22:22:26 +02:00
Regalis
4cf3386aa5 ReliableMessage improvements & bugfixes 2015-10-20 20:45:47 +03:00