Joonas Rikkonen
65211ecbb6
Characters that are outside are rendered under particles -> creatures can be hidden by smoke from hydrothermal vents.
2017-08-22 19:06:29 +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
d772049cc0
Particle fixes, background sprites can emit particles if the camera is within the area where the particles are visible
2017-08-22 15:41:23 +03:00
Joonas Rikkonen
cc40970b58
Separate ParticleEmitter & ParticleEmitterPrefab classes - the emission timer (and maybe some other values in the future) can't be in the prefab class because multiple objects may use the same prefab.
2017-08-20 22:05:30 +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
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
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
8691789974
ScalableFont uses a non-obsolete override of the SpriteBatch.Draw method, + minor optimization
2017-08-13 20:01:00 +03:00
Joonas Rikkonen
c7a357d84c
Fix for exceptions when a human is targeting a removed entity while debugdraw is enabled, accessing AITarget position properties after the target has been destroyed doesn't throw an exception (but does log an error in debug builds).
2017-08-13 20:00:52 +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
98b4b904d4
Inventory slots are highlighted if the cursor is within 5 pixels of the rect. The spacing between inventory slots is 10 px, so now items can't be accidentally dropped by releasing the cursor between slots.
2017-08-11 17:49:43 +03:00
Joonas Rikkonen
75a4d641bf
Medical scanner shows husk infections
2017-08-10 20:30:48 +03:00
Joonas Rikkonen
f40d244deb
Moved inventory UI update logic to the client project, sound effects for picking up and dropping items
2017-08-10 20:30:29 +03:00
Joonas Rikkonen
fd844fd696
Option to make wearable sprites use the depth of the sprite instead of using the depth of the limb it's attached to
2017-08-10 18:19:06 +03:00
Joonas Rikkonen
a86a10b177
Fixed the spamchatmessages debug command
2017-08-03 19:29:53 +03:00
Joonas Rikkonen
6e95bbb524
Server log remembers the state of the filters and applies the filter when opened
2017-08-02 17:50:34 +03:00
Joonas Rikkonen
1bc2523269
Added some GPU info to the crash reports, all available debug console messages are included in the reports (not just the 15 latest ones), restart attempts caused by SharpDXExceptions are logged
2017-07-31 20:49:01 +03:00
Joonas Rikkonen
9e3f4bfa5a
Syncing crouching from server to clients, not just from clients to server
2017-07-28 19:01:47 +03:00
Joonas Rikkonen
602b99c9fb
Fixed hulls not being rendered in the sub editor
2017-07-28 17:26:56 +03:00
Joonas Rikkonen
3c04d2c479
Using SetClientCharacter forces the client's line of sight effect back on
2017-07-27 18:03:29 +03:00
Joonas Rikkonen
61b90464dd
Playing whack-a-mole with the interaction logic again:
...
- Fixed server keeping clients focused on entities until they report focusing on something else. This allowed clients to interact with the entity they previously focused on, even if they weren't anywhere near anymore.
- Checking if clients are allowed to focus on an entity before letting them do so (!!!).
- Server doesn't highlight entities when a client focuses on them.
- Characters can interact with a wire if they've selected either of the items it's connected to.
2017-07-26 21:03:21 +03:00
Joonas Rikkonen
a627f25c95
Fixed missing kick/ban buttons in the crew menu
2017-07-26 17:49:55 +03:00
Joonas Rikkonen
286c1ad950
Fixed crashing when a client clears connections of a wire (because the logging attempted to access Character.Controlled instead of the client's character), fixed the (completely broken) ConnectionPanel.ServerRead
2017-07-25 21:27:22 +03:00
Joonas Rikkonen
f460b4c2bc
Fixed queued debug messages not being included in crash reports
2017-07-25 18:02:04 +03:00
Joonas Rikkonen
aaea8bc709
Dedicated servers can use autorestart
2017-07-24 21:21:00 +03:00
Joonas Rikkonen
bf7677154b
Disabled debug logging of the loading coroutine when verbose logging isn't enabled
2017-07-23 20:11:55 +03:00
Joonas Rikkonen
49003c465c
Aiming syncing fix: aiming angle is calculated from the position of the shoulder towards the cursor (or a position within the collider that's roughly at the shoulder).
2017-07-18 18:33:30 +03:00
Joonas Rikkonen
575b643c62
Added "user" parameter to Inventory.PutItem and Inventory.TryPutItem. + More descriptive wiring logging: the logs don't list all the wires in a connectionpanel but only the changes a player does to the wiring. Disconnecting wires by picking them up and wiring done by the host are also logged now.
2017-07-17 23:27:31 +03:00
Joonas Rikkonen
d5aa1d8b97
Selecting an item with no ItemContainer component doesn't prevent equipping/unequipping items by double clicking, added missing "gamescreen" console command
2017-07-13 23:33:53 +03:00
Joonas Rikkonen
1ebc923064
Fixed seeing through walls when under a sub
2017-07-11 23:41:47 +03:00
Joonas Rikkonen
935b1ff837
Console fixes, logging launched turret projectile and the items contained inside it
2017-07-11 19:29:41 +03:00
Joonas Rikkonen
6ad5dd6c1e
DebugConsole refactoring : available console commands are stored in a list of "Command" objects which contain the name, help text and the action that's invoked when the command is entered. Commands can also now be autocompleted in the client project by pressing tab (TODO: implement in the server project). + Now it should be easier to implement giving clients the permission to use specific console commands.
2017-07-10 21:10:54 +03:00
Joonas Rikkonen
630a079679
"MessageBox" chatmessage type. Not used in the vanilla game (yet), but custom servers can use it to display custom message boxes at the clients' end. Closes #17
2017-07-09 23:25:41 +03:00
Joonas Rikkonen
f2d603d2f0
Fixed issue #15 (sub/shuttle lists being empty at the client's side after joining a server). The clients would ignore the initial update message if they happened to receive one of the normal update messages before the initial one.
2017-07-09 20:19:53 +03:00
Joonas Rikkonen
bd4c7d68d0
Fixed endless messagebox spam when the controlled character turns into a husk, fixed an index our of range exception when merging firesources
2017-07-09 16:17:44 +03:00
Joonas Rikkonen
d4b58e16b9
Fire & explosion decals
2017-07-08 18:30:07 +03:00
Joonas Rikkonen
4d2e7c33b1
Decal system (TODO: add decals for explosions and fire), moved some of the client-specific Hull update logic to the client project
2017-07-06 21:38:32 +03:00
Joonas Rikkonen
bf5a0746ad
Merge branch 'master' of https://github.com/Faerdan/Barotrauma into Faerdan-master
...
Conflicts:
Barotrauma/BarotraumaClient/Source/Map/MapEntity.cs
Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
Barotrauma/BarotraumaShared/Source/Characters/Character.cs
Barotrauma/BarotraumaShared/Source/Items/Item.cs
2017-07-05 19:32:34 +03:00
Joonas Rikkonen
64ad5e5003
Removed unnecessary using directives
2017-07-05 18:35:09 +03:00
Joonas Rikkonen
8f3c58de4b
Fixed null exceptions when selecting a sonar in a sub with no hulls
2017-07-05 17:39:30 +03:00
Joonas Rikkonen
e431cc775f
Some null checks, clients log initial lobby update, minor lighting optimization
2017-07-04 22:36:00 +03:00
Joonas Rikkonen
9b054ebd50
Added an artifact that attracts creatures, item max health can be changed & items can be made indestructible
2017-07-04 22:10:30 +03:00
Joonas Rikkonen
d397253fa1
Added missing debugconsole lock
2017-07-04 17:18:33 +03:00
Joonas Rikkonen
60a826f0cd
Separate help commands for server and client
2017-07-03 20:55:22 +03:00
Joonas Rikkonen
8aa6ba71b6
Another attempt to fix the "Destination array was not long enough" errors in AddToGUIUpdateList:
...
The errors seem to be caused by adding messages to the debug console from another thread, which may happen if an OpenAL error occurs during sound streaming. Now the debug console queues the messages and creates the necessary UI elements in the main thread, which should(?) make it thread-safe. (TODO: figure out what's causing the OpenAL errors)
2017-07-03 19:08:52 +03:00
Joonas Rikkonen
0d7851367b
Dedicated server loads the name, password and other initial settings from the serversettings file. + Fixed not being able to change the server name if the current name is null or empty
2017-07-03 18:44:06 +03:00