Commit Graph

142 Commits

Author SHA1 Message Date
juanjp600
506ef2f2aa Attempted fix for drawableComponents crash + LOS tweaks 2016-10-12 19:24:39 -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
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
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
bdcd894b83 Flipping sprites of staircases & engine 2016-10-01 16:41:16 -03:00
Regalis
8e8a0e57f0 Cleaned up the flipping logic a bit, overridable MapEntity.FlipX method 2016-09-30 19:48:56 +03:00
Regalis
4bf01aeba7 Improved MiniMap: shows hull integrity and oxygen levels, and can be configured to only show oxy/water data if the rooms have detectors in place
+ itemprefab "aliases" (allows changing item names while keeping backwards compatibility with older sub files)
2016-09-08 20:21:55 +03:00
juanjp600
8f675e625b Host can ban lobby players from ingame
New menu looks really ugly but it works
2016-08-28 22:16:49 -03:00
juanjp600
86704c7d83 Stricter item interaction check 2016-08-28 20:00:46 -03:00
juanjp600
73fc0cf724 More security checks
This actually looks pretty bad, not gonna lie.
2016-08-28 19:54:31 -03:00
Regalis
e715f07922 - spam filter closeFactor works correctly even if the client has sent less than 20 messages, slightly more aggressive filtering
- anti-husk drug
- resized medicine/chemical physics bodies to match the sprites
- damage done to items is determined by the structureDamage value of an attack
2016-08-28 17:29:32 +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
aa2dbab579 PickItem networkevents include whether the item was selected instead of toggling selected/deselected, items can be picked when inside their trigger even if the position of the item isn't visible (i.e. ladders in Nehalennia can be climbed again) 2016-08-13 18:34:47 +03:00
Regalis
ab923c47e3 Error message if a character config file isn't found, Linux version tries to search for "Characterfolder" if "characterfolder" isn't found 2016-08-11 21:31:02 +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
4252f4b9d0 - clients don't spawn character jobitems themselves (item data is written in the StartGame network message)
- after receiving a StartGame message, clients will wait until the game is loaded before reading new messages from the server
- the Item(prefab, position, submarine) constructor uses the position as the center of the item, not as top-left corner
2016-07-29 18:38:42 +03:00
Regalis
6c79a8c568 Syncinc AICharacter inventories (a husk controlled by the host), clients don't try to read physicsbodyposition messages if the item doesn't have a body, control command works even if the character has spaces in the name 2016-07-25 18:43:09 +03:00
Regalis
8357532fc1 Cargo spawns at the floor of the cargo room, item configs are fetched from the prefab instead of reloading the config files every time when placing an item 2016-07-16 16:12:34 +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
19915fc4e5 - server log and item lists in editor can be filtered
- changes to item highlighting logic (easier in cramped subs)
- sub name/description boxes and selected items are reset when leaving the editor
2016-07-06 18:10:22 +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
dc7956274c - camera follows the closest sub
- WIP "respawn shuttle"
- submarine size affects its mass
- electricity fixes
2016-06-18 14:46:40 +03:00
Regalis
cf822cfae6 Submarine saving fixes, impact damage in sub-sub collisions, submarine ambient sounds 2016-06-12 14:23:08 +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
Regalis
0621f6c9e3 Impulses aren't applied to disabled item bodies when the submarine hits something, velocities of item bodies are reset when the item is dropped, pathfinding errors don't open the debug console 2016-06-01 20:56:07 +03:00
Regalis
b4af92ace2 Small optimization: items have a list of components that have to be drawn 2016-05-24 21:17:38 +03:00
Regalis
00b1ec38e2 Some new wall sprites, wires are automatically dropped if both items they're attached to are removed, other items aren't highlighted while dragging an item in editor 2016-05-22 01:31:36 +03:00
Regalis
b2f83b43f8 Attacks can apply a force to the target (i.e. monsters can throw characters around) 2016-05-22 01:28:46 +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
4a54788d7b Item.FindHull changes, added depth charges and flashlights to default subs 2016-05-15 17:56:42 +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
11e4f5699f PhysicsBodyPosition networkevents aren't sent for items that are inside an inventory (e.g. carried by a character), items can be moved from the inventory to containers by double clicking 2016-05-11 20:22:32 +03:00
Regalis
d5f6fff2c2 Lighting improvements: lightmap is drawn over all structures and blurred, flashlight item, OnContained statuseffects are also applied when the item is contained in a characterinventory 2016-05-07 09:16:29 +03:00
Regalis
63bb78b3ef Using TrySetLimbPosition when flipping a character to prevent limbs from going through walls, changes to outside->inside teleportation logic 2016-05-01 18:53:58 +03:00
Regalis
d3ab7946a8 Using ToLowerInvariant instead of ToLower (the game works for Turkish players now!)
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html
2016-04-27 17:14:09 +03:00
Regalis
14ef736176 "Suicide button" is also usable in single player, unconscious characters can't be selected in sp, fixed resizing textblocks with wrapped text 2016-04-23 17:26:56 +03:00
Regalis
83081d98c0 Water forces aren't applied to disabled bodies, logging sound loading 2016-04-22 23:46:36 +03:00
Regalis
3347fcdd20 Server notifies clients about junction boxes breaking (+ clients aren't allowed to break them), fixed explosion lightSource positioning 2016-04-22 17:28:22 +03:00
Regalis
12dc494e42 Displaying the condition of contained items in the inventory slot of the parent item (i.e. the amount of oxygen left in a diving suit is visible without highlighting the suit), some debug logging, colored speech bubbles 2016-04-21 17:17:42 +03:00
Regalis
17d499d70a - clients only apply OnImpact statuseffects on items when the server says so
- fixed characters occasionally teleporting partially inside walls in mp
- made it easier to drag characters while swimming
2016-04-16 21:00:21 +03:00
Regalis
6876bdc481 Crates, some new chemicals, statuseffects that are triggered on impact, explosions can trigger "OnFire" statuseffects, applying impulses to items (and not just characters) when the submarine hits something 2016-04-16 15:33:28 +03:00
Regalis
c5685db0aa - handheld sonar
- junction boxes, sonar monitors, navigation terminals and engines break down if they're underwater long enough
- reactor cools down if it's underwater
- job-specific gear are grouped by job in separate .xml files
2016-04-09 14:31:59 +03:00
Regalis
5f05db7ca4 - fixed "signal loops" causing StackOverFlowExceptions (now the signals can only take 10 "steps" between components per frame)
- parameter for changing the output value of And/Or components when the input conditions aren't met
- or components work properly now
- a limited number of signals (100) can be queued in a delay component
2016-04-02 02:25:44 +03:00
Regalis
3ac8139fc7 - changes to the logic for distributing oxygen through vents: the oxygen generator pushes more oxygen to larger rooms
- bugfixes in HumanoidAnimController.Flip()
- item/itemcomponent statuseffects are stored in a dictionary with the actiontype as a key, so the item doesn't have to iterate over all the components and all their statuseffects
- gap bubble particle tweaking
2016-03-29 17:57:05 +03:00