Skip to content

Commit 4236c64

Browse files
committed
version 1.21 - cooldowns
1 parent eb73adb commit 4236c64

26 files changed

+216
-170
lines changed

Infernity.zip

1.38 KB
Binary file not shown.

Source/control.cpp

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,48 @@ void __cdecl DrawSpell()
428428
if ( plr[v0]._pRSpell < 0 )
429429
v2 = 4;
430430
SetSpellTrans(v2);
431-
if ( v6 == -1 )
432-
DrawSpellCel(629+GetWidthDiff()/2, 631 + GetHeightDiff(), (char *)pSpellCels, 27, 56);
433-
else
434-
DrawSpellCel(629 + GetWidthDiff() / 2, 631+GetHeightDiff(), (char *)pSpellCels, (char)SpellITbl[v3], 56);
431+
if (v6 == -1) {
432+
DrawSpellCel(629 + GetWidthDiff() / 2, 631 + GetHeightDiff(), (char *)pSpellCels, 27, 56);
433+
}
434+
else {
435+
DrawSpellCel(629 + GetWidthDiff() / 2, 631 + GetHeightDiff(), (char *)pSpellCels, (char)SpellITbl[v3], 56);
436+
if (plr[myplr].cooldowns[plr[myplr]._pRSpell] > 0) {
437+
std::string s;
438+
sprintf((char*)s.c_str(), "%.1f", plr[myplr].cooldowns[plr[myplr]._pRSpell]);
439+
PrintGameStrAccurate(572 + GetWidthDiff() / 2, 430 + GetHeightDiff(), (char*)s.c_str(), COL_WHITE, true, 150, 0, 150);
440+
}
441+
442+
if (plr[myplr]._pRSplType == RSPLTYPE_CHARGES) {
443+
std::stringstream ss;
444+
ss << plr[myplr].InvBody[4]._iCharges;
445+
PrintGameStrAccurate(618 + GetWidthDiff() / 2 - GetTextWidth((char*)ss.str().c_str()), 430 + GetHeightDiff(), (char*)ss.str().c_str(), COL_WHITE, true, 255 ,60, 0);
446+
}
447+
448+
else if (plr[myplr]._pRSplType == RSPLTYPE_SCROLL) {
449+
int iter = plr[myplr]._pNumInv;
450+
int scrollnum = 0;
451+
while (iter--) {
452+
if (plr[myplr].InvList[iter]._itype != -1
453+
&& (plr[myplr].InvList[iter]._iMiscId == IMISC_SCROLL || plr[myplr].InvList[iter]._iMiscId == IMISC_SCROLLT)
454+
&& plr[myplr].InvList[iter]._iSpell == plr[myplr]._pRSpell) {
455+
scrollnum++;
456+
}
457+
}
458+
iter = 8;
459+
while (iter--) {
460+
if (plr[myplr].SpdList[iter]._itype != -1
461+
&& (plr[myplr].SpdList[iter]._iMiscId == IMISC_SCROLL || plr[myplr].SpdList[iter]._iMiscId == IMISC_SCROLLT)
462+
&& plr[myplr].SpdList[iter]._iSpell == plr[myplr]._pRSpell) {
463+
scrollnum++;
464+
}
465+
}
466+
std::stringstream ss;
467+
ss << scrollnum;
468+
PrintGameStrAccurate(618 + GetWidthDiff() / 2 - GetTextWidth((char*)ss.str().c_str()), 430 + GetHeightDiff(), (char*)ss.str().c_str(), COL_WHITE, true, 255, 60, 0);
469+
}
470+
}
471+
472+
435473
}
436474

