From 1a095735b1d8e7ade61ac4f936032e0c9dcc044f Mon Sep 17 00:00:00 2001 From: Physick <96335032+DegustatorPonos@users.noreply.github.com> Date: Tue, 7 Jul 2026 19:05:45 +0500 Subject: Resources loading --- src/scenes/puzzleScene.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/scenes/scenes.h | 2 ++ 2 files changed, 48 insertions(+) create mode 100644 src/scenes/puzzleScene.c (limited to 'src/scenes') diff --git a/src/scenes/puzzleScene.c b/src/scenes/puzzleScene.c new file mode 100644 index 0000000..10e3fc9 --- /dev/null +++ b/src/scenes/puzzleScene.c @@ -0,0 +1,46 @@ +#include +#include +#include "scenes.h" +#include "../resources/resources.h" + +typedef struct { + Puzzle *PuzzlePtr; +} puzzleSceneData; + + +bool updatePuzzleScene(void *self) { + return true; +} + +Vector2 PuzzleNamePos = { .x = 0, .y = 0 }; + +bool drawPuzzleScene(void *self) { + puzzleSceneData *data = ((Scene *)self)->data; + ClearBackground(SKYBLUE); + + DrawTextEx(*GetMainFont(), + data->PuzzlePtr->Name, + PuzzleNamePos, + 100, 1, BLACK); + + return true; +} + +void deinitPuzzleScene(void *self) { + TraceLog(LOG_INFO, "Deleting a puzzle scene"); + free((puzzleSceneData *)((Scene *)self)->data); + free((Scene *)self); +} + +Scene *CreatePuzzleScene(Puzzle *puzzle) { + Scene *outp = malloc(sizeof(Scene)); + outp->Update = updatePuzzleScene; + outp->Draw = drawPuzzleScene; + outp->Deint = deinitPuzzleScene; + + puzzleSceneData *data = malloc(sizeof(puzzleSceneData)); + data->PuzzlePtr = puzzle; + + outp->data = data; + return outp; +} diff --git a/src/scenes/scenes.h b/src/scenes/scenes.h index 7ad34af..22d9a41 100644 --- a/src/scenes/scenes.h +++ b/src/scenes/scenes.h @@ -1,4 +1,5 @@ #include +#include "../puzzles/puzzle.h" #ifndef SCENES_H #define SCENES_H @@ -26,5 +27,6 @@ bool DrawScene(); bool UpdateScene(); Scene *CreateMainMenu(); +Scene *CreatePuzzleScene(Puzzle *puzzle); #endif // SCENES_H -- cgit v1.3