branchsbox-corewars/maincancel
687 Commits over 516 Days - 0.06cph!
Removed planes from Core Wars map. Added EditorBounds. Added EditorChunkGenerator. Added EditorBlockGhost. Show a block ghost where the player is aiming. Prevent collisions in FlyController if is in editor mode.
SetVoxelMaterial + update sbox-voxels
Add submodule support for sbox-voxels
Fixed being stuck when flying out of map bounds. Fixed chunk unload render distance.
Re-organized blocks into folders and use smart folders for TPS files
Added ChunkViewer.IsCurrentChunkReady and use that to determine if a player can move.
Prioritize chunks to full update if they have a player in them
Some refactoring. Break out of any UpdateFaceVertices loops if the current game is no longer valid.
Added BlockType.ShouldCullFace. Water blocks cull faces if they have an adjacent water block.
Added BlockType.IsLiquid. Added swimming support.
Automatically destroy / create weapons when a weapon item is given or taken from the hotbar inventory
Increase the projectile life time for the test explosive weapon
Add custom FlyController that uses MoveHelper. Have suitable spawn positions use the center of the voxel.
Copied over some placeholder models and effects from Hover. Copied over weapon base from Hover. Implemented AmmoItem type. Implemented WeaponItem type.
Ensure that at least one spawnpoint will be available. Initialize startup chunks on map load.
Fixed lightmap with tall chunks. Add concurrent queue for full initial updates and then populate an internal list to the task. Ensure full update not done. Fixed a stupid error that causes chunks to initial update hundreds of times.
Added Map.SetChunkSize. Can now have custom sized chunks. Removed all static references to Chunk.VoxelSize and Chunk.ChunkSize. Various optimizations. Added Map.SetChunkRenderDistance and Map.SetChunkUnloadDistance. Added Map.SetMinimumLoadedChunks. Now update light map on both client and server, but only perform the initial update on server and send it to clients with a chunk's initial data.
Try having resourcepaths like this
Just set it to /texture/ maybe?
Build the collision shape on the client again
Added Map.BuildCollisionInThread and set to true
Started work on dynamic chunk loading/unloading
Implemented ChunkViewer
Update TorchLight / SunLight in the full update thread and use ConcurrentQueue
Only send chunks that have completed their first full update
Added ChunkGenerator class. Added PerlinChunkGenerator class. Added Map.IsInfinite and Map.SetMaxSize.
Implemented SetMaxSize properly. Set it to 256, 256, 128 as it was before to test
Merge pull request #4 from Facepunch/stream
Stream
Don't try to generate a tree if it'd leak into another chunk
Added biome support. Added proper chunk generation and seed support.
Suitable spawn positions will be the center of the voxel
Package block updates into a single compressed update
Added F to blow a hole in something for testing. Use GameTask.FromResult to return vertex data from StartUpdateVerticesTask. Don't keep a list of vertices around that is used cross-threads.
Added max iterations to Map.Trace. Only remove the old shape from the world body after the first one is added. Because this update is threaded it can cause a slight collision issue until the new shape is resolved otherwise.
Comment out GetAvailableThreads as it isn't whitelisted for public
Add a delay to player block placement / removal
Various updates to improve threaded tasks
Return Task instead of void
Don't perform a mesh build if any adjacent neighbour chunks are still updating
Ensure that the full update task is not running before rebuilding mesh