DrawBowlingPlayerHand3D PROC uses ebx esi local offsetY:DWORD mov offsetY,120 cmp bpHandArt3D.pixels,0 je bp_hand_done cmp bpScoreOpen3D,0 jne bp_hand_done mov esi,bpLane3D cmp bwTurn3D[esi*4],0 jne bp_hand_done xor ebx,ebx cmp bpState3D,BP_RETURN jne @F cmp bpAfterReturn3D,BP_FINISHED je bp_hand_done mov eax,bpTime3D sub eax,2100 jle bp_hand_done invoke BowlingPinsetterEase3D,eax,700 neg eax add eax,FP_1 imul eax,300 sar eax,16 add eax,120 mov offsetY,eax jmp bp_hand_draw @@: cmp bpState3D,BP_DIRECTION je bp_hand_draw cmp bpState3D,BP_POWER je bp_hand_draw cmp bpState3D,BP_RELEASE jne bp_hand_follow mov eax,bpTime3D xor edx,edx mov ecx,33 div ecx cmp eax,20 jbe @F mov eax,20 @@: mov ebx,eax jmp bp_hand_draw bp_hand_follow: cmp bpState3D,BP_ROLL jne bp_hand_done cmp bpTime3D,396 jae bp_hand_done mov eax,bpTime3D xor edx,edx mov ecx,33 div ecx add eax,21 cmp eax,32 jbe @F mov eax,32 @@: mov ebx,eax bp_hand_draw: mov eax,bpShotWeightKg3D cmp bpState3D,BP_DIRECTION je bp_hand_selected cmp bpState3D,BP_POWER jne @F bp_hand_selected: mov eax,bpWeightKg3D @@: invoke BowlingTintHand3D,ebx,eax invoke DrawAnimSprite3D,OFFSET bpTintedHand3D,0,320,offsetY,320,320 bp_hand_done: ret DrawBowlingPlayerHand3D ENDP RenderBowlingReactions3D PROC uses ebx esi edi local phase:DWORD mov phase,CAST_TALK cmp bpReactionTime3D,0 je @F mov eax,bpReaction3D mov phase,eax @@: xor esi,esi bp_crowd_person: lea ebx,[esi+6] test esi,esi jnz bp_crowd_draw mov edi,bpLane3D cmp bwTurn3D[edi*4],1 jne bp_crowd_draw cmp bpState3D,BP_SETTLE je bp_crowd_draw cmp bpState3D,BP_FINISHED jne bp_crowd_next bp_crowd_draw: invoke ConfigureCharacter3D,OFFSET bwSmallActor3D,ebx,phase,animationClock3D,0,0 mov eax,bpCentre3D mov ecx,FP_1*16/10 test esi,esi jnz @F mov ecx,FP_1*9/10 @@: cmp esi,1 jne @F neg ecx @@: add eax,ecx mov bwSmallActor3D.posX,eax mov eax,FP_1*218/10 test esi,esi jnz @F mov eax,23*FP_1 @@: mov bwSmallActor3D.posY,eax invoke DrawCityObject3D,OFFSET bwSmallActor3D,0 bp_crowd_next: inc esi cmp esi,3 jb bp_crowd_person ret RenderBowlingReactions3D ENDP