diff options
| author | nathan <nathansmith@disroot.org> | 2025-11-05 11:04:07 +0000 |
|---|---|---|
| committer | nathan <nathansmith@disroot.org> | 2025-11-05 11:04:07 +0000 |
| commit | 2769ba6929b8aff2eadbb6c2e66ef4db25332e9b (patch) | |
| tree | 2e584716b50c069aa227dce19aa835542b5f60cf /src | |
| parent | 5a1c6f8d8db8311d8be286c40792227549594693 (diff) | |
| download | FindThings-2769ba6929b8aff2eadbb6c2e66ef4db25332e9b.tar.gz FindThings-2769ba6929b8aff2eadbb6c2e66ef4db25332e9b.tar.bz2 FindThings-2769ba6929b8aff2eadbb6c2e66ef4db25332e9b.zip | |
Lazyyyyy
Diffstat (limited to 'src')
| -rw-r--r-- | src/game.c | 10 | ||||
| -rw-r--r-- | src/game.h | 5 | ||||
| -rw-r--r-- | src/messageArea.c | 15 | ||||
| -rw-r--r-- | src/messageArea.h | 16 | ||||
| -rw-r--r-- | src/utils.c | 13 | ||||
| -rw-r--r-- | src/utils.h | 16 |
6 files changed, 72 insertions, 3 deletions
@@ -82,6 +82,9 @@ void initGame(Game* game) game->player.position = Vector3Scale(game->world.size, 0.5); disableGameCursor(game); + + // Message area. + initMessageArea(&game->messageArea); } void updateMainMenuScene(Game* game) @@ -122,6 +125,11 @@ void drawGameScreen(Game* game) } } +void updateGameUI(Game* game) +{ + updateMessageArea(&game->messageArea, game); +} + void updateGameScene(Game* game) { // Handle toggle cursor. @@ -157,6 +165,8 @@ void updateGameScene(Game* game) ClearBackground(BLACK); drawGameScreen(game); + + updateGameUI(game); } void handleGameResize(Game* game) @@ -4,6 +4,7 @@ #include "player.h" #include "world.h" #include "entity.h" +#include "messageArea.h" #ifndef GAME_H #define GAME_H @@ -17,12 +18,14 @@ typedef enum { } SceneId; struct Game { - SceneId sceneId; Settings settings; Assets assets; Player player; World world; Model skybox; + MessageArea messageArea; + + SceneId sceneId; bool isCursorEnabled; struct { diff --git a/src/messageArea.c b/src/messageArea.c new file mode 100644 index 0000000..bf2c70d --- /dev/null +++ b/src/messageArea.c @@ -0,0 +1,15 @@ +#include "messageArea.h" + +void initMessageArea(MessageArea* messageArea) +{ + memset(messageArea->text, 0, sizeof(char) * MESSAGE_AREA_MAX); + memcpy(messageArea->text, "meowmeowmeowmeowmeowmeowmeowmeowmweowiwiweioo", sizeof("meowmeowmeowmeowmeowmeowmeowmeowmweowiwiweioo")); + messageArea->bounds = (Rectangle){100.0, 100.0, 100.0, 100.0}; +} + +void updateMessageArea(MessageArea* messageArea, Game* game) +{ + DrawRectangleRec(messageArea->bounds, + GetColor(GuiGetStyle(DEFAULT, BACKGROUND_COLOR))); + GuiLabel(messageArea->bounds, messageArea->text); +} diff --git a/src/messageArea.h b/src/messageArea.h new file mode 100644 index 0000000..ec34452 --- /dev/null +++ b/src/messageArea.h @@ -0,0 +1,16 @@ +#include "utils.h" + +#ifndef MESSAGE_AREA_H +#define MESSAGE_AREA_H + +#define MESSAGE_AREA_MAX 255 + +typedef struct { + char text[MESSAGE_AREA_MAX]; + Rectangle bounds; +} MessageArea; + +void initMessageArea(MessageArea* messageArea); +void updateMessageArea(MessageArea* messageArea, Game* game); + +#endif diff --git a/src/utils.c b/src/utils.c index e49623c..e8e99cf 100644 --- a/src/utils.c +++ b/src/utils.c @@ -1,7 +1,5 @@ #include "utils.h" -#define RANDOM_DIRECTION_UNITS 4096 - Vector2 randomDirection2(int seed, int* nextSeed) { Vector2 direction; @@ -36,4 +34,15 @@ Vector3 randomDirection3(int seed, int* nextSeed) return Vector3Normalize(direction); } +void updateFloatWindow(FloatingWindow* window, const char* title) +{ +#ifndef RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT +#define RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT 24 +#endif + +#ifndef RAYGUI_WINDOW_CLOSEBUTTON_SIZE +#define RAYGUI_WINDOW_CLOSEBUTTON_SIZE 18 +#endif +} + // Why does the universe feel strange to exist in? diff --git a/src/utils.h b/src/utils.h index 0353dbe..8fb2282 100644 --- a/src/utils.h +++ b/src/utils.h @@ -54,6 +54,10 @@ #define PRINT_VECTOR2(v) printf("%f %f\n", v.x, v.y) #define PRINT_VECTOR3(v) printf("%f %f %f\n", v.x, v.y, v.z) +#define RANDOM_DIRECTION_UNITS 4096 + +typedef void (*DrawWindowContentCallback)(Rectangle rect); + // Typedef hackery. typedef struct Game Game; typedef struct World World; @@ -63,7 +67,19 @@ typedef enum FTError { FTSUCCESS = 0 } FTError; +typedef struct { + Rectangle rect; + bool minimized; + bool moving; + bool resizing; + DrawWindowContentCallback callback; + Vector2 contentSize; + Vector2 scroll; +} FloatingWindow; + Vector2 randomDirection2(int seed, int* nextSeed); Vector3 randomDirection3(int seed, int* nextSeed); +void updateFloatWindow(FloatingWindow* window, const char* title); + #endif |
