44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
//
|
|
// Created by rov on 12/27/25.
|
|
//
|
|
|
|
#ifndef TIBIA_GUI_H
|
|
#define TIBIA_GUI_H
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
#include "config.h"
|
|
#include "network.h"
|
|
#include "objects.h"
|
|
|
|
typedef struct Character {
|
|
uint8_t head;
|
|
uint8_t body;
|
|
uint8_t legs;
|
|
uint8_t shoes;
|
|
} Character_t;
|
|
|
|
typedef struct Gui {
|
|
bool isPreferencesDialogOpen;
|
|
bool isNewGameDialogOpen;
|
|
bool isJourneyOnwardDialogOpen;
|
|
char statusBarText[255];
|
|
} Gui_t;
|
|
|
|
void Gui_Init(Gui_t* gui);
|
|
void Gui_ProcessEvent(const SDL_Event* event);
|
|
void Gui_StartRender();
|
|
void Gui_Render(Gui_t* gui, const Objects_t* objects, Network_t* network, ConfigParams_t* configParams);
|
|
void Gui_FinishRender();
|
|
void Gui_Shutdown();
|
|
|
|
void Gui_RenderMainMenu(Gui_t* gui);
|
|
void Gui_RenderStatusBar(const Gui_t* gui);
|
|
|
|
void Gui_RenderPreferences_Dialog(Gui_t* gui, ConfigParams_t* configParams);
|
|
void Gui_RenderNewGame_Dialog(Gui_t* gui, const Objects_t* objects, const ConfigParams_t* configParams, Network_t* network);
|
|
void Gui_RenderJourneyOnward_Dialog(Gui_t* gui, ConfigParams_t* configParams, Network_t* network);
|
|
|
|
void Gui_UpdateStatusBar(Gui_t* gui, const char* message);
|
|
|
|
#endif //TIBIA_GUI_H
|