From c62a9086b79cbba23b281185ebdaa53eac51eef8 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sun, 15 Dec 2019 06:52:17 +0100 Subject: [PATCH] [hellfire] Fix broken data --- Source/appfat.cpp | 12 ++++++------ Source/itemdat.cpp | 2 +- Source/misdat.cpp | 3 ++- Source/monstdat.cpp | 2 +- Source/palette.cpp | 8 ++++++++ Source/spelldat.cpp | 4 ++++ 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Source/appfat.cpp b/Source/appfat.cpp index 6de60c54e..41154a076 100644 --- a/Source/appfat.cpp +++ b/Source/appfat.cpp @@ -568,7 +568,7 @@ void ErrDlg(int template_id, DWORD error_code, char *log_file_path, int log_line log_file_path = size + 1; wsprintf((LPSTR)dwInitParam, "%s\nat: %s line %d", GetErrorStr(error_code), log_file_path, log_line_nr); - if (DialogBoxParam(ghInst, MAKEINTRESOURCE(template_id), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM)dwInitParam) == -1) + if (DialogBoxParam(ghInst, MAKEINTRESOURCE(template_id), ghMainWnd, FuncDlg, (LPARAM)dwInitParam) == -1) app_fatal("ErrDlg: %d", template_id); app_fatal(NULL); @@ -612,7 +612,7 @@ void ErrOkDlg(int template_id, DWORD error_code, char *log_file_path, int log_li log_file_path = size + 1; wsprintf((LPSTR)dwInitParam, "%s\nat: %s line %d", GetErrorStr(error_code), log_file_path, log_line_nr); - DialogBoxParam(ghInst, MAKEINTRESOURCE(template_id), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM)dwInitParam); + DialogBoxParam(ghInst, MAKEINTRESOURCE(template_id), ghMainWnd, FuncDlg, (LPARAM)dwInitParam); } void FileErrDlg(const char *error) @@ -622,7 +622,7 @@ void FileErrDlg(const char *error) if (!error) error = ""; - if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG3), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM)error) == -1) + if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG3), ghMainWnd, FuncDlg, (LPARAM)error) == -1) app_fatal("FileErrDlg"); app_fatal(NULL); @@ -632,7 +632,7 @@ void DiskFreeDlg(char *error) { FreeDlg(); - if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG7), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM)error) == -1) + if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG7), ghMainWnd, FuncDlg, (LPARAM)error) == -1) app_fatal("DiskFreeDlg"); app_fatal(NULL); @@ -644,7 +644,7 @@ BOOL InsertCDDlg() ShowCursor(TRUE); - nResult = DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG9), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM) ""); + nResult = DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG9), ghMainWnd, FuncDlg, (LPARAM) ""); if (nResult == -1) app_fatal("InsertCDDlg"); @@ -657,7 +657,7 @@ void DirErrorDlg(char *error) { FreeDlg(); - if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG11), ghMainWnd, (DLGPROC)FuncDlg, (LPARAM)error) == -1) + if (DialogBoxParam(ghInst, MAKEINTRESOURCE(IDD_DIALOG11), ghMainWnd, FuncDlg, (LPARAM)error) == -1) app_fatal("DirErrorDlg"); app_fatal(NULL); diff --git a/Source/itemdat.cpp b/Source/itemdat.cpp index c7e279ebc..68127b7fb 100644 --- a/Source/itemdat.cpp +++ b/Source/itemdat.cpp @@ -305,8 +305,8 @@ const PLStruct PL_Prefix[] = { { "Jester's", IPL_JESTERS, 1, 1, 7, PLT_WEAP , 0, FALSE, TRUE, 1200, 1200, 3 }, { "Crystalline", IPL_CRYSTALLINE, 30, 70, 5, PLT_WEAP , 0, FALSE, TRUE, 1000, 3000, 3 }, { "Doppelganger's", IPL_DOPPELGANGER, 81, 95, 11, PLT_WEAP | PLT_STAFF , 0, FALSE, TRUE, 2000, 2400, 10 }, - { "", IPL_INVALID, 0, 0, 0, 0 , 0, FALSE, FALSE, 0, 0, 0 }, #endif + { "", IPL_INVALID, 0, 0, 0, 0 , 0, FALSE, FALSE, 0, 0, 0 }, // clang-format on }; diff --git a/Source/misdat.cpp b/Source/misdat.cpp index 289dab385..570df805c 100644 --- a/Source/misdat.cpp +++ b/Source/misdat.cpp @@ -78,8 +78,8 @@ MissileData missiledata[] = { { MIS_WEAPEXP, &AddWeapexp, &MI_Weapexp, TRUE, 2, 0, MFILE_NONE, -1, -1 }, { MIS_RPORTAL, &AddRportal, &MI_Rportal, TRUE, 2, 0, MFILE_RPORTAL, LS_SENTINEL, LS_ELEMENTL }, { MIS_BOOM2, &AddBoom, &MI_Boom, TRUE, 2, 0, MFILE_FIREPLAR, -1, -1 }, -#ifdef HELLFIRE { MIS_DIABAPOCA, &AddDiabApoca, &MI_Dummy, FALSE, 2, 0, MFILE_NONE, -1, -1 }, +#ifdef HELLFIRE { MIS_MANA, &missiles_rech_mana, &MI_Dummy, FALSE, 1, 0, MFILE_NONE, -1, -1 }, { MIS_MAGI, &missiles_magi, &MI_Dummy, FALSE, 1, 0, MFILE_NONE, -1, -1 }, { MIS_LIGHTWALL, &missiles_light_wall, &mi_light_wall, TRUE, 1, MISR_LIGHTNING, MFILE_LGHNING, LS_LMAG, LS_ELECIMP1 }, @@ -189,4 +189,5 @@ MisFileData misfiledata[] = { { MFILE_EXBL3, 1, "ex_bl3", 1, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, #endif { MFILE_NONE, 0, "", 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + // clang-format on }; diff --git a/Source/monstdat.cpp b/Source/monstdat.cpp index 96595b6dd..641d9ea70 100644 --- a/Source/monstdat.cpp +++ b/Source/monstdat.cpp @@ -177,7 +177,7 @@ MonsterData monsterdata[] = { { 180, 800, "Monsters\\Reaper\\Reap%c.CL2", FALSE, "Monsters\\newsfx\\Reaper%c%i.WAV", FALSE, FALSE, NULL, { 12, 10, 14, 6, 16, 0 }, { 2, 0, 0, 0, 0, 0 }, "Reaper", 44, 47, 30, 260, 300, AI_SKELSD, 0 , 3, 120, 8, 30, 35, 0, 0, 0, 0, 90, MC_DEMON, IMUNE_MAGIC | IMUNE_FIRE | RESIST_LIGHTNING , IMUNE_MAGIC | IMUNE_FIRE | IMUNE_LIGHTNING , 0, 3, 6000 }, { 226, 1200, "Monsters\\Nkr\\Nkr%c.CL2", TRUE, "Monsters\\newsfx\\Nakrul%c%i.WAV", TRUE, FALSE, NULL, { 2, 6, 16, 3, 16, 16 }, { 0, 0, 0, 0, 0, 0 }, "Na-Krul", 60, 60, 40, 1332, 1332, AI_SKELSD, MFLAG_KNOCKBACK | MFLAG_SEARCH | MFLAG_CAN_OPEN_DOOR, 3, 150, 7, 40, 50, 150, 10, 40, 50, 125, MC_DEMON, IMUNE_MAGIC | IMUNE_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, IMUNE_MAGIC | IMUNE_FIRE | IMUNE_LIGHTNING | IMUNE_NULL_40, 0, 7, 13333 }, #else - { 160, 2000, "Monsters\\Diablo\\Diablo%c.CL2", TRUE, "Monsters\\Diablo\\Diablo%c%i.WAV", TRUE, FALSE, NULL, { 16, 6, 16, 6, 16, 16 }, { 0, 0, 0, 0, 0, 0 }, "The Dark Lord", 50, 50, 45, 3333, 3333, AI_DIABLO, MFLAG_KNOCKBACK | MFLAG_SEARCH | MFLAG_CAN_OPEN_DOOR, 3, 220, 4, 30, 60, 0, 11, 0, 0, 90, MC_DEMON, IMUNE_MAGIC | RESIST_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, IMUNE_MAGIC | RESIST_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, 0, 7, 31666 }, + { 160, 2000, "Monsters\\Diablo\\Diablo%c.CL2", TRUE, "Monsters\\Diablo\\Diablo%c%i.WAV", TRUE, FALSE, NULL, { 16, 6, 16, 6, 16, 16 }, { 0, 0, 0, 0, 0, 0 }, "The Dark Lord", 50, 50, 30, 1666, 1666, AI_DIABLO, MFLAG_KNOCKBACK | MFLAG_SEARCH | MFLAG_CAN_OPEN_DOOR, 3, 220, 4, 30, 60, 0, 11, 0, 0, 90, MC_DEMON, IMUNE_MAGIC | RESIST_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, IMUNE_MAGIC | RESIST_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, 0, 7, 31666 }, { 128, 1060, "Monsters\\DarkMage\\Dmage%c.CL2", TRUE, "Monsters\\DarkMage\\Dmag%c%i.WAV", FALSE, FALSE, NULL, { 6, 1, 21, 6, 23, 18 }, { 0, 0, 0, 0, 0, 0 }, "The Arch-Litch Malignus", 30, 30, 30, 160, 160, AI_COUNSLR, MFLAG_CAN_OPEN_DOOR, 3, 120, 8, 20, 40, 0, 0, 0, 0, 70, MC_DEMON, RESIST_MAGIC | RESIST_FIRE | RESIST_LIGHTNING | IMUNE_NULL_40, IMUNE_MAGIC | IMUNE_FIRE | IMUNE_LIGHTNING | IMUNE_NULL_40, 0, 7, 4968 }, #endif // clang-format on diff --git a/Source/palette.cpp b/Source/palette.cpp index 0488e8c94..63ed73244 100644 --- a/Source/palette.cpp +++ b/Source/palette.cpp @@ -108,10 +108,18 @@ void palette_init() LoadGamma(); memcpy(system_palette, orig_palette, sizeof(orig_palette)); LoadSysPal(); +#ifdef HELLFIRE #ifdef __cplusplus error_code = lpDDInterface->CreatePalette(DDPCAPS_ALLOW256 | DDPCAPS_INITIALIZE | DDPCAPS_8BIT, system_palette, &lpDDPalette, NULL); #else error_code = lpDDInterface->lpVtbl->CreatePalette(lpDDInterface, DDPCAPS_ALLOW256 | DDPCAPS_INITIALIZE | DDPCAPS_8BIT, system_palette, &lpDDPalette, NULL); +#endif +#else +#ifdef __cplusplus + error_code = lpDDInterface->CreatePalette(DDPCAPS_ALLOW256 | DDPCAPS_8BIT, system_palette, &lpDDPalette, NULL); +#else + error_code = lpDDInterface->lpVtbl->CreatePalette(lpDDInterface, DDPCAPS_ALLOW256 | DDPCAPS_8BIT, system_palette, &lpDDPalette, NULL); +#endif #endif if (error_code) ErrDlg(IDD_DIALOG8, error_code, "C:\\Src\\Diablo\\Source\\PALETTE.CPP", 143); diff --git a/Source/spelldat.cpp b/Source/spelldat.cpp index 5321ac9a1..85891d841 100644 --- a/Source/spelldat.cpp +++ b/Source/spelldat.cpp @@ -21,7 +21,11 @@ SpellData spelldata[MAX_SPELLS] = { { SPL_WAVE, 35, STYPE_FIRE, "Flame Wave", NULL, 9, 8, TRUE, FALSE, 54, IS_CAST2, { MIS_WAVE, 0, 0 }, 3, 20, 20, 40, 10000, 650 }, { SPL_DOOMSERP, 0, STYPE_LIGHTNING, "Doom Serpents", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 }, { SPL_BLODRIT, 0, STYPE_MAGIC, "Blood Ritual", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 }, +#ifdef HELLFIRE { SPL_NOVA, 60, STYPE_MAGIC, "Nova", NULL, 14, 10, FALSE, FALSE, 87, IS_CAST4, { MIS_NOVA, 0, 0 }, 3, 35, 16, 32, 21000, 1300 }, +#else + { SPL_NOVA, 60, STYPE_MAGIC, "Nova", NULL, -1, 10, FALSE, FALSE, 87, IS_CAST4, { MIS_NOVA, 0, 0 }, 3, 35, 16, 32, 21000, 1300 }, +#endif { SPL_INVISIBIL, 0, STYPE_MAGIC, "Invisibility", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 }, { SPL_FLAME, 11, STYPE_FIRE, "Inferno", NULL, 3, 2, TRUE, FALSE, 20, IS_CAST2, { MIS_FLAMEC, 0, 0 }, 1, 6, 20, 40, 2000, 100 }, { SPL_GOLEM, 100, STYPE_FIRE, "Golem", NULL, 11, 9, FALSE, FALSE, 81, IS_CAST2, { MIS_GOLEM, 0, 0 }, 6, 60, 16, 32, 18000, 1100 },