Launcher/GUI.cpp โ runtime entry / coordinatorLauncher/GUIParser.cpp โ DSL parserLauncher/GUIScreen.cpp โ screen + focus managementLauncher/GUIVariableManager.cpp โ variable storageGUIElementDependency.cppDefines structure, rendering, and behavior of elements.
Z_PLANE โ draw orderSCREEN_RECT โ position + sizeTEXTURE, TEXTURE_RECT โ renderingCOLOR_MODULATE โ tintGUI_CAPTION โ text layerGUI_INPUT โ input bindingGET_FOCUS โ on enterLOSE_FOCUS โ on exitWHILE_FOCUS โ per-frame updateON_RENDER โ draw stepDEPENDS_VALUE โ conditional activationGUIElementCaption.cppHandles text rendering.
TEXTPARAMSSCALECOLORSWRAPShared across all elements:
NAMEZ_PLANESCREEN_RECTTEXTURE, TEXTURE_RECTBLEND_FUNCTEX_ENVGET_FOCUSLOSE_FOCUSWHILE_FOCUSON_RENDERGUI_DEPENDENCYGUI_INPUTGUI_CAPTIONCentralized input abstraction layer.
Hardware โ Input Mapper โ GUI_COMMAND โ Element
General
ANY, GUI_COMMANDDirectional
UP, DOWN, LEFT, RIGHTButtons
TRIANGLE, CIRCLE, X, SQUAREShoulders / Sticks
LEFTSHOULDER1/2, RIGHTSHOULDER1/2L3, R3System
SELECT, STARTNamespaced
P1_*, P2_*Other
MOUSE1, DELFixed-function style pipeline.
GL_ONE, GL_ZEROGL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHAGL_DST_COLOR, GL_SRC_COLORGL_MODULATEGL_REPLACEGL_ALPHAZ_PLANEGUIScreen.cpp)Controls screen transitions and conditions.
FADE_IN_TIMEFADE_OUT_TIMEEQUALS, NOTEQUALSGREATERTHAN, LESSTHANGUICommand.cpp)Defines parameterized execution.
$param0, $param1, โฆ, $param%dNumeric, Float, Integer, StringINITIAL_VALUEMIN_VALUE, MAX_VALUEVALUETRUE, LOOP, RUNNINGWRAP, LERP_TIMEManaged by GUIVariableManager.cpp
GUI_VARIABLE_FLOATGUI_VARIABLE_STRINGLERP_TIME)Defined in:
GUIActionTable.cppGUIActionUserDefined.cppAction ID โ Dispatch โ Native Function
GUI_ACTION_PLAY_SOUND($param0, $param1)GUI_ACTION_SET_FOCUS($param0)GUI_ACTION_EXITGUI_ACTION_REFRESHGUI_ACTION_SET_VARIABLE($param0, $param1)GUI_ACTION_SET_VARIABLE_VARIABLE($param0, $param1)GUI_ACTION_ADD_VARIABLE($param0, $param1)GUI_ACTION_MODIFY_VIEWPORT($param0)GUI_ACTION_PRINTF($param0)GUI_ACTION_COPY_ATTRIBUTE($param0, $param1, $param2)GUI_ACTION_SET_GAME($param0, $param1)GUI_ACTION_SET_FRONT_END(...)GUI_ACTION_SET_PAUSE_MENU(...)GUI_ACTION_VCR_VARIABLE($param0, $param1)States:
PLAY, PAUSE, REWINDCreateSaveLoadSaveDeleteSaveFormatCardVerifySpaceUpdateListingGUI_ACTION_SYSTEM_SAVE_MANUAL_USE(...)GUI_ACTION_IS_DEVICE_CONNECTED(...)Devices:
DUALSHOCK1, DUALSHOCK2KEYBOARD, MOUSEANY, ALL_DEVICE_HASHGUI_ACTION_BIND_HELPER(...)Modes:
CONTROLLER1_MODE, CONTROLLER2_MODEKEYBOARD_MODE, MOUSE_MODEOps:
UPDATE_BIND, UNBIND_ACTIONAPPLY_PRESET, SAVE_SETTINGSGUI_ACTION_SET_VOLUME($param0)
BGMVolume, EffectVolumeGUI_ACTION_VIBRATE(...)
GUI_ACTION_MEMORY_SAVE(...)GUI_ACTION_DISPLAY_MODE($param0)
NTSC, PALFrame-driven execution.
for each frame:
poll input
resolve focus
if focus changed:
LOSE_FOCUS (old)
GET_FOCUS (new)
WHILE_FOCUS (current)
execute actions
ON_RENDER
!include!defineGUI_SCREENGUI_ACTIONBLOCK_NAME
PROPERTY value
END
END = block terminator$paramX = weakly typed arguments