From 2b2b69ee31f00aa46ab6baa967e12437ce7334d1 Mon Sep 17 00:00:00 2001 From: nathan Date: Fri, 4 Jul 2025 07:00:08 -0600 Subject: Heightmap, player, and more concepts --- src/game.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index 807220c..778d05e 100644 --- a/src/game.c +++ b/src/game.c @@ -3,23 +3,75 @@ void initGame(Game* game) { + game->sceneId = GAME_SCENE; + // Settings. game->settings = defaultSettings(); // Window. InitWindow(game->settings.windowWidth, game->settings.windowHeight, "Find Things"); + SetWindowState(FLAG_WINDOW_RESIZABLE); + + // Assets. + initAssets(&game->assets); + + // Player. + game->player = createPlayer(); + game->player.position = (Vector3){50.0, 30.0, 50.0}; + + // Heightmap. + Mesh heightmapMesh = GenMeshHeightmap(game->assets.images[HEIGHT_MAP_IMAGE], + (Vector3){100.0, 30.0, 100.0}); + game->heightmap = LoadModelFromMesh(heightmapMesh); + game->heightmap.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = + game->assets.textures[HEIGHT_MAP_TEXTURE]; + + DisableCursor(); +} + +void updateMainMenuScene(Game* game) +{ + ClearBackground(BLACK); +} + +void updateGameScene(Game* game) +{ + ClearBackground(BLACK); + + BeginMode3D(game->player.camera); + + updatePlayer(&game->player, game); + + DrawModel(game->heightmap, Vector3Zero(), 1.0, WHITE); + + EndMode3D(); } void updateGame(Game* game) { BeginDrawing(); - ClearBackground(RAYWHITE); + + switch (game->sceneId) + { + case MAIN_MENU_SCENE: + updateMainMenuScene(game); + break; + case GAME_SCENE: + updateGameScene(game); + break; + default: + break; + } + + DrawFPS(0, 0); EndDrawing(); } void closeGame(Game* game) { + closeAssets(&game->assets); + UnloadModel(game->heightmap); CloseWindow(); } -- cgit v1.2.3