Theme System Overview

Contents

Enmerating Themes

StepMania enumerates themes by looking for directories inside of the <StepMania Program Dir>/Themes/

Examples

  • Themes/default
  • Themes/MyCoolTheme
  • Themes/para
  • Themes/pump

Theme elements

Themes are composed of smaller pieces called "theme elements". Theme elements are grouped together in directories by their type. For example, all graphics theme elements are inside of a theme's Graphics directory and all sound theme elements are inside of a theme's Sounds directory.

Theme element naming

Theme elements typically have one of the following formats:

  • [screen_name] [piece_name] - e.g. "ScreenTitleMenu background"
  • [c++_class_name] [piece_name] - e.g. "ScoreKeeperNormal numbers"

The C++ game code loads theme resources using unique theme element names.

Theme layering

Common theme file types

Files in a theme

  • metrics.ini
  • BGAnimations/
  • Fonts/
  • Graphics/
  • Languages/
  • Other/
  • Scripts/
  • Sounds/

metrics.ini

This file is the heart of a theme. It:

  • defines menu screens, including the flow of screens and which choices appear on each screen
  • contains animation data
  • defines many miscellaneous theme values, such as number format strings, window titles, or color values

The file uses the standard .ini file format. Values are divided into groups, such as "[ScreenTitleMenu]" or "[PercentageDisplay]". The group names typically correspond to specific screens (e.g. ScreenTitleMenu, ScreenGameplayNormal) or correspond to specific C++ classes in the game code (PercentageDisplay, UnlockManager).

BGAnimations

This directory contains animations that are used for:

  • screen backgrounds
  • screen "overlays"
  • screen "in" transitions
  • screen "out" transitions

BGAnimation elements may have the following types:

  • directory:
  • .xml file:
  • .redir

File naming conventions

ActorCommands

Common Command Names

  • Init: called on each node only once as the node initialized and before any children are initialized
  • Begin: called when a screen is about to be shown and can be called more than once
Article -  Edit -  History - 
Hover for description
News
FAQ Tutorials Docs
Downloads
Songs
StepMix 1 Songs
StepMix 1 Songs (2)
StepMix 2 Songs
StepMix 2 Songs (2)
StepMix 3 Songs
StepMix 3 Songs (2)
StepMix 4 Songs
User Songs
Song Download Sites
Themes
Announcers
Backgrounds
Other Downloads
ITG Downloads
Message Boards

Dance Pads

Dance Pad Info
Dance Pads
Other Controllers
USB Adapters

Cool Stuff

StepMix 4 Contest
StepMania CD-ROM
StepMania Scores
In The Groove
StepMania Online
Movies
Pictures
Products
Links
Other Simulators
Frappr,MySpace,Facebook
Dance Dance Revolution
Pump It Up

Other StepMania

Documentation
Help/Support
Create & Share
Video Cards
Video Drivers
Spread StepMania
Developers
RSS Feeds
Contact Us

Search

Translate