Commit Graph

1460 Commits

Author SHA1 Message Date
Joonas Rikkonen
045a48cc33 Logging item throwing and which items are contained in items characters use on themselves (e.g. which meds are inside a syringe) 2017-07-09 21:52:13 +03:00
Joonas Rikkonen
e0c10860ba Fixes to holdable items again: items can be attached outside hulls in the sub editor, but not in-game 2017-07-09 20:23:14 +03:00
Joonas Rikkonen
f2d603d2f0 Fixed issue #15 (sub/shuttle lists being empty at the client's side after joining a server). The clients would ignore the initial update message if they happened to receive one of the normal update messages before the initial one. 2017-07-09 20:19:53 +03:00
Joonas Rikkonen
cbe7200ff6 Deselecting the currently selected item has a higher priority than interacting with the focused item (i.e. can't interact with another item until the selected item is deselected) 2017-07-09 19:19:28 +03:00
Joonas Rikkonen
769a012776 Items that are in an inventory can't be focused on (otherwise characters would constantly focus on the item they're holding) 2017-07-09 19:08:45 +03:00
Joonas Rikkonen
bd4c7d68d0 Fixed endless messagebox spam when the controlled character turns into a husk, fixed an index our of range exception when merging firesources 2017-07-09 16:17:44 +03:00
Joonas Rikkonen
2598bb1bd3 Fixed attachable items becoming detachable without any tools after they've been detached once 2017-07-08 18:32:21 +03:00
Joonas Rikkonen
d4b58e16b9 Fire & explosion decals 2017-07-08 18:30:07 +03:00
Joonas Rikkonen
4e4983f0a6 If focused on both a character and an item, the one that's closer to the cursor can be interacted with (instead of characters having higher priority, because that would make it impossible to interact with items that are next to a dead/unconscious character). Selected characters can also be deselected without highlighting the character with the cursor.
+ extra null check in HasRequiredItems
2017-07-08 14:32:01 +03:00
Joonas Rikkonen
4d2e7c33b1 Decal system (TODO: add decals for explosions and fire), moved some of the client-specific Hull update logic to the client project 2017-07-06 21:38:32 +03:00
Joonas Rikkonen
90a584d122 Non-humanoids can't interact with items 2017-07-06 19:25:56 +03:00
Joonas Rikkonen
c7fd6818a4 Some tweaking to the item interaction logic:
- FindItemAtPosition uses the distance calculated in CanInteractWith to determine how close an item is to the character. Otherwise very large items (such as ladders) wouldn't be possible to select with aim assist unless the player happens to be holding the cursor close to the center of the item.
- The hull-parameter is taken into account in FindItemAtPosition.
- Characters are considered to be inside a trigger if either their lower or upper body is inside it.
- Added triggers to engines because they are often placed partially inside a wall, making it impossible to rewire them if the center is not inside the sub.
2017-07-05 20:15:02 +03:00
Joonas Rikkonen
b064b979c1 Fixed NotImplementedException in Character.CanInteractWith in the server project 2017-07-05 19:41:02 +03:00
Joonas Rikkonen
2a5935fe6c Merge branch 'Faerdan-master' 2017-07-05 19:33:02 +03:00
Joonas Rikkonen
bf5a0746ad Merge branch 'master' of https://github.com/Faerdan/Barotrauma into Faerdan-master
Conflicts:
	Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs
	Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
	Barotrauma/BarotraumaShared/Source/Characters/Character.cs
	Barotrauma/BarotraumaShared/Source/Items/Item.cs
