4,794 Commits over 1,371 Days - 0.15cph!
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)
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
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
☠️ Simple game skeleton with States, Team and team-based spawnpoint entity for Hammer
.addon and .gitignore and .gitattributes
Audio Device Selector (#151)
* Added audio device selector to then settings menu
Remove old FGD, update .addon
Added FileSystem.Mounted as the first param of Texture.Load calls
Update all Texture.Load calls to pass FileSystem.Mounted as the first param
Various fixes to RTS to get it to a runnable state
Change menu to show Output as the device label
Tidied up the code and revert to default audio device if unavailable
Added temporary check hardcoded English translation for default audio device
The audio device will now properly change when selected and be remembered on restart. Need to investigate why device id is returning its friendly name, using workaround until then to test it works
Add a way to get the active audio device name and set the current audio device by id
Update audio settings menu code test
Added Sound.GetAudioDevices() IEnumerable<AudioDevice> type and started hooking up audio settings UI / progress
Accommodate FOV when calculating camera position / angles for model thumbnails (#147)
* Perfect fit for provided FOV
Perfect fit for provided FOV
Crude but working method for accommodating FOV
Removed redundant fields on data
DirectDamage -> InstantEffect
Add hud background to egg group hud (for now)
Damage balances
Updated with various different spawn delay values
Fix gate hud and show right hand again
Tidy up egg selection / hover
Improve formation movement to avoid jitter