20,741
edits
No edit summary |
No edit summary |
||
Line 50: | Line 50: | ||
|author=<nowiki>Philosopher</nowiki> | |author=<nowiki>Philosopher</nowiki> | ||
|date=<nowiki>Sun Jul 06</nowiki> | |date=<nowiki>Sun Jul 06</nowiki> | ||
}} | |||
}} | |||
{{FGCquote | |||
|Given my recent "FGCanvas" experiments (making ~60% of the subsystems optional), and successes there, I'd probably consider handing off control to a hard-coded Nasal script in FGNasalSys, even though we could make the file-name property-configurable, whereas it would default to something like "default.boot". <br/> | |||
<br/> | |||
That would allow us to easily use --prop{{=}} (or a dedicated '''--mode{{=}}''') parameter to override the bootstrapping script. <br/> | |||
Once that is place, we could also move certain fg_init.cxx logic to Nasal space by using Zakalawe's add-subsystem/remove-subsystem fgcommands, which I already started extending to allow subsystems to be registered as SGSubsystemGroup instead of "just" SGSubsystem - which allows us to use groups as "containers" for specific subsystems, like "aircraft" (fdm, autopilot, route manager etc) or "audio" (fgcom, sound, voice). Making these entirely optional and runtime-configurable is becoming much more straightforward that way - also, because all the reset/re-init logic can be moved to each groups postinit/reinit methods.<br/> | |||
<br/> | |||
Conceptually, that's straightforward to do, and apart from supporting different startup modes, we could even support "applications", i.e. stuff like running just the REPL, or just a canvas-map, or even just the Aircraft Center eventually.<br/> | |||
<br/> | |||
So, I'd prefer to load a single property-defined Nasal script and delegate control to it in FGNasalSys:init(), so that we can handle both there, nasal bootstrapping, but also subsystems at some point. | |||
|{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=214423#p214423 | |||
|title=<nowiki>Re: Modular Nasal bootstrapping (again)</nowiki> | |||
|author=<nowiki>Hooray</nowiki> | |||
|date=<nowiki>Wed Jul 09</nowiki> | |||
}} | }} | ||
}} | }} |