2017-07-05 19:32:34 +03:00
Joonas Rikkonen
64ad5e5003 Removed unnecessary using directives 2017-07-05 18:35:09 +03:00
Joonas Rikkonen
8f3c58de4b Fixed null exceptions when selecting a sonar in a sub with no hulls 2017-07-05 17:39:30 +03:00
Joonas Rikkonen
e431cc775f Some null checks, clients log initial lobby update, minor lighting optimization 2017-07-04 22:36:00 +03:00
Joonas Rikkonen
59997b94ab Split tigerthresher's tail and body into multiple parts 2017-07-04 22:17:44 +03:00
Joonas Rikkonen
9b054ebd50 Added an artifact that attracts creatures, item max health can be changed & items can be made indestructible 2017-07-04 22:10:30 +03:00
Joonas Rikkonen
d397253fa1 Added missing debugconsole lock 2017-07-04 17:18:33 +03:00
Joonas Rikkonen
2e2249bbf9 Fixed wall rendertriangle generation 2017-07-03 21:26:50 +03:00
Joonas Rikkonen
60a826f0cd Separate help commands for server and client 2017-07-03 20:55:22 +03:00
Joonas Rikkonen
8aa6ba71b6 Another attempt to fix the "Destination array was not long enough" errors in AddToGUIUpdateList:
The errors seem to be caused by adding messages to the debug console from another thread, which may happen if an OpenAL error occurs during sound streaming. Now the debug console queues the messages and creates the necessary UI elements in the main thread, which should(?) make it thread-safe. (TODO: figure out what's causing the OpenAL errors)
2017-07-03 19:08:52 +03:00
Joonas Rikkonen
0d7851367b Dedicated server loads the name, password and other initial settings from the serversettings file. + Fixed not being able to change the server name if the current name is null or empty 2017-07-03 18:44:06 +03:00
Joonas Rikkonen
8e880b2ded Added GUINumberInputs to the extra cargo menu, minor additions to GUINumberInput 2017-07-02 22:17:12 +03:00
Joonas Rikkonen
8ae2fb225c - Ban duration can be set in the UI prompt.
- Ban reasons & durations are listed in the banlist menu.
- Clients tell the server the reason when kicking/banning another client.
- Added GUINumberInput GUIComponent.
- Ban duration saving/loading fixes.
2017-07-02 21:36:17 +03:00
Joonas Rikkonen
df0bdb64d6 - Ban durations (TODO: add a way to set and view the durations through the menus).
- Separated ban & kick methods.
- Fixed compilation errors in DebugConsole when building the server.
2017-07-02 18:58:07 +03:00
Joonas Rikkonen
da71b6bf9c Option to supply a reason for banning/kicking, logic for handling question prompts in the debug console 2017-07-02 15:25:55 +03:00
Joonas Rikkonen
fb5db81d10 Recompiled OpenGL shaders for MonoGame 3.6 2017-07-01 22:09:30 +03:00
Joonas Rikkonen
a1bc622faa Added new particle sprites to the correct project 2017-07-01 15:23:32 +03:00
Joonas Rikkonen
e15f5a881b Merge branch 'dedicated-server' (TODO: make sure I didn't break anything)
Conflicts:
	Barotrauma/Barotrauma.csproj
	Barotrauma/BarotraumaShared/Source/Characters/AI/AIController.cs
	Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs
	Barotrauma/BarotraumaShared/Source/Characters/AICharacter.cs
	Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs
	Barotrauma/BarotraumaShared/Source/Characters/Attack.cs
	Barotrauma/BarotraumaShared/Source/Characters/Character.cs
	Barotrauma/BarotraumaShared/Source/Characters/CharacterNetworking.cs
	Barotrauma/BarotraumaShared/Source/Characters/Limb.cs
	Barotrauma/BarotraumaShared/Source/Events/MonsterEvent.cs
	Barotrauma/BarotraumaShared/Source/Map/Explosion.cs
2017-06-30 21:02:52 +03:00
Joonas Rikkonen
3981b4efa3 - Enemies wander randomly if they can't find a path to a selected attack target.
- Enemies don't select hulls as targets if they're already inside.
- FishAnimController updates the walking animation even if the character is not moving (otherwise the character would just fall down if TargetMovement is zero).
- Eating anim tweaking.
2017-06-30 17:28:52 +03:00
Joonas Rikkonen
bb91c8ce75 Fixed occasional "trying to read past the buffer size" errors when reading messages from the clients 2017-06-29 21:21:37 +03:00
Joonas Rikkonen
1b5c4ae63a UpdateControlled only runs on the controlled character (-> fixes camera always focusing on the last spawned character) 2017-06-29 18:49:54 +03:00
Joonas Rikkonen
d2f062ca61 Fixed a compilation error when the DEBUG symbol is defined 2017-06-29 17:14:22 +03:00
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