diff --git a/Source/DiabloUI/diabloui.h b/Source/DiabloUI/diabloui.h index fdc1ea58f..2b4aec8b1 100644 --- a/Source/DiabloUI/diabloui.h +++ b/Source/DiabloUI/diabloui.h @@ -104,7 +104,7 @@ void UiSelHeroSingDialog(bool (*fninfo)(bool (*fninfofunc)(_uiheroinfo *)), bool bool UiCreditsDialog(); bool UiSupportDialog(); bool UiMainMenuDialog(const char *name, _mainmenu_selections *pdwResult, void (*fnSound)(const char *file), int attractTimeOut); -bool UiProgressDialog(const char *msg, int (*fnfunc)(), int rate); +bool UiProgressDialog(const char *msg, int (*fnfunc)()); void UiProfileCallback(); void UiProfileDraw(); bool UiCategoryCallback(int a1, int a2, int a3, int a4, int a5, DWORD *a6, DWORD *a7); diff --git a/Source/DiabloUI/progress.cpp b/Source/DiabloUI/progress.cpp index 80aaedb45..7e12c271a 100644 --- a/Source/DiabloUI/progress.cpp +++ b/Source/DiabloUI/progress.cpp @@ -90,7 +90,7 @@ void progress_Render(BYTE progress) } // namespace -bool UiProgressDialog(const char *msg, int (*fnfunc)(), int rate) +bool UiProgressDialog(const char *msg, int (*fnfunc)()) { progress_Load(msg); SetFadeLevel(256); diff --git a/Source/DiabloUI/selgame.cpp b/Source/DiabloUI/selgame.cpp index c1e8011a9..0e91aa35e 100644 --- a/Source/DiabloUI/selgame.cpp +++ b/Source/DiabloUI/selgame.cpp @@ -425,7 +425,7 @@ void selgame_Password_Select(int value) { if (selgame_selectedGame) { strcpy(sgOptions.Network.szPreviousHost, selgame_Ip); - if (SNetJoinGame(selgame_selectedGame, selgame_Ip, selgame_Password, nullptr, nullptr, gdwPlayerId)) { + if (SNetJoinGame(selgame_Ip, selgame_Password, gdwPlayerId)) { if (!IsGameCompatible(m_game_data)) { selgame_GameSelection_Select(1); return; @@ -448,7 +448,7 @@ void selgame_Password_Select(int value) m_game_data->bTheoQuest = sgOptions.Gameplay.bTheoQuest; m_game_data->bCowQuest = sgOptions.Gameplay.bCowQuest; - if (SNetCreateGame(nullptr, selgame_Password, nullptr, 0, (char *)m_game_data, sizeof(GameData), MAX_PLRS, nullptr, nullptr, gdwPlayerId)) { + if (SNetCreateGame(nullptr, selgame_Password, (char *)m_game_data, sizeof(m_game_data), gdwPlayerId)) { UiInitList_clear(); selgame_endMenu = true; } else { diff --git a/Source/capture.cpp b/Source/capture.cpp index b2280c8ea..573e5ffde 100644 --- a/Source/capture.cpp +++ b/Source/capture.cpp @@ -154,7 +154,7 @@ static void RedPalette() system_palette[i].b = 0; } palette_update(); - SDL_Rect srcRect = { + SDL_Rect srcRect { BUFFER_BORDER_LEFT, BUFFER_BORDER_TOP, gnScreenWidth, diff --git a/Source/diablo.cpp b/Source/diablo.cpp index f47964089..3873d0c7a 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -409,16 +409,13 @@ static void run_game_loop(interface_mode uMsg) bool StartGame(bool bNewGame, bool bSinglePlayer) { - bool fExitProgram; - gbSelectProvider = true; do { - fExitProgram = false; gbLoadGame = false; - if (!NetInit(bSinglePlayer, &fExitProgram)) { - gbRunGameResult = !fExitProgram; + if (!NetInit(bSinglePlayer)) { + gbRunGameResult = true; break; } @@ -1584,7 +1581,7 @@ void DisableInputWndProc(UINT uMsg, WPARAM wParam, LPARAM lParam) return; } - MainWndProc(uMsg, wParam, lParam); + MainWndProc(uMsg); } void GM_Game(UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -1673,7 +1670,7 @@ void GM_Game(UINT uMsg, WPARAM wParam, LPARAM lParam) return; } - MainWndProc(uMsg, wParam, lParam); + MainWndProc(uMsg); } void LoadLvlGFX() diff --git a/Source/drlg_l1.cpp b/Source/drlg_l1.cpp index 5b4d71230..67571f39c 100644 --- a/Source/drlg_l1.cpp +++ b/Source/drlg_l1.cpp @@ -1256,7 +1256,7 @@ void LoadL1Dungeon(const char *sFileName, int vx, int vy) mem_free_dbg(pLevelMap); } -void LoadPreL1Dungeon(const char *sFileName, int vx, int vy) +void LoadPreL1Dungeon(const char *sFileName) { int i, j, rw, rh; BYTE *pLevelMap, *lm; diff --git a/Source/drlg_l1.h b/Source/drlg_l1.h index d0a75cc7f..d7cc31ff8 100644 --- a/Source/drlg_l1.h +++ b/Source/drlg_l1.h @@ -20,7 +20,7 @@ extern int UberDiabloMonsterIndex; void DRLG_Init_Globals(); void LoadL1Dungeon(const char *sFileName, int vx, int vy); -void LoadPreL1Dungeon(const char *sFileName, int vx, int vy); +void LoadPreL1Dungeon(const char *sFileName); void CreateL5Dungeon(DWORD rseed, lvl_entry entry); void drlg_l1_set_crypt_room(int rx1, int ry1); void drlg_l1_set_corner_room(int rx1, int ry1); diff --git a/Source/drlg_l2.cpp b/Source/drlg_l2.cpp index 817a3baef..5e9b90bfd 100644 --- a/Source/drlg_l2.cpp +++ b/Source/drlg_l2.cpp @@ -3390,7 +3390,7 @@ void LoadL2Dungeon(const char *sFileName, int vx, int vy) mem_free_dbg(pLevelMap); } -void LoadPreL2Dungeon(const char *sFileName, int vx, int vy) +void LoadPreL2Dungeon(const char *sFileName) { int i, j, rw, rh; BYTE *pLevelMap, *lm; diff --git a/Source/drlg_l2.h b/Source/drlg_l2.h index d415766fc..e5eda0861 100644 --- a/Source/drlg_l2.h +++ b/Source/drlg_l2.h @@ -31,7 +31,7 @@ extern BYTE predungeon[DMAXX][DMAXY]; void InitDungeon(); void LoadL2Dungeon(const char *sFileName, int vx, int vy); -void LoadPreL2Dungeon(const char *sFileName, int vx, int vy); +void LoadPreL2Dungeon(const char *sFileName); void CreateL2Dungeon(DWORD rseed, lvl_entry entry); } // namespace devilution diff --git a/Source/drlg_l3.cpp b/Source/drlg_l3.cpp index bfbe4355a..0425bccc6 100644 --- a/Source/drlg_l3.cpp +++ b/Source/drlg_l3.cpp @@ -2725,7 +2725,7 @@ void LoadL3Dungeon(const char *sFileName, int vx, int vy) mem_free_dbg(pLevelMap); } -void LoadPreL3Dungeon(const char *sFileName, int vx, int vy) +void LoadPreL3Dungeon(const char *sFileName) { int i, j, rw, rh; BYTE *pLevelMap, *lm; diff --git a/Source/drlg_l3.h b/Source/drlg_l3.h index 7280a83ef..5541aedf9 100644 --- a/Source/drlg_l3.h +++ b/Source/drlg_l3.h @@ -13,6 +13,6 @@ namespace devilution { void AddFenceDoors(); void CreateL3Dungeon(DWORD rseed, lvl_entry entry); void LoadL3Dungeon(const char *sFileName, int vx, int vy); -void LoadPreL3Dungeon(const char *sFileName, int vx, int vy); +void LoadPreL3Dungeon(const char *sFileName); } // namespace devilution diff --git a/Source/drlg_l4.cpp b/Source/drlg_l4.cpp index b9b71ef33..ab3baaecb 100644 --- a/Source/drlg_l4.cpp +++ b/Source/drlg_l4.cpp @@ -1861,7 +1861,7 @@ void LoadL4Dungeon(char *sFileName, int vx, int vy) mem_free_dbg(pLevelMap); } -void LoadPreL4Dungeon(char *sFileName, int vx, int vy) +void LoadPreL4Dungeon(char *sFileName) { int i, j, rw, rh; BYTE *pLevelMap, *lm; diff --git a/Source/gamemenu.cpp b/Source/gamemenu.cpp index 67dadf16a..74cb5c225 100644 --- a/Source/gamemenu.cpp +++ b/Source/gamemenu.cpp @@ -75,7 +75,7 @@ const char *const sound_toggle_names[] = { "Sound Disabled", }; -void gamemenu_update_single(TMenuItem *pMenuItems) +void gamemenu_update_single() { bool enable; @@ -88,7 +88,7 @@ void gamemenu_update_single(TMenuItem *pMenuItems) gmenu_enable(&sgSingleMenu[0], enable); } -void gamemenu_update_multi(TMenuItem *pMenuItems) +void gamemenu_update_multi() { gmenu_enable(&sgMultiMenu[2], deathflag); } diff --git a/Source/gmenu.cpp b/Source/gmenu.cpp index 95a62695d..ce8a440db 100644 --- a/Source/gmenu.cpp +++ b/Source/gmenu.cpp @@ -21,7 +21,7 @@ BYTE *BigTGold_cel; int LogoAnim_tick; BYTE LogoAnim_frame; int PentSpin_tick; -void (*gmenu_current_option)(TMenuItem *); +void (*gmenu_current_option)(); TMenuItem *sgpCurrentMenu; BYTE *option_cel; BYTE *sgpLogo; @@ -162,7 +162,7 @@ static void gmenu_left_right(bool isRight) sgpCurrItem->fnMenu(false); } -void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)(TMenuItem *)) +void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)()) { int i; @@ -171,7 +171,7 @@ void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)(TMenuItem *)) sgpCurrentMenu = pItem; gmenu_current_option = gmFunc; if (gmFunc) { - gmenu_current_option(sgpCurrentMenu); + gmenu_current_option(); pItem = sgpCurrentMenu; } sgCurrentMenuIdx = 0; @@ -254,7 +254,7 @@ void gmenu_draw(const CelOutputBuffer &out) if (sgpCurrentMenu) { GameMenuMove(); if (gmenu_current_option) - gmenu_current_option(sgpCurrentMenu); + gmenu_current_option(); if (gbIsHellfire) { ticks = SDL_GetTicks(); if ((int)(ticks - LogoAnim_tick) > 25) { diff --git a/Source/gmenu.h b/Source/gmenu.h index b4dc81b29..bb2bf61b0 100644 --- a/Source/gmenu.h +++ b/Source/gmenu.h @@ -24,7 +24,7 @@ void gmenu_draw_pause(const CelOutputBuffer &out); void FreeGMenu(); void gmenu_init_menu(); bool gmenu_is_active(); -void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)(TMenuItem *)); +void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)()); void gmenu_draw(const CelOutputBuffer &out); bool gmenu_presskeys(int vkey); bool gmenu_on_mouse_move(); diff --git a/Source/init.cpp b/Source/init.cpp index 96d83d31f..8f6aee09b 100644 --- a/Source/init.cpp +++ b/Source/init.cpp @@ -229,7 +229,7 @@ void init_create_window() #endif } -void MainWndProc(UINT Msg, WPARAM wParam, LPARAM lParam) +void MainWndProc(UINT Msg) { switch (Msg) { case DVL_WM_PAINT: diff --git a/Source/init.h b/Source/init.h index 4c77331fb..02b61e0d8 100644 --- a/Source/init.h +++ b/Source/init.h @@ -30,7 +30,7 @@ extern HANDLE devilutionx_mpq; void init_cleanup(); void init_archives(); void init_create_window(); -void MainWndProc(UINT Msg, WPARAM wParam, LPARAM lParam); +void MainWndProc(UINT Msg); WNDPROC SetWindowProc(WNDPROC NewProc); /* data */ diff --git a/Source/items.cpp b/Source/items.cpp index d14c85d50..9cae62a6d 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -2263,7 +2263,7 @@ void GetItemPower(int i, int minlvl, int maxlvl, affix_item_type flgs, bool only CalcItemValue(i); } -void GetItemBonus(int i, int idata, int minlvl, int maxlvl, bool onlygood, bool allowspells) +void GetItemBonus(int i, int minlvl, int maxlvl, bool onlygood, bool allowspells) { if (minlvl > 25) minlvl = 25; @@ -2600,7 +2600,7 @@ void SetupAllItems(int ii, int idx, int iseed, int lvl, int uper, bool onlygood, if (iblvl != -1) { _unique_items uid = CheckUnique(ii, iblvl, uper, recreate); if (uid == UITEM_INVALID) { - GetItemBonus(ii, idx, iblvl / 2, iblvl, onlygood, true); + GetItemBonus(ii, iblvl / 2, iblvl, onlygood, true); } else { GetUniqueItem(ii, uid); } @@ -2731,7 +2731,7 @@ void SetupAllUseful(int ii, int iseed, int lvl) SetupItem(ii); } -void CreateRndUseful(int pnum, int x, int y, bool sendmsg) +void CreateRndUseful(int x, int y, bool sendmsg) { if (numitems >= MAXITEMS) return; @@ -2782,7 +2782,7 @@ void RecreateItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue, bool if ((icreateinfo & CF_UNIQUE) == 0) { if (icreateinfo & CF_TOWN) { - RecreateTownItem(ii, idx, icreateinfo, iseed, ivalue); + RecreateTownItem(ii, idx, icreateinfo, iseed); gbIsHellfire = _gbIsHellfire; return; } @@ -4486,7 +4486,7 @@ static void SpawnOnePremium(int i, int plvl, int myplr) SetRndSeed(items[0]._iSeed); int itype = RndPremiumItem(plvl / 4, plvl) - 1; GetItemAttrs(0, itype, plvl); - GetItemBonus(0, itype, plvl / 2, plvl, true, !gbIsHellfire); + GetItemBonus(0, plvl / 2, plvl, true, !gbIsHellfire); if (!gbIsHellfire) { if (items[0]._iIvalue > 140000) { @@ -4747,7 +4747,7 @@ void SpawnWitch(int lvl) if (maxlvl == -1 && items[0]._iMiscId == IMISC_STAFF) maxlvl = 2 * lvl; if (maxlvl != -1) - GetItemBonus(0, idata, maxlvl / 2, maxlvl, true, true); + GetItemBonus(0, maxlvl / 2, maxlvl, true, true); } while (items[0]._iIvalue > maxValue); witchitem[i] = items[0]; witchitem[i]._iCreateInfo = lvl | CF_WITCH; @@ -4806,7 +4806,7 @@ void SpawnBoy(int lvl) SetRndSeed(items[0]._iSeed); itype = RndBoyItem(lvl) - 1; GetItemAttrs(0, itype, lvl); - GetItemBonus(0, itype, lvl, 2 * lvl, true, true); + GetItemBonus(0, lvl, 2 * lvl, true, true); if (!gbIsHellfire) { if (items[0]._iIvalue > 90000) { @@ -5023,7 +5023,7 @@ void SpawnStoreGold() golditem._iStatFlag = true; } -void RecreateSmithItem(int ii, int idx, int lvl, int iseed) +void RecreateSmithItem(int ii, int lvl, int iseed) { SetRndSeed(iseed); int itype = RndSmithItem(lvl) - 1; @@ -5034,24 +5034,24 @@ void RecreateSmithItem(int ii, int idx, int lvl, int iseed) items[ii]._iIdentified = true; } -void RecreatePremiumItem(int ii, int idx, int plvl, int iseed) +void RecreatePremiumItem(int ii, int plvl, int iseed) { SetRndSeed(iseed); int itype = RndPremiumItem(plvl / 4, plvl) - 1; GetItemAttrs(ii, itype, plvl); - GetItemBonus(ii, itype, plvl / 2, plvl, true, !gbIsHellfire); + GetItemBonus(ii, plvl / 2, plvl, true, !gbIsHellfire); items[ii]._iSeed = iseed; items[ii]._iCreateInfo = plvl | CF_SMITHPREMIUM; items[ii]._iIdentified = true; } -void RecreateBoyItem(int ii, int idx, int lvl, int iseed) +void RecreateBoyItem(int ii, int lvl, int iseed) { SetRndSeed(iseed); int itype = RndBoyItem(lvl) - 1; GetItemAttrs(ii, itype, lvl); - GetItemBonus(ii, itype, lvl, 2 * lvl, true, true); + GetItemBonus(ii, lvl, 2 * lvl, true, true); items[ii]._iSeed = iseed; items[ii]._iCreateInfo = lvl | CF_BOY; @@ -5076,7 +5076,7 @@ void RecreateWitchItem(int ii, int idx, int lvl, int iseed) if (iblvl == -1 && items[ii]._iMiscId == IMISC_STAFF) iblvl = 2 * lvl; if (iblvl != -1) - GetItemBonus(ii, itype, iblvl / 2, iblvl, true, true); + GetItemBonus(ii, iblvl / 2, iblvl, true, true); } items[ii]._iSeed = iseed; @@ -5101,14 +5101,14 @@ void RecreateHealerItem(int ii, int idx, int lvl, int iseed) items[ii]._iIdentified = true; } -void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue) +void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed) { if (icreateinfo & CF_SMITH) - RecreateSmithItem(ii, idx, icreateinfo & CF_LEVEL, iseed); + RecreateSmithItem(ii, icreateinfo & CF_LEVEL, iseed); else if (icreateinfo & CF_SMITHPREMIUM) - RecreatePremiumItem(ii, idx, icreateinfo & CF_LEVEL, iseed); + RecreatePremiumItem(ii, icreateinfo & CF_LEVEL, iseed); else if (icreateinfo & CF_BOY) - RecreateBoyItem(ii, idx, icreateinfo & CF_LEVEL, iseed); + RecreateBoyItem(ii, icreateinfo & CF_LEVEL, iseed); else if (icreateinfo & CF_WITCH) RecreateWitchItem(ii, idx, icreateinfo & CF_LEVEL, iseed); else if (icreateinfo & CF_HEALER) diff --git a/Source/items.h b/Source/items.h index 660aa25b7..352c987e0 100644 --- a/Source/items.h +++ b/Source/items.h @@ -397,7 +397,7 @@ int RndItem(int m); void SpawnUnique(_unique_items uid, int x, int y); void SpawnItem(int m, int x, int y, bool sendmsg); void CreateRndItem(int x, int y, bool onlygood, bool sendmsg, bool delta); -void CreateRndUseful(int pnum, int x, int y, bool sendmsg); +void CreateRndUseful(int x, int y, bool sendmsg); void CreateTypeItem(int x, int y, bool onlygood, int itype, int imisc, bool sendmsg, bool delta); void RecreateItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue, bool isHellfire); void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff); @@ -432,7 +432,7 @@ void SpawnWitch(int lvl); void SpawnBoy(int lvl); void SpawnHealer(int lvl); void SpawnStoreGold(); -void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue); +void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed); void RecalcStoreStats(); int ItemNoFlippy(); void CreateSpellBook(int x, int y, spell_id ispell, bool sendmsg, bool delta); diff --git a/Source/misdat.cpp b/Source/misdat.cpp index 8d14e921d..ca1218262 100644 --- a/Source/misdat.cpp +++ b/Source/misdat.cpp @@ -29,7 +29,7 @@ MissileData missiledata[] = { { &AddManashield, &MI_Manashield, MIS_MANASHIELD, false, 1, MISR_MAGIC, MFILE_MANASHLD, LS_MSHIELD, SFX_NONE }, { &AddFiremove, &MI_Firemove, MIS_FIREMOVE, true, 1, MISR_FIRE, MFILE_FIREWAL, SFX_NONE, SFX_NONE }, { &AddChain, &MI_Chain, MIS_CHAIN, true, 1, MISR_LIGHTNING, MFILE_LGHNING, LS_LNING1, LS_ELECIMP1 }, - { nullptr, nullptr, MIS_SENTINAL, true, 1, MISR_LIGHTNING, MFILE_LGHNING, SFX_NONE, SFX_NONE }, + { nullptr, nullptr, MIS_SENTINAL, true, 1, MISR_LIGHTNING, MFILE_LGHNING, SFX_NONE, SFX_NONE }, { &AddBloodStar, &MI_Blood, MIS_BLODSTAR, true, 2, MISR_NONE, MFILE_BLOOD, LS_BLODSTAR, LS_BLSIMPT }, { &AddBone, &MI_Blood, MIS_BONE, true, 2, MISR_NONE, MFILE_BONE, SFX_NONE, SFX_NONE }, { &AddMetlHit, &MI_Blood, MIS_METLHIT, true, 2, MISR_NONE, MFILE_METLHIT, SFX_NONE, SFX_NONE }, @@ -41,11 +41,11 @@ MissileData missiledata[] = { { &AddMisexp, &MI_Misexp, MIS_MISEXP2, true, 2, MISR_MAGIC, MFILE_FLAREEXP, SFX_NONE, SFX_NONE }, { &AddTeleport, &MI_Teleport, MIS_TELEPORT, false, 1, MISR_NONE, MFILE_NONE, LS_ELEMENTL, SFX_NONE }, { &AddLArrow, &MI_LArrow, MIS_FARROW, true, 0, MISR_FIRE, MFILE_FARROW, SFX_NONE, SFX_NONE }, - { nullptr, nullptr, MIS_DOOMSERP, false, 1, MISR_MAGIC, MFILE_DOOM, LS_DSERP, SFX_NONE }, + { nullptr, nullptr, MIS_DOOMSERP, false, 1, MISR_MAGIC, MFILE_DOOM, LS_DSERP, SFX_NONE }, { &AddFireWallA, &MI_Firewall, MIS_FIREWALLA, true, 2, MISR_FIRE, MFILE_FIREWAL, SFX_NONE, SFX_NONE }, { &AddStone, &MI_Stone, MIS_STONE, false, 1, MISR_MAGIC, MFILE_NONE, LS_SCURIMP, SFX_NONE }, { &AddDummy, &MI_Dummy, MIS_NULL_1F, true, 1, MISR_NONE, MFILE_NONE, SFX_NONE, SFX_NONE }, - { nullptr, nullptr, MIS_INVISIBL, false, 1, MISR_NONE, MFILE_NONE, LS_INVISIBL, SFX_NONE }, + { nullptr, nullptr, MIS_INVISIBL, false, 1, MISR_NONE, MFILE_NONE, LS_INVISIBL, SFX_NONE }, { &AddGolem, &MI_Golem, MIS_GOLEM, false, 1, MISR_NONE, MFILE_NONE, LS_GOLUM, SFX_NONE }, { &AddEtherealize, &MI_Etherealize, MIS_ETHEREALIZE, true, 1, MISR_NONE, MFILE_ETHRSHLD, LS_ETHEREAL, SFX_NONE }, { &AddBlodbur, &MI_Blood, MIS_BLODBUR, true, 2, MISR_NONE, MFILE_BLODBUR, SFX_NONE, SFX_NONE }, @@ -99,8 +99,8 @@ MissileData missiledata[] = { { &AddManaTrap, &MI_Dummy, MIS_MANATRAP, false, 1, MISR_NONE, MFILE_NONE, IS_CAST7, SFX_NONE }, { &AddRing, &MI_LightningRing, MIS_LIGHTRING, false, 1, MISR_LIGHTNING, MFILE_LGHNING, SFX_NONE, SFX_NONE }, { &AddSearch, &MI_Search, MIS_SEARCH, false, 1, MISR_NONE, MFILE_NONE, SFX_NONE, SFX_NONE }, - { &AddFlashBack, &MI_FlashBack, MIS_FLASHBK, true, 1, MISR_MAGIC, MFILE_BLUEXBK, SFX_NONE, SFX_NONE }, - { &AddFlashFront, &MI_FlashFront, MIS_FLASHFR, true, 1, MISR_MAGIC, MFILE_BLUEXFR, SFX_NONE, LS_ELECIMP1 }, + { nullptr, nullptr, MIS_FLASHBK, false, 1, MISR_MAGIC, MFILE_BLUEXBK, SFX_NONE, SFX_NONE }, + { nullptr, nullptr, MIS_FLASHFR, false, 1, MISR_MAGIC, MFILE_BLUEXFR, SFX_NONE, LS_ELECIMP1 }, { &AddImmolation, &MI_Immolation, MIS_IMMOLATION2, true, 1, MISR_FIRE, MFILE_FIREBA, LS_FBOLT1, LS_FIRIMP2 }, { &AddFireRune, &MI_Rune, MIS_RUNEFIRE, true, 1, MISR_NONE, MFILE_RUNE, SFX_NONE, SFX_NONE }, { &AddLightningRune, &MI_Rune, MIS_RUNELIGHT, true, 1, MISR_NONE, MFILE_RUNE, SFX_NONE, SFX_NONE }, diff --git a/Source/missiles.cpp b/Source/missiles.cpp index a48454c37..0aff25bd4 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1858,21 +1858,6 @@ void AddLightningArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Si missile[mi]._midam <<= 6; } -void AddFlashFront(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam) -{ -} - -void AddFlashBack(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam) -{ - if (mienemy == TARGET_MONSTERS && id != -1) { - missile[mi]._midam = 0; - int lvl = 2; - if (id > -1) - lvl = plr[id]._pLevel * 2; - missile[mi]._mirange = lvl + 10 * missile[mi]._mispllvl + 245; - } -} - void AddMana(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam) { int i, ManaAmount; @@ -1988,32 +1973,6 @@ void AddCboltArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 missile[mi]._mirange = 256; } -void AddHboltArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam) -{ - int i; - - if (sx == dx && sy == dy) { - dx += XDirAdd[midir]; - dy += YDirAdd[midir]; - } - - if (id != -1) { - i = 2 * missile[mi]._mispllvl + 16; - if (i >= 63) { - i = 63; - } - } else { - i = 16; - } - - GetMissileVel(mi, sx, sy, dx, dy, i); - SetMissDir(mi, GetDirection16(sx, sy, dx, dy)); - missile[mi]._mirange = 256; - missile[mi]._miVar1 = sx; - missile[mi]._miVar2 = sy; - missile[mi]._mlid = AddLight(sx, sy, 8); -} - void AddLArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam) { if (sx == dx && sy == dy) { diff --git a/Source/missiles.h b/Source/missiles.h index d9304ff44..1434ef5f8 100644 --- a/Source/missiles.h +++ b/Source/missiles.h @@ -109,14 +109,11 @@ void AddRuneExplosion(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sin void AddImmolation(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddFireNova(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddLightningArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); -void AddFlashFront(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); -void AddFlashBack(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddMana(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddMagi(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddRing(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddSearch(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddCboltArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); -void AddHboltArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddLArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddArrow(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); void AddRndTeleport(Sint32 mi, Sint32 sx, Sint32 sy, Sint32 dx, Sint32 dy, Sint32 midir, Sint8 mienemy, Sint32 id, Sint32 dam); @@ -194,8 +191,6 @@ void MI_LightningWall(Sint32 i); void MI_HiveExplode(Sint32 i); void MI_Immolation(Sint32 i); void MI_LightningArrow(Sint32 i); -void MI_FlashFront(Sint32 i); -void MI_FlashBack(Sint32 i); void MI_Reflect(Sint32 i); void MI_FireRing(Sint32 i); void MI_LightningRing(Sint32 i); diff --git a/Source/mpqapi.cpp b/Source/mpqapi.cpp index f50887586..d4e1d3089 100644 --- a/Source/mpqapi.cpp +++ b/Source/mpqapi.cpp @@ -648,7 +648,7 @@ bool mpqapi_has_file(const char *pszName) return FetchHandle(pszName) != -1; } -bool OpenMPQ(const char *pszArchive, DWORD dwChar) +bool OpenMPQ(const char *pszArchive) { DWORD key; _FILEHEADER fhdr; @@ -701,7 +701,7 @@ on_error: return false; } -bool mpqapi_flush_and_close(const char *pszArchive, bool bFree, DWORD dwChar) +bool mpqapi_flush_and_close(bool bFree) { return cur_archive.Close(/*clear_tables=*/bFree); } diff --git a/Source/mpqapi.h b/Source/mpqapi.h index 1752d1112..26d63f6b0 100644 --- a/Source/mpqapi.h +++ b/Source/mpqapi.h @@ -43,7 +43,7 @@ void mpqapi_remove_hash_entries(bool (*fnGetName)(uint8_t, char *)); bool mpqapi_write_file(const char *pszName, const BYTE *pbData, DWORD dwLen); void mpqapi_rename(char *pszOld, char *pszNew); bool mpqapi_has_file(const char *pszName); -bool OpenMPQ(const char *pszArchive, DWORD dwChar); -bool mpqapi_flush_and_close(const char *pszArchive, bool bFree, DWORD dwChar); +bool OpenMPQ(const char *pszArchive); +bool mpqapi_flush_and_close(bool bFree); } // namespace devilution diff --git a/Source/msg.cpp b/Source/msg.cpp index f99e98bf3..723f15cf9 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -167,7 +167,7 @@ bool msg_wait_resync() sgbRecvCmd = CMD_DLEVEL_END; gbBufferMsgs = 1; sgdwOwnerWait = SDL_GetTicks(); - success = UiProgressDialog("Waiting for game data...", msg_wait_for_turns, 20); + success = UiProgressDialog("Waiting for game data...", msg_wait_for_turns); gbBufferMsgs = 0; if (!success) { msg_free_packets(); diff --git a/Source/multi.cpp b/Source/multi.cpp index 242a5c9d4..11d7ad97c 100644 --- a/Source/multi.cpp +++ b/Source/multi.cpp @@ -446,7 +446,7 @@ static void multi_process_tmsgs() int cnt; TPkt pkt; - while ((cnt = tmsg_get((BYTE *)&pkt, 512)) != 0) { + while ((cnt = tmsg_get((BYTE *)&pkt)) != 0) { multi_handle_all_packets(myplr, (BYTE *)&pkt, cnt); } } @@ -643,28 +643,6 @@ static void SetupLocalCoords() plr[myplr].destAction = ACTION_NONE; } -static bool multi_upgrade(bool *pfExitProgram) -{ - bool result; - int status; - - SNetPerformUpgrade((LPDWORD)&status); - result = true; - if (status && status != 1) { - if (status != 2) { - if (status == -1) { - DrawDlg("Network upgrade failed"); - } - } else { - *pfExitProgram = true; - } - - result = false; - } - - return result; -} - static void multi_handle_events(_SNETEVENT *pEvt) { DWORD LeftReason; @@ -734,10 +712,9 @@ void NetClose() SDL_Delay(2000); } -bool NetInit(bool bSinglePlayer, bool *pfExitProgram) +bool NetInit(bool bSinglePlayer) { while (true) { - *pfExitProgram = false; SetRndSeed(0); sgGameInitInfo.size = sizeof(sgGameInitInfo); sgGameInitInfo.dwSeed = time(nullptr); @@ -762,7 +739,7 @@ bool NetInit(bool bSinglePlayer, bool *pfExitProgram) if (!multi_init_single(&sgGameInitInfo)) return false; } else { - if (!multi_init_multi(&sgGameInitInfo, pfExitProgram)) + if (!multi_init_multi(&sgGameInitInfo)) return false; } sgbNetInited = true; @@ -818,7 +795,7 @@ bool multi_init_single(GameData *gameData) } unused = 0; - if (!SNetCreateGame("local", "local", "local", 0, (char *)&sgGameInitInfo, sizeof(sgGameInitInfo), 1, "local", "local", &unused)) { + if (!SNetCreateGame("local", "local", (char *)&sgGameInitInfo, sizeof(sgGameInitInfo), &unused)) { app_fatal("SNetCreateGame1:\n%s", SDL_GetError()); } @@ -828,17 +805,13 @@ bool multi_init_single(GameData *gameData) return true; } -bool multi_init_multi(GameData *gameData, bool *pfExitProgram) +bool multi_init_multi(GameData *gameData) { - bool first; int playerId; - for (first = true;; first = false) { - if (gbSelectProvider) { - if (!UiSelectProvider(gameData) - && (!first || SErrGetLastError() != STORM_ERROR_REQUIRES_UPGRADE || !multi_upgrade(pfExitProgram))) { - return false; - } + while (true) { + if (gbSelectProvider && !UiSelectProvider(gameData)) { + return false; } multi_event_handler(true); diff --git a/Source/multi.h b/Source/multi.h index 1a50e6e2e..b9dfe9865 100644 --- a/Source/multi.h +++ b/Source/multi.h @@ -58,9 +58,9 @@ int multi_handle_delta(); void multi_process_network_packets(); void multi_send_zero_packet(int pnum, _cmd_id bCmd, BYTE *pbSrc, DWORD dwLen); void NetClose(); -bool NetInit(bool bSinglePlayer, bool *pfExitProgram); +bool NetInit(bool bSinglePlayer); bool multi_init_single(GameData *gameData); -bool multi_init_multi(GameData *gameData, bool *pfExitProgram); +bool multi_init_multi(GameData *gameData); void recv_plrinfo(int pnum, TCmdPlrInfoHdr *p, bool recv); } // namespace devilution diff --git a/Source/objects.cpp b/Source/objects.cpp index 5483bd434..6a0ef82eb 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -489,7 +489,7 @@ void AddCandles() AddObject(OBJ_STORYCANDLE, tx + 2, ty + 2); } -void AddBookLever(int lx1, int ly1, int lx2, int ly2, int x1, int y1, int x2, int y2, _speech_id msg) +void AddBookLever(int x1, int y1, int x2, int y2, _speech_id msg) { bool exit; int xp, yp, ob, cnt, m, n; @@ -1115,7 +1115,7 @@ void InitObjects() break; } quests[Q_BLIND]._qmsg = sp_id; - AddBookLever(0, 0, MAXDUNX, MAXDUNY, setpc_x, setpc_y, setpc_w + setpc_x + 1, setpc_h + setpc_y + 1, sp_id); + AddBookLever(setpc_x, setpc_y, setpc_w + setpc_x + 1, setpc_h + setpc_y + 1, sp_id); mem = LoadFileInMem("Levels\\L2Data\\Blind2.DUN", nullptr); LoadMapObjs(mem, 2 * setpc_x, 2 * setpc_y); mem_free_dbg(mem); @@ -1143,7 +1143,7 @@ void InitObjects() break; } quests[Q_BLOOD]._qmsg = sp_id; - AddBookLever(0, 0, MAXDUNX, MAXDUNY, setpc_x, setpc_y + 3, setpc_x + 2, setpc_y + 7, sp_id); + AddBookLever(setpc_x, setpc_y + 3, setpc_x + 2, setpc_y + 7, sp_id); AddObject(OBJ_PEDISTAL, 2 * setpc_x + 25, 2 * setpc_y + 32); } InitRndBarrels(); @@ -1176,7 +1176,7 @@ void InitObjects() break; } quests[Q_WARLORD]._qmsg = sp_id; - AddBookLever(0, 0, MAXDUNX, MAXDUNY, setpc_x, setpc_y, setpc_x + setpc_w, setpc_y + setpc_h, sp_id); + AddBookLever(setpc_x, setpc_y, setpc_x + setpc_w, setpc_y + setpc_h, sp_id); mem = LoadFileInMem("Levels\\L4Data\\Warlord.DUN", nullptr); LoadMapObjs(mem, 2 * setpc_x, 2 * setpc_y); mem_free_dbg(mem); @@ -1419,7 +1419,7 @@ void AddFlameLvr(int i) object[i]._oVar2 = MIS_FLAMEC; } -void AddTrap(int i, int ot) +void AddTrap(int i) { int mt; @@ -1833,7 +1833,7 @@ void AddObject(_object_id ot, int ox, int oy) break; case OBJ_TRAPL: case OBJ_TRAPR: - AddTrap(oi, ot); + AddTrap(oi); break; case OBJ_BARREL: case OBJ_BARRELEX: @@ -3066,7 +3066,7 @@ void OperateBookLever(int pnum, int i) } } -void OperateSChambBk(int pnum, int i) +void OperateSChambBk(int i) { int j; @@ -3128,7 +3128,7 @@ void OperateChest(int pnum, int i, bool sendmsg) if (object[i]._oVar2 != 0) CreateRndItem(object[i]._ox, object[i]._oy, false, sendmsg, false); else - CreateRndUseful(pnum, object[i]._ox, object[i]._oy, sendmsg); + CreateRndUseful(object[i]._ox, object[i]._oy, sendmsg); } } if (object[i]._oTrapFlag && object[i]._otype >= OBJ_TCHEST1 && object[i]._otype <= OBJ_TCHEST3) { @@ -3218,7 +3218,7 @@ void OperateInnSignChest(int pnum, int i) } } -void OperateSlainHero(int pnum, int i, bool sendmsg) +void OperateSlainHero(int pnum, int i) { if (object[i]._oSelFlag != 0) { object[i]._oSelFlag = 0; @@ -4598,7 +4598,7 @@ void OperateArmorStand(int pnum, int i, bool sendmsg) } } -int FindValidShrine(int i) +int FindValidShrine() { int rv; bool done; @@ -4631,7 +4631,7 @@ int FindValidShrine(int i) void OperateGoatShrine(int pnum, int i, _sfx_id sType) { SetRndSeed(object[i]._oRndSeed); - object[i]._oVar1 = FindValidShrine(i); + object[i]._oVar1 = FindValidShrine(); OperateShrine(pnum, i, sType); object[i]._oAnimDelay = 2; force_redraw = 255; @@ -4640,7 +4640,7 @@ void OperateGoatShrine(int pnum, int i, _sfx_id sType) void OperateCauldron(int pnum, int i, _sfx_id sType) { SetRndSeed(object[i]._oRndSeed); - object[i]._oVar1 = FindValidShrine(i); + object[i]._oVar1 = FindValidShrine(); OperateShrine(pnum, i, sType); object[i]._oAnimFrame = 3; object[i]._oAnimFlag = 0; @@ -4904,7 +4904,7 @@ void OperateObject(int pnum, int i, bool TeleFlag) OperateBook(pnum, i); break; case OBJ_BOOK2R: - OperateSChambBk(pnum, i); + OperateSChambBk(i); break; case OBJ_CHEST1: case OBJ_CHEST2: @@ -4973,7 +4973,7 @@ void OperateObject(int pnum, int i, bool TeleFlag) OperateLazStand(pnum, i); break; case OBJ_SLAINHERO: - OperateSlainHero(pnum, i, sendmsg); + OperateSlainHero(pnum, i); break; case OBJ_SIGNCHEST: OperateInnSignChest(pnum, i); @@ -5124,7 +5124,7 @@ void SyncOpObject(int pnum, int cmd, int i) OperateMushPatch(pnum, i); break; case OBJ_SLAINHERO: - OperateSlainHero(pnum, i, false); + OperateSlainHero(pnum, i); break; case OBJ_SIGNCHEST: OperateInnSignChest(pnum, i); @@ -5231,7 +5231,7 @@ void BreakBarrel(int pnum, int i, int dam, bool forcebreak, bool sendmsg) SetRndSeed(object[i]._oRndSeed); if (object[i]._oVar2 <= 1) { if (object[i]._oVar3 == 0) - CreateRndUseful(pnum, object[i]._ox, object[i]._oy, sendmsg); + CreateRndUseful(object[i]._ox, object[i]._oy, sendmsg); else CreateRndItem(object[i]._ox, object[i]._oy, false, sendmsg, false); } diff --git a/Source/palette.cpp b/Source/palette.cpp index d283c8a5f..a4c961e78 100644 --- a/Source/palette.cpp +++ b/Source/palette.cpp @@ -228,36 +228,41 @@ void BlackPalette() void PaletteFadeIn(int fr) { - int i; - ApplyGamma(logical_palette, orig_palette, 256); - DWORD tc = SDL_GetTicks(); - for (i = 0; i < 256; i = (SDL_GetTicks() - tc) / 2.083) { // 32 frames @ 60hz + + SDL_Rect SrcRect { BUFFER_BORDER_LEFT, BUFFER_BORDER_TOP, gnScreenWidth, gnScreenHeight }; + const uint32_t tc = SDL_GetTicks(); + fr *= 3; + + for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { SetFadeLevel(i); - SDL_Rect SrcRect = { BUFFER_BORDER_LEFT, BUFFER_BORDER_TOP, gnScreenWidth, gnScreenHeight }; BltFast(&SrcRect, nullptr); RenderPresent(); } SetFadeLevel(256); + memcpy(logical_palette, orig_palette, sizeof(orig_palette)); + sgbFadedIn = true; } void PaletteFadeOut(int fr) { - int i; + if (!sgbFadedIn) + return; - if (sgbFadedIn) { - DWORD tc = SDL_GetTicks(); - for (i = 256; i > 0; i = 256 - (SDL_GetTicks() - tc) / 2.083) { // 32 frames @ 60hz - SetFadeLevel(i); - SDL_Rect SrcRect = { BUFFER_BORDER_LEFT, BUFFER_BORDER_TOP, gnScreenWidth, gnScreenHeight }; - BltFast(&SrcRect, nullptr); - RenderPresent(); - } - SetFadeLevel(0); - sgbFadedIn = false; + SDL_Rect SrcRect { BUFFER_BORDER_LEFT, BUFFER_BORDER_TOP, gnScreenWidth, gnScreenHeight }; + const uint32_t tc = SDL_GetTicks(); + fr *= 3; + + for (uint32_t i = 0; i < 256; i = fr * (SDL_GetTicks() - tc) / 50) { + SetFadeLevel(256 - i); + BltFast(&SrcRect, nullptr); + RenderPresent(); } + SetFadeLevel(0); + + sgbFadedIn = false; } /** diff --git a/Source/palette.h b/Source/palette.h index 34a6900d5..5ba85ddfa 100644 --- a/Source/palette.h +++ b/Source/palette.h @@ -45,7 +45,15 @@ void DecreaseGamma(); int UpdateGamma(int gamma); void BlackPalette(); void SetFadeLevel(DWORD fadeval); +/** + * @brief Fade screen from black + * @param fr Steps per 50ms + */ void PaletteFadeIn(int fr); +/** + * @brief Fade screen to black + * @param fr Steps per 50ms + */ void PaletteFadeOut(int fr); void palette_update_caves(); void palette_update_crypt(); diff --git a/Source/pfile.cpp b/Source/pfile.cpp index 76ffc8076..004136407 100644 --- a/Source/pfile.cpp +++ b/Source/pfile.cpp @@ -190,17 +190,12 @@ static void pfile_encode_hero(const PkPlayerStruct *pPack) static bool pfile_open_archive(DWORD save_num) { - if (OpenMPQ(GetSavePath(save_num).c_str(), save_num)) + if (OpenMPQ(GetSavePath(save_num).c_str())) return true; return false; } -static void pfile_flush(bool is_single_player, DWORD save_num) -{ - mpqapi_flush_and_close(GetSavePath(save_num).c_str(), is_single_player, save_num); -} - static HANDLE pfile_open_save_archive(DWORD save_num) { HANDLE archive; @@ -229,7 +224,7 @@ PFileScopedArchiveWriter::PFileScopedArchiveWriter(bool clear_tables) PFileScopedArchiveWriter::~PFileScopedArchiveWriter() { - pfile_flush(clear_tables_, save_num_); + mpqapi_flush_and_close(clear_tables_); } void pfile_write_hero(bool write_game_data, bool clear_tables) @@ -288,7 +283,7 @@ bool pfile_ui_set_hero_infos(bool (*ui_add_hero_info)(_uiheroinfo *)) if (pfile_read_hero(archive, &pkplr)) { _uiheroinfo uihero; strcpy(hero_names[i], pkplr.pName); - bool hasSaveGame = pfile_archive_contains_game(archive, i); + bool hasSaveGame = pfile_archive_contains_game(archive); if (hasSaveGame) pkplr.bIsHellfire = gbIsHellfireSaveGame; @@ -309,7 +304,7 @@ bool pfile_ui_set_hero_infos(bool (*ui_add_hero_info)(_uiheroinfo *)) return true; } -bool pfile_archive_contains_game(HANDLE hsArchive, DWORD save_num) +bool pfile_archive_contains_game(HANDLE hsArchive) { if (gbIsMultiplayer) return false; @@ -362,7 +357,7 @@ bool pfile_ui_save_create(_uiheroinfo *heroinfo) SaveHotkeys(); SaveHeroItems(&plr[0]); } - pfile_flush(true, save_num); + mpqapi_flush_and_close(true); return true; } @@ -416,7 +411,7 @@ void pfile_read_player_from_save() if (!pfile_read_hero(archive, &pkplr)) app_fatal("Unable to load character"); - gbValidSaveFile = pfile_archive_contains_game(archive, save_num); + gbValidSaveFile = pfile_archive_contains_game(archive); if (gbValidSaveFile) pkplr.bIsHellfire = gbIsHellfireSaveGame; @@ -440,7 +435,7 @@ bool LevelFileExists() app_fatal("Unable to read to save file archive"); bool has_file = mpqapi_has_file(szName); - pfile_flush(true, save_num); + mpqapi_flush_and_close(true); return has_file; } @@ -463,7 +458,7 @@ void GetPermLevelNames(char *szPerm) app_fatal("Unable to read to save file archive"); has_file = mpqapi_has_file(szPerm); - pfile_flush(true, save_num); + mpqapi_flush_and_close(true); if (!has_file) { if (setlevel) sprintf(szPerm, "perms%02d", setlvlnum); @@ -481,7 +476,7 @@ void pfile_remove_temp_files() if (!pfile_open_archive(save_num)) app_fatal("Unable to write to save file archive"); mpqapi_remove_hash_entries(GetTempSaveNames); - pfile_flush(true, save_num); + mpqapi_flush_and_close(true); } void pfile_write_save_file(const char *pszName, BYTE *pbData, DWORD dwLen, DWORD qwLen) @@ -493,7 +488,7 @@ void pfile_write_save_file(const char *pszName, BYTE *pbData, DWORD dwLen, DWORD if (!pfile_open_archive(save_num)) app_fatal("Unable to write to save file archive"); mpqapi_write_file(pszName, pbData, qwLen); - pfile_flush(true, save_num); + mpqapi_flush_and_close(true); } BYTE *pfile_read(const char *pszName, DWORD *pdwLen) diff --git a/Source/pfile.h b/Source/pfile.h index a56ae92be..6f4a9b7bf 100644 --- a/Source/pfile.h +++ b/Source/pfile.h @@ -31,7 +31,7 @@ const char *pfile_get_password(); void pfile_write_hero(bool write_game_data = false, bool clear_tables = !gbIsMultiplayer); bool pfile_create_player_description(); bool pfile_ui_set_hero_infos(bool (*ui_add_hero_info)(_uiheroinfo *)); -bool pfile_archive_contains_game(HANDLE hsArchive, DWORD save_num); +bool pfile_archive_contains_game(HANDLE hsArchive); void pfile_ui_set_class_stats(unsigned int player_class_nr, _uidefaultstats *class_stats); bool pfile_ui_save_create(_uiheroinfo *heroinfo); bool pfile_get_file_name(uint8_t lvl, char *dst); diff --git a/Source/player.cpp b/Source/player.cpp index efeeba788..7b52e4ec3 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -2234,11 +2234,6 @@ void StartWarpLvl(int pnum, int pidx) } } -bool PM_DoStand(int pnum) -{ - return false; -} - /** * @brief Continue movement towards new tile */ @@ -3176,11 +3171,6 @@ bool PM_DoDeath(int pnum) return false; } -bool PM_DoNewLvl(int pnum) -{ - return false; -} - void CheckNewPath(int pnum) { int i, x, y; @@ -3667,7 +3657,9 @@ void ProcessPlayers() do { switch (plr[pnum]._pmode) { case PM_STAND: - tplayer = PM_DoStand(pnum); + case PM_NEWLVL: + case PM_QUIT: + tplayer = false; break; case PM_WALK: case PM_WALK2: @@ -3692,12 +3684,6 @@ void ProcessPlayers() case PM_DEATH: tplayer = PM_DoDeath(pnum); break; - case PM_NEWLVL: - tplayer = PM_DoNewLvl(pnum); - break; - case PM_QUIT: - tplayer = false; - break; } CheckNewPath(pnum); } while (tplayer); diff --git a/Source/setmaps.cpp b/Source/setmaps.cpp index bf4bdd0f9..4aef2ac6e 100644 --- a/Source/setmaps.cpp +++ b/Source/setmaps.cpp @@ -154,7 +154,7 @@ void LoadSetMap() quests[Q_SKELKING]._qactive = QUEST_ACTIVE; quests[Q_SKELKING]._qvar1 = 1; } - LoadPreL1Dungeon("Levels\\L1Data\\SklKng1.DUN", 83, 45); + LoadPreL1Dungeon("Levels\\L1Data\\SklKng1.DUN"); LoadL1Dungeon("Levels\\L1Data\\SklKng2.DUN", 83, 45); LoadPalette("Levels\\L1Data\\L1_2.pal"); DRLG_AreaTrans(sizeof(SkelKingTrans1) / 4, &SkelKingTrans1[0]); @@ -166,7 +166,7 @@ void LoadSetMap() InitSKingTriggers(); break; case SL_BONECHAMB: - LoadPreL2Dungeon("Levels\\L2Data\\Bonecha2.DUN", 69, 39); + LoadPreL2Dungeon("Levels\\L2Data\\Bonecha2.DUN"); LoadL2Dungeon("Levels\\L2Data\\Bonecha1.DUN", 69, 39); LoadPalette("Levels\\L2Data\\L2_2.pal"); DRLG_ListTrans(sizeof(SkelChamTrans1) / 4, &SkelChamTrans1[0]); @@ -177,7 +177,7 @@ void LoadSetMap() InitSChambTriggers(); break; case SL_MAZE: - LoadPreL1Dungeon("Levels\\L1Data\\Lv1MazeA.DUN", 20, 50); + LoadPreL1Dungeon("Levels\\L1Data\\Lv1MazeA.DUN"); LoadL1Dungeon("Levels\\L1Data\\Lv1MazeB.DUN", 20, 50); LoadPalette("Levels\\L1Data\\L1_5.pal"); AddL1Objs(0, 0, MAXDUNX, MAXDUNY); @@ -186,7 +186,7 @@ void LoadSetMap() case SL_POISONWATER: if (quests[Q_PWATER]._qactive == QUEST_INIT) quests[Q_PWATER]._qactive = QUEST_ACTIVE; - LoadPreL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 19, 50); + LoadPreL3Dungeon("Levels\\L3Data\\Foulwatr.DUN"); LoadL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 31, 83); LoadPalette("Levels\\L3Data\\L3pfoul.pal"); InitPWaterTriggers(); @@ -197,7 +197,7 @@ void LoadSetMap() } else if (quests[Q_BETRAYER]._qactive == QUEST_ACTIVE) { quests[Q_BETRAYER]._qvar2 = 3; } - LoadPreL1Dungeon("Levels\\L1Data\\Vile1.DUN", 35, 36); + LoadPreL1Dungeon("Levels\\L1Data\\Vile1.DUN"); LoadL1Dungeon("Levels\\L1Data\\Vile2.DUN", 35, 36); LoadPalette("Levels\\L1Data\\L1_2.pal"); AddL1Objs(0, 0, MAXDUNX, MAXDUNY); diff --git a/Source/storm/storm.h b/Source/storm/storm.h index 7449eb3f3..bec051efc 100644 --- a/Source/storm/storm.h +++ b/Source/storm/storm.h @@ -119,7 +119,7 @@ struct CCritSect { extern "C" { #endif -bool SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, const char *creatorName, const char *a11, int *playerID); +bool SNetCreateGame(const char *pszGameName, const char *pszGamePassword, char *GameTemplateData, int GameTemplateSize, int *playerID); bool SNetDestroy(); /* SNetDropPlayer @ 106 @@ -184,7 +184,7 @@ typedef struct _user_info { DWORD dwUnknown; } user_info; -bool SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, char *userStats, int *playerid); +bool SNetJoinGame(char *gameName, char *gamePassword, int *playerid); /* SNetLeaveGame @ 119 * @@ -197,7 +197,6 @@ bool SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, */ bool SNetLeaveGame(int type); -bool SNetPerformUpgrade(DWORD *upgradestatus); bool SNetReceiveMessage(int *senderplayerid, char **data, int *databytes); bool SNetReceiveTurns(int a1, int arraysize, char **arraydata, DWORD *arraydatabytes, DWORD *arrayplayerstatus); @@ -317,7 +316,6 @@ void SErrSetLastError(DWORD dwErrCode); #define STORM_ERROR_INVALID_PLAYER 0x8510006a #define STORM_ERROR_NO_MESSAGES_WAITING 0x8510006b #define STORM_ERROR_NOT_IN_GAME 0x85100070 -#define STORM_ERROR_REQUIRES_UPGRADE 0x85100077 /* SStrCopy @ 501 * diff --git a/Source/storm/storm_net.cpp b/Source/storm/storm_net.cpp index 475c8dc22..98ff29407 100644 --- a/Source/storm/storm_net.cpp +++ b/Source/storm/storm_net.cpp @@ -149,9 +149,7 @@ int SNetInitializeProvider(Uint32 provider, struct GameData *gameData) /** * @brief Called by engine for single, called by ui for multi */ -bool SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, - DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, - const char *creatorName, const char *a11, int *playerID) +bool SNetCreateGame(const char *pszGameName, const char *pszGamePassword, char *GameTemplateData, int GameTemplateSize, int *playerID) { #ifndef NONET std::lock_guard lg(storm_net_mutex); @@ -174,7 +172,7 @@ bool SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const return *playerID != -1; } -bool SNetJoinGame(int id, char *pszGameName, char *pszGamePassword, char *playerName, char *userStats, int *playerID) +bool SNetJoinGame(char *pszGameName, char *pszGamePassword, int *playerID) { #ifndef NONET std::lock_guard lg(storm_net_mutex); @@ -217,17 +215,6 @@ bool SNetSetBasePlayer(int) return true; } -/** - * @brief since we never signal STORM_ERROR_REQUIRES_UPGRADE the engine will not call this function - */ -bool SNetPerformUpgrade(DWORD *upgradestatus) -{ -#ifndef NONET - std::lock_guard lg(storm_net_mutex); -#endif - UNIMPLEMENTED(); -} - void DvlNet_SendInfoRequest() { dvlnet_inst->send_info_request(); diff --git a/Source/tmsg.cpp b/Source/tmsg.cpp index ec985d608..c63540d46 100644 --- a/Source/tmsg.cpp +++ b/Source/tmsg.cpp @@ -15,7 +15,7 @@ TMsg *sgpTimedMsgHead; } // namespace -int tmsg_get(Uint8 *pbMsg, Uint32 dwMaxLen) +int tmsg_get(Uint8 *pbMsg) { int len; TMsg *head; diff --git a/Source/tmsg.h b/Source/tmsg.h index 4b0d4946b..22bbf2965 100644 --- a/Source/tmsg.h +++ b/Source/tmsg.h @@ -24,7 +24,7 @@ struct TMsg { }; #pragma pack(pop) -int tmsg_get(Uint8 *pbMsg, Uint32 dwMaxLen); +int tmsg_get(Uint8 *pbMsg); void tmsg_add(Uint8 *pbMsg, Uint8 bLen); void tmsg_start(); void tmsg_cleanup(); diff --git a/Source/towners.cpp b/Source/towners.cpp index 1d3437005..7504fa4e5 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -716,7 +716,7 @@ ItemStruct *PlrHasItem(int pnum, int item, int *i) return nullptr; } -void TownerTalk(int first, int t) +void TownerTalk(int first) { sgdwCowClicks = 0; sgnCowMsg = 0; @@ -808,7 +808,7 @@ void TalkToTowner(int p, int t) } } if (!qtextflag) { - TownerTalk(TEXT_OGDEN1, t); + TownerTalk(TEXT_OGDEN1); if (storeflag) { StartStore(STORE_TAVERN); } @@ -894,7 +894,7 @@ void TalkToTowner(int p, int t) } } if (!qtextflag) { - TownerTalk(TEXT_GRISWOLD1, t); + TownerTalk(TEXT_GRISWOLD1); if (storeflag) { StartStore(STORE_SMITH); } @@ -947,7 +947,7 @@ void TalkToTowner(int p, int t) } } if (!qtextflag) { - TownerTalk(TEXT_ADRIA1, t); + TownerTalk(TEXT_ADRIA1); if (storeflag) { StartStore(STORE_WITCH); } @@ -961,14 +961,14 @@ void TalkToTowner(int p, int t) towners[t]._tMsgSaid = true; } if (!qtextflag) { - TownerTalk(TEXT_GILLIAN1, t); + TownerTalk(TEXT_GILLIAN1); if (storeflag) { StartStore(STORE_BARMAID); } } } else if (t == GetActiveTowner(TOWN_DRUNK)) { if (!qtextflag) { - TownerTalk(TEXT_FARNHAM1, t); + TownerTalk(TEXT_FARNHAM1); if (storeflag) { StartStore(STORE_DRUNK); } @@ -1005,14 +1005,14 @@ void TalkToTowner(int p, int t) } } if (!qtextflag) { - TownerTalk(TEXT_PEPIN1, t); + TownerTalk(TEXT_PEPIN1); if (storeflag) { StartStore(STORE_HEALER); } } } else if (t == GetActiveTowner(TOWN_PEGBOY)) { if (!qtextflag) { - TownerTalk(TEXT_WIRT1, t); + TownerTalk(TEXT_WIRT1); if (storeflag) { StartStore(STORE_BOY); } @@ -1057,7 +1057,7 @@ void TalkToTowner(int p, int t) } } if (!qtextflag) { - TownerTalk(TEXT_STORY1, t); + TownerTalk(TEXT_STORY1); if (storeflag) { StartStore(STORE_STORY); }