g_pParentWnd = new MainFrame();
- if ( g_PrefsDlg.m_bLoadLastMap && g_PrefsDlg.m_strLastMap.GetLength() > 0 ) {
+ // If the first parameter is a .map, load that.
+ if( g_argc > 1 && IsMap( g_argv[1] ) ){
+ Map_LoadFile( g_argv[1] );
+ }
+ else if ( g_PrefsDlg.m_bLoadLastMap && g_PrefsDlg.m_strLastMap.GetLength() > 0 ) {
Map_LoadFile( g_PrefsDlg.m_strLastMap.GetBuffer() );
}
else {
}
}
+// Checks whether a given filename ends in .map
+const bool IsMap(const char* filename){
+ return strlen(filename) >= 4 && strcmp(filename + strlen(filename) - 4, ".map") == 0;
+}
+
void MainFrame::CreateQEChildren(){
- // load the project file
- if ( g_argc > 1 ) {
+ // load the project file, if it is a project project file. (Or at least no .map)
+ if ( g_argc > 1 && !IsMap( g_argv[1] ) ) {
Sys_Printf( "loading project file from the command line: %s\n", g_argv[1] );
if ( !QE_LoadProject( g_argv[1] ) ) {
Error( "Unable to load project file %s\n", g_argv[1] );
// some C API to the mainframe functions
void WINAPI QERApp_Sleep();
+// Checks whether a given filename ends in .map
+const bool IsMap(const char* filename);
+
#endif // _MAINFRAME_H_