Regalis
92a74808fe
Fix to oxygen distribution logic: gaps used to move a fixed amount of oxygen between hulls every frame, causing the oxygen levels to fluctuate constantly. While it wasn't noticeable in regular sized hulls, smaller hulls created excessive amounts of NetworkEvents due to large fluctuations in the oxygen percentage.
...
Now the gaps make the oxygen percentages settle to the average value, and hulls have a minimum delay of 0.5s between the creation of NetworkEvents.
2017-04-18 21:37:23 +03:00
Regalis
e75d596d34
Firesource syncing fixes
2017-04-03 20:22:59 +03:00
Regalis
43d29de45c
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Barotrauma.csproj
2017-04-03 18:36:22 +03:00
Regalis
c368d6ddf1
- fire particle tweaking
...
- water puts out fires more slowly and the speed depends on the height of the water surface relative to the position of the firesource (instead of the volume of the water in the room)
- the extents of the firesources are visualized when debugdraw is on
- any >0.0 damage to structures has a chance of spawning some "shrapnel" particles
2017-03-30 21:50:18 +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
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
8a9b322b78
Clients can create firesources if server tells them to, extinguishing fixes
2017-01-11 18:03:01 +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
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
2e2c206d5f
ID-based hull & gap depth sorting
2016-11-29 19:21:46 +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
335bf00890
Entity removal fixes
2016-11-14 17:52:26 +02:00
Regalis
0c9a55e9e0
- server doesn't create a new EntityEvent if there's a duplicate event waiting to be sent
...
- hull, radar, steering & pump syncing
2016-11-14 16:58:21 +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
d403b38440
Hull, Gap & WayPoint cloning, equipped items are removed when switching from character mode to wiring or mode or vice versa
2016-11-12 15:44:02 +02:00
Regalis
62dd055e8d
Merge branch 'master' into animcontroller-overhaul
...
Conflicts:
Subsurface/Content/Characters/Crawler/crawler.xml
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Animation/FishAnimController.cs
Subsurface/Source/Characters/Animation/Ragdoll.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Map/Submarine.cs
Subsurface/Source/Map/SubmarineBody.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
2016-10-25 20:09:25 +03:00
Regalis
ac8edb5b2a
Fixed monster/artifact events being out of sync between the server and the clients
2016-10-25 18:58:56 +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
Regalis
d4e9116b0f
Audio channel states visible in debug view + some sound fixes:
...
- a short "cooldown" after each footstep sound (prevents the sound playing multiple times during one footstep)
- water flow sounds are only played by one of the hulls a gap is between
- flow rate affects the range of the flow sound
2016-10-09 20:11:08 +03:00
Regalis
ef9dce9a0d
- fixed exception in GetSubsToLeaveBehind if the round ends when none of the subs is at an exit
...
- water surface is clamped above the bottom of the hull
- character names don't overlap with health bars
2016-10-09 18:20:32 +03:00
Regalis
e720fa366c
Timing.Alpha isn't updated when the game is paused (-> no "twitching" when the pause menu is open), moved water scrolling and surface lerping from draw method to update
2016-10-09 15:12:57 +03:00
Regalis
1ba87165b0
Fixed camera being placed at {-2147483647, -2147483647} when starting a round, fixed debugdraw crashing the game, moving spectator camera along with the closest sub in Submarine.ForceTranslate
2016-10-08 17:19:54 +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
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
f6b82eb095
Some progress on flipping subs
...
Press crouch to flip every sub in the map, texture alignment breaks and physics items vanish, but other than that it's working.
2016-09-29 22:20:15 -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
deb09328e0
Sending the ids of the hulls/gaps in between docking ports to make sure they match between clients, small optimizations to hull networkevents
2016-07-25 18:33:44 +03:00
Regalis
cd3ecd36e8
Merge branch 'multisub'
...
Conflicts:
.gitignore
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Items/Components/Holdable/RepairTool.cs
Subsurface_Solution.v12.suo
2016-07-04 17:42:31 +03:00
Regalis
34c6569313
Server can inflict impact damage on clients, character oxygen level syncing bugfix, hulls send a networkevent when oxygen level changes by >=5%, limb velocities aren't reset when receiving a network update
2016-06-29 17:26:26 +03:00
Regalis
38c5251005
Vertical docking port, docking sounds, water flows properly between horizontally docked hulls, falseoutput of signal check components can be changed, lighting and FOW works between hulls (todo: some logic for determining when to update light.HullsInRange when two subs are moving relative to each other)
2016-06-27 17:48:20 +03:00
Regalis
b04e204dc3
- multiple submarines can be "merged" into one file (to be used as escape vessels etc)
...
- WIP docking ports
2016-06-26 14:31:00 +03:00
Regalis
7349cdd310
Progress (compiles now)
2016-06-09 22:15:50 +03:00
Regalis11
c9fd599276
Merge branch 'master' of https://bitbucket.org/Regalis11/barotrauma into multisub
...
Conflicts:
Subsurface/Source/GUI/GUI.cs
2016-06-09 18:39:54 +03:00
Regalis11
41569675f3
Started refactoring the submarine class in order to make it possible to add multiple submarines (or other movable structures)
2016-06-09 18:34:43 +03:00
Regalis
14c809b2f2
Debug text tweaking, guiframe for relay component, spears loaded into a harpoon gun don't float in the air, some new names
2016-06-07 20:41:32 +03:00
Regalis11
c546c42a8b
- disabled unnecessary hull updates during loading (items/gaps find the hull when everything is loaded instead of every time a hull is created or moved)
...
- fixed item.Submarine not being set in item.FindHull
2016-05-14 23:01:57 +03:00
Regalis
fc8b30c974
- npcs wont try grab items from other characters' inventories
...
- fixed lightcomponent LightSprites "twitching" when the sub is moving
- fixed null reference exceptions in Hull.Render if no submarine has been loaded
- submarine descriptions
- emergency sirens in Aegir & Vellamo
- changed the required item for fabricating a wire from "Copper" to "Copper Bar"
2016-03-18 17:48:25 +02:00
Regalis
5120812adf
- fixed AICharacters being updated even if they're disabled
...
- enemies can spot targets from further away if they've previously spotted the target
- physics bodies are immediately moved to the correct position if they're really far (instead of lerping)
2016-03-13 19:24:30 +02:00
Regalis
d713874bd6
Tweaked AITarget ranges: now it's possible to evade some monsters by stopping the sub and/or turning off noisy devices, AITarget ranges can be made visible by entering "ShowAITargets" in the console, misc cleanup
2016-03-12 21:35:21 +02:00
Regalis
ad17b1a9bf
- "wiring mode" which makes wiring a bit more convenient in editor
...
- invisible entities (items inside cabinets, hulls/gaps when they've been hidden) can't be highlighted or selected in the editor
- fixed And Components always sending a signal out during the first frame if timeframe is set to 0.0
- fixed moloch not appearing in the tutorial
2016-03-11 16:10:36 +02:00
Regalis
10bb5d061f
- WIP attempt at syncing item positions
...
- Some changes to item floating logic (lift is also applied to items outside the sub, forcefactor is clamped to 1 if the item is fully submerged)
2016-03-07 00:57:15 +02:00
Sebastian Broberg
1bc5cb24c1
Distance scaling
2016-03-04 18:20:17 +01:00
Sebastian Broberg
3a0201ca28
Items now take all gaps in account
2016-03-03 21:05:04 +01:00
Sebastian Broberg
0b7b52256b
Small change to calculations.
2016-03-03 20:55:20 +01:00
Sebastian Broberg
f97ff4ca46
Merge branch 'master' of bitbucket.org:Regalis11/barotrauma
2016-03-03 20:18:35 +01:00