SFML-DearImgui usage #36

Closed
opened 2024-03-09 19:14:05 +00:00 by john · 1 comment
Owner

51 feat: dearimgui tests

primary use case is for a nicer "Python Status Scene" or separate window like a browser's debugger.

If it can be nicely encapsulated, it would represent a huge improvement over the simple frames/sprites/captions that I've made available. (UIDrawable wrapper?)

51 feat: dearimgui tests primary use case is for a nicer "Python Status Scene" or separate window like a browser's debugger. If it can be nicely encapsulated, it would represent a huge improvement over the simple frames/sprites/captions that I've made available. (UIDrawable wrapper?)
john added the
Major Feature
Demo Target
labels 2024-03-09 19:14:05 +00:00
john added the
priority:tier3-future
system:ui-hierarchy
labels 2025-10-26 00:50:29 +00:00
Author
Owner

ImGui Integration Implemented

Initial DearImGui integration is now complete:

Changes Made

  • Updated imgui submodule to v1.89.9 (stable, compatible with imgui-sfml 2.6.x)
  • Updated imgui-sfml submodule to 2.6.x branch (supports SFML 2.x)
  • Added ImGui source files to CMakeLists.txt
  • Integrated ImGui lifecycle into GameEngine (init/shutdown/update/render)

Files Added/Modified

  • CMakeLists.txt - Added ImGui sources and OpenGL dependency
  • src/GameEngine.h - Added ImGuiConsole member and imguiInitialized flag
  • src/GameEngine.cpp - ImGui init/shutdown/update/render integration
  • src/ImGuiConsole.h - New console overlay class
  • src/ImGuiConsole.cpp - Console implementation with Python execution
  • src/McRFPy_API.h - Added _setDevConsole declaration
  • src/McRFPy_API.cpp - Added mcrfpy.setDevConsole() implementation

Features

  • Press ~ (grave/tilde) to toggle the console overlay
  • Type Python commands directly in the console
  • Output and errors displayed with color coding
  • Command history navigation with up/down arrows
  • mcrfpy.setDevConsole(False) to disable console for shipping

Technical Notes

  • ImGui v1.89.9 chosen for compatibility (v1.91+ has breaking API changes)
  • imgui-sfml 2.6.x branch supports SFML 2.x (master targets SFML 3.x)
  • Console uses synchronous Python execution
  • ImGui only initializes in windowed mode (not headless)
## ImGui Integration Implemented Initial DearImGui integration is now complete: ### Changes Made - Updated `imgui` submodule to v1.89.9 (stable, compatible with imgui-sfml 2.6.x) - Updated `imgui-sfml` submodule to 2.6.x branch (supports SFML 2.x) - Added ImGui source files to CMakeLists.txt - Integrated ImGui lifecycle into GameEngine (init/shutdown/update/render) ### Files Added/Modified - `CMakeLists.txt` - Added ImGui sources and OpenGL dependency - `src/GameEngine.h` - Added ImGuiConsole member and imguiInitialized flag - `src/GameEngine.cpp` - ImGui init/shutdown/update/render integration - `src/ImGuiConsole.h` - New console overlay class - `src/ImGuiConsole.cpp` - Console implementation with Python execution - `src/McRFPy_API.h` - Added `_setDevConsole` declaration - `src/McRFPy_API.cpp` - Added `mcrfpy.setDevConsole()` implementation ### Features - Press `~` (grave/tilde) to toggle the console overlay - Type Python commands directly in the console - Output and errors displayed with color coding - Command history navigation with up/down arrows - `mcrfpy.setDevConsole(False)` to disable console for shipping ### Technical Notes - ImGui v1.89.9 chosen for compatibility (v1.91+ has breaking API changes) - imgui-sfml 2.6.x branch supports SFML 2.x (master targets SFML 3.x) - Console uses synchronous Python execution - ImGui only initializes in windowed mode (not headless)
john closed this issue 2025-11-27 01:04:06 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: john/McRogueFace#36
No description provided.