Bundle up entity transforms into a single message every tick instead of a message per entity
Move entity movement replication to BaseWorldEntity, BaseEntity is non visual so shouldn't need this. Remove scale from movement replication as scale changes happen less frequently.
Add entity movement update rate, defaults to 60, included in movement packet for interp
Use bitflags to pack entity movement packet with components of transform that changed from previous packet
Replicate entity relative transform if it has a parent
Save entity relative transform as properties so they can be used when first replicating the entity to client
Save entity parent netid directly instead of using properties (this is because public attachment functions are authority only)
Add SourceExport addon. Get SourceImport addon working again.
Fix NRE in ModelJsonConverter when model path is null or empty
Fix up shadows on dynamic lights on source maps
Skip entity spawn and destroy messages if there's no other client connected except for the host, saves an unnecessary entity serialize
Add incorrect protocol disconnect reason code
Add auth fail discconnect reason code
Only send entity parent netid if it changes, use attach flag if it changes to non zero, use detach flag otherwise
Send entity position and rotation if parent changes, just to make sure everything is synced
Don't write any movement data to packet if entity has no movement flags for the movement tick
SourceImport fixes to allow bsp conversion to our own format
Reflection based lump reader for new map format
Write map data to lumps
Write lumps to map file
Some Arcade gamemode fixups
Basic loader for new map format
Add lightmaps to map format
Save displacements as mesh in new map format
Add uint color to map vertex structure (displacement needs alpha to blend)
Save lightmap data and try loading it from new format
Create shadowmap from lightmap
Save the unencoded lightmap data, slightly longer to load but less data to save and keeps the format unrelated to unreal
Save ambient light samples to map format
Save bounds in map model structure. Load light volume from ambient light samples.
Gather vertices for convex collisions