Commit Graph

62 Commits

Author SHA1 Message Date
Joonas Rikkonen
09e4687cd0 The content package a submarine was saved with is included in the submarine preview, added a warning when attempting to start a campaign using a sub with a mismatching content package 2018-01-25 12:19:47 +02:00
juanjp600
2acaee3c6d Fixed horizontal split shadow casters breaking everything 2018-01-23 22:43:25 -03:00
juanjp600
7507d71f53 Fixed light volumes not generating properly when shadow casters intersected 2018-01-22 17:15:36 -03:00
Joonas Rikkonen
f5dbbf0735 Submarine preview window with a preview image & some extra information of the subs 2018-01-17 17:01:44 +02:00
Joonas Rikkonen
2ba339035c Fixed LOS lightsource keeping references to already unloaded convex hulls and subs, causing the los effects of the previously loaded subs to be always rendered. 2018-01-12 16:17:09 +02:00
Joonas Rikkonen
87d987037f The alpha cutoff of partially damaged structures is clamped above 0.2. Now the damage effect is always visible on walls that have received any damage. 2018-01-12 15:43:34 +02:00
Joonas Rikkonen
10db837ef0 Particle fixes/improvements:
- Fixed particles going through closed gaps (e.g. closed doors).
- Gaps can emit particles even if the target hull is full of water (-> water running into the sub through an already flooded room is more apparent).
- The air-only splash & waterdrop particles are not emitted if the target room is full of water.
- Fixed heavy water particles never moving upwards (even if the water is rushing into a room from a gap on the floor).
2018-01-12 15:40:13 +02:00
Joonas Rikkonen
6edbe5de1f Fixed water dust particles "warping" around when moving the camera 2018-01-12 11:06:37 +02:00
Joonas Rikkonen
aa0fdfb790 All highlighted items are rendered to the lightmap, not just the ones the player is focusing on. -> Highlighted wires and the items they are connected to now glow in the dark.
Fixed LightComponent light source position not being updated if the item has no body, causing the light source to appear in a wrong position when attaching lights to walls.
2018-01-11 13:22:04 +02:00
Joonas Rikkonen
3b9d51e695 Made ambient lighting much darker and added a subtle glow around the player 2018-01-11 11:25:10 +02:00
Joonas Rikkonen
47f9900fdc Lighting fixes:
- Re-enabled lightsprites (glowing lamp sprites on lamps).
- Limb sprites use lightsprites instead of overriding the texture (positioned correctly now).
- Fixed lights that don't cast shadows not being rendered.
2018-01-11 11:23:55 +02:00
Joonas Rikkonen
d1bb33be78 Cutting/repairing holes in walls is logged, fixed gaps emitting drip particles even if there's no water in either hull. Closes #139 2018-01-09 19:50:55 +02:00
Joonas Rikkonen
85d76989c9 Tweaked structure gap logic to make smaller leaks more common. Walls now start leaking after taking >10% damage, and initially only emit smaller "drip particles". 2018-01-09 14:24:15 +02:00
Juan Pablo Arce
c2e2f0ca8d Fixed damageshader color parameter being optimized out
color is a parameter for the main function
2017-12-31 19:19:34 -03:00
Juan Pablo Arce
904052390c Fixed LOS effect on Windows, fixed SharpDX reference, rebuilt damageshader_opengl 2017-12-31 17:45:05 -03:00
Joonas Rikkonen
65d6071378 Fixed damageshader ignoring sprite colors. Closes #212 2017-12-30 04:51:39 +02:00
Joonas Rikkonen
c3c16b53ac Fixed background sprites being rendered in an incorrect order 2017-12-30 02:04:42 +02:00
Joonas Rikkonen
627d6ecd78 Minor UI fixes 2017-12-29 21:09:53 +02:00
Joonas Rikkonen
4f0b190371 Some more hard-coded text removal 2017-12-27 14:40:33 +02:00
Joonas Rikkonen
a5d2dd37f4 Merge branch 'master' of https://github.com/Regalis11/Barotrauma 2017-12-26 20:04:47 +02:00
Joonas Rikkonen
bc6c828a14 Option to make limb attacks do damage based on contact with physics bodies instead of distance. Attacks also do damage to all sections of a structure that are within damage range. Closes #108 2017-12-26 20:02:33 +02:00
juanjp600
40a46f96e2 Fixed LOS not going red + Fixed additive particles not looking right at all 2017-12-20 20:47:17 -03:00
juanjp600
07626a1989 Merge branch 'master' of https://github.com/Regalis11/Barotrauma
Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs
2017-12-20 19:46:53 -03:00
juanjp600
7a413aee93 Optimized GameScreen.DrawMap
- Downscaled lightmap, since blurring will make this unnoticeable anyway
(TODO: make this optional)
- Render LOS in fewer passes by using a shader
- Use light volume to calculate LOS
- This also means we can use the override texture to render the diving
suit obstruct effect
- Don't render bunks and labels onto LOS background (TODO: add the
option to render back into the LOS background, i.e. just use
multiplicative blending as if it was the lightmap)
- Prefer SpriteSortMode.Deferred over all others, prefer
SamplerState.LinearClamp/PointClamp over all others
- Remove shader blur in favor of geometry blur (TODO: improve on this
further, right now it has a few artifacts)
- Trim light volumes
- Do some weird shit with the background particles (use DrawTiled
instead of relying on SamplerState.LinearWrap, because that's faster
somehow :/ )
- Pressing up/down in the console only returns a typed command now
2017-12-20 19:41:23 -03:00
Alex Noir
0ce9acb76a fix things 2017-12-16 21:45:30 +03:00
Alex Noir
8ab97af456 Allow sub makers to alter the ID Card's description property on spawn points 2017-12-16 21:30:18 +03:00
Joonas Rikkonen
0b603ba10b Fixed particles in water being drawn under ruin structures (making it seem like plasma cutters aren't working), fixed all structures having the default health of 100 because of mismatching parameter name (Health vs MaxHealth) 2017-12-05 22:30:24 +02:00
Joonas Rikkonen
deefcafe02 Made the name of the "Linkable/IsLinkable" property consistent 2017-12-02 14:19:23 +02:00
juanjp600
5cb603b3e5 Fixed entity linking not working 2017-12-02 01:05:16 -03:00
Joonas Rikkonen
765587efd7 Renamed screens (EditMapScreen -> SubEditorScreen, EditCharacterScreen -> CharacterEditorScreen) 2017-11-18 15:13:03 +02:00
Joonas Rikkonen
04e3710a65 Renaming fields for consistency 2017-11-14 22:45:22 +02:00
Joonas Rikkonen
f7298c241e Progress:
- Input fields for vectors & colors in SerializableEntityEditor.
- SerializableProperty tooltips.
- GUINumberInput supports floats.
- EditingHUD for structures (atm the only editable property is the color of the sprite)
2017-11-12 20:24:11 +02: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
6bfca5f7fe - Hitscan projectiles, projectiles can be set to disappear after hitting something.
- Option to adjust ranged weapon spread (separate values for "normal spread" and when being used by an unskilled character).
- Option to disable explosion flashes.
2017-10-18 23:48:25 +03:00
Joonas Rikkonen
f46dc5da28 Water flow logic tweaking:
- Less fluctuation, water doesn't constantly flow back and forth through gaps.
- Flowing water pushes characters around much more heavily, and the force is applied to the collider in addition to the limbs.
- Vertical gaps don't push characters up/down unless the character is roughly above/below the gap.

+ Renamed some fields in the hull and gap classes (Volume -> WaterVolume, FullVolume -> Volume, public fields start with a capital letter)
2017-10-10 21:07:45 +03:00
Joonas Rikkonen
1ff2054ca8 Converted the GetAttribute methods in the ToolBox class to extension methods 2017-10-04 18:38:40 +03:00
Joonas Rikkonen
f291a22976 - Autorestart works in campaign mode.
- The server select a random destination when the campaign starts and after each round, so the campaign can be played even if there's no host/client to choose the destinations. (TODO: make it possible to vote for the destination?)
- Reverting to the previous save if the entire crew is dead works correctly now.
- Clients load the campaign saves after receiving them (-> discovered locations/connections are synced with clients).
2017-09-19 22:05:42 +03:00
Joonas Rikkonen
9114ae658f - Modified item buying logic: selected items are purchased immediately without having to click the "buy" button, and they stay in the list of purchased items until the round is started. (-> It's possible to see which items have been purchased and cancel purchases).
- Clients can be given a permission to manage the campaign (atm selecting which location to head towards and buying items).
- Syncing cargomanager state with clients.
- Misc fixes.
2017-09-17 15:55:24 +03:00
Joonas Rikkonen
63bca3c7ea Syncing campaign state & save files with clients (WIP) 2017-09-11 21:32:48 +03:00
Joonas Rikkonen
c1f5e3cbda Progress on multiplayer campaign:
- Moved SaveUtils to the shared project.
- Moved the "new game"/"load game" menu logic to a separate class.
- Somewhat functional campaign UI in the server lobby (only the map view is usable atm though).
2017-08-31 18:53:37 +03:00
Joonas Rikkonen
96a64d45dc Moved MapEntity saving methods to the shared project (the server needs to be able to save subs in the campaign mode) 2017-08-30 18:09:48 +03:00
Joonas Rikkonen
dc3b9baa0d Moved campaign UI logic from LobbyScreen to a separate class 2017-08-29 19:32:14 +03:00
Joonas Rikkonen
37a5888126 - More small caves in levels.
- Groups of crawlers, mantises and husks can spawn inside the caves.
- Salvage mission variants where the artifact spawns inside a cave.
- Fixed ruins being placed inside the sea floor.
- MonsterEvents don't spawn the monsters if no suitable spawn position is found.
2017-08-27 13:40:47 +03:00
Joonas Rikkonen
362428280a Multiple particle emitters can be be attached to a background sprite, hydrothermal vents push characters and subs upwards, tweaked hydrothermal smoke particles & trigger positioning 2017-08-26 17:07:13 +03:00
Joonas Rikkonen
4bdbf05875 - The range and volume of sounds emitted by StatusEffects can be changed and they can be set to loop.
- StatusEffect sounds are configured as child elements of the StatusEffect (instead of attributes).
- Background sprites can emit sounds.
2017-08-24 19:56:31 +03:00
Joonas Rikkonen
c2da3a6af4 - Added "LevelTriggers", areas that apply statuseffects and/or damage to entities. Atm can only be attached to background sprites.
- Moved background sprites to the shared project.
- The debug textures of physics bodies have a maximum size of 128x128 pixels to prevent large bodies from taking up excessive amounts of memory.
- Attacks can be set to only affect humans.
2017-08-23 20:37:30 +03:00
Joonas Rikkonen
15a31c5291 - The commonness of scripted events can be overridden for specific level types (e.g. some monsters can be set to spawn more frequently in specific types of levels).
- The sub can be moved from location to another in the map view by double clicking in debug builds.
- Level wall color can be changed in level generation parameters.
- Fixed level geometry not being rendered if the ocean floor is visible (which isn't a problem in most level types, but there can be levels where the ocean floor is so close to the actual level that they can both be visible at the same time).
- Background sprite scale is taken into account when calculating particle emitter positions.
- Fixed limb lights being rendered even if the character is disabled.
2017-08-22 19:04:49 +03:00
Joonas Rikkonen
4a460ff150 - The emission rate of ParticleEmitters can be set as particles per second (instead of particles per frame).
- Particles that are outside the sub aren't visible inside hulls even if they overlap with the sub.
- ParticleManager takes the movement of the particles into account when determining which particles to cull. For example, a particle that will move upwards can be emitted even if it's below the camera view.
2017-08-20 19:05:25 +03:00
Joonas Rikkonen
3c0f099448 Entities can be nudged with the arrow keys in the sub editor 2017-08-20 13:20:52 +03:00
Joonas Rikkonen
a6689b894d Map generation tweaking: some biomes are placed at the center of the map, some at the center and some randomly. 2017-08-20 13:20:23 +03:00