4,794 Commits over 1,371 Days - 0.15cph!
Pain Day 2 (except ZBufferMode / comment out for now)
Added initial version of map saving and loading for the editor.
Only create 3D textures client-side. Added Chunk.HasOnlyAirBlocks. Don't network all block data for chunks that are all air.
Added max size networking
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
Added Map.SetVoxelMaterial
Added example shader to 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.
Update to use Entity.FindInBox. Update to use SceneObject.Attributes. Update to use Global.PhysicsWorld.WorldBody (doesn't exist yet.)
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
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
Only send chunks that have completed their first full update
Update TorchLight / SunLight in the full update thread and use ConcurrentQueue