Skip to main content

UI File Modification

UI files control the layout of a specific element in the game - including level backgrounds.

Objects

Every object should have it's type and an optional label, with 3 spaces as indentation:

uiFrame theLabel
{
   uiSprite theLabel
   {
   
   }
}

uiFrame

A uiFrame is a container, usually used for dialog boxes. uiFrames can be adjusted with a uiFlowLayout.

uiScrollFrame

A uiScrollFrame is just like a uiFrame. However, overflow content is clipped and scrollbars appear.

uiContainer

A uiContainer is usually used for adding props, or as an anchor for OFX files.

uiInputFrame

A uiInputFrame is a container usually used for buttons or controls to change it's contents or icon depending on the active input device, such as a mouse or a controller.

uiDialog

A uiDialog is the root of either a dialog box, or a dialog screen.

uiSpectrumFrame

⚠️ Luxor Evolved-specific.

A uiSpectrumFrame is a container for uiSpectrumChannels. However, it is not a direct replacement for a uiFrame. A uiSpectrumFrame still needs to be wrapped in a uiFrame.

uiFlowLayout

A uiFlowLayout controls the layout of a uiFrame. This can be used to create grids, for example.

objEffectMap

  • Effect <Path> The OFX file to use.

An objEffectMap applies an OFX file to an object. It takes the object label as the event.

Example:

objEffectMap Idle
{
   Effect = ~data/maps/town/idle.ofx
}

Valid labels are:

  • TransIn
  • TransOut
  • Idle
  • ShowMap
  • ShowMap_Bonus
  • HideMap
  • HideMap_Bonus
  • ContinueIn
  • NewLife
  • Announce_PU_<powerup> - LXE specific, <powerup> must be a powerup ID
  • Milestone_Combo_<n> - LXE specific, <n> must be of: 6, 9, 12

uiBackground

A uiBackground defines the background of an object. It can be a fixed size or a 9-slice background.

uiTextWidget

A uiTextWidget inserts text into a container.

uiButton

A uiButton represents a button contained by it's elements.

uiProgressBar

A uiProgressBar represents a progress bar, usually used in the level HUD to indicate a rough amount of spheres left to destroy, or in the splash screen to indicate loading progress.

uiSprite

A uiSprite adds a sprite to a container.

Common Properties