diff --git a/Source/appfat.cpp b/Source/appfat.cpp index 7d557cbed..999fa170d 100644 --- a/Source/appfat.cpp +++ b/Source/appfat.cpp @@ -41,7 +41,7 @@ static void FreeDlg() terminating = TRUE; cleanup_thread_id = SDL_GetThreadID(NULL); - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { if (SNetLeaveGame(3)) SDL_Delay(2000); } diff --git a/Source/automap.cpp b/Source/automap.cpp index 9a685f4a9..c2e0c8f50 100644 --- a/Source/automap.cpp +++ b/Source/automap.cpp @@ -592,7 +592,7 @@ static void DrawAutomapText() char desc[256]; int nextline = 20; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { strcat(strcpy(desc, "game: "), szPlayerName); PrintGameStr(8, 20, desc, COL_GOLD); nextline = 35; diff --git a/Source/control.cpp b/Source/control.cpp index 476fd08b4..15b2b5f5e 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -783,7 +783,7 @@ void InitControlPan() { int i; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { pBtmBuff = DiabloAllocPtr((PANEL_HEIGHT + 16) * PANEL_WIDTH); memset(pBtmBuff, 0, (PANEL_HEIGHT + 16) * PANEL_WIDTH); } else { @@ -809,7 +809,7 @@ void InitControlPan() CelBlitWidth(pManaBuff, 0, 87, 88, pStatusPanel, 2, 88); MemFreeDbg(pStatusPanel); talkflag = FALSE; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { pTalkPanel = LoadFileInMem("CtrlPan\\TalkPanl.CEL", NULL); CelBlitWidth(pBtmBuff, 0, (PANEL_HEIGHT + 16) * 2 - 1, PANEL_WIDTH, pTalkPanel, 1, PANEL_WIDTH); MemFreeDbg(pTalkPanel); @@ -828,7 +828,7 @@ void InitControlPan() for (i = 0; i < sizeof(panbtn) / sizeof(panbtn[0]); i++) panbtn[i] = FALSE; panbtndown = FALSE; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) numpanbtns = 6; else numpanbtns = 8; @@ -1013,7 +1013,7 @@ void control_check_btn_press() void DoAutoMap() { - if (currlevel != 0 || gbMaxPlayers != 1) { + if (currlevel != 0 || gbIsMultiplayer) { if (!automapflag) StartAutomap(); else @@ -2227,7 +2227,7 @@ void control_type_message() { int i; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { return; } @@ -2281,7 +2281,7 @@ BOOL control_talk_last_key(int vkey) { int result; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return FALSE; if (!talkflag) @@ -2316,7 +2316,7 @@ BOOL control_presskeys(int vkey) int len; BOOL ret; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (!talkflag) { ret = FALSE; } else { diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 689669560..2d9c5d578 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -288,7 +288,7 @@ static bool ProcessInput() if (PauseMode == 2) { return false; } - if (gbMaxPlayers == 1 && gmenu_is_active()) { + if (!gbIsMultiplayer && gmenu_is_active()) { force_redraw |= 1; return false; } @@ -350,7 +350,7 @@ static void run_game_loop(unsigned int uMsg) DrawAndBlit(); } - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { pfile_write_hero(); } @@ -740,7 +740,7 @@ static void RightMouseDown() void diablo_pause_game() { - if (gbMaxPlayers <= 1) { + if (!gbIsMultiplayer) { if (PauseMode) { PauseMode = 0; } else { @@ -756,7 +756,7 @@ static void diablo_hotkey_msg(DWORD dwMsg) { char szMsg[MAX_SEND_STR_LEN]; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { return; } @@ -1415,7 +1415,7 @@ void GM_Game(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_DIABTOWNWARP: case WM_DIABTWARPUP: case WM_DIABRETOWN: - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) pfile_write_hero(); nthread_ignore_mutex(TRUE); PaletteFadeOut(8); @@ -1594,7 +1594,8 @@ void LoadGameLevel(BOOL firstflag, int lvldir) InitItemGFX(); InitQuestText(); - for (i = 0; i < gbMaxPlayers; i++) + int players = gbIsMultiplayer ? MAX_PLRS : 1; + for (i = 1; i < players; i++) InitPlrGFXMem(i); InitStores(); @@ -1658,7 +1659,8 @@ void LoadGameLevel(BOOL firstflag, int lvldir) IncProgress(); visited = FALSE; - for (i = 0; i < gbMaxPlayers; i++) { + int players = gbIsMultiplayer ? MAX_PLRS : 1; + for (i = 0; i < players; i++) { if (plr[i].plractive) visited = visited || plr[i]._pLvlVisited[currlevel]; } @@ -1666,7 +1668,7 @@ void LoadGameLevel(BOOL firstflag, int lvldir) SetRndSeed(glSeedTbl[currlevel]); if (leveltype != DTYPE_TOWN) { - if (firstflag || lvldir == ENTRY_LOAD || !plr[myplr]._pLvlVisited[currlevel] || gbMaxPlayers != 1) { + if (firstflag || lvldir == ENTRY_LOAD || !plr[myplr]._pLvlVisited[currlevel] || gbIsMultiplayer) { HoldThemeRooms(); glMid1Seed[currlevel] = GetRndSeed(); InitMonsters(); @@ -1682,7 +1684,7 @@ void LoadGameLevel(BOOL firstflag, int lvldir) InitDead(); glEndSeed[currlevel] = GetRndSeed(); - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) DeltaLoadLevel(); IncProgress(); @@ -1707,14 +1709,14 @@ void LoadGameLevel(BOOL firstflag, int lvldir) InitMissiles(); IncProgress(); - if (!firstflag && lvldir != ENTRY_LOAD && plr[myplr]._pLvlVisited[currlevel] && gbMaxPlayers == 1) + if (!firstflag && lvldir != ENTRY_LOAD && plr[myplr]._pLvlVisited[currlevel] && !gbIsMultiplayer) LoadLevel(); - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) DeltaLoadLevel(); IncProgress(); } - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) ResyncQuests(); else ResyncMPQuests(); @@ -1764,7 +1766,7 @@ void LoadGameLevel(BOOL firstflag, int lvldir) for (i = 0; i < MAX_PLRS; i++) { if (plr[i].plractive && plr[i].plrlevel == currlevel && (!plr[i]._pLvlChanging || i == myplr)) { if (plr[i]._pHitPoints > 0) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) dPlayer[plr[i]._px][plr[i]._py] = i + 1; else SyncInitPlrPos(i); @@ -1889,7 +1891,7 @@ void game_loop(BOOL bStartup) timeout_cursor(FALSE); game_logic(); } - if (!gbRunGame || gbMaxPlayers == 1 || !nthread_has_500ms_passed(TRUE)) + if (!gbRunGame || !gbIsMultiplayer || !nthread_has_500ms_passed(TRUE)) break; } } diff --git a/Source/drlg_l1.cpp b/Source/drlg_l1.cpp index a2f237d5b..b509255d7 100644 --- a/Source/drlg_l1.cpp +++ b/Source/drlg_l1.cpp @@ -1113,7 +1113,7 @@ static void DRLG_LoadL1SP() L5pSetPiece = LoadFileInMem("Levels\\L1Data\\rnd6.DUN", NULL); L5setloadflag = TRUE; } - if (QuestStatus(Q_SKELKING) && gbMaxPlayers == 1) { + if (QuestStatus(Q_SKELKING) && !gbIsMultiplayer) { L5pSetPiece = LoadFileInMem("Levels\\L1Data\\SKngDO.DUN", NULL); L5setloadflag = TRUE; } diff --git a/Source/drlg_l2.cpp b/Source/drlg_l2.cpp index 9bc4bf990..d9b3a996c 100644 --- a/Source/drlg_l2.cpp +++ b/Source/drlg_l2.cpp @@ -3466,7 +3466,7 @@ void LoadPreL2Dungeon(const char *sFileName, int vx, int vy) void CreateL2Dungeon(DWORD rseed, int entry) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (currlevel == 7 && quests[Q_BLIND]._qactive == QUEST_NOTAVAIL) { currlevel = 6; CreateL2Dungeon(glSeedTbl[6], 4); diff --git a/Source/drlg_l4.cpp b/Source/drlg_l4.cpp index 5350c2ac4..728ee2eb4 100644 --- a/Source/drlg_l4.cpp +++ b/Source/drlg_l4.cpp @@ -196,7 +196,7 @@ void DRLG_LoadL4SP() pSetPiece = LoadFileInMem("Levels\\L4Data\\Warlord.DUN", NULL); setloadflag = TRUE; } - if (currlevel == 15 && gbMaxPlayers != 1) { + if (currlevel == 15 && gbIsMultiplayer) { pSetPiece = LoadFileInMem("Levels\\L4Data\\Vile1.DUN", NULL); setloadflag = TRUE; } @@ -1088,7 +1088,7 @@ static void L4drawRoom(int x, int y, int width, int height) for (j = 0; j < height && j + y < 20; j++) { for (i = 0; i < width && i + x < 20; i++) { - dung[i + x][j + y] = 1; + dung[i + x][j + y] = 1; } } } @@ -1178,10 +1178,10 @@ static void L4firstRoom() if (currlevel != 16) { if (currlevel == quests[Q_WARLORD]._qlevel && quests[Q_WARLORD]._qactive != QUEST_NOTAVAIL) { - /// ASSERT: assert(gbMaxPlayers == 1); + assert(!gbIsMultiplayer); w = 11; h = 11; - } else if (currlevel == quests[Q_BETRAYER]._qlevel && gbMaxPlayers != 1) { + } else if (currlevel == quests[Q_BETRAYER]._qlevel && gbIsMultiplayer) { w = 11; h = 11; } else { @@ -1216,7 +1216,7 @@ static void L4firstRoom() l4holdx = x; l4holdy = y; } - if (QuestStatus(Q_WARLORD) || currlevel == quests[Q_BETRAYER]._qlevel && gbMaxPlayers != 1) { + if (QuestStatus(Q_WARLORD) || currlevel == quests[Q_BETRAYER]._qlevel && gbIsMultiplayer) { SP4x1 = x + 1; SP4y1 = y + 1; SP4x2 = SP4x1 + w; @@ -1601,7 +1601,7 @@ static void DRLG_L4(int entry) if (currlevel == 16) { L4SaveQuads(); } - if (QuestStatus(Q_WARLORD) || currlevel == quests[Q_BETRAYER]._qlevel && gbMaxPlayers != 1) { + if (QuestStatus(Q_WARLORD) || currlevel == quests[Q_BETRAYER]._qlevel && gbIsMultiplayer) { for (spi = SP4x1; spi < SP4x2; spi++) { for (spj = SP4y1; spj < SP4y2; spj++) { dflags[spi][spj] = 1; @@ -1671,7 +1671,7 @@ static void DRLG_L4(int entry) if (entry == ENTRY_MAIN) { doneflag = DRLG_L4PlaceMiniSet(L4USTAIRS, 1, 1, -1, -1, TRUE, 0); if (doneflag) { - if (gbMaxPlayers == 1 && quests[Q_DIABLO]._qactive != QUEST_ACTIVE) { + if (!gbIsMultiplayer && quests[Q_DIABLO]._qactive != QUEST_ACTIVE) { doneflag = DRLG_L4PlaceMiniSet(L4PENTA, 1, 1, -1, -1, FALSE, 1); } else { doneflag = DRLG_L4PlaceMiniSet(L4PENTA2, 1, 1, -1, -1, FALSE, 1); @@ -1681,7 +1681,7 @@ static void DRLG_L4(int entry) } else { doneflag = DRLG_L4PlaceMiniSet(L4USTAIRS, 1, 1, -1, -1, FALSE, 0); if (doneflag) { - if (gbMaxPlayers == 1 && quests[Q_DIABLO]._qactive != QUEST_ACTIVE) { + if (!gbIsMultiplayer && quests[Q_DIABLO]._qactive != QUEST_ACTIVE) { doneflag = DRLG_L4PlaceMiniSet(L4PENTA, 1, 1, -1, -1, TRUE, 1); } else { doneflag = DRLG_L4PlaceMiniSet(L4PENTA2, 1, 1, -1, -1, TRUE, 1); diff --git a/Source/dthread.cpp b/Source/dthread.cpp index 079a7baae..a0cf61af0 100644 --- a/Source/dthread.cpp +++ b/Source/dthread.cpp @@ -72,7 +72,7 @@ void dthread_send_delta(int pnum, char cmd, void *pbSrc, int dwLen) TMegaPkt *pkt; TMegaPkt *p; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { return; } @@ -97,7 +97,7 @@ void dthread_start() { const char *error_buf; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { return; } diff --git a/Source/effects.cpp b/Source/effects.cpp index 2edb99035..012b9af37 100644 --- a/Source/effects.cpp +++ b/Source/effects.cpp @@ -1181,7 +1181,7 @@ static void PlaySFX_priv(TSFX *pSFX, BOOL loc, int x, int y) { int lPan, lVolume; - if (plr[myplr].pLvlLoad && gbMaxPlayers != 1) { + if (plr[myplr].pLvlLoad && gbIsMultiplayer) { return; } if (!gbSndInited || !gbSoundOn || gbBufferMsgs) { @@ -1352,7 +1352,7 @@ static void priv_sound_init(BYTE bLoadMask) void sound_init() { BYTE mask = sfx_MISC; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { mask |= sfx_WARRIOR; if (!gbIsSpawn) mask |= (sfx_ROGUE | sfx_SORCEROR); diff --git a/Source/gamemenu.cpp b/Source/gamemenu.cpp index 5209032c0..cf3e4e3e8 100644 --- a/Source/gamemenu.cpp +++ b/Source/gamemenu.cpp @@ -85,7 +85,7 @@ static void gamemenu_update_multi(TMenuItem *pMenuItems) void gamemenu_on() { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { gmenu_set_items(sgSingleMenu, gamemenu_update_single); } else { gmenu_set_items(sgMultiMenu, gamemenu_update_multi); @@ -232,7 +232,7 @@ static void gamemenu_get_gamma() static void gamemenu_get_speed() { - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { sgOptionsMenu[3].dwFlags &= ~(GMENU_ENABLED | GMENU_SLIDER); if (ticks_per_sec >= 50) sgOptionsMenu[3].pszStr = "Speed: Fastest"; @@ -349,7 +349,7 @@ void gamemenu_sound_volume(BOOL bActivate) void gamemenu_loadjog(BOOL bActivate) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { jogging_opt = !jogging_opt; SRegSaveValue("Hellfire", jogging_title, FALSE, jogging_opt); PlaySFX(IS_TITLEMOV); diff --git a/Source/interfac.cpp b/Source/interfac.cpp index 317a5780b..25513b2ba 100644 --- a/Source/interfac.cpp +++ b/Source/interfac.cpp @@ -325,7 +325,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABNEXTLVL: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -341,7 +341,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABPREVLVL: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -358,7 +358,7 @@ void ShowProgress(unsigned int uMsg) case WM_DIABSETLVL: SetReturnLvlPos(); IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -373,7 +373,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABRTNLVL: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -388,7 +388,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABWARPLVL: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -402,7 +402,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABTOWNWARP: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -418,7 +418,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABTWARPUP: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); @@ -434,7 +434,7 @@ void ShowProgress(unsigned int uMsg) break; case WM_DIABRETOWN: IncProgress(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { SaveLevel(); } else { DeltaSaveLevel(); diff --git a/Source/inv.cpp b/Source/inv.cpp index 977d82186..0fb7b1e88 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -2077,7 +2077,7 @@ int InvPutItem(int pnum, int x, int y) if (plr[pnum].HoldItem._iCurs == ICURS_RUNE_BOMB && xp >= 79 && xp <= 82 && yp >= 61 && yp <= 64) { NetSendCmdLocParam2(0, CMD_OPENHIVE, plr[pnum]._px, plr[pnum]._py, xx, yy); quests[Q_FARMER]._qactive = 3; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { NetSendCmdQuest(TRUE, Q_FARMER); return -1; } @@ -2086,7 +2086,7 @@ int InvPutItem(int pnum, int x, int y) if (plr[pnum].HoldItem.IDidx == IDI_MAPOFDOOM && xp >= 35 && xp <= 38 && yp >= 20 && yp <= 24) { NetSendCmd(FALSE, CMD_OPENCRYPT); quests[Q_GRAVE]._qactive = 3; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { NetSendCmdQuest(TRUE, Q_GRAVE); } return -1; diff --git a/Source/items.cpp b/Source/items.cpp index 9845e9374..a25ba9754 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -1645,11 +1645,11 @@ void GetBookSpell(int i, int lvl) bs = s; } s++; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (s == SPL_RESURRECT) s = SPL_TELEKINESIS; } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (s == SPL_HEALOTHER) s = SPL_FLARE; } @@ -1754,9 +1754,9 @@ void GetStaffSpell(int i, int lvl, BOOL onlygood) bs = s; } s++; - if (gbMaxPlayers == 1 && s == SPL_RESURRECT) + if (!gbIsMultiplayer && s == SPL_RESURRECT) s = SPL_TELEKINESIS; - if (gbMaxPlayers == 1 && s == SPL_HEALOTHER) + if (!gbIsMultiplayer && s == SPL_HEALOTHER) s = SPL_FLARE; if (s == maxSpells) s = SPL_FIREBOLT; @@ -1786,7 +1786,7 @@ void GetOilType(int i, int max_lvl) int cnt, t, j, r; char rnd[32]; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (max_lvl == 0) max_lvl = 1; cnt = 0; @@ -2511,9 +2511,9 @@ int RndItem(int m) ril[ri] = i; ri++; } - if (AllItemsList[i].iSpell == SPL_RESURRECT && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_RESURRECT && !gbIsMultiplayer) ri--; - if (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_HEALOTHER && !gbIsMultiplayer) ri--; } @@ -2527,7 +2527,7 @@ int RndUItem(int m) int ril[512]; BOOL okflag; - if (m != -1 && (monster[m].MData->mTreasure & 0x8000) != 0 && gbMaxPlayers == 1) + if (m != -1 && (monster[m].MData->mTreasure & 0x8000) != 0 && !gbIsMultiplayer) return -1 - (monster[m].MData->mTreasure & 0xFFF); int curlv = items_get_currlevel(); @@ -2554,9 +2554,9 @@ int RndUItem(int m) okflag = FALSE; if (AllItemsList[i].iMiscId == IMISC_BOOK) okflag = TRUE; - if (AllItemsList[i].iSpell == SPL_RESURRECT && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_RESURRECT && !gbIsMultiplayer) okflag = FALSE; - if (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_HEALOTHER && !gbIsMultiplayer) okflag = FALSE; if (okflag && ri < 512) { ril[ri] = i; @@ -2585,9 +2585,9 @@ int RndAllItems() ril[ri] = i; ri++; } - if (AllItemsList[i].iSpell == SPL_RESURRECT && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_RESURRECT && !gbIsMultiplayer) ri--; - if (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_HEALOTHER && !gbIsMultiplayer) ri--; } @@ -2638,7 +2638,7 @@ int CheckUnique(int i, int lvl, int uper, BOOL recreate) break; if (UniqueItemList[j].UIItemId == AllItemsList[item[i].IDidx].iItemId && lvl >= UniqueItemList[j].UIMinLvl - && (recreate || !UniqueItemFlag[j] || gbMaxPlayers != 1)) { + && (recreate || !UniqueItemFlag[j] || gbIsMultiplayer)) { uok[j] = TRUE; numu++; } @@ -2784,7 +2784,7 @@ void SpawnItem(int m, int x, int y, BOOL sendmsg) int ii, idx; BOOL onlygood; - if (monster[m]._uniqtype || ((monster[m].MData->mTreasure & 0x8000) && gbMaxPlayers != 1)) { + if (monster[m]._uniqtype || ((monster[m].MData->mTreasure & 0x8000) && gbIsMultiplayer)) { idx = RndUItem(m); if (idx < 0) { SpawnUnique(-(idx + 1), x, y); @@ -3266,7 +3266,7 @@ void ItemDoppel() int idoppelx; ItemStruct *i; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { for (idoppelx = 16; idoppelx < 96; idoppelx++) { if (dItem[idoppelx][idoppely]) { i = &item[dItem[idoppelx][idoppely] - 1]; @@ -4643,7 +4643,7 @@ BOOL PremiumItemOk(int i) if (!gbIsHellfire && AllItemsList[i].itype == ITYPE_STAFF) rv = FALSE; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (AllItemsList[i].iMiscId == IMISC_OILOF) rv = FALSE; if (AllItemsList[i].itype == ITYPE_RING) @@ -4841,9 +4841,9 @@ BOOL WitchItemOk(int i) rv = FALSE; if (AllItemsList[i].iMiscId > IMISC_OILFIRST && AllItemsList[i].iMiscId < IMISC_OILLAST) rv = FALSE; - if (AllItemsList[i].iSpell == SPL_RESURRECT && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_RESURRECT && !gbIsMultiplayer) rv = FALSE; - if (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1) + if (AllItemsList[i].iSpell == SPL_HEALOTHER && !gbIsMultiplayer) rv = FALSE; return rv; @@ -5139,9 +5139,9 @@ BOOL HealerItemOk(int i) if (AllItemsList[i].iMiscId == IMISC_SCROLL) return AllItemsList[i].iSpell == SPL_HEAL; if (AllItemsList[i].iMiscId == IMISC_SCROLLT) - return AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers != 1; + return AllItemsList[i].iSpell == SPL_HEALOTHER && gbIsMultiplayer; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (AllItemsList[i].iMiscId == IMISC_ELIXSTR) return !gbIsHellfire || plr[myplr]._pBaseStr < MaxStats[plr[myplr]._pClass][ATTRIB_STR]; if (AllItemsList[i].iMiscId == IMISC_ELIXMAG) @@ -5217,7 +5217,7 @@ void SpawnHealer(int lvl) healitem[1]._iCreateInfo = lvl; healitem[1]._iStatFlag = TRUE; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { GetItemAttrs(0, IDI_RESURRECT, 1); healitem[2] = item[0]; healitem[2]._iCreateInfo = lvl; diff --git a/Source/mainmenu.cpp b/Source/mainmenu.cpp index 484ab19af..8664d31cb 100644 --- a/Source/mainmenu.cpp +++ b/Source/mainmenu.cpp @@ -58,7 +58,7 @@ static BOOL mainmenu_single_player() jogging_opt = FALSE; } - gbMaxPlayers = 1; + gbIsMultiplayer = false; if (!SRegLoadValue("devilutionx", "game speed", 0, &ticks_per_sec)) { SRegSaveValue("devilutionx", "game speed", 0, ticks_per_sec); @@ -70,7 +70,7 @@ static BOOL mainmenu_single_player() static BOOL mainmenu_multi_player() { jogging_opt = FALSE; - gbMaxPlayers = MAX_PLRS; + gbIsMultiplayer = true; return mainmenu_init_menu(SELHERO_CONNECT); } @@ -101,7 +101,7 @@ BOOL mainmenu_select_hero_dialog( { BOOL hero_is_created = TRUE; int dlgresult = 0; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (!UiSelHeroSingDialog( pfile_ui_set_hero_infos, pfile_ui_save_create, diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 9db697829..9e6c39d39 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1108,15 +1108,15 @@ void CheckMissileCol(int i, int mindam, int maxdam, BOOL shift, int mx, int my, } if (dPlayer[mx][my] > 0) { if (PlayerMHit( - dPlayer[mx][my] - 1, - -1, - missile[i]._midist, - mindam, - maxdam, - missile[i]._mitype, - shift, - missile[i]._miAnimType == MFILE_FIREWAL || missile[i]._miAnimType == MFILE_LGHNING, - &blocked)) { + dPlayer[mx][my] - 1, + -1, + missile[i]._midist, + mindam, + maxdam, + missile[i]._mitype, + shift, + missile[i]._miAnimType == MFILE_FIREWAL || missile[i]._miAnimType == MFILE_LGHNING, + &blocked)) { if (gbIsHellfire && blocked) { dir = missile[i]._mimfnum + (random_(10, 2) ? 1 : -1); mAnimFAmt = misfiledata[missile[i]._miAnimType].mAnimFAmt; @@ -3319,7 +3319,8 @@ void AddDiabApoca(int mi, int sx, int sy, int dx, int dy, int midir, char mienem { int pnum; - for (pnum = 0; pnum < gbMaxPlayers; pnum++) { + int players = gbIsMultiplayer ? MAX_PLRS : 1; + for (pnum = 0; pnum < players; pnum++) { if (plr[pnum].plractive) { if (LineClear(sx, sy, plr[pnum]._pfutx, plr[pnum]._pfuty)) { AddMissile(0, 0, plr[pnum]._pfutx, plr[pnum]._pfuty, 0, MIS_BOOM2, mienemy, id, dam, 0); diff --git a/Source/monster.cpp b/Source/monster.cpp index 5e4f69cba..3d1a90795 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -249,7 +249,7 @@ void GetLevelMTypes() if (QuestStatus(Q_WARLORD)) AddMonsterType(UniqMonst[UMT_WARLORD].mtype, PLACE_UNIQUE); - if (gbMaxPlayers != 1 && currlevel == quests[Q_SKELKING]._qlevel) { + if (gbIsMultiplayer && currlevel == quests[Q_SKELKING]._qlevel) { AddMonsterType(MT_SKING, PLACE_UNIQUE); @@ -482,7 +482,7 @@ void InitMonster(int i, int rd, int mtype, int x, int y) monster[i]._mmaxhp = (monst->mMinHP + random_(88, monst->mMaxHP - monst->mMinHP + 1)) << 6; } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { monster[i]._mmaxhp >>= 1; if (monster[i]._mmaxhp < 64) { monster[i]._mmaxhp = 64; @@ -529,7 +529,7 @@ void InitMonster(int i, int rd, int mtype, int x, int y) if (gnDifficulty == DIFF_NIGHTMARE) { monster[i]._mmaxhp = 3 * monster[i]._mmaxhp; if (gbIsHellfire) - monster[i]._mmaxhp += (gbMaxPlayers != 1 ? 100 : 50) << 6; + monster[i]._mmaxhp += (gbIsMultiplayer ? 100 : 50) << 6; else monster[i]._mmaxhp += 64; monster[i]._mhitpoints = monster[i]._mmaxhp; @@ -545,7 +545,7 @@ void InitMonster(int i, int rd, int mtype, int x, int y) } else if (gnDifficulty == DIFF_HELL) { monster[i]._mmaxhp = 4 * monster[i]._mmaxhp; if (gbIsHellfire) - monster[i]._mmaxhp += (gbMaxPlayers != 1 ? 200 : 100) << 6; + monster[i]._mmaxhp += (gbIsMultiplayer ? 200 : 100) << 6; else monster[i]._mmaxhp += 192; monster[i]._mhitpoints = monster[i]._mmaxhp; @@ -725,7 +725,7 @@ void PlaceUniqueMonst(int uniqindex, int miniontype, int bosspacksize) } } } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (uniqindex == UMT_LAZURUS) { xp = 32; yp = 46; @@ -787,7 +787,7 @@ void PlaceUniqueMonst(int uniqindex, int miniontype, int bosspacksize) Monst->mName = Uniq->mName; Monst->_mmaxhp = Uniq->mmaxhp << 6; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { Monst->_mmaxhp = Monst->_mmaxhp >> 1; if (Monst->_mmaxhp < 64) { Monst->_mmaxhp = 64; @@ -808,7 +808,7 @@ void PlaceUniqueMonst(int uniqindex, int miniontype, int bosspacksize) else Monst->mlid = AddLight(Monst->_mx, Monst->_my, 3); - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (Monst->_mAi == AI_LAZHELP) Monst->mtalkmsg = 0; if (Monst->_mAi == AI_LAZURUS && quests[Q_BETRAYER]._qvar1 > 3) { @@ -823,7 +823,7 @@ void PlaceUniqueMonst(int uniqindex, int miniontype, int bosspacksize) if (gnDifficulty == DIFF_NIGHTMARE) { Monst->_mmaxhp = 3 * Monst->_mmaxhp; if (gbIsHellfire) - Monst->_mmaxhp += (gbMaxPlayers != 1 ? 100 : 50) << 6; + Monst->_mmaxhp += (gbIsMultiplayer ? 100 : 50) << 6; else Monst->_mmaxhp += 64; Monst->mLevel += 15; @@ -836,7 +836,7 @@ void PlaceUniqueMonst(int uniqindex, int miniontype, int bosspacksize) } else if (gnDifficulty == DIFF_HELL) { Monst->_mmaxhp = 4 * Monst->_mmaxhp; if (gbIsHellfire) - Monst->_mmaxhp += (gbMaxPlayers != 1 ? 200 : 100) << 6; + Monst->_mmaxhp += (gbIsMultiplayer ? 200 : 100) << 6; else Monst->_mmaxhp += 192; Monst->mLevel += 30; @@ -929,7 +929,7 @@ void PlaceQuestMonsters() PlaceUniqueMonst(UMT_BUTCHER, 0, 0); } - if (currlevel == quests[Q_SKELKING]._qlevel && gbMaxPlayers != 1) { + if (currlevel == quests[Q_SKELKING]._qlevel && gbIsMultiplayer) { skeltype = 0; for (skeltype = 0; skeltype < nummtypes; skeltype++) { @@ -974,7 +974,7 @@ void PlaceQuestMonsters() quests[Q_ZHAR]._qactive = QUEST_NOTAVAIL; } - if (currlevel == quests[Q_BETRAYER]._qlevel && gbMaxPlayers != 1) { + if (currlevel == quests[Q_BETRAYER]._qlevel && gbIsMultiplayer) { AddMonsterType(UniqMonst[UMT_LAZURUS].mtype, PLACE_UNIQUE); AddMonsterType(UniqMonst[UMT_RED_VEX].mtype, PLACE_UNIQUE); PlaceUniqueMonst(UMT_LAZURUS, 0, 0); @@ -1109,7 +1109,7 @@ void InitMonsters() int scattertypes[NUM_MTYPES]; numscattypes = 0; - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) CheckDungeonClear(); if (!setlevel) { AddMonster(1, 0, 0, 0, FALSE); @@ -1141,7 +1141,7 @@ void InitMonsters() if (!SolidLoc(s, t)) na++; numplacemonsters = na / 30; - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) numplacemonsters += numplacemonsters >> 1; if (nummonsters + numplacemonsters > MAXMONSTERS - 10) numplacemonsters = MAXMONSTERS - 10 - nummonsters; @@ -1313,7 +1313,7 @@ void M_Enemy(int i) if (Monst->_mFlags & MFLAG_BERSERK || !(Monst->_mFlags & MFLAG_GOLEM)) { for (pnum = 0; pnum < MAX_PLRS; pnum++) { if (!plr[pnum].plractive || currlevel != plr[pnum].plrlevel || plr[pnum]._pLvlChanging - || ((plr[pnum]._pHitPoints >> 6) == 0) && gbMaxPlayers != 1) + || ((plr[pnum]._pHitPoints >> 6) == 0) && gbIsMultiplayer) continue; sameroom = (dTransVal[Monst->_mx][Monst->_my] == dTransVal[plr[pnum]._px][plr[pnum]._py]); if (abs(Monst->_mx - plr[pnum]._px) > abs(Monst->_my - plr[pnum]._py)) @@ -2267,7 +2267,7 @@ void M_TryH2HHit(int i, int pnum, int Hit, int MinDam, int MaxDam) else M_StartHit(i, pnum, mdam); } - if (!(monster[i]._mFlags & MFLAG_NOLIFESTEAL) && monster[i].MType->mtype == MT_SKING && gbMaxPlayers != 1) + if (!(monster[i]._mFlags & MFLAG_NOLIFESTEAL) && monster[i].MType->mtype == MT_SKING && gbIsMultiplayer) monster[i]._mhitpoints += dam; if (plr[pnum]._pHitPoints > plr[pnum]._pMaxHP) { plr[pnum]._pHitPoints = plr[pnum]._pMaxHP; @@ -2546,7 +2546,7 @@ BOOL M_DoTalk(int i) } if (monster[i].mName == UniqMonst[UMT_WARLORD].mName) quests[Q_WARLORD]._qvar1 = 2; - if (monster[i].mName == UniqMonst[UMT_LAZURUS].mName && gbMaxPlayers != 1) { + if (monster[i].mName == UniqMonst[UMT_LAZURUS].mName && gbIsMultiplayer) { quests[Q_BETRAYER]._qvar1 = 6; monster[i]._mgoal = MGOAL_NORMAL; monster[i]._msquelch = UCHAR_MAX; @@ -2633,13 +2633,13 @@ void DoEnding() BOOL bMusicOn; int musicVolume; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { SNetLeaveGame(LEAVE_ENDING); } music_stop(); - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { SDL_Delay(1000); } @@ -2692,7 +2692,7 @@ void PrepDoEnding() for (i = 0; i < MAX_PLRS; i++) { plr[i]._pmode = PM_QUIT; plr[i]._pInvincible = TRUE; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { if (plr[i]._pHitPoints >> 6 == 0) plr[i]._pHitPoints = 64; if (plr[i]._pMana >> 6 == 0) @@ -4124,7 +4124,7 @@ void MAI_SkelKing(int i) } else Monst->_mgoal = MGOAL_NORMAL; if (Monst->_mgoal == MGOAL_NORMAL) { - if (gbMaxPlayers == 1 + if (!gbIsMultiplayer && ((abs(mx) >= 3 || abs(my) >= 3) && v < 4 * Monst->_mint + 35 || v < 6) && LineClear(Monst->_mx, Monst->_my, fx, fy)) { nx = Monst->_mx + offset_x[md]; @@ -4511,7 +4511,7 @@ void MAI_Lazurus(int i) my = Monst->_my; md = M_GetDir(i); if (dFlags[mx][my] & BFLAG_VISIBLE) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (Monst->mtalkmsg == TEXT_VILE13 && Monst->_mgoal == MGOAL_INQUIRING && plr[myplr]._px == 35 && plr[myplr]._py == 46) { PlayInGameMovie("gendata\\fprst3.smk"); Monst->_mmode = MM_TALK; @@ -4528,13 +4528,13 @@ void MAI_Lazurus(int i) } } - if (gbMaxPlayers != 1 && Monst->mtalkmsg == TEXT_VILE13 && Monst->_mgoal == MGOAL_INQUIRING && quests[Q_BETRAYER]._qvar1 <= 3) { + if (gbIsMultiplayer && Monst->mtalkmsg == TEXT_VILE13 && Monst->_mgoal == MGOAL_INQUIRING && quests[Q_BETRAYER]._qvar1 <= 3) { Monst->_mmode = MM_TALK; } } if (Monst->_mgoal == MGOAL_NORMAL || Monst->_mgoal == MGOAL_RETREAT || Monst->_mgoal == MGOAL_MOVE) { - if (gbMaxPlayers == 1 && quests[Q_BETRAYER]._qvar1 == 4 && Monst->mtalkmsg == 0) { // Fix save games affected by teleport bug + if (!gbIsMultiplayer && quests[Q_BETRAYER]._qvar1 == 4 && Monst->mtalkmsg == 0) { // Fix save games affected by teleport bug ObjChangeMapResync(1, 18, 20, 24); RedoPlayerVision(); quests[Q_BETRAYER]._qvar1 = 6; @@ -4565,7 +4565,7 @@ void MAI_Lazhelp(int i) md = M_GetDir(i); if (dFlags[_mx][_my] & BFLAG_VISIBLE) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (quests[Q_BETRAYER]._qvar1 <= 5) { Monst->_mgoal = MGOAL_INQUIRING; } else { @@ -4692,7 +4692,7 @@ void ProcessMonsters() mi = monstactive[i]; Monst = &monster[mi]; raflag = FALSE; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { SetRndSeed(Monst->_mAISeed); Monst->_mAISeed = AdvanceRndSeed(); } @@ -5192,7 +5192,7 @@ void PrintMonstHistory(int mt) minHP -= 2000; maxHP -= 2000; } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { minHP >>= 1; maxHP >>= 1; } @@ -5204,8 +5204,8 @@ void PrintMonstHistory(int mt) int hpBonusNightmare = 1; int hpBonusHell = 3; if (gbIsHellfire) { - hpBonusNightmare = (gbMaxPlayers == 1 ? 50 : 100); - hpBonusHell = (gbMaxPlayers == 1 ? 100 : 200); + hpBonusNightmare = (!gbIsMultiplayer ? 50 : 100); + hpBonusHell = (!gbIsMultiplayer ? 100 : 200); } if (gnDifficulty == DIFF_NIGHTMARE) { minHP = 3 * minHP + hpBonusNightmare; diff --git a/Source/msg.cpp b/Source/msg.cpp index aba771a24..8e9e36295 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -172,7 +172,7 @@ BOOL msg_wait_resync() void run_delta_info() { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; gbBufferMsgs = 2; @@ -419,7 +419,7 @@ void delta_init() void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; sgbDeltaChanged = TRUE; @@ -432,7 +432,7 @@ void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel) void delta_monster_hp(int mi, int hp, BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; sgbDeltaChanged = TRUE; @@ -443,7 +443,7 @@ void delta_monster_hp(int mi, int hp, BYTE bLevel) void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; /// ASSERT: assert(pSync != NULL); @@ -462,7 +462,7 @@ void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel) void delta_sync_golem(TCmdGolem *pG, int pnum, BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; sgbDeltaChanged = TRUE; @@ -477,7 +477,7 @@ void delta_sync_golem(TCmdGolem *pG, int pnum, BYTE bLevel) void delta_leave_sync(BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; if (currlevel == 0) glSeedTbl[0] = AdvanceRndSeed(); @@ -502,7 +502,7 @@ void delta_leave_sync(BYTE bLevel) static void delta_sync_object(int oi, BYTE bCmd, BYTE bLevel) { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; sgbDeltaChanged = TRUE; @@ -513,7 +513,7 @@ static BOOL delta_get_item(TCmdGItem *pI, BYTE bLevel) { int i; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return TRUE; TCmdPItem *pD = sgLevels[bLevel].item; @@ -575,7 +575,7 @@ static void delta_put_item(TCmdPItem *pI, int x, int y, BYTE bLevel) { int i; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; TCmdPItem *pD = sgLevels[bLevel].item; @@ -618,7 +618,7 @@ void DeltaAddItem(int ii) { int i; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; TCmdPItem *pD = sgLevels[currlevel].item; @@ -661,7 +661,7 @@ void DeltaAddItem(int ii) void DeltaSaveLevel() { - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; for (int i = 0; i < MAX_PLRS; i++) { @@ -679,7 +679,7 @@ void DeltaLoadLevel() int x, y, xx, yy; BOOL done; - if (gbMaxPlayers == 1) + if (!gbIsMultiplayer) return; deltaload = TRUE; @@ -1263,7 +1263,7 @@ void delta_close_portal(int pnum) static void check_update_plr(int pnum) { - if (gbMaxPlayers != 1 && pnum == myplr) + if (gbIsMultiplayer && pnum == myplr) pfile_update(TRUE); } diff --git a/Source/multi.cpp b/Source/multi.cpp index e6636a0aa..63714e007 100644 --- a/Source/multi.cpp +++ b/Source/multi.cpp @@ -32,7 +32,7 @@ DWORD sgdwGameLoops; * Specifies the maximum number of players in a game, where 1 * represents a single player game and 4 represents a multi player game. */ -BYTE gbMaxPlayers; +bool gbIsMultiplayer; BOOLEAN sgbTimeout; char szPlayerName[128]; BYTE gbDeltaSender; @@ -607,7 +607,7 @@ static void SetupLocalCoords() { int x, y; - if (!leveldebug || gbMaxPlayers > 1) { + if (!leveldebug || gbIsMultiplayer) { currlevel = 0; leveltype = DTYPE_TOWN; setlevel = FALSE; @@ -723,7 +723,7 @@ void NetClose() tmsg_cleanup(); multi_event_handler(FALSE); SNetLeaveGame(3); - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) SDL_Delay(2000); } @@ -844,7 +844,7 @@ BOOL multi_init_single(_SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info } myplr = 0; - gbMaxPlayers = 1; + gbIsMultiplayer = false; return TRUE; } @@ -877,7 +877,7 @@ BOOL multi_init_multi(_SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, return FALSE; } else { myplr = playerId; - gbMaxPlayers = MAX_PLRS; + gbIsMultiplayer = true; pfile_read_player_from_save(); diff --git a/Source/multi.h b/Source/multi.h index 160137baa..1c55e4ca7 100644 --- a/Source/multi.h +++ b/Source/multi.h @@ -18,7 +18,7 @@ extern WORD sgwPackPlrOffsetTbl[MAX_PLRS]; extern BYTE gbActivePlayers; extern BOOLEAN gbGameDestroyed; extern BOOLEAN gbSelectProvider; -extern BYTE gbMaxPlayers; +extern bool gbIsMultiplayer; extern char szPlayerName[128]; extern BYTE gbDeltaSender; extern int player_state[MAX_PLRS]; diff --git a/Source/nthread.cpp b/Source/nthread.cpp index 91a16e7e2..7871fd4aa 100644 --- a/Source/nthread.cpp +++ b/Source/nthread.cpp @@ -183,7 +183,7 @@ void nthread_start(BOOL set_turn_upper_bit) } if (gdwNormalMsgSize > largestMsgSize) gdwNormalMsgSize = largestMsgSize; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { sgbThreadIsRunning = FALSE; sgMemCrit.Enter(); nthread_should_run = TRUE; @@ -232,7 +232,7 @@ BOOL nthread_has_500ms_passed(BOOL unused) currentTickCount = SDL_GetTicks(); ticksElapsed = currentTickCount - last_tick; - if (gbMaxPlayers == 1 && ticksElapsed > tick_delay * 10) { + if (!gbIsMultiplayer && ticksElapsed > tick_delay * 10) { last_tick = currentTickCount; ticksElapsed = 0; } diff --git a/Source/objects.cpp b/Source/objects.cpp index 1457f8e27..8f15c5cee 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -978,7 +978,7 @@ void InitObjects() } else { InitObjFlag = TRUE; AdvanceRndSeed(); - if (currlevel == 9 && gbMaxPlayers == 1) + if (currlevel == 9 && !gbIsMultiplayer) AddSlainHero(); if (currlevel == quests[Q_MUSHROOM]._qlevel && quests[Q_MUSHROOM]._qactive == QUEST_INIT) AddMushPatch(); @@ -1083,7 +1083,7 @@ void InitObjects() LoadMapObjs(mem, 2 * setpc_x, 2 * setpc_y); mem_free_dbg(mem); } - if (QuestStatus(Q_BETRAYER) && gbMaxPlayers == 1) + if (QuestStatus(Q_BETRAYER) && !gbIsMultiplayer) AddLazStand(); InitRndBarrels(); AddL4Goodies(); @@ -1380,10 +1380,10 @@ void AddShrine(int i) } else { slist[j] = 1; } - if (gbMaxPlayers != 1 && shrineavail[j] == 1) { + if (gbIsMultiplayer && shrineavail[j] == 1) { slist[j] = 0; } - if (gbMaxPlayers == 1 && shrineavail[j] == 2) { + if (!gbIsMultiplayer && shrineavail[j] == 2) { slist[j] = 0; } } @@ -4210,13 +4210,13 @@ int FindValidShrine(int i) done = TRUE; } if (done) { - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (shrineavail[rv] == 1) { done = FALSE; continue; } } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (shrineavail[rv] == 2) { done = FALSE; continue; diff --git a/Source/pack.cpp b/Source/pack.cpp index 811ddd082..a203a7759 100644 --- a/Source/pack.cpp +++ b/Source/pack.cpp @@ -115,7 +115,7 @@ void PackPlayer(PkPlayerStruct *pPack, int pnum, BOOL manashield) pPack->pDamAcFlags = SwapLE32(pPlayer->pDamAcFlags); pPack->pDiabloKillLevel = SwapLE32(pPlayer->pDiabloKillLevel); - if (gbMaxPlayers == 1 || manashield) + if (!gbIsMultiplayer || manashield) pPack->pManaShield = SwapLE32(pPlayer->pManaShield); else pPack->pManaShield = FALSE; diff --git a/Source/pfile.cpp b/Source/pfile.cpp index 8bfb1ef4f..043c4f294 100644 --- a/Source/pfile.cpp +++ b/Source/pfile.cpp @@ -28,13 +28,13 @@ std::string GetSavePath(DWORD save_num) ext = ".hsv"; if (gbIsSpawn) { - if (gbMaxPlayers <= 1) { + if (!gbIsMultiplayer) { path.append("spawn"); } else { path.append("share_"); } } else { - if (gbMaxPlayers <= 1) { + if (!gbIsMultiplayer) { path.append("single_"); } else { path.append("multi_"); @@ -90,11 +90,11 @@ static BYTE *pfile_read_archive(HANDLE archive, const char *pszName, DWORD *pdwL if (gbIsSpawn) { password = PASSWORD_SPAWN_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_SPAWN_MULTI; } else { password = PASSWORD_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_MULTI; } @@ -132,11 +132,11 @@ static void pfile_encode_hero(const PkPlayerStruct *pPack) if (gbIsSpawn) { password = PASSWORD_SPAWN_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_SPAWN_MULTI; } else { password = PASSWORD_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_MULTI; } @@ -185,9 +185,9 @@ void pfile_write_hero() save_num = pfile_get_save_num_from_name(plr[myplr]._pName); if (pfile_open_archive(TRUE, save_num)) { - PackPlayer(&pkplr, myplr, gbMaxPlayers == 1); + PackPlayer(&pkplr, myplr, !gbIsMultiplayer); pfile_encode_hero(&pkplr); - pfile_flush(gbMaxPlayers == 1, save_num); + pfile_flush(!gbIsMultiplayer, save_num); } } @@ -292,7 +292,7 @@ BOOL pfile_ui_set_hero_infos(BOOL (*ui_add_hero_info)(_uiheroinfo *)) BOOL pfile_archive_contains_game(HANDLE hsArchive, DWORD save_num) { - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) return FALSE; DWORD dwLen; @@ -347,7 +347,7 @@ BOOL pfile_get_file_name(DWORD lvl, char *dst) { const char *fmt; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { if (lvl) return FALSE; fmt = "hero"; @@ -460,7 +460,7 @@ static BOOL GetTempSaveNames(DWORD dwIndex, char *szTemp) void pfile_remove_temp_files() { - if (gbMaxPlayers <= 1) { + if (!gbIsMultiplayer) { DWORD save_num = pfile_get_save_num_from_name(plr[myplr]._pName); if (!pfile_open_archive(FALSE, save_num)) app_fatal("Unable to write to save file archive"); @@ -478,7 +478,7 @@ void pfile_rename_temp_to_perm() dwChar = pfile_get_save_num_from_name(plr[myplr]._pName); assert(dwChar < MAX_CHARACTERS); - assert(gbMaxPlayers == 1); + assert(!gbIsMultiplayer); if (!pfile_open_archive(FALSE, dwChar)) app_fatal("Unable to write to save file archive"); @@ -506,11 +506,11 @@ void pfile_write_save_file(const char *pszName, BYTE *pbData, DWORD dwLen, DWORD const char *password; if (gbIsSpawn) { password = PASSWORD_SPAWN_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_SPAWN_MULTI; } else { password = PASSWORD_SINGLE; - if (gbMaxPlayers > 1) + if (gbIsMultiplayer) password = PASSWORD_MULTI; } @@ -546,7 +546,7 @@ void pfile_update(BOOL force_save) // BUGFIX: these tick values should be treated as unsigned to handle overflows correctly (fixed) static DWORD save_prev_tc; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { DWORD tick = SDL_GetTicks(); if (force_save || tick - save_prev_tc > 60000) { save_prev_tc = tick; diff --git a/Source/player.cpp b/Source/player.cpp index 0821b6deb..e2329a788 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -881,7 +881,7 @@ void NextPlrLevel(int pnum) plr[pnum]._pNextExper = ExpLvlsTbl[plr[pnum]._pLevel]; hp = plr[pnum]._pClass == PC_SORCERER ? 64 : 128; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { hp++; } plr[pnum]._pMaxHP += hp; @@ -900,7 +900,7 @@ void NextPlrLevel(int pnum) else mana = 128; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { mana++; } plr[pnum]._pMaxMana += mana; @@ -917,7 +917,8 @@ void NextPlrLevel(int pnum) if (sgbControllerActive) FocusOnCharInfo(); - CalcPlrInv(pnum, TRUE); + + CalcPlrInv(pnum, TRUE); } void AddPlrExperience(int pnum, int lvl, int exp) @@ -943,7 +944,7 @@ void AddPlrExperience(int pnum, int lvl, int exp) } // Prevent power leveling - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { powerLvlCap = plr[pnum]._pLevel < 0 ? 0 : plr[pnum]._pLevel; if (powerLvlCap >= 50) { powerLvlCap = 50; @@ -1759,7 +1760,7 @@ StartPlayerKill(int pnum, int earflag) NetSendCmdParam1(TRUE, CMD_PLRDEAD, earflag); } - diablolevel = gbMaxPlayers > 1 && plr[pnum].plrlevel == 16; + diablolevel = gbIsMultiplayer && plr[pnum].plrlevel == 16; if ((DWORD)pnum >= MAX_PLRS) { app_fatal("StartPlayerKill: illegal player %d", pnum); @@ -2119,7 +2120,7 @@ StartNewLvl(int pnum, int fom, int lvl) plr[pnum]._pmode = PM_NEWLVL; plr[pnum]._pInvincible = TRUE; PostMessage(fom, 0, 0); - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { NetSendCmdParam2(TRUE, CMD_NEWLVL, fom, lvl); } } @@ -2152,7 +2153,7 @@ void StartWarpLvl(int pnum, int pidx) { InitLevelChange(pnum); - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (plr[pnum].plrlevel != 0) { plr[pnum].plrlevel = 0; } else { @@ -3068,7 +3069,7 @@ BOOL PM_DoDeath(int pnum) deathdelay--; if (deathdelay == 1) { deathflag = TRUE; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { gamemenu_on(); } } @@ -3920,7 +3921,7 @@ void SyncInitPlrPos(int pnum) plr[pnum]._ptargx = plr[pnum]._px; plr[pnum]._ptargy = plr[pnum]._py; - if (gbMaxPlayers == 1 || plr[pnum].plrlevel != currlevel) { + if (!gbIsMultiplayer || plr[pnum].plrlevel != currlevel) { return; } @@ -4268,7 +4269,7 @@ void PlayDungMsgs() app_fatal("PlayDungMsgs: illegal player %d", myplr); } - if (currlevel == 1 && !plr[myplr]._pLvlVisited[1] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & DMSG_CATHEDRAL)) { + if (currlevel == 1 && !plr[myplr]._pLvlVisited[1] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & DMSG_CATHEDRAL)) { sfxdelay = 40; if (plr[myplr]._pClass == PC_WARRIOR) { sfxdnum = PS_WARR97; @@ -4284,7 +4285,7 @@ void PlayDungMsgs() sfxdnum = PS_WARR97; } plr[myplr].pDungMsgs = plr[myplr].pDungMsgs | DMSG_CATHEDRAL; - } else if (currlevel == 5 && !plr[myplr]._pLvlVisited[5] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & DMSG_CATACOMBS)) { + } else if (currlevel == 5 && !plr[myplr]._pLvlVisited[5] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & DMSG_CATACOMBS)) { sfxdelay = 40; if (plr[myplr]._pClass == PC_WARRIOR) { sfxdnum = PS_WARR96B; @@ -4300,7 +4301,7 @@ void PlayDungMsgs() sfxdnum = PS_WARR96B; } plr[myplr].pDungMsgs |= DMSG_CATACOMBS; - } else if (currlevel == 9 && !plr[myplr]._pLvlVisited[9] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & DMSG_CAVES)) { + } else if (currlevel == 9 && !plr[myplr]._pLvlVisited[9] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & DMSG_CAVES)) { sfxdelay = 40; if (plr[myplr]._pClass == PC_WARRIOR) { sfxdnum = PS_WARR98; @@ -4316,7 +4317,7 @@ void PlayDungMsgs() sfxdnum = PS_WARR98; } plr[myplr].pDungMsgs |= DMSG_CAVES; - } else if (currlevel == 13 && !plr[myplr]._pLvlVisited[13] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & DMSG_HELL)) { + } else if (currlevel == 13 && !plr[myplr]._pLvlVisited[13] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & DMSG_HELL)) { sfxdelay = 40; if (plr[myplr]._pClass == PC_WARRIOR) { sfxdnum = PS_WARR99; @@ -4332,24 +4333,24 @@ void PlayDungMsgs() sfxdnum = PS_WARR99; } plr[myplr].pDungMsgs |= DMSG_HELL; - } else if (currlevel == 16 && !plr[myplr]._pLvlVisited[15] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & DMSG_DIABLO)) { // BUGFIX: _pLvlVisited should check 16 or this message will never play + } else if (currlevel == 16 && !plr[myplr]._pLvlVisited[15] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & DMSG_DIABLO)) { // BUGFIX: _pLvlVisited should check 16 or this message will never play sfxdelay = 40; if (plr[myplr]._pClass == PC_WARRIOR || plr[myplr]._pClass == PC_ROGUE || plr[myplr]._pClass == PC_SORCERER || plr[myplr]._pClass == PC_MONK || plr[myplr]._pClass == PC_BARD || plr[myplr]._pClass == PC_BARBARIAN) { sfxdnum = PS_DIABLVLINT; } plr[myplr].pDungMsgs |= DMSG_DIABLO; - } else if (currlevel == 17 && !plr[myplr]._pLvlVisited[17] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs2 & 1)) { + } else if (currlevel == 17 && !plr[myplr]._pLvlVisited[17] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs2 & 1)) { sfxdelay = 10; sfxdnum = USFX_DEFILER1; quests[Q_DEFILER]._qactive = 2; quests[Q_DEFILER]._qlog = 1; quests[Q_DEFILER]._qmsg = 286; plr[myplr].pDungMsgs2 |= 1; - } else if (currlevel == 19 && !plr[myplr]._pLvlVisited[19] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs2 & 4)) { + } else if (currlevel == 19 && !plr[myplr]._pLvlVisited[19] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs2 & 4)) { sfxdelay = 10; sfxdnum = USFX_DEFILER3; plr[myplr].pDungMsgs2 |= 4; - } else if (currlevel == 21 && !plr[myplr]._pLvlVisited[21] && gbMaxPlayers == 1 && !(plr[myplr].pDungMsgs & 32)) { + } else if (currlevel == 21 && !plr[myplr]._pLvlVisited[21] && !gbIsMultiplayer && !(plr[myplr].pDungMsgs & 32)) { sfxdelay = 30; if (plr[myplr]._pClass == PC_WARRIOR) { sfxdnum = PS_WARR92; diff --git a/Source/quests.cpp b/Source/quests.cpp index 30332000b..9e40e440c 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -98,7 +98,7 @@ void InitQuests() int i, initiatedQuests; DWORD z; - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { for (i = 0; i < MAXQUESTS; i++) { quests[i]._qactive = QUEST_NOTAVAIL; } @@ -117,10 +117,10 @@ void InitQuests() for (z = 0; z < MAXQUESTS; z++) { if (!gbIsHellfire && z > 15) break; - if (gbMaxPlayers > 1 && !(questlist[z]._qflags & QUEST_ANY)) + if (gbIsMultiplayer && !(questlist[z]._qflags & QUEST_ANY)) continue; quests[z]._qtype = questlist[z]._qdtype; - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { quests[z]._qlevel = questlist[z]._qdmultlvl; if (!delta_quest_inited(initiatedQuests)) { quests[z]._qactive = QUEST_INIT; @@ -144,7 +144,7 @@ void InitQuests() quests[z]._qmsg = questlist[z]._qdmsg; } - if (gbMaxPlayers == 1 && !allquests) { + if (!gbIsMultiplayer && !allquests) { SetRndSeed(glSeedTbl[15]); if (random_(0, 2) != 0) quests[Q_PWATER]._qactive = QUEST_NOTAVAIL; @@ -172,7 +172,7 @@ void InitQuests() if (quests[Q_ROCK]._qactive == QUEST_NOTAVAIL) quests[Q_ROCK]._qvar2 = 2; quests[Q_LTBANNER]._qvar1 = 1; - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) quests[Q_BETRAYER]._qvar1 = 2; } @@ -183,13 +183,13 @@ void CheckQuests() int i, rportx, rporty; - if (QuestStatus(Q_BETRAYER) && gbMaxPlayers != 1 && quests[Q_BETRAYER]._qvar1 == 2) { + if (QuestStatus(Q_BETRAYER) && gbIsMultiplayer && quests[Q_BETRAYER]._qvar1 == 2) { AddObject(OBJ_ALTBOY, 2 * setpc_x + 20, 2 * setpc_y + 22); quests[Q_BETRAYER]._qvar1 = 3; NetSendCmdQuest(TRUE, Q_BETRAYER); } - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { return; } @@ -257,7 +257,7 @@ BOOL ForceQuests() if (gbIsSpawn) return FALSE; - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { return FALSE; } @@ -290,7 +290,7 @@ BOOL QuestStatus(int i) return FALSE; if (quests[i]._qactive == QUEST_NOTAVAIL) return FALSE; - if (gbMaxPlayers != 1 && !(questlist[i]._qflags & QUEST_ANY)) + if (gbIsMultiplayer && !(questlist[i]._qflags & QUEST_ANY)) return FALSE; return TRUE; } @@ -371,7 +371,7 @@ void CheckQuestKill(int m, BOOL sendmsg) } else if (plr[myplr]._pClass == PC_BARBARIAN) { sfxdnum = PS_WARR62; } - } else if (monster[m].mName == UniqMonst[UMT_LAZURUS].mName && gbMaxPlayers != 1) { //"Arch-Bishop Lazarus" + } else if (monster[m].mName == UniqMonst[UMT_LAZURUS].mName && gbIsMultiplayer) { //"Arch-Bishop Lazarus" quests[Q_BETRAYER]._qactive = QUEST_DONE; quests[Q_BETRAYER]._qvar1 = 7; sfxdelay = 30; @@ -404,7 +404,7 @@ void CheckQuestKill(int m, BOOL sendmsg) NetSendCmdQuest(TRUE, Q_BETRAYER); NetSendCmdQuest(TRUE, Q_DIABLO); } - } else if (monster[m].mName == UniqMonst[UMT_LAZURUS].mName && gbMaxPlayers == 1) { //"Arch-Bishop Lazarus" + } else if (monster[m].mName == UniqMonst[UMT_LAZURUS].mName && !gbIsMultiplayer) { //"Arch-Bishop Lazarus" quests[Q_BETRAYER]._qactive = QUEST_DONE; sfxdelay = 30; InitVPTriggers(); diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index b7f679768..9bed14372 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -1454,7 +1454,7 @@ static void DrawMain(int dwHgt, BOOL draw_desc, BOOL draw_hp, BOOL draw_mana, BO if (draw_btn) { DoBlitScreen(PANEL_LEFT + 8, PANEL_TOP + 5, 72, 119); DoBlitScreen(PANEL_LEFT + 556, PANEL_TOP + 5, 72, 48); - if (gbMaxPlayers > 1) { + if (gbIsMultiplayer) { DoBlitScreen(PANEL_LEFT + 84, PANEL_TOP + 91, 36, 32); DoBlitScreen(PANEL_LEFT + 524, PANEL_TOP + 91, 36, 32); } diff --git a/Source/stores.cpp b/Source/stores.cpp index 5d29e0f10..0d2c85eb0 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -89,7 +89,7 @@ void SetupTownStores() int i, l; SetRndSeed(glSeedTbl[currlevel] * SDL_GetTicks()); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { l = 0; for (i = 0; i < NUMLEVELS; i++) { if (plr[myplr]._pLvlVisited[i]) @@ -2394,7 +2394,7 @@ void HealerBuyItem() int idx; idx = stextvhold + ((stextlhold - stextup) >> 2); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (idx < 2) plr[myplr].HoldItem._iSeed = AdvanceRndSeed(); } else { @@ -2407,7 +2407,7 @@ void HealerBuyItem() plr[myplr].HoldItem._iIdentified = FALSE; StoreAutoPlace(); - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (idx < 2) return; } else { diff --git a/Source/town.cpp b/Source/town.cpp index d3b778dc4..81581eabf 100644 --- a/Source/town.cpp +++ b/Source/town.cpp @@ -184,7 +184,7 @@ void T_Pass3() T_FillSector(P3Tiles, pSector, 0, 0, 23, 23); mem_free_dbg(pSector); - if (gbIsSpawn || gbMaxPlayers == 1) { + if (gbIsSpawn || !gbIsMultiplayer) { if (gbIsSpawn || !(plr[myplr].pTownWarps & 1) && (!gbIsHellfire || plr[myplr]._pLevel < 10)) { T_FillTile(P3Tiles, 48, 20, 320); } diff --git a/Source/towners.cpp b/Source/towners.cpp index c8601ba1a..e8c8840ba 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -519,8 +519,8 @@ void TownCtrlMsg(int i) int p; int dx, dy; - if (i == -1) - return; + if (i == -1) + return; if (towner[i]._tbtcnt != 0) { p = towner[i]._tVar1; @@ -792,7 +792,7 @@ void TalkToTowner(int p, int t) NetSendCmdQuest(TRUE, Q_SKELKING); } } - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (plr[p]._pLvlVisited[3] && quests[Q_LTBANNER]._qactive != QUEST_NOTAVAIL) { if ((quests[Q_LTBANNER]._qactive == QUEST_INIT || quests[Q_LTBANNER]._qactive == QUEST_ACTIVE) && quests[Q_LTBANNER]._qvar2 == 0 && !towner[t]._tMsgSaid) { quests[Q_LTBANNER]._qvar2 = 1; @@ -861,7 +861,7 @@ void TalkToTowner(int p, int t) NetSendCmdQuest(TRUE, Q_BUTCHER); } } else if (t == GetActiveTowner(TOWN_SMITH)) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (plr[p]._pLvlVisited[4] && quests[Q_ROCK]._qactive != QUEST_NOTAVAIL) { if (quests[Q_ROCK]._qvar2 == 0) { quests[Q_ROCK]._qvar2 = 1; @@ -998,7 +998,7 @@ void TalkToTowner(int p, int t) } } } else if (t == GetActiveTowner(TOWN_HEALER)) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (plr[p]._pLvlVisited[1] || (gbIsHellfire && plr[p]._pLvlVisited[5])) { if (!towner[t]._tMsgSaid) { if (quests[Q_PWATER]._qactive == QUEST_INIT) { @@ -1042,7 +1042,7 @@ void TalkToTowner(int p, int t) } } } else if (t == GetActiveTowner(TOWN_STORY)) { - if (gbMaxPlayers == 1) { + if (!gbIsMultiplayer) { if (quests[Q_BETRAYER]._qactive == QUEST_INIT && PlrHasItem(p, IDI_LAZSTAFF, &i) != NULL) { RemoveInvItem(p, i); quests[Q_BETRAYER]._qvar1 = 2; @@ -1061,7 +1061,7 @@ void TalkToTowner(int p, int t) quests[Q_DIABLO]._qlog = TRUE; } } - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { if (quests[Q_BETRAYER]._qactive == QUEST_ACTIVE && !quests[Q_BETRAYER]._qlog) { towner[t]._tbtcnt = 150; towner[t]._tVar1 = p; @@ -1175,7 +1175,7 @@ void TalkToTowner(int p, int t) else PlaySFX(alltext[qt].sfxnr); } - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { NetSendCmdQuest(TRUE, Q_FARMER); } } @@ -1259,7 +1259,7 @@ void TalkToTowner(int p, int t) else PlaySFX(alltext[qt].sfxnr); } - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { NetSendCmdQuest(TRUE, Q_JERSEY); } } @@ -1312,7 +1312,7 @@ void TalkToTowner(int p, int t) PlaySFX(alltext[qt].sfxnr); } } - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { NetSendCmdQuest(TRUE, Q_GIRL); } } diff --git a/Source/trigs.cpp b/Source/trigs.cpp index fe3a0b870..95ae6b0ef 100644 --- a/Source/trigs.cpp +++ b/Source/trigs.cpp @@ -67,13 +67,11 @@ void InitTownTriggers() trigs[numtrigs]._tmsg = WM_DIABNEXTLVL; numtrigs++; - bool isMultiplayer = gbMaxPlayers != 1; - for (i = 0; i < sizeof(townwarps) / sizeof(townwarps[0]); i++) { - townwarps[i] = isMultiplayer && !gbIsSpawn; + townwarps[i] = gbIsMultiplayer && !gbIsSpawn; } if (!gbIsSpawn) { - if (isMultiplayer || plr[myplr].pTownWarps & 1 || (gbIsHellfire && plr[myplr]._pLevel >= 10)) { + if (gbIsMultiplayer || plr[myplr].pTownWarps & 1 || (gbIsHellfire && plr[myplr]._pLevel >= 10)) { townwarps[0] = TRUE; trigs[numtrigs]._tx = 49; trigs[numtrigs]._ty = 21; @@ -81,7 +79,7 @@ void InitTownTriggers() trigs[numtrigs]._tlvl = 5; numtrigs++; } - if (isMultiplayer || plr[myplr].pTownWarps & 2 || (gbIsHellfire && plr[myplr]._pLevel >= 15)) { + if (gbIsMultiplayer || plr[myplr].pTownWarps & 2 || (gbIsHellfire && plr[myplr]._pLevel >= 15)) { townwarps[1] = TRUE; trigs[numtrigs]._tx = 17; trigs[numtrigs]._ty = 69; @@ -89,7 +87,7 @@ void InitTownTriggers() trigs[numtrigs]._tlvl = 9; numtrigs++; } - if (isMultiplayer || plr[myplr].pTownWarps & 4 || (gbIsHellfire && plr[myplr]._pLevel >= 20)) { + if (gbIsMultiplayer || plr[myplr].pTownWarps & 4 || (gbIsHellfire && plr[myplr]._pLevel >= 20)) { townwarps[2] = TRUE; trigs[numtrigs]._tx = 41; trigs[numtrigs]._ty = 80; @@ -104,7 +102,7 @@ void InitTownTriggers() trigs[numtrigs]._tmsg = WM_DIABTOWNWARP; trigs[numtrigs]._tlvl = 17; numtrigs++; - if (isMultiplayer || quests[Q_GRAVE]._qactive == 3) { + if (gbIsMultiplayer || quests[Q_GRAVE]._qactive == 3) { trigs[numtrigs]._tx = 36; trigs[numtrigs]._ty = 24; trigs[numtrigs]._tmsg = WM_DIABTOWNWARP; @@ -865,7 +863,7 @@ void CheckTriggers() StartNewLvl(myplr, trigs[i]._tmsg, ReturnLvl); break; case WM_DIABTOWNWARP: - if (gbMaxPlayers != 1) { + if (gbIsMultiplayer) { abort = FALSE; if (trigs[i]._tlvl == 5 && plr[myplr]._pLevel < 8) { diff --git a/SourceT/diablo_test.cpp b/SourceT/diablo_test.cpp index a67168476..fa37a19cd 100644 --- a/SourceT/diablo_test.cpp +++ b/SourceT/diablo_test.cpp @@ -1,7 +1,9 @@ #include #include "all.h" -TEST(Diablo, diablo_pause_game_unpause) { +TEST(Diablo, diablo_pause_game_unpause) +{ + dvl::gbIsMultiplayer = false; dvl::PauseMode = 1; dvl::diablo_pause_game(); EXPECT_EQ(dvl::PauseMode, 0); diff --git a/SourceX/DiabloUI/selhero.cpp b/SourceX/DiabloUI/selhero.cpp index 650895760..09d59ac5d 100644 --- a/SourceX/DiabloUI/selhero.cpp +++ b/SourceX/DiabloUI/selhero.cpp @@ -35,8 +35,7 @@ BOOL(*gfnHeroInfo) (BOOL (*fninfofunc)(_uiheroinfo *)); BOOL(*gfnHeroCreate) (_uiheroinfo *); -void(*gfnHeroStats) -(unsigned int, _uidefaultstats *); +void (*gfnHeroStats)(unsigned int, _uidefaultstats *); namespace { diff --git a/SourceX/controls/plrctrls.cpp b/SourceX/controls/plrctrls.cpp index 5672211a6..a788ce90a 100644 --- a/SourceX/controls/plrctrls.cpp +++ b/SourceX/controls/plrctrls.cpp @@ -358,7 +358,7 @@ void FindActor() else CheckTownersNearby(); - if (gbMaxPlayers != 1) + if (gbIsMultiplayer) CheckPlayerNearby(); }