diff options
author | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-07-09 02:23:05 -0600 |
---|---|---|
committer | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-07-09 02:23:05 -0600 |
commit | 23be929353d4583edbd8621cd755f8a636c3fd90 (patch) | |
tree | 36d7502dbe628502eb7708c4617d1931420c8a66 | |
parent | 708072e716e7ab22a37f528311a433f195f75054 (diff) |
soldato asset added
-rw-r--r-- | assets/soldato.mtl | 12 | ||||
-rw-r--r-- | assets/soldato.obj | 83 | ||||
-rw-r--r-- | src/assets.c | 3 | ||||
-rw-r--r-- | src/assets.h | 5 | ||||
-rw-r--r-- | src/entities/soldato.c | 2 | ||||
-rw-r--r-- | src/game.c | 33 | ||||
-rw-r--r-- | src/gameScreen.c | 9 | ||||
-rw-r--r-- | src/gameScreen.h | 5 | ||||
-rw-r--r-- | src/mainMenu.c | 3 | ||||
-rw-r--r-- | src/playerCamera.c | 5 |
10 files changed, 118 insertions, 42 deletions
diff --git a/assets/soldato.mtl b/assets/soldato.mtl new file mode 100644 index 0000000..d6e7e51 --- /dev/null +++ b/assets/soldato.mtl @@ -0,0 +1,12 @@ +# Blender 3.5.1 MTL File: 'soldato.blend' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/assets/soldato.obj b/assets/soldato.obj new file mode 100644 index 0000000..e376217 --- /dev/null +++ b/assets/soldato.obj @@ -0,0 +1,83 @@ +# Blender 3.5.1 +# www.blender.org +mtllib soldato.mtl +o Cube +v 1.500000 0.000000 -1.000000 +v 1.500000 -0.500000 -1.000000 +v 0.000000 0.500000 -0.700000 +v -1.500000 0.000000 -1.000000 +v -1.500000 -0.500000 -1.000000 +v 0.000000 -0.500000 5.938437 +v 0.750000 -0.057781 -1.000000 +v -0.750000 -0.057781 -1.000000 +v 1.100000 -0.057781 -1.300000 +v -1.500000 -0.500000 -1.000000 +v 1.100000 -0.458728 -1.300000 +v 0.750000 -0.458728 -1.000000 +v -0.750000 -0.458728 -1.000000 +v -1.100000 -0.057781 -1.300000 +v -1.100000 -0.458728 -1.300000 +vn -0.3382 0.9306 0.1402 +vn 0.3382 0.9306 0.1402 +vn 0.9774 -0.0000 0.2113 +vn -0.0765 0.9931 -0.0893 +vn 0.0765 0.9931 -0.0893 +vn -0.9774 -0.0000 0.2113 +vn 0.6000 -0.0000 -0.8000 +vn -0.6508 -0.0000 -0.7593 +vn 0.6508 -0.0000 -0.7593 +vn -0.6000 -0.0000 -0.8000 +vn -0.0000 0.4737 -0.8807 +vn -0.0000 -0.0000 -1.0000 +vn -0.0548 -0.9964 -0.0640 +vn 0.0548 -0.9964 -0.0640 +vn -0.0549 -0.9984 -0.0119 +vn 0.0337 0.4379 -0.8984 +vn -0.0337 0.4379 -0.8984 +vn 0.0549 -0.9984 -0.0119 +vn -0.0000 -1.0000 -0.0059 +vt 0.625000 0.500000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.625000 0.375000 +vt 0.000000 0.000000 +vt 0.625000 0.250000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +s 0 +usemtl Material +f 3/4/1 4/6/1 6/7/1 +f 1/1/2 3/4/2 6/7/2 +f 6/7/3 2/3/3 1/1/3 +f 7/8/4 1/2/4 9/10/4 +f 8/9/5 14/15/5 4/5/5 +f 6/7/6 4/6/6 10/11/6 +f 9/10/7 2/3/7 11/12/7 +f 12/13/8 9/10/8 11/12/8 +f 13/14/9 15/16/9 14/15/9 +f 14/15/10 15/16/10 10/11/10 +f 8/9/11 3/4/11 7/8/11 +f 13/14/12 7/8/12 12/13/12 +f 2/3/13 12/13/13 11/12/13 +f 13/14/14 10/11/14 15/16/14 +f 12/13/15 2/3/15 6/7/15 +f 9/10/7 1/2/7 2/3/7 +f 12/13/8 7/8/8 9/10/8 +f 13/14/9 14/15/9 8/9/9 +f 14/15/10 10/11/10 4/5/10 +f 4/6/16 3/4/16 8/9/16 +f 3/4/17 1/2/17 7/8/17 +f 13/14/12 8/9/12 7/8/12 +f 6/7/18 10/11/18 13/14/18 +f 13/14/19 12/13/19 6/7/19 +f 8/9/12 7/8/12 12/13/12 +f 8/9/12 12/13/12 13/14/12 +l 6 5 diff --git a/src/assets.c b/src/assets.c index 1f0c95b..c8fe3be 100644 --- a/src/assets.c +++ b/src/assets.c @@ -7,7 +7,8 @@ const char textureAssetPaths[TEXTURE_ASSET_COUNT][ASSET_PATH_MAX] = { }; const char modelAssetPaths[MODEL_ASSET_COUNT][ASSET_PATH_MAX] = { - "/home/nathan/Documents/KillaFacsista/assets/antifaShip.obj" + "/home/nathan/Documents/KillaFacsista/assets/antifaShip.obj", + "/home/nathan/Documents/KillaFacsista/assets/soldato.obj" }; void LoadAssets(Assets * assets) { diff --git a/src/assets.h b/src/assets.h index f28ddb8..658367a 100644 --- a/src/assets.h +++ b/src/assets.h @@ -6,7 +6,7 @@ #define ASSET_PATH_MAX 255 #define TEXTURE_ASSET_COUNT 3 -#define MODEL_ASSET_COUNT 1 +#define MODEL_ASSET_COUNT 2 // Paths to assets. extern const char textureAssetPaths[TEXTURE_ASSET_COUNT][ASSET_PATH_MAX]; @@ -23,7 +23,8 @@ enum { // Model asset ids. enum { - ANTIFA_SHIP_ASSET + ANTIFA_SHIP_ASSET, + SOLDATO_ASSET }; typedef struct Assets { diff --git a/src/entities/soldato.c b/src/entities/soldato.c index 4abe5af..da8df84 100644 --- a/src/entities/soldato.c +++ b/src/entities/soldato.c @@ -2,7 +2,7 @@ #include "game.h" void initSoldato(Entity * entity, Game * game) { - entity->model = &game->assets.models[ANTIFA_SHIP_ASSET]; + entity->model = &game->assets.models[SOLDATO_ASSET]; entity->velocity.angularVelocity = (AxisAngle){(Vector3){1.0, 1.0, 1.0}, 1.0}; } @@ -12,26 +12,18 @@ void initGame(Game * game) { LoadAssets(&game->assets); // Screen id. - game->screenId = SCREEN_GAME; + game->screenId = SCREEN_MAIN_MENU; // Main menu. initMainMenu(game); // Camera. initPlayerCamera(&game->playerCamera); - - DisableCursor(); // World. initWorld(&game->world); // Debug. - // Add player. - //addEntityToWorld( - // &game->world, - // createEntity(ENTITY_ANTIFA, game) - //); - WorldEntry entries[] = { (WorldEntry){ENTITY_ANTIFA, Vector3Zero(), QuaternionIdentity()}, (WorldEntry){ENTITY_SOLDATO, (Vector3){10.0, 10.0, 10.0}, QuaternionIdentity()}, @@ -46,29 +38,6 @@ void initGame(Game * game) { entries, sizeof(entries) / sizeof(WorldEntry) ); - - puts("v"); - - for (int i = 0; i < game->world.vacantIdsCount; ++i) - printf("%d\n", game->world.vacantIds[i]); - - puts("l"); - - for (int i = 0; i < game->world.lookUpSize; ++i) { - printf("%d\n", game->world.lookUp[i]); - - Entity * e = getEntityFromWorld(game->world, i); - - if (e == NULL) { - puts("null"); - continue; - } - - if (e->id == i) - printf("good %x\n", e->fingerprint); - else - printf("bad %d\n", e->id); - } } void closeGame(Game * game) { diff --git a/src/gameScreen.c b/src/gameScreen.c index 1eb6b55..3282a8f 100644 --- a/src/gameScreen.c +++ b/src/gameScreen.c @@ -21,3 +21,12 @@ void updateGameScreen(Game * game) { EndMode3D(); } + +void openGameScreen(Game * game) { + game->screenId = SCREEN_GAME; + DisableCursor(); +} + +void closeGameScreen(Game * game) { + EnableCursor(); +} diff --git a/src/gameScreen.h b/src/gameScreen.h index 8c3de89..5876e91 100644 --- a/src/gameScreen.h +++ b/src/gameScreen.h @@ -9,4 +9,9 @@ typedef struct GameScreen { void updateGameScreen(Game * game); +void openGameScreen(Game * game); + +// Call before setting screen when in game screen +void closeGameScreen(Game * game); + #endif diff --git a/src/mainMenu.c b/src/mainMenu.c index fc67972..c0568f9 100644 --- a/src/mainMenu.c +++ b/src/mainMenu.c @@ -1,5 +1,6 @@ #include "mainMenu.h" #include "game.h" +#include "gameScreen.h" void initMainMenu(Game * game) { game->mainMenu = (MainMenu){ @@ -25,7 +26,7 @@ void updateMainMenu(Game * game) { bool start = GuiButton(mainMenu->startButton, "Start"); if (start) - game->screenId = SCREEN_GAME; + openGameScreen(game); if (IsWindowResized()) resizeMainMenu(game); diff --git a/src/playerCamera.c b/src/playerCamera.c index df2cce4..e7db154 100644 --- a/src/playerCamera.c +++ b/src/playerCamera.c @@ -3,10 +3,6 @@ void initPlayerCamera(Camera3D * camera) { *camera = (Camera3D){ - //.position = (Vector3){15.0, 15.0, 15.0}, - .position = (Vector3){0.0, 15.0, -15.0}, - .target = (Vector3){0.0, 0.0, 0.0}, - .up = (Vector3){0.0, 1.0, 0.0}, .fovy = 90.0, .projection = CAMERA_PERSPECTIVE }; @@ -15,7 +11,6 @@ void initPlayerCamera(Camera3D * camera) { void updatePlayerCamera(Camera3D * camera, Game * game) { Entity * player = &game->world.entities[0]; - //UpdateCamera(camera, CAMERA_FIRST_PERSON); camera->target = player->position; Matrix m = QuaternionToMatrix(QuaternionInvert(player->rotation)); |