branchsbox-corewars/maincancel
853 Commits over 516 Days - 0.07cph!
Move LightMap to ChunkLightMap and do one texture per chunk (comment out sunlight propagation code as it's broken)
Merge branch 'main' of sbox-corewars
Merge in index component code
Swap texture format which likes to be decoded better
Swap texture format which likes to be decoded better
compile
Added basic duck controller (swapped sprint bind)
Add sunlight & torch light brightness
Initial shader lighting work
Temp destroyed particle
Addition blocks
Rename method to make more sense
Flatten 3d array for easy index lookup
Vastly improved block system to dynamically assign block ids and read texture ids by name from the atlas. When saving maps in the future, I'll indicate which block ids in the data represent which names from the atlas.
Added new textures
Added new block types
Let player spawn new blocks
Refactor and minor optimizations
Potentially working PoC for using volumentric texture to store light data for voxels (need ogniK to rescue me on the shader side)
Revert affected blocks (just add them all fuck it...)
Some additional tweaks / hacky(?) method to get light level from block opposite face
Making a backup of light progress
Initial torchlight code (no sun propagation yet) but still needs some additional work for face brightness to be affected by opposite block
Trying some performance improvements
Fixed an error with stripped out light propagation code (need to rework it)
Split up chunk slice loading into a task to avoid Source hang dialog when loading the map. Added a simple placeholder loading screen to show how many chunks are loaded.
Network GreedyMeshing boolean when receiving map data
Give every block a random brightness (1-15) and hand over to ogniK for shader magic
Add Map.GreedyMeshing config and disable greedy meshing if it is false
Add spritesheet json (potentially use this to determine texture id)
Added test GlassBlock type. Added IsTranslucent property to BlockType. Some refactoring.
Fixed bakscratch-ism (those vars aren't net predicted)
Removed weird skipping from jumping and made movement feel better.
Replace Chunks being entities and remove ChunkData class and consolidate the two. Received chunk data from server replaces local (pre-init) chunks.
Rewrite of how maps are handled instead of using [Net] give finer control + destroy any previous map
Merge branch 'main' of sbox-corewars
Temporary fix for what seems to be duplication when an RPC is received before an entity is transmitted somehow (unconfirmed)
Tweaked voxel material settings / roughness + metalness
Fix error with invalid block id
Removed .block asset and just use classes because it's easier and allows custom logic for blocks
Merge branch 'main' of sbox-corewars
Improved shadow fade distance
Configure roughness on voxel.vmat so everything isn't shiny
Removed post processing from the bootstrap map for now
Pushed some placeholder textures for blocks 0-3 and updated voxel.vmat to use spritesheet.png atlas. Added spritesheet.tps file for ease.
Re-compile shader and add env_cubemap and light probe to boostrap map
Added basic BlockAsset class with just FriendlyName and TextureId for now
Added stub ChunkViewer component (will eventually handle loading of chunks)
Create ChunkViewer component and LoadChunk method in Player (for now, until we have component RPCs)
Send all map chunks to players on join (~32kb per chunk). Our maps will be small enough that we don't care.
Updated voxel code to latest from layla
Fixed jumping forever
Fixed set block in direction being called client-side
Added Chunk.VoxelSize (def: 48)
Basic movement controller, clothing and ragdoll
Fall and land sounds
Add in Layla's voxel stuff from Sandblox as a base
Automatically respawn joining players during lobby state and add test methods from Sandblox for block setting
Fixed error with Chunk.cs - trying to add Mesh with empty VB