Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ddhook_scenedetect:
- lh a0,0xA4(a0)
- bnez a0,ddhook_scenedetect_notdeku
- lui t0,(ddhook_list_start>>16)
- addiu t0,(ddhook_list_start&0xFFFF)
- lui t1,(ddhook_roomload>>16)
- addiu t1,(ddhook_roomload&0xFFFF)
- sw t1,8(t0)
- b ddhook_scenedetect_return
- nop
- ddhook_scenedetect_notdeku:
- lui t0,(ddhook_list_start>>16)
- addiu t0,(ddhook_list_start&0xFFFF)
- sw 0,8(t0)
- ddhook_scenedetect_return:
- jr ra
- nop
- ddhook_roomload:
- //A0=p->Scene Heap
- //A1=p->Room Heap
- //A2=Room ID
- addiu sp,sp,-0x10
- sw ra,4(sp)
- lw a0,0x0134(a1) //load Room List Pointer
- sll a3,a2,3 //Room ID * 8
- addu a2,a0,a3 //calculate offset from Room ID
- lw a0,0x34(a1) //A0=RAM Address
- lw a3,0x8(a2) //RoomEnd
- lw a1,0x0(a2) //RoomStart (A1=VROM Address)
- subu a2,a3,a1 //A2=Size
- jal 0x801C7C1C //read from disk
- nop
- lw ra,4(sp)
- addiu sp,sp,0x10
- jr ra
- nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement