Commit Graph

156 Commits

Author SHA1 Message Date
Regalis
2871830670 Fixed wire connections & nodes resetting when copypasting them 2016-12-11 22:33:15 +02:00
Regalis
bf88e2b8de ItemComponent HUD isn't drawn for ItemComponents that can't be selected 2016-12-01 16:11:29 +02:00
Regalis
a2442bfcb8 Simple MapEntity visibility culling (structures outside the camera view or items with nothing to render aren't drawn)
Could be optimized further, but already gives a pretty nice performance boost
2016-11-30 21:09:11 +02:00
Regalis
0b03b78606 Entities that are behind other entities can be selected using a listbox that appears when hovering the cursor over them, itemcomponent GUIFrames aren't added to GUIUpdateList in sub editor (unless in character mode) 2016-11-29 17:30:13 +02:00
Regalis
b773413b45 Fixed items disappearing from copypasted containers if the items have been removed from the original container, cloning links between entities 2016-11-23 20:34:41 +02:00
Regalis
4ad60e77a9 Item.SetContainedItemPositions recursively sets the positions of the items contained inside the contained items (and so on) 2016-11-22 18:06:52 +02:00
juanjp600
5922fc972d Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-15 22:26:46 -03:00
juanjp600
d2c17274fe GUI elements now respect render order + some minor distance comparison optimization 2016-11-15 22:26:36 -03:00
Regalis
f7a9a77721 Some debug assertions to help figure out the cause for the body.FixtureList==null & GetHullsInRange crash reports 2016-11-15 19:53:25 +02:00
Regalis
0353732e7e Fixed highlighting items when highlighting a wire in a connection panel 2016-11-12 18:27:35 +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
e6b2919877 Items/structures can be copied by holding ctrl in the editor 2016-11-11 17:37:03 +02:00
Regalis
1617cd8f7a Item/statuseffect optimization:
- PowerTransfer components cache power connections instead of rechecking them every frame
- items store connections in a dictionary with the name of the connection as a key (-> finding the correct connection when sending a signal is more efficient)
- storing item tags & StatusEffect targetNames in HashSets
2016-11-08 21:14:29 +02:00
Regalis
eb2c51c2f1 Cleanup with resharper (mostly removing redundancies & using collection.Length/Count properties instead of the Count method) 2016-10-31 20:50:20 +02:00
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