view codeDoc/staticCtors.txt @ 84:e0f1ec7fe73a

Merge plus a few tweaks.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sun, 31 Aug 2008 15:59:17 +0100
parents
children 56c0ddd90193
line wrap: on
line source

Map of what happens in static CTORs (excluding creating loggers):

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");
}