void Dump();
};
+/*!
+select games, copy editing assets and write out configuration files
+ */
+class CGameInstall : public Dialog {
+public:
+ void Run();
+ void BuildDialog();
+
+ enum gameType_e {
+ GAME_Q3,
+ GAME_URT,
+ GAME_WARSOW
+ };
+
+protected:
+ Str m_strName;
+ Str m_strMod;
+ Str m_strEngine;
+ int m_nComboSelect;
+};
+
/*!
standalone dialog for games selection, and more generally global settings
*/
static bool m_bNetRun;
#endif
+ bool m_bDoGameInstall;
+
+ CGameInstall mGameInstall;
+
protected:
int m_nComboSelect; ///< intermediate int value for combo in dialog box
*/
list<CGameDescription *> mGames;
- CGameDialog() { mFrame = NULL; m_pCurrentGameDescription = NULL; m_bLogConsole = false; m_bForceLogConsole = false; }
+ CGameDialog() {
+ mFrame = NULL;
+ m_pCurrentGameDescription = NULL;
+ m_bLogConsole = false;
+ m_bForceLogConsole = false;
+ m_bDoGameInstall = true; // go through DoModal at least once
+ }
virtual ~CGameDialog();
- void AddPacksURL(Str &s);
+ void AddPacksURL( Str &s );
/*!
intialize the game dialog, called at CPrefsDlg::Init
*/
void DoGameDialog();
+ /*!
+ call out to the game installation dialog
+ */
+ void DoGameInstall();
+
/*!
Dialog API
this is only called when the dialog is built at startup for main engine select
*/
- void BuildDialog ();
- void UpdateData (bool retrieve);
+ void BuildDialog();
+ void UpdateData( bool retrieve );
/*!
construction of the dialog frame
uses m_nComboItem to find the right mGames
*/
CGameDescription *GameDescriptionForComboItem();
+
+ /*!
+ callback for the game install button
+ */
+ static void SInstallCallback( GtkWidget *widget, gpointer data );
};
typedef struct {