juanjp600
ecb7500df9
Converted UInt32 ID's to UInt16
...
TODO: test everything, make sure nothing broke
2017-03-06 16:25:12 -03:00
juanjp600
f3c58a2494
Made item syncing look slightly less erratic on client's side
...
Still kinda glitchy, we might need a more elaborate approach later
2017-02-25 12:22:38 -03:00
Regalis
75d047b57e
Item position updates include whether the physics body is sleeping, clients disable sleeping bodies
2017-02-22 21:27:52 +02:00
Regalis
13a9b7ea88
More accurate velocity in item update messages (+ fixed incorrect message length)
2017-02-20 20:43:14 +02: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
304c67f904
EntityEvent type written into item update messages using WriteRangedInteger, item position updates include the velocity of the item
2017-02-07 21:18:22 +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
b5bac67c4a
WIP item position syncing
2017-02-02 20:40:58 +02:00
Regalis
b8263d6a90
Removing items from their parent inventory in item.Drop
2017-01-31 20:11:19 +02:00
Regalis
4589c2bcfb
Syncing changes to ingame editable item properties (light colors etc)
2017-01-27 18:28:07 +02:00
Regalis
8f50cca026
Syncing StatusEffects applied by meleeweapons or using an item on self
2017-01-15 14:49:15 +02:00
Regalis
f7ac98ab5f
Broken items can be repaired, fixed clients never removing firesources (causing the lights to stay after the flames have been extinguished)
2017-01-14 20:30:46 +02:00
Regalis
b9006983e4
Item condition syncing
2017-01-11 18:01:07 +02:00
Regalis
1f07b18e5b
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Items/Components/DockingPort.cs
Subsurface/Source/Items/Components/Signal/Wire.cs
Subsurface/Source/Items/Item.cs
2016-12-29 22:18:27 +02:00
Regalis
2871830670
Fixed wire connections & nodes resetting when copypasting them
2016-12-11 22:33:15 +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
fa712e0102
Checking if a client can access an item in the itemcomponent serialization methods
2016-12-09 16:56:17 +02:00
Regalis
bf88e2b8de
ItemComponent HUD isn't drawn for ItemComponents that can't be selected
2016-12-01 16:11:29 +02:00
Regalis
a2442bfcb8
Simple MapEntity visibility culling (structures outside the camera view or items with nothing to render aren't drawn)
...
Could be optimized further, but already gives a pretty nice performance boost
2016-11-30 21:09:11 +02:00
Regalis
0b03b78606
Entities that are behind other entities can be selected using a listbox that appears when hovering the cursor over them, itemcomponent GUIFrames aren't added to GUIUpdateList in sub editor (unless in character mode)
2016-11-29 17:30:13 +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
b773413b45
Fixed items disappearing from copypasted containers if the items have been removed from the original container, cloning links between entities
2016-11-23 20:34:41 +02:00
Regalis
4ad60e77a9
Item.SetContainedItemPositions recursively sets the positions of the items contained inside the contained items (and so on)
2016-11-22 18:06:52 +02:00
juanjp600
5922fc972d
Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma
2016-11-15 22:26:46 -03:00
juanjp600
d2c17274fe
GUI elements now respect render order + some minor distance comparison optimization
2016-11-15 22:26:36 -03:00
Regalis
f7a9a77721
Some debug assertions to help figure out the cause for the body.FixtureList==null & GetHullsInRange crash reports
2016-11-15 19:53:25 +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
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
e6b2919877
Items/structures can be copied by holding ctrl in the editor
2016-11-11 17:37:03 +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
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
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
92b61ee816
Merge branch 'master' into animcontroller-overhaul
2016-10-19 21:15:44 +03: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
juanjp600
506ef2f2aa
Attempted fix for drawableComponents crash + LOS tweaks
2016-10-12 19:24:39 -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
Regalis
170e1a0da8
ItemRemover -> EntityRemover, clients reset spawner & remover when starting a new round
2016-10-12 20:46:47 +03:00
Regalis
60b36e020c
Changed ItemSpawner to EntitySpawner, used for syncing both item and character spawning
2016-10-12 19:25:01 +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
74a9453676
Upper limit to water drag force, fixed highlighted items "flickering"
2016-10-09 20:45:28 +03:00
Regalis
e50b801a47
Separate draw/update methods for editingHUD & resizing
2016-10-07 17:06:26 +03:00
juanjp600
94895edbdb
Fixes and minor enhancements for sub editor
...
- Zoom now works relative to the mouse's position rather than the center of the screen, much like Valve's Hammer Editor (or pulsegun's map editor shameless plug ;) )
- Rectangles now have line widths dependent on the camera zoom, not perfect but it's better than having lines disappear
- Fixed background resizing
- Fixed editor being completely broken because of no vsync, might still have a few bugs here and there
- Fixed selection rectangle not rendering at all when dragging from bottom right to top left
- Newline change in Item.cs
2016-10-06 21:15:01 -03:00
Regalis
ffc6782025
Removed fixed timestep logic from GameScreen (redundant now because the logic is handled in GameMain)
2016-10-04 19:54:17 +03:00
Regalis
050f7ffc83
Removed fixed timestep logic from GameScreen (redundant now because the logic is handled in GameMain)
2016-10-04 19:21:05 +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