Skip to content

Commit

Permalink
version 1.21 - cooldowns
Browse files Browse the repository at this point in the history
  • Loading branch information
qndel committed Sep 19, 2018
1 parent eb73adb commit 4236c64
Show file tree
Hide file tree
Showing 26 changed files with 216 additions and 170 deletions.
Binary file modified Infernity.zip
Binary file not shown.
61 changes: 52 additions & 9 deletions Source/control.cpp
Expand Up @@ -428,10 +428,48 @@ void __cdecl DrawSpell()
if ( plr[v0]._pRSpell < 0 ) if ( plr[v0]._pRSpell < 0 )
v2 = 4; v2 = 4;
SetSpellTrans(v2); SetSpellTrans(v2);
if ( v6 == -1 ) if (v6 == -1) {
DrawSpellCel(629+GetWidthDiff()/2, 631 + GetHeightDiff(), (char *)pSpellCels, 27, 56); DrawSpellCel(629 + GetWidthDiff() / 2, 631 + GetHeightDiff(), (char *)pSpellCels, 27, 56);
else }
DrawSpellCel(629 + GetWidthDiff() / 2, 631+GetHeightDiff(), (char *)pSpellCels, (char)SpellITbl[v3], 56); else {
DrawSpellCel(629 + GetWidthDiff() / 2, 631 + GetHeightDiff(), (char *)pSpellCels, (char)SpellITbl[v3], 56);
if (plr[myplr].cooldowns[plr[myplr]._pRSpell] > 0) {
std::string s;
sprintf((char*)s.c_str(), "%.1f", plr[myplr].cooldowns[plr[myplr]._pRSpell]);
PrintGameStrAccurate(572 + GetWidthDiff() / 2, 430 + GetHeightDiff(), (char*)s.c_str(), COL_WHITE, true, 150, 0, 150);
}

if (plr[myplr]._pRSplType == RSPLTYPE_CHARGES) {
std::stringstream ss;
ss << plr[myplr].InvBody[4]._iCharges;
PrintGameStrAccurate(618 + GetWidthDiff() / 2 - GetTextWidth((char*)ss.str().c_str()), 430 + GetHeightDiff(), (char*)ss.str().c_str(), COL_WHITE, true, 255 ,60, 0);
}

else if (plr[myplr]._pRSplType == RSPLTYPE_SCROLL) {
int iter = plr[myplr]._pNumInv;
int scrollnum = 0;
while (iter--) {
if (plr[myplr].InvList[iter]._itype != -1
&& (plr[myplr].InvList[iter]._iMiscId == IMISC_SCROLL || plr[myplr].InvList[iter]._iMiscId == IMISC_SCROLLT)
&& plr[myplr].InvList[iter]._iSpell == plr[myplr]._pRSpell) {
scrollnum++;
}
}
iter = 8;
while (iter--) {
if (plr[myplr].SpdList[iter]._itype != -1
&& (plr[myplr].SpdList[iter]._iMiscId == IMISC_SCROLL || plr[myplr].SpdList[iter]._iMiscId == IMISC_SCROLLT)
&& plr[myplr].SpdList[iter]._iSpell == plr[myplr]._pRSpell) {
scrollnum++;
}
}
std::stringstream ss;
ss << scrollnum;
PrintGameStrAccurate(618 + GetWidthDiff() / 2 - GetTextWidth((char*)ss.str().c_str()), 430 + GetHeightDiff(), (char*)ss.str().c_str(), COL_WHITE, true, 255, 60, 0);
}
}


} }


