Commit Graph

1724 Commits

Author SHA1 Message Date
Joonas Rikkonen 84e3c062a6 Merge branch 'ai-overhaul'
Conflicts:
	Barotrauma/Source/Characters/Attack.cs
2017-06-29 17:02:37 +03:00
Joonas Rikkonen d6228500f4 Fixed submarine positions not being sent 2017-06-29 00:17:21 +03:00
Joonas Rikkonen 0998cdbe01 Server queues entity position updates and delays sending them if there's not enough room in a message after writing the entity events and chat messages.
+ removed unused SparseUpdate
2017-06-28 23:05:41 +03:00
Joonas Rikkonen b904cb8e0e Fixed crashing if a message has no room for any entityevents (TODO: make sure item position updates don't take up all the space in the messages and prevent entityevents from being sent) 2017-06-28 18:38:24 +03:00
Joonas Rikkonen 450020b47c Characters don't attempt to grab grab severed limbs when dragging dead bodies 2017-06-28 17:08:56 +03:00
juanjp600 4d225c65f2 Updated to MonoGame 3.6 + Directory refactor
- Barotrauma's projects are in the Barotrauma directory
- All libraries are in the Libraries directory
- MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?)
- NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred
- Removed Content/effects.mgfx as it didn't seem to be used anywhere
- Removed some references to Subsurface directory
- Renamed Launcher2 to Launcher
2017-06-27 09:52:57 -03:00
juanjp600 330b24bcf6 Some more cleanup + event desync debug messages 2017-06-25 22:09:41 -03:00
juanjp600 b7a0bff294 Some cleanup 2017-06-23 17:48:49 -03:00
juanjp600 d6d8a5b868 Removed BarotraumaServer's MonoGame dependency 2017-06-23 14:43:43 -03:00
juanjp600 89c92564b5 Consistent Update parameter order
(deltaTime, cam) instead of (cam, deltaTime)
2017-06-23 10:30:45 -03:00
juanjp600 1dc255bc2f Merge branch 'master' into dedicated-server
# Conflicts:
#	BarotraumaClient/Source/GameSettings.cs
#	BarotraumaClient/Source/Screens/NetLobbyScreen.cs
2017-06-23 10:21:02 -03:00
juanjp600 3b343899c0 "seed" command 2017-06-23 10:15:29 -03:00
juanjp600 ad1935fdcf Added commands to change sub, shuttle, gamemode & mission
Also fixed the exe icons
2017-06-22 21:42:09 -03:00
juanjp600 be2074b4f0 Added some convenient console commands 2017-06-22 19:51:19 -03:00
juanjp600 72d5cb227b Fixed EndGame not working properly + Fixed exception when clients disconnected during a round 2017-06-22 15:20:11 -03:00
Joonas Rikkonen 03670d735d Crawlers and mantises can attach to ice walls when idling 2017-06-22 20:05:19 +03:00
Joonas Rikkonen 397e6a5a97 The camera zooms out further when controlling a large non-humanoid character 2017-06-22 19:04:22 +03:00
juanjp600 5d5923ab28 Rebuilt freetype6.dll with Visual Studio 2015, statically linked runtime
Potential fix for issue #3?
2017-06-22 12:18:27 -03:00
Joonas Rikkonen e090806d3a - Charybdis's and coelanths can eat other creatures.
- Split charybdis's tail into several parts, the single stiff tail limb made it too difficult for it to turn around.
- Option to override the torque that's used to rotate the mainlimb of swimming creatures to the correct direction.
- The scale of the characters' limbs is taken into account in EditCharacterScreen.
2017-06-22 18:16:00 +03:00
juanjp600 c1780fa7b7 Server sleep time is slightly smarter + loading debug messages 2017-06-22 00:24:30 -03:00
juanjp600 6b65e94d41 Fixed map collider generation
I didn't realize the bodies were generated in the same method that generates the mesh triangles, TODO consider splitting that
2017-06-21 18:45:06 -03:00
juanjp600 7ab01b8237 Fixed linked subs not spawning
Turns out the game actually sets Screen.Selected to null when the game starts, so the server would break on EditMapScreen checks.
2017-06-21 14:51:36 -03:00
Joonas Rikkonen de00eb2ab4 Some fixes to attachable items (buttons, signal items, etc):
- Syncing the attached/detached state of the items. This should fix the "received a position update for an item with no physics body " errors: midround-joining clients didn't get notified if an item had been detached, causing the error to appear every time it receives a position update.
- Detached items can be picked up just like any other item, instead of having to use a wrench and wait for the item to "detach".
- Wires can't be connected to items with a physics body (such as detached buttons).
2017-06-21 20:45:33 +03:00
Joonas Rikkonen 38f92acf8e Bunch of fixes to null reference exceptions caused by removing characters mid-round 2017-06-21 16:56:35 +03:00
Joonas Rikkonen 4ac9aa09c6 Eaten characters disappear, tweaked the movements of the eater a bit 2017-06-21 16:55:56 +03:00
juanjp600 0740579f62 Ingame syncing kinda works
Reminder to self: Submarines must spawn attached shuttles in Dedicated Server, must've been something I missed when moving over client-specific code
2017-06-20 22:28:18 -03:00
Joonas Rikkonen db9a77fb25 Fix for IndexOutOfRange exceptions during map generation caused by very large wall cells near the entrance of the level (example seed: i1qecA7V) 2017-06-20 21:19:04 +03:00
Joonas Rikkonen f0873bdae6 Progress on making creatures eat each other, waists of humanoid characters can't be severed from the torso because they're used to anchor colliders to dead characters 2017-06-20 21:16:42 +03:00
Joonas Rikkonen d07649463b Fixed limbs becoming severed even if the character isn't dead, severed limbs fade out after 10 seconds 2017-06-20 21:01:59 +03:00
juanjp600 7003214847 Console colors, begin RNG rework
This is gonna be a PAIN
2017-06-19 21:30:57 -03:00
juanjp600 384819c528 Merge branch 'dedicated-server' of https://github.com/Regalis11/Barotrauma into dedicated-server 2017-06-19 15:13:15 -03:00
juanjp600 fbe7dfc6fb Dedicated server actually works to some extent
Clients can connect and use chat, the sub list isn't synced properly and there's no way to start a game yet
2017-06-19 15:12:19 -03:00
Joonas Rikkonen 6f75a928ea Fixed a compilation error when the DEBUG symbol is defined 2017-06-19 19:51:22 +03:00
Joonas Rikkonen d2ab71b07d "Explosion" debug command 2017-06-19 19:26:53 +03:00
Joonas Rikkonen aa541695fc Working towards making monsters eat dead characters (WIP) 2017-06-19 19:24:59 +03:00
juanjp600 16bc68d768 BarotraumaServer compiles
Cleanup + fixes coming up next
2017-06-18 22:41:44 -03:00
Faerdan a09367c78f Updated and refactored how items and characters are chosen for interactions in the world. The new system has more precision, with items under the cursor taking priority (this helps with small items which are in front of large items). A new method CanInteractWith(Item) has been added to the Character class which does all validation of interaction with items, including new distance calculations based on bounding boxes. This gives more consistency in selecting and interacting with all sizes and shapes of items. Because of this pickdistance (not interactdistance) has been removed from all item configurations (in their XML config files) and the default InteractDistance for all items is now 120. 2017-06-18 22:30:54 +01:00
Juan Pablo Arce 8f37e14917 Split Machines ItemComponents
There's still a lot of work to do before we can get the server to compile
2017-06-18 14:36:11 -03:00
juanjp600 7168a534ed Further separation of client-specific code
Still not done here, just gonna push a commit now so I can pull this from elsewhere.
2017-06-16 16:02:07 -03:00
juanjp600 e4a878113f Fixed client compilation errors 2017-06-14 18:24:11 -03:00
juanjp600 96b08ed8aa Updated project files 2017-06-14 17:39:01 -03:00
juanjp600 7bc535780c Reducing usage of #if CLIENT / #elif SERVER
The server will implement some classes it probably shouldn't need because certain items or game states depend on them.
2017-06-14 17:30:40 -03:00
Joonas Rikkonen 06e23ffe6d Some tweaks to make enemy attacks less likely to miss:
- Option to select which limbs attack force is applied to (e.g. husks and crawlers now lunge forward when attacking).
- Enemies attack towards the closest limb of their target instead of the main limb.
2017-06-14 20:49:03 +03:00
Joonas Rikkonen 242da11e3f Attack configs determine whether an attack can sever limbs (instead of the amount of damage), new blood particles 2017-06-14 19:24:49 +03:00
Joonas Rikkonen f6425a7229 Characters using FishAnimController twitch for a few seconds after dying 2017-06-14 19:23:07 +03:00
Joonas Rikkonen 680204b2cc Fixed severed limbs coming back together when SimplePhysicsEnabled is toggled off and on 2017-06-14 16:25:51 +03:00
Joonas Rikkonen 65db119158 Strong attacks can sever limbs (railguns now cut crawlers in half and threshers can rip off limbs) 2017-06-13 21:36:40 +03:00
Joonas Rikkonen 5cd2a5a838 NetEntityEventManager stops writing events to a message if the MTU is about to be exceeded and leaves the remaining events for the next message.
Also got rid of the (now unnecessary) "maximum EntityEvent size exceeded" debug assertion; character spawn messages often went over the limit, causing issues when running debug builds.
2017-06-13 20:47:15 +03:00
Joonas Rikkonen 12731a8137 New waterblood particle 2017-06-13 18:20:38 +03:00
Joonas Rikkonen 4d8da85956 Configured combat strengths for all enemy types, tweaked attack priorities & movement parameters 2017-06-13 17:10:44 +03:00