Commit Graph

1323 Commits

Author SHA1 Message Date
Regalis 4651e666bf All Powered components of an item are taken into account in grid power/load calculations, not just the first one 2017-05-30 17:04:14 +03:00
Regalis 7910b13120 Hulls, gaps, structures & waypoints implement ShallowRemove (= a method that's used to remove entities without severing links between them when copypasting).
Copied waypoints used to stay in the waypoint list, causing an exception to be thrown in PathFinder.GenerateNodes due to duplicate IDs.
2017-05-29 19:49:58 +03:00
Regalis 9281795866 Null reference fixes 2017-05-29 18:41:56 +03:00
Regalis 52daeea109 Fixed limb lightsource flipping (or actually disabled flipping altogether and just made the lightsource follow the rotation of the limb) 2017-05-29 18:41:36 +03:00
Regalis 4a94f12c8b Item list is manually cleared if there are items left after unloading a sub.
The "ItemList.Count == 0" assertion failed during one of the testing sessions. No idea why or how to reproduce it, but I hope this will do as a workaround until we figure out the actual cause.
2017-05-29 17:59:24 +03:00
Regalis 33b3e5374b Fixed a null exception if the server log UI hasn't been opened and the max number of lines is reached 2017-05-29 17:15:26 +03:00
Regalis b81ab4a480 Fixed a null exception in AIObjectiveFindSafety 2017-05-29 17:09:15 +03:00
Regalis 744e2bd031 Fixed characters walking slightly above the floor 2017-05-28 22:37:24 +03:00
Regalis dc80ee810c Separate servelog message type for inventory usage 2017-05-28 22:36:55 +03:00
Regalis b7518fa812 Item connections are cached in the Item constructor instead of OnMapLoaded (-> buttons created mid-round work now) 2017-05-26 20:03:38 +03:00
Regalis 09785184b3 Speech bubbles aren't shown above dead characters 2017-05-26 19:43:55 +03:00
Regalis 9a7a4e22fb Charybdis collider fix 2017-05-25 18:27:57 +03:00
Regalis c40c3a1a98 Clients don't modify the colors of the texts in the netlobby sub list, only their alpha 2017-05-25 18:27:47 +03:00
Regalis 44349b97b0 Fixed a null exception when a dragged character is removed 2017-05-25 17:05:28 +03:00
Regalis 6223861f7a Fixed clients' characters deselecting items when a status networkevent is received from the server 2017-05-24 19:27:51 +03:00
Regalis d6c700b535 Spawning extra cargo 2017-05-24 18:43:21 +03:00
Regalis 8b4b35e84b Changelog update, stuff 2017-05-24 17:38:26 +03:00
Regalis 4d0a6677e9 Server notifies clients when an OnFire statuseffect causes an item to break (-> clients can see oxygen/fuel tanks exploding again) 2017-05-24 17:30:20 +03:00
Regalis 3183c9fb03 Sounds can take over an audio channel that's playing at a lower volume if no free channels are found 2017-05-23 20:02:46 +03:00
Regalis c2b6632877 Server sends position updates for items when their sleep state changes, removed some redundancies from item update methods 2017-05-23 18:45:59 +03:00
Regalis b6a62eebae Item selection syncing fix 2017-05-23 17:36:45 +03:00
Regalis c049f2052e Heal & revive commands can be used on clients' characters 2017-05-22 20:30:51 +03:00
Regalis 93940ff5a8 - AI crew can avoid firesources in nearby hulls, not just the one they're currently inside
- fixed fires, oxygen and water level not being taken into account in path cost calculations
- particle collision fix
2017-05-20 17:11:45 +03:00
Regalis 53bfbb3ea7 Fixed stack overflow when attempting to cancel a file transfer client-side 2017-05-20 15:35:55 +03:00
Regalis e3b595b9e0 Cleanup (removing unused variables & other redundancies, rethrowing exceptions instead of wrapping them in a new exception instance) 2017-05-20 15:35:13 +03:00
Regalis 89bd2b1a98 Improved particle collision logic:
- checking if any of the extents of the particle collide with the edges of the hull, instead of just checking if a position in the direction the particle is heading is outside the hull
- separate fields for friction and restitution
2017-05-18 20:03:58 +03:00
Regalis 2aa0f3ac15 Updated changelog (WIP) 2017-05-18 18:30:07 +03:00
Regalis 1b17372f92 Clients update item rects when a position update is received from the server 2017-05-17 20:44:53 +03:00
Regalis 7f96873256 Fixed mission-related messages being logged as errors, connection errors when fetching server lists are shown as message boxes instead of logging into the debug console 2017-05-17 19:27:41 +03:00
Regalis 9c1a76707f conflict fix 2017-05-17 18:56:45 +03:00
Regalis 095054182e Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Source/GUI/GUITextBlock.cs
	Subsurface/Source/GameMain.cs
	Subsurface/Source/Items/Components/Machines/Radar.cs
	Subsurface/Source/Networking/GameClient.cs
2017-05-17 18:51:22 +03:00
Regalis 0aca8dbf9d Humanoid animations work better on uneven floors (e.g. "fake stairs" made from wall pieces).
If the floor in front of the character is higher than where the character is standing, the character slows down and lifts its feet more. The position of the feet is also clamped below the waist, preventing the character from doing a backwards somersault when running over "fake stairs".
2017-05-14 20:15:31 +03:00
Regalis 1d3da3e70b Fixed clients being unable to toggle doors when they've predicted the state of the door and waiting for a confirmation from the server, reading a position update for an item with no body doesn't throw an exception 2017-05-10 21:19:10 +03:00
Regalis ad90cf804d - respawn, fabricator & deconstructor logging
- fixed listbox child hiding 4 real now
- dockingport logging fix (name of the sub instead of submarine.ToString)
2017-05-09 21:39:39 +03:00
Regalis 63b5ad1821 Friendlier serverlog message type labels 2017-05-09 21:07:29 +03:00
Regalis d0065cdd97 Having a hidden child in a listbox doesn't prevent successive children from being rendered, server log can be filtered by message type 2017-05-09 21:02:42 +03:00
Regalis c2d918073e Serverlog message types (which atm only determine the color of the message) 2017-05-09 19:56:12 +03:00
Regalis bee570e2e3 - the server log view is not cleared when saving the log (but old messages are removed when going over the max number of lines)
- log can be viewed in the server lobby, not just in-game
- logging pump, reactor & battery state usage
- GUIListBox.MouseRect doesn't return an empty rect anymore -> listboxes without selectable content can be scrolled with the mouse wheel
2017-05-08 21:30:54 +03:00
Regalis 7dad837733 Server limits chatmessage length and the number of chatmessages written in one packet 2017-05-08 19:06:05 +03:00
Regalis dd1682d965 Ancient weapons can be used as railgun shells 2017-05-08 18:43:24 +03:00
Regalis fec8974dd3 "Are you sure" prompt when trying to delete subs in the editor 2017-05-08 18:40:58 +03:00
Regalis 152a92e600 Server removes events if no clients are playing. Otherwise the server would keep creating new events indefinitely and midround-joining clients would instantly get kicked out because they're missing very old events.
+ fixed server not sending midroung sync messages if the list of new (non-unique) events is empty
2017-05-05 00:14:30 +03:00
Regalis e0f7f429e5 New sonar overlay image 2017-05-04 20:57:06 +03:00
Regalis 464078e565 Clients can't send wire positions to the server 2017-05-03 21:28:09 +03:00
Regalis 00bbd1d607 Sonar tweaking 2017-05-03 21:09:05 +03:00
Regalis 043c2fbc5e Moved TotalElapsedTime from GameMain to the Timing class 2017-05-03 19:15:43 +03:00
Regalis ba49f59204 Some cleanup (mostly removing redundancies from the GameMain class) 2017-05-03 00:27:13 +03:00
Regalis 39ddd63e0c Removed references to GameMain from GUIListBox & GUITextBlock (-> launcher works again) 2017-05-02 23:39:09 +03:00
Regalis ab4e8cee83 The server ignores lastRecvIDs in SYNC_IDS messages if the IDs aren't valid (earlier than the client's previous ID, or more recent than the newest ID).
Should be safer than clamping to the valid range - an incorrectly read packet or a message sent just before switching from midround syncing to normal won't cause the IDs to jump to the newest ID and prevent clients from receiving further msgs/events.
2017-05-02 22:46:37 +03:00
Regalis d1c633385b Unique event IDs start from 1 (otherwise the server/clients will think event #0 has been already received) 2017-05-02 22:21:58 +03:00