725 Commits over 516 Days - 0.06cph!
Actually use the water texture
Set WaterBlock.UseTransparency to true. Added voxel_translucent.vmat. Update sbox-voxels submodule.
EditorToolSelector -> SimpleRadialMenu
Added Save World and Load World options to the radial menu (only Save works right now)
Use FinalLayoutChildren and remove backdrop blur for now (I think it broke)
Scale the radial menu items nicely as the virtual mouse approaches them
Added stubs for AreaBlockTool and DuplicateBlocksTool and EditBlockDataTool
Added icon for place block tool and other tools
Added EditorPlayer.ChangeToolTo
Implemented first version of the radial menu for editor tools
Clear Attack1 and Attack2 from input if tab is being held down
Added UpdateHotbarSlotKeys
Update them to make sense...
Add EditorToolLibraryAttribute
Start working on Editor Tool radial menu
Spawn editor players in the very center of the world bounds
Use Input.Down( InputButton.Duck ) and Input.Pressed( InputButton.Back ) as a hotkey for saving the editor map
Basic Editor Hud / Editor Block Hotbar
Editor Hotbar Classes
Place Block Tool / Tool System
Fixed load error due to type name wrong
Fix loading client data for hotbar blocks if not set
Fixed loading of cw_hotbarblocks data (can't deserialize to byte[])
Fix errors when EditorHotbar is ticking before the voxel world has loaded
LoadingScreen from RootPanel to Panel
Add [Net] IsEditorMode to game and use that client-side
Fill editor hotbar blocks with random blocks if they aren't set
Fix icon for editor block slots
Add z-index to LoadingScreen
Update sbox-voxels submodule
Updated vpcf_c and update sbox-voxels submodule
Added initial version of map saving and loading for the editor.
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.
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