hl1-ps2-gui-sdk

๐Ÿงฉ GUI System โ€“ Reverse Engineered Documentation

๐Ÿ“‘ Index


๐Ÿ“ Modules Overview

Core Files


๐Ÿงฑ GUI Element System

GUIElementDependency.cpp

Defines structure, rendering, and behavior of elements.

Properties

Lifecycle Hooks

Control


GUIElementCaption.cpp

Handles text rendering.

Properties


๐Ÿงฉ Generic Element Model

Shared across all elements:

Core

Rendering

Behavior

Composition


๐ŸŽฎ Input System

Centralized input abstraction layer.

Hardware โ†’ Input Mapper โ†’ GUI_COMMAND โ†’ Element

Sources

Commands

General

Directional

Buttons

Shoulders / Sticks

System

Namespaced

Other

Features


๐ŸŽจ Rendering

Fixed-function style pipeline.

Blend Modes

Texture Modes

Notes


๐Ÿ–ฅ๏ธ Screen System (GUIScreen.cpp)

Controls screen transitions and conditions.

Properties

Operators


โš™๏ธ Command System (GUICommand.cpp)

Defines parameterized execution.

Parameters

Types

Attributes

Flags


๐Ÿ“Š Variable System

Managed by GUIVariableManager.cpp

Types

Usage


๐ŸŽฌ Action System

Defined in:

Model

Action ID โ†’ Dispatch โ†’ Native Function

Core Actions


Variable Actions


Rendering / Debug


System / Game


Timeline Control

States:


Save System

Game

System


Device

Devices:


Input Binding

Modes:

Ops:


Audio / Feedback


Memory / Display


๐Ÿ” Execution Model

Frame-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

Properties


๐Ÿงพ Script Syntax

Directives

Blocks

Structure

BLOCK_NAME
    PROPERTY value
END

๐Ÿง  Notes & Quirks


๐Ÿงฉ Summary