Skip to main content

UI File Modification

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


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

uiFrame theLabel
   uiSprite theLabel


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


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


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


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.


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


⚠️ 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.


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


  • Effect <Path> The OFX file to use.

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


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


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


A uiTextWidget inserts text into a container.


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


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.


A uiSprite adds a sprite to a container.

Common Properties