diff options
author | nathan <nathansmith@disroot.org> | 2025-09-19 09:51:12 +0000 |
---|---|---|
committer | nathan <nathansmith@disroot.org> | 2025-09-19 09:51:12 +0000 |
commit | 8efa99463c2efa772fe7af2e65e6931d7c83e9d6 (patch) | |
tree | 9e9b628bcb2fba69070982d2082f76a35d2f43d6 /src | |
parent | 459aca4f1fe506340bc6238f8da39f494bb45352 (diff) | |
download | FindThings-8efa99463c2efa772fe7af2e65e6931d7c83e9d6.tar.gz FindThings-8efa99463c2efa772fe7af2e65e6931d7c83e9d6.tar.bz2 FindThings-8efa99463c2efa772fe7af2e65e6931d7c83e9d6.zip |
Samantha
Diffstat (limited to 'src')
-rw-r--r-- | src/assets.c | 3 | ||||
-rw-r--r-- | src/assets.h | 5 | ||||
-rw-r--r-- | src/entity.c | 20 | ||||
-rw-r--r-- | src/entity.h | 6 | ||||
-rw-r--r-- | src/world.c | 7 | ||||
-rw-r--r-- | src/world.h | 2 |
6 files changed, 22 insertions, 21 deletions
diff --git a/src/assets.c b/src/assets.c index 4072988..c6efaeb 100644 --- a/src/assets.c +++ b/src/assets.c @@ -18,7 +18,8 @@ const char shaderAssetNames[SHADER_ASSET_COUNT][FT_NAMEMAX] = { }; const char modelAssetPaths[MODEL_ASSET_COUNT][FT_NAMEMAX] = { - "UtilityPole.obj" + "UtilityPole.obj", + "Samantha.obj" }; void initShaderAssets(Shader shaders[SHADER_ASSET_COUNT]) diff --git a/src/assets.h b/src/assets.h index de849b0..8404cd2 100644 --- a/src/assets.h +++ b/src/assets.h @@ -6,7 +6,7 @@ #define TEXTURE_ASSET_COUNT 5 #define IMAGE_ASSET_COUNT 1 #define SHADER_ASSET_COUNT 2 -#define MODEL_ASSET_COUNT 1 +#define MODEL_ASSET_COUNT 2 extern const char textureAssetPaths[TEXTURE_ASSET_COUNT][FT_NAMEMAX]; extern const char imageAssetPaths[IMAGE_ASSET_COUNT][FT_NAMEMAX]; @@ -37,7 +37,8 @@ enum { // Model asset ids. enum { - UTILITY_POLE_MODEL + UTILITY_POLE_MODEL, + SAMANTHA_MODEL }; typedef struct { diff --git a/src/entity.c b/src/entity.c index 711a701..8017de0 100644 --- a/src/entity.c +++ b/src/entity.c @@ -49,12 +49,10 @@ Entity createEntity(EntityId id, Vector3 position) }; break; - case SAMANTHAS_SPOT: + case SAMANTHA: entity.box = (BoundingBox){ - .min = (Vector3){-SAMANTHAS_SPOT_SIZE, -SAMANTHAS_SPOT_HEIGHT, - -SAMANTHAS_SPOT_SIZE}, - .max = (Vector3){SAMANTHAS_SPOT_SIZE, SAMANTHAS_SPOT_HEIGHT, - SAMANTHAS_SPOT_SIZE} + .min = (Vector3){-SAMANTHA_WIDTH, -SAMANTHA_HEIGHT, -SAMANTHA_WIDTH}, + .max = (Vector3){SAMANTHA_WIDTH, SAMANTHA_HEIGHT, SAMANTHA_WIDTH} }; break; @@ -70,7 +68,7 @@ Entity createEntity(EntityId id, Vector3 position) // TODO: Mesh instance the utility poles and make a 3d model void updateEntity(Entity* entity, Game* game) { - DrawBoundingBox(entity->box, RED); + // DrawBoundingBox(entity->box, RED); switch (entity->id) { @@ -99,13 +97,9 @@ void updateEntity(Entity* entity, Game* game) Vector3Add(entity->position, (Vector3){0.0, POND_HEIGHT * 2.0, 0.0}), (Vector2){POND_SIZE * 2.5, POND_SIZE * 2.5}, BLUE); break; - case UTILITY_POLE: - /* DrawCylinder(Vector3Subtract(entity->position, */ - /* (Vector3){0.0, UTILITY_POLE_HEIGHT}), */ - /* UTILITY_POLE_RADIUS, UTILITY_POLE_RADIUS, */ - /* UTILITY_POLE_HEIGHT * 2.0, 6, BROWN); */ - /* DrawModel(game->assets.models[UTILITY_POLE_MODEL], entity->position, 1.0, */ - /* BROWN); */ + case SAMANTHA: + DrawModel(game->assets.models[SAMANTHA_MODEL], entity->position, 1.0, + WHITE); break; default: break; diff --git a/src/entity.h b/src/entity.h index 4f673f9..3a2fd15 100644 --- a/src/entity.h +++ b/src/entity.h @@ -17,8 +17,8 @@ #define UTILITY_POLE_HEIGHT 100.0 #define UTILITY_POLE_RADIUS 3.0 -#define SAMANTHAS_SPOT_SIZE 20.0 -#define SAMANTHAS_SPOT_HEIGHT 5.0 +#define SAMANTHA_WIDTH 1.0 +#define SAMANTHA_HEIGHT 1.0 typedef int8_t EntityId; @@ -31,7 +31,7 @@ enum { FLOWER, POND, UTILITY_POLE, - SAMANTHAS_SPOT + SAMANTHA }; typedef struct { diff --git a/src/world.c b/src/world.c index bf486e3..026a5ed 100644 --- a/src/world.c +++ b/src/world.c @@ -674,9 +674,14 @@ World createWorld(Seed seed, const Assets* assets) // Items. start = end; - end = WORLD_ENTITY_MAX; + end = WORLD_ENTITY_MAX - 1; seed = generateWorldItems(&world, seed, start, end); + // Test Samantha. + Entity samantha = createEntity(SAMANTHA, Vector3Scale(world.size, 0.5)); + placeEntityOnGround(&samantha, &world); + world.entities[WORLD_ENTITY_MAX - 1] = samantha; + // Generate BVH. double currentTime = GetTime(); buildWorldBVH(&world); diff --git a/src/world.h b/src/world.h index 0cdaf30..9e5c4c4 100644 --- a/src/world.h +++ b/src/world.h @@ -5,7 +5,7 @@ #ifndef WORLD_H #define WORLD_H -#define WORLD_ENTITY_MAX 5000 +#define WORLD_ENTITY_MAX 5001 #define WORLD_PLANT_COUNT 2500 #define WORLD_UTILITY_POLE_COUNT 25 #define WORLD_PLACE_COUNT 1 |