diff --git a/source/blood/src/blood.cpp b/source/blood/src/blood.cpp index d70e2abf5..b8e672d0a 100644 --- a/source/blood/src/blood.cpp +++ b/source/blood/src/blood.cpp @@ -1631,7 +1631,7 @@ int app_main(int argc, char const * const * argv) initprintf("Initializing network users\n"); netInitialize(true); - scrSetGameMode(gSetup.fullscreen, gSetup.xdim, gSetup.ydim, gSetup.bpp); + scrSetGameMode( ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP); scrSetGamma(gGamma); viewResizeView(gViewSize); initprintf("Initializing sound system\n"); diff --git a/source/blood/src/config.cpp b/source/blood/src/config.cpp index 9a338ade4..571aeccc0 100644 --- a/source/blood/src/config.cpp +++ b/source/blood/src/config.cpp @@ -55,7 +55,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -int32_t scripthandle; int32_t setupread; int32_t mus_restartonload; char szPlayerName[MAXPLAYERNAME]; @@ -89,21 +88,6 @@ int gWeaponsV10x; void CONFIG_SetDefaults(void) { - scripthandle = -1; - -#ifdef __ANDROID__ - droidinput.forward_sens = 5.f; - droidinput.gameControlsAlpha = 0.5; - droidinput.hideStick = 0; - droidinput.pitch_sens = 5.f; - droidinput.quickSelectWeapon = 1; - droidinput.strafe_sens = 5.f; - droidinput.toggleCrouch = 1; - droidinput.yaw_sens = 5.f; - - gSetup.xdim = droidinfo.screen_width; - gSetup.ydim = droidinfo.screen_height; -#else # if defined RENDERTYPESDL && SDL_MAJOR_VERSION > 1 uint32_t inited = SDL_WasInit(SDL_INIT_VIDEO); if (inited == 0) @@ -114,35 +98,33 @@ void CONFIG_SetDefaults(void) SDL_DisplayMode dm; if (SDL_GetDesktopDisplayMode(0, &dm) == 0) { - gSetup.xdim = dm.w; - gSetup.ydim = dm.h; + ScreenWidth = dm.w; + ScreenHeight = dm.h; } else -# endif { - gSetup.xdim = 1024; - gSetup.ydim = 768; + ScreenWidth = 1024; + ScreenHeight = 768; } #endif #ifdef USE_OPENGL - gSetup.bpp = 32; + ScreenBPP = 32; #else - gSetup.bpp = 8; + ScreenBPP = 8; #endif - gSetup.fullscreen = 1; + ScreenMode = 1; //snd_ambience = 1; //ud.config.AutoAim = 1; - gBrightness = 8; //ud.config.ShowWeapons = 0; //ud.crosshair = 1; //ud.default_skill = 1; gUpscaleFactor = 0; //ud.display_bonus_screen = 1; - //ud.lockout = 0; + //adult_lockout = 0; //ud.m_marker = 1; //ud.maxautosaves = 5; //ud.menu_scrollbartilenum = -1; @@ -151,7 +133,6 @@ void CONFIG_SetDefaults(void) //ud.menu_slidebarmargin = 65536; //ud.menu_slidebarz = 65536; //ud.menu_slidecursorz = 65536; - //ud.pwlockout[0] = '\0'; //ud.screen_size = 4; //ud.screen_tilting = 1; //ud.screenfade = 1; @@ -190,91 +171,14 @@ void CONFIG_SetDefaults(void) int CONFIG_ReadSetup(void) { - char tempbuf[1024]; - CONFIG_SetDefaults(); setupread = 1; pathsearchmode = 1; - if (scripthandle < 0) - { - if (buildvfs_exists(SetupFilename)) // JBF 20031211 - scripthandle = SCRIPT_Load(SetupFilename); -#if !defined(EDUKE32_TOUCH_DEVICES) && !defined(EDUKE32_STANDALONE) - else if (buildvfs_exists(SETUPFILENAME)) - { - int const i = wm_ynbox("Import Configuration Settings", - "The configuration file \"%s\" was not found. " - "Import configuration data from \"%s\"?", - SetupFilename, SETUPFILENAME); - if (i) - scripthandle = SCRIPT_Load(SETUPFILENAME); - } -#endif - } - pathsearchmode = 0; - if (scripthandle < 0) - return -1; - - // Nuke: make cvar - /////// - SCRIPT_GetNumber(scripthandle, "Game Options", "WeaponsV10x", &gWeaponsV10x); - /////// - - Bmemset(tempbuf, 0, sizeof(tempbuf)); - SCRIPT_GetString(scripthandle, "Comm Setup","PlayerName",&tempbuf[0]); - - char nameBuf[64]; - - while (Bstrlen(OSD_StripColors(nameBuf, tempbuf)) > 10) - tempbuf[Bstrlen(tempbuf) - 1] = '\0'; - - Bstrncpyz(szPlayerName, tempbuf, sizeof(szPlayerName)); - - if (gNoSetup == 0 && g_modDir[0] == '/') - { - struct Bstat st; - SCRIPT_GetString(scripthandle, "Setup","ModDir",&g_modDir[0]); - - if (Bstat(g_modDir, &st)) - { - if ((st.st_mode & S_IFDIR) != S_IFDIR) - { - initprintf("Invalid mod dir in cfg!\n"); - Bsprintf(g_modDir,"/"); - } - } - } - - //if (g_grpNamePtr == NULL && g_addonNum == 0) - //{ - // SCRIPT_GetStringPtr(scripthandle, "Setup", "SelectedGRP", &g_grpNamePtr); - // if (g_grpNamePtr && !Bstrlen(g_grpNamePtr)) - // g_grpNamePtr = dup_filename(G_DefaultGrpFile()); - //} - // - //if (!NAM_WW2GI) - //{ - // SCRIPT_GetNumber(scripthandle, "Screen Setup", "Out", &ud.lockout); - // SCRIPT_GetString(scripthandle, "Screen Setup", "Password", &ud.pwlockout[0]); - //} - - windowx = -1; - windowy = -1; - - SCRIPT_GetNumber(scripthandle, "Screen Setup", "MaxRefreshFreq", (int32_t *)&maxrefreshfreq); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "ScreenBPP", &gSetup.bpp); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "ScreenHeight", &gSetup.ydim); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "ScreenMode", &gSetup.fullscreen); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "ScreenWidth", &gSetup.xdim); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "WindowPosX", (int32_t *)&windowx); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "WindowPosY", (int32_t *)&windowy); - SCRIPT_GetNumber(scripthandle, "Screen Setup", "WindowPositioning", (int32_t *)&windowpos); - - if (gSetup.bpp < 8) gSetup.bpp = 32; + if (ScreenBPP < 8) ScreenBPP = 32; setupread = 1; return 0; diff --git a/source/blood/src/config.h b/source/blood/src/config.h index 9791c3a18..b0e69de07 100644 --- a/source/blood/src/config.h +++ b/source/blood/src/config.h @@ -36,7 +36,6 @@ BEGIN_BLD_NS #define MAXPLAYERNAME 16 -extern int32_t scripthandle; extern int32_t setupread; extern char szPlayerName[MAXPLAYERNAME]; extern int32_t gTurnSpeed; @@ -64,9 +63,6 @@ extern int gWeaponsV10x; int CONFIG_ReadSetup(void); void CONFIG_SetDefaults(void); -int32_t CONFIG_GetMapBestTime(char const *mapname, uint8_t const *mapmd4); -int CONFIG_SetMapBestTime(uint8_t const *mapmd4, int32_t tm); - END_BLD_NS #endif diff --git a/source/blood/src/credits.cpp b/source/blood/src/credits.cpp index ebb8ed80e..6e066f9ef 100644 --- a/source/blood/src/credits.cpp +++ b/source/blood/src/credits.cpp @@ -229,7 +229,7 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav) Smacker_GetPalette(hSMK, palette); paletteSetColorTable(kSMKPal, palette, true); - videoSetPalette(gBrightness>>2, kSMKPal, 8+2); + videoSetPalette(0, kSMKPal, 8+2); int nScale; @@ -269,7 +269,7 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav) videoClearScreen(0); Smacker_GetPalette(hSMK, palette); paletteSetColorTable(kSMKPal, palette, true); - videoSetPalette(gBrightness >> 2, kSMKPal, 0); + videoSetPalette(0, kSMKPal, 0); tileInvalidate(kSMKTile, 0, 1 << 4); // JBF 20031228 Smacker_GetFrame(hSMK, pFrame); rotatesprite_fs(160<<16, 100<<16, nScale, 512, kSMKTile, 0, 0, 2|4|8|64); @@ -284,7 +284,7 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav) Smacker_Close(hSMK); ctrlClearAllInput(); FX_StopAllSounds(); - videoSetPalette(gBrightness >> 2, 0, 8+2); + videoSetPalette(0, 0, 8+2); tileDelete(kSMKTile); Bfree(pzSMK_); Bfree(pzWAV_); diff --git a/source/blood/src/globals.cpp b/source/blood/src/globals.cpp index 153697ea2..d5e30817b 100644 --- a/source/blood/src/globals.cpp +++ b/source/blood/src/globals.cpp @@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -ud_setup_t gSetup; bool bVanilla = false; ClockTicks gFrameClock; ClockTicks gFrameTicks; diff --git a/source/blood/src/globals.h b/source/blood/src/globals.h index 5d5d78281..6e641bdce 100644 --- a/source/blood/src/globals.h +++ b/source/blood/src/globals.h @@ -27,14 +27,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -typedef struct { - int32_t fullscreen; - int32_t xdim; - int32_t ydim; - int32_t bpp; -} ud_setup_t; - -extern ud_setup_t gSetup; extern ClockTicks gFrameClock; extern ClockTicks gFrameTicks; extern int gFrame; diff --git a/source/blood/src/menu.cpp b/source/blood/src/menu.cpp index 7f45fd9db..04105ef03 100644 --- a/source/blood/src/menu.cpp +++ b/source/blood/src/menu.cpp @@ -1534,17 +1534,17 @@ void SetVideoModeOld(CGameMenuItemChain *pItem) { if (pItem->at30 == validmodecnt) { - gSetup.fullscreen = 0; - gSetup.xdim = 640; - gSetup.ydim = 480; + ScreenMode = 0; + ScreenWidth = 640; + ScreenHeight = 480; } else { - gSetup.fullscreen = 0; - gSetup.xdim = validmode[pItem->at30].xdim; - gSetup.ydim = validmode[pItem->at30].ydim; + ScreenMode = 0; + ScreenWidth = validmode[pItem->at30].xdim; + ScreenHeight = validmode[pItem->at30].ydim; } - scrSetGameMode(gSetup.fullscreen, gSetup.xdim, gSetup.ydim, gSetup.bpp); + scrSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP); scrSetDac(); viewResizeView(gViewSize); } @@ -1580,10 +1580,10 @@ void SetVideoMode(CGameMenuItemChain *pItem) viewResizeView(gViewSize); vid_vsync = videoSetVsync(nvsync); - gSetup.fullscreen = fullscreen; - gSetup.xdim = xres; - gSetup.ydim = yres; - gSetup.bpp = bpp; + ScreenMode = fullscreen; + ScreenWidth = xres; + ScreenHeight = yres; + ScreenBPP = bpp; } void SetWidescreen(CGameMenuItemZBool *pItem) @@ -1601,13 +1601,13 @@ void SetupVideoModeMenu(CGameMenuItemChain *pItem) UNREFERENCED_PARAMETER(pItem); for (int i = 0; i < gResolutionNum; i++) { - if (gSetup.xdim == gResolution[i].xdim && gSetup.ydim == gResolution[i].ydim) + if (ScreenWidth == gResolution[i].xdim && ScreenHeight == gResolution[i].ydim) { itemOptionsDisplayModeResolution.m_nFocus = i; break; } } - itemOptionsDisplayModeFullscreen.at20 = gSetup.fullscreen; + itemOptionsDisplayModeFullscreen.at20 = ScreenMode; #ifdef USE_OPENGL for (int i = 0; i < 2; i++) { @@ -1645,8 +1645,6 @@ void UpdateVideoColorMenu(CGameMenuItemSliderFloat *pItem) g_videoContrast = itemOptionsDisplayColorContrast.fValue; g_videoBrightness = itemOptionsDisplayColorBrightness.fValue; r_ambientlight = itemOptionsDisplayColorVisibility.fValue; - gBrightness = GAMMA_CALC<<2; - videoSetPalette(gBrightness>>2, gLastPal, 0); } void PreDrawDisplayColor(CGameMenuItem *pItem) @@ -1663,9 +1661,7 @@ void ResetVideoColor(CGameMenuItemChain *pItem) g_videoGamma = DEFAULT_GAMMA; g_videoContrast = DEFAULT_CONTRAST; g_videoBrightness = DEFAULT_BRIGHTNESS; - gBrightness = 0; r_ambientlight = 1.f; - videoSetPalette(gBrightness>>2, gLastPal, 0); } #ifdef USE_OPENGL @@ -1722,7 +1718,7 @@ void DoModeChange(void) videoResetMode(); if (videoSetGameMode(fullscreen, xres, yres, bpp, upscalefactor)) OSD_Printf("restartvid: Reset failed...\n"); - onvideomodechange(gSetup.bpp > 8); + onvideomodechange(ScreenBPP > 8); } #ifdef USE_OPENGL diff --git a/source/blood/src/osdcmd.cpp b/source/blood/src/osdcmd.cpp index a53b93102..bc2b60541 100644 --- a/source/blood/src/osdcmd.cpp +++ b/source/blood/src/osdcmd.cpp @@ -209,9 +209,9 @@ int osdcmd_restartvid(osdcmdptr_t UNUSED(parm)) { UNREFERENCED_CONST_PARAMETER(parm); videoResetMode(); - if (videoSetGameMode(gSetup.fullscreen,gSetup.xdim,gSetup.ydim,gSetup.bpp,0)) + if (videoSetGameMode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP,0)) ThrowError("restartvid: Reset failed...\n"); - onvideomodechange(gSetup.bpp>8); + onvideomodechange(ScreenBPP>8); viewResizeView(gViewSize); return OSDCMD_OK; @@ -257,8 +257,8 @@ static int osdcmd_music(osdcmdptr_t parm) static int osdcmd_vidmode(osdcmdptr_t parm) { - int32_t newbpp = gSetup.bpp, newwidth = gSetup.xdim, - newheight = gSetup.ydim, newfs = gSetup.fullscreen; + int32_t newbpp = ScreenBPP, newwidth = ScreenWidth, + newheight = ScreenHeight, newfs = ScreenMode; int32_t tmp; if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP; @@ -291,14 +291,14 @@ static int osdcmd_vidmode(osdcmdptr_t parm) if (videoSetGameMode(newfs,newwidth,newheight,newbpp,upscalefactor)) { initprintf("vidmode: Mode change failed!\n"); - if (videoSetGameMode(gSetup.fullscreen, gSetup.xdim, gSetup.ydim, gSetup.bpp, upscalefactor)) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, upscalefactor)) ThrowError("vidmode: Reset failed!\n"); } - gSetup.bpp = newbpp; - gSetup.xdim = newwidth; - gSetup.ydim = newheight; - gSetup.fullscreen = newfs; - onvideomodechange(gSetup.bpp>8); + ScreenBPP = newbpp; + ScreenWidth = newwidth; + ScreenHeight = newheight; + ScreenMode = newfs; + onvideomodechange(ScreenBPP>8); viewResizeView(gViewSize); return OSDCMD_OK; } @@ -468,7 +468,7 @@ void onvideomodechange(int32_t newmode) } #endif - videoSetPalette(ud.brightness>>2, palid, 0); + videoSetPalette(0, palid, 0); g_restorePalette = -1; #endif if (newmode) diff --git a/source/blood/src/screen.cpp b/source/blood/src/screen.cpp index eda44f346..864361402 100644 --- a/source/blood/src/screen.cpp +++ b/source/blood/src/screen.cpp @@ -73,7 +73,6 @@ static int curPalette; static int curGamma; int gGammaLevels; bool gFogMode = false; -int32_t gBrightness; void scrResetPalette(void) { @@ -87,7 +86,7 @@ void gSetDacRange(int start, int end, RGB *pPal) if (videoGetRenderMode() == REND_CLASSIC) { memcpy(palette, pPal, sizeof(palette)); - videoSetPalette(gBrightness>>2, 0, 0); + videoSetPalette(0, 0, 0); } } @@ -278,9 +277,9 @@ void scrSetGameMode(int vidMode, int XRes, int YRes, int nBits) } } - gSetup.xdim = validmode[resIdx].xdim; - gSetup.ydim = validmode[resIdx].ydim; - gSetup.bpp = bpp; + ScreenWidth = validmode[resIdx].xdim; + ScreenHeight = validmode[resIdx].ydim; + ScreenBPP = bpp; } videoClearViewableArea(0); scrNextPage(); diff --git a/source/blood/src/screen.h b/source/blood/src/screen.h index 5832666c7..5836848a8 100644 --- a/source/blood/src/screen.h +++ b/source/blood/src/screen.h @@ -40,7 +40,6 @@ extern RGB curDAC[256]; extern RGB baseDAC[256]; extern int gGammaLevels; extern bool gFogMode; -extern int32_t gBrightness; void scrCreateStdColors(void); void scrResetPalette(void); void gSetDacRange(int start, int end, RGB *pPal); diff --git a/source/blood/src/startwin.game.cpp b/source/blood/src/startwin.game.cpp index 34b59c63d..137bc38c4 100644 --- a/source/blood/src/startwin.game.cpp +++ b/source/blood/src/startwin.game.cpp @@ -61,12 +61,18 @@ BEGIN_BLD_NS #define TAB_CONFIG 0 #define TAB_MESSAGES 1 +typedef struct { + int32_t fullscreen; + int32_t xdim; + int32_t ydim; + int32_t bpp; +} ud_setup_t; + static struct { + ud_setup_t shared; INICHAIN const * ini; char *gamedir; - ud_setup_t shared; - int polymer; } settings; @@ -146,7 +152,7 @@ static void PopulateForm(int32_t pgs) HWND hwnd = GetDlgItem(pages[TAB_CONFIG], IDCVMODE); int mode = videoCheckMode(&settings.shared.xdim, &settings.shared.ydim, settings.shared.bpp, settings.shared.fullscreen, 1); - if (mode < 0 || (settings.shared.bpp < 15 && (settings.polymer))) + if (mode < 0 || (settings.shared.bpp < 15)) { int CONSTEXPR cd[] = { 32, 24, 16, 15, 8, 0 }; int i; @@ -173,7 +179,7 @@ static void PopulateForm(int32_t pgs) for (int i=0; i (a) || ((x).major == (a) && ((x).minor > (b) || ((x).minor == (b) && (x).patch >= (c))))) -extern int32_t maxrefreshfreq; - #ifdef _WIN32 HWND win_gethwnd(void); HINSTANCE win_gethinstance(void); diff --git a/source/build/src/engine.cpp b/source/build/src/engine.cpp index 5631385d7..a115b28c8 100644 --- a/source/build/src/engine.cpp +++ b/source/build/src/engine.cpp @@ -140,8 +140,6 @@ int32_t r_usenewaspect = 1, newaspect_enable=0; uint32_t r_screenxy = 0; int32_t r_fpgrouscan = 1; -CVAR(int, r_displayindex, 0, CVAR_ARCHIVE|CVAR_VIDEOCONFIG) -CVAR(Int, r_borderless, 2, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) int32_t globalflags; float g_videoGamma = DEFAULT_GAMMA; diff --git a/source/build/src/palette.cpp b/source/build/src/palette.cpp index b0d5dc21b..b55a0ee5c 100644 --- a/source/build/src/palette.cpp +++ b/source/build/src/palette.cpp @@ -764,19 +764,18 @@ void videoSetPalette(char dabrightness, uint8_t dapalid, uint8_t flags) dapal = basepaltable[curbasepal]; - if (!(flags & 4)) - { - curbrightness = clamp(dabrightness, 0, 15); - } - // In-scene brightness mode for RR's thunderstorm. This shouldn't affect the global gamma ramp. if ((videoGetRenderMode() >= REND_POLYMOST) && (flags & 32)) { + if (!(flags & 4)) + { + curbrightness = clamp(dabrightness, 0, 15); + } + r_scenebrightness = curbrightness; } else { - videoSetGamma(); r_scenebrightness = 0; } j = 0; // Assume that the backend can do it. diff --git a/source/build/src/sdlayer.cpp b/source/build/src/sdlayer.cpp index 2d5d6dc5a..82ef5ace4 100644 --- a/source/build/src/sdlayer.cpp +++ b/source/build/src/sdlayer.cpp @@ -28,6 +28,7 @@ #include "resourcefile.h" #include "sc_man.h" #include "i_specialpaths.h" +#include "c_cvars.h" #include "../../glbackend/glbackend.h" #ifdef USE_OPENGL @@ -49,6 +50,13 @@ #include "vfs.h" +CVAR(Int, r_displayindex, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, r_borderless, 2, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, maxrefreshfreq, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, windowpos, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, windowx, -1, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, windowy, -1, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) + #if SDL_MAJOR_VERSION != 1 static SDL_version linked; #endif @@ -110,7 +118,6 @@ static uint16_t sysgamma[3][256]; char nogl=0; #endif static int32_t vsync_renderlayer; -int32_t maxrefreshfreq=0; // last gamma, contrast, brightness @@ -1580,12 +1587,14 @@ int32_t videoSetMode(int32_t x, int32_t y, int32_t c, int32_t fs) x -= 10; y -= 10; } -#endif - if (called++) { - assert(0); + //assert(0); + return 0; } +#endif + + ret = setvideomode_sdlcommon(&x, &y, c, fs, ®rab); if (ret != 1) { diff --git a/source/common/gamecontrol.cpp b/source/common/gamecontrol.cpp index cbcd7de8a..daeadf7c5 100644 --- a/source/common/gamecontrol.cpp +++ b/source/common/gamecontrol.cpp @@ -376,6 +376,41 @@ void CONFIG_ReadCombatMacros() // //========================================================================== +static FString CONFIG_GetMD4EntryName(uint8_t const* const md4) +{ + return FStringf("MD4_%08x%08x%08x%08x", + B_BIG32(B_UNBUF32(&md4[0])), B_BIG32(B_UNBUF32(&md4[4])), + B_BIG32(B_UNBUF32(&md4[8])), B_BIG32(B_UNBUF32(&md4[12]))); +} + +int32_t CONFIG_GetMapBestTime(char const* const mapname, uint8_t const* const mapmd4) +{ + + auto m = CONFIG_GetMD4EntryName(mapmd4); + if (GameConfig->SetSection("MapTimes")) + { + auto s = GameConfig->GetValueForKey(m); + if (s) (int)strtoull(s, nullptr, 0); + } + return -1; +} + +int CONFIG_SetMapBestTime(uint8_t const* const mapmd4, int32_t tm) +{ + FStringf t("%d", tm); + auto m = CONFIG_GetMD4EntryName(mapmd4); + if (GameConfig->SetSection("MapTimes")) + { + GameConfig->SetValueForKey(m, t); + } + return 0; +} +//========================================================================== +// +// +// +//========================================================================== + int32_t MouseFunctions[MAXMOUSEBUTTONS][2]; int32_t MouseDigitalFunctions[MAXMOUSEAXES][2]; int32_t MouseAnalogueAxes[MAXMOUSEAXES]; diff --git a/source/common/gamecontrol.h b/source/common/gamecontrol.h index 5322d9cac..c17b07bac 100644 --- a/source/common/gamecontrol.h +++ b/source/common/gamecontrol.h @@ -154,3 +154,6 @@ char const* CONFIG_GetGameFuncOnKeyboard(int gameFunc); extern FStringCVar* const CombatMacros[]; void CONFIG_ReadCombatMacros(); + +int32_t CONFIG_GetMapBestTime(char const* const mapname, uint8_t const* const mapmd4); +int CONFIG_SetMapBestTime(uint8_t const* const mapmd4, int32_t tm); diff --git a/source/common/gamecvars.cpp b/source/common/gamecvars.cpp index 18ab1e46d..80214c00b 100644 --- a/source/common/gamecvars.cpp +++ b/source/common/gamecvars.cpp @@ -44,6 +44,7 @@ #include "_control.h" #include "gamecontrol.h" #include "m_argv.h" +#include "rts.h" /* Notes @@ -435,30 +436,31 @@ bool G_AllowAutoload() return true; } -#if 0 -//CONFIG_PutNumber("Screen Setup", "ScreenBPP", ud.setup.bpp); -CONFIG_PutNumber("Screen Setup", "ScreenHeight", ud.setup.ydim); -CONFIG_PutNumber("Screen Setup", "ScreenMode", ud.setup.fullscreen); -CONFIG_PutNumber("Screen Setup", "ScreenWidth", ud.setup.xdim); +CVAR(Int, ScreenMode, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, ScreenWidth, 1024, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, ScreenHeight, 768, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) +CVAR(Int, ScreenBPP, 32, CVAR_ARCHIVE | CVAR_VIDEOCONFIG) -//GameConfig->SetValueForKey("Setup", "SelectedGRP", g_grpNamePtr); -//GameConfig->SetValueForKey("Setup", "ModDir", &g_modDir[0]); - - -CONFIG_PutNumber("Screen Setup", "MaxRefreshFreq", maxrefreshfreq); -CONFIG_PutNumber("Screen Setup", "WindowPosX", windowx); -CONFIG_PutNumber("Screen Setup", "WindowPosY", windowy); -CONFIG_PutNumber("Screen Setup", "WindowPositioning", windowpos); - -if (!NAM_WW2GI) +CVAR(Bool, adult_lockout, false, CVAR_ARCHIVE) +CUSTOM_CVAR(String, playername, "Player", CVAR_ARCHIVE | CVAR_USERINFO) { - CONFIG_PutNumber("Screen Setup", "Out", ud.lockout); - GameConfig->SetValueForKey("Screen Setup", "Password", ud.pwlockout); + TArray buffer(strlen(self)+1, 1); + OSD_StripColors(buffer.Data(), self); + if (buffer.Size() < strlen(self)) + { + self = buffer.Data(); + } } -GameConfig->SetValueForKey("Comm Setup", "PlayerName", &szPlayerName[0]); +CUSTOM_CVAR(String, rtsname, "", CVAR_ARCHIVE | CVAR_USERINFO) +{ + RTS_Init(self); +} +#if 0 -GameConfig->SetValueForKey("Comm Setup", "RTSName", &ud.rtsname[0]); +// These will be redone once the resource management has been swapped out. +//GameConfig->SetValueForKey("Setup", "SelectedGRP", g_grpNamePtr); +//GameConfig->SetValueForKey("Setup", "ModDir", &g_modDir[0]); #endif @@ -495,13 +497,9 @@ GameConfig->SetValueForKey("Comm Setup", "RTSName", &ud.rtsname[0]); /* else if (!Bstrcasecmp(parm->name, "vid_gamma")) { - gBrightness = GAMMA_CALC; - gBrightness <<= 2; - videoSetPalette(gBrightness >> 2, gLastPal, 0); } else if (!Bstrcasecmp(parm->name, "vid_brightness") || !Bstrcasecmp(parm->name, "vid_contrast")) { - videoSetPalette(gBrightness >> 2, gLastPal, 0); } */ @@ -512,7 +510,6 @@ GameConfig->SetValueForKey("Comm Setup", "RTSName", &ud.rtsname[0]); { "r_usenewaspect","enable/disable new screen aspect ratio determination code",(void *) &r_usenewaspect, CVAR_BOOL, 0, 1 }, { "r_screenaspect","if using r_usenewaspect and in fullscreen, screen aspect ratio in the form XXYY, e.g. 1609 for 16:9", (void *) &r_screenxy, SCREENASPECT_CVAR_TYPE, 0, 9999 }, - { "r_windowpositioning", "enable/disable window position memory", (void *) &windowpos, CVAR_BOOL, 0, 1 }, //{ "vid_gamma","adjusts gamma component of gamma ramp",(void *) &g_videoGamma, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 }, //{ "vid_contrast","adjusts contrast component of gamma ramp",(void *) &g_videoContrast, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 }, //{ "vid_brightness","adjusts brightness component of gamma ramp",(void *) &g_videoBrightness, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 }, diff --git a/source/common/gamecvars.h b/source/common/gamecvars.h index 942dc2468..a3deb4d8c 100644 --- a/source/common/gamecvars.h +++ b/source/common/gamecvars.h @@ -97,6 +97,15 @@ EXTERN_CVAR(String, wchoice) EXTERN_CVAR(Bool, displaysetup) EXTERN_CVAR(Bool, noautoload) +EXTERN_CVAR(Int, ScreenMode) +EXTERN_CVAR(Int, ScreenWidth) +EXTERN_CVAR(Int, ScreenHeight) +EXTERN_CVAR(Int, ScreenBPP) + +EXTERN_CVAR(Bool, adult_lockout) +EXTERN_CVAR(String, playername) +EXTERN_CVAR(String, rtsname) + extern bool gNoAutoLoad; extern float r_ambientlightrecip; extern int hud_statusbarrange; // will be set by the game's configuration setup. diff --git a/source/common/rts.cpp b/source/common/rts.cpp index 0d68a4a3b..f0cb6a9f1 100644 --- a/source/common/rts.cpp +++ b/source/common/rts.cpp @@ -72,6 +72,7 @@ void RTS_Init(const char *filename) { // Don't do anything before actually requesting some data from it. // In most cases this is never ever used, so just remember the file name for later. + // This also simplifies initialization a lot because everything can just call this function and the last one wins. RTSName = filename; } diff --git a/source/duke3d/src/anim.cpp b/source/duke3d/src/anim.cpp index cb7a6f481..8d733abba 100644 --- a/source/duke3d/src/anim.cpp +++ b/source/duke3d/src/anim.cpp @@ -455,7 +455,6 @@ int32_t Anim_Play(const char *fn) paletteSetColorTable(ANIMPAL, ANIM_GetPalette(), true); // setpalette(0L,256L,tempbuf); - // setbrightness(ud.brightness>>2,tempbuf,2); P_SetGamePalette(g_player[myconnectindex].ps, ANIMPAL, 8 + 2); #ifdef USE_OPENGL diff --git a/source/duke3d/src/cmdline.cpp b/source/duke3d/src/cmdline.cpp index 1c8e0f641..546fd62db 100644 --- a/source/duke3d/src/cmdline.cpp +++ b/source/duke3d/src/cmdline.cpp @@ -397,10 +397,9 @@ void G_CheckCommandLine(int32_t argc, char const * const * argv) { if (argc > i+1) { - free(g_rtsNamePtr); - g_rtsNamePtr = dup_filename(argv[i+1]); - initprintf("Using RTS file \"%s\".\n", g_rtsNamePtr); - i++; + RTS_Init(argv[i+1]); + initprintf("Using RTS file \"%s\".\n", argv[i + 1]); + i++; } i++; continue; @@ -727,9 +726,9 @@ void G_CheckCommandLine(int32_t argc, char const * const * argv) } if (!Bstrcasecmp(k, ".rts")) { - free(g_rtsNamePtr); - g_rtsNamePtr = dup_filename(argv[i++]); - initprintf("Using RTS file \"%s\".\n", g_rtsNamePtr); + RTS_Init(argv[i]); + initprintf("Using RTS file \"%s\".\n", argv[i]); + i++; continue; } } diff --git a/source/duke3d/src/common.cpp b/source/duke3d/src/common.cpp index 0c095fe0e..2969cf3e4 100644 --- a/source/duke3d/src/common.cpp +++ b/source/duke3d/src/common.cpp @@ -11,6 +11,7 @@ #include "gamecvars.h" #include "cmdlib.h" #include "grpscan.h" +#include "rts.h" #include "vfs.h" @@ -56,8 +57,6 @@ static const char *defaultgameconfilename[GAMECOUNT] = { "EDUKE.CON", "NAM.CON", char *g_grpNamePtr = NULL; // g_scriptNamePtr can ONLY point to a malloc'd block (length BMAX_PATH) char *g_scriptNamePtr = NULL; -// g_rtsNamePtr can ONLY point to a malloc'd block (length BMAX_PATH) -char *g_rtsNamePtr = NULL; void clearGrpNamePtr(void) { @@ -430,8 +429,8 @@ void G_LoadGroups() if (type->defname && g_defNamePtr == NULL) g_defNamePtr = dup_filename(type->defname); - if (type->rtsname && g_rtsNamePtr == NULL) - g_rtsNamePtr = dup_filename(type->rtsname); + if (type->rtsname) + RTS_Init(type->rtsname); } else { @@ -1149,7 +1148,6 @@ void Duke_CommonCleanup(void) { DO_FREE_AND_NULL(g_grpNamePtr); DO_FREE_AND_NULL(g_scriptNamePtr); - DO_FREE_AND_NULL(g_rtsNamePtr); } #endif diff --git a/source/duke3d/src/common_game.h b/source/duke3d/src/common_game.h index 6508feda6..3c91f93b0 100644 --- a/source/duke3d/src/common_game.h +++ b/source/duke3d/src/common_game.h @@ -90,7 +90,6 @@ extern const char *g_gameNamePtr; extern char *g_grpNamePtr; extern char *g_scriptNamePtr; -extern char *g_rtsNamePtr; extern const char *G_DefaultGrpFile(void); extern const char *G_GrpFile(void); diff --git a/source/duke3d/src/config.cpp b/source/duke3d/src/config.cpp index 724c3096b..f03a2534e 100644 --- a/source/duke3d/src/config.cpp +++ b/source/duke3d/src/config.cpp @@ -46,7 +46,6 @@ BEGIN_DUKE_NS void CONFIG_SetDefaults(void) { - ud.config.scripthandle = -1; # if defined RENDERTYPESDL && SDL_MAJOR_VERSION > 1 uint32_t inited = SDL_WasInit(SDL_INIT_VIDEO); @@ -58,28 +57,27 @@ void CONFIG_SetDefaults(void) SDL_DisplayMode dm; if (SDL_GetDesktopDisplayMode(0, &dm) == 0) { - ud.setup.xdim = dm.w; - ud.setup.ydim = dm.h; + ScreenWidth = dm.w; + ScreenHeight = dm.h; } else # endif { - ud.setup.xdim = 1024; - ud.setup.ydim = 768; + ScreenWidth = 1024; + ScreenHeight = 768; } - ud.setup.bpp = 32; + ScreenBPP = 32; ud.camera_time = 0;//4; g_player[0].ps->aim_mode = 1; - ud.setup.fullscreen = 1; + ScreenMode = 1; ud.althud = 1; ud.angleinterpolation = 0; - ud.brightness = 8; ud.camerasprite = -1; ud.color = 0; ud.config.ShowWeapons = 0; @@ -88,7 +86,6 @@ void CONFIG_SetDefaults(void) ud.display_bonus_screen = 1; hud_position = 0; - ud.lockout = 0; ud.m_marker = 1; ud.menu_scrollbartilenum = -1; ud.menu_scrollbarz = 65536; @@ -97,7 +94,6 @@ void CONFIG_SetDefaults(void) ud.menu_slidebarz = 65536; ud.menu_slidecursorz = 65536; ud.menubackground = 1; - ud.pwlockout[0] = '\0'; ud.runkey_mode = 0; ud.screen_size = 4; ud.screen_tilting = 1; @@ -110,10 +106,6 @@ void CONFIG_SetDefaults(void) ud.statusbarscale = 100; ud.team = 0; - Bstrcpy(ud.rtsname, G_DefaultRtsFile()); - - Bstrcpy(szPlayerName, "Player"); - VM_OnEvent(EVENT_SETDEFAULTS, g_player[myconnectindex].ps->i, myconnectindex); } @@ -122,83 +114,12 @@ void CONFIG_SetDefaults(void) int CONFIG_ReadSetup(void) { - char tempbuf[1024]; - CONFIG_SetDefaults(); ud.config.setupread = 1; - pathsearchmode = 1; - - if (ud.config.scripthandle < 0) - { - if (buildvfs_exists(g_setupFileName)) // JBF 20031211 - ud.config.scripthandle = SCRIPT_Load(g_setupFileName); -#if !defined(EDUKE32_TOUCH_DEVICES) && !defined(EDUKE32_STANDALONE) - else if (buildvfs_exists(SETUPFILENAME)) - { - int const i = wm_ynbox("Import Configuration Settings", - "The configuration file \"%s\" was not found. " - "Import configuration data from \"%s\"?", - g_setupFileName, SETUPFILENAME); - if (i) - ud.config.scripthandle = SCRIPT_Load(SETUPFILENAME); - } -#endif - } - pathsearchmode = 0; - if (ud.config.scripthandle < 0) - return -1; - - Bmemset(tempbuf, 0, sizeof(tempbuf)); - SCRIPT_GetString(ud.config.scripthandle, "Comm Setup","PlayerName",&tempbuf[0]); - - char nameBuf[64]; - - while (Bstrlen(OSD_StripColors(nameBuf, tempbuf)) > 10) - tempbuf[Bstrlen(tempbuf) - 1] = '\0'; - - Bstrncpyz(szPlayerName, tempbuf, sizeof(szPlayerName)); - - SCRIPT_GetString(ud.config.scripthandle, "Comm Setup","RTSName",&ud.rtsname[0]); - - if (g_noSetup == 0 && g_modDir[0] == '/') - { - SCRIPT_GetString(ud.config.scripthandle, "Setup","ModDir",&g_modDir[0]); - - if (!buildvfs_isdir(g_modDir)) - { - initprintf("Invalid mod dir in cfg!\n"); - Bsprintf(g_modDir,"/"); - } - } - - if (g_grpNamePtr == NULL && g_addonNum == 0) - { - SCRIPT_GetStringPtr(ud.config.scripthandle, "Setup", "SelectedGRP", &g_grpNamePtr); - if (g_grpNamePtr && !Bstrlen(g_grpNamePtr)) - g_grpNamePtr = dup_filename(G_DefaultGrpFile()); - } - - if (!NAM_WW2GI) - { - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "Out", &ud.lockout); - SCRIPT_GetString(ud.config.scripthandle, "Screen Setup", "Password", &ud.pwlockout[0]); - } - - windowx = -1; - windowy = -1; - - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "MaxRefreshFreq", (int32_t *)&maxrefreshfreq); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenHeight", &ud.setup.ydim); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenMode", &ud.setup.fullscreen); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenWidth", &ud.setup.xdim); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPosX", (int32_t *)&windowx); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPosY", (int32_t *)&windowy); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPositioning", (int32_t *)&windowpos); - - if (ud.setup.bpp < 8) ud.setup.bpp = 32; + if (ScreenBPP < 8) ScreenBPP = 32; ud.config.setupread = 1; return 0; @@ -210,62 +131,4 @@ void CONFIG_WriteSettings(void) // save binds and aliases to _settings. } -static const char *CONFIG_GetMapEntryName(char m[], char const * const mapname) -{ - strcpy(m, mapname); - - char *p = strrchr(m, '/'); - if (!p) p = strrchr(m, '\\'); - if (p) Bmemmove(m, p, Bstrlen(p)+1); - for (p=m; *p; p++) *p = tolower(*p); - - // cheap hack because SCRIPT_GetNumber doesn't like the slashes - p = m; - while (*p == '/') p++; - - return p; -} - -static void CONFIG_GetMD4EntryName(char m[], uint8_t const * const md4) -{ - sprintf(m, "MD4_%08x%08x%08x%08x", - B_BIG32(B_UNBUF32(&md4[0])), B_BIG32(B_UNBUF32(&md4[4])), - B_BIG32(B_UNBUF32(&md4[8])), B_BIG32(B_UNBUF32(&md4[12]))); -} - -int32_t CONFIG_GetMapBestTime(char const * const mapname, uint8_t const * const mapmd4) -{ - if (!ud.config.setupread || ud.config.scripthandle < 0) - return -1; - - char m[37]; - - CONFIG_GetMD4EntryName(m, mapmd4); - - int32_t t = -1; - if (SCRIPT_GetNumber(ud.config.scripthandle, "MapTimes", m, &t)) - { - // fall back to map filenames - char m2[BMAX_PATH]; - auto p = CONFIG_GetMapEntryName(m2, mapname); - - SCRIPT_GetNumber(ud.config.scripthandle, "MapTimes", p, &t); - } - - return t; -} - -int CONFIG_SetMapBestTime(uint8_t const * const mapmd4, int32_t tm) -{ - if (ud.config.scripthandle < 0 && (ud.config.scripthandle = SCRIPT_Init(g_setupFileName)) < 0) - return -1; - - char m[37]; - - CONFIG_GetMD4EntryName(m, mapmd4); - SCRIPT_PutNumber(ud.config.scripthandle, "MapTimes", m, tm, FALSE, FALSE); - - return 0; -} - END_DUKE_NS diff --git a/source/duke3d/src/config.h b/source/duke3d/src/config.h index ce14eb5ef..b1d878503 100644 --- a/source/duke3d/src/config.h +++ b/source/duke3d/src/config.h @@ -31,8 +31,5 @@ BEGIN_DUKE_NS int CONFIG_ReadSetup(void); void CONFIG_SetDefaults(void); -int32_t CONFIG_GetMapBestTime(char const *mapname, uint8_t const *mapmd4); -int CONFIG_SetMapBestTime(uint8_t const *mapmd4, int32_t tm); - END_DUKE_NS #endif diff --git a/source/duke3d/src/game.cpp b/source/duke3d/src/game.cpp index d895cd116..0051b9485 100644 --- a/source/duke3d/src/game.cpp +++ b/source/duke3d/src/game.cpp @@ -200,15 +200,15 @@ void G_HandleSpecialKeys(void) if (g_networkMode != NET_DEDICATED_SERVER && ALT_IS_PRESSED && KB_KeyPressed(sc_Enter)) { - if (videoSetGameMode(!ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail)) + if (videoSetGameMode(!ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail)) { OSD_Printf(OSD_ERROR "Failed setting video mode!\n"); - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail)) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail)) G_GameExit("Fatal error: unable to recover from failure setting video mode!\n"); } else - ud.setup.fullscreen = !ud.setup.fullscreen; + ScreenMode = !ScreenMode; KB_ClearKeyDown(sc_Enter); g_restorePalette = 1; @@ -296,7 +296,7 @@ void G_GameExit(const char *msg) g_mostConcurrentPlayers > 1 && g_player[myconnectindex].ps->gm & MODE_GAME && GTFLAGS(GAMETYPE_SCORESHEET) && *msg == ' ') { G_BonusScreen(1); - videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail); + videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail); } // shareware and TEN screens @@ -3667,7 +3667,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t ourz, int32_t oura case BLOODSPLAT2__STATIC: case BLOODSPLAT3__STATIC: case BLOODSPLAT4__STATIC: - if (ud.lockout) t->xrepeat = t->yrepeat = 0; + if (adult_lockout) t->xrepeat = t->yrepeat = 0; else if (t->pal == 6) { t->shade = -127; @@ -3729,7 +3729,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t ourz, int32_t oura auto const pSprite = (i < 0) ? (uspriteptr_t)&tsprite[j] : (uspriteptr_t)&sprite[i]; #ifndef EDUKE32_STANDALONE - if (ud.lockout && G_CheckAdultTile(DYNAMICTILEMAP(pSprite->picnum))) + if (adult_lockout && G_CheckAdultTile(DYNAMICTILEMAP(pSprite->picnum))) { t->xrepeat = t->yrepeat = 0; continue; @@ -3802,7 +3802,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t ourz, int32_t oura //case MAIL+1__STATIC: case PAPER__STATIC: //case PAPER+1__STATIC: - if (ud.lockout && pSprite->pal == 2) + if (adult_lockout && pSprite->pal == 2) { t->xrepeat = t->yrepeat = 0; continue; @@ -4090,7 +4090,7 @@ PALONLY: case DUKELEG__STATIC: case DUKEGUN__STATIC: case DUKETORSO__STATIC: - if (ud.lockout) + if (adult_lockout) { t->xrepeat = t->yrepeat = 0; continue; @@ -4454,7 +4454,7 @@ static int32_t g_RTSPlaying; // Returns: started playing? extern int G_StartRTS(int lumpNum, int localPlayer) { - if (!ud.lockout && snd_enabled && + if (!adult_lockout && snd_enabled && RTS_IsInitialized() && g_RTSPlaying == 0 && (snd_speech & (localPlayer ? 1 : 4))) { char *const pData = (char *)RTS_GetSound(lumpNum - 1); @@ -6487,9 +6487,6 @@ int app_main(int argc, const char * const*argv) g_mostConcurrentPlayers = ud.multimode; // XXX: redundant? - char const * rtsname = g_rtsNamePtr ? g_rtsNamePtr : ud.rtsname; - RTS_Init(rtsname); - ud.last_level = -1; initprintf("Initializing OSD...\n"); @@ -6532,16 +6529,16 @@ int app_main(int argc, const char * const*argv) if (g_networkMode != NET_DEDICATED_SERVER && validmodecnt > 0) { - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail) < 0) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail) < 0) { - initprintf("Failure setting video mode %dx%dx%d %s! Trying next mode...\n", ud.setup.xdim, ud.setup.ydim, - ud.setup.bpp, ud.setup.fullscreen ? "fullscreen" : "windowed"); + initprintf("Failure setting video mode %dx%dx%d %s! Trying next mode...\n", *ScreenWidth, *ScreenHeight, + *ScreenBPP, *ScreenMode ? "fullscreen" : "windowed"); int resIdx = 0; for (int i=0; i < validmodecnt; i++) { - if (validmode[i].xdim == ud.setup.xdim && validmode[i].ydim == ud.setup.ydim) + if (validmode[i].xdim == ScreenWidth && validmode[i].ydim == ScreenHeight) { resIdx = i; break; @@ -6549,7 +6546,7 @@ int app_main(int argc, const char * const*argv) } int const savedIdx = resIdx; - int bpp = ud.setup.bpp; + int bpp = ScreenBPP; while (videoSetGameMode(0, validmode[resIdx].xdim, validmode[resIdx].ydim, bpp, ud.detail) < 0) { @@ -6566,12 +6563,12 @@ int app_main(int argc, const char * const*argv) } } - ud.setup.xdim = validmode[resIdx].xdim; - ud.setup.ydim = validmode[resIdx].ydim; - ud.setup.bpp = bpp; + ScreenWidth = validmode[resIdx].xdim; + ScreenHeight = validmode[resIdx].ydim; + ScreenBPP = bpp; } - videoSetPalette(ud.brightness>>2, myplayer.palette, 0); + videoSetPalette(0, myplayer.palette, 0); S_SoundStartup(); S_MusicStartup(); } diff --git a/source/duke3d/src/game.h b/source/duke3d/src/game.h index 02c0c7c34..5b8ad4196 100644 --- a/source/duke3d/src/game.h +++ b/source/duke3d/src/game.h @@ -155,14 +155,6 @@ extern camera_t g_camera; #define MAX_RETURN_VALUES 6 -// KEEPINSYNC lunatic/_defs_game.lua -typedef struct { - int32_t fullscreen; - int32_t xdim; - int32_t ydim; - int32_t bpp; -} ud_setup_t; - typedef struct { #if !defined LUNATIC vec3_t camerapos; @@ -180,7 +172,7 @@ typedef struct { int32_t menu_scrollbartilenum, menu_scrollbarz, menu_scrollcursorz; int32_t entered_name,screen_tilting,fta_on; - int32_t m_coop,coop,screen_size,lockout; + int32_t m_coop,coop,screen_size; int32_t playerai,angleinterpolation; int32_t respawn_monsters,respawn_items,respawn_inventory,recstat,monsters_off,brightness; @@ -227,17 +219,13 @@ typedef struct { int32_t JoystickAnalogueDead[MAXJOYAXES]; int32_t JoystickAnalogueSaturate[MAXJOYAXES]; - int32_t scripthandle; int32_t setupread; } config; - ud_setup_t setup; - char overhead_on,last_overhead,showweapons; char god,warp_on,cashman,eog,showallmap; char show_help,scrollmode,noclip; - char pwlockout[MAXPWLOCKOUT],rtsname[MAXRTSNAME]; char display_bonus_screen; char show_level_text; diff --git a/source/duke3d/src/gameexec.cpp b/source/duke3d/src/gameexec.cpp index fbda9053a..ed0224935 100644 --- a/source/duke3d/src/gameexec.cpp +++ b/source/duke3d/src/gameexec.cpp @@ -4255,11 +4255,6 @@ badindex: { int32_t nValue = 0; insptr++; - if (ud.config.scripthandle < 0) - { - insptr++; - dispatch(); - } FString section = currentGame + ".Gamevars"; GameConfig->SetSection(section); switch (VM_DECODE_INST(tw)) @@ -6802,7 +6797,7 @@ void G_RestoreMapState(void) screenpeek = myconnectindex; #ifndef EDUKE32_STANDALONE - if (ud.lockout) + if (adult_lockout) { for (native_t x=g_animWallCnt-1; x>=0; x--) switch (DYNAMICTILEMAP(wall[animwall[x].wallnum].picnum)) diff --git a/source/duke3d/src/gamestructures.cpp b/source/duke3d/src/gamestructures.cpp index 9b81a47f1..1aff0ca14 100644 --- a/source/duke3d/src/gamestructures.cpp +++ b/source/duke3d/src/gamestructures.cpp @@ -1417,7 +1417,7 @@ int32_t __fastcall VM_GetUserdef(int32_t labelNum, int const lParm2) case USERDEFS_M_COOP: labelNum = ud.m_coop; break; case USERDEFS_COOP: labelNum = ud.coop; break; case USERDEFS_SCREEN_SIZE: labelNum = ud.screen_size; break; - case USERDEFS_LOCKOUT: labelNum = ud.lockout; break; + case USERDEFS_LOCKOUT: labelNum = adult_lockout; break; case USERDEFS_CROSSHAIR: labelNum = cl_crosshair; break; case USERDEFS_PLAYERAI: labelNum = ud.playerai; break; case USERDEFS_RESPAWN_MONSTERS: labelNum = ud.respawn_monsters; break; @@ -1425,7 +1425,7 @@ int32_t __fastcall VM_GetUserdef(int32_t labelNum, int const lParm2) case USERDEFS_RESPAWN_INVENTORY: labelNum = ud.respawn_inventory; break; case USERDEFS_RECSTAT: labelNum = ud.recstat; break; case USERDEFS_MONSTERS_OFF: labelNum = ud.monsters_off; break; - case USERDEFS_BRIGHTNESS: labelNum = ud.brightness; break; + case USERDEFS_BRIGHTNESS: labelNum = 8;/*ud.brightness;*/ break; case USERDEFS_M_RESPAWN_ITEMS: labelNum = ud.m_respawn_items; break; case USERDEFS_M_RESPAWN_MONSTERS: labelNum = ud.m_respawn_monsters; break; case USERDEFS_M_RESPAWN_INVENTORY: labelNum = ud.m_respawn_inventory; break; @@ -1611,7 +1611,7 @@ void __fastcall VM_SetUserdef(int const labelNum, int const lParm2, int32_t cons G_UpdateScreenArea(); } break; - case USERDEFS_LOCKOUT: ud.lockout = iSet; break; + case USERDEFS_LOCKOUT: adult_lockout = iSet; break; case USERDEFS_CROSSHAIR: cl_crosshair.SetGenericRepDefault(iSet, CVAR_Int); break; case USERDEFS_PLAYERAI: ud.playerai = iSet; break; case USERDEFS_RESPAWN_MONSTERS: ud.respawn_monsters = iSet; break; @@ -1619,7 +1619,7 @@ void __fastcall VM_SetUserdef(int const labelNum, int const lParm2, int32_t cons case USERDEFS_RESPAWN_INVENTORY: ud.respawn_inventory = iSet; break; case USERDEFS_RECSTAT: ud.recstat = iSet; break; case USERDEFS_MONSTERS_OFF: ud.monsters_off = iSet; break; - case USERDEFS_BRIGHTNESS: ud.brightness = iSet; break; + case USERDEFS_BRIGHTNESS: /*ud.brightness = iSet;*/ break; //Oh, no, I won't give modding access to this at all! case USERDEFS_M_RESPAWN_ITEMS: ud.m_respawn_items = iSet; break; case USERDEFS_M_RESPAWN_MONSTERS: ud.m_respawn_monsters = iSet; break; case USERDEFS_M_RESPAWN_INVENTORY: ud.m_respawn_inventory = iSet; break; diff --git a/source/duke3d/src/menus.cpp b/source/duke3d/src/menus.cpp index 7d5c2489e..1a2a26526 100644 --- a/source/duke3d/src/menus.cpp +++ b/source/duke3d/src/menus.cpp @@ -408,10 +408,8 @@ static MenuOptionSet_t MEOS_DemoRec = MAKE_MENUOPTIONSET( MEOSN_DemoRec, NULL, 0 static MenuOption_t MEO_GAMESETUP_DEMOREC = MAKE_MENUOPTION( &MF_Redfont, &MEOS_OffOn, &ud.m_recstat ); static MenuEntry_t ME_GAMESETUP_DEMOREC = MAKE_MENUENTRY( "Record demo:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_GAMESETUP_DEMOREC, Option ); -static MenuOption_t MEO_ADULTMODE = MAKE_MENUOPTION(&MF_Redfont, &MEOS_OffOn, &ud.lockout); +static MenuOption_t MEO_ADULTMODE = MAKE_MENUOPTION(&MF_Redfont, &MEOS_OffOn, &adult_lockout.Value); static MenuEntry_t ME_ADULTMODE = MAKE_MENUENTRY( "Parental lock:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_ADULTMODE, Option ); -// static MenuLink_t MEO_ADULTMODE_PASSWORD = { MENU_ADULTPASSWORD, MA_None, }; -// static MenuEntry_t ME_ADULTMODE_PASSWORD = MAKE_MENUENTRY( "Enter Password", &MF_Redfont, &, &MEO_ADULTMODE_PASSWORD, Link ); #if defined(EDUKE32_ANDROID_MENU) || !defined(EDUKE32_SIMPLE_MENU) static MenuLink_t MEO_GAMESETUP_CHEATS = { MENU_CHEATS, MA_Advance, }; @@ -3197,10 +3195,10 @@ static void Menu_EntryLinkActivate(MenuEntry_t *entry) g_restorePalette = -1; G_UpdateScreenArea(); - ud.setup.fullscreen = fullscreen; - ud.setup.xdim = xres; - ud.setup.ydim = yres; - ud.setup.bpp = bpp; + ScreenMode = fullscreen; + ScreenWidth = xres; + ScreenHeight = yres; + ScreenBPP = bpp; } else if (entry == &ME_SOUND_RESTART) { @@ -3327,30 +3325,10 @@ static int32_t Menu_EntryOptionModify(MenuEntry_t *entry, int32_t newOption) wall[animwall[x].wallnum].picnum = SCREENBREAK6; break; } - - ud.pwlockout[0] = 0; - Menu_Change(MENU_ADULTPASSWORD); -// return -1; } else { - if (ud.pwlockout[0] == 0) - { - ud.lockout = 0; -#if 0 - for (x=0; x= 0) - wall[animwall[x].wallnum].picnum = wall[animwall[x].wallnum].extra; -#endif - } - else - { - Menu_Change(MENU_ADULTPASSWORD); - return -1; - } + adult_lockout = 0; } } @@ -3412,7 +3390,7 @@ static void Menu_EntryOptionDidModify(MenuEntry_t *entry) videoResetMode(); if (videoSetGameMode(fullscreen, xres, yres, bpp, upscalefactor)) OSD_Printf("restartvid: Reset failed...\n"); - onvideomodechange(ud.setup.bpp>8); + onvideomodechange(ScreenBPP>8); G_RefreshLights(); } #endif @@ -3464,16 +3442,6 @@ static int32_t Menu_EntryRangeFloatModify(MenuEntry_t *entry, float newValue) static int32_t Menu_EntryRangeFloatDidModify(MenuEntry_t *entry) { - if (entry == &ME_COLCORR_GAMMA) - { - ud.brightness = GAMMA_CALC<<2; - videoSetPalette(ud.brightness>>2, g_player[myconnectindex].ps->palette, 0); - } - else if (entry == &ME_COLCORR_CONTRAST || entry == &ME_COLCORR_BRIGHTNESS) - { - videoSetPalette(ud.brightness>>2, g_player[myconnectindex].ps->palette, 0); - } - return 0; } @@ -3685,9 +3653,8 @@ static void Menu_Verify(int32_t input) g_videoGamma = DEFAULT_GAMMA; g_videoContrast = DEFAULT_CONTRAST; g_videoBrightness = DEFAULT_BRIGHTNESS; - ud.brightness = 0; r_ambientlight = 1.f; - videoSetPalette(ud.brightness>>2,g_player[myconnectindex].ps->palette,0); + videoSetPalette(0,g_player[myconnectindex].ps->palette,0); } break; @@ -3762,21 +3729,6 @@ static void Menu_TextFormSubmit(char *input) switch (g_currentMenu) { case MENU_ADULTPASSWORD: - if (Bstrlen(input) && (ud.pwlockout[0] == 0 || ud.lockout == 0)) - Bstrcpy(&ud.pwlockout[0], input); - else if (Bstrcmp(input, &ud.pwlockout[0]) == 0) - { - for (int x=0; x= 0) - wall[animwall[x].wallnum].picnum = wall[animwall[x].wallnum].extra; - ud.lockout = 0; - } - - S_PlaySound(PISTOL_BODYHIT); - Menu_Change(MENU_GAMESETUP); break; case MENU_CHEATENTRY: diff --git a/source/duke3d/src/osdcmds.cpp b/source/duke3d/src/osdcmds.cpp index ba1208c14..d0518d16a 100644 --- a/source/duke3d/src/osdcmds.cpp +++ b/source/duke3d/src/osdcmds.cpp @@ -420,9 +420,9 @@ int osdcmd_restartvid(osdcmdptr_t UNUSED(parm)) { UNREFERENCED_CONST_PARAMETER(parm); videoResetMode(); - if (videoSetGameMode(ud.setup.fullscreen,ud.setup.xdim,ud.setup.ydim,ud.setup.bpp,ud.detail)) + if (videoSetGameMode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP,ud.detail)) G_GameExit("restartvid: Reset failed...\n"); - onvideomodechange(ud.setup.bpp>8); + onvideomodechange(ScreenBPP>8); G_UpdateScreenArea(); return OSDCMD_OK; @@ -440,8 +440,8 @@ int osdcmd_restartmap(osdcmdptr_t UNUSED(parm)) static int osdcmd_vidmode(osdcmdptr_t parm) { - int32_t newbpp = ud.setup.bpp, newwidth = ud.setup.xdim, - newheight = ud.setup.ydim, newfs = ud.setup.fullscreen; + int32_t newbpp = ScreenBPP, newwidth = ScreenWidth, + newheight = ScreenHeight, newfs = ScreenMode; int32_t tmp; if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP; @@ -474,14 +474,14 @@ static int osdcmd_vidmode(osdcmdptr_t parm) if (videoSetGameMode(newfs,newwidth,newheight,newbpp,upscalefactor)) { initprintf("vidmode: Mode change failed!\n"); - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, upscalefactor)) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, upscalefactor)) G_GameExit("vidmode: Reset failed!\n"); } - ud.setup.bpp = newbpp; - ud.setup.xdim = newwidth; - ud.setup.ydim = newheight; - ud.setup.fullscreen = newfs; - onvideomodechange(ud.setup.bpp>8); + ScreenBPP = newbpp; + ScreenWidth = newwidth; + ScreenHeight = newheight; + ScreenMode = newfs; + onvideomodechange(ScreenBPP>8); G_UpdateScreenArea(); return OSDCMD_OK; } @@ -852,7 +852,7 @@ void onvideomodechange(int32_t newmode) } #endif - videoSetPalette(ud.brightness>>2, palid, 0); + videoSetPalette(0, palid, 0); g_restorePalette = -1; g_crosshairSum = -1; } diff --git a/source/duke3d/src/premap.cpp b/source/duke3d/src/premap.cpp index 0f758307c..3280f5ada 100644 --- a/source/duke3d/src/premap.cpp +++ b/source/duke3d/src/premap.cpp @@ -1065,7 +1065,7 @@ static void G_SetupSpecialWalls(void) case FEMPIC3__STATIC: w.extra = w.picnum; - if (ud.lockout) + if (adult_lockout) w.picnum = (w.picnum == FEMPIC1) ? BLANKSCREEN : SCREENBREAK6; aw.tag = w.picnum; @@ -1349,7 +1349,7 @@ void G_NewGame(int volumeNum, int levelNum, int skillNum) // we don't want the intro to play after the multiplayer setup screen if ((!g_netServer && ud.multimode < 2) && !Menu_HaveUserMap() && !VM_OnEventWithReturn(EVENT_NEWGAMESCREEN, g_player[myconnectindex].ps->i, myconnectindex, 0) - && !levelNum && volumeNum == 3 && !ud.lockout && !(G_GetLogoFlags() & LOGO_NOE4CUTSCENE)) + && !levelNum && volumeNum == 3 && !adult_lockout && !(G_GetLogoFlags() & LOGO_NOE4CUTSCENE)) G_PlayE4Cutscene(); #ifdef EDUKE32_TOUCH_DEVICES @@ -1794,7 +1794,7 @@ int G_EnterLevel(int gameMode) FX_StopAllSounds(); S_ClearSoundLocks(); FX_SetReverb(0); - videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, upscalefactor); + videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, upscalefactor); } if (Menu_HaveUserMap()) diff --git a/source/duke3d/src/savegame.cpp b/source/duke3d/src/savegame.cpp index fdc71206d..9b362223b 100644 --- a/source/duke3d/src/savegame.cpp +++ b/source/duke3d/src/savegame.cpp @@ -2480,7 +2480,7 @@ static void postloadplayer(int32_t savegamep) if (savegamep) { #ifndef EDUKE32_STANDALONE - if (ud.lockout) + if (adult_lockout) { for (i=0; i>2, palid, set); + videoSetPalette(0, palid, set); } void G_GetCrosshairColor(void) @@ -1719,7 +1719,7 @@ static void G_BonusCutscenes(void) if ((G_GetLogoFlags() & LOGO_NOE1BONUSSCENE) && (G_GetLogoFlags() & LOGO_NOE1ENDSCREEN)) return; - if (ud.lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE1BONUSSCENE)) + if (adult_lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE1BONUSSCENE)) { int bonuscnt=0; int const bossmove [] = @@ -1832,7 +1832,7 @@ static void G_BonusCutscenes(void) videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE2BONUSSCENE)) + if (adult_lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE2BONUSSCENE)) { fadepal(0, 0, 0, 252, 0, -4); Anim_Play("cineov2.anm"); @@ -1866,7 +1866,7 @@ static void G_BonusCutscenes(void) videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE4BONUSSCENE)) + if (adult_lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE4BONUSSCENE)) { fadepal(0, 0, 0, 252, 0, -4); @@ -1947,7 +1947,7 @@ static void G_BonusCutscenes(void) S_StopMusic(); videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE3BONUSSCENE)) + if (adult_lockout == 0 && !(G_GetLogoFlags() & LOGO_NOE3BONUSSCENE)) { fadepal(0, 0, 0, 252, 0, -4); Anim_Play("cineov3.anm"); @@ -1967,7 +1967,7 @@ static void G_BonusCutscenes(void) Anim_Play("RADLOGO.ANM"); - if (ud.lockout == 0 && !I_GeneralTrigger()) + if (adult_lockout == 0 && !I_GeneralTrigger()) { if (G_PlaySoundWhileNoInput(ENDSEQVOL3SND5)) goto ENDANM; if (G_PlaySoundWhileNoInput(ENDSEQVOL3SND6)) goto ENDANM; diff --git a/source/duke3d/src/sector.cpp b/source/duke3d/src/sector.cpp index 4127590c9..9d98a59d9 100644 --- a/source/duke3d/src/sector.cpp +++ b/source/duke3d/src/sector.cpp @@ -3281,7 +3281,7 @@ void P_CheckSectors(int playerNum) case STALL__STATIC: if (pPlayer->last_pissed_time == 0) { - if (ud.lockout == 0) + if (adult_lockout == 0) A_PlaySound(DUKE_URINATE, pPlayer->i); pPlayer->last_pissed_time = GAMETICSPERSEC * 220; diff --git a/source/duke3d/src/sounds.cpp b/source/duke3d/src/sounds.cpp index 7e48d13d1..6762953d7 100644 --- a/source/duke3d/src/sounds.cpp +++ b/source/duke3d/src/sounds.cpp @@ -678,7 +678,7 @@ int S_PlaySound3D(int num, int spriteNum, const vec3_t *pos) auto const pPlayer = g_player[myconnectindex].ps; - if (((snd.m & SF_ADULT) && ud.lockout) || (unsigned)spriteNum >= MAXSPRITES || (pPlayer->gm & MODE_MENU) || !FX_VoiceAvailable(snd.pr) + if (((snd.m & SF_ADULT) && adult_lockout) || (unsigned)spriteNum >= MAXSPRITES || (pPlayer->gm & MODE_MENU) || !FX_VoiceAvailable(snd.pr) || (pPlayer->timebeforeexit > 0 && pPlayer->timebeforeexit <= GAMETICSPERSEC * 3)) return -1; @@ -817,7 +817,7 @@ int S_PlaySound(int num) return -1; } - if ((!(snd_speech & 1) && (snd.m & SF_TALK)) || ((snd.m & SF_ADULT) && ud.lockout) || !FX_VoiceAvailable(snd.pr)) + if ((!(snd_speech & 1) && (snd.m & SF_TALK)) || ((snd.m & SF_ADULT) && adult_lockout) || !FX_VoiceAvailable(snd.pr)) return -1; int const pitch = S_GetPitch(num); diff --git a/source/duke3d/src/startwin.game.cpp b/source/duke3d/src/startwin.game.cpp index 3db38f6b0..9feae5aee 100644 --- a/source/duke3d/src/startwin.game.cpp +++ b/source/duke3d/src/startwin.game.cpp @@ -58,6 +58,13 @@ BEGIN_DUKE_NS #define TAB_CONFIG 0 #define TAB_MESSAGES 1 +typedef struct { + int32_t fullscreen; + int32_t xdim; + int32_t ydim; + int32_t bpp; +} ud_setup_t; + static struct { struct grpfile_t const * grp; @@ -618,8 +625,8 @@ int32_t startwin_run(void) settings.polymer = 0; #endif - settings.shared = ud.setup; - settings.grp = g_selectedGrp; + settings.shared = { ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP }; + settings.grp = g_selectedGrp; settings.gamedir = g_modDir; PopulateForm(-1); @@ -650,8 +657,11 @@ int32_t startwin_run(void) if (done) { - ud.setup = settings.shared; - g_selectedGrp = settings.grp; + ScreenWidth = settings.shared.xdim; + ScreenHeight = settings.shared.ydim; + ScreenMode = settings.shared.fullscreen; + ScreenBPP = settings.shared.bpp; + g_selectedGrp = settings.grp; Bstrcpy(g_modDir, (g_noSetup == 0 && settings.gamedir != NULL) ? settings.gamedir : "/"); } diff --git a/source/rr/src/anim.cpp b/source/rr/src/anim.cpp index 5077eb95c..fd86e2d32 100644 --- a/source/rr/src/anim.cpp +++ b/source/rr/src/anim.cpp @@ -492,7 +492,6 @@ int32_t Anim_Play(const char *fn) paletteSetColorTable(ANIMPAL, ANIM_GetPalette(), true); // setpalette(0L,256L,tempbuf); - // setbrightness(ud.brightness>>2,tempbuf,2); P_SetGamePalette(g_player[myconnectindex].ps, ANIMPAL, 8 + 2); timerUpdate(); diff --git a/source/rr/src/cmdline.cpp b/source/rr/src/cmdline.cpp index 4fea4b08a..2448327d9 100644 --- a/source/rr/src/cmdline.cpp +++ b/source/rr/src/cmdline.cpp @@ -366,9 +366,8 @@ void G_CheckCommandLine(int32_t argc, char const * const * argv) { if (argc > i+1) { - free(g_rtsNamePtr); - g_rtsNamePtr = dup_filename(argv[i+1]); - initprintf("Using RTS file \"%s\".\n", g_rtsNamePtr); + RTS_Init(argv[i+1]); + initprintf("Using RTS file \"%s\".\n", argv[i + 1]); i++; } i++; @@ -696,9 +695,9 @@ void G_CheckCommandLine(int32_t argc, char const * const * argv) } if (!Bstrcasecmp(k, ".rts")) { - free(g_rtsNamePtr); - g_rtsNamePtr = dup_filename(argv[i++]); - initprintf("Using RTS file \"%s\".\n", g_rtsNamePtr); + RTS_Init(argv[i]); + initprintf("Using RTS file \"%s\".\n", argv[i]); + i++; continue; } } diff --git a/source/rr/src/common.cpp b/source/rr/src/common.cpp index 4b63afd8d..d0a717042 100644 --- a/source/rr/src/common.cpp +++ b/source/rr/src/common.cpp @@ -10,6 +10,7 @@ #include "cmdlib.h" #include "grpscan.h" #include "gamecvars.h" +#include "rts.h" #ifdef _WIN32 # define NEED_SHLWAPI_H @@ -50,8 +51,6 @@ static const char *defaultgameconfilename[GAMECOUNT] = { "GAME.CON", "GAME.CON", char *g_grpNamePtr = NULL; // g_scriptNamePtr can ONLY point to a malloc'd block (length BMAX_PATH) char *g_scriptNamePtr = NULL; -// g_rtsNamePtr can ONLY point to a malloc'd block (length BMAX_PATH) -char *g_rtsNamePtr = NULL; void clearGrpNamePtr(void) { @@ -388,8 +387,8 @@ void G_LoadGroups() if (type->defname && g_defNamePtr == NULL) g_defNamePtr = dup_filename(type->defname); - if (type->rtsname && g_rtsNamePtr == NULL) - g_rtsNamePtr = dup_filename(type->rtsname); + if (type->rtsname) + RTS_Init(type->rtsname); } else { @@ -1166,7 +1165,6 @@ void Duke_CommonCleanup(void) { DO_FREE_AND_NULL(g_grpNamePtr); DO_FREE_AND_NULL(g_scriptNamePtr); - DO_FREE_AND_NULL(g_rtsNamePtr); } #endif diff --git a/source/rr/src/common_game.h b/source/rr/src/common_game.h index 224dd7861..8585b6313 100644 --- a/source/rr/src/common_game.h +++ b/source/rr/src/common_game.h @@ -98,7 +98,6 @@ extern const char *g_gameNamePtr; extern char *g_grpNamePtr; extern char *g_scriptNamePtr; -extern char *g_rtsNamePtr; extern const char *G_DefaultGrpFile(void); extern const char *G_GrpFile(void); diff --git a/source/rr/src/config.cpp b/source/rr/src/config.cpp index 843223f06..1936e3c90 100644 --- a/source/rr/src/config.cpp +++ b/source/rr/src/config.cpp @@ -47,10 +47,7 @@ BEGIN_RR_NS void CONFIG_SetDefaults(void) { - // JBF 20031211 - int32_t i; - ud.config.scripthandle = -1; # if defined RENDERTYPESDL && SDL_MAJOR_VERSION > 1 uint32_t inited = SDL_WasInit(SDL_INIT_VIDEO); if (inited == 0) @@ -61,35 +58,32 @@ void CONFIG_SetDefaults(void) SDL_DisplayMode dm; if (SDL_GetDesktopDisplayMode(0, &dm) == 0) { - ud.setup.xdim = dm.w; - ud.setup.ydim = dm.h; + ScreenWidth = dm.w; + ScreenHeight = dm.h; } else # endif { - ud.setup.xdim = 1024; - ud.setup.ydim = 768; + ScreenWidth = 1024; + ScreenHeight = 768; } - ud.setup.bpp = 32; + ScreenBPP = 32; g_player[0].ps->aim_mode = 1; ud.config.ShowOpponentWeapons = 0; ud.althud = 1; ud.automsg = 0; - ud.brightness = 8; ud.camerasprite = -1; ud.camera_time = 0;//4; ud.color = 0; ud.detail = 0; - ud.lockout = 0; ud.m_ffire = 1; ud.m_marker = 1; ud.menu_slidebarz = 65536; ud.menu_slidebarmargin = RR ? 6 * 65536 : 65536; ud.menu_slidecursorz = RR ? 32768 : 65536; - ud.pwlockout[0] = '\0'; ud.runkey_mode = 0; ud.screen_size = 4; ud.screen_tilting = 1; @@ -99,7 +93,7 @@ void CONFIG_SetDefaults(void) ud.team = 0; ud.angleinterpolation = 0; - ud.setup.fullscreen = 1; + ScreenMode = 1; ud.display_bonus_screen = 1; ud.show_level_text = 1; @@ -111,95 +105,20 @@ void CONFIG_SetDefaults(void) ud.menu_scrollbartilenum = -1; ud.menu_scrollbarz = 65536; ud.menu_scrollcursorz = 65536; - - Bstrcpy(ud.rtsname, G_DefaultRtsFile()); - - Bstrcpy(szPlayerName, "Player"); } int32_t CONFIG_ReadSetup(void) { - int32_t dummy; - char tempbuf[1024]; - CONFIG_SetDefaults(); ud.config.setupread = 1; pathsearchmode = 1; - if (ud.config.scripthandle < 0) - { - if (buildvfs_exists(g_setupFileName)) // JBF 20031211 - ud.config.scripthandle = SCRIPT_Load(g_setupFileName); -#if !defined(EDUKE32_TOUCH_DEVICES) - else if (buildvfs_exists(SETUPFILENAME)) - { - int32_t i; - i=wm_ynbox("Import Configuration Settings", "The configuration file \"%s\" was not found. " - "Import configuration data from \"%s\"?", g_setupFileName, SETUPFILENAME); - if (i) ud.config.scripthandle = SCRIPT_Load(SETUPFILENAME); - } - else if (buildvfs_exists("duke3d.cfg")) - { - int32_t i; - i=wm_ynbox("Import Configuration Settings", "The configuration file \"%s\" was not found. " - "Import configuration data from \"duke3d.cfg\"?", g_setupFileName); - if (i) ud.config.scripthandle = SCRIPT_Load("duke3d.cfg"); - } -#endif - } - pathsearchmode = 0; - if (ud.config.scripthandle < 0) - return -1; - Bmemset(tempbuf, 0, sizeof(tempbuf)); - SCRIPT_GetString(ud.config.scripthandle, "Comm Setup","PlayerName",&tempbuf[0]); - - char nameBuf[64]; - - while (Bstrlen(OSD_StripColors(nameBuf, tempbuf)) > 10) - tempbuf[Bstrlen(tempbuf) - 1] = '\0'; - - Bstrncpyz(szPlayerName, tempbuf, sizeof(szPlayerName)); - - SCRIPT_GetString(ud.config.scripthandle, "Comm Setup","RTSName",&ud.rtsname[0]); - - if (g_noSetup == 0 && g_modDir[0] == '/') - { - SCRIPT_GetString(ud.config.scripthandle, "Setup","ModDir",&g_modDir[0]); - - if (!buildvfs_isdir(g_modDir)) - { - initprintf("Invalid mod dir in cfg!\n"); - Bsprintf(g_modDir,"/"); - } - } - - if (g_grpNamePtr == NULL && g_addonNum == 0) - { - SCRIPT_GetStringPtr(ud.config.scripthandle, "Setup", "SelectedGRP", &g_grpNamePtr); - if (g_grpNamePtr && !Bstrlen(g_grpNamePtr)) - g_grpNamePtr = dup_filename(G_DefaultGrpFile()); - } - - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "Out",&ud.lockout); - SCRIPT_GetString(ud.config.scripthandle, "Screen Setup","Password",&ud.pwlockout[0]); - - windowx = -1; - windowy = -1; - - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "MaxRefreshFreq", (int32_t *)&maxrefreshfreq); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenHeight", &ud.setup.ydim); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenMode", &ud.setup.fullscreen); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "ScreenWidth", &ud.setup.xdim); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPosX", (int32_t *)&windowx); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPosY", (int32_t *)&windowy); - SCRIPT_GetNumber(ud.config.scripthandle, "Screen Setup", "WindowPositioning", (int32_t *)&windowpos); - - if (ud.setup.bpp < 8) ud.setup.bpp = 32; + if (ScreenBPP < 8) ScreenBPP = 32; ud.config.setupread = 1; return 0; @@ -211,62 +130,5 @@ void CONFIG_WriteSettings(void) // save binds and aliases to _settings. } -static const char *CONFIG_GetMapEntryName(char m[], char const * const mapname) -{ - strcpy(m, mapname); - - char *p = strrchr(m, '/'); - if (!p) p = strrchr(m, '\\'); - if (p) Bmemmove(m, p, Bstrlen(p)+1); - for (p=m; *p; p++) *p = tolower(*p); - - // cheap hack because SCRIPT_GetNumber doesn't like the slashes - p = m; - while (*p == '/') p++; - - return p; -} - -static void CONFIG_GetMD4EntryName(char m[], uint8_t const * const md4) -{ - sprintf(m, "MD4_%08x%08x%08x%08x", - B_BIG32(B_UNBUF32(&md4[0])), B_BIG32(B_UNBUF32(&md4[4])), - B_BIG32(B_UNBUF32(&md4[8])), B_BIG32(B_UNBUF32(&md4[12]))); -} - -int32_t CONFIG_GetMapBestTime(char const * const mapname, uint8_t const * const mapmd4) -{ - if (!ud.config.setupread || ud.config.scripthandle < 0) - return -1; - - char m[37]; - - CONFIG_GetMD4EntryName(m, mapmd4); - - int32_t t = -1; - if (SCRIPT_GetNumber(ud.config.scripthandle, "MapTimes", m, &t)) - { - // fall back to map filenames - char m2[BMAX_PATH]; - auto p = CONFIG_GetMapEntryName(m2, mapname); - - SCRIPT_GetNumber(ud.config.scripthandle, "MapTimes", p, &t); - } - - return t; -} - -int32_t CONFIG_SetMapBestTime(uint8_t const * const mapmd4, int32_t const tm) -{ - if (ud.config.scripthandle < 0 && (ud.config.scripthandle = SCRIPT_Init(g_setupFileName)) < 0) - return -1; - - char m[37]; - - CONFIG_GetMD4EntryName(m, mapmd4); - SCRIPT_PutNumber(ud.config.scripthandle, "MapTimes", m, tm, FALSE, FALSE); - - return 0; -} END_RR_NS diff --git a/source/rr/src/config.h b/source/rr/src/config.h index 79711fba7..eaf9ab298 100644 --- a/source/rr/src/config.h +++ b/source/rr/src/config.h @@ -32,9 +32,6 @@ BEGIN_RR_NS int32_t CONFIG_ReadSetup( void ); void CONFIG_GetSetupFilename( void ); -int32_t CONFIG_GetMapBestTime(char const * mapname, uint8_t const * mapmd4); -int32_t CONFIG_SetMapBestTime(uint8_t const * mapmd4, int32_t tm); - void CONFIG_SetDefaults(void); END_RR_NS diff --git a/source/rr/src/game.cpp b/source/rr/src/game.cpp index d2a44ba8a..00baab047 100644 --- a/source/rr/src/game.cpp +++ b/source/rr/src/game.cpp @@ -177,13 +177,13 @@ void G_HandleSpecialKeys(void) if (/*g_networkMode != NET_DEDICATED_SERVER && */ALT_IS_PRESSED && KB_KeyPressed(sc_Enter)) { - if (videoSetGameMode(!ud.setup.fullscreen,ud.setup.xdim,ud.setup.ydim,ud.setup.bpp,ud.detail)) + if (videoSetGameMode(!ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP,ud.detail)) { OSD_Printf(OSD_ERROR "Failed setting fullscreen video mode.\n"); - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail)) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail)) G_GameExit("Failed to recover from failure to set fullscreen video mode.\n"); } - else ud.setup.fullscreen = !ud.setup.fullscreen; + else ScreenMode = !ScreenMode; KB_ClearKeyDown(sc_Enter); g_restorePalette = 1; G_UpdateScreenArea(); @@ -381,7 +381,7 @@ void G_GameExit(const char *msg) if (g_mostConcurrentPlayers > 1 && g_player[myconnectindex].ps->gm&MODE_GAME && GTFLAGS(GAMETYPE_SCORESHEET) && *msg == ' ') { G_BonusScreen(1); - videoSetGameMode(ud.setup.fullscreen,ud.setup.xdim,ud.setup.ydim,ud.setup.bpp,ud.detail); + videoSetGameMode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP,ud.detail); } // shareware and TEN screens @@ -4802,7 +4802,7 @@ void G_DoSpriteAnimations(int32_t ourx, int32_t oury, int32_t ourz, int32_t oura case BLOODSPLAT2__STATIC: case BLOODSPLAT3__STATIC: case BLOODSPLAT4__STATIC: - if (ud.lockout) t->xrepeat = t->yrepeat = 0; + if (adult_lockout) t->xrepeat = t->yrepeat = 0; else if (t->pal == 6) { t->shade = -127; @@ -4880,7 +4880,7 @@ default_case1: // NOTE: not const spritetype because set at SET_SPRITE_NOT_TSPRITE (see below). uspritetype *const pSprite = (i < 0) ? &tsprite[j] : (uspritetype *)&sprite[i]; - if (ud.lockout && G_CheckAdultTile(DYNAMICTILEMAP(pSprite->picnum))) + if (adult_lockout && G_CheckAdultTile(DYNAMICTILEMAP(pSprite->picnum))) { t->xrepeat = t->yrepeat = 0; continue; @@ -4973,7 +4973,7 @@ default_case1: case PAPER__STATIC: //case PAPER+1__STATIC: if (RR && (switchpic == PUKE || switchpic == MAIL || switchpic == PAPER)) goto default_case2; - if (ud.lockout && pSprite->pal == 2) + if (adult_lockout && pSprite->pal == 2) { t->xrepeat = t->yrepeat = 0; continue; @@ -5490,7 +5490,7 @@ PALONLY: } if (RRRA && t->pal == 19 && (switchpic == MINJIBA || switchpic == MINJIBB || switchpic == MINJIBC)) t->shade = -127; - if (ud.lockout) + if (adult_lockout) { t->xrepeat = t->yrepeat = 0; continue; @@ -5961,7 +5961,7 @@ static int32_t g_RTSPlaying; // Returns: started playing? extern int G_StartRTS(int lumpNum, int localPlayer) { - if (!ud.lockout && snd_enabled && + if (!adult_lockout && snd_enabled && RTS_IsInitialized() && g_RTSPlaying == 0 && (snd_speech & (localPlayer ? 1 : 4))) { char *const pData = (char *)RTS_GetSound(lumpNum - 1); @@ -7863,9 +7863,6 @@ int app_main(int argc, char const * const * argv) g_mostConcurrentPlayers = ud.multimode; // XXX: redundant? - char const * rtsname = g_rtsNamePtr ? g_rtsNamePtr : ud.rtsname; - RTS_Init(rtsname); - ud.last_level = -1; initprintf("Initializing OSD...\n"); @@ -7906,16 +7903,16 @@ int app_main(int argc, char const * const * argv) //if (g_networkMode != NET_DEDICATED_SERVER) { - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, ud.detail) < 0) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ud.detail) < 0) { - initprintf("Failure setting video mode %dx%dx%d %s! Trying next mode...\n", ud.setup.xdim, ud.setup.ydim, - ud.setup.bpp, ud.setup.fullscreen ? "fullscreen" : "windowed"); + initprintf("Failure setting video mode %dx%dx%d %s! Trying next mode...\n", *ScreenWidth, *ScreenHeight, + *ScreenBPP, *ScreenMode ? "fullscreen" : "windowed"); int resIdx = 0; for (int i=0; i < validmodecnt; i++) { - if (validmode[i].xdim == ud.setup.xdim && validmode[i].ydim == ud.setup.ydim) + if (validmode[i].xdim == ScreenWidth && validmode[i].ydim == ScreenHeight) { resIdx = i; break; @@ -7923,7 +7920,7 @@ int app_main(int argc, char const * const * argv) } int const savedIdx = resIdx; - int bpp = ud.setup.bpp; + int bpp = ScreenBPP; while (videoSetGameMode(0, validmode[resIdx].xdim, validmode[resIdx].ydim, bpp, ud.detail) < 0) { @@ -7940,12 +7937,12 @@ int app_main(int argc, char const * const * argv) } } - ud.setup.xdim = validmode[resIdx].xdim; - ud.setup.ydim = validmode[resIdx].ydim; - ud.setup.bpp = bpp; + ScreenWidth = validmode[resIdx].xdim; + ScreenHeight = validmode[resIdx].ydim; + ScreenBPP = bpp; } - videoSetPalette(ud.brightness>>2, g_player[myconnectindex].ps->palette, 0); + videoSetPalette(0, g_player[myconnectindex].ps->palette, 0); S_MusicStartup(); S_SoundStartup(); } diff --git a/source/rr/src/game.h b/source/rr/src/game.h index f2dd3c8a2..73f232b15 100644 --- a/source/rr/src/game.h +++ b/source/rr/src/game.h @@ -137,13 +137,6 @@ void A_DeleteSprite(int spriteNum); // KEEPINSYNC lunatic/_defs_game.lua -typedef struct { - int32_t fullscreen; - int32_t xdim; - int32_t ydim; - int32_t bpp; -} ud_setup_t; - typedef struct { vec3_t camerapos; int32_t const_visibility,uw_framerate; @@ -188,16 +181,12 @@ typedef struct { int32_t AutoAim; int32_t ShowOpponentWeapons; - int32_t scripthandle; int32_t setupread; } config; - ud_setup_t setup; - char overhead_on,last_overhead,showweapons; char god,warp_on,cashman,eog,showallmap; char show_help,scrollmode,noclip; - char pwlockout[MAXPWLOCKOUT],rtsname[MAXRTSNAME]; char display_bonus_screen; char show_level_text; diff --git a/source/rr/src/menus.cpp b/source/rr/src/menus.cpp index 2284f149a..bea35d184 100644 --- a/source/rr/src/menus.cpp +++ b/source/rr/src/menus.cpp @@ -393,10 +393,8 @@ static MenuOptionSet_t MEOS_DemoRec = MAKE_MENUOPTIONSET( MEOSN_DemoRec, NULL, 0 static MenuOption_t MEO_GAMESETUP_DEMOREC = MAKE_MENUOPTION( &MF_Redfont, &MEOS_OffOn, &ud.m_recstat ); static MenuEntry_t ME_GAMESETUP_DEMOREC = MAKE_MENUENTRY( "Record demo:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_GAMESETUP_DEMOREC, Option ); -static MenuOption_t MEO_ADULTMODE = MAKE_MENUOPTION(&MF_Redfont, &MEOS_OffOn, &ud.lockout); +static MenuOption_t MEO_ADULTMODE = MAKE_MENUOPTION(&MF_Redfont, &MEOS_OffOn, &adult_lockout.Value); static MenuEntry_t ME_ADULTMODE = MAKE_MENUENTRY( "Parental lock:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_ADULTMODE, Option ); -// static MenuLink_t MEO_ADULTMODE_PASSWORD = { MENU_ADULTPASSWORD, MA_None, }; -// static MenuEntry_t ME_ADULTMODE_PASSWORD = MAKE_MENUENTRY( "Enter Password", &MF_Redfont, &, &MEO_ADULTMODE_PASSWORD, Link ); #ifdef EDUKE32_ANDROID_MENU static MenuOption_t MEO_GAMESETUP_CROUCHLOCK = MAKE_MENUOPTION(&MF_Redfont, &MEOS_OffOn, &droidinput.toggleCrouch); @@ -3582,10 +3580,10 @@ static void Menu_EntryLinkActivate(MenuEntry_t *entry) G_UpdateScreenArea(); videoSetRenderMode(nrend); vid_vsync = videoSetVsync(nvsync); - ud.setup.fullscreen = fullscreen; - ud.setup.xdim = xres; - ud.setup.ydim = yres; - ud.setup.bpp = bpp; + ScreenMode = fullscreen; + ScreenWidth = xres; + ScreenHeight = yres; + ScreenBPP = bpp; } else if (entry == &ME_SOUND_RESTART) { @@ -3614,9 +3612,8 @@ static void Menu_EntryLinkActivate(MenuEntry_t *entry) g_videoGamma = DEFAULT_GAMMA; g_videoContrast = DEFAULT_CONTRAST; g_videoBrightness = DEFAULT_BRIGHTNESS; - ud.brightness = 0; r_ambientlight = 1.f; - videoSetPalette(ud.brightness>>2,g_player[myconnectindex].ps->palette,0); + videoSetPalette(0,g_player[myconnectindex].ps->palette,0); } else if (entry == &ME_KEYBOARDSETUP_RESET) CONFIG_SetDefaultKeys("demolition/defbinds.txt"); @@ -3717,29 +3714,10 @@ static int32_t Menu_EntryOptionModify(MenuEntry_t *entry, int32_t newOption) break; } - ud.pwlockout[0] = 0; - Menu_Change(MENU_ADULTPASSWORD); -// return -1; } else { - if (ud.pwlockout[0] == 0) - { - ud.lockout = 0; -#if 0 - for (x=0; x= 0) - wall[animwall[x].wallnum].picnum = wall[animwall[x].wallnum].extra; -#endif - } - else - { - Menu_Change(MENU_ADULTPASSWORD); - return -1; - } + adult_lockout = 0; } } @@ -3804,7 +3782,7 @@ static void Menu_EntryOptionDidModify(MenuEntry_t *entry) videoResetMode(); if (videoSetGameMode(fullscreen, xres, yres, bpp, upscalefactor)) OSD_Printf("restartvid: Reset failed...\n"); - onvideomodechange(ud.setup.bpp>8); + onvideomodechange(ScreenBPP>8); G_RefreshLights(); } #endif @@ -3856,16 +3834,6 @@ static int32_t Menu_EntryRangeFloatModify(MenuEntry_t *entry, float newValue) static int32_t Menu_EntryRangeFloatDidModify(MenuEntry_t *entry) { - if (entry == &ME_COLCORR_GAMMA) - { - ud.brightness = GAMMA_CALC<<2; - videoSetPalette(ud.brightness>>2, g_player[myconnectindex].ps->palette, 0); - } - else if (entry == &ME_COLCORR_CONTRAST || entry == &ME_COLCORR_BRIGHTNESS) - { - videoSetPalette(ud.brightness>>2, g_player[myconnectindex].ps->palette, 0); - } - return 0; } @@ -4119,21 +4087,6 @@ static void Menu_TextFormSubmit(char *input) switch (g_currentMenu) { case MENU_ADULTPASSWORD: - if (Bstrlen(input) && (ud.pwlockout[0] == 0 || ud.lockout == 0)) - Bstrcpy(&ud.pwlockout[0], input); - else if (Bstrcmp(input, &ud.pwlockout[0]) == 0) - { - for (int x=0; x= 0) - wall[animwall[x].wallnum].picnum = wall[animwall[x].wallnum].extra; - ud.lockout = 0; - } - - S_PlaySound(RR ? 341 : PISTOL_BODYHIT); - Menu_Change(MENU_GAMESETUP); break; case MENU_CHEATENTRY: diff --git a/source/rr/src/osdcmds.cpp b/source/rr/src/osdcmds.cpp index 7305d050c..e40e22336 100644 --- a/source/rr/src/osdcmds.cpp +++ b/source/rr/src/osdcmds.cpp @@ -415,9 +415,9 @@ int osdcmd_restartvid(osdcmdptr_t UNUSED(parm)) { UNREFERENCED_CONST_PARAMETER(parm); videoResetMode(); - if (videoSetGameMode(ud.setup.fullscreen,ud.setup.xdim,ud.setup.ydim,ud.setup.bpp,ud.detail)) + if (videoSetGameMode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP,ud.detail)) G_GameExit("restartvid: Reset failed...\n"); - onvideomodechange(ud.setup.bpp>8); + onvideomodechange(ScreenBPP>8); G_UpdateScreenArea(); return OSDCMD_OK; @@ -435,8 +435,8 @@ int osdcmd_restartmap(osdcmdptr_t UNUSED(parm)) static int osdcmd_vidmode(osdcmdptr_t parm) { - int32_t newbpp = ud.setup.bpp, newwidth = ud.setup.xdim, - newheight = ud.setup.ydim, newfs = ud.setup.fullscreen; + int32_t newbpp = ScreenBPP, newwidth = ScreenWidth, + newheight = ScreenHeight, newfs = ScreenMode; int32_t tmp; if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP; @@ -469,14 +469,14 @@ static int osdcmd_vidmode(osdcmdptr_t parm) if (videoSetGameMode(newfs,newwidth,newheight,newbpp,upscalefactor)) { initprintf("vidmode: Mode change failed!\n"); - if (videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, upscalefactor)) + if (videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, upscalefactor)) G_GameExit("vidmode: Reset failed!\n"); } - ud.setup.bpp = newbpp; - ud.setup.xdim = newwidth; - ud.setup.ydim = newheight; - ud.setup.fullscreen = newfs; - onvideomodechange(ud.setup.bpp>8); + ScreenBPP = newbpp; + ScreenWidth = newwidth; + ScreenHeight = newheight; + ScreenMode = newfs; + onvideomodechange(ScreenBPP>8); G_UpdateScreenArea(); return OSDCMD_OK; } @@ -707,7 +707,7 @@ void onvideomodechange(int32_t newmode) } #endif - videoSetPalette(ud.brightness>>2, palid, 0); + videoSetPalette(0, palid, 0); g_restorePalette = -1; g_crosshairSum = -1; } diff --git a/source/rr/src/player.cpp b/source/rr/src/player.cpp index dae88ad3c..49745c706 100644 --- a/source/rr/src/player.cpp +++ b/source/rr/src/player.cpp @@ -3754,7 +3754,7 @@ static int32_t P_DoCounters(int playerNum) if (pPlayer->drink_amt > 66 && (pPlayer->last_pissed_time % GAMETICSPERSEC) == 0) pPlayer->drink_amt--; - if (!ud.lockout) + if (!adult_lockout) { switch (pPlayer->last_pissed_time) { diff --git a/source/rr/src/premap.cpp b/source/rr/src/premap.cpp index 2315402ea..5b62c0f18 100644 --- a/source/rr/src/premap.cpp +++ b/source/rr/src/premap.cpp @@ -1804,7 +1804,7 @@ static void prelevel(char g) pWall->extra = pWall->picnum; animwall[g_animWallCnt].tag = -1; - if (ud.lockout) + if (adult_lockout) pWall->picnum = (pWall->picnum == FEMPIC1) ? BLANKSCREEN : SCREENBREAK6; animwall[g_animWallCnt].wallnum = i; @@ -1852,7 +1852,7 @@ static void prelevel(char g) if (RR && !g_thunderOn) { - videoSetPalette(ud.brightness >> 2,BASEPAL,0); + videoSetPalette(0,BASEPAL,0); g_visibility = g_player[screenpeek].ps->visibility; } if (RR) @@ -1910,7 +1910,7 @@ void G_NewGame(int volumeNum, int levelNum, int skillNum) // we don't want the intro to play after the multiplayer setup screen if (!RR && (!g_netServer && ud.multimode < 2) && UserMap == 0 && - levelNum == 0 && volumeNum == 3 && ud.lockout == 0) + levelNum == 0 && volumeNum == 3 && adult_lockout == 0) { S_PlaySpecialMusicOrNothing(MUS_BRIEFING); @@ -2320,7 +2320,7 @@ int G_EnterLevel(int gameMode) FX_StopAllSounds(); S_ClearSoundLocks(); FX_SetReverb(0); - videoSetGameMode(ud.setup.fullscreen, ud.setup.xdim, ud.setup.ydim, ud.setup.bpp, upscalefactor); + videoSetGameMode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, upscalefactor); } if (Menu_HaveUserMap()) diff --git a/source/rr/src/savegame.cpp b/source/rr/src/savegame.cpp index 7248c3984..70937a3e6 100644 --- a/source/rr/src/savegame.cpp +++ b/source/rr/src/savegame.cpp @@ -1910,7 +1910,7 @@ static void postloadplayer(int32_t savegamep) //4 if (savegamep) { - if (ud.lockout) + if (adult_lockout) { for (i=0; i>2, palid, set); + videoSetPalette(0, palid, set); } void G_GetCrosshairColor(void) @@ -1713,7 +1713,7 @@ static void G_BonusCutscenes(void) case 0: videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0) + if (adult_lockout == 0) { Anim_Play("turdmov.anm"); I_ClearAllInput(); @@ -1738,7 +1738,7 @@ static void G_BonusCutscenes(void) case 1: videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0) + if (adult_lockout == 0) { Anim_Play("rr_outro.anm"); I_ClearAllInput(); @@ -1769,7 +1769,7 @@ static void G_BonusCutscenes(void) switch (ud.volume_number) { case 0: - if (ud.lockout == 0) + if (adult_lockout == 0) { int32_t bonuscnt=0; int32_t const bossmove [] = @@ -1876,7 +1876,7 @@ static void G_BonusCutscenes(void) videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0) + if (adult_lockout == 0) { fadepal(0, 0, 0, 252, 0, -4); Anim_Play("cineov2.anm"); @@ -1904,7 +1904,7 @@ static void G_BonusCutscenes(void) videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0) + if (adult_lockout == 0) { fadepal(0, 0, 0, 252, 0, -4); @@ -1971,7 +1971,7 @@ static void G_BonusCutscenes(void) S_StopMusic(); videoClearScreen(0L); videoNextPage(); - if (ud.lockout == 0) + if (adult_lockout == 0) { fadepal(0, 0, 0, 252, 0, -4); Anim_Play("cineov3.anm"); @@ -1988,7 +1988,7 @@ static void G_BonusCutscenes(void) Anim_Play("RADLOGO.ANM"); - if (ud.lockout == 0 && !I_CheckAllInput()) + if (adult_lockout == 0 && !I_CheckAllInput()) { if (G_PlaySoundWhileNoInput(ENDSEQVOL3SND5)) goto ENDANM; if (G_PlaySoundWhileNoInput(ENDSEQVOL3SND6)) goto ENDANM; diff --git a/source/rr/src/sector.cpp b/source/rr/src/sector.cpp index 9b0934425..ef5760c14 100644 --- a/source/rr/src/sector.cpp +++ b/source/rr/src/sector.cpp @@ -3609,7 +3609,7 @@ void P_HandleSharedKeys(int playerNum) && (!RRRA || sprite[pPlayer->i].extra > 0)) { pPlayer->last_pissed_time = 4000; - if (!ud.lockout) + if (!adult_lockout) A_PlaySound(437, pPlayer->i); if (sprite[pPlayer->i].extra <= pPlayer->max_player_health - pPlayer->max_player_health / 10) { @@ -4576,7 +4576,7 @@ void P_CheckSectors(int playerNum) case RRTILE2122__STATICRR: if (pPlayer->last_pissed_time == 0) { - if (ud.lockout == 0) + if (adult_lockout == 0) A_PlaySound(RR ? 435 : DUKE_URINATE, pPlayer->i); pPlayer->last_pissed_time = GAMETICSPERSEC * 220; @@ -5223,7 +5223,7 @@ void G_Thunder(void) } else { - brightness = ud.brightness>>2; + brightness = 0; g_visibility = g_player[screenpeek].ps->visibility; } } @@ -5232,9 +5232,9 @@ void G_Thunder(void) g_thunderTime -= 4; if (g_thunderTime < 0) { - brightness = ud.brightness>>2; + brightness = 0; g_thunderFlash = 0; - videoSetPalette(brightness,g_player[screenpeek].ps->palette,32); + videoSetPalette(0,g_player[screenpeek].ps->palette,32); g_visibility = g_player[screenpeek].ps->visibility; } } diff --git a/source/rr/src/sounds.cpp b/source/rr/src/sounds.cpp index aa060937b..933f34b00 100644 --- a/source/rr/src/sounds.cpp +++ b/source/rr/src/sounds.cpp @@ -616,7 +616,7 @@ int S_PlaySound3D(int num, int spriteNum, const vec3_t *pos) const DukePlayer_t *const pPlayer = g_player[myconnectindex].ps; - if (((snd.m & SF_ADULT) && ud.lockout) || (unsigned)spriteNum >= MAXSPRITES || (pPlayer->gm & MODE_MENU) || !FX_VoiceAvailable(snd.pr) + if (((snd.m & SF_ADULT) && adult_lockout) || (unsigned)spriteNum >= MAXSPRITES || (pPlayer->gm & MODE_MENU) || !FX_VoiceAvailable(snd.pr) || (pPlayer->timebeforeexit > 0 && pPlayer->timebeforeexit <= GAMETICSPERSEC * 3)) return -1; @@ -752,7 +752,7 @@ int S_PlaySound(int num) return -1; } - if ((!(snd_speech & 1) && (snd.m & SF_TALK)) || ((snd.m & SF_ADULT) && ud.lockout) || !FX_VoiceAvailable(snd.pr)) + if ((!(snd_speech & 1) && (snd.m & SF_TALK)) || ((snd.m & SF_ADULT) && adult_lockout) || !FX_VoiceAvailable(snd.pr)) return -1; int const pitch = S_GetPitch(num); diff --git a/source/rr/src/startwin.game.cpp b/source/rr/src/startwin.game.cpp index d983aeaf1..1168ce385 100644 --- a/source/rr/src/startwin.game.cpp +++ b/source/rr/src/startwin.game.cpp @@ -56,6 +56,14 @@ BEGIN_RR_NS #define TAB_CONFIG 0 #define TAB_MESSAGES 1 +typedef struct { + int32_t fullscreen; + int32_t xdim; + int32_t ydim; + int32_t bpp; +} ud_setup_t; + + static struct { struct grpfile_t const * grp; @@ -618,8 +626,8 @@ int32_t startwin_run(void) settings.polymer = 0; #endif - settings.shared = ud.setup; - settings.grp = g_selectedGrp; + settings.shared = { ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP }; + settings.grp = g_selectedGrp; settings.gamedir = g_modDir; PopulateForm(-1); @@ -650,8 +658,11 @@ int32_t startwin_run(void) if (done) { - ud.setup = settings.shared; - glrendmode = (settings.polymer) ? REND_POLYMER : REND_POLYMOST; + ScreenWidth = settings.shared.xdim; + ScreenHeight = settings.shared.ydim; + ScreenMode = settings.shared.fullscreen; + ScreenBPP = settings.shared.bpp; + glrendmode = REND_POLYMOST; g_selectedGrp = settings.grp; Bstrcpy(g_modDir, (g_noSetup == 0 && settings.gamedir != NULL) ? settings.gamedir : "/"); } diff --git a/source/sw/src/anim.cpp b/source/sw/src/anim.cpp index 8db5c3d73..bcfcc2031 100644 --- a/source/sw/src/anim.cpp +++ b/source/sw/src/anim.cpp @@ -307,7 +307,7 @@ playanm(short anim_num) videoClearViewableArea(0L); paletteSetColorTable(0, ANIMvesapal, true); - videoSetPalette(gs.Brightness,0,2); + videoSetPalette(0,0,2); if (ANIMnum == 1) { // draw the first frame @@ -379,7 +379,7 @@ ENDOFANIMLOOP: palookup[0] = palook_bak; paletteSetColorTable(0, (unsigned char *)palette_data); - videoSetPalette(gs.Brightness, 0, 2); + videoSetPalette(0, 0, 2); KB_FlushKeyboardQueue(); KB_ClearKeysDown(); diff --git a/source/sw/src/bunny.cpp b/source/sw/src/bunny.cpp index 45bd75d74..7f49aa10f 100644 --- a/source/sw/src/bunny.cpp +++ b/source/sw/src/bunny.cpp @@ -1092,7 +1092,7 @@ DoBunnyQuickJump(short SpriteNum) NewStateGroup(SpriteNum, sg_BunnyScrew); NewStateGroup(hit_sprite, sg_BunnyScrew); - if (gs.ParentalLock || Global_PLock) + if (adult_lockout || Global_PLock) { SET(sp->cstat, CSTAT_SPRITE_INVISIBLE); // Turn em' invisible SET(tsp->cstat, CSTAT_SPRITE_INVISIBLE); // Turn em' invisible @@ -1487,7 +1487,7 @@ DoBunnyScrew(short SpriteNum) if (RANDOM_RANGE(1000) > 990) // Bunny sex sounds { - if (!gs.ParentalLock && !Global_PLock) + if (!adult_lockout && !Global_PLock) PlaySound(DIGI_BUNNYATTACK, &sp->x, &sp->y, &sp->z, v3df_follow); } diff --git a/source/sw/src/config.cpp b/source/sw/src/config.cpp index 0c775d0c2..9180568df 100644 --- a/source/sw/src/config.cpp +++ b/source/sw/src/config.cpp @@ -75,11 +75,6 @@ int32_t UseMouse = 1, UseJoystick = 0; // Screen variables // -int32_t ScreenMode = 1; -int32_t ScreenWidth = 640; -int32_t ScreenHeight = 480; -int32_t ScreenBPP = 8; - char RTSName[MAXRTSNAMELENGTH]; static int32_t scripthandle = -1; @@ -96,10 +91,6 @@ static int32_t scripthandle = -1; void CONFIG_SetDefaults(void) { - // JBF 20031211 - int32_t i;// , f; - //uint8_t k1,k2; - ScreenMode = 1; #if defined RENDERTYPESDL && SDL_MAJOR_VERSION > 1 @@ -153,18 +144,6 @@ int32_t CONFIG_ReadSetup(void) CONFIG_SetDefaults(); - if (buildvfs_exists(setupfilename)) - scripthandle = SCRIPT_Load(setupfilename); - - if (scripthandle < 0) return -1; - - // What was here is no longer needed with a globally stored config that's being read automatically. - ReadGameSetup(scripthandle); - - if (PlayerNameArg[0] != '\0') - { - strcpy(CommPlayerName, PlayerNameArg); - } return 0; } diff --git a/source/sw/src/config.h b/source/sw/src/config.h index 8f3907f4e..243ab272c 100644 --- a/source/sw/src/config.h +++ b/source/sw/src/config.h @@ -38,10 +38,6 @@ BEGIN_SW_NS #define SETUPNAMEPARM "SETUPFILE" // screen externs -extern int32_t ScreenMode; // Screen mode -extern int32_t ScreenWidth; -extern int32_t ScreenHeight; -extern int32_t ScreenBPP; extern int32_t ScreenBufferMode; extern int32_t VesaBufferMode; diff --git a/source/sw/src/draw.cpp b/source/sw/src/draw.cpp index 8990f3a0e..fe5951013 100644 --- a/source/sw/src/draw.cpp +++ b/source/sw/src/draw.cpp @@ -717,7 +717,7 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror) } // Diss any parentally locked sprites - if (gs.ParentalLock || Global_PLock) + if (adult_lockout || Global_PLock) { if (aVoxelArray[tsp->picnum].Parental == 6145) { diff --git a/source/sw/src/game.cpp b/source/sw/src/game.cpp index d3e32cf84..ec8576e71 100644 --- a/source/sw/src/game.cpp +++ b/source/sw/src/game.cpp @@ -202,7 +202,6 @@ const GAME_SET gs_defaults = 128, // music vol 192, // fx vol 2, // border - 0, // brightness 0, // border tile FALSE, // mouse aiming FALSE, // mouse look @@ -225,13 +224,10 @@ const GAME_SET gs_defaults = 0, // Kill Limit 0, // Time Limit 0, // Color - 0, // Parental Lock - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", // Password TRUE, // nuke TRUE, // voxels FALSE, // stats FALSE, // mouse aiming on - FALSE, // play cd "Track??", // waveform track name }; GAME_SET gs; @@ -792,7 +788,6 @@ void DisplayDemoText(void) void Set_GameMode(void) { - extern int ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP; int result; char ch; @@ -803,7 +798,7 @@ void Set_GameMode(void) if (result < 0) { buildprintf("Failure setting video mode %dx%dx%d %s! Attempting safer mode...", - ScreenWidth,ScreenHeight,ScreenBPP,ScreenMode ? "fullscreen" : "windowed"); + *ScreenWidth,*ScreenHeight,*ScreenBPP,*ScreenMode ? "fullscreen" : "windowed"); ScreenMode = 0; ScreenWidth = 640; ScreenHeight = 480; @@ -1077,7 +1072,7 @@ InitGame(int32_t argc, char const * const * argv) GraphicsMode = TRUE; SetupAspectRatio(); - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); + COVERsetbrightness(0, &palette_data[0][0]); InitFX(); // JBF: do it down here so we get a hold of the window handle InitMusic(); @@ -1752,7 +1747,7 @@ LogoLevel(void) if (pal.Size() >= 768) { paletteSetColorTable(1, pal.Data()); - videoSetPalette(gs.Brightness, 1, 2); + videoSetPalette(0, 1, 2); } DSPRINTF(ds,"Just read in 3drealms.pal..."); MONO_PRINT(ds); @@ -1797,7 +1792,7 @@ LogoLevel(void) videoNextPage(); //SetPaletteToVESA(backup_pal); paletteSetColorTable(0, &palette_data[0][0]); - videoSetPalette(gs.Brightness, 0, 2); + videoSetPalette(0, 0, 2); // put up a blank screen while loading @@ -2640,7 +2635,7 @@ void EndGameSequence(void) SWBOOL anim_ok = TRUE; FadeOut(0, 5); - if ((gs.ParentalLock || Global_PLock) && FinishAnim == ANIM_SUMO) + if ((adult_lockout || Global_PLock) && FinishAnim == ANIM_SUMO) anim_ok = FALSE; if (anim_ok) @@ -4191,10 +4186,7 @@ SinglePlayInput(PLAYERp pp) tp = Player + screenpeek; PlayerUpdatePanelInfo(tp); - if (getrendermode() < 3) - COVERsetbrightness(gs.Brightness,(char *)palette_data); - else - setpalettefade(0,0,0,0); + setpalettefade(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); DoPlayerDivePalette(tp); DoPlayerNightVisionPalette(tp); @@ -4285,7 +4277,7 @@ SinglePlayInput(PLAYERp pp) // This sets the palette to whatever it is of the player you // just chose to view the game through. // printf("SingPlayInput ALT+1-9 set_pal: pp->PlayerSprite = %d\n",pp->PlayerSprite); - COVERsetbrightness(gs.Brightness,(char *)palette_data); // JBF: figure out what's going on here + //COVERsetbrightness(0,(char *)palette_data); // JBF: figure out what's going on here DoPlayerNightVisionPalette(pp); @@ -4446,7 +4438,7 @@ FunctionKeys(PLAYERp pp) if (KEY_PRESSED(KEYSC_ALT) || KEY_PRESSED(KEYSC_RALT)) { - if (rts_delay > 16 && fn_key && CommEnabled && !gs.ParentalLock && !Global_PLock) + if (rts_delay > 16 && fn_key && CommEnabled && !adult_lockout && !Global_PLock) { KEY_PRESSED(sc_F1 + fn_key - 1) = 0; @@ -4615,21 +4607,7 @@ FunctionKeys(PLAYERp pp) if (KEY_PRESSED(KEYSC_F11) > 0) { KEY_PRESSED(KEYSC_F11) = 0; - - gs.Brightness++; - if (gs.Brightness >= SLDR_BRIGHTNESSMAX) - gs.Brightness = 0; - - sprintf(ds,"Brightness level (%d)",gs.Brightness+1); - PutStringInfoLine(pp, ds); - - if (!pp->NightVision && pp->FadeAmt <= 0) - { - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - } - - //DoPlayerDivePalette(pp); - //DoPlayerNightVisionPalette(pp); + // Do this entirely in the video backend. } } @@ -5408,7 +5386,6 @@ getinput(SW_PACKET *loc) if (dimensionmode != 2 && screenpeek == myconnectindex) { // JBF: figure out what's going on here - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); DoPlayerDivePalette(pp); // Check Dive again DoPlayerNightVisionPalette(pp); // Check Night Vision again @@ -5421,7 +5398,6 @@ getinput(SW_PACKET *loc) memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); else memcpy(pp->temp_pal, tp->temp_pal, sizeof(tp->temp_pal)); - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); DoPlayerDivePalette(tp); DoPlayerNightVisionPalette(tp); } @@ -5921,7 +5897,7 @@ extern int32_t startwin_settitle(const char*); extern int32_t startwin_idle(void*); extern int32_t startwin_run(void); /*extern*/ bool validate_hud(int requested_size) { return requested_size; } -/*extern*/ void set_hud(int requested_size) {} +/*extern*/ void set_hud(int requested_size) { /* the relevant setting is gs.BorderNum */} GameInterface Interface = { 140, // Huh? diff --git a/source/sw/src/inv.cpp b/source/sw/src/inv.cpp index 65a355e5e..e0fccf6a3 100644 --- a/source/sw/src/inv.cpp +++ b/source/sw/src/inv.cpp @@ -563,53 +563,6 @@ StopInventoryEnvironSuit(PLAYERp pp, short InventoryNum) static char sectorfloorpals[MAXSECTORS], sectorceilingpals[MAXSECTORS], wallpals[MAXWALLS]; -#if 0 -void -DoPlayerNightVisionPalette(PLAYERp pp) -{ - short i; - - if (pp->InventoryActive[INVENTORY_NIGHT_VISION] && (pp - Player == screenpeek)) - { - if (NightVision) - return; // Already using night vision, don't - // bother. - g_visibility = 0; - for (i = 0; i < numsectors; i++) - { - sectorfloorpals[i] = sector[i].floorpal; - sectorceilingpals[i] = sector[i].ceilingpal; - sector[i].floorpal = PALETTE_GREEN_LIGHTING; - sector[i].ceilingpal = PALETTE_GREEN_LIGHTING; - } - for (i = 0; i < numwalls; i++) - { - wallpals[i] = wall[i].pal; - wall[i].pal = PALETTE_GREEN_LIGHTING; - } - - - NightVision = TRUE; - COVERsetbrightness(4, (char *) &palette_data[0][0]); - } - else - { - g_visibility = NormalVisibility; - for (i = 0; i < numsectors; i++) - { - sector[i].floorpal = sectorfloorpals[i]; - sector[i].ceilingpal = sectorceilingpals[i]; - } - for (i = 0; i < numwalls; i++) - { - wall[i].pal = wallpals[i]; - } - DoPlayerDivePalette(pp); // Check again to see if its a water palette - NightVision = FALSE; - COVERsetbrightness(gs.Brightness, (char *) &palette_data[0][0]); - } -} -#endif void DoPlayerNightVisionPalette(PLAYERp pp) @@ -631,10 +584,7 @@ DoPlayerNightVisionPalette(PLAYERp pp) memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); memcpy(palookup[PALETTE_DEFAULT], DefaultPalette, 256 * 32); pp->FadeAmt = 0; - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness, &palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); } pp->NightVision = FALSE; } diff --git a/source/sw/src/jsector.cpp b/source/sw/src/jsector.cpp index 30fb946c7..95f9f01e9 100644 --- a/source/sw/src/jsector.cpp +++ b/source/sw/src/jsector.cpp @@ -1337,7 +1337,7 @@ JS_ToggleLockouts(void) { short picnum; - if (gs.ParentalLock) + if (adult_lockout) { picnum = wall[i].picnum; ASSERT(aVoxelArray[picnum].Parental < INVISTILE); // Invalid, walls can't @@ -1351,7 +1351,7 @@ JS_ToggleLockouts(void) wall[i].picnum = tp->orgpicnum; // Restore them - if (gs.ParentalLock) + if (adult_lockout) { picnum = wall[i].overpicnum; ASSERT(aVoxelArray[picnum].Parental < INVISTILE); // Invalid, walls can't @@ -1370,7 +1370,7 @@ JS_ToggleLockouts(void) { short picnum; - if (gs.ParentalLock) + if (adult_lockout) { picnum = sector[i].ceilingpicnum; ASSERT(aVoxelArray[picnum].Parental < INVISTILE); // Invalid, walls can't @@ -1384,7 +1384,7 @@ JS_ToggleLockouts(void) sector[i].ceilingpicnum = tp->orgpicnum; // Restore them - if (gs.ParentalLock) + if (adult_lockout) { picnum = sector[i].floorpicnum; ASSERT(aVoxelArray[picnum].Parental < INVISTILE); // Invalid, walls can't diff --git a/source/sw/src/menus.cpp b/source/sw/src/menus.cpp index f914a2018..47fd4cad2 100644 --- a/source/sw/src/menus.cpp +++ b/source/sw/src/menus.cpp @@ -181,7 +181,6 @@ static SWBOOL ApplyModeSettings(void) videoSetGameMode(lastfs, lastx, lasty, lastbpp, upscalefactor); else { - extern int32_t ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP; // Because I'm too lazy to include config.h ScreenMode = newfs; ScreenWidth = newx; ScreenHeight = newy; @@ -216,11 +215,10 @@ MenuGroup soundgroup = {110,5,"^Sound",sound_i,pic_optionstitl,0,m_defshade, NUL MenuItem parental_i[] = { {DefButton(btn_parental, 0, "Kid Mode"), OPT_XS, OPT_LINE(0), 1, m_defshade, 0, NULL, NULL, NULL}, - {DefOption(KEYSC_P, "Change Password"), OPT_XS, OPT_LINE(1), 1, m_defshade, 0, MNU_ParentalCustom, NULL, NULL}, {DefNone} }; -MenuGroup parentalgroup = {65, 5, "^Kid Mode", parental_i, pic_newgametitl, 0, m_defshade, MNU_DoParentalPassword,NULL,0}; +MenuGroup parentalgroup = {65, 5, "^Kid Mode", parental_i, pic_newgametitl, 0, m_defshade, NULL,NULL,0}; MenuItem screen_i[] = { @@ -610,128 +608,6 @@ MNU_DoEpisodeSelect(UserCall call, MenuItem *item) return TRUE; } -SWBOOL -MNU_DoParentalPassword(UserCall call, MenuItem_p item) -{ - short w,h; - static SWBOOL cur_show; - char TempString[80]; - const char *extra_text; - - - extra_text = "This mode should remove most of the"; - MNU_MeasureString(extra_text, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), 60, extra_text, 1, 16); - extra_text = "offensive content. We still recommend"; - MNU_MeasureString(extra_text, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), 70, extra_text, 1, 16); - extra_text = "you review the game prior to play."; - MNU_MeasureString(extra_text, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), 80, extra_text, 1, 16); - - // get input - if (MenuInputMode) - { - switch (MNU_InputString(MessageInputString, 80)) - { - case -1: // Cancel Input (pressed ESC) or Err - KB_ClearKeysDown(); - KB_FlushKeyboardQueue(); - MenuInputMode = FALSE; - memset(MessageInputString, '\0', sizeof(MessageInputString)); - break; - case FALSE: // Input finished (RETURN) - if (MessageInputString[0] == '\0') - { - MenuInputMode = FALSE; - KB_ClearKeysDown(); - KB_FlushKeyboardQueue(); - memset(MessageInputString, '\0', sizeof(MessageInputString)); - } - else - { - MenuInputMode = FALSE; - KB_ClearKeysDown(); - KB_FlushKeyboardQueue(); - - if (gs.Password[0] != '\0' && passwordvalid == FALSE) - { - if (!Bstrcasecmp(gs.Password,MessageInputString)) - { - passwordvalid = TRUE; - if (currentmenu->cursor == 0 && gs.ParentalLock == TRUE) - { - buttonsettings[btn_parental] = gs.ParentalLock = FALSE; - if (!InMenuLevel) - JS_ToggleLockouts(); - } - - if (currentmenu->cursor == 1) // Is it on the password line? - { - MenuInputMode = TRUE; - KB_ClearKeysDown(); - KB_FlushKeyboardQueue(); - } - //memset(gs.Password, '\0', sizeof(gs.Password)); - } - } - else - { - if (currentmenu->cursor == 1) // Is it on the password line? - { - strcpy(gs.Password,MessageInputString); - passwordvalid = FALSE; - } - } - - memset(MessageInputString, '\0', sizeof(MessageInputString)); - } - break; - case TRUE: // Got input - break; - } - - //CON_Message("Password = '%s'",gs.Password); - //CON_Message("Passwordvalid = %d",passwordvalid); - - if (gs.Password[0] != '\0' && passwordvalid == FALSE && currentmenu->cursor == 1) - { - sprintf(TempString,"Enter Old Password"); - MNU_MeasureString(TempString, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), MESSAGE_LINE-10, TempString,1,16); - } - else if (passwordvalid == TRUE && currentmenu->cursor == 1) - { - sprintf(TempString,"Enter New Password"); - MNU_MeasureString(TempString, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), MESSAGE_LINE-10, TempString,1,16); - } - else - { - sprintf(TempString,"Enter Password"); - MNU_MeasureString(TempString, &w, &h); - MNU_DrawString(TEXT_XCENTER(w), MESSAGE_LINE-10, TempString,1,16); - } - - MNU_MeasureString(MessageInputString, &w, &h); - - cur_show ^= 1; - if (cur_show) - { - MNU_DrawString(TEXT_XCENTER(w), MESSAGE_LINE, MessageInputString,1,16); - rotatesprite((TEXT_XCENTER(w)+w+7)<<16,(MESSAGE_LINE+3)<<16,64<<9,0,COINCURSOR+(((int32_t) totalclock>>3)%7),0,0,MenuDrawFlags,0,0,xdim-1,ydim-1); - } - else - { - MNU_DrawString(TEXT_XCENTER(w), MESSAGE_LINE, MessageInputString,1,16); - rotatesprite((TEXT_XCENTER(w)+w+7)<<16,(MESSAGE_LINE+3)<<16,64<<9,0,COINCURSOR+(((int32_t) totalclock>>3)%7),0,0,MenuDrawFlags,0,0,xdim-1,ydim-1); - } - - } - - return TRUE; -} - SWBOOL MNU_ParentalCustom(void) { @@ -2214,7 +2090,7 @@ MNU_InitMenus(void) slidersettings[sldr_sndfxvolume] = gs.SoundVolume / (FX_VOL_MAX_VALUE/SLDR_SNDFXVOLMAX); slidersettings[sldr_musicvolume] = mus_volume / (MUSIC_VOL_MAX_VALUE/SLDR_MUSICVOLMAX); slidersettings[sldr_scrsize] = gs.BorderNum; - slidersettings[sldr_brightness] = gs.Brightness; + slidersettings[sldr_brightness] = 10; slidersettings[sldr_bordertile] = gs.BorderTile; { @@ -2249,7 +2125,7 @@ MNU_InitMenus(void) buttonsettings[btn_voxels] = gs.Voxels; buttonsettings[btn_ambience] = snd_ambience; - buttonsettings[btn_playcd] = gs.PlayCD; + buttonsettings[btn_playcd] = true;// gs.PlayCD; buttonsettings[btn_flipstereo] = snd_reversestereo; buttonsettings[btn_stats] = gs.Stats; @@ -2264,7 +2140,7 @@ MNU_InitMenus(void) buttonsettings[btn_markers] = gs.NetSpawnMarkers; buttonsettings[btn_teamplay] = gs.NetTeamPlay; buttonsettings[btn_friendlyfire] = gs.NetHurtTeammate; - buttonsettings[btn_parental] = gs.ParentalLock; + buttonsettings[btn_parental] = adult_lockout; //slidersettings[sldr_mousescalex] = MouseAnalogScale[0]>>13; //slidersettings[sldr_mousescaley] = MouseAnalogScale[1]>>13; @@ -3450,8 +3326,8 @@ MNU_DoButton(MenuItem_p item, SWBOOL draw) snd_speech = state = buttonsettings[item->button]; break; case btn_playcd: - last_value = gs.PlayCD; - gs.PlayCD = state = buttonsettings[item->button]; + last_value = true; + state = buttonsettings[item->button]; break; case btn_ambience: last_value = snd_ambience; @@ -3476,29 +3352,9 @@ MNU_DoButton(MenuItem_p item, SWBOOL draw) break; case btn_parental: - if (gs.Password[0] != '\0' && gs.ParentalLock == TRUE) - { - if (passwordvalid) - { - state = buttonsettings[btn_parental] = gs.ParentalLock = FALSE; - if (!InMenuLevel) - JS_ToggleLockouts(); - } - else - { - state = buttonsettings[btn_parental] = gs.ParentalLock = TRUE; - MenuInputMode = TRUE; - memset(MessageInputString, '\0', sizeof(MessageInputString)); - KB_ClearKeysDown(); - KB_FlushKeyboardQueue(); - } - } - else - { - gs.ParentalLock = state = buttonsettings[item->button]; - if (!InMenuLevel) - JS_ToggleLockouts(); - } + state = buttonsettings[btn_parental] = adult_lockout = FALSE; + if (!InMenuLevel) + JS_ToggleLockouts(); break; case btn_videofs: @@ -3705,11 +3561,6 @@ MNU_DoSlider(short dir, MenuItem_p item, SWBOOL draw) offset = min(offset, short(SLDR_BRIGHTNESSMAX - 1)); slidersettings[sldr_brightness] = offset; - if (gs.Brightness != offset) - { - gs.Brightness = offset; - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - } break; case sldr_bordertile: @@ -5047,10 +4898,7 @@ SetFadeAmt(PLAYERp pp, short damage, unsigned char startcolor) // Reset the palette if (pp == Player + screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); if (pp->FadeAmt <= 0) GetPaletteFromVESA(&ppalette[screenpeek][0]); } @@ -5164,10 +5012,7 @@ DoPaletteFlash(PLAYERp pp) pp->StartColor = 0; if (pp == Player + screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); DoPlayerDivePalette(pp); // Check Dive again DoPlayerNightVisionPalette(pp); // Check Night Vision again @@ -5203,10 +5048,7 @@ DoPaletteFlash(PLAYERp pp) pp->StartColor = 0; if (pp == Player + screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); DoPlayerDivePalette(pp); // Check Dive again DoPlayerNightVisionPalette(pp); // Check Night Vision again @@ -5257,10 +5099,7 @@ DoPaletteFlash(PLAYERp pp) void ResetPalette(PLAYERp pp) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); //DoPlayerDivePalette(pp); // Check Dive again //DoPlayerNightVisionPalette(pp); // Check Night Vision again diff --git a/source/sw/src/menus.h b/source/sw/src/menus.h index 8b2508f99..d6b88d9fa 100644 --- a/source/sw/src/menus.h +++ b/source/sw/src/menus.h @@ -284,7 +284,6 @@ typedef struct MenuGroup SWBOOL MNU_QuitCustom(UserCall call, MenuItem *item); SWBOOL MNU_QuickLoadCustom(UserCall call, MenuItem *item); SWBOOL MNU_LoadSaveTouchupCustom(UserCall call, MenuItem *item); -SWBOOL MNU_DoParentalPassword(UserCall call, MenuItem *item); SWBOOL MNU_OrderCustom(UserCall call, MenuItem *item); SWBOOL MNU_DoEpisodeSelect(UserCall call, MenuItem *item); diff --git a/source/sw/src/ninja.cpp b/source/sw/src/ninja.cpp index bc7a28c2e..9c188b2ee 100644 --- a/source/sw/src/ninja.cpp +++ b/source/sw/src/ninja.cpp @@ -2336,10 +2336,7 @@ PlayerGameReset(PLAYERp pp) if (pp == Player+screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); } pp->NightVision = FALSE; @@ -2440,10 +2437,7 @@ InitPlayerSprite(PLAYERp pp) if (pp == Player+screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); } diff --git a/source/sw/src/panel.cpp b/source/sw/src/panel.cpp index 5ab39ac18..b8851970c 100644 --- a/source/sw/src/panel.cpp +++ b/source/sw/src/panel.cpp @@ -7419,7 +7419,7 @@ pDisplaySprites(PLAYERp pp) break; } - if (pp->Bloody && !gs.ParentalLock && !Global_PLock) + if (pp->Bloody && !adult_lockout && !Global_PLock) { switch (picnum) { diff --git a/source/sw/src/player.cpp b/source/sw/src/player.cpp index e008c7cc2..ed86128a9 100644 --- a/source/sw/src/player.cpp +++ b/source/sw/src/player.cpp @@ -5056,10 +5056,7 @@ DoPlayerDivePalette(PLAYERp pp) { memcpy(pp->temp_pal, palette_data, sizeof(palette_data)); memcpy(palookup[PALETTE_DEFAULT], DefaultPalette, 256 * 32); - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness, &palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); pp->FadeAmt = 0; } } @@ -6911,10 +6908,7 @@ void DoPlayerDeathCheckKeys(PLAYERp pp) if (pp == Player + screenpeek) { - if (videoGetRenderMode() < REND_POLYMOST) - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); - else - videoFadePalette(0,0,0,0); + videoFadePalette(0,0,0,0); //memcpy(&palette_data[0][0],&palette_data[0][0],768); memcpy(&pp->temp_pal[0],&palette_data[0][0],768); } diff --git a/source/sw/src/save.cpp b/source/sw/src/save.cpp index de9af923a..09037aac4 100644 --- a/source/sw/src/save.cpp +++ b/source/sw/src/save.cpp @@ -1170,8 +1170,6 @@ int LoadGame(short save_num) MREAD(&gs,sizeof(gs),1,fil); - //COVERsetbrightness(gs.Brightness,(char *)palette_data); - for (int i = 0; i < MAXTILES; i++) { MREAD(&picanm[i], sizeof(picanm[i]), 1, fil); @@ -1273,7 +1271,7 @@ int LoadGame(short save_num) SetupAspectRatio(); SetRedrawScreen(Player + myconnectindex); - COVERsetbrightness(gs.Brightness,&palette_data[0][0]); + COVERsetbrightness(0,&palette_data[0][0]); screenpeek = myconnectindex; PlayingLevel = Level; diff --git a/source/sw/src/settings.h b/source/sw/src/settings.h index b97e03e0e..b18cfb877 100644 --- a/source/sw/src/settings.h +++ b/source/sw/src/settings.h @@ -35,7 +35,6 @@ typedef struct int mus_volume; int SoundVolume; int8_t BorderNum; - int8_t Brightness; int8_t BorderTile; SWBOOL MouseAimingType; SWBOOL MouseLook; @@ -57,13 +56,11 @@ typedef struct uint8_t NetKillLimit; // Number of frags at which game ends uint8_t NetTimeLimit; // Limit time of game uint8_t NetColor; // Chosen color for player - uint8_t ParentalLock; // Parental Lock on/off - char Password[20]; // Parental Lock password SWBOOL NetNuke; SWBOOL Voxels; SWBOOL Stats; SWBOOL MouseAimingOn; // whether it was on or off - NOT the type of mouse aiming - SWBOOL PlayCD; + //SWBOOL PlayCD; // Not implemented and no idea how to support it without the music assets. char WaveformTrackName[MAXWAVEFORMTRACKLENGTH]; } GAME_SET, *GAME_SETp; diff --git a/source/sw/src/sounds.cpp b/source/sw/src/sounds.cpp index 596aef16a..ebf592b1a 100644 --- a/source/sw/src/sounds.cpp +++ b/source/sw/src/sounds.cpp @@ -446,7 +446,7 @@ PlaySong(char *song_file_name, int cdaudio_track, SWBOOL loop, SWBOOL restart) if (!SW_SHAREWARE) { - if (cdaudio_track >= 0) + if (cdaudio_track >= 0 && mus_redbook) { char waveformtrack[MAXWAVEFORMTRACKLENGTH]; Bstrncpy(waveformtrack, gs.WaveformTrackName, MAXWAVEFORMTRACKLENGTH - 1); @@ -805,7 +805,7 @@ PlaySound(int num, int *x, int *y, int *z, Voc3D_Flags flags) //if (UsingMenus && (*x!=0 || *y!=0 || *z!=0)) return(-1); // Weed out parental lock sounds if PLock is active - if (gs.ParentalLock || Global_PLock) + if (adult_lockout || Global_PLock) { unsigned i; diff --git a/source/sw/src/sprite.cpp b/source/sw/src/sprite.cpp index 3a551cb47..5eb506d4d 100644 --- a/source/sw/src/sprite.cpp +++ b/source/sw/src/sprite.cpp @@ -5788,7 +5788,7 @@ KeyMain: // Say something witty if (pp == Player+myconnectindex && gs.Messages) { - if (gs.ParentalLock || Global_PLock) + if (adult_lockout || Global_PLock) sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(10)]); else sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(MAX_FORTUNES)]); diff --git a/source/sw/src/swconfig.cpp b/source/sw/src/swconfig.cpp index b9124bb3f..a41ba06e0 100644 --- a/source/sw/src/swconfig.cpp +++ b/source/sw/src/swconfig.cpp @@ -113,18 +113,6 @@ void ReadGameSetup(int32_t scripthandle) int dummy; int ret; - SCRIPT_GetString(scripthandle, "Options","Rooster",gs.Password); - DecodePassword(gs.Password); - - // option stuff - dummy = -1; - ret = SCRIPT_GetNumber(scripthandle, "Options", "BorderNum",&dummy); - if (dummy != -1) gs.BorderNum = dummy; - - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "Brightness",&dummy); - if (dummy != -1) gs.Brightness = dummy; - dummy = -1; SCRIPT_GetNumber(scripthandle, "Options", "BorderTile",&dummy); if (dummy != -1) gs.BorderTile = dummy; @@ -149,10 +137,6 @@ void ReadGameSetup(int32_t scripthandle) SCRIPT_GetNumber(scripthandle, "Options", "Crosshair",&dummy); if (dummy != -1) gs.Crosshair = dummy; - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "AutoAim",&dummy); - if (dummy != -1) cl_autoaim = dummy; - dummy = -1; SCRIPT_GetNumber(scripthandle, "Options", "Messages",&dummy); if (dummy != -1) gs.Messages = dummy; @@ -213,32 +197,6 @@ void ReadGameSetup(int32_t scripthandle) SCRIPT_GetNumber(scripthandle, "Options", "MouseInvert",&dummy); if (dummy != -1) gs.MouseInvert = dummy; - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "Kiwi",&dummy); - if (dummy != -1) gs.ParentalLock = dummy; - - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "PlayCD",&dummy); - if (dummy != -1) gs.PlayCD = dummy; - - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "CDDevice",&dummy); - if (dummy < 0) dummy = -1; - - if (SW_SHAREWARE) - { - dummy = -1; - SCRIPT_GetNumber(scripthandle, "Options", "Chickens",&dummy); - if (dummy != -1) GamePlays = dummy; - - buildprintf( - "\n" - "You have played Shadow Warrior %d times. Please call and order the full\n" - "version at 1(800)-3DREALMS or see the ORDER.FRM file.\n\n" - ,GamePlays); - - GamePlays++; - } } /* @@ -251,72 +209,6 @@ void ReadGameSetup(int32_t scripthandle) void WriteGameSetup(int32_t scripthandle) { - int dummy; - - dummy = gs.BorderNum; - SCRIPT_PutNumber(scripthandle, "Options", "BorderNum",dummy,FALSE,FALSE); - dummy = gs.Brightness; - SCRIPT_PutNumber(scripthandle, "Options", "Brightness",dummy,FALSE,FALSE); - dummy = gs.BorderTile; - SCRIPT_PutNumber(scripthandle, "Options", "BorderTile",dummy,FALSE,FALSE); - dummy = gs.Bobbing; - SCRIPT_PutNumber(scripthandle, "Options", "Bobbing",dummy,FALSE,FALSE); - dummy = gs.Tilting; - SCRIPT_PutNumber(scripthandle, "Options", "Tilting",dummy,FALSE,FALSE); - dummy = gs.Shadows; - SCRIPT_PutNumber(scripthandle, "Options", "Shadows",dummy,FALSE,FALSE); - dummy = gs.AutoRun; - SCRIPT_PutNumber(scripthandle, "Options", "AutoRun",dummy,FALSE,FALSE); - dummy = gs.Crosshair; - SCRIPT_PutNumber(scripthandle, "Options", "Crosshair",dummy,FALSE,FALSE); - dummy = gs.Messages; - SCRIPT_PutNumber(scripthandle, "Options", "Messages",dummy,FALSE,FALSE); - dummy = gs.MouseAimingType; - SCRIPT_PutNumber(scripthandle, "Controls", "MouseAiming",dummy,FALSE,FALSE); - - dummy = gs.NetGameType; - SCRIPT_PutNumber(scripthandle, "Options", "NetGameType",dummy,FALSE,FALSE); - dummy = gs.NetLevel; - SCRIPT_PutNumber(scripthandle, "Options", "NetLevel",dummy,FALSE,FALSE); - dummy = gs.NetMonsters; - SCRIPT_PutNumber(scripthandle, "Options", "NetMonsters",dummy,FALSE,FALSE); - dummy = gs.NetHurtTeammate; - SCRIPT_PutNumber(scripthandle, "Options", "NetHurtTeammate",dummy,FALSE,FALSE); - dummy = gs.NetSpawnMarkers; - SCRIPT_PutNumber(scripthandle, "Options", "NetSpawnMarkers",dummy,FALSE,FALSE); - dummy = gs.NetTeamPlay; - SCRIPT_PutNumber(scripthandle, "Options", "NetTeamPlay",dummy,FALSE,FALSE); - dummy = gs.NetKillLimit; - SCRIPT_PutNumber(scripthandle, "Options", "NetKillLimit",dummy,FALSE,FALSE); - dummy = gs.NetTimeLimit; - SCRIPT_PutNumber(scripthandle, "Options", "NetTimeLimit",dummy,FALSE,FALSE); - dummy = gs.NetColor; - SCRIPT_PutNumber(scripthandle, "Options", "NetColor",dummy,FALSE,FALSE); - dummy = gs.Voxels; - SCRIPT_PutNumber(scripthandle, "Options", "Voxels",dummy,FALSE,FALSE); - dummy = gs.MouseAimingOn; - SCRIPT_PutNumber(scripthandle, "Options", "MouseAimingOn",dummy,FALSE,FALSE); - dummy = gs.MouseInvert; - SCRIPT_PutNumber(scripthandle, "Options", "MouseInvert",dummy,FALSE,FALSE); - dummy = gs.Stats; - SCRIPT_PutNumber(scripthandle, "Options", "Stats",dummy,FALSE,FALSE); - - EncodePassword(gs.Password); - SCRIPT_PutString(scripthandle, "Options","Rooster",gs.Password); - DecodePassword(gs.Password); - - dummy = gs.ParentalLock; - SCRIPT_PutNumber(scripthandle, "Options", "Kiwi",dummy,FALSE,FALSE); - - dummy = gs.PlayCD; - SCRIPT_PutNumber(scripthandle, "Options", "PlayCD",dummy,FALSE,FALSE); - SCRIPT_PutNumber(scripthandle, "Options", "CDDevice",0,FALSE,FALSE); - - if (SW_SHAREWARE) - { - dummy = GamePlays; - SCRIPT_PutNumber(scripthandle, "Options", "Chickens",dummy,FALSE,FALSE); - } } void TermSetup(void)