8,451 Commits over 2,131 Days - 0.17cph!
Fixed motor ending up in the wrong scene, which was also meaning NPC damage didn't work
General stuff, fixing bugs, mostly ordering issues.
Improved entity observer stuff
Smooth movement for proxy characters - actually better than the old system.
Clean up errors when in #CLIENT only
Working on NPCs and bugs.
Fixed NPC type ScriptableObject, which wasn't updating the asset properly from the custom editor.
Fixed itemcontainerentity
Added support to filter out raycasts results from the wrong domain.
Working on NPCManager and NPCs
Note about testing the mission watching methods if/when missions return
- Changed mission global observer system to one that only affects the mission runners
- NPC manager stuff
Change load order so city stuff that's spawning can use the managers.
Spawn points work again + some other work.
Working on per-level scripting stuff. Looks like lots of changes but a lot of it is renaming.
Fixed gun issues stemming from itemcontainer deserialization
Fixed problems with helditem spawning
ItemManager and everything that uses it converted to the new ServerClientSingleton. HeldItems not showing up anymore, need to work out why.
You can use ItemManagerClient or ItemManagerServer calls if you KNOW method calls will be be server or client origin specifically. If you're not sure which it'll be called from, methods in the base class let you pass an isServer bool.
Reducing the server/client split singleton types to one for simplicity. This should be enough for now at least. In summary:
- The old singleton types are fine if you're only going to have one even in listen server mode
- If you're going to have one on client and another of the same type on server, use ServerClientSingleton
New singleton classes that support two copies of the same singleton on listen servers, one for server and one for client.
Collision masking for twin entities.
Fixed some deserialization errors.
Fixing up errors in C/S only modes. Unfortunately means a few #if defines are back in for now.
Revert my serialization changes to health and belt as they seemed to break things. Not sure why yet.
More stuff. Things a bit broken right now
Character state send (see Character.Server changes). Still need to update it to not use the ProtoBuf-based CharacterState object.
Moe conversion. Belt seems to be broken in particular. I can send 236 bytes out and only get 2 bytes back. Not serializing to ItemContainer sub-entity maybe?
Connection token provider.