Joonas Rikkonen
cc122f2bbf
(b451554e8) Merge remote-tracking branch 'origin/dev' into keymapping-refactor-test
2019-04-04 11:10:29 +03:00
Joonas Rikkonen
b08a31a68f
(33ab1e038) Add buttons for resetting the settings to the defaults and setting the default keybindings. TODO: pressing the buttons should refresh the settings frame instead of closing it.
2019-04-04 11:10:14 +03:00
Joonas Rikkonen
a3425a0432
(bb85ea959) Fixed last item not being visible in grid layout groups if it's the only item on the last row
2019-04-04 11:08:49 +03:00
Joonas Rikkonen
7eb03ea6b3
(874c38a79) Show keybindings for use or shoot in the tooltips.
2019-04-04 11:08:33 +03:00
Joonas Rikkonen
d4752bb6a0
(9f5c9fbcb) Make sure lazy-loaded sprites load their texture when creating a GUIImage, because the image needs to know the size of the texture to scale itself correctly. Fixes location portraits not being visible in the campaign menu when a location is selected for the first time.
2019-04-04 11:08:18 +03:00
Joonas Rikkonen
7491b06a5d
(bbd192053) Rebind Select and Use keys. Refactor GameSettings to support legacy bindings, when they are set. That is, if the new "deselect" and "shoot" keys are not defined, but the player config file is found, use the "select" and the "use" keys instead of the defaults.
2019-04-04 11:08:02 +03:00
Joonas Rikkonen
79ea41e6c9
(4f4395b00) Reduced the size of the disallowed item interface area around the chatbox
2019-04-04 11:07:45 +03:00
Joonas Rikkonen
3f05035c18
(c4338b107) Disable aiming when interacting with an item other than ladders.
2019-04-04 11:06:44 +03:00
Joonas Rikkonen
5f05322fdb
(fdc038d5d) Keymapping and UX test: - Map use to "E" and Select to "Left Mouse". - Introduce a dedicated key for deselecting ("Right Mouse"). - Introduce a dedicated key for shooting ("Left Mouse"). - Define certain objects as shootables, which simply means that they use the "Shoot" key instead of using the "Use" key. This required the least amount of refactoring the existing code. - TODO: don't register the "Select" input when aiming or when an interface is open -> should prevent interacting through UI elements. - TODO: sync the new input types with the server.
2019-04-04 11:06:12 +03:00
Joonas Rikkonen
0ecfc426ff
(45f083a5a) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
2019-04-03 16:22:12 +03:00
Joonas Rikkonen
0dd1823eb1
(44a496915) Added: Template for using a video with the Welcome text in the tutorial if needed. Removed: Old spritesheets. Fixed: Bug in fetching crew with certain jobs
2019-04-03 16:21:57 +03:00
Joonas Rikkonen
0844f1eae4
(8e2e6e4da) Physics error prevention: - Use the ApplyForce/ApplyImpulse method overrides that clamp the resulting velocity to a value (in this case NetConfig.MaxPhysicsBodyVelocity, 64 m/s). Without this, explosions and attacks for example could apply arbitrarily large forces to bodies, causing physics errors in Ragdoll.CheckValidity. - Make sure angular velocity still has a sane value after applying an impulse to a specific point of a collider.
2019-04-03 16:21:22 +03:00
Joonas Rikkonen
2eaf22683d
(ae643deeb) Added alive checks to a couple of diving gear status effects (don't consume tanks when dead)
2019-04-01 22:47:22 +03:00
Joonas Rikkonen
ec7e23061b
(38b5d9aad) Experimental changes to syncing ragdolled (unconscious/dead) characters: - Higher error tolerance when syncing the positions. It's often hard to get the main limb exactly to the same position as the collider, because the positions of the limbs aren't synced and the pose of the ragdoll may differ between the server and clients. Increasing the tolerance makes it less likely for dead/unconscious characters to "twitch" when the game attempts to force the main limb to the position of the collider. - If the position of the ragdoll differs from the position of the collider so much that CheckDistFromCollider disables limb collisions, apply an additional force to all limbs to force the ragdoll to the correct position. Otherwise the ragdoll can occasionally start "hanging" midair, clipping through solid objects, because the main limb's pull joint doesn't necessarily have enough force to pull the entire ragdoll up to the collider.
2019-04-01 22:47:03 +03:00
Joonas Rikkonen
ea7f5a3b82
(0835d92e6) More reliable throw StatusEffect (= grenade explosion) syncing. Previously the clients would simply apply the statuseffects themselves when a client throws something, which most of the time didn't work because character inputs are sent unreliably and the item may have already been taken out from the character's inventory by a reliable NetEntityEvent by the time the throw input arrives.
2019-03-30 21:44:51 +02:00
Joonas Rikkonen
080ac78ded
(5c35a640e) Update tutorial-rework with dev
2019-03-27 20:52:47 +02:00
Joonas Rikkonen
3f82c9a2cb
(f417b026f) Fetched: Changes for playing video tutorial from local branch
2019-03-27 20:45:14 +02:00
Joonas Rikkonen
a8309b5766
69487a2...d38c50c
...
commit d38c50cc354476d5309645bc1487a4c03fe97d57
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Wed Mar 20 16:27:45 2019 +0200
Fixed inability to throw anything in the multiplayer. The clients would create a network event about dropping the item during the throw, which prevented throwing it server-side (because the item isn't in the character's inventory anymore by the time it should be launched). Closes #1318
commit 25cc1ceefcf62e346281c24c41964053d102701c
Author: Joonas Rikkonen <poe.regalis@gmail.com >
Date: Wed Mar 20 16:21:33 2019 +0200
Merge same afflictions into one icon in the preview above the health bar (instead of showing the same icon for each limb that has the affliction)
2019-03-20 16:28:15 +02:00
Joonas Rikkonen
23687fbf2f
aeafa16...4d3cf73
2019-03-18 22:57:05 +02:00
Joonas Rikkonen
044fd3344b
2f107db...5202af9
2019-03-18 21:42:26 +02:00
Joonas Rikkonen
6c0679c297
38f1ddb...178a853: v0.8.9.1, removed content folder
2019-03-18 20:39:27 +02:00
Joonas Rikkonen
d81ee1a27e
Added a bunch of checks to make sure a normalized zero vector (= NaN, NaN) is not used in any position/velocity/movement calculations. There were at least three places where it was causing problems according to error reports: when a character that can't enter a sub spawns at the center of a hull and when using an underwater scooter or throwing something while the cursor is at the position of the character, but there were tons of other places as well where it may have potentially caused physics errors.
2018-07-31 12:28:04 +03:00
Joonas Rikkonen
91d6c7b91f
Fixed explosives being directly usable by characters, causing them to explode when left clicking while holding them due to 9dd9425c. See #385
2018-04-24 18:00:36 +03:00
Joonas Rikkonen
b9287beed2
Characters carry two-handed throwables in both hands. (See #303 )
2018-03-07 11:33:06 +02:00
Joonas Rikkonen
c803e23c50
Added checks for character removal to a bunch of places. Some of these may not necessary, but at least MeleeWeapon, Projectile and Controller still accessed the user after the user had been removed.
2018-02-28 17:37:20 +02:00
Alex Noir
bdeb3a19fd
Updated server logs so admins can see disguised persons
...
clientist should also display stuff
TODO: Log inventory interactions like putting item in slots (e.g. oxy mask equipped in Head slot or equipped in Any slot, etc.) so you can tell the exact moment someone decided to disguise themselves.
2017-12-16 20:24:24 +03:00
Alex Noir
55dd58579f
I DID IT HOLY SHIT I GONE AND DONE IT
...
OnSecondaryUse is what throwing uses for doing things SPECIFICALLY on throw. This way, you can theoretically have grenades on which you'll have to pull the pin before throwing.
This also lets flares be used without the need to throw them.
did i mention my brain hurts
2017-12-10 15:56:34 +03:00
Alex Noir
231a38f71d
roll back name change from "Aim" to "SecondaryUse"
...
Expand SecondaryUse to have similar properties to normal Use so it can apply SecondaryUse-related status effects
Make Throwable great again
2017-12-10 15:00:52 +03:00
Alex Noir
00653c5aa4
Renames "OnSecondaryUse" to "OnAim" for more sense
...
adds new "OnHudUse" to separate normal and self use
2017-12-10 13:39:00 +03:00
Joonas Rikkonen
8e556f1c76
- Renamed a bunch of ObjectProperty-related stuff (ObjectProperty -> SerializableProperty, IPropertyObject -> ISerializableEntity, the "SerializableProperty" attribute -> Serialize).
...
- Rectangle serialization.
- Option to restrict numeric properties to a range of values.
- WIP generic ISerializableEntity editor.
2017-11-08 21:15:03 +02:00
Joonas Rikkonen
a0d606ef5f
Working on improving the serialization system and ObjectProperty/IPropertyObject (TODO: come up with better names). The plan is to:
...
- Add support for some of the most common types (vectors, colors, rects) so there's no need to parse the values in the setters of the serializable properties (see Holdable.HoldPos for example).
- Make a generic version of the item editing HUD that can be used on any IPropertyObject. Should make it easier to implement things like the character editor, editing structure properties, particle editor, etc.
- Improve the interface of the editing HUD. Instead of having to type in a string value into a textbox, there should be number input fields for numeric properties, sliders for properties that only accept a range of values, a color picker, etc. And tooltips.
2017-11-03 19:41:21 +02:00
Joonas Rikkonen
56e04823f1
Logging when players attach items on walls or detach them, null exception fix in Throwable (picker is set to null in Item.Drop)
2017-07-17 23:28:46 +03:00
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
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