13,234 Commits over 2,830 Days - 0.19cph!
Fixed the missing checkpoint arrow shader
Finished conversion of PCUserStats. Stats now serialize to the client.
Revert my PlayerTick change since it won't work with unreliable sends
Reverted my changes to PlayerTick, as it won't actually work if unreliable messages are lost.
Added simple SerializeTemplate example class
Moving and renaming classes files only, no actual changes here. Give IPlayerComponents a "PC" prefix
UserStats SerializableStruct
Added helper methods for calling some event method on all IPlayerComponents of the appropriate type
New ICharacterEvents that can be optionally called on IPlayerComponents. Also shuffled some things around.
Move scripts to different folder
WorldEntityUser events now work on the client as well + fixed a couple of minor bugs.
WorldEntityUser events now work on the client as well
Fixes the "skip start requirements" spectate visuals bug
Fixed errors on 'kill' command
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.
- 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?
Better ignore settings. Ignore all csproj and sln EXCEPT inside the Plugins folder
And now add them to the ignore list so they don't come back
Remove all those new csproj files.
Fix comments + update entity cache
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
Removing a bunch of unused project assets
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
Got scene Points Of Interest working again. Added WiseguysLevel to my test map.
Fix round start ordering issue.
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.