MODE_POOL equ 16 POOL_AIM equ 0 POOL_STRIKE equ 1 POOL_MOVING equ 2 POOL_HAND equ 3 POOL_RESULT equ 4 POOL_RADIUS equ FP_1*5/2 POOL_DIAMETER equ 5*FP_1 POOL_PENALTY equ 5 POOL_CHOICE equ 6 POOL_SELECT equ 7 InitPool3D PROTO ResetPool3D PROTO StartBilliards3D PROTO :DWORD EightLegal3D PROTO :DWORD EightCount3D PROTO EightFinish3D PROTO EightHand3D PROTO EightAutoCall3D PROTO EightSyncGroups3D PROTO PoolPredict3D PROTO PoolDrawPrediction3D PROTO HandlePool3D PROTO RenderPool3D PROTO PoolStep3D PROTO PoolCollide3D PROTO :DWORD,:DWORD PoolShoot3D PROTO PoolFinishShot3D PROTO PoolPlaceCue3D PROTO :DWORD,:DWORD .data poolX3D dd 16 dup(0) poolY3D dd 16 dup(0) poolVX3D dd 16 dup(0) poolVY3D dd 16 dup(0) poolActive3D dd 16 dup(1) poolPocket3D dd 16 dup(-1) poolSinkTime3D dd 16 dup(0) poolColors3D dd 00F0E8D3h,00D4B524h,00304EADh,00B72B36h,006A438Ch,00DD8030h,003B9560h,00912F38h,0017191Ch,00D4B524h,00304EADh,00B72B36h,006A438Ch,00DD8030h,003B9560h,00912F38h poolRackOrder3D dd 1,9,2,3,8,10,11,4,12,5,6,13,7,14,15 poolPocketX3D dd 30*FP_1,160*FP_1,290*FP_1,30*FP_1,160*FP_1,290*FP_1 poolPocketY3D dd 50*FP_1,50*FP_1,50*FP_1,180*FP_1,180*FP_1,180*FP_1 poolJawX3D dd FP_1*137/4,30*FP_1,157*FP_1,163*FP_1,290*FP_1,FP_1*1143/4 dd FP_1*137/4,30*FP_1,157*FP_1,163*FP_1,290*FP_1,FP_1*1143/4 poolJawY3D dd 50*FP_1,FP_1*217/4,50*FP_1,50*FP_1,FP_1*217/4,50*FP_1 dd 180*FP_1,FP_1*703/4,180*FP_1,180*FP_1,FP_1*703/4,180*FP_1 poolState3D dd POOL_AIM poolPlayer3D dd 0 poolAI3D dd 1 poolGroups3D dd 0,0 poolWinner3D dd 0 poolFirst3D dd -1 poolRail3D dd 0 poolBreakRails3D dd 0 poolPotted3D dd 0 poolBreak3D dd 1 poolCalled3D dd 1 poolCalledPocket3D dd 0 poolCallManual3D dd 0 poolUnsetText3D db "-",0 ALIGN 4 poolAtStart3D dd 0 poolFoul3D dd 0 poolAngle3D dd 0 poolPower3D dd 30000 poolCharge3D dd 0 poolAccumulator3D dd 0 poolTime3D dd 0 poolStill3D dd 0 poolVariant3D dd 0 poolCapture2Q8 dd 480*480 poolMiddleLeft3D dd 157*FP_1 poolMiddleRight3D dd 163*FP_1 poolEightJawX3D dd 37*FP_1,30*FP_1,153*FP_1,167*FP_1,290*FP_1,283*FP_1 dd 37*FP_1,30*FP_1,153*FP_1,167*FP_1,290*FP_1,283*FP_1 poolEightJawY3D dd 50*FP_1,57*FP_1,50*FP_1,50*FP_1,57*FP_1,50*FP_1 dd 180*FP_1,173*FP_1,180*FP_1,180*FP_1,173*FP_1,180*FP_1 poolPyramidJawX3D dd FP_1*137/4,30*FP_1,157*FP_1,163*FP_1,290*FP_1,FP_1*1143/4 dd FP_1*137/4,30*FP_1,157*FP_1,163*FP_1,290*FP_1,FP_1*1143/4 poolPyramidJawY3D dd 50*FP_1,FP_1*217/4,50*FP_1,50*FP_1,FP_1*217/4,50*FP_1 dd 180*FP_1,FP_1*703/4,180*FP_1,180*FP_1,FP_1*703/4,180*FP_1 poolEightPack3D AnimPack3D <> poolEightPath3D db "assets\animations\pyramid\pool-balls-v1.bin",0 poolSelectTitle3D db 193,200,203,220,223,208,196,0 poolSelectPyramid3D db 49,32,207,200,208,192,204,200,196,192,0 poolSelectEight3D db 50,32,207,211,203,32,194,206,209,220,204,197,208,202,192,0 poolCallText3D db 199,192,202,192,199,0 poolPredictionText3D db 207,208,206,195,205,206,199,0 poolTraceValid3D dd 0 poolTraceKey3D dd 0 poolTraceCount3D dd 0 poolTraceSteps3D dd 0 poolTracePotted3D dd 0 poolTraceFirst3D dd -1 poolTraceX3D dd 8192 dup(0) poolTraceY3D dd 8192 dup(0) poolTraceActive3D dd 512 dup(0) poolTraceFinal3D dd 112 dup(0) poolPhysicsBackup3D dd 112 dup(0) poolHistoryBackup3D dd 80 dup(0) poolScalarBackup3D dd 7 dup(0) poolTitle3D db 207,211,203,32,47,32,56,0 poolPlayerText3D db 200,195,208,206,202,0 poolDealerText3D db 196,200,203,197,208,0 poolOpenText3D db 209,210,206,203,32,206,210,202,208,219,210,0 poolSolidsText3D db 209,207,203,206,216,205,219,197,0 poolStripesText3D db 207,206,203,206,209,192,210,219,197,0 poolFoulText3D db 212,206,203,32,47,32,209,32,208,211,202,200,0 poolWinText3D db 207,206,193,197,196,192,0 poolShotText3D db 211,196,192,208,0 poolRackText3D db 199,192,205,206,194,206,0 poolPowerText3D db 209,200,203,192,0 poolPlaceText3D db 207,206,209,210,192,194,220,210,197,32,193,200,210,206,202,0 poolMovingText3D db 202,192,210,223,210,209,223,0 poolBallText3D db 216,192,208,0 poolPocketText3D db 203,211,199,192,0 poolGroupTexts3D dd OFFSET poolOpenText3D,OFFSET poolSolidsText3D,OFFSET poolStripesText3D .code include src_graphics\pyramid_data.inc