157 Commits over 424 Days - 0.02cph!
Update to lib instead of submodule for Core Wars
Temp update texture immediately for block damage
Remove unused CoreWars using statement.
Removed a using statement that throws errors when using sbox-voxels as a submodule outside of the CoreWars project.
Merge pull request #6 from Ephememory/patch-1
Add "solid" tag to the generated collision shape for chunks
Stash test
Completely strip out voxel lighting (torch light, sunlight propagation) it's more trouble than it's worth
Merge pull request #2 from Facepunch/tests
Tests
Completely strip out voxel lighting (torch light, sunlight propagation) it's more trouble than it's worth
Add EnableVoxelLighting to VoxelWorld
This is probably the best it will get for now...
Remove CW specific namespace
Try just performing a full lighting update on each full update
Fixed an issue with sunlight propagation that causes sunlight to propagate incorrectly when loading maps from bytes. Infinite worlds now must have a max Z size, but can have an infinite X and Y size.
Added ModelBlockEntity.OnChunkReady
Added support for server-side unloading of chunks (data and state not yet saved / restored from disk)
Load chunks in based on x,y distance only
IsDestroyed check. Allow 32 initial chunk updates per second.
Undo all of that - it just isn't fast enough. AddMeshShape/UpdateMesh is too slow
Add vertex and collision updates to a concurrent queue after building them in a thread. Dequeue on the main thread and build the mesh and collision.
Various optimizations and attempts at improved thread safety
Use concurrent bag for thread safety when adding potential spawnpoints during perlin chunk generation
Add Util.Color to Facepunch.Voxels
Just only support the Voxel Atlas generator for now because we can't upload *.atlas files to s&works
Added IBlockAtlasProvider. Added BlockAtlas. BlockAtlasTexturePacker. Support Voxel Atlas tool.
Only send 64 state updates per chunk per tick
Move block updates per chunk and only send to clients who have the chunk loaded
Added ChunkLightMap.GetLightAsVector. Add VoxelWorld.Register/UnregisterVoxelModel (this will update VoxelLight scene object attribute on chunk changes.)
Add Chunk.OnFullUpdate event and ChunkLightMap.OnTextureUpdated.
Ensure that BlockPosition is networked for server-side block entities
Test for updating block model entities ith torch light / sunlight + hue shift
Set RenderColor to TintColor on ModelBlockEntity
Add LightMap.SetOpaque and LightMap.IsOpaque
Default tint color to white
Add extra component for tint + change how blocks are initialized
Support a min/max hue shift between 0 and 64 (64 is 90 degree hue shift)
Added ExtraData support to VertexBlock. Added Min/MaxHueShift on BlockType.