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