From 0ac8568be0097bc180623574fe2d37141959dbdf Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 16 Aug 2020 11:58:42 +0200 Subject: [PATCH] - removed redundant fields from Blood's startup info struct. --- source/blood/src/blood.cpp | 4 ++-- source/blood/src/levels.cpp | 7 +------ source/blood/src/levels.h | 2 -- source/blood/src/osdcmd.cpp | 14 ++++---------- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/source/blood/src/blood.cpp b/source/blood/src/blood.cpp index 3c0e59178..b533c2260 100644 --- a/source/blood/src/blood.cpp +++ b/source/blood/src/blood.cpp @@ -415,14 +415,14 @@ void StartLevel(GAMEOPTIONS *gameOptions) memset(xsprite,0,sizeof(xsprite)); memset(sprite,0,kMaxSprites*sizeof(spritetype)); //drawLoadingScreen(); - if (dbLoadMap(currentLevel->fileName,(int*)&startpos.x,(int*)&startpos.y,(int*)&startpos.z,&startang,&startsectnum,(unsigned int*)&gameOptions->uMapCRC)) + if (dbLoadMap(currentLevel->fileName,(int*)&startpos.x,(int*)&startpos.y,(int*)&startpos.z,&startang,&startsectnum,nullptr)) { I_Error("Unable to load map"); } SECRET_SetMapName(currentLevel->DisplayName(), currentLevel->name); STAT_NewLevel(currentLevel->fileName); G_LoadMapHack(currentLevel->fileName); - wsrand(gameOptions->uMapCRC); + wsrand(dbReadMapCRC(currentLevel->LabelName())); gKillMgr.Clear(); gSecretMgr.Clear(); gLevelTime = 0; diff --git a/source/blood/src/levels.cpp b/source/blood/src/levels.cpp index 5bc8ca6f7..88e1be06e 100644 --- a/source/blood/src/levels.cpp +++ b/source/blood/src/levels.cpp @@ -46,7 +46,7 @@ BEGIN_BLD_NS GAMEOPTIONS gGameOptions; GAMEOPTIONS gSingleGameOptions = { - 0, 2, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 3600, 1800, 1800, 7200 + 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3600, 1800, 1800, 7200 }; EPISODEINFO gEpisodeInfo[kMaxEpisodes+1]; @@ -114,10 +114,6 @@ void levelSetupOptions(int nEpisode, int nLevel) { gGameOptions.nEpisode = nEpisode; gGameOptions.nLevel = nLevel; - auto level = FindMapByLevelNum(levelnum(nEpisode, nLevel)); - if (!level) return; - gGameOptions.uMapCRC = dbReadMapCRC(level->LabelName()); - gGameOptions.nTrackNumber = level->cdSongId; } void levelLoadMapInfo(IniFile *pIni, MapRecord *pLevelInfo, const char *pzSection, int epinum, int mapnum) @@ -224,7 +220,6 @@ void levelAddUserMap(const char *pzMap) levelLoadMapInfo(&UserINI, pLevelInfo, NULL, nEpisode, nLevel); gGameOptions.nEpisode = nEpisode; gGameOptions.nLevel = nLevel; - gGameOptions.uMapCRC = dbReadMapCRC(pLevelInfo->name); #else auto map = SetupUserMap(pzMap); #endif diff --git a/source/blood/src/levels.h b/source/blood/src/levels.h index 1701477ad..5f8b3295f 100644 --- a/source/blood/src/levels.h +++ b/source/blood/src/levels.h @@ -40,10 +40,8 @@ struct GAMEOPTIONS { unsigned char nDifficulty; int nEpisode; int nLevel; - int nTrackNumber; //at12a; short nSaveGameSlot; int picEntry; - unsigned int uMapCRC; char nMonsterSettings; int uGameFlags; int uNetGameFlags; diff --git a/source/blood/src/osdcmd.cpp b/source/blood/src/osdcmd.cpp index 2ba7ea29e..8c6fd6f14 100644 --- a/source/blood/src/osdcmd.cpp +++ b/source/blood/src/osdcmd.cpp @@ -60,25 +60,19 @@ static int osdcmd_map(CCmdFuncPtr parm) auto maprec = FindMapByName(mapname); if (maprec) { - int e = volfromlevelnum(mapList[i].levelNumber); - int m = mapfromlevelnum(mapList[i].levelNumber); + int e = volfromlevelnum(maprec->levelNumber); + int m = mapfromlevelnum(maprec->levelNumber); LevelWarp(e, m); return CCMD_OK; } // Map has not been defined. Treat as user map. +#if 0 // this doesn't work yet because map progression is hardwired to the level number. levelAddUserMap(mapname); - if (numplayers > 1) - { - gPacketStartGame.episodeId = gGameOptions.nEpisode; - gPacketStartGame.levelId = gGameOptions.nLevel; - netBroadcastNewGame(); - gStartNewGame = 1; - return CCMD_OK; - } levelSetupOptions(gGameOptions.nEpisode, gGameOptions.nLevel); StartLevel(&gGameOptions); +#endif return CCMD_OK; }