1,079
edits
(→Mixer) |
(→Misc: added an old idea I had floating around on my HD) |
||
Line 87: | Line 87: | ||
* completely get rid of #pragma pack for increased portability | * completely get rid of #pragma pack for increased portability | ||
* rename scummsys.h; and/or split it (types.h, defs.h ... ?) | * rename scummsys.h; and/or split it (types.h, defs.h ... ?) | ||
* Implement a "Main" class, from which backends derive. The "Main" of each backend then would become: | |||
<pre> | |||
int main() { | |||
Main *m = new MyCustomMain(); | |||
int retval = MyCustomMain->run(); | |||
delete MyCustomMain; | |||
return retval; | |||
} | |||
class Main { | |||
StringMap settings; | |||
String command; | |||
String specialDebug; | |||
OSystem *system; | |||
public: | |||
virtual int run(int argc, const char *argv[]) { | |||
registerDefaults(); | |||
parseCommandLine(argc, argv); | |||
// A port w/o command line would simply set settings to a more suitable value | |||
loadConfig(); | |||
PluginManager::instance().loadPlugins(); | |||
system.initBackend(); | |||
system.setWindowCaption(gScummVMFullVersion); | |||
} | |||
int registerDefaults() | |||
int parseCommandLine(int argc, const char *argv[]); | |||
void loadConfig(); | |||
int processSettings(); | |||
int runLauncherDialog(); | |||
}; | |||
</pre> | |||
== Wish list == | == Wish list == |
edits