Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .thumb
- .global AnyDirectionJumptile
- .equ rom, 0x08000001
- .equ offset, 0xXXXXXX
- /*
- Behavior bytes:
- 0x7F = able to jump in any direction (only on height 0x0 & 0x10)
- 0x7E = able to jump up and down
- 0x7D = able to jump left and right
- */
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- .org 0x59AF6
- cmp r0, #0x7D
- beq 0x59B02
- .org 0x59B0A
- cmp r0, #0x7D
- beq 0x59B16
- .org 0x59B1E
- cmp r0, #0x7E
- beq 0x59B2A
- .org 0x59B32
- cmp r0, #0x7E
- beq 0x59B3E
- .org 0x6812C
- bx r2
- .org 0x68144
- .word main + rom
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- .org offset
- main:
- cmp r0, #0x7F @behavior byte
- beq CheckJump
- ldr r2, =(0x083A705C)
- lsl r1, r4, #0x2
- ldr r3, =(0x0806812E|1)
- bx r3
- CheckJump:
- bl CanPlayerJump
- cmp r0, #0x0
- beq CantJump
- CanJump:
- ldr r0, =(0x08068148|1)
- bx r0
- CantJump:
- ldr r0, =(0x0806813E|1)
- bx r0
- CanPlayerJump:
- ldr r1, npc_states
- ldrb r0, [r1, #0xB] @player height
- mov r1, #0xF
- and r0, r1 @lower 4 bits are height
- cmp r0, #0x4 @movement permission 0x10
- beq TheyCan
- cmp r0, #0x0 @movement permission 0x0
- beq TheyCan
- TheyCant:
- mov r0, #0x0
- bx lr
- TheyCan:
- mov r0, #0x1
- bx lr
- .align 2
- npc_states: .word 0x02036E38
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement