Code: Select all
ptItemData
+00 quality
+14 cmdFlags
+18 flags
+28 PlayerClass (What class requirement this item has)
+45 StorePage (BYTE)
+5C ptNode
+0C = Page
Moderators: Nefarius, Havvoric
Code: Select all
ptItemData
+00 quality
+14 cmdFlags
+18 flags
+28 PlayerClass (What class requirement this item has)
+45 StorePage (BYTE)
+5C ptNode
+0C = Page
Code: Select all
PtUnit[+3C]Animspeed (DWORD)
PtUnit[+44] Current Frame the animation is (aka Frame counter)
PtUnit[+4C]Animspeed (Word)
PtUnit[+4E]Action Flag (Byte)
Code: Select all
struct RandUnk { // * ptGame+10F0
DWORD seed1; //+00
DWORD seed2; //+04
DWORD nValues[8]; //+08
DWORD *pValues[8]; //+28
};
Code: Select all
6FC93D2B MOV ECX,DWORD PTR [EBX+1C] ; ptLock
6FC93D2E PUSH 0
6FC93D30 PUSH 5F
6FC93D32 PUSH 6FD3167C ; ASCII
"C:\projects\D2\head\Diablo2\Source\D2Game\QUESTS\QUESTS.CPP"
6FC93D37 MOV EDX,8
6FC93D3C CALL <JMP.&Fog.#10045>
6FC93D41 MOV DWORD PTR [EAX],EDI ; ptQuestInfo --> ptLock+00
6FC93D43 MOV ECX,DWORD PTR [ESI+74] ; get ptUnit+74
6FC93D46 MOV DWORD PTR [EAX+4],ECX ; ptUnit+74 --> ptLock+04
6FC93D49 MOV DWORD PTR [ESI+74],EAX ; ptLock --> ptUnit+74
Code: Select all
[color=#ff0000][b]PtUnit[/b][/color]
+2C hPath (no internal changes?)
+0C PosX (stationary object)
+10 PosY (stationary object)
+3C eType (movement Path I think)
+40 ePrevType
= 02 - PATH_TYPE_TOWARD
= 04 - PATH_TYPE_MISSILE
= 08 - PATH_TYPE_KNOCKBACK_SERVER
= 0B - PATH_TYPE_KNOCKBACK_CLIENT
+58 ptUnitTarget
+5C ptUnitTarget.Type
+60 ptUnitTarget.unID
+A8 ptInfo
+04 = ptr to first hSkill Linked List
+00 ptr to skillTXT entry
+04 Next hSkill
+34 FFFFFFFF ? Checked by D2Common.#10949
+E4 next ptUnit of Type
+E8 ptRoomNext
Code: Select all
[color=#ff0000][b]PtItemData[/b][/color]
+04 low seed
+08 high seed
+10 starting seed set by D2Common.#10694 with arg9 of D2Game.6FC501A0
+30 CurrentGameVersion (matches ptGame+78)
Code: Select all
[color=#ff0000][b]ptInventory[/b][/color]
+04 Memory Pool (ptGame+1C)
Code: Select all
[color=#ff0000][b]ptGame[/b][/color]
+00BC ptAct[0]
+8 Another Level Related ptr (size 200h)
+004 LevelID
+22C Previous Level Related ptr
+00C0 ptAct[1]
+00C4 ptAct[2]
+00C8 ptAct[3]
+00CC ptAct[4]
+1720 ptUnit (item) list (80h dword) // swap them once and for all?
+1920 ptUnit (missile) list (80h dword)
Code: Select all
[color=#ff0000][b]ptClient[/b][/color]
+16C Unit Type
+170 Unit Unid
+1A8 ptGame
+1AC Act