103 Commits by 2 Authors. 270 files added, 325 deleted, 127 moved.
16 October 2018
Fixed NetworkUser/WiseguysUser serialization, some bugs etc. Can actually get into the game now. Threw out GameData.NetworkUser entirely as it was already 90% replaced by the new basic Writes in NetworkUser base and was just sending redundant data. Only CustomAllies remain and I think I'll make them into an IPlayerComponent instead./IPlayer
- Removed PersistentPerson and PersistentPersonPlayer. - PlayableCharacter now references WiseguysUser instead of PersistentPerson. - The new WorldEntityUser handles the character/spectator spawn & reference stuff that PersistentPerson used to handle. - Removed BuildingUnitOccupiers as we no longer use the building takeover stuff, and it should be made game-mode-specific now if we need it back. - Stuck GangMember in WiseguysUser for now to make things compile, but probably want to replace it entirely with an IPlayerComponent gang member equivalent?/IPlayer
15 October 2018
Better ignore settings. Ignore all csproj and sln EXCEPT inside the Plugins folder/IPlayer
Merge my minor fix/IPlayer
And now add them to the ignore list so they don't come back/IPlayer
Remove all those new csproj files./IPlayer
Fix comments + update entity cache
Basic stuff for adding components to wiseguysuser/IPlayer
12 October 2018
Forgot to remove a temp line
Switched out my custom highlight code for Garry's one. Got rid of more unused stuff.
Get the tracer material back
Fix missing icon
Remove BETA FX as well
Remove unused Alpha FX
Removing a bunch of unused project assets
11 October 2018
Just line endings
Show something even when there are no winners at end of round
Get network_entity_cache RPC checks working again by checking all assemblies. This is a bit of a hack fix though: Apparently there are over 150 assemblies in our project... would be much faster if we can just get the user script ones
As far as I can tell, comparison with 'null' is coming out with the same results as comparison with '(object)null'. Tentatively changing the three lines in NetworkEntity.RPC, to get rid of those last three warnings.
Fix issue with initial join player spawn order
Simplify the scene name thing
Automatically fill in scene name in NetworkLevel
Read only attributes support scripts
Revert accidental 99 Bots mode change
SpectateCam updated too
Got scene Points Of Interest working again. Added WiseguysLevel to my test map.
10 October 2018
Fix round start ordering issue.
Trigger UI stuff
Better solution for the same thing
Send a full character state when group or group subscribers change. Fixes state not getting fully sent to new connections
State diff was getting processed twice unnecessarily
Character kept nagging about "Facepunch.Bass.Serialization.Serializer<GameData.CharacterState>' is obsolete: `Don't bother using this any more'", so I've removed it and converted the state sends to use the newer system.
Cleanup of warnings etc
Rename team balancing. Make it clearer that is does NOT rebalance automatically in all cases, e.g. When imbalance happens due to player disconnections.
Added server-side verification for client character selections
9 October 2018
Bots now respect auto-balancing team selections
Team deathmatch doesn't need the fancy character selection anymore
Added automatic team balancing option on the character selection screen. Will need to also validate this server-side
Fixed false cleanup errors when stopping the server in editor.
ASMDef some more stuff
Fixed levels not loading for client in editor.
8 October 2018
Refactored belt input a bit, added mouse wheel support - can now scroll mouse wheel to select belt slots.
Minor ally code changes
Fixed spectating not checking allies correctly. Fixed up ally checks in general
Fix NRE on NetworkUser disconnect
Added level components in all scenes
testmap_small has a networklevel
Deffo the last fix
Hopefully final fucking fix
Moving stuff into an editor def
Fixed build errors
Fixed a couple of post - merge issues/ASM
5 October 2018
window shader fun/Sandbox/2018.3
Fixed some issues. Everything actually seems pretty good with 2018/Sandbox/2018.3
Merge the destroy order fix into Main. Everything seems to be working OK. I did find remaining a nasty bug where things don't get cleaned up properly when the player quits a game, but it turns out that's actually been a bug for a while. I'll fix that next.
Fix cleanup not happening when the client disconnects/DestroyOrderTesting
Revert more changes that were just for testing/DestroyOrderTesting
Revert changes that were just for testing/DestroyOrderTesting
Fix wreckage spawner not calling the right type of destroy/DestroyOrderTesting
Line endings only/DestroyOrderTesting
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./DestroyOrderTesting
4 October 2018
Need more bots to make bugs show up faster/DestroyOrderTesting
Fix destroy error showing on the client when there was no real problem/DestroyOrderTesting
Tidier destroy/cleanup code. Hopefully makes more sense/DestroyOrderTesting
Rearranging. Don't have to wait until next frame to call destroy code on client./DestroyOrderTesting
Update RPC method list/DestroyOrderTesting
Better. Still breaks occasionally/DestroyOrderTesting
Client now gets the destroy messages. Still got issues/DestroyOrderTesting
Working on cleaning things up. Server can run without errors now. Clients still not getting the despawn/destroy messages they should be though./DestroyOrderTesting
3 October 2018
Fix for the delete queue error. Needs testing, needs tidying up.../DestroyOrderTesting
Get NPCs working + testmap_smaller minor edit/ASM
Fixed init order issues with NetworkUser/WiseGuysUser and INetworkUserComponents/ASM
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./ASM
2 October 2018
Use spectate bots mode to test more easily/DestroyOrderTesting
Setup for testing/DestroyOrderTesting
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./TeamDeathmatch
Just refactoring into some better code/TeamDeathmatch
Fix game modes serializing way more than necessary due to some old code that was made obsolete/TeamDeathmatch
Fixed the last few issues./ASM
More cleanup and fixes/ASM
Moved all of the per level content stuff/ASM
Fixed issue where destory queue is not being processed because of an early out.
1 October 2018
Revert gang trigger/TeamDeathmatch
Update serialization, cleanup, other stuff/TeamDeathmatch
Everything's converted to GetManager<T>/ASM
Everything moved, just need to fix errors./ASM
Create asm def for a lot more stuff, way too big of a checkin.../ASM