Unifcy a chunk of Hellfire's code pathts
This commit is contained in:
parent
c1a126868b
commit
d20eddf48e
36 changed files with 10 additions and 367 deletions
|
|
@ -78,27 +78,19 @@ void InitAutomap()
|
|||
|
||||
switch (leveltype) {
|
||||
case DTYPE_CATHEDRAL:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 21)
|
||||
pAFile = LoadFileInMem("Levels\\L1Data\\L1.AMP", &dwTiles);
|
||||
else
|
||||
pAFile = LoadFileInMem("NLevels\\L5Data\\L5.AMP", &dwTiles);
|
||||
#else
|
||||
pAFile = LoadFileInMem("Levels\\L1Data\\L1.AMP", &dwTiles);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
pAFile = LoadFileInMem("Levels\\L2Data\\L2.AMP", &dwTiles);
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
pAFile = LoadFileInMem("Levels\\L3Data\\L3.AMP", &dwTiles);
|
||||
else
|
||||
pAFile = LoadFileInMem("NLevels\\L6Data\\L6.AMP", &dwTiles);
|
||||
#else
|
||||
pAFile = LoadFileInMem("Levels\\L3Data\\L3.AMP", &dwTiles);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
pAFile = LoadFileInMem("Levels\\L4Data\\L4.AMP", &dwTiles);
|
||||
|
|
@ -615,7 +607,6 @@ static void DrawAutomapText()
|
|||
if (setlevel) {
|
||||
PrintGameStr(8, nextline, quest_level_names[(BYTE)setlvlnum], COL_GOLD);
|
||||
} else if (currlevel != 0) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17 || currlevel > 20) {
|
||||
if (currlevel < 21 || currlevel > 24)
|
||||
sprintf(desc, "Level: %i", currlevel);
|
||||
|
|
@ -624,9 +615,6 @@ static void DrawAutomapText()
|
|||
} else {
|
||||
sprintf(desc, "Level: Nest %i", currlevel - 16);
|
||||
}
|
||||
#else
|
||||
sprintf(desc, "Level: %i", currlevel);
|
||||
#endif
|
||||
PrintGameStr(8, nextline, desc, COL_GOLD);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -686,22 +686,16 @@ void DrawLifeFlask()
|
|||
double p;
|
||||
int filled;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (plr[myplr]._pMaxHP <= 0) {
|
||||
p = 0.0;
|
||||
} else {
|
||||
p = 0.0;
|
||||
if (plr[myplr]._pMaxHP > 0) {
|
||||
p = (double)plr[myplr]._pHitPoints / (double)plr[myplr]._pMaxHP * 80.0;
|
||||
}
|
||||
#else
|
||||
p = (double)plr[myplr]._pHitPoints / (double)plr[myplr]._pMaxHP * 80.0;
|
||||
#endif
|
||||
plr[myplr]._pHPPer = p;
|
||||
filled = plr[myplr]._pHPPer;
|
||||
|
||||
#ifndef HELLFIRE
|
||||
if (filled > 80)
|
||||
filled = 80;
|
||||
#endif
|
||||
|
||||
filled = 80 - filled;
|
||||
if (filled > 11)
|
||||
filled = 11;
|
||||
|
|
@ -722,24 +716,17 @@ void UpdateLifeFlask()
|
|||
double p;
|
||||
int filled;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (plr[myplr]._pMaxHP <= 0) {
|
||||
p = 0.0;
|
||||
} else {
|
||||
p = 0.0;
|
||||
if (plr[myplr]._pMaxHP > 0) {
|
||||
p = (double)plr[myplr]._pHitPoints / (double)plr[myplr]._pMaxHP * 80.0;
|
||||
}
|
||||
#else
|
||||
p = (double)plr[myplr]._pHitPoints / (double)plr[myplr]._pMaxHP * 80.0;
|
||||
#endif
|
||||
filled = p;
|
||||
plr[myplr]._pHPPer = filled;
|
||||
|
||||
if (filled > 69)
|
||||
filled = 69;
|
||||
#ifndef HELLFIRE
|
||||
else if (filled < 0)
|
||||
filled = 0;
|
||||
#endif
|
||||
if (filled != 69)
|
||||
SetFlaskHeight(pLifeBuff, 16, 85 - filled, 96 + PANEL_X, PANEL_Y);
|
||||
if (filled != 0)
|
||||
|
|
@ -749,10 +736,8 @@ void UpdateLifeFlask()
|
|||
void DrawManaFlask()
|
||||
{
|
||||
int filled = plr[myplr]._pManaPer;
|
||||
#ifndef HELLFIRE
|
||||
if (filled > 80)
|
||||
filled = 80;
|
||||
#endif
|
||||
filled = 80 - filled;
|
||||
if (filled > 11)
|
||||
filled = 11;
|
||||
|
|
@ -2010,15 +1995,13 @@ void CheckSBook()
|
|||
force_redraw = 255;
|
||||
}
|
||||
}
|
||||
if (MouseX >= RIGHT_PANEL + 7 && MouseX < RIGHT_PANEL + 311 && MouseY >= SPANEL_WIDTH && MouseY < 349) {
|
||||
#ifdef HELLFIRE
|
||||
if (MouseX >= RIGHT_PANEL + 7 && MouseX < RIGHT_PANEL + 312 && MouseY >= 320 && MouseY < 349) {
|
||||
sbooktab = (MouseX - (RIGHT_PANEL + 7)) / 61;
|
||||
}
|
||||
#else
|
||||
if (MouseX >= RIGHT_PANEL + 7 && MouseX < RIGHT_PANEL + 311 && MouseY >= SPANEL_WIDTH && MouseY < 349) { /// BUGFIX: change `< 313` to `< 311` (fixed)
|
||||
sbooktab = (MouseX - (RIGHT_PANEL + 7)) / 76;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
const char *get_pieces_str(int nGold)
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ int icursW28;
|
|||
int icursH28;
|
||||
/** Cursor images CEL */
|
||||
BYTE *pCursCels;
|
||||
#ifdef HELLFIRE
|
||||
BYTE *pCursCels2;
|
||||
#endif
|
||||
|
||||
/** inv_item value */
|
||||
char pcursinvitem;
|
||||
|
|
@ -68,14 +66,12 @@ const int InvItemWidth[] = {
|
|||
2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28,
|
||||
2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28,
|
||||
2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28,
|
||||
#ifdef HELLFIRE
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
2 * 28, 2 * 28, 1 * 28, 1 * 28, 1 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28,
|
||||
2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28,
|
||||
2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28, 2 * 28
|
||||
#endif
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
|
|
@ -102,14 +98,12 @@ const int InvItemHeight[] = {
|
|||
3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28,
|
||||
3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28,
|
||||
3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28,
|
||||
#ifdef HELLFIRE
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28, 1 * 28,
|
||||
2 * 28, 2 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28,
|
||||
3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28,
|
||||
3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28, 3 * 28
|
||||
#endif
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
|
|
@ -126,9 +120,7 @@ void InitCursor()
|
|||
void FreeCursor()
|
||||
{
|
||||
MemFreeDbg(pCursCels);
|
||||
#ifdef HELLFIRE
|
||||
MemFreeDbg(pCursCels2);
|
||||
#endif
|
||||
ClearCursor();
|
||||
}
|
||||
|
||||
|
|
@ -427,15 +419,9 @@ void CheckCursMove()
|
|||
cursmx = mx;
|
||||
cursmy = my;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM && !(monster[pcursmonst]._mFlags & MFLAG_BERSERK)) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#else
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#endif
|
||||
if (pcursmonst != -1) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -501,15 +487,9 @@ void CheckCursMove()
|
|||
cursmx = mx;
|
||||
cursmy = my;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM && !(monster[pcursmonst]._mFlags & MFLAG_BERSERK)) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#else
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
if (!flipflag && mx + 1 < MAXDUNX && dMonster[mx + 1][my] > 0) {
|
||||
pcursmonst = dMonster[mx + 1][my] - 1;
|
||||
|
|
@ -677,15 +657,9 @@ void CheckCursMove()
|
|||
cursmx = mx;
|
||||
cursmy = my;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM && !(monster[pcursmonst]._mFlags & MFLAG_BERSERK)) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#else
|
||||
if (pcursmonst != -1 && monster[pcursmonst]._mFlags & MFLAG_GOLEM) {
|
||||
pcursmonst = -1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
DEVILUTION_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ extern int pcursmonst;
|
|||
extern int icursW28;
|
||||
extern int icursH28;
|
||||
extern BYTE *pCursCels;
|
||||
#ifdef HELLFIRE
|
||||
extern BYTE *pCursCels2;
|
||||
#endif
|
||||
extern int icursH;
|
||||
extern char pcursinvitem;
|
||||
extern int icursW;
|
||||
|
|
|
|||
|
|
@ -48,14 +48,12 @@ int setseed;
|
|||
int debugmonsttypes;
|
||||
int PauseMode;
|
||||
bool forceSpawn;
|
||||
#ifdef HELLFIRE
|
||||
BOOLEAN UseTheoQuest;
|
||||
BOOLEAN UseCowFarmer;
|
||||
BOOLEAN UseNestArt;
|
||||
BOOLEAN UseBardTest;
|
||||
BOOLEAN UseBarbarianTest;
|
||||
BOOLEAN UseMultiTest;
|
||||
#endif
|
||||
int sgnTimeoutCurs;
|
||||
char sgbMouseDown;
|
||||
int color_cycle_timer;
|
||||
|
|
@ -619,7 +617,6 @@ BOOL TryIconCurs()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (pcurs == CURSOR_OIL) {
|
||||
if (pcursinvitem != -1)
|
||||
DoOil(myplr, pcursinvitem);
|
||||
|
|
@ -628,7 +625,6 @@ BOOL TryIconCurs()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
if (pcurs == CURSOR_TELEPORT) {
|
||||
if (pcursmonst != -1)
|
||||
NetSendCmdParam3(TRUE, CMD_TSPELLID, pcursmonst, plr[myplr]._pTSpell, GetSpellLevel(myplr, plr[myplr]._pTSpell));
|
||||
|
|
@ -741,14 +737,10 @@ static void RightMouseDown()
|
|||
} else if (stextflag == STORE_NONE) {
|
||||
if (spselflag) {
|
||||
SetSpell();
|
||||
#ifdef HELLFIRE
|
||||
} else if ((!sbookflag || MouseX <= RIGHT_PANEL) && (MouseY >= SPANEL_HEIGHT || (!TryIconCurs() && (pcursinvitem == -1 || !UseInvItem(myplr, pcursinvitem))))) {
|
||||
#else
|
||||
} else if (MouseY >= SPANEL_HEIGHT
|
||||
|| (!sbookflag || MouseX <= RIGHT_PANEL)
|
||||
&& !TryIconCurs()
|
||||
&& (pcursinvitem == -1 || !UseInvItem(myplr, pcursinvitem))) {
|
||||
#endif
|
||||
if (pcurs == CURSOR_HAND) {
|
||||
if (pcursinvitem == -1 || !UseInvItem(myplr, pcursinvitem))
|
||||
CheckPlrSpell();
|
||||
|
|
@ -1481,21 +1473,17 @@ void LoadLvlGFX()
|
|||
pSpecialCels = LoadFileInMem("Levels\\TownData\\TownS.CEL", NULL);
|
||||
break;
|
||||
case DTYPE_CATHEDRAL:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 21) {
|
||||
#endif
|
||||
pDungeonCels = LoadFileInMem("Levels\\L1Data\\L1.CEL", NULL);
|
||||
pMegaTiles = LoadFileInMem("Levels\\L1Data\\L1.TIL", NULL);
|
||||
pLevelPieces = LoadFileInMem("Levels\\L1Data\\L1.MIN", NULL);
|
||||
pSpecialCels = LoadFileInMem("Levels\\L1Data\\L1S.CEL", NULL);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
pDungeonCels = LoadFileInMem("NLevels\\L5Data\\L5.CEL", NULL);
|
||||
pMegaTiles = LoadFileInMem("NLevels\\L5Data\\L5.TIL", NULL);
|
||||
pLevelPieces = LoadFileInMem("NLevels\\L5Data\\L5.MIN", NULL);
|
||||
pSpecialCels = LoadFileInMem("NLevels\\L5Data\\L5S.CEL", NULL);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
pDungeonCels = LoadFileInMem("Levels\\L2Data\\L2.CEL", NULL);
|
||||
|
|
@ -1504,19 +1492,15 @@ void LoadLvlGFX()
|
|||
pSpecialCels = LoadFileInMem("Levels\\L2Data\\L2S.CEL", NULL);
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
pDungeonCels = LoadFileInMem("Levels\\L3Data\\L3.CEL", NULL);
|
||||
pMegaTiles = LoadFileInMem("Levels\\L3Data\\L3.TIL", NULL);
|
||||
pLevelPieces = LoadFileInMem("Levels\\L3Data\\L3.MIN", NULL);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
pDungeonCels = LoadFileInMem("NLevels\\L6Data\\L6.CEL", NULL);
|
||||
pMegaTiles = LoadFileInMem("NLevels\\L6Data\\L6.TIL", NULL);
|
||||
pLevelPieces = LoadFileInMem("NLevels\\L6Data\\L6.MIN", NULL);
|
||||
}
|
||||
#endif
|
||||
pSpecialCels = LoadFileInMem("Levels\\L1Data\\L1S.CEL", NULL);
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
|
|
@ -1556,15 +1540,11 @@ void CreateLevel(int lvldir)
|
|||
CreateL5Dungeon(glSeedTbl[currlevel], lvldir);
|
||||
InitL1Triggers();
|
||||
Freeupstairs();
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 21) {
|
||||
LoadRndLvlPal(1);
|
||||
} else {
|
||||
LoadRndLvlPal(5);
|
||||
}
|
||||
#else
|
||||
LoadRndLvlPal(1);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
CreateL2Dungeon(glSeedTbl[currlevel], lvldir);
|
||||
|
|
@ -1576,15 +1556,11 @@ void CreateLevel(int lvldir)
|
|||
CreateL3Dungeon(glSeedTbl[currlevel], lvldir);
|
||||
InitL3Triggers();
|
||||
Freeupstairs();
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
LoadRndLvlPal(3);
|
||||
} else {
|
||||
LoadRndLvlPal(6);
|
||||
}
|
||||
#else
|
||||
LoadRndLvlPal(3);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
CreateL4Dungeon(glSeedTbl[currlevel], lvldir);
|
||||
|
|
@ -1699,9 +1675,7 @@ void LoadGameLevel(BOOL firstflag, int lvldir)
|
|||
IncProgress();
|
||||
InitObjects();
|
||||
InitItems();
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
CreateThemeRooms();
|
||||
IncProgress();
|
||||
glMid3Seed[currlevel] = GetRndSeed();
|
||||
|
|
@ -1815,7 +1789,6 @@ void LoadGameLevel(BOOL firstflag, int lvldir)
|
|||
ProcessVisionList();
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel >= 21) {
|
||||
if (currlevel == 21) {
|
||||
items_427ABA(CornerStone.x, CornerStone.y);
|
||||
|
|
@ -1824,7 +1797,6 @@ void LoadGameLevel(BOOL firstflag, int lvldir)
|
|||
objects_454BA8();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel >= 17)
|
||||
|
|
@ -1929,12 +1901,10 @@ void diablo_color_cyc_logic()
|
|||
|
||||
if (leveltype == DTYPE_HELL) {
|
||||
lighting_color_cycling();
|
||||
#ifdef HELLFIRE
|
||||
} else if (currlevel >= 21) {
|
||||
palette_update_crypt();
|
||||
} else if (currlevel >= 17) {
|
||||
palette_update_hive();
|
||||
#endif
|
||||
} else if (leveltype == DTYPE_CAVES) {
|
||||
palette_update_caves();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,14 +37,12 @@ extern BOOL monstdebug;
|
|||
/** unused */
|
||||
extern int debugmonsttypes;
|
||||
extern int PauseMode;
|
||||
#ifdef HELLFIRE
|
||||
extern BOOLEAN UseTheoQuest;
|
||||
extern BOOLEAN UseCowFarmer;
|
||||
extern BOOLEAN UseNestArt;
|
||||
extern BOOLEAN UseBardTest;
|
||||
extern BOOLEAN UseBarbarianTest;
|
||||
extern BOOLEAN UseMultiTest;
|
||||
#endif
|
||||
extern char sgbMouseDown;
|
||||
extern int ticks_per_sec;
|
||||
extern WORD tick_delay;
|
||||
|
|
|
|||
|
|
@ -44,38 +44,21 @@ int doom_get_frame_from_time()
|
|||
|
||||
void doom_cleanup()
|
||||
{
|
||||
#ifdef HELLFIRE
|
||||
if (pDoomCel != NULL) {
|
||||
MemFreeDbg(pDoomCel);
|
||||
pDoomCel = NULL;
|
||||
}
|
||||
#else
|
||||
MemFreeDbg(pDoomCel);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
static BOOLEAN doom_alloc_cel()
|
||||
#else
|
||||
static void doom_alloc_cel()
|
||||
#endif
|
||||
{
|
||||
#ifdef HELLFIRE
|
||||
doom_cleanup();
|
||||
pDoomCel = DiabloAllocPtr(0x39000);
|
||||
return pDoomCel ? TRUE : FALSE;
|
||||
#else
|
||||
pDoomCel = DiabloAllocPtr(0x38000);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
static BOOLEAN doom_load_graphics()
|
||||
#else
|
||||
static void doom_load_graphics()
|
||||
#endif
|
||||
{
|
||||
#ifdef HELLFIRE
|
||||
BOOLEAN ret;
|
||||
|
||||
ret = FALSE;
|
||||
|
|
@ -83,21 +66,10 @@ static void doom_load_graphics()
|
|||
if (LoadFileWithMem(tempstr, pDoomCel))
|
||||
ret = TRUE;
|
||||
return ret;
|
||||
#else
|
||||
if (doom_quest_time == 31) {
|
||||
strcpy(tempstr, "Items\\Map\\MapZDoom.CEL");
|
||||
} else if (doom_quest_time < 10) {
|
||||
sprintf(tempstr, "Items\\Map\\MapZ000%i.CEL", doom_quest_time);
|
||||
} else {
|
||||
sprintf(tempstr, "Items\\Map\\MapZ00%i.CEL", doom_quest_time);
|
||||
}
|
||||
LoadFileWithMem(tempstr, pDoomCel);
|
||||
#endif
|
||||
}
|
||||
|
||||
void doom_init()
|
||||
{
|
||||
#ifdef HELLFIRE
|
||||
if (doom_alloc_cel()) {
|
||||
doom_quest_time = doom_get_frame_from_time() == 31 ? 31 : 0;
|
||||
if (doom_load_graphics()) {
|
||||
|
|
@ -106,12 +78,6 @@ void doom_init()
|
|||
doom_close();
|
||||
}
|
||||
}
|
||||
#else
|
||||
doomflag = TRUE;
|
||||
doom_alloc_cel();
|
||||
doom_quest_time = doom_get_frame_from_time() == 31 ? 31 : 0;
|
||||
doom_load_graphics();
|
||||
#endif
|
||||
}
|
||||
|
||||
void doom_close()
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ void DRLG_Init_Globals();
|
|||
void LoadL1Dungeon(const char *sFileName, int vx, int vy);
|
||||
void LoadPreL1Dungeon(const char *sFileName, int vx, int vy);
|
||||
void CreateL5Dungeon(DWORD rseed, int entry);
|
||||
#ifdef HELLFIRE
|
||||
void drlg_l1_set_crypt_room(int rx1, int ry1);
|
||||
void drlg_l1_set_corner_room(int rx1, int ry1);
|
||||
void drlg_l1_crypt_pattern1(int rndper);
|
||||
|
|
@ -34,7 +33,6 @@ void drlg_l1_crypt_pattern4(int rndper);
|
|||
void drlg_l1_crypt_pattern5(int rndper);
|
||||
void drlg_l1_crypt_pattern6(int rndper);
|
||||
void drlg_l1_crypt_pattern7(int rndper);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ const BYTE L3UP[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
const BYTE L6UP[] = {
|
||||
// clang-format off
|
||||
3, 3, // width, height
|
||||
|
|
@ -50,7 +49,6 @@ const BYTE L6UP[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#endif
|
||||
/** Miniset: Stairs down. */
|
||||
const BYTE L3DOWN[] = {
|
||||
// clang-format off
|
||||
|
|
@ -65,7 +63,6 @@ const BYTE L3DOWN[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
const BYTE L6DOWN[] = {
|
||||
// clang-format off
|
||||
3, 3, // width, height
|
||||
|
|
@ -79,7 +76,6 @@ const BYTE L6DOWN[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#endif
|
||||
/** Miniset: Stairs up to town. */
|
||||
const BYTE L3HOLDWARP[] = {
|
||||
// clang-format off
|
||||
|
|
@ -94,7 +90,6 @@ const BYTE L3HOLDWARP[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
const BYTE L6HOLDWARP[] = {
|
||||
// clang-format off
|
||||
3, 3, // width, height
|
||||
|
|
@ -108,7 +103,6 @@ const BYTE L6HOLDWARP[] = {
|
|||
0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#endif
|
||||
/** Miniset: Stalagmite white stalactite 1. */
|
||||
const BYTE L3TITE1[] = {
|
||||
// clang-format off
|
||||
|
|
@ -534,7 +528,6 @@ const BYTE L3ANVIL[] = {
|
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
// clang-format on
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
const BYTE byte_48A76C[] = { 1, 1, 8, 25 };
|
||||
const BYTE byte_48A770[] = { 1, 1, 8, 26 };
|
||||
const BYTE byte_48A774[] = { 1, 1, 8, 27 };
|
||||
|
|
@ -840,7 +833,6 @@ const BYTE byte_48A9C8[] = {
|
|||
7, 7, 7, 7,
|
||||
// clang-format on
|
||||
};
|
||||
#endif
|
||||
|
||||
static void InitL3Dungeon()
|
||||
{
|
||||
|
|
@ -1749,7 +1741,6 @@ static void DRLG_L3PlaceRndSet(const BYTE *miniset, int rndper)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
BOOLEAN drlg_l3_hive_rnd_piece(const BYTE *miniset, int rndper)
|
||||
{
|
||||
int sx, sy, sw, sh, xx, yy, ii, kk;
|
||||
|
|
@ -1808,7 +1799,6 @@ BOOLEAN drlg_l3_hive_rnd_piece(const BYTE *miniset, int rndper)
|
|||
|
||||
return placed;
|
||||
}
|
||||
#endif
|
||||
|
||||
static BOOL WoodVertU(int i, int y)
|
||||
{
|
||||
|
|
@ -2359,54 +2349,39 @@ static void DRLG_L3(int entry)
|
|||
} while (!found);
|
||||
DRLG_L3MakeMegas();
|
||||
if (entry == ENTRY_MAIN) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3UP, 1, 1, -1, -1, TRUE, 0);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 17)
|
||||
genok = DRLG_L3PlaceMiniSet(L6UP, 1, 1, -1, -1, TRUE, 0);
|
||||
else
|
||||
genok = DRLG_L3PlaceMiniSet(L6HOLDWARP, 1, 1, -1, -1, TRUE, 6);
|
||||
}
|
||||
#endif
|
||||
if (!genok) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3DOWN, 1, 1, -1, -1, FALSE, 1);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 20)
|
||||
genok = DRLG_L3PlaceMiniSet(L6DOWN, 1, 1, -1, -1, FALSE, 1);
|
||||
}
|
||||
#endif
|
||||
if (!genok && currlevel == 9) {
|
||||
genok = DRLG_L3PlaceMiniSet(L3HOLDWARP, 1, 1, -1, -1, FALSE, 6);
|
||||
}
|
||||
}
|
||||
} else if (entry == ENTRY_PREV) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3UP, 1, 1, -1, -1, FALSE, 0);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 17)
|
||||
genok = DRLG_L3PlaceMiniSet(L6UP, 1, 1, -1, -1, FALSE, 0);
|
||||
else
|
||||
genok = DRLG_L3PlaceMiniSet(L6HOLDWARP, 1, 1, -1, -1, FALSE, 6);
|
||||
}
|
||||
#endif
|
||||
if (!genok) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3DOWN, 1, 1, -1, -1, TRUE, 1);
|
||||
ViewX += 2;
|
||||
ViewY -= 2;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 20) {
|
||||
genok = DRLG_L3PlaceMiniSet(L6DOWN, 1, 1, -1, -1, TRUE, 1);
|
||||
|
|
@ -2414,35 +2389,26 @@ static void DRLG_L3(int entry)
|
|||
ViewY -= 2;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!genok && currlevel == 9) {
|
||||
genok = DRLG_L3PlaceMiniSet(L3HOLDWARP, 1, 1, -1, -1, FALSE, 6);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3UP, 1, 1, -1, -1, FALSE, 0);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 17)
|
||||
genok = DRLG_L3PlaceMiniSet(L6UP, 1, 1, -1, -1, FALSE, 0);
|
||||
else
|
||||
genok = DRLG_L3PlaceMiniSet(L6HOLDWARP, 1, 1, -1, -1, TRUE, 6);
|
||||
}
|
||||
#endif
|
||||
if (!genok) {
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
genok = DRLG_L3PlaceMiniSet(L3DOWN, 1, 1, -1, -1, FALSE, 1);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
if (currlevel != 20)
|
||||
genok = DRLG_L3PlaceMiniSet(L6DOWN, 1, 1, -1, -1, FALSE, 1);
|
||||
}
|
||||
#endif
|
||||
if (!genok && currlevel == 9) {
|
||||
genok = DRLG_L3PlaceMiniSet(L3HOLDWARP, 1, 1, -1, -1, TRUE, 6);
|
||||
}
|
||||
|
|
@ -2452,11 +2418,8 @@ static void DRLG_L3(int entry)
|
|||
genok = DRLG_L3Anvil();
|
||||
}
|
||||
} while (genok == TRUE);
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
DRLG_L3Pool();
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
lavapool += drlg_l3_hive_rnd_piece(byte_48A998, 30);
|
||||
lavapool += drlg_l3_hive_rnd_piece(byte_48A9C8, 40);
|
||||
|
|
@ -2465,21 +2428,14 @@ static void DRLG_L3(int entry)
|
|||
if (lavapool < 3)
|
||||
lavapool = FALSE;
|
||||
}
|
||||
#endif
|
||||
} while (!lavapool);
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
DRLG_L3PoolFix();
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
FixL3Warp();
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
DRLG_L3PlaceRndSet(L3ISLE1, 70);
|
||||
DRLG_L3PlaceRndSet(L3ISLE2, 70);
|
||||
DRLG_L3PlaceRndSet(L3ISLE3, 30);
|
||||
|
|
@ -2487,7 +2443,6 @@ static void DRLG_L3(int entry)
|
|||
DRLG_L3PlaceRndSet(L3ISLE1, 100);
|
||||
DRLG_L3PlaceRndSet(L3ISLE2, 100);
|
||||
DRLG_L3PlaceRndSet(L3ISLE5, 90);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
DRLG_L3PlaceRndSet(L6ISLE1, 70);
|
||||
DRLG_L3PlaceRndSet(L6ISLE2, 70);
|
||||
|
|
@ -2497,15 +2452,10 @@ static void DRLG_L3(int entry)
|
|||
DRLG_L3PlaceRndSet(L6ISLE2, 100);
|
||||
DRLG_L3PlaceRndSet(L6ISLE5, 90);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
FixL3HallofHeroes();
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
DRLG_L3River();
|
||||
|
||||
if (QuestStatus(Q_ANVIL)) {
|
||||
|
|
@ -2517,14 +2467,10 @@ static void DRLG_L3(int entry)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
#endif
|
||||
DRLG_PlaceThemeRooms(5, 10, 7, 0, 0);
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
DRLG_L3Wood();
|
||||
DRLG_L3PlaceRndSet(L3TITE1, 10);
|
||||
DRLG_L3PlaceRndSet(L3TITE2, 10);
|
||||
|
|
@ -2553,7 +2499,6 @@ static void DRLG_L3(int entry)
|
|||
DRLG_L3PlaceRndSet(L3XTRA3, 25);
|
||||
DRLG_L3PlaceRndSet(L3XTRA4, 25);
|
||||
DRLG_L3PlaceRndSet(L3XTRA5, 25);
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
DRLG_L3PlaceRndSet(byte_48A76C, 20);
|
||||
DRLG_L3PlaceRndSet(byte_48A770, 20);
|
||||
|
|
@ -2604,7 +2549,6 @@ static void DRLG_L3(int entry)
|
|||
DRLG_L3PlaceRndSet(byte_48A7FC, 25);
|
||||
DRLG_L3PlaceRndSet(byte_48A800, 25);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (j = 0; j < DMAXY; j++) {
|
||||
for (i = 0; i < DMAXX; i++) {
|
||||
|
|
@ -2679,9 +2623,7 @@ void CreateL3Dungeon(DWORD rseed, int entry)
|
|||
DRLG_L3(entry);
|
||||
DRLG_L3Pass3();
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
for (j = 0; j < MAXDUNY; j++) {
|
||||
for (i = 0; i < MAXDUNX; i++) {
|
||||
if (dPiece[i][j] >= 56 && dPiece[i][j] <= 147) {
|
||||
|
|
@ -2695,7 +2637,6 @@ void CreateL3Dungeon(DWORD rseed, int entry)
|
|||
}
|
||||
}
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
for (j = 0; j < MAXDUNY; j++) {
|
||||
for (i = 0; i < MAXDUNX; i++) {
|
||||
|
|
@ -2705,7 +2646,6 @@ void CreateL3Dungeon(DWORD rseed, int entry)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
DRLG_SetPC();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ const char *const MsgStrings[] = {
|
|||
"You must be at least level 13 to use this.",
|
||||
"You must be at least level 17 to use this.",
|
||||
"Arcane knowledge gained!",
|
||||
#ifdef HELLFIRE
|
||||
"That which does not kill you...",
|
||||
"Knowledge is power.",
|
||||
"Give and you shall receive.",
|
||||
|
|
@ -70,7 +69,6 @@ const char *const MsgStrings[] = {
|
|||
"You feel wiser.",
|
||||
"You feel refreshed.",
|
||||
"That which can break will.",
|
||||
#endif
|
||||
};
|
||||
|
||||
void InitDiabloMsg(char e)
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@
|
|||
|
||||
DEVILUTION_BEGIN_NAMESPACE
|
||||
|
||||
#ifdef HELLFIRE
|
||||
BOOL jogging_opt = TRUE;
|
||||
#endif
|
||||
|
||||
/** Contains the game menu items of the single player menu. */
|
||||
TMenuItem sgSingleMenu[] = {
|
||||
|
|
@ -70,13 +68,11 @@ const char *const sound_toggle_names[] = {
|
|||
"Sound",
|
||||
"Sound Disabled",
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
char *jogging_toggle_names[] = {
|
||||
"Jog",
|
||||
"Walk",
|
||||
};
|
||||
char *jogging_title = "Fast Walk";
|
||||
#endif
|
||||
/** Specifies the menu names for colour cycling disabled and enabled. */
|
||||
const char *const color_cycling_toggle_names[] = { "Color Cycling Off", "Color Cycling On" };
|
||||
|
||||
|
|
@ -238,14 +234,12 @@ static void gamemenu_get_sound()
|
|||
gamemenu_sound_music_toggle(sound_toggle_names, &sgOptionsMenu[1], sound_get_or_set_sound_volume(1));
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
static void gamemenu_jogging()
|
||||
{
|
||||
gmenu_slider_steps(&sgOptionsMenu[3], 2);
|
||||
gmenu_slider_set(&sgOptionsMenu[3], 0, 1, jogging_opt);
|
||||
sgOptionsMenu[3].pszStr = jogging_toggle_names[!jogging_opt ? 1 : 0];
|
||||
}
|
||||
#endif
|
||||
|
||||
static void gamemenu_get_gamma()
|
||||
{
|
||||
|
|
@ -382,7 +376,6 @@ void gamemenu_sound_volume(BOOL bActivate)
|
|||
gamemenu_get_sound();
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
void gamemenu_loadjog(BOOL bActivate)
|
||||
{
|
||||
if (gbMaxPlayers == 1) {
|
||||
|
|
@ -392,7 +385,6 @@ void gamemenu_loadjog(BOOL bActivate)
|
|||
gamemenu_jogging();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void gamemenu_gamma(BOOL bActivate)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -177,27 +177,19 @@ void FillSolidBlockTbls()
|
|||
#endif
|
||||
break;
|
||||
case DTYPE_CATHEDRAL:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
pSBFile = LoadFileInMem("Levels\\L1Data\\L1.SOL", &dwTiles);
|
||||
else
|
||||
pSBFile = LoadFileInMem("NLevels\\L5Data\\L5.SOL", &dwTiles);
|
||||
#else
|
||||
pSBFile = LoadFileInMem("Levels\\L1Data\\L1.SOL", &dwTiles);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
pSBFile = LoadFileInMem("Levels\\L2Data\\L2.SOL", &dwTiles);
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17)
|
||||
pSBFile = LoadFileInMem("Levels\\L3Data\\L3.SOL", &dwTiles);
|
||||
else
|
||||
pSBFile = LoadFileInMem("NLevels\\L6Data\\L6.SOL", &dwTiles);
|
||||
#else
|
||||
pSBFile = LoadFileInMem("Levels\\L3Data\\L3.SOL", &dwTiles);
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
pSBFile = LoadFileInMem("Levels\\L4Data\\L4.SOL", &dwTiles);
|
||||
|
|
|
|||
|
|
@ -12,10 +12,8 @@ BOOLEAN mouseNavigation;
|
|||
BYTE *PentSpin_cel;
|
||||
TMenuItem *sgpCurrItem;
|
||||
BYTE *BigTGold_cel;
|
||||
#ifdef HELLFIRE
|
||||
int LogoAnim_tick;
|
||||
BYTE LogoAnim_frame;
|
||||
#endif
|
||||
int PentSpin_tick;
|
||||
void (*dword_63447C)(TMenuItem *);
|
||||
TMenuItem *sgpCurrentMenu;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ HANDLE diabdat_mpq;
|
|||
HANDLE patch_rt_mpq;
|
||||
/** Indicate if we only have access to demo data */
|
||||
bool gbIsSpawn;
|
||||
#ifdef HELLFIRE
|
||||
HANDLE hfmonk_mpq;
|
||||
HANDLE hfbard_mpq;
|
||||
HANDLE hfbarb_mpq;
|
||||
|
|
@ -35,7 +34,6 @@ HANDLE hfmusic_mpq;
|
|||
HANDLE hfvoice_mpq;
|
||||
HANDLE hfopt1_mpq;
|
||||
HANDLE hfopt2_mpq;
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
|
|
@ -82,7 +80,6 @@ void init_cleanup()
|
|||
SFileCloseArchive(hellfire_mpq);
|
||||
hellfire_mpq = NULL;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (hfmonk_mpq) {
|
||||
SFileCloseArchive(hfmonk_mpq);
|
||||
hfmonk_mpq = NULL;
|
||||
|
|
@ -111,7 +108,6 @@ void init_cleanup()
|
|||
SFileCloseArchive(hfopt2_mpq);
|
||||
hfopt2_mpq = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
NetClose();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ extern WNDPROC CurrentProc;
|
|||
extern HANDLE diabdat_mpq;
|
||||
extern bool gbIsSpawn;
|
||||
extern HANDLE patch_rt_mpq;
|
||||
#ifdef HELLFIRE
|
||||
extern HANDLE hfmonk_mpq;
|
||||
extern HANDLE hfbard_mpq;
|
||||
extern HANDLE hfbarb_mpq;
|
||||
|
|
@ -27,7 +26,6 @@ extern HANDLE hfmusic_mpq;
|
|||
extern HANDLE hfvoice_mpq;
|
||||
extern HANDLE hfopt1_mpq;
|
||||
extern HANDLE hfopt2_mpq;
|
||||
#endif
|
||||
|
||||
void init_cleanup();
|
||||
void init_archives();
|
||||
|
|
|
|||
|
|
@ -34,19 +34,15 @@ static void InitCutscene(unsigned int uMsg)
|
|||
progress_id = 1;
|
||||
break;
|
||||
case DTYPE_CATHEDRAL:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cutl1d.pal");
|
||||
progress_id = 0;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
sgpBackCel = LoadFileInMem("Nlevels\\cutl5.CEL", NULL);
|
||||
LoadPalette("Nlevels\\cutl5.pal");
|
||||
progress_id = 1;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", NULL);
|
||||
|
|
@ -54,19 +50,15 @@ static void InitCutscene(unsigned int uMsg)
|
|||
progress_id = 2;
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cut3.pal");
|
||||
progress_id = 1;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
sgpBackCel = LoadFileInMem("Nlevels\\cutl6.CEL", NULL);
|
||||
LoadPalette("Nlevels\\cutl6.pal");
|
||||
progress_id = 1;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
if (currlevel < 15) {
|
||||
|
|
@ -99,19 +91,15 @@ static void InitCutscene(unsigned int uMsg)
|
|||
progress_id = 1;
|
||||
break;
|
||||
case DTYPE_CATHEDRAL:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cutl1d.pal");
|
||||
progress_id = 0;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
sgpBackCel = LoadFileInMem("Nlevels\\cutl5.CEL", NULL);
|
||||
LoadPalette("Nlevels\\cutl5.pal");
|
||||
progress_id = 1;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_CATACOMBS:
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", NULL);
|
||||
|
|
@ -119,19 +107,15 @@ static void InitCutscene(unsigned int uMsg)
|
|||
progress_id = 2;
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel < 17) {
|
||||
#endif
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cut3.pal");
|
||||
progress_id = 1;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
sgpBackCel = LoadFileInMem("Nlevels\\cutl6.CEL", NULL);
|
||||
LoadPalette("Nlevels\\cutl6.pal");
|
||||
progress_id = 1;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut4.CEL", NULL);
|
||||
|
|
@ -199,7 +183,6 @@ static void InitCutscene(unsigned int uMsg)
|
|||
LoadPalette("Gendata\\Cuttt.pal");
|
||||
progress_id = 1;
|
||||
break;
|
||||
#ifdef HELLFIRE
|
||||
case DTYPE_CATHEDRAL:
|
||||
if (plr[myplr].plrlevel < 17) {
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cutl1d.CEL", NULL);
|
||||
|
|
@ -211,26 +194,21 @@ static void InitCutscene(unsigned int uMsg)
|
|||
progress_id = 1;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case DTYPE_CATACOMBS:
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut2.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cut2.pal");
|
||||
progress_id = 2;
|
||||
break;
|
||||
case DTYPE_CAVES:
|
||||
#ifdef HELLFIRE
|
||||
if (plr[myplr].plrlevel < 17) {
|
||||
#endif
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut3.CEL", NULL);
|
||||
LoadPalette("Gendata\\Cut3.pal");
|
||||
progress_id = 1;
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
sgpBackCel = LoadFileInMem("Nlevels\\Cutl6.CEL", NULL);
|
||||
LoadPalette("Nlevels\\Cutl6.pal");
|
||||
progress_id = 1;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case DTYPE_HELL:
|
||||
sgpBackCel = LoadFileInMem("Gendata\\Cut4.CEL", NULL);
|
||||
|
|
|
|||
|
|
@ -1698,7 +1698,6 @@ void RemoveInvItem(int pnum, int iv)
|
|||
CalcPlrScrolls(pnum);
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
/**
|
||||
* @brief This destroyes all items except gold
|
||||
*/
|
||||
|
|
@ -1739,7 +1738,6 @@ BOOL inv_diablo_to_hellfire(int pnum)
|
|||
CalcPlrItemVals(pnum, FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
void RemoveSpdBarItem(int pnum, int iv)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,9 +27,7 @@ int SwapItem(ItemStruct *a, ItemStruct *b);
|
|||
void CheckInvSwap(int pnum, BYTE bLoc, int idx, WORD wCI, int seed, BOOL bId);
|
||||
void inv_update_rem_item(int pnum, BYTE iv);
|
||||
void RemoveInvItem(int pnum, int iv);
|
||||
#ifdef HELLFIRE
|
||||
BOOL inv_diablo_to_hellfire(int pnum);
|
||||
#endif
|
||||
void RemoveSpdBarItem(int pnum, int iv);
|
||||
void CheckInvItem();
|
||||
void CheckInvScrn();
|
||||
|
|
|
|||
|
|
@ -4,9 +4,7 @@
|
|||
* Implementation of item functionality.
|
||||
*/
|
||||
#include "all.h"
|
||||
#ifdef HELLFIRE
|
||||
#include "../3rdParty/Storm/Source/storm.h"
|
||||
#endif
|
||||
|
||||
DEVILUTION_BEGIN_NAMESPACE
|
||||
|
||||
|
|
@ -18,20 +16,15 @@ ItemGetRecordStruct itemrecord[MAXITEMS];
|
|||
/** Contains the items on ground in the current game. */
|
||||
ItemStruct item[MAXITEMS + 1];
|
||||
BOOL itemhold[3][3];
|
||||
#ifdef HELLFIRE
|
||||
CornerStoneStruct CornerStone;
|
||||
#endif
|
||||
BYTE *itemanims[ITEMTYPES];
|
||||
BOOL UniqueItemFlag[128];
|
||||
#ifdef HELLFIRE
|
||||
int auricGold = 10000;
|
||||
#endif
|
||||
int numitems;
|
||||
int gnNumGetRecords;
|
||||
|
||||
/* data */
|
||||
|
||||
#ifdef HELLFIRE
|
||||
int OilLevels[] = { 1, 10, 1, 10, 4, 1, 5, 17, 1, 10 };
|
||||
int OilValues[] = { 500, 2500, 500, 2500, 1500, 100, 2500, 15000, 500, 2500 };
|
||||
int OilMagic[] = {
|
||||
|
|
@ -59,7 +52,6 @@ char OilNames[10][25] = {
|
|||
"Oil of Imperviousness"
|
||||
};
|
||||
int MaxGold = GOLD_MAX_LIMIT;
|
||||
#endif
|
||||
|
||||
/** Maps from item_cursor_graphic to in-memory item type. */
|
||||
BYTE ItemCAnimTbl[] = {
|
||||
|
|
@ -299,9 +291,7 @@ int ItemInvSnds[] = {
|
|||
IS_ILARM,
|
||||
#endif
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
char *off_4A5AC4 = "SItem";
|
||||
#endif
|
||||
/** Specifies the current Y-coordinate used for validation of items on ground. */
|
||||
int idoppely = 16;
|
||||
/** Maps from Griswold premium item number to a quality level delta as added to the base quality level. */
|
||||
|
|
@ -331,7 +321,6 @@ int premiumlvladd[SMITH_PREMIUM_ITEMS] = {
|
|||
// clang-format on
|
||||
};
|
||||
|
||||
#ifdef HELLFIRE
|
||||
int get_ring_max_value(int i)
|
||||
{
|
||||
int j, res;
|
||||
|
|
@ -518,7 +507,6 @@ int items_get_currlevel()
|
|||
|
||||
return lvl;
|
||||
}
|
||||
#endif
|
||||
|
||||
void InitItemGFX()
|
||||
{
|
||||
|
|
@ -599,7 +587,6 @@ void AddInitItems()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
static void items_42390F()
|
||||
{
|
||||
int x, y, id;
|
||||
|
|
@ -623,7 +610,6 @@ static void items_42390F()
|
|||
}
|
||||
SpawnQuestItem(id, x, y, 0, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
void InitItems()
|
||||
{
|
||||
|
|
@ -785,8 +771,8 @@ void CalcPlrItemVals(int p, BOOL Loadgfx)
|
|||
|
||||
#ifdef HELLFIRE
|
||||
if (plr[p]._pClass == PC_MONK) {
|
||||
mind = max(mind, plr[p]._pLevel >> 1);
|
||||
maxd = max(maxd, plr[p]._pLevel);
|
||||
mind = std::max(mind, plr[p]._pLevel >> 1);
|
||||
maxd = std::max(maxd, (int)plr[p]._pLevel);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
@ -1865,7 +1851,6 @@ void GetStaffSpell(int i, int lvl, BOOL onlygood)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
void GetOilType(int i, int max_lvl)
|
||||
{
|
||||
int cnt, t, j, r;
|
||||
|
|
@ -1894,7 +1879,6 @@ void GetOilType(int i, int max_lvl)
|
|||
item[i]._ivalue = OilValues[t];
|
||||
item[i]._iIvalue = OilValues[t];
|
||||
}
|
||||
#endif
|
||||
|
||||
void GetItemAttrs(int i, int idata, int lvl)
|
||||
{
|
||||
|
|
@ -3232,7 +3216,6 @@ void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch,
|
|||
item[ii]._iSeed = iseed;
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
void items_427A72()
|
||||
{
|
||||
PkItemStruct id;
|
||||
|
|
@ -3284,7 +3267,6 @@ void items_427ABA(int x, int y)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag)
|
||||
{
|
||||
|
|
@ -3372,7 +3354,6 @@ void SpawnRock()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
void SpawnRewardItem(int itemid, int xx, int yy)
|
||||
{
|
||||
int i;
|
||||
|
|
@ -3408,7 +3389,6 @@ void SpawnTheodore(int xx, int yy)
|
|||
{
|
||||
SpawnRewardItem(IDI_THEODORE, xx, yy);
|
||||
}
|
||||
#endif
|
||||
|
||||
void RespawnItem(int i, BOOL FlipFlag)
|
||||
{
|
||||
|
|
@ -3498,13 +3478,7 @@ void ProcessItems()
|
|||
|
||||
void FreeItemGFX()
|
||||
{
|
||||
#ifdef HELLFIRE
|
||||
DWORD i;
|
||||
#else
|
||||
int i;
|
||||
#endif
|
||||
|
||||
for (i = 0; i < ITEMTYPES; i++) {
|
||||
for (int i = 0; i < ITEMTYPES; i++) {
|
||||
MemFreeDbg(itemanims[i]);
|
||||
}
|
||||
}
|
||||
|
|
@ -3640,7 +3614,6 @@ void DoRecharge(int pnum, int cii)
|
|||
SetCursor_(CURSOR_HAND);
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
static BOOL OilItem(ItemStruct *x, PlayerStruct *p)
|
||||
{
|
||||
int dur, r;
|
||||
|
|
@ -3774,7 +3747,6 @@ void DoOil(int pnum, int cii)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void PrintItemOil(char IDidx)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,16 +17,11 @@ extern BOOL uitemflag;
|
|||
extern int itemavail[MAXITEMS];
|
||||
extern ItemGetRecordStruct itemrecord[MAXITEMS];
|
||||
extern ItemStruct item[MAXITEMS + 1];
|
||||
#ifdef HELLFIRE
|
||||
extern CornerStoneStruct CornerStone;
|
||||
#endif
|
||||
extern BOOL UniqueItemFlag[128];
|
||||
#ifdef HELLFIRE
|
||||
extern int auricGold;
|
||||
#endif
|
||||
extern int numitems;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
int get_ring_max_value(int i);
|
||||
int get_bow_max_value(int i);
|
||||
int get_staff_max_value(int i);
|
||||
|
|
@ -37,7 +32,6 @@ int get_armor_max_value(int i);
|
|||
int get_mace_max_value(int i);
|
||||
int get_amulet_max_value(int i);
|
||||
int get_axe_max_value(int i);
|
||||
#endif
|
||||
void InitItemGFX();
|
||||
void InitItems();
|
||||
void CalcPlrItemVals(int p, BOOL Loadgfx);
|
||||
|
|
@ -64,18 +58,14 @@ void CreateRndUseful(int pnum, 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);
|
||||
void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff);
|
||||
#ifdef HELLFIRE
|
||||
void items_427A72();
|
||||
void items_427ABA(int x, int y);
|
||||
#endif
|
||||
void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag);
|
||||
void SpawnRock();
|
||||
#ifdef HELLFIRE
|
||||
void SpawnRewardItem(int itemid, int xx, int yy);
|
||||
void SpawnMapOfDoom(int xx, int yy);
|
||||
void SpawnRuneBomb(int xx, int yy);
|
||||
void SpawnTheodore(int xx, int yy);
|
||||
#endif
|
||||
void RespawnItem(int i, BOOL FlipFlag);
|
||||
void DeleteItem(int ii, int i);
|
||||
void ProcessItems();
|
||||
|
|
@ -85,9 +75,7 @@ void GetItemStr(int i);
|
|||
void CheckIdentify(int pnum, int cii);
|
||||
void DoRepair(int pnum, int cii);
|
||||
void DoRecharge(int pnum, int cii);
|
||||
#ifdef HELLFIRE
|
||||
void DoOil(int pnum, int cii);
|
||||
#endif
|
||||
void PrintItemPower(char plidx, ItemStruct *x);
|
||||
void DrawUniqueInfo();
|
||||
void PrintItemDetails(ItemStruct *x);
|
||||
|
|
@ -120,9 +108,7 @@ void PutItemRecord(int nSeed, WORD wCI, int nIndex);
|
|||
|
||||
/* data */
|
||||
|
||||
#ifdef HELLFIRE
|
||||
extern int MaxGold;
|
||||
#endif
|
||||
|
||||
extern BYTE ItemCAnimTbl[];
|
||||
extern int ItemInvSnds[];
|
||||
|
|
|
|||
|
|
@ -919,7 +919,6 @@ void MakeLightTable()
|
|||
}
|
||||
tbl += 224;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel >= 17) {
|
||||
tbl = pLightTbl;
|
||||
for (i = 0; i < lights; i++) {
|
||||
|
|
@ -933,7 +932,6 @@ void MakeLightTable()
|
|||
*tbl++ = 1;
|
||||
tbl += 240;
|
||||
}
|
||||
#endif
|
||||
|
||||
trn = LoadFileInMem("PlrGFX\\Infra.TRN", NULL);
|
||||
for (i = 0; i < 256; i++) {
|
||||
|
|
@ -984,7 +982,6 @@ void MakeLightTable()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel >= 17) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
fa = (sqrt((double)(16 - j))) / 128;
|
||||
|
|
@ -999,7 +996,6 @@ void MakeLightTable()
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
for (j = 0; j < 8; j++) {
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (k = 0; k < 16; k++) {
|
||||
|
|
|
|||
|
|
@ -320,7 +320,6 @@ const char *const ObjMasterLoadList[] = {
|
|||
"Mushptch",
|
||||
"LzStand"
|
||||
};
|
||||
#ifdef HELLFIRE
|
||||
/** Maps from object_graphic_id to object CEL name (Hellfire Crypt overwrite). */
|
||||
char *ObjCryptLoadList[] = {
|
||||
"L1Braz",
|
||||
|
|
@ -439,6 +438,5 @@ char *ObjHiveLoadList[] = {
|
|||
"Mushptch",
|
||||
"LzStand",
|
||||
};
|
||||
#endif
|
||||
|
||||
DEVILUTION_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -15,10 +15,8 @@ extern "C" {
|
|||
extern int ObjTypeConv[];
|
||||
extern ObjDataStruct AllObjects[];
|
||||
extern const char *const ObjMasterLoadList[];
|
||||
#ifdef HELLFIRE
|
||||
extern char *ObjCryptLoadList[];
|
||||
extern char *ObjHiveLoadList[];
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -198,7 +198,6 @@ const char *const StoryBookName[] = {
|
|||
"The Realms Beyond",
|
||||
"Tale of the Three",
|
||||
"The Black King",
|
||||
#ifdef HELLFIRE
|
||||
"Journal: The Ensorcellment",
|
||||
"Journal: The Meeting",
|
||||
"Journal: The Tirade",
|
||||
|
|
@ -206,7 +205,6 @@ const char *const StoryBookName[] = {
|
|||
"Journal: NA-KRUL",
|
||||
"Journal: The End",
|
||||
"A Spellbook",
|
||||
#endif
|
||||
};
|
||||
/** Specifies the speech IDs of each dungeon type narrator book, for each player class. */
|
||||
int StoryText[3][3] = {
|
||||
|
|
@ -223,22 +221,15 @@ void InitObjectGFX()
|
|||
|
||||
memset(fileload, FALSE, sizeof(fileload));
|
||||
|
||||
#ifdef HELLFIRE
|
||||
int lvl = currlevel;
|
||||
if (currlevel >= 21 && currlevel <= 24)
|
||||
lvl -= 20;
|
||||
else if (currlevel >= 17 && currlevel <= 20)
|
||||
lvl -= 8;
|
||||
#endif
|
||||
for (i = 0; AllObjects[i].oload != -1; i++) {
|
||||
if (AllObjects[i].oload == 1
|
||||
#ifdef HELLFIRE
|
||||
&& (int)lvl >= AllObjects[i].ominlvl
|
||||
&& (int)lvl <= AllObjects[i].omaxlvl) {
|
||||
#else
|
||||
&& (int)currlevel >= AllObjects[i].ominlvl
|
||||
&& (int)currlevel <= AllObjects[i].omaxlvl) {
|
||||
#endif
|
||||
fileload[AllObjects[i].ofindex] = TRUE;
|
||||
}
|
||||
if (AllObjects[i].otheme != THEME_NONE) {
|
||||
|
|
@ -258,12 +249,10 @@ void InitObjectGFX()
|
|||
if (fileload[i]) {
|
||||
ObjFileList[numobjfiles] = i;
|
||||
sprintf(filestr, "Objects\\%s.CEL", ObjMasterLoadList[i]);
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel >= 17 && currlevel < 21)
|
||||
sprintf(filestr, "Objects\\%s.CEL", ObjHiveLoadList[i]);
|
||||
else if (currlevel >= 21)
|
||||
sprintf(filestr, "Objects\\%s.CEL", ObjCryptLoadList[i]);
|
||||
#endif
|
||||
pObjCels[numobjfiles] = LoadFileInMem(filestr, NULL);
|
||||
numobjfiles++;
|
||||
}
|
||||
|
|
@ -567,7 +556,6 @@ void AddL1Objs(int x1, int y1, int x2, int y2)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
void add_crypt_objs(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
int i, j, pn;
|
||||
|
|
@ -583,7 +571,6 @@ void add_crypt_objs(int x1, int y1, int x2, int y2)
|
|||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
void AddL2Objs(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
int i, j, pn;
|
||||
|
|
@ -1429,11 +1416,7 @@ void AddShrine(int i)
|
|||
{
|
||||
int val;
|
||||
DIABOOL slist[NUM_SHRINETYPE];
|
||||
#ifdef HELLFIRE
|
||||
unsigned int j;
|
||||
#else
|
||||
int j;
|
||||
#endif
|
||||
object[i]._oPreFlag = TRUE;
|
||||
for (j = 0; j < NUM_SHRINETYPE; j++) {
|
||||
if (currlevel < shrinemin[j] || currlevel > shrinemax[j]) {
|
||||
|
|
@ -1566,17 +1549,9 @@ void AddStoryBook(int i)
|
|||
object[i]._oVar1 = random_(0, 3);
|
||||
if (currlevel == 4)
|
||||
object[i]._oVar2 = StoryText[object[i]._oVar1][0];
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel == 8)
|
||||
#else
|
||||
else if (currlevel == 8)
|
||||
#endif
|
||||
object[i]._oVar2 = StoryText[object[i]._oVar1][1];
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel == 12)
|
||||
#else
|
||||
else if (currlevel == 12)
|
||||
#endif
|
||||
object[i]._oVar2 = StoryText[object[i]._oVar1][2];
|
||||
object[i]._oVar3 = (currlevel >> 2) + 3 * object[i]._oVar1 - 1;
|
||||
object[i]._oAnimFrame = 5 - 2 * object[i]._oVar1;
|
||||
|
|
@ -2986,14 +2961,12 @@ void OperateLever(int pnum, int i)
|
|||
}
|
||||
}
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel == 24) {
|
||||
operate_lv24_lever();
|
||||
IsUberLeverActivated = 1;
|
||||
mapflag = FALSE;
|
||||
quests[Q_NAKRUL]._qactive = 3;
|
||||
}
|
||||
#endif
|
||||
if (mapflag)
|
||||
ObjChangeMap(object[i]._oVar1, object[i]._oVar2, object[i]._oVar3, object[i]._oVar4);
|
||||
if (pnum == myplr)
|
||||
|
|
@ -5230,13 +5203,11 @@ void GetObjectStr(int i)
|
|||
break;
|
||||
case OBJ_BARREL:
|
||||
case OBJ_BARRELEX:
|
||||
#ifdef HELLFIRE
|
||||
if (currlevel > 16 && currlevel < 21) // for hive levels
|
||||
strcpy(infostr, "Pod"); //Then a barrel is called a pod
|
||||
else if (currlevel > 20 && currlevel < 25) // for crypt levels
|
||||
strcpy(infostr, "Urn"); //Then a barrel is called an urn
|
||||
else
|
||||
#endif
|
||||
strcpy(infostr, "Barrel");
|
||||
break;
|
||||
case OBJ_SKELBOOK:
|
||||
|
|
|
|||
|
|
@ -29,11 +29,9 @@ void SetBookMsg(int i, int msg);
|
|||
void GetRndObjLoc(int randarea, int *xx, int *yy);
|
||||
void AddMushPatch();
|
||||
void AddSlainHero();
|
||||
#ifdef HELLFIRE
|
||||
void objects_44D8C5(int ot, int v2, int ox, int oy);
|
||||
void objects_44DA68(int a1, int a2);
|
||||
void objects_454AF0(int a1, int a2, int a3);
|
||||
#endif
|
||||
void AddObject(int ot, int ox, int oy);
|
||||
void Obj_Trap(int i);
|
||||
void ProcessObjects();
|
||||
|
|
|
|||
|
|
@ -14,10 +14,8 @@ extern "C" {
|
|||
|
||||
void PackPlayer(PkPlayerStruct *pPack, int pnum, BOOL manashield);
|
||||
void UnPackPlayer(PkPlayerStruct *pPack, int pnum, BOOL killok);
|
||||
#ifdef HELLFIRE
|
||||
void PackItem(PkItemStruct *id, ItemStruct *is);
|
||||
void UnPackItem(PkItemStruct *is, ItemStruct *id);
|
||||
#endif
|
||||
|
||||
/* rdata */
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ void LoadRndLvlPal(int l)
|
|||
} else {
|
||||
rv = random_(0, 4) + 1;
|
||||
sprintf(szFileName, "Levels\\L%iData\\L%i_%i.PAL", l, l, rv);
|
||||
#ifdef HELLFIRE
|
||||
if (l == 5) {
|
||||
sprintf(szFileName, "NLevels\\L5Data\\L5Base.PAL");
|
||||
}
|
||||
|
|
@ -125,7 +124,6 @@ void LoadRndLvlPal(int l)
|
|||
}
|
||||
sprintf(szFileName, "NLevels\\L%iData\\L%iBase%i.PAL", 6, 6, rv);
|
||||
}
|
||||
#endif
|
||||
LoadPalette(szFileName);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,10 +31,8 @@ void SetFadeLevel(DWORD fadeval);
|
|||
void PaletteFadeIn(int fr);
|
||||
void PaletteFadeOut(int fr);
|
||||
void palette_update_caves();
|
||||
#ifdef HELLFIRE
|
||||
void palette_update_crypt();
|
||||
void palette_update_hive();
|
||||
#endif
|
||||
void palette_update_quest_palette(int n);
|
||||
BOOL palette_get_color_cycling();
|
||||
BOOL palette_set_color_cycling(BOOL enabled);
|
||||
|
|
|
|||
|
|
@ -4614,7 +4614,6 @@ void PlayDungMsgs()
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
int get_max_strength(int i)
|
||||
{
|
||||
return MaxStats[i][ATTRIB_STR];
|
||||
|
|
@ -4629,6 +4628,5 @@ int get_max_dexterity(int i)
|
|||
{
|
||||
return MaxStats[i][ATTRIB_DEX];
|
||||
}
|
||||
#endif
|
||||
|
||||
DEVILUTION_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -207,16 +207,13 @@ static void scrollrt_draw_cursor_item()
|
|||
if (!plr[myplr].HoldItem._iStatFlag) {
|
||||
col = PAL16_RED + 5;
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
if (pcurs <= 179) {
|
||||
#endif
|
||||
CelBlitOutline(col, mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW);
|
||||
if (col != PAL16_RED + 5) {
|
||||
CelClippedDrawSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW);
|
||||
} else {
|
||||
CelDrawLightRedSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 1);
|
||||
}
|
||||
#ifdef HELLFIRE
|
||||
} else {
|
||||
CelBlitOutline(col, mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels2, pcurs - 179, cursW);
|
||||
if (col != PAL16_RED + 5) {
|
||||
|
|
@ -225,7 +222,6 @@ static void scrollrt_draw_cursor_item()
|
|||
CelDrawLightRedSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels2, pcurs - 179, cursW, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
CelClippedDrawSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -200,11 +200,7 @@ static void sync_monster(int pnum, const TSyncMonster *p)
|
|||
|
||||
ndx = p->_mndx;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (monster[ndx]._mhitpoints <= 0) {
|
||||
#else
|
||||
if (monster[ndx]._mhitpoints == 0) {
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -513,7 +513,6 @@ const TextDataStruct alltext[] = {
|
|||
1, 3, PS_NAR9 },
|
||||
{ "Thank goodness you've returned!\nMuch has changed since you lived here, my friend. All was peaceful until the dark riders came and destroyed our village. Many were cut down where they stood, and those who took up arms were slain or dragged away to become slaves - or worse. The church at the edge of town has been desecrated and is being used for dark rituals. The screams that echo in the night are inhuman, but some of our townsfolk may yet survive. Follow the path that lies between my tavern and the blacksmith shop to find the church and save who you can. \n \nPerhaps I can tell you more if we speak again. Good luck.|",
|
||||
1, 5, TSFX_TAVERN0 },
|
||||
#ifdef HELLFIRE
|
||||
{ "Beyond the Hall of Heroes lies the Chamber of Bone. Eternal death awaits any who would seek to steal the treasures secured within this room. So speaks the Lord of Terror, and so it is written. |",
|
||||
1, 5, PS_MONK1 },
|
||||
{ "...and so, locked beyond the Gateway of Blood and past the Hall of Fire, Valor awaits for the Hero of Light to awaken... |",
|
||||
|
|
@ -646,7 +645,6 @@ const TextDataStruct alltext[] = {
|
|||
{ "In Spiritu Sanctum. |", 1, 5, PS_ROGUE54 },
|
||||
{ "Praedictum Otium. |", 1, 5, PS_ROGUE55 },
|
||||
{ "Efficio Obitus Ut Inimicus. |", 1, 5, PS_ROGUE56 },
|
||||
#endif
|
||||
};
|
||||
/** unused */
|
||||
const DWORD gdwAllTextEntries = 259;
|
||||
|
|
|
|||
|
|
@ -494,11 +494,7 @@ void HoldThemeRooms()
|
|||
void PlaceThemeMonsts(int t, int f)
|
||||
{
|
||||
int xp, yp;
|
||||
#ifdef HELLFIRE
|
||||
int scattertypes[138];
|
||||
#else
|
||||
int scattertypes[111];
|
||||
#endif
|
||||
int numscattypes, mtype, i;
|
||||
|
||||
numscattypes = 0;
|
||||
|
|
|
|||
|
|
@ -152,7 +152,6 @@ BOOL SFileOpenFile(const char *filename, HANDLE *phFile)
|
|||
result = SFileOpenFileEx((HANDLE)0, path.c_str(), 0xFFFFFFFF, phFile);
|
||||
}
|
||||
|
||||
#ifdef HELLFIRE
|
||||
if (!result) {
|
||||
result = SFileOpenFileEx((HANDLE)hfopt2_mpq, filename, 0, phFile);
|
||||
}
|
||||
|
|
@ -177,7 +176,6 @@ BOOL SFileOpenFile(const char *filename, HANDLE *phFile)
|
|||
if (!result) {
|
||||
result = SFileOpenFileEx((HANDLE)hellfire_mpq, filename, 0, phFile);
|
||||
}
|
||||
#endif
|
||||
if (!result && patch_rt_mpq) {
|
||||
result = SFileOpenFileEx((HANDLE)patch_rt_mpq, filename, 0, phFile);
|
||||
}
|
||||
|
|
|
|||
6
enums.h
6
enums.h
|
|
@ -203,9 +203,7 @@ typedef enum item_cursor_graphic {
|
|||
ICURS_EAR_WARRIOR = 20,
|
||||
ICURS_EAR_ROGUE = 21,
|
||||
ICURS_BLOOD_STONE = 25,
|
||||
#ifdef HELLFIRE
|
||||
ICURS_OIL = 30,
|
||||
#endif
|
||||
ICURS_ELIXIR_OF_VITALITY = 31,
|
||||
ICURS_POTION_OF_HEALING = 32,
|
||||
ICURS_POTION_OF_FULL_REJUVENATION = 33,
|
||||
|
|
@ -1521,7 +1519,6 @@ typedef enum missile_graphic_id {
|
|||
MFILE_SCBSEXPC,
|
||||
MFILE_SCUBMISD,
|
||||
MFILE_SCBSEXPD,
|
||||
#ifdef HELLFIRE
|
||||
MFILE_SPAWNS,
|
||||
MFILE_REFLECT,
|
||||
MFILE_LICH,
|
||||
|
|
@ -1535,7 +1532,6 @@ typedef enum missile_graphic_id {
|
|||
MFILE_BONEDEMON,
|
||||
MFILE_EXORA1,
|
||||
MFILE_EXBL3,
|
||||
#endif
|
||||
MFILE_NULL,
|
||||
MFILE_NONE = 0xFF, // BUGFIX: should be `MFILE_NONE = MFILE_SCBSEXPD+1`, i.e. MFILE_NULL, since there would otherwise be an out-of-bounds in SetMissAnim when accessing misfiledata for any of the missiles that have MFILE_NONE as mFileNum in missiledata.
|
||||
} missile_graphic_id;
|
||||
|
|
@ -2761,9 +2757,7 @@ typedef enum _mainmenu_selections {
|
|||
MAINMENU_SINGLE_PLAYER = 1,
|
||||
MAINMENU_MULTIPLAYER,
|
||||
MAINMENU_REPLAY_INTRO,
|
||||
#ifdef HELLFIRE
|
||||
MAINMENU_SHOW_SUPPORT,
|
||||
#endif
|
||||
MAINMENU_SHOW_CREDITS,
|
||||
MAINMENU_EXIT_DIABLO,
|
||||
MAINMENU_ATTRACT_MODE,
|
||||
|
|
|
|||
|
|
@ -536,13 +536,8 @@ typedef struct CMonster {
|
|||
TSnd *Snds[4][2];
|
||||
int width;
|
||||
int width2;
|
||||
#ifdef HELLFIRE
|
||||
int mMinHP;
|
||||
int mMaxHP;
|
||||
#else
|
||||
unsigned char mMinHP;
|
||||
unsigned char mMaxHP;
|
||||
#endif
|
||||
BOOL has_special;
|
||||
unsigned char mAFNum;
|
||||
char mdeadval;
|
||||
|
|
@ -868,13 +863,11 @@ typedef struct TCmdDamage {
|
|||
DWORD dwDam;
|
||||
} TCmdDamage;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
typedef struct TCmdMonDamage {
|
||||
BYTE bCmd;
|
||||
WORD wMon;
|
||||
DWORD dwDam;
|
||||
} TCmdMonDamage;
|
||||
#endif
|
||||
|
||||
typedef struct TCmdPlrInfoHdr {
|
||||
BYTE bCmd;
|
||||
|
|
@ -1050,14 +1043,12 @@ typedef struct QuestData {
|
|||
const char *_qlstr;
|
||||
} QuestData;
|
||||
|
||||
#ifdef HELLFIRE
|
||||
typedef struct CornerStoneStruct {
|
||||
int x;
|
||||
int y;
|
||||
BOOL activated;
|
||||
ItemStruct item;
|
||||
} CornerStoneStruct;
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// gamemenu/gmenu
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue