From 946ff5b0fa6a7eed5554a4f5fdc0e47cd2fca593 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sun, 18 Apr 2021 05:26:35 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8FPerforme=20static=20casts=20w?= =?UTF-8?q?hen=20load=20save=20game=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/loadsave.cpp | 86 ++++++++++++++++++++++----------------------- Source/missiles.cpp | 4 +-- Source/monster.cpp | 12 +++---- Source/msg.cpp | 10 +++--- Source/player.cpp | 2 +- Source/scrollrt.cpp | 2 +- Source/themes.cpp | 2 +- 7 files changed, 59 insertions(+), 59 deletions(-) diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index 1e223b692..6d48ec19c 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -217,7 +217,7 @@ static void LoadItemData(LoadHelper *file, ItemStruct *pItem) pItem->_iSeed = file->nextLE(); pItem->_iCreateInfo = file->nextLE(); file->skip(2); // Alignment - pItem->_itype = (item_type)file->nextLE(); + pItem->_itype = static_cast(file->nextLE()); pItem->_ix = file->nextLE(); pItem->_iy = file->nextLE(); pItem->_iAnimFlag = file->nextBool32(); @@ -234,8 +234,8 @@ static void LoadItemData(LoadHelper *file, ItemStruct *pItem) pItem->_iMagical = file->nextLE(); file->nextBytes(pItem->_iName, 64); file->nextBytes(pItem->_iIName, 64); - pItem->_iLoc = (item_equip_type)file->nextLE(); - pItem->_iClass = (item_class)file->nextLE(); + pItem->_iLoc = static_cast(file->nextLE()); + pItem->_iClass = static_cast(file->nextLE()); file->skip(1); // Alignment pItem->_iCurs = file->nextLE(); pItem->_ivalue = file->nextLE(); @@ -244,8 +244,8 @@ static void LoadItemData(LoadHelper *file, ItemStruct *pItem) pItem->_iMaxDam = file->nextLE(); pItem->_iAC = file->nextLE(); pItem->_iFlags = file->nextLE(); - pItem->_iMiscId = (item_misc_id)file->nextLE(); - pItem->_iSpell = (spell_id)file->nextLE(); + pItem->_iMiscId = static_cast(file->nextLE()); + pItem->_iSpell = static_cast(file->nextLE()); pItem->_iCharges = file->nextLE(); pItem->_iMaxCharges = file->nextLE(); pItem->_iDurability = file->nextLE(); @@ -274,8 +274,8 @@ static void LoadItemData(LoadHelper *file, ItemStruct *pItem) pItem->_iLMinDam = file->nextLE(); pItem->_iLMaxDam = file->nextLE(); pItem->_iPLEnAc = file->nextLE(); - pItem->_iPrePower = (item_effect_type)file->nextLE(); - pItem->_iSufPower = (item_effect_type)file->nextLE(); + pItem->_iPrePower = static_cast(file->nextLE()); + pItem->_iSufPower = static_cast(file->nextLE()); file->skip(2); // Alignment pItem->_iVAdd1 = file->nextLE(); pItem->_iVMult1 = file->nextLE(); @@ -310,17 +310,17 @@ static void LoadPlayer(LoadHelper *file, int p) { PlayerStruct *pPlayer = &plr[p]; - pPlayer->_pmode = (PLR_MODE)file->nextLE(); + pPlayer->_pmode = static_cast(file->nextLE()); for (int i = 0; i < MAX_PATH_LENGTH; i++) { pPlayer->walkpath[i] = file->nextLE(); } pPlayer->plractive = file->nextBool8(); file->skip(2); // Alignment - pPlayer->destAction = (action_id)file->nextLE(); + pPlayer->destAction = static_cast(file->nextLE()); pPlayer->destParam1 = file->nextLE(); pPlayer->destParam2 = file->nextLE(); - pPlayer->destParam3 = (direction)file->nextLE(); + pPlayer->destParam3 = static_cast(file->nextLE()); pPlayer->destParam4 = file->nextLE(); pPlayer->plrlevel = file->nextLE(); pPlayer->_px = file->nextLE(); @@ -337,7 +337,7 @@ static void LoadPlayer(LoadHelper *file, int p) pPlayer->_pyoff = file->nextLE(); pPlayer->_pxvel = file->nextLE(); pPlayer->_pyvel = file->nextLE(); - pPlayer->_pdir = (direction)file->nextLE(); + pPlayer->_pdir = static_cast(file->nextLE()); file->skip(4); // Unused pPlayer->_pgfxnum = file->nextLE(); file->skip(4); // Skip pointer _pAnimData @@ -351,18 +351,18 @@ static void LoadPlayer(LoadHelper *file, int p) pPlayer->_plid = file->nextLE(); pPlayer->_pvid = file->nextLE(); - pPlayer->_pSpell = (spell_id)file->nextLE(); - pPlayer->_pSplType = (spell_type)file->nextLE(); + pPlayer->_pSpell = static_cast(file->nextLE()); + pPlayer->_pSplType = static_cast(file->nextLE()); pPlayer->_pSplFrom = file->nextLE(); file->skip(2); // Alignment - pPlayer->_pTSpell = (spell_id)file->nextLE(); - pPlayer->_pTSplType = (spell_type)file->nextLE(); + pPlayer->_pTSpell = static_cast(file->nextLE()); + pPlayer->_pTSplType = static_cast(file->nextLE()); file->skip(3); // Alignment - pPlayer->_pRSpell = (spell_id)file->nextLE(); - pPlayer->_pRSplType = (spell_type)file->nextLE(); + pPlayer->_pRSpell = static_cast(file->nextLE()); + pPlayer->_pRSplType = static_cast(file->nextLE()); file->skip(3); // Alignment - pPlayer->_pSBkSpell = (spell_id)file->nextLE(); - pPlayer->_pSBkSplType = (spell_type)file->nextLE(); + pPlayer->_pSBkSpell = static_cast(file->nextLE()); + pPlayer->_pSBkSplType = static_cast(file->nextLE()); for (int i = 0; i < 64; i++) pPlayer->_pSplLvl[i] = file->nextLE(); file->skip(7); // Alignment @@ -372,18 +372,18 @@ static void LoadPlayer(LoadHelper *file, int p) pPlayer->_pSpellFlags = file->nextLE(); file->skip(3); // Alignment for (int i = 0; i < 4; i++) - pPlayer->_pSplHotKey[i] = (spell_id)file->nextLE(); + pPlayer->_pSplHotKey[i] = static_cast(file->nextLE()); for (int i = 0; i < 4; i++) - pPlayer->_pSplTHotKey[i] = (spell_type)file->nextLE(); + pPlayer->_pSplTHotKey[i] = static_cast(file->nextLE()); - pPlayer->_pwtype = (player_weapon_type)file->nextLE(); + pPlayer->_pwtype = static_cast(file->nextLE()); pPlayer->_pBlockFlag = file->nextBool8(); pPlayer->_pInvincible = file->nextBool8(); pPlayer->_pLightRad = file->nextLE(); pPlayer->_pLvlChanging = file->nextBool8(); file->nextBytes(pPlayer->_pName, PLR_NAME_LEN); - pPlayer->_pClass = (HeroClass)file->nextLE(); + pPlayer->_pClass = static_cast(file->nextLE()); file->skip(3); // Alignment pPlayer->_pStrength = file->nextLE(); pPlayer->_pBaseStr = file->nextLE(); @@ -423,7 +423,7 @@ static void LoadPlayer(LoadHelper *file, int p) pPlayer->_pInfraFlag = file->nextBool32(); pPlayer->_pVar1 = file->nextLE(); pPlayer->_pVar2 = file->nextLE(); - pPlayer->_pVar3 = (direction)file->nextLE(); + pPlayer->_pVar3 = static_cast(file->nextLE()); pPlayer->_pVar4 = file->nextLE(); pPlayer->_pVar5 = file->nextLE(); pPlayer->_pVar6 = file->nextLE(); @@ -492,7 +492,7 @@ static void LoadPlayer(LoadHelper *file, int p) pPlayer->_pIFMaxDam = file->nextLE(); pPlayer->_pILMinDam = file->nextLE(); pPlayer->_pILMaxDam = file->nextLE(); - pPlayer->_pOilType = (item_misc_id)file->nextLE(); + pPlayer->_pOilType = static_cast(file->nextLE()); pPlayer->pTownWarps = file->nextLE(); pPlayer->pDungMsgs = file->nextLE(); pPlayer->pLvlLoad = file->nextLE(); @@ -516,7 +516,7 @@ static void LoadPlayer(LoadHelper *file, int p) file->skip(14); // Available bytes pPlayer->pDiabloKillLevel = file->nextLE(); - pPlayer->pDifficulty = (_difficulty)file->nextLE(); + pPlayer->pDifficulty = static_cast<_difficulty>(file->nextLE()); pPlayer->pDamAcFlags = file->nextLE(); file->skip(20); // Available bytes CalcPlrItemVals(p, false); @@ -540,8 +540,8 @@ static void LoadMonster(LoadHelper *file, int i) MonsterStruct *pMonster = &monster[i]; pMonster->_mMTidx = file->nextLE(); - pMonster->_mmode = (MON_MODE)file->nextLE(); - pMonster->_mgoal = (monster_goal)file->nextLE(); + pMonster->_mmode = static_cast(file->nextLE()); + pMonster->_mgoal = static_cast(file->nextLE()); file->skip(3); // Alignment pMonster->_mgoalvar1 = file->nextLE(); pMonster->_mgoalvar2 = file->nextLE(); @@ -559,7 +559,7 @@ static void LoadMonster(LoadHelper *file, int i) pMonster->_myoff = file->nextLE(); pMonster->_mxvel = file->nextLE(); pMonster->_myvel = file->nextLE(); - pMonster->_mdir = (direction)file->nextLE(); + pMonster->_mdir = static_cast(file->nextLE()); pMonster->_menemy = file->nextLE(); pMonster->_menemyx = file->nextLE(); pMonster->_menemyy = file->nextLE(); @@ -583,7 +583,7 @@ static void LoadMonster(LoadHelper *file, int i) pMonster->_mmaxhp = file->nextLE(); pMonster->_mhitpoints = file->nextLE(); - pMonster->_mAi = (_mai_id)file->nextLE(); + pMonster->_mAi = static_cast<_mai_id>(file->nextLE()); pMonster->_mint = file->nextLE(); file->skip(2); // Alignment pMonster->_mFlags = file->nextLE(); @@ -692,7 +692,7 @@ static void LoadObject(LoadHelper *file, int i) { ObjectStruct *pObject = &object[i]; - pObject->_otype = (_object_id)file->nextLE(); + pObject->_otype = static_cast<_object_id>(file->nextLE()); pObject->_ox = file->nextLE(); pObject->_oy = file->nextLE(); pObject->_oLight = file->nextBool32(); @@ -723,7 +723,7 @@ static void LoadObject(LoadHelper *file, int i) pObject->_oVar4 = file->nextLE(); pObject->_oVar5 = file->nextLE(); pObject->_oVar6 = file->nextLE(); - pObject->_oVar7 = (_speech_id)file->nextLE(); + pObject->_oVar7 = static_cast<_speech_id>(file->nextLE()); pObject->_oVar8 = file->nextLE(); } @@ -744,11 +744,11 @@ static void LoadQuest(LoadHelper *file, int i) pQuest->_qlevel = file->nextLE(); pQuest->_qtype = file->nextLE(); - pQuest->_qactive = (quest_state)file->nextLE(); - pQuest->_qlvltype = (dungeon_type)file->nextLE(); + pQuest->_qactive = static_cast(file->nextLE()); + pQuest->_qlvltype = static_cast(file->nextLE()); pQuest->_qtx = file->nextLE(); pQuest->_qty = file->nextLE(); - pQuest->_qslvl = (_setlevels)file->nextLE(); + pQuest->_qslvl = static_cast<_setlevels>(file->nextLE()); pQuest->_qidx = file->nextLE(); if (gbIsHellfireSaveGame) { file->skip(2); // Alignment @@ -766,7 +766,7 @@ static void LoadQuest(LoadHelper *file, int i) ReturnLvlX = file->nextBE(); ReturnLvlY = file->nextBE(); ReturnLvl = file->nextBE(); - ReturnLvlT = (dungeon_type)file->nextBE(); + ReturnLvlT = static_cast(file->nextBE()); DoomQuestState = file->nextBE(); } @@ -795,7 +795,7 @@ static void LoadPortal(LoadHelper *file, int i) pPortal->x = file->nextLE(); pPortal->y = file->nextLE(); pPortal->level = file->nextLE(); - pPortal->ltype = (dungeon_type)file->nextLE(); + pPortal->ltype = static_cast(file->nextLE()); pPortal->setlvl = file->nextBool32(); } @@ -913,13 +913,13 @@ void LoadHotkeys() const size_t nHotkeySpells = sizeof(plr[myplr]._pSplTHotKey) / sizeof(plr[myplr]._pSplTHotKey[0]); for (size_t i = 0; i < nHotkeyTypes; i++) { - plr[myplr]._pSplHotKey[i] = (spell_id)file.nextLE(); + plr[myplr]._pSplHotKey[i] = static_cast(file.nextLE()); } for (size_t i = 0; i < nHotkeySpells; i++) { - plr[myplr]._pSplTHotKey[i] = (spell_type)file.nextLE(); + plr[myplr]._pSplTHotKey[i] = static_cast(file.nextLE()); } - plr[myplr]._pRSpell = (spell_id)file.nextLE(); - plr[myplr]._pRSplType = (spell_type)file.nextLE(); + plr[myplr]._pRSpell = static_cast(file.nextLE()); + plr[myplr]._pRSplType = static_cast(file.nextLE()); } void SaveHotkeys() @@ -1017,9 +1017,9 @@ void LoadGame(bool firstflag) } setlevel = file.nextBool8(); - setlvlnum = (_setlevels)file.nextBE(); + setlvlnum = static_cast<_setlevels>(file.nextBE()); currlevel = file.nextBE(); - leveltype = (dungeon_type)file.nextBE(); + leveltype = static_cast(file.nextBE()); if (!setlevel) leveltype = gnLevelTypeTbl[currlevel]; int _ViewX = file.nextBE(); diff --git a/Source/missiles.cpp b/Source/missiles.cpp index db9dd563b..96290a5d0 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3854,7 +3854,7 @@ void MI_HorkSpawn(Sint32 i) dp = dPiece[tx][ty]; if (!nSolidTable[dp] && dMonster[tx][ty] == 0 && dPlayer[tx][ty] == 0 && dObject[tx][ty] == 0) { j = 6; - direction md = (direction)missile[i]._miVar1; + direction md = static_cast(missile[i]._miVar1); int mon = AddMonster(tx, ty, md, 1, true); M_StartStand(mon, md); break; @@ -4902,7 +4902,7 @@ void MI_Stone(Sint32 i) if (monster[m]._mhitpoints > 0) monster[m]._mmode = (MON_MODE)missile[i]._miVar1; else - AddDead(monster[m]._mx, monster[m]._my, stonendx, (direction)monster[m]._mdir); + AddDead(monster[m]._mx, monster[m]._my, stonendx, monster[m]._mdir); } if (missile[i]._miAnimType == MFILE_SHATTER1) PutMissile(i); diff --git a/Source/monster.cpp b/Source/monster.cpp index ba440f84a..a75beb3a5 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -599,7 +599,7 @@ void ClrAllMonsters() Monst->_mfuty = 0; Monst->_moldx = 0; Monst->_moldy = 0; - Monst->_mdir = (direction)random_(89, 8); + Monst->_mdir = static_cast(random_(89, 8)); Monst->_mxvel = 0; Monst->_myvel = 0; Monst->_mAnimData = NULL; @@ -670,7 +670,7 @@ void PlaceMonster(int i, int mtype, int x, int y) } dMonster[x][y] = i + 1; - direction rd = (direction)random_(90, 8); + direction rd = static_cast(random_(90, 8)); InitMonster(i, rd, mtype, x, y); } @@ -2719,9 +2719,9 @@ bool M_DoDeath(int i) PrepDoEnding(); } else if (monster[i]._mAnimFrame == monster[i]._mAnimLen) { if (monster[i]._uniqtype == 0) - AddDead(monster[i]._mx, monster[i]._my, monster[i].MType->mdeadval, (direction)monster[i]._mdir); + AddDead(monster[i]._mx, monster[i]._my, monster[i].MType->mdeadval, monster[i]._mdir); else - AddDead(monster[i]._mx, monster[i]._my, monster[i]._udeadval, (direction)monster[i]._mdir); + AddDead(monster[i]._mx, monster[i]._my, monster[i]._udeadval, monster[i]._mdir); dMonster[monster[i]._mx][monster[i]._my] = 0; monster[i]._mDelFlag = true; @@ -2992,7 +2992,7 @@ void MAI_Zombie(int i) if (dist >= 2 * Monst->_mint + 4) { direction md = Monst->_mdir; if (random_(104, 100) < 2 * Monst->_mint + 20) { - md = (direction)random_(104, 8); + md = static_cast(random_(104, 8)); } M_DumbWalk(i, md); } else { @@ -5272,7 +5272,7 @@ void MissToMonst(int i, int x, int y) oldx = Miss->_mix; oldy = Miss->_miy; dMonster[x][y] = m + 1; - Monst->_mdir = (direction)Miss->_mimfnum; + Monst->_mdir = static_cast(Miss->_mimfnum); Monst->_mx = x; Monst->_my = y; M_StartStand(m, Monst->_mdir); diff --git a/Source/msg.cpp b/Source/msg.cpp index 0319ecfbf..83c99431e 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -726,9 +726,9 @@ void DeltaLoadLevel() if (monster[i]._mAi != AI_DIABLO) { if (monster[i]._uniqtype == 0) { assert(monster[i].MType != NULL); - AddDead(monster[i]._mx, monster[i]._my, monster[i].MType->mdeadval, (direction)monster[i]._mdir); + AddDead(monster[i]._mx, monster[i]._my, monster[i].MType->mdeadval, monster[i]._mdir); } else { - AddDead(monster[i]._mx, monster[i]._my, monster[i]._udeadval, (direction)monster[i]._mdir); + AddDead(monster[i]._mx, monster[i]._my, monster[i]._udeadval, monster[i]._mdir); } } monster[i]._mDelFlag = true; @@ -1656,7 +1656,7 @@ static DWORD On_SPELLXYD(TCmd *pCmd, int pnum) plr[pnum].destAction = ACTION_SPELLWALL; plr[pnum].destParam1 = p->x; plr[pnum].destParam2 = p->y; - plr[pnum].destParam3 = (direction)p->wParam2; + plr[pnum].destParam3 = static_cast(p->wParam2); plr[pnum].destParam4 = p->wParam3; plr[pnum]._pSpell = spell; plr[pnum]._pSplType = plr[pnum]._pRSplType; @@ -1679,7 +1679,7 @@ static DWORD On_SPELLXY(TCmd *pCmd, int pnum) plr[pnum].destAction = ACTION_SPELL; plr[pnum].destParam1 = p->x; plr[pnum].destParam2 = p->y; - plr[pnum].destParam3 = (direction)p->wParam2; + plr[pnum].destParam3 = static_cast(p->wParam2); plr[pnum]._pSpell = spell; plr[pnum]._pSplType = plr[pnum]._pRSplType; plr[pnum]._pSplFrom = 0; @@ -1701,7 +1701,7 @@ static DWORD On_TSPELLXY(TCmd *pCmd, int pnum) plr[pnum].destAction = ACTION_SPELL; plr[pnum].destParam1 = p->x; plr[pnum].destParam2 = p->y; - plr[pnum].destParam3 = (direction)p->wParam2; + plr[pnum].destParam3 = static_cast(p->wParam2); plr[pnum]._pSpell = spell; plr[pnum]._pSplType = plr[pnum]._pTSplType; plr[pnum]._pSplFrom = 2; diff --git a/Source/player.cpp b/Source/player.cpp index d9b35bd8c..51af1225c 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -2290,7 +2290,7 @@ bool PM_DoWalk(int pnum, int variant) if (plr[pnum].walkpath[0] != WALK_NONE) { StartWalkStand(pnum); } else { - StartStand(pnum, (direction)plr[pnum]._pVar3); + StartStand(pnum, plr[pnum]._pVar3); } ClearPlrPVars(pnum); diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index 773b541f4..de5789e64 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -771,7 +771,7 @@ static void scrollrt_draw_dungeon(CelOutputBuffer out, int sx, int sy, int dx, i if (light_table_index < lightmax && bDead != 0) { do { DeadStruct *pDeadGuy = &dead[(bDead & 0x1F) - 1]; - direction dd = (direction)((bDead >> 5) & 7); + direction dd = static_cast((bDead >> 5) & 7); int px = dx - pDeadGuy->_deadWidth2; BYTE *pCelBuff = pDeadGuy->_deadData[dd]; assert(pCelBuff != NULL); diff --git a/Source/themes.cpp b/Source/themes.cpp index db43d0486..13fa4b399 100644 --- a/Source/themes.cpp +++ b/Source/themes.cpp @@ -517,7 +517,7 @@ void PlaceThemeMonsts(int t, int f) for (xp = 0; xp < MAXDUNX; xp++) { if (dTransVal[xp][yp] == themes[t].ttval && !nSolidTable[dPiece[xp][yp]] && dItem[xp][yp] == 0 && dObject[xp][yp] == 0) { if (random_(0, f) == 0) { - AddMonster(xp, yp, (direction)random_(0, 8), mtype, true); + AddMonster(xp, yp, static_cast(random_(0, 8)), mtype, true); } } }