Browse Source

Clean up ItemPlace (#683)

pull/44/head
Anders Jenbo 7 years ago committed by Robin Eklind
parent
commit
5ef1c76289
  1. 2
      Source/gendung.cpp
  2. 2
      Source/gendung.h
  3. 25
      Source/items.cpp
  4. 2
      Source/items.h

2
Source/gendung.cpp

@ -32,7 +32,7 @@ BOOLEAN nTrapTable[2049];
BYTE leveltype;
unsigned char currlevel; // idb
char TransList[256];
BYTE nSolidTable[2049];
BOOLEAN nSolidTable[2049];
int level_frame_count[2048];
ScrollStruct ScrollInfo;
void *pDungeonCels;

2
Source/gendung.h

@ -32,7 +32,7 @@ extern BOOLEAN nTrapTable[2049];
extern BYTE leveltype;
extern unsigned char currlevel; // idb
extern char TransList[256];
extern BYTE nSolidTable[2049];
extern BOOLEAN nSolidTable[2049];
extern int level_frame_count[2048];
extern ScrollStruct ScrollInfo;
extern void *pDungeonCels;

25
Source/items.cpp

@ -649,19 +649,22 @@ void __cdecl InitItemGFX()
memset(UniqueItemFlag, 0, sizeof(UniqueItemFlag));
}
BOOLEAN __fastcall ItemPlace(int xp, int yp)
BOOL __fastcall ItemPlace(int xp, int yp)
{
int v2; // ecx
int v3; // eax
BOOLEAN result; // al
if (dMonster[xp][yp])
return FALSE;
if (dPlayer[xp][yp])
return FALSE;
if (dItem[xp][yp])
return FALSE;
if (dObject[xp][yp])
return FALSE;
if (dFlags[xp][yp] & DFLAG_POPULATED)
return FALSE;
if (nSolidTable[dPiece[xp][yp]])
return FALSE;
v2 = xp;
v3 = v2 * 112 + yp;
if (dMonster[0][v3] || dPlayer[v2][yp] || dItem[v2][yp] || dObject[v2][yp] || dFlags[v2][yp] & DFLAG_POPULATED)
result = 0;
else
result = nSolidTable[dPiece[0][v3]] == 0;
return result;
return TRUE;
}
void __cdecl AddInitItems()

2
Source/items.h

@ -15,7 +15,7 @@ extern int numitems;
extern int gnNumGetRecords;
void __cdecl InitItemGFX();
BOOLEAN __fastcall ItemPlace(int xp, int yp);
BOOL __fastcall ItemPlace(int xp, int yp);
void __cdecl AddInitItems();
void __cdecl InitItems();
void __fastcall CalcPlrItemVals(int p, BOOL Loadgfx);

Loading…
Cancel
Save