;;; Arachnus_StandingInitialisation ;;; 08024538 (T) push r4,r14 0802453A (T) ldr r0,=EnemyOrientation ;\ 0802453C (T) mov r1,r0 ;| 0802453E (T) add r1,2Fh ;} r1 = EnemyAttachedEnemySlot 08024540 (T) ldrb r2,[r1] ;/ 08024542 (T) sub r1,1h ;\ 08024544 (T) ldrb r1,[r1] ;| 08024546 (T) mov r3,r0 ;} If EnemyRespawnTimer == 0: 08024548 (T) cmp r1,0FFh ;| 0802454A (T) bne 80245A2h ;/ 0802454C (T) ldrh r1,[r3] ;\ 0802454E (T) ldr r0,=0DFFFh ;| 08024550 (T) and r0,r1 ;} EnemyOrientation !|= 2000h (rolling) 08024552 (T) mov r4,0h ;| 08024554 (T) strh r0,[r3] ;/ 08024556 (T) ldr r1,=EnemySlot0 ;\ 08024558 (T) lsl r0,r2,3h ;| 0802455A (T) sub r0,r0,r2 ;| 0802455C (T) lsl r0,r0,3h ;| 0802455E (T) add r2,r0,r1 ;} Enemy[EnemyAttachedSlot]Orientation !|= 80h 08024560 (T) ldrh r0,[r2] ;| 08024562 (T) ldr r1,=0FF7Fh ;| 08024564 (T) and r1,r0 ;| 08024566 (T) strh r1,[r2] ;/ 08024568 (T) ldr r0,=0FF60h ;\ 0802456A (T) strh r0,[r2,0Ah] ;} Enemy[EnemyAttachedSlot]TopBoundryOffset = -A0h 0802456C (T) strh r4,[r2,0Ch] ; Enemy[EnemyAttachedSlot]BottomBoundryOffset = -A0h 0802456E (T) mov r0,40h ;\ 08024570 (T) and r0,r1 ;| 08024572 (T) lsl r0,r0,10h ;| 08024574 (T) lsr r0,r0,10h ;} If Enemy[EnemyAttachedSlot]Orientation has 40h (facing right): 08024576 (T) cmp r0,0h ;| 08024578 (T) beq 802459Ch ;/ 0802457A (T) ldr r0,=0FFB0h ;\ 0802457C (T) strh r0,[r2,0Eh] ;} Enemy[EnemyAttachedSlot]LeftBoundryOffset = -50h 0802457E (T) strh r4,[r2,10h] ; Enemy[EnemyAttachedSlot]RightBoundryOffset = -50h 08024580 (T) b 80245A2h 08024582 dw 00000h 08024584 dd 0030006BCh,00000DFFFh,003000140h,00000FF7Fh 08024594 dd 00000FF60h,00000FFB0h ; Else Enemy[EnemyAttachedSlot]Orientation hasn't 40h (facing left): 0802459C (T) strh r0,[r2,0Eh] ; Clear Enemy[EnemyAttachedSlot]LeftBoundryOffset 0802459E (T) mov r0,50h ;\ 080245A0 (T) strh r0,[r2,10h] ;} Enemy[EnemyAttachedSlot]RightBoundryOffset = 50h 080245A2 (T) mov r1,r3 ;\ EnemyRespawnTimer != 0: 080245A4 (T) add r1,24h ;\ 080245A6 (T) mov r2,0h ;| 080245A8 (T) mov r0,8h ;} EnemyPose = 8 (standing still) 080245AA (T) strb r0,[r1] ;/ 080245AC (T) ldr r0,=8302C44h ;\ 080245AE (T) str r0,[r3,18h] ;} EnemyGraphicPointer = 8302C44h 080245B0 (T) strb r2,[r3,1Ch] ; Clear EnemyAnimationCounter 080245B2 (T) strh r2,[r3,16h] ; Clear EnemyAnimation 080245B4 (T) bl 802381Ch ; Execute subroutine Arachnus_SetHitboxStanding 080245B8 (T) ldr r0,=8302C6Ch ; r0 parameter = 8302C6Ch 080245BA (T) bl 8012304h ; Execute subroutine Enemy_SetAttachedEnemyGraphics 080245BE (T) pop r4 080245C0 (T) pop r0 080245C2 (T) bx r0 080245C4 dd 008302C44h,008302C6Ch