InitPyramidState3D PROTO PyramidContact3D PROTO :DWORD,:DWORD PyramidContactEnd3D PROTO :DWORD,:DWORD PyramidCross3D PROTO :DWORD PyramidRail3D PROTO :DWORD,:DWORD PyramidDistance3D PROTO :DWORD,:DWORD PyramidDirection3D PROTO PyramidSelect3D PROTO :DWORD PyramidCanPlace3D PROTO :DWORD,:DWORD,:DWORD PyramidRespot3D PROTO :DWORD PyramidPenalty3D PROTO :DWORD PyramidChoice3D PROTO :DWORD PyramidRack3D PROTO PyramidPick3D PROTO :DWORD,:DWORD PyramidPathClear3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD PyramidGuide3D PROTO PyramidBall3D PROTO :DWORD,:DWORD,:DWORD,:DWORD FreePyramidAssets3D PROTO .data pyrTablePack3D AnimPack3D <> pyrBallsPack3D AnimPack3D <> pyrTablePath3D db "assets\animations\pyramid\table-v2.bin",0 pyrBallsPath3D db "assets\animations\pyramid\balls-v1.bin",0 pyrCue3D dd 0 pyrScore3D dd 0,0 pyrOwner3D dd 16 dup(-1) pyrRoll3D dd 16 dup(0) pyrPreviousX3D dd 16 dup(0) pyrHistoryRails3D dd 16 dup(0) pyrHistoryCross3D dd 16 dup(0) pyrRailHalf3D dd 16 dup(0) pyrTouched3D dd 0 pyrValidEnd3D dd 0 pyrRailSide3D dd 0 pyrFoulReason3D dd 0 pyrIllegalBreak3D dd 0 pyrFine3D dd 0 pyrFineActive3D dd 0 pyrAimCarry3D dd 0 pyrPickClick3D dd 0 pyrDirX3D dd FP_1 pyrDirY3D dd 0 pyrAimFactor3D REAL8 651.8986469044033 pyrGuideOn3D dd 1 pyrTarget3D dd -1 pyrGuideX3D dd 0 pyrGuideY3D dd 0 pyrChoiceActor3D dd 0 pyrFouler3D dd 0 pyrSettled3D dd 0 pyrExit3D db 194,32,213,206,203,203,0 pyrTitle3D db 207,200,208,192,204,200,196,192,0 pyrBreakText3D db 208,192,199,193,200,210,200,197,0 pyrTurnText3D db 213,206,196,0 pyrCueText3D db 193,200,210,206,202,0 pyrGuideText3D db 207,208,200,214,197,203,0 pyrPenaltyText3D db 216,210,208,192,212,205,206,201,32,216,192,208,0 pyrChoiceText3D db 207,206,209,203,197,32,216,210,208,192,212,192,0 pyrPlayText3D db 200,195,208,192,210,220,0 pyrPassText3D db 207,197,208,197,196,192,210,220,0 pyrRackText3D db 207,197,208,197,193,200,210,220,0 pyrTheirBreakText3D db 197,195,206,32,211,196,192,208,0 pyrNoContactText3D db 205,197,210,32,202,192,209,192,205,200,223,0 pyrBadBreakText3D db 205,197,194,197,208,205,219,201,32,208,192,199,193,206,201,0 pyrBadEndText3D db 205,197,194,197,208,205,219,201,32,211,196,192,208,0 pyrPlayerName3D db 194,219,0 pyrAIName3D db 200,200,0 pyrSkipText3D db 207,208,206,207,211,209,202,0 pyrScoreSep3D db ":",0 pyrStatusNames3D dd OFFSET pyrTurnText3D,OFFSET pyrNoContactText3D,OFFSET pyrBadBreakText3D,OFFSET pyrBadEndText3D .code