From 411fa9f24a32677e1d2793ca1def83587fa27de8 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sun, 7 Oct 2018 11:04:22 +0200 Subject: [PATCH] Add enumds for _pgfxnum and fully use inv_body_loc (#392) * Add enumds for _pgfxnum and fully use inv_body_loc * _iIdentified is BOOL * _pgfxnum --- Source/control.cpp | 20 +++---- Source/inv.cpp | 146 ++++++++++++++++++++++----------------------- Source/items.cpp | 78 ++++++++++++------------ Source/msg.cpp | 2 +- Source/objects.cpp | 58 +++++++++--------- Source/player.cpp | 30 +++++----- Source/stores.cpp | 81 +++++++++++++------------ enums.h | 18 ++++++ 8 files changed, 224 insertions(+), 209 deletions(-) diff --git a/Source/control.cpp b/Source/control.cpp index c8baa14c4..669330612 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -568,10 +568,10 @@ LABEL_32: break; case RSPLTYPE_CHARGES: sprintf(infostr, "Staff of %s", spelldata[pSpell].sNameText); - if ( plr[myplr].InvBody[4]._iCharges == 1 ) + if ( plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges == 1 ) strcpy(tempstr, "1 Charge"); else - sprintf(tempstr, "%i Charges", plr[myplr].InvBody[4]._iCharges); + sprintf(tempstr, "%i Charges", plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges); goto LABEL_32; } } @@ -1610,10 +1610,10 @@ LABEL_54: case RSPLTYPE_CHARGES: sprintf(tempstr, "Staff of %s", spelldata[v4].sNameText); AddPanelString(tempstr, 1); - if ( plr[myplr].InvBody[4]._iCharges == 1 ) + if ( plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges == 1 ) strcpy(tempstr, "1 Charge"); else - sprintf(tempstr, "%i Charges", plr[myplr].InvBody[4]._iCharges); + sprintf(tempstr, "%i Charges", plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges); goto LABEL_54; } } @@ -2119,7 +2119,7 @@ void __cdecl DrawChr() v30 = plr[v2]._pIMinDam; v30 += plr[v2]._pIBonusDamMod + v30 * v3 / 100; v4 = plr[v2]._pDamageMod; - v5 = plr[v2].InvBody[4]._itype == ITYPE_BOW; + v5 = plr[v2].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_BOW; v29 = plr[v2]._pDamageMod; if ( v5 && _LOBYTE(plr[v2]._pClass) != 1 ) v4 >>= 1; @@ -2127,7 +2127,7 @@ void __cdecl DrawChr() v6 = plr[v2]._pIBonusDam; v28 = plr[v2]._pIMaxDam; v7 = plr[v2]._pIBonusDamMod + v28 * v6 / 100 + v28; - if ( plr[v2].InvBody[4]._itype != ITYPE_BOW || _LOBYTE(plr[v2]._pClass) == 1 ) + if ( plr[v2].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_BOW || _LOBYTE(plr[v2]._pClass) == 1 ) v8 = v29 + v7; else v8 = (v29 >> 1) + v7; @@ -2551,9 +2551,9 @@ void __cdecl DrawDurIcon() v0 = 336; v1 = &plr[myplr]; v2 = DrawDurIcon4Item(v1->InvBody, v0, 4); - v3 = DrawDurIcon4Item(&v1->InvBody[6], v2, 3); - v4 = DrawDurIcon4Item(&v1->InvBody[4], v3, 0); - DrawDurIcon4Item(&v1->InvBody[5], v4, 0); + v3 = DrawDurIcon4Item(&v1->InvBody[INVLOC_CHEST], v2, 3); + v4 = DrawDurIcon4Item(&v1->InvBody[INVLOC_HAND_LEFT], v3, 0); + DrawDurIcon4Item(&v1->InvBody[INVLOC_HAND_RIGHT], v4, 0); } } // 4B8968: using guessed type int sbookflag; @@ -2760,7 +2760,7 @@ void __cdecl DrawSpellBook() { if ( v3 == 3 ) { - sprintf(tempstr, "Staff (%i charges)", plr[myplr].InvBody[4]._iCharges); + sprintf(tempstr, "Staff (%i charges)", plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges); } else { diff --git a/Source/inv.cpp b/Source/inv.cpp index dc3e5f8e9..700c013ee 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -900,27 +900,27 @@ int __fastcall WeaponAutoPlace(int pnum) v1 = pnum; if ( plr[pnum].HoldItem._iLoc == ILOC_TWOHAND ) { - if ( plr[v1].InvBody[4]._itype != -1 || plr[v1].InvBody[5]._itype != -1 ) + if ( plr[v1].InvBody[INVLOC_HAND_LEFT]._itype != -1 || plr[v1].InvBody[INVLOC_HAND_RIGHT]._itype != -1 ) return 0; LABEL_12: NetSendCmdChItem(1u, 4u); v4 = &plr[v1].HoldItem; - v5 = &plr[v1].InvBody[4]; + v5 = &plr[v1].InvBody[INVLOC_HAND_LEFT]; goto LABEL_13; } - v2 = plr[v1].InvBody[4]._itype; - if ( v2 != -1 && plr[v1].InvBody[4]._iClass == 1 ) + v2 = plr[v1].InvBody[INVLOC_HAND_LEFT]._itype; + if ( v2 != -1 && plr[v1].InvBody[INVLOC_HAND_LEFT]._iClass == 1 ) return 0; - v3 = plr[v1].InvBody[5]._itype; - if ( v3 != -1 && plr[v1].InvBody[5]._iClass == 1 ) + v3 = plr[v1].InvBody[INVLOC_HAND_RIGHT]._itype; + if ( v3 != -1 && plr[v1].InvBody[INVLOC_HAND_RIGHT]._iClass == 1 ) return 0; if ( v2 == -1 ) goto LABEL_12; - if ( v3 == -1 && plr[v1].InvBody[4]._iLoc != ILOC_TWOHAND ) + if ( v3 == -1 && plr[v1].InvBody[INVLOC_HAND_LEFT]._iLoc != ILOC_TWOHAND ) { NetSendCmdChItem(1u, 5u); v4 = &plr[v1].HoldItem; - v5 = &plr[v1].InvBody[5]; + v5 = &plr[v1].InvBody[INVLOC_HAND_RIGHT]; LABEL_13: result = 1; qmemcpy(v5, v4, sizeof(ItemStruct)); @@ -1113,75 +1113,75 @@ LABEL_93: case ILOC_ONEHAND: if ( v10 > 12 ) { - if ( plr[v3].InvBody[5]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE ) { - v25 = plr[v3].InvBody[4]._itype; + v25 = plr[v3].InvBody[INVLOC_HAND_LEFT]._itype; if ( v25 == ITYPE_NONE ) goto LABEL_232; - if ( plr[v3].InvBody[4]._iLoc == ILOC_TWOHAND ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._iLoc == ILOC_TWOHAND ) { NetSendCmdDelItem(0, 4u); NetSendCmdChItem(0, 5u); - SwapItem(&plr[v3].InvBody[5], &plr[v3].InvBody[4]); - v23 = &plr[v3].InvBody[5]; + SwapItem(&plr[v3].InvBody[INVLOC_HAND_RIGHT], &plr[v3].InvBody[INVLOC_HAND_LEFT]); + v23 = &plr[v3].InvBody[INVLOC_HAND_RIGHT]; LABEL_99: v24 = SwapItem(v23, &plr[v3].HoldItem); LABEL_172: cursor_ida = v24; goto LABEL_226; } - if ( v25 == ITYPE_NONE || plr[v3].InvBody[4]._iClass != plr[v3].HoldItem._iClass ) + if ( v25 == ITYPE_NONE || plr[v3].InvBody[INVLOC_HAND_LEFT]._iClass != plr[v3].HoldItem._iClass ) { LABEL_232: NetSendCmdChItem(0, 5u); - v22 = &plr[v3].InvBody[5]; + v22 = &plr[v3].InvBody[INVLOC_HAND_RIGHT]; LABEL_158: qmemcpy(v22, &plr[v3].HoldItem, sizeof(ItemStruct)); goto LABEL_226; } } - else if ( plr[v3].InvBody[4]._itype == ITYPE_NONE - || plr[v3].InvBody[4]._iClass != plr[v3].HoldItem._iClass ) + else if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE + || plr[v3].InvBody[INVLOC_HAND_LEFT]._iClass != plr[v3].HoldItem._iClass ) { goto LABEL_114; } } else { - if ( plr[v3].InvBody[4]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE ) { - if ( plr[v3].InvBody[5]._itype != ITYPE_NONE - && plr[v3].InvBody[5]._iClass == plr[v3].HoldItem._iClass ) + if ( plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE + && plr[v3].InvBody[INVLOC_HAND_RIGHT]._iClass == plr[v3].HoldItem._iClass ) { LABEL_114: NetSendCmdChItem(0, 5u); - v23 = &plr[v3].InvBody[5]; + v23 = &plr[v3].InvBody[INVLOC_HAND_RIGHT]; goto LABEL_99; } NetSendCmdChItem(0, 4u); - v22 = &plr[v3].InvBody[4]; + v22 = &plr[v3].InvBody[INVLOC_HAND_LEFT]; goto LABEL_158; } - if ( plr[v3].InvBody[5]._itype != ITYPE_NONE - && plr[v3].InvBody[5]._iClass == plr[v3].HoldItem._iClass ) + if ( plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE + && plr[v3].InvBody[INVLOC_HAND_RIGHT]._iClass == plr[v3].HoldItem._iClass ) { goto LABEL_114; } } NetSendCmdChItem(0, 4u); - v23 = &plr[v3].InvBody[4]; + v23 = &plr[v3].InvBody[INVLOC_HAND_LEFT]; goto LABEL_99; case ILOC_TWOHAND: NetSendCmdDelItem(0, 5u); - if ( plr[v3].InvBody[4]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE ) goto LABEL_147; - v26 = plr[v3].InvBody[5]._itype; + v26 = plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype; if ( v26 == -1 ) goto LABEL_146; qmemcpy(&tempitem, &plr[v3].HoldItem, sizeof(tempitem)); - v27 = &plr[v3].InvBody[5]; + v27 = &plr[v3].InvBody[INVLOC_HAND_RIGHT]; if ( v26 != 5 ) - v27 = &plr[v3].InvBody[4]; + v27 = &plr[v3].InvBody[INVLOC_HAND_LEFT]; v28 = p; qmemcpy(&plr[v3].HoldItem, v27, sizeof(plr[v3].HoldItem)); v29 = plr[v3].HoldItem._iCurs + 12; @@ -1208,33 +1208,33 @@ LABEL_114: SetICursor(v33); if ( !v67 ) return; - if ( plr[v3].InvBody[5]._itype == ITYPE_SHIELD ) - plr[v3].InvBody[5]._itype = ITYPE_NONE; + if ( plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_SHIELD ) + plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype = ITYPE_NONE; else - plr[v3].InvBody[4]._itype = ITYPE_NONE; + plr[v3].InvBody[INVLOC_HAND_LEFT]._itype = ITYPE_NONE; LABEL_146: - if ( plr[v3].InvBody[4]._itype != ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE ) goto LABEL_149; LABEL_147: - if ( plr[v3].InvBody[5]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE ) { NetSendCmdChItem(0, 4u); - qmemcpy(&plr[v3].InvBody[4], &plr[v3].HoldItem, sizeof(plr[v3].InvBody[4])); + qmemcpy(&plr[v3].InvBody[INVLOC_HAND_LEFT], &plr[v3].HoldItem, sizeof(plr[v3].InvBody[INVLOC_HAND_LEFT])); } else { LABEL_149: NetSendCmdChItem(0, 4u); - if ( plr[v3].InvBody[4]._itype == ITYPE_NONE ) - SwapItem(&plr[v3].InvBody[4], &plr[v3].InvBody[5]); - cursor_ida = SwapItem(&plr[v3].InvBody[4], &plr[v3].HoldItem); + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE ) + SwapItem(&plr[v3].InvBody[INVLOC_HAND_LEFT], &plr[v3].InvBody[INVLOC_HAND_RIGHT]); + cursor_ida = SwapItem(&plr[v3].InvBody[INVLOC_HAND_LEFT], &plr[v3].HoldItem); } - if ( plr[v3].InvBody[4]._itype == ITYPE_STAFF ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_STAFF ) { - v34 = plr[v3].InvBody[4]._iSpell; + v34 = plr[v3].InvBody[INVLOC_HAND_LEFT]._iSpell; if ( v34 ) { - if ( plr[v3].InvBody[4]._iCharges > 0 ) + if ( plr[v3].InvBody[INVLOC_HAND_LEFT]._iCharges > 0 ) { plr[v3]._pRSpell = v34; _LOBYTE(plr[v3]._pRSplType) = 3; @@ -1245,16 +1245,16 @@ LABEL_149: goto LABEL_226; case ILOC_ARMOR: NetSendCmdChItem(0, 6u); - if ( plr[v3].InvBody[6]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_CHEST]._itype == ITYPE_NONE ) { - v22 = &plr[v3].InvBody[6]; + v22 = &plr[v3].InvBody[INVLOC_CHEST]; goto LABEL_158; } - v23 = &plr[v3].InvBody[6]; + v23 = &plr[v3].InvBody[INVLOC_CHEST]; goto LABEL_99; case ILOC_HELM: NetSendCmdChItem(0, 0); - if ( plr[v3].InvBody[0]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_HEAD]._itype == ITYPE_NONE ) { v22 = plr[v3].InvBody; goto LABEL_158; @@ -1265,32 +1265,32 @@ LABEL_149: if ( v10 == 4 ) { NetSendCmdChItem(0, 1u); - if ( plr[v3].InvBody[1]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_RING_LEFT]._itype == ITYPE_NONE ) { - v22 = &plr[v3].InvBody[1]; + v22 = &plr[v3].InvBody[INVLOC_RING_LEFT]; goto LABEL_158; } - v23 = &plr[v3].InvBody[1]; + v23 = &plr[v3].InvBody[INVLOC_RING_LEFT]; } else { NetSendCmdChItem(0, 2u); - if ( plr[v3].InvBody[2]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_RING_RIGHT]._itype == ITYPE_NONE ) { - v22 = &plr[v3].InvBody[2]; + v22 = &plr[v3].InvBody[INVLOC_RING_RIGHT]; goto LABEL_158; } - v23 = &plr[v3].InvBody[2]; + v23 = &plr[v3].InvBody[INVLOC_RING_RIGHT]; } goto LABEL_99; case ILOC_AMULET: NetSendCmdChItem(0, 3u); - if ( plr[v3].InvBody[3]._itype == ITYPE_NONE ) + if ( plr[v3].InvBody[INVLOC_AMULET]._itype == ITYPE_NONE ) { - v22 = &plr[v3].InvBody[3]; + v22 = &plr[v3].InvBody[INVLOC_AMULET]; goto LABEL_158; } - v23 = &plr[v3].InvBody[3]; + v23 = &plr[v3].InvBody[INVLOC_AMULET]; goto LABEL_99; case ILOC_UNEQUIPABLE: v35 = plr[v3].HoldItem._itype; @@ -2205,7 +2205,7 @@ void __fastcall AutoGetItem(int pnum, int ii) else { v4 = 0; - if ( (!(plr[v3]._pgfxnum & 0xF) || (plr[v3]._pgfxnum & 0xF) == 1) && plr[v3]._pmode <= PM_WALK3 ) + if ( ((plr[v3]._pgfxnum & 0xF) == ANIM_ID_UNARMED || (plr[v3]._pgfxnum & 0xF) == ANIM_ID_UNARMED_SHIELD) && plr[v3]._pmode <= PM_WALK3 ) { if ( plr[v3].HoldItem._iStatFlag ) { @@ -2214,7 +2214,7 @@ void __fastcall AutoGetItem(int pnum, int ii) v4 = WeaponAutoPlace(v2); if ( v4 ) { - CalcPlrInv(v2, 1u); + CalcPlrInv(v2, TRUE); goto LABEL_71; } } @@ -2823,7 +2823,7 @@ int __fastcall SyncPutItem(int pnum, int x, int y, int idx, int icreateinfo, int { RecreateItem(v25, idx, icreateinfo, iseed, ivalue); if ( Id ) - item[ic]._iIdentified = 1; + item[ic]._iIdentified = TRUE; v27 = ic; item[v27]._iDurability = dur; item[v27]._iMaxDur = mdur; @@ -2885,21 +2885,21 @@ int __cdecl CheckInvHLight() { case 4: v9 = 1; - v2 = &v3->InvBody[1]; + v2 = &v3->InvBody[INVLOC_RING_LEFT]; goto LABEL_36; case 5: v9 = 2; - v2 = &v3->InvBody[2]; + v2 = &v3->InvBody[INVLOC_RING_RIGHT]; goto LABEL_36; case 6: v9 = 3; - v2 = &v3->InvBody[3]; + v2 = &v3->InvBody[INVLOC_AMULET]; goto LABEL_36; } if ( v0 >= 7 && v0 <= 12 ) { v9 = 4; - v2 = &v3->InvBody[4]; + v2 = &v3->InvBody[INVLOC_HAND_LEFT]; goto LABEL_36; } if ( v0 < 13 || v0 > 18 ) @@ -2907,7 +2907,7 @@ int __cdecl CheckInvHLight() if ( v0 >= 19 && v0 <= 24 ) { v9 = 6; - v2 = &v3->InvBody[6]; + v2 = &v3->InvBody[INVLOC_CHEST]; goto LABEL_36; } if ( v0 < 25 || v0 > 64 ) @@ -2939,11 +2939,11 @@ LABEL_37: _LOBYTE(result) = -1; return result; } - v2 = &v3->InvBody[4]; - if ( v3->InvBody[4]._itype == -1 || v3->InvBody[4]._iLoc != 2 ) + v2 = &v3->InvBody[INVLOC_HAND_LEFT]; + if ( v3->InvBody[INVLOC_HAND_LEFT]._itype == -1 || v3->InvBody[INVLOC_HAND_LEFT]._iLoc != 2 ) { v9 = 5; - v2 = &v3->InvBody[5]; + v2 = &v3->InvBody[INVLOC_HAND_RIGHT]; } else { @@ -3077,11 +3077,11 @@ void __fastcall UseStaffCharge(int pnum) int *v2; // eax v1 = pnum; - if ( plr[pnum].InvBody[4]._itype != ITYPE_NONE - && plr[v1].InvBody[4]._iMiscId == IMISC_STAFF - && plr[v1].InvBody[4]._iSpell == plr[v1]._pRSpell ) + if ( plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE + && plr[v1].InvBody[INVLOC_HAND_LEFT]._iMiscId == IMISC_STAFF + && plr[v1].InvBody[INVLOC_HAND_LEFT]._iSpell == plr[v1]._pRSpell ) { - v2 = &plr[v1].InvBody[4]._iCharges; + v2 = &plr[v1].InvBody[INVLOC_HAND_LEFT]._iCharges; if ( *v2 > 0 ) { --*v2; @@ -3099,10 +3099,10 @@ BOOL __cdecl UseStaff() if ( pcurs == CURSOR_HAND ) { v0 = myplr; - if ( plr[myplr].InvBody[4]._itype != ITYPE_NONE - && plr[v0].InvBody[4]._iMiscId == IMISC_STAFF - && plr[v0].InvBody[4]._iSpell == plr[v0]._pRSpell - && plr[v0].InvBody[4]._iCharges > 0 ) + if ( plr[myplr].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE + && plr[v0].InvBody[INVLOC_HAND_LEFT]._iMiscId == IMISC_STAFF + && plr[v0].InvBody[INVLOC_HAND_LEFT]._iSpell == plr[v0]._pRSpell + && plr[v0].InvBody[INVLOC_HAND_LEFT]._iCharges > 0 ) { result = TRUE; } diff --git a/Source/items.cpp b/Source/items.cpp index 9d330cd41..000e9306d 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -854,12 +854,12 @@ void __fastcall CalcPlrItemVals(int p, BOOL Loadgfx) mind = 1; maxd = 1; - if ( plr[p].InvBody[4]._itype == ITYPE_SHIELD && plr[p].InvBody[4]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_LEFT]._iStatFlag ) { maxd = 3; } - if ( plr[p].InvBody[5]._itype == ITYPE_SHIELD && plr[p].InvBody[5]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_RIGHT]._iStatFlag ) { maxd = 3; } @@ -1024,60 +1024,58 @@ void __fastcall CalcPlrItemVals(int p, BOOL Loadgfx) g = 0; - if ( plr[p].InvBody[4]._itype != ITYPE_NONE - && plr[p].InvBody[4]._iClass == ICLASS_WEAPON - && plr[p].InvBody[4]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE + && plr[p].InvBody[INVLOC_HAND_LEFT]._iClass == ICLASS_WEAPON + && plr[p].InvBody[INVLOC_HAND_LEFT]._iStatFlag ) { - g = plr[p].InvBody[4]._itype; + g = plr[p].InvBody[INVLOC_HAND_LEFT]._itype; } - if ( plr[p].InvBody[5]._itype != ITYPE_NONE - && plr[p].InvBody[5]._iClass == ICLASS_WEAPON - && plr[p].InvBody[5]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE + && plr[p].InvBody[INVLOC_HAND_RIGHT]._iClass == ICLASS_WEAPON + && plr[p].InvBody[INVLOC_HAND_RIGHT]._iStatFlag ) { - g = plr[p].InvBody[5]._itype; + g = plr[p].InvBody[INVLOC_HAND_RIGHT]._itype; } switch ( g ) { case ITYPE_SWORD: - g = 2; + g = ANIM_ID_SWORD; break; case ITYPE_AXE: - g = 5; + g = ANIM_ID_AXE; break; case ITYPE_BOW: plr[p]._pwtype = 1; - g = 4; + g = ANIM_ID_BOW; break; case ITYPE_MACE: - g = 6; + g = ANIM_ID_MACE; break; case ITYPE_STAFF: - g = 8; + g = ANIM_ID_STAFF; break; } - if ( plr[p].InvBody[4]._itype == ITYPE_SHIELD && plr[p].InvBody[4]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_LEFT]._iStatFlag ) { plr[p]._pBlockFlag = 1; g++; } - if ( plr[p].InvBody[5]._itype == ITYPE_SHIELD && plr[p].InvBody[5]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_RIGHT]._iStatFlag ) { plr[p]._pBlockFlag = 1; g++; } - if ( plr[p].InvBody[6]._itype == ITYPE_MARMOR && plr[p].InvBody[6]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_CHEST]._itype == ITYPE_MARMOR && plr[p].InvBody[INVLOC_CHEST]._iStatFlag ) { - // probably a flag set - g += 16; + g += ANIM_ID_MEDIUM_ARMOR; } - if ( plr[p].InvBody[6]._itype == ITYPE_HARMOR && plr[p].InvBody[6]._iStatFlag ) + if ( plr[p].InvBody[INVLOC_CHEST]._itype == ITYPE_HARMOR && plr[p].InvBody[INVLOC_CHEST]._iStatFlag ) { - // probably a flag set - g += 32; + g += ANIM_ID_HEAVY_ARMOR; } if ( plr[p]._pgfxnum != g && Loadgfx ) @@ -1186,12 +1184,12 @@ void __fastcall CalcPlrStaff(int pnum) signed __int64 v3; // rax v1 = pnum; - v2 = plr[pnum].InvBody[4]._itype == ITYPE_NONE; + v2 = plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE; plr[v1]._pISpells[0] = 0; plr[v1]._pISpells[1] = 0; - if ( !v2 && plr[v1].InvBody[4]._iStatFlag && plr[v1].InvBody[4]._iCharges > 0 ) + if ( !v2 && plr[v1].InvBody[INVLOC_HAND_LEFT]._iStatFlag && plr[v1].InvBody[INVLOC_HAND_LEFT]._iCharges > 0 ) { - v3 = (__int64)1 << (_LOBYTE(plr[v1].InvBody[4]._iSpell) - 1); + v3 = (__int64)1 << (_LOBYTE(plr[v1].InvBody[INVLOC_HAND_LEFT]._iSpell) - 1); plr[v1]._pISpells[0] = v3; plr[v1]._pISpells[1] = HIDWORD(v3); } @@ -1216,7 +1214,7 @@ void __fastcall CalcSelfItems(int pnum) v2 = 0; v3 = 0; v4 = 0; - v5 = &v1->InvBody[0]._iStatFlag; + v5 = &v1->InvBody[INVLOC_HEAD]._iStatFlag; v6 = 7; do { @@ -1239,7 +1237,7 @@ void __fastcall CalcSelfItems(int pnum) do { v9 = 0; - v8 = &v1->InvBody[0]._iMinStr; + v8 = &v1->InvBody[INVLOC_HEAD]._iMinStr; v10 = 7; do { @@ -2726,7 +2724,7 @@ void __fastcall SetupItem(int i) il = ItemAnimLs[it]; item[i]._iAnimData = Item2Frm[it]; item[i]._iAnimLen = il; - item[i]._iIdentified = 0; + item[i]._iIdentified = FALSE; item[i]._iPostDraw = 0; if ( !plr[myplr].pLvlLoad ) @@ -3618,7 +3616,7 @@ void __fastcall CheckIdentify(int pnum, int cii) ItemStruct *pi; // esi pi = &plr[pnum].InvBody[cii]; - pi->_iIdentified = 1; + pi->_iIdentified = TRUE; CalcPlrInv(pnum, 1); @@ -4839,7 +4837,7 @@ void __fastcall SpawnSmith(int lvl) while ( item[0]._iIvalue > 140000 ); qmemcpy(v4, item, sizeof(ItemStruct)); v4->_iCreateInfo = lvl | 0x400; - v4->_iIdentified = 1; + v4->_iIdentified = TRUE; v4->_iStatFlag = StoreStatOk(v4); ++v4; if ( !--v9 ) @@ -4924,7 +4922,7 @@ void __fastcall SpawnOnePremium(int i, int plvl) while ( item[0]._iIvalue > 140000 ); qmemcpy(&premiumitem[i], item, sizeof(ItemStruct)); premiumitem[i]._iCreateInfo = plvl | 0x800; - premiumitem[i]._iIdentified = 1; + premiumitem[i]._iIdentified = TRUE; premiumitem[i]._iStatFlag = StoreStatOk(&premiumitem[i]); qmemcpy(item, &holditem, sizeof(ItemStruct)); } @@ -5123,7 +5121,7 @@ void __fastcall SpawnWitch(int lvl) if ( item[0]._iIvalue <= 140000 ) { qmemcpy(itm, item, sizeof(ItemStruct)); - itm->_iIdentified = 1; + itm->_iIdentified = TRUE; itm->_iCreateInfo = lvl | 0x2000; WitchBookLevel(ii); ++ii; @@ -5185,7 +5183,7 @@ void __fastcall SpawnBoy(int lvl) while ( item[0]._iIvalue > 90000 ); qmemcpy(&boyitem, item, sizeof(boyitem)); boyitem._iCreateInfo = lvl | 0x10; - boyitem._iIdentified = 1; + boyitem._iIdentified = TRUE; boyitem._iStatFlag = StoreStatOk(&boyitem); boylevel = lvl >> 1; } @@ -5355,7 +5353,7 @@ void __fastcall SpawnHealer(int lvl) GetItemAttrs(0, RndHealerItem(lvl) - 1, lvl); qmemcpy(v4, item, sizeof(ItemStruct)); v4->_iCreateInfo = lvl | 0x4000; - v4->_iIdentified = 1; + v4->_iIdentified = TRUE; v4->_iStatFlag = StoreStatOk(v4); ++v4; --v10; @@ -5388,7 +5386,7 @@ void __fastcall RecreateSmithItem(int ii, int idx, int plvl, int iseed) GetItemAttrs(ii, RndSmithItem(plvl) - 1, plvl); item[ii]._iSeed = iseed; item[ii]._iCreateInfo = plvl | 0x400; - item[ii]._iIdentified = 1; + item[ii]._iIdentified = TRUE; } void __fastcall RecreatePremiumItem(int ii, int idx, int lvl, int iseed) @@ -5401,7 +5399,7 @@ void __fastcall RecreatePremiumItem(int ii, int idx, int lvl, int iseed) GetItemBonus(ii, itype, lvl >> 1, lvl, 1); item[ii]._iCreateInfo = lvl | 0x800; item[ii]._iSeed = iseed; - item[ii]._iIdentified = 1; + item[ii]._iIdentified = TRUE; } void __fastcall RecreateBoyItem(int ii, int idx, int lvl, int iseed) @@ -5414,7 +5412,7 @@ void __fastcall RecreateBoyItem(int ii, int idx, int lvl, int iseed) GetItemBonus(ii, itype, lvl, 2 * lvl, 1); item[ii]._iCreateInfo = lvl | 0x1000; item[ii]._iSeed = iseed; - item[ii]._iIdentified = 1; + item[ii]._iIdentified = TRUE; } void __fastcall RecreateWitchItem(int ii, int idx, int lvl, int iseed) @@ -5439,7 +5437,7 @@ void __fastcall RecreateWitchItem(int ii, int idx, int lvl, int iseed) } item[ii]._iCreateInfo = lvl | 0x2000; item[ii]._iSeed = iseed; - item[ii]._iIdentified = 1; + item[ii]._iIdentified = TRUE; } void __fastcall RecreateHealerItem(int ii, int idx, int lvl, int iseed) @@ -5452,7 +5450,7 @@ void __fastcall RecreateHealerItem(int ii, int idx, int lvl, int iseed) GetItemAttrs(ii, idx, lvl); item[ii]._iCreateInfo = lvl | 0x4000; item[ii]._iSeed = iseed; - item[ii]._iIdentified = 1; + item[ii]._iIdentified = TRUE; } void __fastcall RecreateTownItem(int ii, int idx, unsigned short icreateinfo, int iseed, int ivalue) diff --git a/Source/msg.cpp b/Source/msg.cpp index f5d6ba3ea..514ef62d5 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -812,7 +812,7 @@ void __cdecl DeltaLoadLevel() RecreateItem(v14, v16, v13, v18, v17); v19 = v8 + 4721 * currlevel; if ( *(&sgLevels[0].item[0].bId + v19) ) - item[v14]._iIdentified = 1; + item[v14]._iIdentified = TRUE; v20 = v14; item[v20]._iDurability = *((unsigned char *)&sgLevels[0].item[0].bDur + v19); item[v20]._iMaxDur = *((unsigned char *)&sgLevels[0].item[0].bMDur + v19); diff --git a/Source/objects.cpp b/Source/objects.cpp index bb0101478..e26a1e472 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -4980,7 +4980,7 @@ void __fastcall OperateShrine(int pnum, int i, int sType) return; v13 = arglist; v14 = 7; - v15 = &plr[arglist].InvBody[0]._itype; + v15 = &plr[arglist].InvBody[INVLOC_HEAD]._itype; v7 = 7; do { @@ -4992,7 +4992,7 @@ void __fastcall OperateShrine(int pnum, int i, int sType) while ( v7 ); if ( v12 <= 0 ) goto LABEL_47; - v16 = &plr[v13].InvBody[0]._iMaxDur; + v16 = &plr[v13].InvBody[INVLOC_HEAD]._iMaxDur; do { if ( *(v16 - 58) != -1 ) @@ -5018,7 +5018,7 @@ void __fastcall OperateShrine(int pnum, int i, int sType) while ( 1 ) { v18 = 0; - v19 = &plr[v13].InvBody[0]._iMaxDur; + v19 = &plr[v13].InvBody[INVLOC_HEAD]._iMaxDur; v20 = 7; do { @@ -5039,9 +5039,9 @@ void __fastcall OperateShrine(int pnum, int i, int sType) goto LABEL_47; v21 = random(0, 7); v7 = v13 * 21720 + 368 * v21; - if ( *(int *)((char *)&plr[0].InvBody[0]._itype + v7) != -1 ) + if ( *(int *)((char *)&plr[0].InvBody[INVLOC_HEAD]._itype + v7) != -1 ) { - v7 = *(int *)((char *)&plr[0].InvBody[0]._iMaxDur + v7); + v7 = *(int *)((char *)&plr[0].InvBody[INVLOC_HEAD]._iMaxDur + v7); if ( v7 != 255 ) { if ( v7 ) @@ -5050,8 +5050,8 @@ void __fastcall OperateShrine(int pnum, int i, int sType) } } v22 = 368 * v21 + v13 * 21720; - v23 = (int *)((char *)&plr[0].InvBody[0]._iDurability + v22); - v7 = (int)&plr[0].InvBody[0]._iMaxDur + v22; + v23 = (int *)((char *)&plr[0].InvBody[INVLOC_HEAD]._iDurability + v22); + v7 = (int)&plr[0].InvBody[INVLOC_HEAD]._iMaxDur + v22; *v23 -= 20; v24 = *v23; *(_DWORD *)v7 -= 20; @@ -5069,39 +5069,39 @@ LABEL_47: if ( arglist != myplr ) goto LABEL_280; v26 = arglist; - if ( plr[arglist].InvBody[0]._itype != ITYPE_NONE ) - plr[v26].InvBody[0]._iAC += 2; - if ( plr[v26].InvBody[6]._itype != ITYPE_NONE ) - plr[v26].InvBody[6]._iAC += 2; - v27 = plr[v26].InvBody[4]._itype; + if ( plr[arglist].InvBody[INVLOC_HEAD]._itype != ITYPE_NONE ) + plr[v26].InvBody[INVLOC_HEAD]._iAC += 2; + if ( plr[v26].InvBody[INVLOC_CHEST]._itype != ITYPE_NONE ) + plr[v26].InvBody[INVLOC_CHEST]._iAC += 2; + v27 = plr[v26].InvBody[INVLOC_HAND_LEFT]._itype; if ( v27 != ITYPE_NONE ) { if ( v27 == ITYPE_SHIELD ) { - plr[v26].InvBody[4]._iAC += 2; + plr[v26].InvBody[INVLOC_HAND_LEFT]._iAC += 2; } else { - v28 = plr[v26].InvBody[4]._iMinDam; - v29 = &plr[v26].InvBody[4]._iMaxDam; + v28 = plr[v26].InvBody[INVLOC_HAND_LEFT]._iMinDam; + v29 = &plr[v26].InvBody[INVLOC_HAND_LEFT]._iMaxDam; --*v29; - if ( plr[v26].InvBody[4]._iMaxDam < v28 ) + if ( plr[v26].InvBody[INVLOC_HAND_LEFT]._iMaxDam < v28 ) *v29 = v28; } } - v7 = plr[v26].InvBody[5]._itype; + v7 = plr[v26].InvBody[INVLOC_HAND_RIGHT]._itype; if ( v7 != ITYPE_NONE ) { if ( v7 == ITYPE_SHIELD ) { - plr[v26].InvBody[5]._iAC += 2; + plr[v26].InvBody[INVLOC_HAND_RIGHT]._iAC += 2; } else { - v30 = plr[v26].InvBody[5]._iMinDam; - v7 = (int)&plr[v26].InvBody[5]._iMaxDam; + v30 = plr[v26].InvBody[INVLOC_HAND_RIGHT]._iMinDam; + v7 = (int)&plr[v26].InvBody[INVLOC_HAND_RIGHT]._iMaxDam; --*(_DWORD *)v7; - if ( plr[v26].InvBody[5]._iMaxDam < v30 ) + if ( plr[v26].InvBody[INVLOC_HAND_RIGHT]._iMaxDam < v30 ) *(_DWORD *)v7 = v30; } } @@ -5116,12 +5116,12 @@ LABEL_47: if ( arglist != myplr ) goto LABEL_280; v34 = arglist; - v35 = plr[arglist].InvBody[4]._itype; + v35 = plr[arglist].InvBody[INVLOC_HAND_LEFT]._itype; if ( v35 != ITYPE_NONE && v35 != ITYPE_SHIELD ) - ++plr[v34].InvBody[4]._iMaxDam; - v7 = plr[v34].InvBody[5]._itype; + ++plr[v34].InvBody[INVLOC_HAND_LEFT]._iMaxDam; + v7 = plr[v34].InvBody[INVLOC_HAND_RIGHT]._itype; if ( v7 != ITYPE_NONE && v7 != ITYPE_SHIELD ) - ++plr[v34].InvBody[5]._iMaxDam; + ++plr[v34].InvBody[INVLOC_HAND_RIGHT]._iMaxDam; v36 = 0; if ( plr[v34]._pNumInv > 0 ) { @@ -5163,7 +5163,7 @@ LABEL_47: if ( arglist != myplr ) goto LABEL_280; v38 = arglist; - v39 = &plr[arglist].InvBody[0]._iMaxCharges; + v39 = &plr[arglist].InvBody[INVLOC_HEAD]._iMaxCharges; v40 = 7; do { @@ -5204,7 +5204,7 @@ LABEL_47: if ( arglist != myplr ) goto LABEL_280; v45 = arglist; - v46 = &plr[arglist].InvBody[0]._iDurability; + v46 = &plr[arglist].InvBody[INVLOC_HEAD]._iDurability; v47 = 7; do { @@ -5677,7 +5677,7 @@ LABEL_47: if ( v5 || arglist != myplr ) return; v125 = arglist; - v126 = &plr[arglist].InvBody[0]._iIdentified; + v126 = &plr[arglist].InvBody[INVLOC_HEAD]._iIdentified; v127 = 7; do { @@ -7265,7 +7265,7 @@ void __fastcall GetObjectStr(int i) _LOBYTE(infoclr) = 2; } } -} +} // 4B883C: using guessed type int infoclr; // 5CCB10: using guessed type char setlvlnum; // 5CF31D: using guessed type char setlevel; diff --git a/Source/player.cpp b/Source/player.cpp index 7daa6ff4d..f28335ed8 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -445,40 +445,40 @@ void __fastcall SetPlrAnims(int pnum) int gn = plr[pnum]._pgfxnum & 0xF; if (pc == PC_WARRIOR) { - if (gn == 4) { + if (gn == ANIM_ID_BOW) { if (leveltype != DTYPE_TOWN) { plr[pnum]._pNFrames = 8; } plr[pnum]._pAWidth = 96; plr[pnum]._pAFNum = 11; - } else if (gn == 5) { + } else if (gn == ANIM_ID_AXE) { plr[pnum]._pAFrames = 20; plr[pnum]._pAFNum = 10; - } else if (gn == 8) { + } else if (gn == ANIM_ID_STAFF) { plr[pnum]._pAFrames = 16; plr[pnum]._pAFNum = 11; } } else if (pc == PC_ROGUE) { - if (gn == 5) { + if (gn == ANIM_ID_AXE) { plr[pnum]._pAFrames = 22; plr[pnum]._pAFNum = 13; - } else if (gn == 4) { + } else if (gn == ANIM_ID_BOW) { plr[pnum]._pAFrames = 12; plr[pnum]._pAFNum = 7; - } else if (gn == 8) { + } else if (gn == ANIM_ID_STAFF) { plr[pnum]._pAFrames = 16; plr[pnum]._pAFNum = 11; } } else if (pc == PC_SORCERER) { plr[pnum]._pSWidth = 128; - if (gn == 0) { + if (gn == ANIM_ID_UNARMED) { plr[pnum]._pAFrames = 20; - } else if (gn == 1) { + } else if (gn == ANIM_ID_UNARMED_SHIELD) { plr[pnum]._pAFNum = 9; - } else if (gn == 4) { + } else if (gn == ANIM_ID_BOW) { plr[pnum]._pAFrames = 20; plr[pnum]._pAFNum = 16; - } else if (gn == 5) { + } else if (gn == ANIM_ID_AXE) { plr[pnum]._pAFrames = 24; plr[pnum]._pAFNum = 16; } @@ -632,11 +632,11 @@ void __fastcall CreatePlayer(int pnum, char c) } if (c == PC_WARRIOR) { - plr[pnum]._pgfxnum = 3; + plr[pnum]._pgfxnum = ANIM_ID_SWORD_SHIELD; } else if (c == PC_ROGUE) { - plr[pnum]._pgfxnum = 4; + plr[pnum]._pgfxnum = ANIM_ID_BOW; } else if (c == PC_SORCERER) { - plr[pnum]._pgfxnum = 8; + plr[pnum]._pgfxnum = ANIM_ID_STAFF; } for (i = 0; i < sizeof(plr[pnum]._pLvlVisited); i++) { @@ -813,7 +813,7 @@ void __fastcall InitPlayer(int pnum, BOOL FirstTime) plr[pnum]._pSpell = SPL_INVALID; plr[pnum]._pRSplType = RSPLTYPE_INVALID; plr[pnum]._pSplType = RSPLTYPE_INVALID; - if ((plr[pnum]._pgfxnum & 0xF) == 4) { + if ((plr[pnum]._pgfxnum & 0xF) == ANIM_ID_BOW) { plr[pnum]._pwtype = TRUE; } else { plr[pnum]._pwtype = FALSE; @@ -1708,7 +1708,7 @@ void __fastcall StartPlayerKill(int pnum, int earflag) PlrDeadItem(pnum, &ear, 0, 0); } } else { - ItemStruct *pi = &plr[pnum].InvBody[0]; + ItemStruct *pi = &plr[pnum].InvBody[INVLOC_HEAD]; i = NUM_INVLOC; while (i != 0) { i--; diff --git a/Source/stores.cpp b/Source/stores.cpp index 03dbb8ec2..d6be58123 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -747,9 +747,8 @@ void __fastcall PrintStoreItem(ItemStruct *x, int l, char iclr) sstr[0] = 0; v3 = x; - v4 = x->_iIdentified == 0; y = l; - if ( !v4 ) + if ( x->_iIdentified ) { if ( x->_iMagical != 2 ) { @@ -1135,31 +1134,31 @@ void __cdecl S_StartSRepair() while ( (signed int)v1 < (signed int)&storehold[48]._itype ); v2 = myplr; v3 = myplr; - if ( plr[myplr].InvBody[0]._itype != -1 && plr[v3].InvBody[0]._iDurability != plr[v3].InvBody[0]._iMaxDur ) + if ( plr[myplr].InvBody[INVLOC_HEAD]._itype != -1 && plr[v3].InvBody[INVLOC_HEAD]._iDurability != plr[v3].InvBody[INVLOC_HEAD]._iMaxDur ) { v12 = 1; AddStoreHoldRepair(plr[v3].InvBody, -1); v2 = myplr; } v4 = v2; - if ( plr[v2].InvBody[6]._itype != -1 && plr[v4].InvBody[6]._iDurability != plr[v4].InvBody[6]._iMaxDur ) + if ( plr[v2].InvBody[INVLOC_CHEST]._itype != -1 && plr[v4].InvBody[INVLOC_CHEST]._iDurability != plr[v4].InvBody[INVLOC_CHEST]._iMaxDur ) { v12 = 1; - AddStoreHoldRepair(&plr[v4].InvBody[6], -2); + AddStoreHoldRepair(&plr[v4].InvBody[INVLOC_CHEST], -2); v2 = myplr; } v5 = v2; - if ( plr[v2].InvBody[4]._itype != -1 && plr[v5].InvBody[4]._iDurability != plr[v5].InvBody[4]._iMaxDur ) + if ( plr[v2].InvBody[INVLOC_HAND_LEFT]._itype != -1 && plr[v5].InvBody[INVLOC_HAND_LEFT]._iDurability != plr[v5].InvBody[INVLOC_HAND_LEFT]._iMaxDur ) { v12 = 1; - AddStoreHoldRepair(&plr[v5].InvBody[4], -3); + AddStoreHoldRepair(&plr[v5].InvBody[INVLOC_HAND_LEFT], -3); v2 = myplr; } v6 = v2; - if ( plr[v2].InvBody[5]._itype != -1 && plr[v6].InvBody[5]._iDurability != plr[v6].InvBody[5]._iMaxDur ) + if ( plr[v2].InvBody[INVLOC_HAND_RIGHT]._itype != -1 && plr[v6].InvBody[INVLOC_HAND_RIGHT]._iDurability != plr[v6].InvBody[INVLOC_HAND_RIGHT]._iMaxDur ) { v12 = 1; - AddStoreHoldRepair(&plr[v6].InvBody[5], -4); + AddStoreHoldRepair(&plr[v6].InvBody[INVLOC_HAND_RIGHT], -4); v2 = myplr; } v7 = 21720 * v2; @@ -1501,10 +1500,10 @@ void __cdecl S_StartWRecharge() } while ( (signed int)v0 < (signed int)&storehold[48]._itype ); v1 = myplr; - if ( plr[myplr].InvBody[4]._itype == ITYPE_STAFF && plr[v1].InvBody[4]._iCharges != plr[v1].InvBody[4]._iMaxCharges ) + if ( plr[myplr].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_STAFF && plr[v1].InvBody[INVLOC_HAND_LEFT]._iCharges != plr[v1].InvBody[INVLOC_HAND_LEFT]._iMaxCharges ) { v8 = 1; - qmemcpy(&v4, &plr[v1].InvBody[4], sizeof(v4)); + qmemcpy(&v4, &plr[v1].InvBody[INVLOC_HAND_LEFT], sizeof(v4)); AddStoreHoldRecharge(v4, -1); } v2 = plr[v1]._pNumInv; @@ -1827,7 +1826,7 @@ bool __fastcall IdItemOk(ItemStruct *i) if ( i->_itype != -1 ) { if ( i->_iMagical ) - result = i->_iIdentified == 0; + result = !i->_iIdentified; } return result; } @@ -1861,40 +1860,40 @@ void __cdecl S_StartSIdentify() qmemcpy(&itm, plr[myplr].InvBody, sizeof(ItemStruct)); AddStoreHoldId(itm, -1); } - if ( IdItemOk(&plr[myplr].InvBody[6]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_CHEST]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[6], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_CHEST], sizeof(ItemStruct)); AddStoreHoldId(itm, -2); } - if ( IdItemOk(&plr[myplr].InvBody[4]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_HAND_LEFT]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[4], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_HAND_LEFT], sizeof(ItemStruct)); AddStoreHoldId(itm, -3); } - if ( IdItemOk(&plr[myplr].InvBody[5]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_HAND_RIGHT]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[5], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_HAND_RIGHT], sizeof(ItemStruct)); AddStoreHoldId(itm, -4); } - if ( IdItemOk(&plr[myplr].InvBody[1]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_RING_LEFT]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[1], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_RING_LEFT], sizeof(ItemStruct)); AddStoreHoldId(itm, -5); } - if ( IdItemOk(&plr[myplr].InvBody[2]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_RING_RIGHT]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[2], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_RING_RIGHT], sizeof(ItemStruct)); AddStoreHoldId(itm, -6); } - if ( IdItemOk(&plr[myplr].InvBody[3]) ) + if ( IdItemOk(&plr[myplr].InvBody[INVLOC_AMULET]) ) { idok = 1; - qmemcpy(&itm, &plr[myplr].InvBody[3], sizeof(ItemStruct)); + qmemcpy(&itm, &plr[myplr].InvBody[INVLOC_AMULET], sizeof(ItemStruct)); AddStoreHoldId(itm, -7); } @@ -2739,7 +2738,7 @@ void __cdecl SmithBuyItem() TakePlrsMoney(plr[myplr].HoldItem._iIvalue); if ( !plr[myplr].HoldItem._iMagical ) - plr[myplr].HoldItem._iIdentified = 0; + plr[myplr].HoldItem._iIdentified = FALSE; StoreAutoPlace(); idx = stextvhold + ((stextlhold - stextup) >> 2); if ( idx == 19 ) @@ -2835,7 +2834,7 @@ void __cdecl SmithBuyPItem() TakePlrsMoney(plr[myplr].HoldItem._iIvalue); if ( !plr[myplr].HoldItem._iMagical ) - plr[myplr].HoldItem._iIdentified = 0; + plr[myplr].HoldItem._iIdentified = FALSE; StoreAutoPlace(); xx = 0; idx = (stextlhold - stextup) >> 2; @@ -3153,13 +3152,13 @@ void __cdecl SmithRepairItem() else { if ( i == -1 ) - plr[myplr].InvBody[0]._iDurability = plr[myplr].InvBody[0]._iMaxDur; + plr[myplr].InvBody[INVLOC_HEAD]._iDurability = plr[myplr].InvBody[INVLOC_HEAD]._iMaxDur; if ( i == -2 ) - plr[myplr].InvBody[6]._iDurability = plr[myplr].InvBody[6]._iMaxDur; + plr[myplr].InvBody[INVLOC_CHEST]._iDurability = plr[myplr].InvBody[INVLOC_CHEST]._iMaxDur; if ( i == -3 ) - plr[myplr].InvBody[4]._iDurability = plr[myplr].InvBody[4]._iMaxDur; + plr[myplr].InvBody[INVLOC_HAND_LEFT]._iDurability = plr[myplr].InvBody[INVLOC_HAND_LEFT]._iMaxDur; if ( i == -4 ) - plr[myplr].InvBody[5]._iDurability = plr[myplr].InvBody[5]._iMaxDur; + plr[myplr].InvBody[INVLOC_HAND_RIGHT]._iDurability = plr[myplr].InvBody[INVLOC_HAND_RIGHT]._iMaxDur; } } // 69F108: using guessed type int stextup; @@ -3378,7 +3377,7 @@ void __cdecl WitchRechargeItem() if ( i >= 0 ) plr[myplr].InvList[i]._iCharges = plr[myplr].InvList[i]._iMaxCharges; else - plr[myplr].InvBody[4]._iCharges = plr[myplr].InvBody[4]._iMaxCharges; + plr[myplr].InvBody[INVLOC_HAND_LEFT]._iCharges = plr[myplr].InvBody[INVLOC_HAND_LEFT]._iMaxCharges; CalcPlrInv(myplr, 1u); } @@ -3512,7 +3511,7 @@ void __cdecl HealerBuyItem() } TakePlrsMoney(plr[v4].HoldItem._iIvalue); if ( !plr[myplr].HoldItem._iMagical ) - plr[myplr].HoldItem._iIdentified = 0; + plr[myplr].HoldItem._iIdentified = FALSE; StoreAutoPlace(); if ( gbMaxPlayers == 1 ) { @@ -3623,27 +3622,27 @@ void __cdecl StoryIdItem() v1 = myplr; if ( v0 >= 0 ) { - plr[myplr].InvList[v0]._iIdentified = 1; + plr[myplr].InvList[v0]._iIdentified = TRUE; } else { if ( v0 == -1 ) - plr[myplr].InvBody[0]._iIdentified = 1; + plr[myplr].InvBody[INVLOC_HEAD]._iIdentified = TRUE; if ( v0 == -2 ) - plr[v1].InvBody[6]._iIdentified = 1; + plr[v1].InvBody[INVLOC_CHEST]._iIdentified = TRUE; if ( v0 == -3 ) - plr[v1].InvBody[4]._iIdentified = 1; + plr[v1].InvBody[INVLOC_HAND_LEFT]._iIdentified = TRUE; if ( v0 == -4 ) - plr[v1].InvBody[5]._iIdentified = 1; + plr[v1].InvBody[INVLOC_HAND_RIGHT]._iIdentified = TRUE; if ( v0 == -5 ) - plr[v1].InvBody[1]._iIdentified = 1; + plr[v1].InvBody[INVLOC_RING_LEFT]._iIdentified = TRUE; if ( v0 == -6 ) - plr[v1].InvBody[2]._iIdentified = 1; + plr[v1].InvBody[INVLOC_RING_RIGHT]._iIdentified = TRUE; if ( v0 == -7 ) - plr[v1].InvBody[3]._iIdentified = 1; + plr[v1].InvBody[INVLOC_AMULET]._iIdentified = TRUE; } v2 = v1; - plr[v2].HoldItem._iIdentified = 1; + plr[v2].HoldItem._iIdentified = TRUE; TakePlrsMoney(plr[v2].HoldItem._iIvalue); CalcPlrInv(myplr, 1u); } diff --git a/enums.h b/enums.h index edf590fa1..7eb57f71c 100644 --- a/enums.h +++ b/enums.h @@ -2658,6 +2658,24 @@ enum player_graphic { PFILE_NONDEATH = 0x17F }; +enum anim_weapon_id { + ANIM_ID_UNARMED = 0x00, + ANIM_ID_UNARMED_SHIELD = 0x01, + ANIM_ID_SWORD = 0x02, + ANIM_ID_SWORD_SHIELD = 0x03, + ANIM_ID_BOW = 0x04, + ANIM_ID_AXE = 0x05, + ANIM_ID_MACE = 0x06, + ANIM_ID_MACE_SHIELD = 0x07, + ANIM_ID_STAFF = 0x08 +}; + +enum anim_armor_id { + ANIM_ID_LIGHT_ARMOR = 0x00, + ANIM_ID_MEDIUM_ARMOR = 0x10, + ANIM_ID_HEAVY_ARMOR = 0x20 +}; + enum shrine_type { SHRINE_MYSTERIOUS = 0, SHRINE_HIDDEN = 1,