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
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
d6c292a2cc
SharpFont + ScalableFont implementation
...
https://github.com/Robmaister/SharpFont
TODO: replace Code Bold.otf with the full version, fix any bugs, build on Linux, possibly move ToolBox string wrapping and limiting logic to ScalableFont class for better results.
2017-03-07 13:44:42 -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
e2a872ad90
Fixed ItemContainer not setting the position of a contained item when it's placed in the ItemInventory, minor refactoring
2017-02-07 21:06:42 +02:00
Regalis
7674647928
Clients don't apply a received inventory state on the inventory until >1 second has passed since they sent their local state (prevents the inventory from briefly reverting to an old state if items are moved around in quick succession)
2017-02-02 18:35:28 +02:00
Regalis
b8263d6a90
Removing items from their parent inventory in item.Drop
2017-01-31 20:11:19 +02:00
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