Commit Graph

28 Commits

Author SHA1 Message Date
Joonas Rikkonen
98e05e8483 Prevent ruins from overlapping with each other or ending up above the upper boundary of the level. Closes #894 2018-11-12 13:48:23 +02:00
Joonas Rikkonen
ef9afedf42 Added a level equality check to client error handling to make it easier to diagnose bugs like #848 in the future. 2018-10-18 00:18:57 +03:00
Joonas Rikkonen
bff2852cb6 Fixed submarine waypoints getting mirrored in mirrored levels (cherry-picked from c785732) 2018-09-21 14:05:22 +03:00
Joonas Rikkonen
c4c18fbfd7 Fixed main path waypoints not getting mirrored in mirrored levels (cherry-picked from 295fc31). 2018-09-21 12:45:33 +03:00
Joonas Rikkonen
3747852c13 Removed the Entity.MoveWithLevel property, fixed artifacts and other items from ruins not being saved. Closes #694 2018-08-20 16:23:40 +03:00
Joonas Rikkonen
bcd44f79e9 Merge branch 'level-mirroring' 2018-08-08 15:30:41 +03:00
Joonas Rikkonen
5100956bae Levels are mirrored when traveling backwards through a connection in the campaign mode. Closes #519 2018-08-08 15:30:32 +03:00
Joonas Rikkonen
99c76d0099 Cleanup 2018-08-08 15:16:53 +03: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
5dcb7bba9b Mirroring background sprite positions partially working. They spawn at the correct edge, but not at the correct position or rotation. 2018-07-27 14:50:42 +03:00
Joonas Rikkonen
3b4a6c0081 Ruin and seafloor mirroring works now 2018-07-27 13:01:04 +03:00
Joonas Rikkonen
aa5b2a973e Mirroring levels. Mirroring the wall geometry works, but ruins and background sprites are not placed at the correct positions yet. 2018-07-27 10:36:52 +03:00
Joonas Rikkonen
a61ac1716d Sending level seed & level gen errors to GameAnalytics 2018-07-20 14:17:59 +03:00
Joonas Rikkonen
0ab4521a7a Fixed monsters being able to spawn under the ocean floor. Closes #319 2018-03-06 12:13:08 +02:00
Joonas Rikkonen
bd4388042f Fixed map generation going crazy if the main path node interval is very large relative to the size of the level. Closes #201 2017-12-27 18:18:31 +02:00
Joonas Rikkonen
e17b5a195c Increased the minimum distance between monster spawns and subs (20 000 units in monster events, 30% of the width of the level in monster missions). Closes #63 and closes #151 2017-12-14 20:01:45 +02:00
Joonas Rikkonen
348d81a66f MP campaign fixes 2017-09-13 20:34:10 +03:00
Joonas Rikkonen
7625d04807 Fixed exceptions during level generation if two tunnel nodes happen to be placed at the same position 2017-09-03 13:11:53 +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
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
04834f9f7f Background sprites can be set to spawn on the sea floor, particle emitters can be attached to background sprites 2017-08-20 19:07:07 +03:00
Joonas Rikkonen
8e71b4b828 Ocean floor is visible on sonar 2017-08-16 19:09:51 +03:00
Joonas Rikkonen
52a52cdfc7 Level biomes (basically a way of categorizing level generation parameters). The single player map is now divided into biomes, meaning that specific types of levels are generated at different areas of the map.
TODO: more variety between biomes, assign the map biomes in a less random way (e.g. splotches of easier biomes connected by more dangerous ones, very dangerous biomes at the edges of the map...), option to select the biome in MP?
2017-08-15 22:43:58 +03:00
Joonas Rikkonen
9c372137bd Added randomly generated ocean floors. Atm the bottom is too deep to reach in most levels and there's not much to explore down there, but the plan is to have some levels where the bottom or some of the bottom formations are reachable (because we need hydrothermal vents!).
Ice walls also use vertex colors now, could be used to add some cosmetic variety to the levels.
2017-08-15 19:20:21 +03:00
Joonas Rikkonen
4d40f5d483 Submarines, items and characters that reach a depth of 300,000 units (~4000 m) are automatically disabled. Avoids the unnecessary cost of updating entities that are way too deep to be reached by anyone. 2017-08-13 20:00:18 +03:00
Joonas Rikkonen
64ad5e5003 Removed unnecessary using directives 2017-07-05 18:35:09 +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