(mostly) assert on allocation failures
Signed-off-by: Drew DeVault <sir@cmpwn.com>
game/net: ignore invalid block change packets
Implement block placement
game: basic block mining implementation
engine: add mining time calculation
block database: add tool effectiveness
Input into the mining time calculation.
Expand item database
Adds:
- Food details
- Material type
- Tool type
- Armor type
Render blocks in inventory slots
engine: fix typo in physics engine tick rate
This code path is not being used yet, so it was harmless.
Add custom AABB for slabs
Draw outline around the voxel the player is looking at
game: identify block the player is looking at
Identify its position, block ID, and face (top, north, etc).
engine: add ray-aabb intersection helpers
engine: add PLAYER_REACH constant
game/input: hotbar selection via scroll wheel
Update held item with number keys
Sends the update to the server and renders the appropriate selection in
the hotbar.
game/hud: render item sprites in hotbar
Decode inventory items from network