X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fpreferences.h;h=9fc92ac20b9283f5bfe4573ea9564d3ccf71f710;hb=99b8049c8c2896a5eca47d133776761f409809f4;hp=dfc1be5c7424b839f56b5b0edca517739123b15e;hpb=051578cb3beb086fc56e8f548e8d93bc63302c94;p=xonotic%2Fnetradiant.git diff --git a/radiant/preferences.h b/radiant/preferences.h index dfc1be5c..9fc92ac2 100644 --- a/radiant/preferences.h +++ b/radiant/preferences.h @@ -50,7 +50,7 @@ public: PrefTypes_t mType; void *mVal; - CPrefAssignment(char *name, PrefTypes_t Type, void *Val) + CPrefAssignment(const char *name, PrefTypes_t Type, void *Val) { mName = name; mType = Type; mVal = Val; } @@ -86,7 +86,7 @@ private: /*! store assignment in the property list if not already there */ - void PushAssignment(char *name, PrefTypes_t type, void *pV); + void PushAssignment(const char *name, PrefTypes_t type, void *pV); /*! find the xmlnode relating to the epair name @@ -95,7 +95,7 @@ private: public: CXMLPropertyBag(); - virtual ~CXMLPropertyBag() + virtual ~CXMLPropertyBag() { if (InUse()) Clear(); @@ -110,12 +110,12 @@ public: (name, type and pointer to value) this is used in UpdatePrefTree */ - void GetPref(char *name, Str *pV, char *V); - void GetPref(char *name, int *pV, int V); - void GetPref(char *name, bool *pV, bool V); - void GetPref(char *name, float *pV, float V); - void GetPref(char *name, float *pV, float* V); - void GetPref(char *name, window_position_t* pV, window_position_t V); + void GetPref(const char *name, Str *pV, const char *V); + void GetPref(const char *name, int *pV, int V); + void GetPref(const char *name, bool *pV, bool V); + void GetPref(const char *name, float *pV, float V); + void GetPref(const char *name, float *pV, float* V); + void GetPref(const char *name, window_position_t* pV, window_position_t V); /*! returns whether or not the property bag is already open @@ -180,6 +180,7 @@ public: bool mEClassSingleLoad; ///< only load a single eclass definition file bool mNoPatch; ///< this game doesn't support patch technology Str mCaulkShader; ///< the shader to use for caulking + bool quake2; ///< set this to true to get quake2 CGameDescription() { mpDoc = NULL; } /*! @@ -199,6 +200,11 @@ select games, copy editing assets and write out configuration files #define Q3_PACK "Q3Pack" #define URT_PACK "UrTPack" +#define UFOAI_PACK "UFOAIPack" +#define Q2W_PACK "Q2WPack" +#define WARSOW_PACK "WarsowPack" +#define NEXUIZ_PACK "NexuizPack" +#define Q2_PACK "Q2Pack" class CGameInstall : public Dialog { public: @@ -207,11 +213,18 @@ public: void Run(); void BuildDialog(); + static void OnBtnBrowseEngine( GtkWidget *widget, gpointer data ); + static void OnGameSelectChanged( GtkWidget *widget, gpointer data ); + enum gameType_e { GAME_NONE = 0, GAME_Q3 = 1, GAME_URT, + GAME_UFOAI, + GAME_Q2W, GAME_WARSOW, + GAME_NEXUIZ, + GAME_Q2, GAME_COUNT }; @@ -233,6 +246,7 @@ class CGameDialog : public Dialog GtkWidget *mFrame; ///< this is built on-demand first time it's used GtkWidget *mTopBox; ///< top level box used to store the dialog frame, must unhook after modal use + GtkComboBox *mGameCombo; // combo box holds the selection of available game /*! global prefs storage @@ -254,13 +268,13 @@ class CGameDialog : public Dialog CGameInstall mGameInstall; protected: - + int m_nComboSelect; ///< intermediate int value for combo in dialog box public: - /*! - those settings are saved in the global prefs file + /*! + those settings are saved in the global prefs file I'm too lazy to wrap behind protected access, not sure this needs to be public NOTE: those are preference settings. if you change them it is likely that you would have to restart the editor for them to take effect @@ -300,11 +314,12 @@ public: m_bLogConsole = false; m_bForceLogConsole = false; m_bDoGameInstall = true; // go through DoModal at least once + mGameCombo = NULL; } - virtual ~CGameDialog(); + virtual ~CGameDialog(); void AddPacksURL( Str &s ); - + /*! intialize the game dialog, called at CPrefsDlg::Init will scan for games, load prefs, and do game selection dialog if needed @@ -317,7 +332,7 @@ public: void Reset(); /*! - run the dialog UI for the list of games + run the dialog UI for the list of games */ void DoGameDialog(); @@ -356,7 +371,7 @@ public: /*! read or set netrun (check file) - \param retrieve + \param retrieve if false, will check if netrun file is present and will set m_bNetRun if true, will create/erase the netrun file depending on m_bNetRun NOTE: this is not backwards, 'retrieve' means 'retrieve from settings dialog' - in terms of UI @@ -387,12 +402,14 @@ private: callback for the game install button */ static void SInstallCallback( GtkWidget *widget, gpointer data ); + + void UpdateGameCombo(); }; typedef struct { int nEntitySplit1; int nEntitySplit2; - + window_position_t position; window_position_t posEntityWnd; @@ -417,7 +434,7 @@ typedef struct { class PrefsDlg : public Dialog { - + public: /*! local prefs file @@ -427,10 +444,10 @@ public: // will enable/disable stuff according to the situation void DoSensitivity(); void PreModal() { DoSensitivity(); } - + // enable/disable custom editor entry void DoEditorSensitivity(); - + /*! this holds global level preferences */ @@ -439,7 +456,7 @@ protected: // warning about old project files bool m_bWarn; list mGames; - + public: // last light intensity used in the CLightPrompt dialog, stored in registry int m_iLastLightIntensity; @@ -451,15 +468,15 @@ public: /*! Preference notebook page numbers */ enum {PTAB_FRONT = 0, PTAB_GAME_SETTINGS, PTAB_2D, PTAB_CAMERA, PTAB_TEXTURE, PTAB_LAYOUT, PTAB_MOUSE, PTAB_EDITING, PTAB_STARTUP, PTAB_PATHS, PTAB_MISC, PTAB_BSPMONITOR} pref_tabs; - + GtkWidget *notebook; - + void UpdateTextureCompression(); #ifdef ATIHACK_812 void UpdateATIHack(); #endif - + void LoadPrefs(); void SavePrefs(); void LoadTexdefPref(texdef_t* pTexdef, char* pName); @@ -516,7 +533,7 @@ public: // path to the project loaded at startup // if g_PrefsDlg can't find the information in the ini file // it will try to guess and eventually ask the user - Str m_strLastProject; + Str m_strLastProject; /*! version of last loaded project file says -1 if there's no version loaded @@ -607,7 +624,7 @@ public: bool m_bRunQuake; // store prefs setting for automatic sleep mode activation bool m_bDoSleep; - + bool m_bClipCaulk; // make the texture increments match the grid changes @@ -656,7 +673,7 @@ public: int m_nTextureCompressionFormat; int m_nLightRadiuses; - + bool m_bQ3Map2Texturing; #ifdef ATIHACK_812