16#define SDL_MAIN_USE_CALLBACKS 1
18#include <SDL3/SDL_main.h>
19#include <SDL3/SDL_messagebox.h>
20#include "gameengine.h"
32#include "BlueprintEditor/BlueprintEditor.h"
36#include "third_party/imgui/imgui.h"
37#include "third_party/imgui/backends/imgui_impl_sdl3.h"
38#include "third_party/imgui/backends/imgui_impl_sdlrenderer3.h"
116 SYSTEM_LOG <<
"BlueprintEditor initialized in Runtime mode (toggle with F2)" <<
endl;
117 SYSTEM_LOG <<
"BehaviorTree Debugger initialized (toggle with F10)" <<
endl;
118 SYSTEM_LOG <<
"Animation Editor initialized (toggle with F9)" <<
endl;
121 ImGui::CreateContext();
124 ImGui::StyleColorsDark();
160 if (
io.WantCaptureMouse)
172 if (
io.WantCaptureKeyboard)
266 "Do you want to exit Olympe Engine?",
354 for (
size_t i = 0;
i <
rects.size(); ++
i)
396 io.DisplayFramebufferScale =
ImVec2(
431 static int frameCount = 0;
458 snprintf(title,
sizeof(title),
"Olympe Engine 2.0 - FPS: %.f",
fps);
508 SYSTEM_LOG <<
"----------- OLYMPE ENGINE V2 ------------" <<
endl;
Animation Editor window for creating and editing animation banks.
Runtime debugger for behavior tree visualization and inspection.
ComponentTypeID GetComponentTypeID_Static()
static Olympe::AnimationEditorWindow * animationEditorWindow
void SDL_AppQuit(void *appstate, SDL_AppResult result)
SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
SDL_AppResult SDL_AppIterate(void *appstate)
const Uint32 FRAME_TARGET_TIME_MS
static SDL_Renderer * renderer
SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event)
static Olympe::BlueprintEditorGUI * blueprintEditorGUI
static SDL_Window * window
Olympe::BehaviorTreeDebugWindow * g_btDebugWindow
World and ECS Manager for Olympe Engine.
static DataManager & Get()
void Process()
Process one frame.
static int screenWidth
Screen width in pixels.
static float fDt
Delta time between frames in seconds.
static int screenHeight
Screen height in pixels.
static GameEngine & GetInstance()
Get singleton instance.
static GameEngine & Get()
Get singleton instance (short form)
void Initialize()
Initialize all engine subsystems.
static SDL_Renderer * renderer
Main SDL renderer.
static JoystickManager & Get()
static KeyboardManager & Get()
static MouseManager & Get()
Main animation editor window.
void Toggle()
Toggle window visibility.
bool IsOpen() const
Check if window is open.
void Update(float deltaTime)
Update and render the editor window (separate window)
void ProcessEvent(SDL_Event *event)
Process SDL events for the separate window.
Main debug window for behavior tree runtime visualization.
void Initialize()
Initialize the debug window.
void ToggleVisibility()
Toggle window visibility (creates/destroys separate window)
void Render()
Render the debug window (in separate SDL3 window)
bool IsVisible() const
Check if window is visible.
void ProcessEvent(SDL_Event *event)
Process SDL events for separate window.
BlueprintEditorGUI - Frontend UI for Blueprint Editor Renders ImGui interface and interacts with Blue...
static BlueprintEditor & Get()
void InitializeRuntimeEditor()
void Update(float deltaTime)
static PanelManager & Get()
void AttachToSDLWindow(SDL_Window *sdlWindow)
static ViewportManager & Get()
const std::vector< SDL_FRect > & GetViewRects() const
const std::vector< short > & GetPlayers() const
static World & Get()
Get singleton instance (short form)
bool InitLogger(const std::string &filename="olympe.log")
void LoadOlympeConfig(const char *filename)