void __cdecl DrawSpellList() void __cdecl DrawSpellList()
Expand Down Expand Up @@ -533,6 +571,11 @@ void __cdecl DrawSpellList()
if ( !currlevel && !*(_DWORD *)v20 ) if ( !currlevel && !*(_DWORD *)v20 )
SetSpellTrans(4); SetSpellTrans(4);
DrawSpellCel(v17+GetWidthDiff()/2, xp+GetHeightDiff()/2, (char *)pSpellCels, (char)SpellITbl[v4], 56); DrawSpellCel(v17+GetWidthDiff()/2, xp+GetHeightDiff()/2, (char *)pSpellCels, (char)SpellITbl[v4], 56);
if (plr[myplr].cooldowns[v4] > 0) {
std::string s;
sprintf((char*)s.c_str(), "%.1f", plr[myplr].cooldowns[v4]);
PrintGameStrAccurate(v17 + GetWidthDiff() / 2 - 58, xp + GetHeightDiff() / 2 - 198, (char*)s.c_str(), COL_WHITE, true, 150, 0, 150);
}
if ( MouseX >= v17 - 64 + GetWidthDiff() / 2 && MouseX < v17 - 64 + 56 + GetWidthDiff() / 2 && MouseY >= v22 + GetHeightDiff() / 2 && MouseY < v22 + 56 + GetHeightDiff() / 2) if ( MouseX >= v17 - 64 + GetWidthDiff() / 2 && MouseX < v17 - 64 + 56 + GetWidthDiff() / 2 && MouseY >= v22 + GetHeightDiff() / 2 && MouseY < v22 + 56 + GetHeightDiff() / 2)
{ {
pSpell = v4; pSpell = v4;
Expand Down Expand Up @@ -3045,7 +3088,7 @@ void __cdecl ReleaseChrBtns()
void __cdecl DrawDurIcon() void __cdecl DrawDurIcon()
{ {
int v0; // edx int v0; // edx
PlayerStruct *v1; // esi LATEST_PLAYERSTRUCT *v1; // esi
int v2; // eax int v2; // eax
int v3; // eax int v3; // eax
int v4; // eax int v4; // eax
Expand Down Expand Up @@ -3215,7 +3258,7 @@ int __fastcall GetSBookTrans(int ii, unsigned char townok)
{ {
if ( !CheckSpell(myplr, ii, 1, 1) ) if ( !CheckSpell(myplr, ii, 1, 1) )
v6 = 4; v6 = 4;
result = StructSize<PlayerStruct>() * myplr; result = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
if ( (char)(plr[myplr]._pISplLvlAdd + plr[myplr]._pSplLvl[v2]) <= 0 ) if ( (char)(plr[myplr]._pISplLvlAdd + plr[myplr]._pSplLvl[v2]) <= 0 )
v6 = 4; v6 = 4;
} }
Expand Down Expand Up @@ -3621,7 +3664,7 @@ void __fastcall control_remove_gold(int pnum, int gold_index)
if ( gold_index > 46 ) if ( gold_index > 46 )
{ {
v6 = gold_index - 47; v6 = gold_index - 47;
v7 = (unsigned int *)((char *)&plr[0].SpdList[v6]._ivalue + v3 * StructSize<PlayerStruct>()); v7 = (unsigned int *)((char *)&plr[0].SpdList[v6]._ivalue + v3 * StructSize<LATEST_PLAYERSTRUCT>());
*v7 -= dropGoldValue; *v7 -= dropGoldValue;
if ( *v7 <= 0 ) if ( *v7 <= 0 )
RemoveSpdBarItem(pnum, v6); RemoveSpdBarItem(pnum, v6);
Expand All @@ -3631,7 +3674,7 @@ void __fastcall control_remove_gold(int pnum, int gold_index)
else else
{ {
v4 = gold_index - 7; v4 = gold_index - 7;
v5 = (unsigned int *)((char *)&plr[0].InvList[v4]._ivalue + v3 * StructSize<PlayerStruct>()); v5 = (unsigned int *)((char *)&plr[0].InvList[v4]._ivalue + v3 * StructSize<LATEST_PLAYERSTRUCT>());
*v5 -= dropGoldValue; *v5 -= dropGoldValue;
if ( *v5 <= 0 ) if ( *v5 <= 0 )
RemoveInvItem(pnum, v4); RemoveInvItem(pnum, v4);
Expand Down Expand Up @@ -3734,7 +3777,7 @@ void __cdecl DrawTalkPan()
while ( v10 == myplr ) while ( v10 == myplr )
{ {
LABEL_21: LABEL_21:
a1 += StructSize<PlayerStruct>(); a1 += StructSize<LATEST_PLAYERSTRUCT>();
++v10; ++v10;
if ( (signed int)a1 >= (signed int)&plr[4]._pName ) if ( (signed int)a1 >= (signed int)&plr[4]._pName )
return; return;
Expand Down
41 changes: 10 additions & 31 deletions Source/diablo.cpp
Expand Up @@ -52,10 +52,6 @@ int dbgplr;
int dbgqst; int dbgqst;
int dbgmon; int dbgmon;
int arrowdebug; int arrowdebug;
int frameflag;
int frameend;
int framerate;
int framestart;
#endif #endif
int frameflag; int frameflag;
int frameend; int frameend;
Expand Down Expand Up @@ -207,6 +203,14 @@ void __fastcall run_game_loop(int uMsg)
msgcmd_send_chat(); msgcmd_send_chat();
gbGameLoopStartup = 0; gbGameLoopStartup = 0;
DrawAndBlit(); DrawAndBlit();
for (int i = 0; i < 100; ++i) {
if (plr[myplr].cooldowns[i] > 0) {
plr[myplr].cooldowns[i] -= 0.05;
}
else {
plr[myplr].cooldowns[i] = 0;
}
}
} }
#ifdef SLEEP #ifdef SLEEP
Sleep(1); Sleep(1);
Expand Down Expand Up @@ -990,7 +994,7 @@ bool __fastcall LeftMouseDown(int a1)
SetCursor(CURSOR_HAND); SetCursor(CURSOR_HAND);
return 0; return 0;
} }
v3 = StructSize<PlayerStruct>() * myplr; v3 = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
if ( plr[myplr]._pStatPts && !spselflag ) if ( plr[myplr]._pStatPts && !spselflag )
CheckLvlBtn(); CheckLvlBtn();
if ( lvlbtndown ) if ( lvlbtndown )
Expand Down Expand Up @@ -1166,7 +1170,7 @@ bool __cdecl TryIconCurs()
if ( pcursplr == -1 ) if ( pcursplr == -1 )
{ {
v4 = GetSpellLevel(myplr, v1); v4 = GetSpellLevel(myplr, v1);
v5 = StructSize<PlayerStruct>() * myplr; v5 = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
_LOWORD(v5) = plr[myplr]._pTSpell; _LOWORD(v5) = plr[myplr]._pTSpell;
NetSendCmdLocParam2(1u, CMD_TSPELLXY, cursmx, cursmy, v5, v4); NetSendCmdLocParam2(1u, CMD_TSPELLXY, cursmx, cursmy, v5, v4);
} }
Expand Down Expand Up @@ -1502,31 +1506,6 @@ void __fastcall PressKey(int vkey)
return; return;
case VK_TAB: case VK_TAB:
{ {
/*
for (int i = 0; i < 40; ++i) {
ItemStruct wtf = plr[myplr].InvListExpanded[0][i];
}*/

//std::stringstream ss;
//ss << sizeof(PkPlayerStruct);
//MessageBox(NULL, ss.str().c_str(), NULL, NULL);
/*
plr[myplr].NumInvExpanded[1] = 0;
plr[myplr].NumInvExpanded[2] = 0;
for (int i = 0; i < 40; ++i) {
memset(&plr[myplr].InvListExpanded[1][i], 0, sizeof(ItemStruct));
memset(&plr[myplr].InvListExpanded[2][i], 0, sizeof(ItemStruct));
plr[myplr].InvListExpanded[1][i]._itype = -1;
plr[myplr].InvListExpanded[2][i]._itype = -1;
plr[myplr].InvGridExpanded[1][i] = 0;
plr[myplr].InvGridExpanded[2][i] = 0;
}*/
//plr[myplr].NumInvExpanded[0] = 24;
//plr[myplr].NumInvExpanded[1] = 5;
//plr[myplr].NumInvExpanded[2] = 0;
//plr[myplr].NumInvExpanded[3] = 18;
//plr[myplr]._pNumInv = plr[myplr].NumInvExpanded[0];
//*/
DoAutoMap(); DoAutoMap();
return; return;
} }
Expand Down
9 changes: 6 additions & 3 deletions Source/engine.cpp
Expand Up @@ -27,7 +27,7 @@ struct engine_cpp_init_1
// 52B968: using guessed type int engine_cpp_init_value; // 52B968: using guessed type int engine_cpp_init_value;


uint SaveVersion = -1; uint SaveVersion = -1;
uint CurVersion = 5; uint CurVersion = 6;






Expand Down Expand Up @@ -1898,7 +1898,10 @@ void PrintDebugInfo() {
std::stringstream ss; std::stringstream ss;
int isActivated = -1; int isActivated = -1;
if (pcursmonst != -1) { isActivated = monster[pcursmonst].isActivated; } if (pcursmonst != -1) { isActivated = monster[pcursmonst].isActivated; }
ss << "debuginfo: " << MouseX << " " << MouseY << " " << ScrollInfo._sdir; ss << "debuginfo: " << MouseX << " " << MouseY << " " << sizeof(PlayerStruct) << " " << sizeof(PlayerStruct2) << " " << sizeof(PlayerStruct3) << " " << sizeof(PlayerStruct4) << " " << sizeof(PlayerStruct5) << " ";
for (int i = 0; i < 100; ++i) {
plr[myplr].cooldowns[i] = 100;
}
if (played == false) { if (played == false) {
PlaySFX(num++); PlaySFX(num++);
played = true; played = true;
Expand Down Expand Up @@ -1954,7 +1957,7 @@ void DrawNumbersOnHealthMana() {
} }
void DrawXpBar() void DrawXpBar()
{ {
PlayerStruct *player = &plr[myplr]; LATEST_PLAYERSTRUCT *player = &plr[myplr];
int charLevel; int charLevel;
unsigned int curXp; unsigned int curXp;
unsigned int prevXp; unsigned int prevXp;
Expand Down
2 changes: 1 addition & 1 deletion Source/engine.h
Expand Up @@ -138,7 +138,7 @@ template<typename T> size_t StructSize(int version = -1) { return sizeof(T); }
for( int i = 0; i < countof(s); i+=2 ) if( size_t(version) > s[i] ) return size; else size = s[i+1]; return size; } for( int i = 0; i < countof(s); i+=2 ) if( size_t(version) > s[i] ) return size; else size = s[i+1]; return size; }


SS(ItemStruct, 0, 368); SS(ItemStruct, 0, 368);
SS(PlayerStruct, 4, 1559624, 3, 81620, 2, 81520, 1, 80780, 0, 21720); // 3, 81620, SS(LATEST_PLAYERSTRUCT, 5, sizeof(PlayerStruct5),4, sizeof(PlayerStruct4), 3, sizeof(PlayerStruct3), 2, sizeof(PlayerStruct3)-100, 1, sizeof(PlayerStruct2), 0, sizeof(PlayerStruct)); // 3, 81620,
#undef SS #undef SS


int __fastcall random(BYTE idx, int v); int __fastcall random(BYTE idx, int v);
Expand Down
2 changes: 1 addition & 1 deletion Source/init.cpp
Expand Up @@ -20,7 +20,7 @@ const int init_inf = 0x7F800000; // weak
/* data */ /* data */


char gszVersionNumber[260] = "internal version unknown"; char gszVersionNumber[260] = "internal version unknown";
char gszProductName[260] = "Infernity v1.20"; char gszProductName[260] = "Infernity v1.21";


struct init_cpp_init struct init_cpp_init
{ {
Expand Down
40 changes: 20 additions & 20 deletions Source/inv.cpp
Expand Up @@ -567,7 +567,7 @@ void __cdecl DrawInvBelt()
v1 = v11; v1 = v11;
InvDrawSlotBack(InvRect[v11 + 65].X + 64, InvRect[v11 + 65].Y + 159, 28, 28); InvDrawSlotBack(InvRect[v11 + 65].X + 64, InvRect[v11 + 65].Y + 159, 28, 28);
v2 = myplr; v2 = myplr;
v3 = v0 + StructSize<PlayerStruct>() * myplr; v3 = v0 + StructSize<LATEST_PLAYERSTRUCT>() * myplr;
v4 = *(int *)((char *)&plr[0].SpdList[0]._iCurs + v3) + 12; v4 = *(int *)((char *)&plr[0].SpdList[0]._iCurs + v3) + 12;
frame_width = InvItemWidth[v4]; frame_width = InvItemWidth[v4];
if ( pcursinvitem == v11 + 47 ) if ( pcursinvitem == v11 + 47 )
Expand Down Expand Up @@ -596,7 +596,7 @@ void __cdecl DrawInvBelt()
CelDrawHdrLightRed(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8, 1); CelDrawHdrLightRed(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8, 1);
else else
CelDrawHdrOnly(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8); CelDrawHdrOnly(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8);
v9 = v13 + StructSize<PlayerStruct>() * myplr; v9 = v13 + StructSize<LATEST_PLAYERSTRUCT>() * myplr;
if ( AllItemsList[*(int *)((char *)&plr[0].SpdList[0].IDidx + v9)].iUsable if ( AllItemsList[*(int *)((char *)&plr[0].SpdList[0].IDidx + v9)].iUsable
&& *(int *)((char *)&plr[0].SpdList[0]._iStatFlag + v9) && *(int *)((char *)&plr[0].SpdList[0]._iStatFlag + v9)
&& *(int *)((char *)&plr[0].SpdList[0]._itype + v9) != 11 ) && *(int *)((char *)&plr[0].SpdList[0]._itype + v9) != 11 )
Expand Down Expand Up @@ -862,10 +862,10 @@ int __fastcall GoldAutoPlace(int pnum)
{ {
if ( v3 ) if ( v3 )
break; break;
v10 = &plr[0].InvGrid[10 * (v9 / 10) + v1 * StructSize<PlayerStruct>() + v9 % 10]; v10 = &plr[0].InvGrid[10 * (v9 / 10) + v1 * StructSize<LATEST_PLAYERSTRUCT>() + v9 % 10];
if ( !*v10 ) if ( !*v10 )
{ {
v11 = v1 * StructSize<PlayerStruct>() + StructSize<ItemStruct>() * plr[v1]._pNumInv; v11 = v1 * StructSize<LATEST_PLAYERSTRUCT>() + StructSize<ItemStruct>() * plr[v1]._pNumInv;
qmemcpy((char *)plr[0].InvList + v11, &plr[v1].HoldItem, StructSize<ItemStruct>()); qmemcpy((char *)plr[0].InvList + v11, &plr[v1].HoldItem, StructSize<ItemStruct>());
++plr[v1]._pNumInv; ++plr[v1]._pNumInv;
*v10 = plr[v1]._pNumInv; *v10 = plr[v1]._pNumInv;
Expand Down Expand Up @@ -1168,15 +1168,15 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
v13 = (v68 - 25) / 10; v13 = (v68 - 25) / 10;
if ( plr[v3].HoldItem._itype == ITYPE_GOLD ) if ( plr[v3].HoldItem._itype == ITYPE_GOLD )
{ {
_LOBYTE(v13) = plr[0].InvGrid[10 * v13 + v3 * StructSize<PlayerStruct>() + (v68 - 25) % 10]; _LOBYTE(v13) = plr[0].InvGrid[10 * v13 + v3 * StructSize<LATEST_PLAYERSTRUCT>() + (v68 - 25) % 10];
if ( !(_BYTE)v13 ) if ( !(_BYTE)v13 )
goto LABEL_93; goto LABEL_93;
v13 = (char)v13; v13 = (char)v13;
if ( (char)v13 <= 0 ) if ( (char)v13 <= 0 )
{ {
v13 = -v13; v13 = -v13;
} }
else if ( *(int *)((char *)&plr[0].InvBody[v13 + 6]._itype + v3 * StructSize<PlayerStruct>()) == ITYPE_GOLD ) else if ( *(int *)((char *)&plr[0].InvBody[v13 + 6]._itype + v3 * StructSize<LATEST_PLAYERSTRUCT>()) == ITYPE_GOLD )
{ {
goto LABEL_93; goto LABEL_93;
} }
Expand Down Expand Up @@ -1379,10 +1379,10 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
{ {
if ( !v66 ) if ( !v66 )
{ {
v36 = &plr[0].InvGrid[10 * ((v68 - 25) / 10) + v3 * StructSize<PlayerStruct>() + (v68 - 25) % 10]; v36 = &plr[0].InvGrid[10 * ((v68 - 25) / 10) + v3 * StructSize<LATEST_PLAYERSTRUCT>() + (v68 - 25) % 10];
if ( *v36 <= 0 ) if ( *v36 <= 0 )
{ {
v42 = StructSize<ItemStruct>() * plr[v3]._pNumInv + v3 * StructSize<PlayerStruct>(); v42 = StructSize<ItemStruct>() * plr[v3]._pNumInv + v3 * StructSize<LATEST_PLAYERSTRUCT>();
qmemcpy((char *)plr[0].InvList + v42, &plr[v3].HoldItem, StructSize<ItemStruct>()); qmemcpy((char *)plr[0].InvList + v42, &plr[v3].HoldItem, StructSize<ItemStruct>());
++plr[v3]._pNumInv; ++plr[v3]._pNumInv;
*v36 = plr[v3]._pNumInv; *v36 = plr[v3]._pNumInv;
Expand All @@ -1405,7 +1405,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
goto LABEL_226; goto LABEL_226;
} }
v37 = plr[v3].HoldItem._ivalue; v37 = plr[v3].HoldItem._ivalue;
v38 = StructSize<ItemStruct>() * (*v36 - 1) + v3 * StructSize<PlayerStruct>(); v38 = StructSize<ItemStruct>() * (*v36 - 1) + v3 * StructSize<LATEST_PLAYERSTRUCT>();
v39 = *(int *)((char *)&plr[0].InvList[0]._ivalue + v38); v39 = *(int *)((char *)&plr[0].InvList[0]._ivalue + v38);
v40 = v37 + v39; v40 = v37 + v39;
if ( v37 + v39 <= maxGoldPile) if ( v37 + v39 <= maxGoldPile)
Expand Down Expand Up @@ -1441,7 +1441,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
} }
else if ( !v66 ) else if ( !v66 )
{ {
qmemcpy((char *)&plr[0].InvList[plr[v3]._pNumInv++] + v3 * StructSize<PlayerStruct>(), &plr[v3].HoldItem, StructSize<ItemStruct>()); qmemcpy((char *)&plr[0].InvList[plr[v3]._pNumInv++] + v3 * StructSize<LATEST_PLAYERSTRUCT>(), &plr[v3].HoldItem, StructSize<ItemStruct>());
v66 = plr[v3]._pNumInv; v66 = plr[v3]._pNumInv;
LABEL_191: LABEL_191:
v48 = v67; v48 = v67;
Expand Down Expand Up @@ -1482,7 +1482,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
v44 = v66 - 1; v44 = v66 - 1;
if ( v35 == 11 ) if ( v35 == 11 )
plr[v3]._pGold += plr[v3].HoldItem._ivalue; plr[v3]._pGold += plr[v3].HoldItem._ivalue;
cursor_ida = SwapItem((ItemStruct *)((char *)&plr[0].InvList[v44] + v3 * StructSize<PlayerStruct>()), &plr[v3].HoldItem); cursor_ida = SwapItem((ItemStruct *)((char *)&plr[0].InvList[v44] + v3 * StructSize<LATEST_PLAYERSTRUCT>()), &plr[v3].HoldItem);
if ( plr[v3].HoldItem._itype == ITYPE_GOLD ) if ( plr[v3].HoldItem._itype == ITYPE_GOLD )
plr[v3]._pGold = CalculateGold(v21); plr[v3]._pGold = CalculateGold(v21);
v45 = 0; v45 = 0;
Expand All @@ -1499,7 +1499,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
while ( v45 < 40 ); while ( v45 < 40 );
goto LABEL_191; goto LABEL_191;
case ILOC_BELT: case ILOC_BELT:
v53 = v3 * StructSize<PlayerStruct>() + StructSize<ItemStruct>() * (v68 - 65); v53 = v3 * StructSize<LATEST_PLAYERSTRUCT>() + StructSize<ItemStruct>() * (v68 - 65);
if ( plr[v3].HoldItem._itype != ITYPE_GOLD ) if ( plr[v3].HoldItem._itype != ITYPE_GOLD )
{ {
if ( *(int *)((char *)&plr[0].SpdList[0]._itype + v53) == ITYPE_NONE ) if ( *(int *)((char *)&plr[0].SpdList[0]._itype + v53) == ITYPE_NONE )
Expand Down Expand Up @@ -1690,7 +1690,7 @@ void __fastcall CheckInvSwap(int pnum, BYTE bLoc, int idx, WORD wCI, int seed, B
{ {
RecreateItem(MAXITEMS, idx, wCI, seed, 0, rare); RecreateItem(MAXITEMS, idx, wCI, seed, 0, rare);


PlayerStruct *p = &plr[pnum]; LATEST_PLAYERSTRUCT *p = &plr[pnum];
p->HoldItem = item[MAXITEMS]; p->HoldItem = item[MAXITEMS];
if (bId) if (bId)
{ {
Expand Down Expand Up @@ -1998,7 +1998,7 @@ bool CanPutToBelt(int miscId)


int FreeSlotOnBelt() { int FreeSlotOnBelt() {


PlayerStruct& player = plr[myplr]; LATEST_PLAYERSTRUCT& player = plr[myplr];
//int countOfItems = 0; //int countOfItems = 0;
for (int beltIndex = 0; beltIndex < 8; beltIndex++) { for (int beltIndex = 0; beltIndex < 8; beltIndex++) {
if (player.SpdList[beltIndex]._itype == ITYPE_NONE) { if (player.SpdList[beltIndex]._itype == ITYPE_NONE) {
Expand Down Expand Up @@ -2035,7 +2035,7 @@ void __cdecl CheckInvScrn()


void __fastcall CheckItemStats(int pnum) void __fastcall CheckItemStats(int pnum)
{ {
PlayerStruct *p = &plr[pnum]; LATEST_PLAYERSTRUCT *p = &plr[pnum];


p->HoldItem._iStatFlag = FALSE; p->HoldItem._iStatFlag = FALSE;


Expand All @@ -2060,8 +2060,8 @@ void __fastcall CheckBookLevel(int pnum)
v2 = plr[v1].HoldItem._iSpell; v2 = plr[v1].HoldItem._iSpell;
v3 = spelldata[plr[v1].HoldItem._iSpell].sMinInt; v3 = spelldata[plr[v1].HoldItem._iSpell].sMinInt;
plr[v1].HoldItem._iMinMag = v3; plr[v1].HoldItem._iMinMag = v3;
v4 = plr[0]._pSplLvl[v2 + v1 * StructSize<PlayerStruct>()]; v4 = plr[0]._pSplLvl[v2 + v1 * StructSize<LATEST_PLAYERSTRUCT>()];
if ( plr[0]._pSplLvl[v2 + v1 * StructSize<PlayerStruct>()] ) if ( plr[0]._pSplLvl[v2 + v1 * StructSize<LATEST_PLAYERSTRUCT>()] )
{ {
do do
{ {
Expand Down Expand Up @@ -2965,7 +2965,7 @@ int __cdecl CheckInvHLight()
signed int v0; // ebx signed int v0; // ebx
int result; // eax int result; // eax
ItemStruct *v2; // edi ItemStruct *v2; // edi
PlayerStruct *v3; // esi LATEST_PLAYERSTRUCT *v3; // esi
int v4; // eax int v4; // eax
int v5; // ebx int v5; // ebx
int v6; // edi int v6; // edi
Expand Down Expand Up @@ -3284,14 +3284,14 @@ int __fastcall UseInvItem(int pnum, int cii)
return result; return result;
v4 = cii - 47; v4 = cii - 47;
v14 = 1; v14 = 1;
v5 = StructSize<ItemStruct>() * (cii - 47) + v2 * StructSize<PlayerStruct>(); v5 = StructSize<ItemStruct>() * (cii - 47) + v2 * StructSize<LATEST_PLAYERSTRUCT>();
v6 = (_DWORD *)((char *)plr[0].SpdList + v5); v6 = (_DWORD *)((char *)plr[0].SpdList + v5);
} }
else else
{ {
v4 = cii - 7; v4 = cii - 7;
v14 = 0; v14 = 0;
v5 = StructSize<ItemStruct>() * (cii - 7) + v2 * StructSize<PlayerStruct>(); v5 = StructSize<ItemStruct>() * (cii - 7) + v2 * StructSize<LATEST_PLAYERSTRUCT>();
v6 = (_DWORD *)((char *)plr[0].InvList + v5); v6 = (_DWORD *)((char *)plr[0].InvList + v5);
} }
if ( v6[90] == 17 ) if ( v6[90] == 17 )
Expand Down

0 comments on commit 4236c64

Please sign in to comment.