Browse Source

[hellfire] SaveGame bin exact + enums

pull/876/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
9cf2354774
  1. 2
      Source/debug.cpp
  2. 8
      Source/items.cpp
  3. 11
      Source/loadsave.cpp
  4. 6
      Source/stores.cpp
  5. 6
      Source/stores.h
  6. 2
      defs.h

2
Source/debug.cpp

@ -116,7 +116,7 @@ void StoresCheat()
numpremium = 0;
for (i = 0; i < 6; i++)
for (i = 0; i < SMITH_PREMIUM_ITEMS; i++)
premiumitem[i]._itype = -1;
SpawnPremium(30);

8
Source/items.cpp

@ -3879,12 +3879,12 @@ void SpawnPremium(int lvl)
{
int i;
if (numpremium < 6) {
for (i = 0; i < 6; i++) {
if (numpremium < SMITH_PREMIUM_ITEMS) {
for (i = 0; i < SMITH_PREMIUM_ITEMS; i++) {
if (premiumitem[i]._itype == ITYPE_NONE)
SpawnOnePremium(i, premiumlevel + premiumlvladd[i]);
}
numpremium = 6;
numpremium = SMITH_PREMIUM_ITEMS;
}
while (premiumlevel < lvl) {
premiumlevel++;
@ -4316,7 +4316,7 @@ void RecalcStoreStats()
smithitem[i]._iStatFlag = StoreStatOk(&smithitem[i]);
}
}
for (i = 0; i < 6; i++) {
for (i = 0; i < SMITH_PREMIUM_ITEMS; i++) {
if (premiumitem[i]._itype != ITYPE_NONE) {
premiumitem[i]._iStatFlag = StoreStatOk(&premiumitem[i]);
}

11
Source/loadsave.cpp

@ -152,7 +152,7 @@ void LoadGame(BOOL firstflag)
numpremium = WLoad();
premiumlevel = WLoad();
for (i = 0; i < 6; i++)
for (i = 0; i < SMITH_PREMIUM_ITEMS; i++)
LoadPremium(i);
automapflag = OLoad();
@ -281,7 +281,11 @@ void SaveGame()
BYTE *SaveBuff = DiabloAllocPtr(dwLen);
tbuff = SaveBuff;
#ifdef HELLFIRE
ISave('HELF');
#else
ISave('RETL');
#endif
OSave(setlevel);
WSave(setlvlnum);
WSave(currlevel);
@ -300,6 +304,9 @@ void SaveGame()
WSave(gnLevelTypeTbl[i]);
}
#ifdef HELLFIRE
plr[myplr].pDifficulty = gnDifficulty;
#endif
SavePlayer(myplr);
for (i = 0; i < MAXQUESTS; i++)
@ -401,7 +408,7 @@ void SaveGame()
WSave(numpremium);
WSave(premiumlevel);
for (i = 0; i < 6; i++)
for (i = 0; i < SMITH_PREMIUM_ITEMS; i++)
SavePremium(i);
OSave(automapflag);

6
Source/stores.cpp

@ -5,11 +5,7 @@ int storenumh;
int stextlhold;
ItemStruct boyitem;
int stextshold;
#ifdef HELLFIRE
ItemStruct premiumitem[15];
#else
ItemStruct premiumitem[6];
#endif
ItemStruct premiumitem[SMITH_PREMIUM_ITEMS];
BYTE *pSTextBoxCels;
int premiumlevel;
int talker;

6
Source/stores.h

@ -7,11 +7,7 @@ extern int storenumh;
extern int stextlhold;
extern ItemStruct boyitem;
extern int stextshold;
#ifdef HELLFIRE
extern ItemStruct premiumitem[15];
#else
extern ItemStruct premiumitem[6];
#endif
extern ItemStruct premiumitem[SMITH_PREMIUM_ITEMS];
extern BYTE *pSTextBoxCels;
extern int premiumlevel;
extern int talker;

2
defs.h

@ -67,8 +67,10 @@
// todo: enums
#ifdef HELLFIRE
#define NUMLEVELS 25
#define SMITH_PREMIUM_ITEMS 15
#else
#define NUMLEVELS 17
#define SMITH_PREMIUM_ITEMS 6
#endif
// from diablo 2 beta

Loading…
Cancel
Save