;;; Enemy_CheckAnimationLoopCurrentFrame ;;; ;; Returns r0: 0 if more animation, 1 if no more animation 08011934 (T) push r14 08011936 (T) ldr r0,=EnemyOrientation ;\ 08011938 (T) ldrb r1,[r0,1Ch] ;| 0801193A (T) ldrh r2,[r0,16h] ;| 0801193C (T) add r1,1h ;| 0801193E (T) lsl r1,r1,18h ;| 08011940 (T) lsr r1,r1,18h ;| 08011942 (T) ldr r3,[r0,18h] ;} If EnemyGraphicPointer[EnemyAnimation] timer > EnemyAnimationCounter: return 0 08011944 (T) lsl r0,r2,3h ;| 08011946 (T) add r0,r0,r3 ;| 08011948 (T) ldrb r0,[r0,4h] ;| 0801194A (T) cmp r0,r1 ;| 0801194C (T) bcs 8011964h ;/ 0801194E (T) add r0,r2,1 ;\ 08011950 (T) lsl r0,r0,10h ;| 08011952 (T) lsr r0,r0,0Dh ;| 08011954 (T) add r0,r0,r3 ;} If EnemyGraphicPointer[EnemyAnimation + 1] timer: return 0 08011956 (T) ldrb r0,[r0,4h] ;| 08011958 (T) cmp r0,0h ;| 0801195A (T) bne 8011964h ;/ 0801195C (T) mov r0,1h ;\ 0801195E (T) b 8011966h ;} Return 1 08011960 dd 0030006BCh 08011964 (T) mov r0,0h 08011966 (T) pop r1 08011968 (T) bx r1