view codeDoc/staticCtors.txt @ 85:56c0ddd90193

Intermediate commit (not stable). Changes to init system.
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 11 Sep 2008 11:33:51 +0100
parents e0f1ec7fe73a
children
line wrap: on
line source

Copyright © 2007-2008 Diggory Hardy
License: GNU General Public License version 2 or later (see COPYING)


Map of what happens in static CTORs (excluding creating loggers). From August 2008.

mde
->  imde
    ->  input.Input
        ->  input.Config
            

* means shouldn't affect anything else done by static ctors

imde {
    input = new Input();
    mainSchedule = new Scheduler;*
}

font.FontTexture.OptionsFont {*
    fontOpts = new OptionsFont;
    Options.addOptionsClass (fontOpts, "font");
}

gui.WidgetManager {*
    gui = new WidgetManager ("gui");
}

input.Config.Config {*
    loadedFiles = new TreeBag!(char[]);
}

input.Input.Input {*
    es_b_fcts = [ ES_B.OUT : &es_b_out ];
    es_a_fcts = [ ES_A.OUT : &es_a_out, ES_A.REVERSE : &es_a_reverse ];
    es_m_fcts = [ ES_M.OUT : &es_m_out ];
}

lookup.Options.OptionsMisc {*
    miscOpts = new OptionsMisc;
    Options.addOptionsClass (miscOpts, "misc");
}

setup.Init {?
    Logger root = Log.root;
    debug root.level(Logger.Trace);
    else  root.level(Logger.Info);
    root.add(new AppendConsole);
}

setup.init2 {*
    init.addFunc (&initInput, "initInput");
    init.addFunc (&guiLoad, "guiLoad");
}

setup.sdl {*
    init.addFunc (&initSdlAndGl, "initSdlAndGl");
}

setup.sdl.OptionsVideo {*
    vidOpts = new OptionsVideo;
    Options.addOptionsClass (vidOpts, "video");
}