437475
void __cdecl DrawSpellList()
@@ -533,6 +571,11 @@ void __cdecl DrawSpellList()
533571
if ( !currlevel && !*(_DWORD *)v20 )
534572
SetSpellTrans(4);
535573
DrawSpellCel(v17+GetWidthDiff()/2, xp+GetHeightDiff()/2, (char *)pSpellCels, (char)SpellITbl[v4], 56);
574+
if (plr[myplr].cooldowns[v4] > 0) {
575+
std::string s;
576+
sprintf((char*)s.c_str(), "%.1f", plr[myplr].cooldowns[v4]);
577+
PrintGameStrAccurate(v17 + GetWidthDiff() / 2 - 58, xp + GetHeightDiff() / 2 - 198, (char*)s.c_str(), COL_WHITE, true, 150, 0, 150);
578+
}
536579
if ( MouseX >= v17 - 64 + GetWidthDiff() / 2 && MouseX < v17 - 64 + 56 + GetWidthDiff() / 2 && MouseY >= v22 + GetHeightDiff() / 2 && MouseY < v22 + 56 + GetHeightDiff() / 2)
537580
{
538581
pSpell = v4;
@@ -3045,7 +3088,7 @@ void __cdecl ReleaseChrBtns()
30453088
void __cdecl DrawDurIcon()
30463089
{
30473090
int v0; // edx
3048-
PlayerStruct *v1; // esi
3091+
LATEST_PLAYERSTRUCT *v1; // esi
30493092
int v2; // eax
30503093
int v3; // eax
30513094
int v4; // eax
@@ -3215,7 +3258,7 @@ int __fastcall GetSBookTrans(int ii, unsigned char townok)
32153258
{
32163259
if ( !CheckSpell(myplr, ii, 1, 1) )
32173260
v6 = 4;
3218-
result = StructSize<PlayerStruct>() * myplr;
3261+
result = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
32193262
if ( (char)(plr[myplr]._pISplLvlAdd + plr[myplr]._pSplLvl[v2]) <= 0 )
32203263
v6 = 4;
32213264
}
@@ -3621,7 +3664,7 @@ void __fastcall control_remove_gold(int pnum, int gold_index)
36213664
if ( gold_index > 46 )
36223665
{
36233666
v6 = gold_index - 47;
3624-
v7 = (unsigned int *)((char *)&plr[0].SpdList[v6]._ivalue + v3 * StructSize<PlayerStruct>());
3667+
v7 = (unsigned int *)((char *)&plr[0].SpdList[v6]._ivalue + v3 * StructSize<LATEST_PLAYERSTRUCT>());
36253668
*v7 -= dropGoldValue;
36263669
if ( *v7 <= 0 )
36273670
RemoveSpdBarItem(pnum, v6);
@@ -3631,7 +3674,7 @@ void __fastcall control_remove_gold(int pnum, int gold_index)
36313674
else
36323675
{
36333676
v4 = gold_index - 7;
3634-
v5 = (unsigned int *)((char *)&plr[0].InvList[v4]._ivalue + v3 * StructSize<PlayerStruct>());
3677+
v5 = (unsigned int *)((char *)&plr[0].InvList[v4]._ivalue + v3 * StructSize<LATEST_PLAYERSTRUCT>());
36353678
*v5 -= dropGoldValue;
36363679
if ( *v5 <= 0 )
36373680
RemoveInvItem(pnum, v4);
@@ -3734,7 +3777,7 @@ void __cdecl DrawTalkPan()
37343777
while ( v10 == myplr )
37353778
{
37363779
LABEL_21:
3737-
a1 += StructSize<PlayerStruct>();
3780+
a1 += StructSize<LATEST_PLAYERSTRUCT>();
37383781
++v10;
37393782
if ( (signed int)a1 >= (signed int)&plr[4]._pName )
37403783
return;

Source/diablo.cpp

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@ int dbgplr;
5252
int dbgqst;
5353
int dbgmon;
5454
int arrowdebug;
55-
int frameflag;
56-
int frameend;
57-
int framerate;
58-
int framestart;
5955
#endif
6056
int frameflag;
6157
int frameend;
@@ -207,6 +203,14 @@ void __fastcall run_game_loop(int uMsg)
207203
msgcmd_send_chat();
208204
gbGameLoopStartup = 0;
209205
DrawAndBlit();
206+
for (int i = 0; i < 100; ++i) {
207+
if (plr[myplr].cooldowns[i] > 0) {
208+
plr[myplr].cooldowns[i] -= 0.05;
209+
}
210+
else {
211+
plr[myplr].cooldowns[i] = 0;
212+
}
213+
}
210214
}
211215
#ifdef SLEEP
212216
Sleep(1);
@@ -990,7 +994,7 @@ bool __fastcall LeftMouseDown(int a1)
990994
SetCursor(CURSOR_HAND);
991995
return 0;
992996
}
993-
v3 = StructSize<PlayerStruct>() * myplr;
997+
v3 = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
994998
if ( plr[myplr]._pStatPts && !spselflag )
995999
CheckLvlBtn();
9961000
if ( lvlbtndown )
@@ -1166,7 +1170,7 @@ bool __cdecl TryIconCurs()
11661170
if ( pcursplr == -1 )
11671171
{
11681172
v4 = GetSpellLevel(myplr, v1);
1169-
v5 = StructSize<PlayerStruct>() * myplr;
1173+
v5 = StructSize<LATEST_PLAYERSTRUCT>() * myplr;
11701174
_LOWORD(v5) = plr[myplr]._pTSpell;
11711175
NetSendCmdLocParam2(1u, CMD_TSPELLXY, cursmx, cursmy, v5, v4);
11721176
}
@@ -1502,31 +1506,6 @@ void __fastcall PressKey(int vkey)
15021506
return;
15031507
case VK_TAB:
15041508
{
1505-
/*
1506-
for (int i = 0; i < 40; ++i) {
1507-
ItemStruct wtf = plr[myplr].InvListExpanded[0][i];
1508-
}*/
1509-
1510-
//std::stringstream ss;
1511-
//ss << sizeof(PkPlayerStruct);
1512-
//MessageBox(NULL, ss.str().c_str(), NULL, NULL);
1513-
/*
1514-
plr[myplr].NumInvExpanded[1] = 0;
1515-
plr[myplr].NumInvExpanded[2] = 0;
1516-
for (int i = 0; i < 40; ++i) {
1517-
memset(&plr[myplr].InvListExpanded[1][i], 0, sizeof(ItemStruct));
1518-
memset(&plr[myplr].InvListExpanded[2][i], 0, sizeof(ItemStruct));
1519-
plr[myplr].InvListExpanded[1][i]._itype = -1;
1520-
plr[myplr].InvListExpanded[2][i]._itype = -1;
1521-
plr[myplr].InvGridExpanded[1][i] = 0;
1522-
plr[myplr].InvGridExpanded[2][i] = 0;
1523-
}*/
1524-
//plr[myplr].NumInvExpanded[0] = 24;
1525-
//plr[myplr].NumInvExpanded[1] = 5;
1526-
//plr[myplr].NumInvExpanded[2] = 0;
1527-
//plr[myplr].NumInvExpanded[3] = 18;
1528-
//plr[myplr]._pNumInv = plr[myplr].NumInvExpanded[0];
1529-
//*/
15301509
DoAutoMap();
15311510
return;
15321511
}

Source/engine.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ struct engine_cpp_init_1
2727
// 52B968: using guessed type int engine_cpp_init_value;
2828

2929
uint SaveVersion = -1;
30-
uint CurVersion = 5;
30+
uint CurVersion = 6;
3131

3232

3333

@@ -1898,7 +1898,10 @@ void PrintDebugInfo() {
18981898
std::stringstream ss;
18991899
int isActivated = -1;
19001900
if (pcursmonst != -1) { isActivated = monster[pcursmonst].isActivated; }
1901-
ss << "debuginfo: " << MouseX << " " << MouseY << " " << ScrollInfo._sdir;
1901+
ss << "debuginfo: " << MouseX << " " << MouseY << " " << sizeof(PlayerStruct) << " " << sizeof(PlayerStruct2) << " " << sizeof(PlayerStruct3) << " " << sizeof(PlayerStruct4) << " " << sizeof(PlayerStruct5) << " ";
1902+
for (int i = 0; i < 100; ++i) {
1903+
plr[myplr].cooldowns[i] = 100;
1904+
}
19021905
if (played == false) {
19031906
PlaySFX(num++);
19041907
played = true;
@@ -1954,7 +1957,7 @@ void DrawNumbersOnHealthMana() {
19541957
}
19551958
void DrawXpBar()
19561959
{
1957-
PlayerStruct *player = &plr[myplr];
1960+
LATEST_PLAYERSTRUCT *player = &plr[myplr];
19581961
int charLevel;
19591962
unsigned int curXp;
19601963
unsigned int prevXp;

Source/engine.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ template<typename T> size_t StructSize(int version = -1) { return sizeof(T); }
138138
for( int i = 0; i < countof(s); i+=2 ) if( size_t(version) > s[i] ) return size; else size = s[i+1]; return size; }
139139

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

144144
int __fastcall random(BYTE idx, int v);

Source/init.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const int init_inf = 0x7F800000; // weak
2020
/* data */
2121

2222
char gszVersionNumber[260] = "internal version unknown";
23-
char gszProductName[260] = "Infernity v1.20";
23+
char gszProductName[260] = "Infernity v1.21";
2424

2525
struct init_cpp_init
2626
{

Source/inv.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ void __cdecl DrawInvBelt()
567567
v1 = v11;
568568
InvDrawSlotBack(InvRect[v11 + 65].X + 64, InvRect[v11 + 65].Y + 159, 28, 28);
569569
v2 = myplr;
570-
v3 = v0 + StructSize<PlayerStruct>() * myplr;
570+
v3 = v0 + StructSize<LATEST_PLAYERSTRUCT>() * myplr;
571571
v4 = *(int *)((char *)&plr[0].SpdList[0]._iCurs + v3) + 12;
572572
frame_width = InvItemWidth[v4];
573573
if ( pcursinvitem == v11 + 47 )
@@ -596,7 +596,7 @@ void __cdecl DrawInvBelt()
596596
CelDrawHdrLightRed(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8, 1);
597597
else
598598
CelDrawHdrOnly(v8 + 64, v6, (char *)pCursCels, v4, frame_width, 0, 8);
599-
v9 = v13 + StructSize<PlayerStruct>() * myplr;
599+
v9 = v13 + StructSize<LATEST_PLAYERSTRUCT>() * myplr;
600600
if ( AllItemsList[*(int *)((char *)&plr[0].SpdList[0].IDidx + v9)].iUsable
601601
&& *(int *)((char *)&plr[0].SpdList[0]._iStatFlag + v9)
602602
&& *(int *)((char *)&plr[0].SpdList[0]._itype + v9) != 11 )
@@ -862,10 +862,10 @@ int __fastcall GoldAutoPlace(int pnum)
862862
{
863863
if ( v3 )
864864
break;
865-
v10 = &plr[0].InvGrid[10 * (v9 / 10) + v1 * StructSize<PlayerStruct>() + v9 % 10];
865+
v10 = &plr[0].InvGrid[10 * (v9 / 10) + v1 * StructSize<LATEST_PLAYERSTRUCT>() + v9 % 10];
866866
if ( !*v10 )
867867
{
868-
v11 = v1 * StructSize<PlayerStruct>() + StructSize<ItemStruct>() * plr[v1]._pNumInv;
868+
v11 = v1 * StructSize<LATEST_PLAYERSTRUCT>() + StructSize<ItemStruct>() * plr[v1]._pNumInv;
869869
qmemcpy((char *)plr[0].InvList + v11, &plr[v1].HoldItem, StructSize<ItemStruct>());
870870
++plr[v1]._pNumInv;
871871
*v10 = plr[v1]._pNumInv;
@@ -1168,15 +1168,15 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
11681168
v13 = (v68 - 25) / 10;
11691169
if ( plr[v3].HoldItem._itype == ITYPE_GOLD )
11701170
{
1171-
_LOBYTE(v13) = plr[0].InvGrid[10 * v13 + v3 * StructSize<PlayerStruct>() + (v68 - 25) % 10];
1171+
_LOBYTE(v13) = plr[0].InvGrid[10 * v13 + v3 * StructSize<LATEST_PLAYERSTRUCT>() + (v68 - 25) % 10];
11721172
if ( !(_BYTE)v13 )
11731173
goto LABEL_93;
11741174
v13 = (char)v13;
11751175
if ( (char)v13 <= 0 )
11761176
{
11771177
v13 = -v13;
11781178
}
1179-
else if ( *(int *)((char *)&plr[0].InvBody[v13 + 6]._itype + v3 * StructSize<PlayerStruct>()) == ITYPE_GOLD )
1179+
else if ( *(int *)((char *)&plr[0].InvBody[v13 + 6]._itype + v3 * StructSize<LATEST_PLAYERSTRUCT>()) == ITYPE_GOLD )
11801180
{
11811181
goto LABEL_93;
11821182
}
@@ -1379,10 +1379,10 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
13791379
{
13801380
if ( !v66 )
13811381
{
1382-
v36 = &plr[0].InvGrid[10 * ((v68 - 25) / 10) + v3 * StructSize<PlayerStruct>() + (v68 - 25) % 10];
1382+
v36 = &plr[0].InvGrid[10 * ((v68 - 25) / 10) + v3 * StructSize<LATEST_PLAYERSTRUCT>() + (v68 - 25) % 10];
13831383
if ( *v36 <= 0 )
13841384
{
1385-
v42 = StructSize<ItemStruct>() * plr[v3]._pNumInv + v3 * StructSize<PlayerStruct>();
1385+
v42 = StructSize<ItemStruct>() * plr[v3]._pNumInv + v3 * StructSize<LATEST_PLAYERSTRUCT>();
13861386
qmemcpy((char *)plr[0].InvList + v42, &plr[v3].HoldItem, StructSize<ItemStruct>());
13871387
++plr[v3]._pNumInv;
13881388
*v36 = plr[v3]._pNumInv;
@@ -1405,7 +1405,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
14051405
goto LABEL_226;
14061406
}
14071407
v37 = plr[v3].HoldItem._ivalue;
1408-
v38 = StructSize<ItemStruct>() * (*v36 - 1) + v3 * StructSize<PlayerStruct>();
1408+
v38 = StructSize<ItemStruct>() * (*v36 - 1) + v3 * StructSize<LATEST_PLAYERSTRUCT>();
14091409
v39 = *(int *)((char *)&plr[0].InvList[0]._ivalue + v38);
14101410
v40 = v37 + v39;
14111411
if ( v37 + v39 <= maxGoldPile)
@@ -1441,7 +1441,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
14411441
}
14421442
else if ( !v66 )
14431443
{
1444-
qmemcpy((char *)&plr[0].InvList[plr[v3]._pNumInv++] + v3 * StructSize<PlayerStruct>(), &plr[v3].HoldItem, StructSize<ItemStruct>());
1444+
qmemcpy((char *)&plr[0].InvList[plr[v3]._pNumInv++] + v3 * StructSize<LATEST_PLAYERSTRUCT>(), &plr[v3].HoldItem, StructSize<ItemStruct>());
14451445
v66 = plr[v3]._pNumInv;
14461446
LABEL_191:
14471447
v48 = v67;
@@ -1482,7 +1482,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
14821482
v44 = v66 - 1;
14831483
if ( v35 == 11 )
14841484
plr[v3]._pGold += plr[v3].HoldItem._ivalue;
1485-
cursor_ida = SwapItem((ItemStruct *)((char *)&plr[0].InvList[v44] + v3 * StructSize<PlayerStruct>()), &plr[v3].HoldItem);
1485+
cursor_ida = SwapItem((ItemStruct *)((char *)&plr[0].InvList[v44] + v3 * StructSize<LATEST_PLAYERSTRUCT>()), &plr[v3].HoldItem);
14861486
if ( plr[v3].HoldItem._itype == ITYPE_GOLD )
14871487
plr[v3]._pGold = CalculateGold(v21);
14881488
v45 = 0;
@@ -1499,7 +1499,7 @@ void __fastcall CheckInvPaste(int pnum, int mx, int my, bool shift)
14991499
while ( v45 < 40 );
15001500
goto LABEL_191;
15011501
case ILOC_BELT:
1502-
v53 = v3 * StructSize<PlayerStruct>() + StructSize<ItemStruct>() * (v68 - 65);
1502+
v53 = v3 * StructSize<LATEST_PLAYERSTRUCT>() + StructSize<ItemStruct>() * (v68 - 65);
15031503
if ( plr[v3].HoldItem._itype != ITYPE_GOLD )
15041504
{
15051505
if ( *(int *)((char *)&plr[0].SpdList[0]._itype + v53) == ITYPE_NONE )
@@ -1690,7 +1690,7 @@ void __fastcall CheckInvSwap(int pnum, BYTE bLoc, int idx, WORD wCI, int seed, B
16901690
{
16911691
RecreateItem(MAXITEMS, idx, wCI, seed, 0, rare);
16921692

1693-
PlayerStruct *p = &plr[pnum];
1693+
LATEST_PLAYERSTRUCT *p = &plr[pnum];
16941694
p->HoldItem = item[MAXITEMS];
16951695
if (bId)
16961696
{
@@ -1998,7 +1998,7 @@ bool CanPutToBelt(int miscId)
19981998

19991999
int FreeSlotOnBelt() {
20002000

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

20362036
void __fastcall CheckItemStats(int pnum)
20372037
{
2038-
PlayerStruct *p = &plr[pnum];
2038+
LATEST_PLAYERSTRUCT *p = &plr[pnum];
20392039

20402040
p->HoldItem._iStatFlag = FALSE;
20412041

@@ -2060,8 +2060,8 @@ void __fastcall CheckBookLevel(int pnum)
20602060
v2 = plr[v1].HoldItem._iSpell;
20612061
v3 = spelldata[plr[v1].HoldItem._iSpell].sMinInt;
20622062
plr[v1].HoldItem._iMinMag = v3;
2063-
v4 = plr[0]._pSplLvl[v2 + v1 * StructSize<PlayerStruct>()];
2064-
if ( plr[0]._pSplLvl[v2 + v1 * StructSize<PlayerStruct>()] )
2063+
v4 = plr[0]._pSplLvl[v2 + v1 * StructSize<LATEST_PLAYERSTRUCT>()];
2064+
if ( plr[0]._pSplLvl[v2 + v1 * StructSize<LATEST_PLAYERSTRUCT>()] )
20652065
{
20662066
do
20672067
{
@@ -2965,7 +2965,7 @@ int __cdecl CheckInvHLight()
29652965
signed int v0; // ebx
29662966
int result; // eax
29672967
ItemStruct *v2; // edi
2968-
PlayerStruct *v3; // esi
2968+
LATEST_PLAYERSTRUCT *v3; // esi
29692969
int v4; // eax
29702970
int v5; // ebx
29712971
int v6; // edi
@@ -3284,14 +3284,14 @@ int __fastcall UseInvItem(int pnum, int cii)
32843284
return result;
32853285
v4 = cii - 47;
32863286
v14 = 1;
3287-
v5 = StructSize<ItemStruct>() * (cii - 47) + v2 * StructSize<PlayerStruct>();
3287+
v5 = StructSize<ItemStruct>() * (cii - 47) + v2 * StructSize<LATEST_PLAYERSTRUCT>();
32883288
v6 = (_DWORD *)((char *)plr[0].SpdList + v5);
32893289
}
32903290
else
32913291
{
32923292
v4 = cii - 7;
32933293
v14 = 0;
3294-
v5 = StructSize<ItemStruct>() * (cii - 7) + v2 * StructSize<PlayerStruct>();
3294+
v5 = StructSize<ItemStruct>() * (cii - 7) + v2 * StructSize<LATEST_PLAYERSTRUCT>();
32953295
v6 = (_DWORD *)((char *)plr[0].InvList + v5);
32963296
}
32973297
if ( v6[90] == 17 )

0 commit comments

Comments
 (0)