Removed the 80 character column rule. Becoming impractical.

This commit is contained in:
igor
2026-04-17 03:19:13 -07:00
parent a8a3b57f8a
commit 9bc7fa3b52
4 changed files with 163 additions and 464 deletions
+21 -72
View File
@@ -1,9 +1,6 @@
#include "handmade_tile.h"
static tile_chunk *GetTileChunk(tile_map *TileMap,
U32 TileChunkX,
U32 TileChunkY,
U32 TileChunkZ)
static tile_chunk *GetTileChunk(tile_map *TileMap, U32 TileChunkX, U32 TileChunkY, U32 TileChunkZ)
{
tile_chunk *TileChunk = NULL;
@@ -11,20 +8,13 @@ static tile_chunk *GetTileChunk(tile_map *TileMap,
(TileChunkY >= 0) && (TileChunkY < TileMap->TileChunkCountY) &&
(TileChunkZ >= 0) && (TileChunkZ < TileMap->TileChunkCountZ))
{
TileChunk =
&TileMap->TileChunks[
(TileChunkZ*TileMap->TileChunkCountY*TileMap->TileChunkCountX) +
(TileChunkY*TileMap->TileChunkCountX) +
TileChunkX];
TileChunk = &TileMap->TileChunks[ (TileChunkZ*TileMap->TileChunkCountY*TileMap->TileChunkCountX) + (TileChunkY*TileMap->TileChunkCountX) + TileChunkX];
}
return TileChunk;
}
static tile_chunk_position GetChunkPositionFor(tile_map *TileMap,
U32 AbsTileX,
U32 AbsTileY,
U32 AbsTileZ)
static tile_chunk_position GetChunkPositionFor(tile_map *TileMap, U32 AbsTileX, U32 AbsTileY, U32 AbsTileZ)
{
tile_chunk_position Result;
@@ -37,8 +27,7 @@ static tile_chunk_position GetChunkPositionFor(tile_map *TileMap,
return Result;
}
static U32 GetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk,
U32 TileX, U32 TileY)
static U32 GetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk, U32 TileX, U32 TileY)
{
ASSERT(TileChunk);
ASSERT(TileX < TileMap->ChunkDim);
@@ -48,49 +37,32 @@ static U32 GetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk,
return TileChunkValue;
}
static U32 GetTileChunkValue(tile_map *TileMap, tile_chunk *TileChunk,
U32 TestTileX, U32 TestTileY)
static U32 GetTileChunkValue(tile_map *TileMap, tile_chunk *TileChunk, U32 TestTileX, U32 TestTileY)
{
U32 TileChunkValue = 0;
if(TileChunk && TileChunk->Tiles) {
TileChunkValue = GetTileValueUnchecked(TileMap,
TileChunk,
TestTileX,
TestTileY);
TileChunkValue = GetTileValueUnchecked(TileMap, TileChunk, TestTileX, TestTileY);
}
return TileChunkValue;
}
static U32 GetTileValue(tile_map *TileMap,
U32 AbsTileX, U32 AbsTileY, U32 AbsTileZ)
static U32 GetTileValue(tile_map *TileMap, U32 AbsTileX, U32 AbsTileY, U32 AbsTileZ)
{
tile_chunk_position ChunkPos = GetChunkPositionFor(TileMap,
AbsTileX,
AbsTileY,
AbsTileZ);
tile_chunk *TileChunk = GetTileChunk(TileMap,
ChunkPos.TileChunkX,
ChunkPos.TileChunkY,
ChunkPos.TileChunkZ);
U32 TileChunkValue = GetTileChunkValue(TileMap, TileChunk,
ChunkPos.RelTileX,
ChunkPos.RelTileY);
tile_chunk_position ChunkPos = GetChunkPositionFor(TileMap, AbsTileX, AbsTileY, AbsTileZ);
tile_chunk *TileChunk = GetTileChunk(TileMap, ChunkPos.TileChunkX, ChunkPos.TileChunkY, ChunkPos.TileChunkZ);
U32 TileChunkValue = GetTileChunkValue(TileMap, TileChunk, ChunkPos.RelTileX, ChunkPos.RelTileY);
return TileChunkValue;
}
static U32 GetTileValueByPos(tile_map *TileMap, tile_map_position Pos)
{
U32 TileChunkValue = GetTileValue(TileMap,
Pos.AbsTileX,
Pos.AbsTileY,
Pos.AbsTileZ);
U32 TileChunkValue = GetTileValue(TileMap, Pos.AbsTileX, Pos.AbsTileY, Pos.AbsTileZ);
return TileChunkValue;
}
static void SetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk,
U32 TileX, U32 TileY, U32 TileValue)
static void SetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk, U32 TileX, U32 TileY, U32 TileValue)
{
ASSERT(TileChunk);
ASSERT(TileX < TileMap->ChunkDim);
@@ -99,41 +71,25 @@ static void SetTileValueUnchecked(tile_map *TileMap, tile_chunk *TileChunk,
TileChunk->Tiles[TileY * TileMap->ChunkDim + TileX] = TileValue;
}
static void SetTileChunkValue(tile_map *TileMap, tile_chunk *TileChunk,
U32 TestTileX, U32 TestTileY,
U32 TileValue)
static void SetTileChunkValue(tile_map *TileMap, tile_chunk *TileChunk, U32 TestTileX, U32 TestTileY, U32 TileValue)
{
if(TileChunk && TileChunk->Tiles) {
SetTileValueUnchecked(TileMap,
TileChunk,
TestTileX, TestTileY,
TileValue);
SetTileValueUnchecked(TileMap, TileChunk, TestTileX, TestTileY, TileValue);
}
}
static B32 IsTileMapPointEmpty(tile_map *TileMap, tile_map_position Pos)
{
U32 TileChunkValue = GetTileValueByPos(TileMap, Pos);
B32 Empty = ((TileChunkValue == 1) ||
(TileChunkValue == 3) ||
(TileChunkValue == 4));
B32 Empty = ((TileChunkValue == 1) || (TileChunkValue == 3) || (TileChunkValue == 4));
return Empty;
}
static void SetTileValue(memory_arena *Arena,
tile_map *TileMap,
U32 AbsTileX, U32 AbsTileY, U32 AbsTileZ,
U32 TileValue)
static void SetTileValue(memory_arena *Arena, tile_map *TileMap, U32 AbsTileX, U32 AbsTileY, U32 AbsTileZ, U32 TileValue)
{
tile_chunk_position ChunkPos = GetChunkPositionFor(TileMap,
AbsTileX,
AbsTileY,
AbsTileZ);
tile_chunk *TileChunk = GetTileChunk(TileMap,
ChunkPos.TileChunkX,
ChunkPos.TileChunkY,
ChunkPos.TileChunkZ);
tile_chunk_position ChunkPos = GetChunkPositionFor(TileMap, AbsTileX, AbsTileY, AbsTileZ);
tile_chunk *TileChunk = GetTileChunk(TileMap, ChunkPos.TileChunkX, ChunkPos.TileChunkY, ChunkPos.TileChunkZ);
ASSERT(TileChunk);
if(!TileChunk->Tiles) {
@@ -143,13 +99,9 @@ static void SetTileValue(memory_arena *Arena,
for(U32 TileIndex = 0; TileIndex < TileCount; TileIndex++) {
TileChunk->Tiles[TileIndex] = 1;
}
}
SetTileChunkValue(TileMap, TileChunk,
ChunkPos.RelTileX,
ChunkPos.RelTileY,
TileValue);
SetTileChunkValue(TileMap, TileChunk, ChunkPos.RelTileX, ChunkPos.RelTileY, TileValue);
}
//
@@ -168,8 +120,7 @@ static void CannonicalizeCoord(tile_map *TileMap, U32 *Tile, F32 *TileRel)
ASSERT(*TileRel <= 0.5f*TileMap->TileSideInMeters);
}
static tile_map_position RecannonicalizePosition(tile_map *TileMap,
tile_map_position Pos)
static tile_map_position RecannonicalizePosition(tile_map *TileMap, tile_map_position Pos)
{
tile_map_position Result = Pos;
@@ -181,8 +132,6 @@ static tile_map_position RecannonicalizePosition(tile_map *TileMap,
static B32 AreOnSameTile(tile_map_position *A, tile_map_position *B)
{
B32 Result = ((A->AbsTileX == B->AbsTileX) &&
(A->AbsTileY == B->AbsTileY) &&
(A->AbsTileZ == B->AbsTileZ));
B32 Result = ((A->AbsTileX == B->AbsTileX) && (A->AbsTileY == B->AbsTileY) && (A->AbsTileZ == B->AbsTileZ));
return Result;
}