DarkRadiant startup phase

From Dark Wiki

Jump to: navigation, search
The information in this article might be out of date and needs to be updated.


During DarkRadiant's startup procedure, things are initialised in this order:

  • Streams and GTK are initialised
  • The Environment class is initialised: application path, home and settings path are determined.
  • The modules and plugin DLLs are searched and registered (but not instantiated)
  • The XMLRegistry module is instantiated.
  • The application/home/settings paths are stored into the Registry, so that all modules have access to them.
  • The Log is initialised, now that the settings path is registered.
  • The file radiant.pid is created under the settings path (this will be removed when the startup process is finished) If the file already exists at startup, this is an indication for a previous startup failure).
  • The Registry is populated with user.xml, input.xml, etc. All previous preference settings are available at this point.
  • The GameManager is initialised. This means that all .game files are scanned and loaded into the registry. If there is only one .game file present, this game is chosen automatically (e.g. doom3.game).
  • The INI stuff is initialised (PrefsDlg::Init - this is legacy stuff and soon to be removed)
  • The engine path is setup. If no valid engine path is found, the user is asked to specify one.
  • The splash screen is showed.
  • ColourSchemes are loaded
  • The Modules are loaded and the dependencies of the GlobalRadiant() module is resolved.
  • The Radiant class is instantiated
  • Plugins are instantiated and will register themselves with the UIManager
  • MRU is loaded
  • The MainFrame class is instantiated
  • Splash Screen is hidden
  • The last opened map is loaded (if the preference option is set)
  • The file radiant.pid is deleted.
  • GTK Main Loop is entered.
Personal tools