grace_editor

ImGui + SDL2 adventure editor for GRAAL data folders. Shares parsers with the runtime. Loads GRAAL.guide for statement/command tips and the on-line reference panel.

Screenshots

Room canvas with live project data.

Editor room canvas showing tavern backdrop and object overlays
Room document — Edit room tab, object overlays, Project Tree, World Map, Flags dock.
Editor overview with project tree world map and flags
Project open — World Map graph and Flags panel (global / room flag notes from the GRAAL guide).
Editor editing ACE_Tour room
Another project (ACE_Tour) with a room document open in the workspace.

Workflow

Open → edit → save → run.

  1. Run grace_editor (optionally pass a project folder and document: grace_editor.exe GRAAL 1.room).
  2. File → Open a folder containing graal.main.
  3. Double-click a room (or section / main / scene) in the Project Tree.
  4. Edit on the canvas and in document tabs; Properties follow the selection.
  5. Save Ctrl+S / File → Save (or Save All).
  6. Run → Launch Game or Test Room.
  7. Pack Paks when shipping Amiga main.pak / secN.pak.

App layout

Docked shell.

Dock / areaRole
Project TreeBrowse main / rooms / sections / scenes / patterns / images
World MapRoom graph; jump into rooms
WorkspaceTabbed documents (Edit room, Objects, Dialogue, Script…)
PropertiesSelection fields + ? help from GRAAL.guide
FlagsGlobal / room flag notes for puzzle state
GuideOn-line reference viewer (AmigaGuide nodes)

Room canvas

Modes from the GRAAL room model.

Rooms follow the guide’s statement order: backdrop, start positions, floors, exits, clip-art / room images, static/anim bobs, room objects, enter actions (DACT), dialogue, verb ACTIONs. The canvas modes map to that work:

ModeWhat you edit
RoomOverview; all overlays; room-level settings
Objects / charactersPlace and drag room objects
Walkable areasFloor rectangles and handles
ExitsExit boxes and walk-to points
Start positionsPlayer entrances

See also Statements in .room and Structure.

Documents

What you edit.

KindFilesWorkspace tabs
Maingraal.mainOverview, Character, Objects, Sprites, Command bar, Actions, Audio, Script
RoomN.roomEdit room, Objects, Sprites, Interactions, Dialogue, Script
SectionN.sectionEdit section, Objects, Sprites, Interactions, Dialogue, Script
SceneN.sceneEdit scene, Script
PatternN.ptrnEdit pattern, Script
Image.png / .iff / .bm…Preview, palette, remap, export

Build

Getting the editor running.

cmake -S . -B build_sdl -DGRACE_BUILD_EDITOR=ON
cmake --build build_sdl --target grace_editor --config Release
build_sdl\editor\grace_editor.exe
build_sdl\editor\grace_editor.exe GRAAL 1.room

Art tip: Prefer indexed PNG. Script refs are extensionless stems (BACKDROP: 1BG). ACE .bm/.plt are export artifacts for Amiga packs.