Commit Graph

99 Commits

Author SHA1 Message Date
juanjp600
35dafc4792 Merge remote-tracking branch 'barotrauma/master' into new-netcode
# Conflicts:
#	Subsurface/Source/Characters/Character.cs
#	Subsurface/Source/Items/Components/Machines/Steering.cs
#	Subsurface/Source/Map/Structure.cs
#	Subsurface/Source/Networking/GameClient.cs
#	Subsurface/Source/Networking/GameServer.cs
2016-11-05 18:09:44 -03:00
Regalis
29ad3d2555 Removed limb impact tolerances from creature configs & added ragdoll-specific impact tolerance 2016-10-26 20:20:42 +03: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
07f8c966ab Submarine position is synced using the same logic as the characters, AICharacter position syncing 2016-10-25 19:01:19 +03:00
Regalis
641e579e92 Backported animcontroller-overhaul 2016-10-22 15:18:16 +03:00
Regalis
b410a04a86 Fixes 2016-10-21 19:55:48 +03:00
Regalis
92b61ee816 Merge branch 'master' into animcontroller-overhaul 2016-10-19 21:15:44 +03:00
Regalis
e2d0e7fe24 Moved collider position correction logic to the physicsbody class (so that it can be used for sub & item syncing), character position msg length is written in bytes instead of bits, misc cleanup/refactoring 2016-10-19 20:49:18 +03:00
Regalis
b4389277aa Collider isn't moved to the position of the main limb when frozen, limb collisions are temporarily disabled if the ragdoll is too far from the collider, some cleanup 2016-10-19 16:21:54 +03:00
Regalis
51a2bf097d Using update IDs instead of timestamps to correct client-side movement predictions 2016-10-19 00:56:24 +03:00
Regalis
de203cc424 - a WIP attempt to correct the position of the controlled character based on updates from the server
- fixed server not being able to move character controllers
- renamed IsNetworkPlayer -> IsRemotePlayer
2016-10-19 00:15:29 +03:00
Regalis
6cf6b31594 Ragdoll syncing bugfix 2016-10-18 19:04:47 +03:00
Regalis
b68eeda8a8 WIP position syncing 2016-10-17 22:34:59 +03:00
Regalis
0cafc674dd - projectiles don't stick to colliders
- fixed impacts weaker than the damage threshold giving characters health
- possible to slide down ladders
- improved IndoorsSteeringManager ladder climbing logic
2016-10-17 17:41:41 +03:00
Regalis
efcc466fdd - added colliders to all monster configs
- disabling monster collider & placing it at mainlimb when stunned/dead/frozen
- monsters can't swim above water
- misc fixes
2016-10-17 16:32:57 +03:00
Regalis
704c7c7561 Collider-controlled monster movement 2016-10-16 22:24:33 +03:00
Regalis
f3e74a6a41 Collider-controlled swimming, fixes 2016-10-16 20:07:34 +03:00
Regalis
db8c2b9f8e Changed colliders from limbs to normal physics bodies, removed RefLimb 2016-10-15 20:08:51 +03:00
Regalis
1b59d1bc21 - disabling the collider and placing it on the torso when swimming, stunned or dead (todo: attempt to get swimming working with the collider controlling movement)
- only the collider can receive impact damage
- shorter collider to allow crouching in tight spaces
- AI characters are considered close enough to a waypoint if their collider overlaps with it (instead of a distance check)
2016-10-14 16:11:45 +03:00
Regalis
9d9c50a520 Progress 2016-10-14 01:10:46 +03:00
Regalis
62c88be214 Controlling humanoid movement with one capsule-shaped physics body that other limbs (attempt to) follow
Broken and WIP
2016-10-14 00:13:19 +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
7e20d7a17a Timing.Alpha isn't updated if accumulator < step, using interpolated positions to draw lightsources & ragdoll/ai debug info (-> no twitching when the sub is moving) 2016-10-11 16:34:59 +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
juanjp600
02d98f5d29 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	Subsurface/Source/Networking/FileStreamReceiver.cs
	Subsurface/Source/Networking/FileStreamSender.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
	Subsurface/Source/Networking/NetworkEvent.cs
	Subsurface/Source/Screens/NetLobbyScreen.cs
2016-09-24 21:28:37 -03:00
juanjp600
d537e8795a Replace '' (two single quotes) with \" (double quote)
We must correct post-traumatic Blitz disorder
2016-09-24 21:26:08 -03:00
juanjp600
44e12ffed2 Basic player input syncing
There's currently a bug where the inputs might be read out of order or more than once, which leads to desync. I'll feel really dumb when I find what's going on here.

