diff --git a/Source/inv.cpp b/Source/inv.cpp index cb10e2c08..d030c3103 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -2692,7 +2692,7 @@ int __fastcall InvPutItem(int pnum, int x, int y) v15 = itemavail[0]; dItem[xa][v5] = _LOBYTE(itemavail[0]) + 1; yc = v15; - v16 = &itemavail[-numitems + 126]; + v16 = &itemavail[MAXITEMS - numitems - 1]; itemactive[numitems] = v15; itemavail[0] = *v16; v17 = v15; @@ -2812,7 +2812,7 @@ int __fastcall SyncPutItem(int pnum, int x, int y, int idx, int icreateinfo, int v25 = itemavail[0]; ic = itemavail[0]; dItem[v13][v15] = _LOBYTE(itemavail[0]) + 1; - v26 = &itemavail[-numitems + 126]; + v26 = &itemavail[MAXITEMS - numitems - 1]; itemactive[numitems] = v25; itemavail[0] = *v26; if ( idx == IDI_EAR ) diff --git a/Source/items.cpp b/Source/items.cpp index d6d435bc5..bb96e4d5f 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -680,7 +680,7 @@ void __cdecl AddInitItems() { ii = itemavail[0]; itemactive[numitems] = itemavail[0]; - itemavail[0] = itemavail[-numitems + 126]; + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; do { xx = random(12, 80) + 16; @@ -2991,7 +2991,7 @@ void __fastcall SpawnUnique(int uid, int x, int y) GetSuperItemSpace(x, y, itemavail[0]); itype = 0; itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; if ( AllItemsList[0].iItemId != UniqueItemList[uid].UIItemId ) { @@ -3115,7 +3115,7 @@ LABEL_13: ii = itemavail[0]; GetSuperItemSpace(x, y, itemavail[0]); itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; if ( !monster[m]._uniqtype ) SetupAllItems(ii, idx, GetRndSeed(), monster[m].MData->mLevel, 1, onlygood, 0, 0); @@ -3140,7 +3140,7 @@ void __fastcall CreateItem(int uid, int x, int y) GetSuperItemSpace(x, y, itemavail[0]); idx = 0; itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; if ( AllItemsList[0].iItemId != UniqueItemList[uid].UIItemId ) { @@ -3174,7 +3174,7 @@ void __fastcall CreateRndItem(int x, int y, unsigned char onlygood, unsigned cha ii = itemavail[0]; GetSuperItemSpace(x, y, itemavail[0]); itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; SetupAllItems(ii, idx, GetRndSeed(), 2 * currlevel, 1, onlygood, 0, delta); if ( sendmsg ) @@ -3214,7 +3214,7 @@ void __fastcall CreateRndUseful(int pnum, int x, int y, unsigned char sendmsg) ii = itemavail[0]; GetSuperItemSpace(x, y, itemavail[0]); itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; SetupAllUseful(ii, GetRndSeed(), currlevel); if ( sendmsg ) @@ -3239,7 +3239,7 @@ void __fastcall CreateTypeItem(int x, int y, unsigned char onlygood, int itype, ii = itemavail[0]; GetSuperItemSpace(x, y, itemavail[0]); itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; SetupAllItems(ii, idx, GetRndSeed(), 2 * currlevel, 1, onlygood, 0, delta); if ( sendmsg ) @@ -3393,7 +3393,7 @@ LABEL_13: item[v13]._ix = x; itemactive[numitems] = v12; item[v13]._iy = y; - itemavail[0] = itemavail[-numitems + 126]; /* double check, MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; dItem[x][y] = v12 + 1; GetItemAttrs(v12, itemid, currlevel); SetupItem(v12); @@ -3443,7 +3443,7 @@ void __cdecl SpawnRock() v4 = itemavail[0]; v5 = v2; v6 = itemavail[0]; - v7 = &itemavail[-numitems + 126]; + v7 = &itemavail[MAXITEMS - numitems - 1]; itemactive[numitems] = itemavail[0]; v8 = object[v5]._ox; item[v6]._ix = v8; @@ -5548,7 +5548,7 @@ void __fastcall CreateMagicItem(int x, int y, int imisc, int icurs, int sendmsg, ii = itemavail[0]; GetSuperItemSpace(x, y, itemavail[0]); itemactive[numitems] = ii; - itemavail[0] = itemavail[-numitems + 126]; /* MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; idx = RndTypeItems(imisc, 0); do { diff --git a/Source/msg.cpp b/Source/msg.cpp index f1b7adf7b..b23c08b7f 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -786,7 +786,7 @@ void __cdecl DeltaLoadLevel() { v14 = itemavail[0]; v33 = itemavail[0]; - v15 = &itemavail[-numitems + 126]; + v15 = &itemavail[MAXITEMS - numitems - 1]; itemactive[numitems] = itemavail[0]; v16 = *(short *)((char *)&sgLevels[0].item[0].wIndx + v13); itemavail[0] = *v15; diff --git a/Source/player.cpp b/Source/player.cpp index a39872365..a5acbc8e6 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1671,7 +1671,7 @@ void __fastcall RespawnDeadItem(ItemStruct *itm, int x, int y) //v6 = 4 * numitems; itemactive[numitems] = v4; v4 *= 368; - itemavail[0] = itemavail[-numitems + 126]; /* double check, MAXITEMS */ + itemavail[0] = itemavail[MAXITEMS - numitems - 1]; qmemcpy((char *)item + v4, v3, sizeof(ItemStruct)); *(int *)((char *)&item[0]._ix + v4) = x; *(int *)((char *)&item[0]._iy + v4) = y;