13,224 Commits over 2,830 Days - 0.19cph!
Fix cleanup not happening when the client disconnects
Revert more changes that were just for testing
Revert changes that were just for testing
Fix wreckage spawner not calling the right type of destroy
Special fix for the following bug:
[SERVER]
- Character spawns
- Character queues spawn message.Has full HP
- Character gets killed immediately
- Character queues update message for the 0HP change
- Spawn message goes out. Has 0 HP now, so message sends with 0HP
[CLIENT}
- Client gets spawn message, starts initializing
- Initializes health.HP is already zero. Call death event immediately!
- But health script is only half-way through init. Missing references, things break.
With this fix, the pre-init spawn message with 0hp is clamped to 1, and the character still dies right after init when they get the follow-up 0hp update message.
Need more bots to make bugs show up faster
Fix destroy error showing on the client when there was no real problem
Tidier destroy/cleanup code. Hopefully makes more sense
Rearranging. Don't have to wait until next frame to call destroy code on client.
Better. Still breaks occasionally
Client now gets the destroy messages. Still got issues
Working on cleaning things up. Server can run without errors now. Clients still not getting the despawn/destroy messages they should be though.
Get NPCs working + testmap_smaller minor edit
Fixed init order issues with NetworkUser/WiseGuysUser and INetworkUserComponents
Cleaned up all errors in the merge. A lot of casting NetworkUser to WiseguysUser that makes things a bit messy - would be nice if we can get rid of WiseguysUser entirely in the IPlayer refactor. Even if not, we can clean it up a bit more.
Use spectate bots mode to test more easily
Trying to only call OnPostDeserialize on NetworkEntityBehaviours when the mask matches them. Seems to work OK in basic testing.
Merge team deathmatch changes
OK, ReadyPlayerSelections DOES need to be a ulong UserID. NetworkUsers don't always arrive on the client before the game mode deserialize. Easier to store a userID than to find the actual user object immediately and try to guarantee the order.
Just refactoring into some better code
Fix game modes serializing way more than necessary due to some old code that was made obsolete
Update serialization, cleanup, other stuff
Real-time updating of the character selection screen player counts, plus trying to clean stuff up (and mostly failing, might try some more)
Have game modes sync ReadyPlayerSelections to the client. Will let us update player counts on the character select screen on-the-fly
Clear character selection on disconnect
Fix a bug with character selection on reconnect
Auto-balancing teams on join
Merge TeamDeathmatch work into Main
Item pickups in Team Deathmatch
Adjust bottle and pipe damage and hit force, since they were weaker than basic fists
Remove ItemContainerSpawn scripts from bins. If game modes want these, they can add them, but they shouldn't automatically be in every mode.
Change loot spawners a bit so they can spawn anything, not just weapons
Change sign mats setting method, stop it overriding the saved materials
shop sign mats fix + mode edit
- Fix stack overflow on UINavigationController when dying while scoreboard is showing
- Remove unnecessary debug prints I added earlier
Fixed bots breaking the scoreboard