101 ImGuiIO
const& io = GetIO();
102 ImVec2 pos(io.DisplaySize.x * 0.5f, io.DisplaySize.y * 0.5f);
103 SetNextWindowPos(pos, ImGuiCond_Always, ImVec2(0.5f, 0.5f));
104 ImGuiWindowFlags flags =
105 ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration |
106 ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings;
107 return Begin(name,
nullptr, flags);
211 if (CollapsingHeader(absl::StrFormat(
"%s Overworld Editor",
ICON_MD_LAYERS).c_str(), ImGuiTreeNodeFlags_DefaultOpen)) {
212 BulletText(
"LW/DW/SW Tilemap Editing");
213 BulletText(
"LW/DW/SW Map Properties");
214 BulletText(
"Create/Delete/Update Entrances");
215 BulletText(
"Create/Delete/Update Exits");
216 BulletText(
"Create/Delete/Update Sprites");
217 BulletText(
"Create/Delete/Update Items");
218 BulletText(
"Multi-session map editing support");
221 if (CollapsingHeader(absl::StrFormat(
"%s Dungeon Editor",
ICON_MD_CASTLE).c_str())) {
222 BulletText(
"View Room Header Properties");
223 BulletText(
"View Entrance Properties");
224 BulletText(
"Enhanced room navigation");
227 if (CollapsingHeader(absl::StrFormat(
"%s Graphics & Themes",
ICON_MD_PALETTE).c_str())) {
228 BulletText(
"View Decompressed Graphics Sheets");
229 BulletText(
"View/Update Graphics Groups");
230 BulletText(
"5+ Built-in themes (Classic, Cyberpunk, Sunset, Forest, Midnight)");
231 BulletText(
"Custom theme creation and editing");
232 BulletText(
"Theme import/export functionality");
233 BulletText(
"Animated background grid effects");
237 BulletText(
"View Palette Groups");
238 BulletText(
"Enhanced palette editing tools");
239 BulletText(
"Color conversion utilities");
242 if (CollapsingHeader(absl::StrFormat(
"%s Project Management",
ICON_MD_FOLDER).c_str())) {
243 BulletText(
"Multi-session workspace support");
244 BulletText(
"Enhanced project creation and management");
245 BulletText(
"ZScream project format compatibility");
246 BulletText(
"Workspace settings and feature flags");
249 if (CollapsingHeader(absl::StrFormat(
"%s Development Tools",
ICON_MD_BUILD).c_str())) {
250 BulletText(
"Asar 65816 assembler integration");
251 BulletText(
"Enhanced CLI tools with TUI interface");
252 BulletText(
"Memory editor with advanced features");
253 BulletText(
"Hex editor with search and navigation");
254 BulletText(
"Assembly validation and symbol extraction");
257 if (CollapsingHeader(absl::StrFormat(
"%s Save Capabilities",
ICON_MD_SAVE).c_str())) {
258 BulletText(
"All Overworld editing features");
259 BulletText(
"Hex Editor changes");
260 BulletText(
"Theme configurations");
261 BulletText(
"Project settings and workspace layouts");
262 BulletText(
"Custom assembly patches");
266 Hide(
"Supported Features");
390 TextWrapped(
"What's New in YAZE v0.3");
393 if (CollapsingHeader(absl::StrFormat(
"%s User Interface & Theming",
ICON_MD_PALETTE).c_str(), ImGuiTreeNodeFlags_DefaultOpen)) {
394 BulletText(
"Complete theme management system with 5+ built-in themes");
395 BulletText(
"Custom theme editor with save-to-file functionality");
396 BulletText(
"Animated background grid with breathing effects (optional)");
397 BulletText(
"Enhanced welcome screen with themed elements");
398 BulletText(
"Multi-session workspace support with docking");
399 BulletText(
"Improved editor organization and navigation");
402 if (CollapsingHeader(absl::StrFormat(
"%s Development & Build System",
ICON_MD_BUILD).c_str(), ImGuiTreeNodeFlags_DefaultOpen)) {
403 BulletText(
"Asar 65816 assembler integration for ROM patching");
404 BulletText(
"Enhanced CLI tools with TUI (Terminal User Interface)");
405 BulletText(
"Modernized CMake build system with presets");
406 BulletText(
"Cross-platform CI/CD pipeline (Windows, macOS, Linux)");
407 BulletText(
"Comprehensive testing framework with 46+ core tests");
408 BulletText(
"Professional packaging for all platforms (DMG, MSI, DEB)");
411 if (CollapsingHeader(absl::StrFormat(
"%s Core Improvements",
ICON_MD_SETTINGS).c_str())) {
412 BulletText(
"Enhanced project management with YazeProject structure");
413 BulletText(
"Improved ROM loading and validation");
414 BulletText(
"Better error handling and status reporting");
415 BulletText(
"Memory safety improvements with sanitizers");
416 BulletText(
"Enhanced file dialog integration");
417 BulletText(
"Improved logging and debugging capabilities");
420 if (CollapsingHeader(absl::StrFormat(
"%s Editor Features",
ICON_MD_EDIT).c_str())) {
421 BulletText(
"Enhanced overworld editing capabilities");
422 BulletText(
"Improved graphics sheet viewing and editing");
423 BulletText(
"Better palette management and editing");
424 BulletText(
"Enhanced memory and hex editing tools");
425 BulletText(
"Improved sprite and item management");
426 BulletText(
"Better entrance and exit editing");
430 if (Button(absl::StrFormat(
"%s View Theme Editor",
ICON_MD_PALETTE).c_str(), ImVec2(-1, 30))) {
432 Hide(
"Whats New v03");
437 Hide(
"Whats New v03");
506 SetNextWindowSize(ImVec2(900, 700), ImGuiCond_FirstUseEver);
507 SetNextWindowSizeConstraints(ImVec2(600, 400), ImVec2(FLT_MAX, FLT_MAX));
510 TextWrapped(
"Customize your YAZE experience - accessible anytime!");
515 float available_height = GetContentRegionAvail().y - 60;
516 if (BeginChild(
"DisplaySettingsContent", ImVec2(0, available_height),
true, ImGuiWindowFlags_AlwaysVerticalScrollbar)) {
525 ImGuiIO &io = GetIO();
527 Text(
"Global Font Scale");
528 static float font_global_scale = io.FontGlobalScale;
529 if (SliderFloat(
"##global_scale", &font_global_scale, 0.5f, 1.8f,
"%.2f")) {
533 io.FontGlobalScale = font_global_scale;
541 Hide(
"Display Settings");