Also, I'm using placeholder player spawning because CharacterInfo doesn't seem to be fully functional yet.
2016-09-22 21:20:46 -03:00
juanjp600
edab86f730 Character freezing + Misc fixes 2016-09-21 16:46:12 -03:00
Regalis
f21000124b 0.5 sec delay when switching from swimming to walking or vice versa (prevents rapid switches between swimming/walking if the water level is fluctuating around the minimum swimming depth) 2016-09-21 20:14:24 +03:00
Regalis
94cec67a2b Characters that aren't inside a hull or can't enter subs won't attempt to play a walking animation 2016-09-07 20:18:52 +03:00
Regalis
3b394976e4 A new monster, some changes to fish animation logic (creatures don't need to have a head, more pronounced swimming movement, option to select the position where steering forces are applied) 2016-09-04 19:18:44 +03:00
Regalis
2c5d272acd - special death messages for husk infections
- fixed husk infections not being removed from clients
- more accurate bleeding indicators
- humanoid standing anim tweaking
2016-08-28 20:22:45 +03:00
Regalis
e2885a912d Husk infections, manually attacking when controlling a creature 2016-08-28 16:16:02 +03:00
Regalis
d476ebdc8d Fixed letting go of dragged character when entering/exiting the sub, fixed spawnitems not being visible in the job info window 2016-08-22 16:49:43 +03:00
Regalis
66df9c1dd0 Reverted the Ragdoll.SetPosition changes done in commit 6993318, won't work when standing partially through a platform 2016-08-13 18:31:55 +03:00
Regalis
69933188d6 Ragdoll.SetPosition takes platforms into account if the character isn't ignoring platforms (i.e. forcing a character on top of a platform won't make it fall through it), reaching the top/bottom of a ladder won't make networkplayers fall off, server ignores position updates from dead/unconscious characters, smaller ResetRagdollDistance 2016-08-10 19:16:18 +03:00
Regalis
1a0451d0a8 - items can be equipped/unequipped by double clicking
- items inside the respawn shuttle
- using the teleport method when moving a character into or out from a sub
- removing dropped items from the respawn shuttle when respawning
2016-07-29 22:25:48 +03:00
Regalis
a5111d33df Tons of AI + pathfinding bugfixes:
- waypoints are created between docked subs and removed when they undock
- fixed start waypoint being left out of steering paths
- NPCs won't close doors/hatches on themselves
- NPCs won't let go of ladders until their feet are above the lower edge of the hull
- fixed FindDivingGear "loops": need to find a suit -> need to get to a suit -> need a suit to get to the suit -> need to find a suit...
- fixed characters constantly turning from side to side in small rooms
- recursive function for finding the button which opens a door (so a button doesn't have to be connected straight to a door for an NPC to be able to open it)
- AIObjectiveGetItem keeps searching for more suitable items even if a path to a matching item has been found
2016-07-08 20:53:11 +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
495a0f4124 - teleporting from sub to another works now
- repairtool fix
- submarines collide with each other
- every submarine is updated (so MainSub isn't the only one that can move)
- submarinebody vertex generation fix
2016-06-11 17:55:47 +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
d520c00dc9 - stunned characters don't move their hands behind their back when cuffed (caused the characters to flail around when someone grabs them)
- characters can run while grabbing/dragging someone
- inventory and chatbox are hidden when stunned
- turret rotation is reset between minRotation and maxRotation when changing the rotation limits
- fixed explosion damage being applied to simPositions of the limbs instead of worldpositions
2016-06-09 16:54:30 +03:00
Regalis
68870b67f5 - fractal guardians have higher impact tolerance to stop them from killing themselves by slamming at the walls
- enemies use pathfinding when inside the sub and handle platforms/stairs better
2016-05-26 18:04:25 +03:00
Regalis
7113a154fe Aiming is disabled when unconscious/stunned, the range of fire lightsources isn't randomized to reduce the amount of required convexhull updates 2016-05-19 19:49:31 +03:00
Regalis
a477dad1b2 Renamed the CollisionMisc collision category to CollisionItem, teleporting items inside/outside the sub if their physicsbody leaves/enters a hull, powercontainer charge can be changed in editor (i.e. batteries can be set to fully loaded) 2016-05-19 19:47:26 +03:00
Regalis
63e5f02057 Changes to submarine<->outside teleporting logic:
- contacts between limbs and the sub are temporarily disabled before teleporting to prevent the character from "exploding"
- impact damage is disabled for 0.25 seconds after teleporting in case the character still explodes
- characters with disabled impact damage won't damage the walls when hitting
- the collider of SubmarineBody is generated based on walls instead of hulls
- fixed Submarine.CheckVisibilit ignoring fixtures with (CollisionWall | CollisionLevel) collisioncategory
2016-05-18 11:43:22 +03:00