Commit Graph

67 Commits

Author SHA1 Message Date
Regalis
0570956e24 Wiring syncing 2017-01-27 20:59:41 +02:00
Regalis
3041138f03 Inventory.TryPutItem doesn't put an item in the inventory (or create a NetEntityEvent) if the item is already in it 2017-01-10 20:50:31 +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
108dddf082 Wall damage syncing, inventory serialization methods 2016-12-10 13:06:17 +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
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
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
71d4df6300 Highlighting inventory slots when moving items around, red highlight if an item can't be placed in a slot 2016-10-12 16:18:32 +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
636b25d725 Readded inventory tooltips 2016-10-10 21:24:46 +03:00
Regalis
f64743a57c SubInventories return "back to normal" if removed from the parent inventory (e.g. crate inventories aren't drawn above the hand slots after dropping the crate) 2016-10-09 17:36:11 +03:00
Regalis
54f3d09af4 Update/rendering logic separation (cherrypicked from commits 9ca3b24, bddcc36 & 9511bae) 2016-10-05 20:35:18 +03:00
Regalis
9511baeeb8 Fixed NullReferenceExceptions when dragging an item that isn't in any slot (i.e. a wire) 2016-10-05 15:50:55 +03:00
Regalis
bddcc36673 Separated inventory update & rendering logic 2016-10-04 23:52:32 +03:00
juanjp600
7bdcc51bae Made game compilable
Networking functionality is fully disabled now.

I think it's time to start rewriting everything. OH BOY
2016-08-30 21:13:36 -03:00
juanjp600
9416eb64d7 Completely destroyed game
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -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
Regalis
6c5452570e More sanity checks to make sure clients aren't doing something they're not allowed to:
- AICharacter, hull, structure and submarine updates from clients are ignored
- character updates from anyone else than the client controlling the character are ignored
- players can't pick/drop items from anyone else's inventory (unless the target is unconscious/stunned/cuffed)
- server has authority over reactor temperature
2016-08-16 17:56:33 +03:00
Regalis
11e4f5699f PhysicsBodyPosition networkevents aren't sent for items that are inside an inventory (e.g. carried by a character), items can be moved from the inventory to containers by double clicking 2016-05-11 20:22:32 +03:00
Regalis
81ca1a409b Fixed NullReferenceException when attempting to send an ApplyStatusEffect update for an item that was removed from the inventory by the statuseffect (eg syringe with nitroglyserine which was dropped because of the explosion), oxygen level detoriates more slowly when unconscious, showing a tooltip for items in a subinventory, nitroglyserine explodes on first injection (instead of after a few injections when condition drops to zero) 2016-04-25 21:58:26 +03:00
Regalis
45e3bed07c Some more fabricable chemicals, made cargo missions more common, items in characters' inventories aren't affected by fire 2016-04-24 20:33:33 +03:00
Regalis
510602623a Fixed "subinventories" (oxygen tanks inside suits etc) being drawn under the main inventory 2016-04-21 18:38:07 +03:00
Regalis
12dc494e42 Displaying the condition of contained items in the inventory slot of the parent item (i.e. the amount of oxygen left in a diving suit is visible without highlighting the suit), some debug logging, colored speech bubbles 2016-04-21 17:17:42 +03:00
Regalis
f585235887 Performing CPR on unconscious players, a "use on self" button for some items 2016-03-25 15:34:40 +02:00
Regalis
d1580328ed Some cleanup using ReSharper (mostly removing redundancies) 2016-03-12 15:32:34 +02:00
Regalis
40714c1102 - converting NetworkEvent sending time to local time before doing any comparisons
- using mersenne twister for random number generation due to differences in Mono and .NET implementations of the Random library
- password prompt for password-protected private servers
- fixed deconstructor, fabricator and railgun connection panels closing immediately after opening
- fixed editor saving newly created subs to the root folder instead of the Submarines folder
- keeping items in the same inventory slots between clients instead of just syncing which items are in the inventory
- fixed crashing when swapping items between different limbslots
2016-03-03 21:11:54 +02:00
Regalis
c605adf879 Fixed networkevents crashing due to client trying to access server.connectedclients 2016-02-19 17:18:31 +02:00
Regalis
4ad8105cd6 Characters with no CharacterInfo can't be selected, fixed broken tickboxes in server settings, inventory log tweaking, one gap sound per hull, chat message "commands" changed from /d to d; 2016-02-17 20:43:42 +02:00
Regalis
f3112e29b4 Fixed spectators joining messing up the game, textboxes are deselected when switching the screen, nerfed engineer construction level, tickboxes or textboxes cannot be selected through other ui elements 2016-02-16 20:52:39 +02:00
Regalis
4e46c44d51 Show item IDs in inventory tooltips if debugdraw is enabled, itemspawner sync bugfix, characters can be revived (atm only through the debug console) 2016-02-09 20:00:53 +02:00
Regalis
201dc1b733 Supercapacitors have much higher max output but smaller capacity, fixed not being able to drag wire nodes in editor, batteries working properly now 2016-02-07 12:32:19 +02:00
Regalis
7637bc441f Selecting stairs based on WorldRect in editor, disable input if window not active, disable traveling if no locations are selected 2016-01-27 22:27:51 +02:00
Regalis
97b3d8451c - Larger icon for gap/ladder waypoints
- Creature-sub collision damage improvements (takes velocity of the limb into account)
- In-sub particles move with the sub
- Fixed artifacts spawning to non-pickable positions
- Fixed ItemInventories not being drawn if the item is in a subslot
- CauseOfDeath = Drowning if the character is in water while running out of oxy
- Some more deconstructable items
2016-01-20 23:31:37 +02:00
Regalis
0fc085c86d Item UI replacements, fabricator bugfix, randomly spawning artifacts, AI can fix leaks, LimbAttacks do damage once (not each frame for the duration of the attack) 2016-01-14 21:06:08 +02:00
Regalis
5513637fe5 Item.Container bugfix (affected at least railguns in MP), merged the "your crew has died" message box with shiftsummary, reliable reactor syncing, prevent artifacts dropping out of the level 2016-01-12 01:02:05 +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
Regalis11
c7e7b3909f Autopilot waypoint skipping, AI finds and equips diving gear when the sub is flooding, progress on AI welding, equipping items in AIObjectiveGetItem, wire node coordinate bugfixes, EntityGrid.RemoveEntity fix 2015-12-23 00:10:02 +02:00
Regalis11
2ff8643c02 Optimization: FindHull spatial hashing, itemcomponent sounds in a dictionary, got rid of Item.Updated, rendering fixes, disposing shadow vertex buffers 2015-12-21 11:01:35 +02:00
Regalis
c9cc94f701 Crew commands 2015-11-26 23:04:02 +02:00
Regalis
f1e1b0b4f0 Stair improvements, inventory "tooltip" & condition progressbar, reactor tries to match the highest load of the connected junction boxes (instead of the sum of the loads) 2015-11-25 17:58:17 +02:00
Regalis
4b5126675c Human AI improvements, minor UI tweaking 2015-11-25 16:04:51 +02:00
Regalis
cddf4f1bde Sending NetTime at the start of a combined networkevent instead of individual networkevents, syncing itemcomponents for spectators, AICharacter importantentityupdates are sent again, misc bugfixes, some new heads 2015-11-20 17:12:33 +02:00
Regalis
8ec7fd44ff LimbSlot combinations for pickable items ("Any,RightHand+LeftHand"...) 2015-11-19 21:24:49 +02:00
Regalis
a46f724f1f "Subinventory" (= jumpsuit pockets etc) bugfixes, quest message fix 2015-11-19 18:01:54 +02:00
Regalis
9b08201972 Fire extinguisher, burnt limbs, spectating improvements, option to disable spectating, jumpsuits for engi & mech, fireproof items, stuff 2015-11-18 20:02:45 +02:00
Regalis
ab7c39071c Input syncing between clients, inventory sync bugfix, structure sync bugfix, settings button highlight bugfix, spectating bugfixes, in-game chatbox not visible when joining a server when the round is running 2015-11-14 00:09:56 +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
cd48d12be6 Setting ragdoll position without limbs going through walls, rotating entire ragdoll, using combined network messages client->server, fixed fabricators 2015-11-08 22:20:29 +02:00
Regalis
5a21d64b3a FillNetworkData uses NetBuffer instead of OutgoingMessage 2015-11-04 20:21:34 +02:00