Last active
July 23, 2021 15:25
-
-
Save charasyn/7389905cfcf359095447bd44a8d92483 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // floor_it_tessie.ccs | |
| // v2 with audio changes | |
| import movscr | |
| // Tessie pt 1 tempo 0xecbfb3 is originally 0x13 | |
| // 2x = 0x26 | |
| // 3x = 0x39 <- Audio engine lags trying to play it faster than this | |
| // 4x = 0x4c | |
| ROM[0xecbfb3] = byte 0x32 | |
| // Truncate the first pattern in Tessie song | |
| ROM[0xecc0db] = { byte 0xc9 byte 0x00 } | |
| // Generic routine to move to a given position | |
| define move_to_pos = 0xc3ab59 | |
| // Since we'll be in another bank, we need to have a shim | |
| // in order to call back to the "move to place" routine | |
| define move_to_pos_shim = 0xc33f41 | |
| ROM[0xc33f3d] = { | |
| mov_jml(tessie_main) | |
| // 41: move_to_pos_shim | |
| mov_jsr(move_to_pos) | |
| mov_rtl | |
| } | |
| // return to 0xc33fd0 | |
| tessie_main: { | |
| // From here, you can set the speed (in 8.8 fixed format, ex. 0x180 is 1.5 px/frame?) | |
| // and the "ending radius" (var 0x05, just a normal word) | |
| // Recommended: ending radius should be speed + 1 | |
| // so if you have speed=0x0380, radius=0x0004 | |
| movasm_set_speed(0x0180) | |
| mov_var(0x05,0x0002) | |
| mov_var(0x06,0x0278) | |
| mov_var(0x07,0x0DD0) | |
| mov_jsl(move_to_pos_shim) | |
| mov_var(0x06,0x02C8) | |
| mov_var(0x07,0x0DC0) | |
| mov_jsl(move_to_pos_shim) | |
| mov_var(0x06,0x02C8) | |
| mov_var(0x07,0x0D88) | |
| mov_jsl(move_to_pos_shim) | |
| ontick_nop | |
| unlock_text_script | |
| mov_wait(0x01) | |
| onposition(0xA039) | |
| movasm_set_speed(0x0100) | |
| mov_var(0x05,0x0002) | |
| mov_var(0x06,0x02D0) | |
| mov_var(0x07,0x0DC8) | |
| mov_jsl(move_to_pos_shim) | |
| movasm_set_speed(0x0180) | |
| mov_var(0x05,0x0003) | |
| mov_var(0x06,0x0290) | |
| mov_var(0x07,0x0E20) | |
| mov_jsl(move_to_pos_shim) | |
| movasm_set_speed(0x0200) | |
| mov_var(0x05,0x0003) | |
| mov_var(0x06,0x0280) | |
| mov_var(0x07,0x0ED0) | |
| mov_jsl(move_to_pos_shim) | |
| mov_var(0x06,0x02D8) | |
| mov_var(0x07,0x0FE8) | |
| mov_jsl(move_to_pos_shim) | |
| mov_var(0x06,0x0340) | |
| mov_var(0x07,0x1000) | |
| mov_jsl(move_to_pos_shim) | |
| mov_var(0x06,0x03B8) | |
| mov_var(0x07,0x1068) | |
| mov_jsl(move_to_pos_shim) | |
| movasm_set_speed(0x0180) | |
| mov_var(0x05,0x0003) | |
| mov_var(0x06,0x03A8) | |
| mov_var(0x07,0x10A8) | |
| mov_jsl(move_to_pos_shim) | |
| movasm_set_speed(0x0100) | |
| mov_var(0x05,0x0002) | |
| mov_var(0x06,0x03A0) | |
| mov_var(0x07,0x10C0) | |
| mov_jsl(move_to_pos_shim) | |
| mov_jml(0xc33fd0) | |
| } | |
| // /* original movement script: */ | |
| // script_480: /* C33F0C */ | |
| // setxpos(0x0258) | |
| // setypos(0x0DA0) | |
| // setzpos(0xFFC0) | |
| // mov_jsr(unknown_C3AB26) | |
| // mov_reg_imm(0x0004) | |
| // movasm_update_facing | |
| // movasm_update_sprite_graphics_1 | |
| // setzvel(0x0020) | |
| // mov_wait(0x80) | |
| // mov_wait(0x80) | |
| // unlock_text_script | |
| // mov_wait(0x80) | |
| // mov_wait(0x80) | |
| // zerovel | |
| // unlock_text_script | |
| // mov_wait(0x01) | |
| // ontick(0xC48B3B) | |
| // // This is where we hijack and do the JML to the expanded routine | |
| // movasm_set_speed(0x004C) | |
| // mov_var(0x05,0x0001) | |
| // mov_var(0x06,0x0278) | |
| // mov_var(0x07,0x0DD0) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x02C8) | |
| // mov_var(0x07,0x0DC0) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x02C8) | |
| // mov_var(0x07,0x0D88) | |
| // mov_jsr(move_to_pos) | |
| // ontick_nop | |
| // unlock_text_script | |
| // mov_wait(0x01) | |
| // onposition(0xA039) | |
| // movasm_set_speed(0x0060) | |
| // mov_var(0x06,0x02D0) | |
| // mov_var(0x07,0x0DC8) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x0290) | |
| // mov_var(0x07,0x0E20) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x0280) | |
| // mov_var(0x07,0x0ED0) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x02D8) | |
| // mov_var(0x07,0x0FE8) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x0340) | |
| // mov_var(0x07,0x1000) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x03B8) | |
| // mov_var(0x07,0x1068) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x03A8) | |
| // mov_var(0x07,0x10A8) | |
| // mov_jsr(move_to_pos) | |
| // mov_var(0x06,0x03A0) | |
| // mov_var(0x07,0x10C0) | |
| // mov_jsr(move_to_pos) | |
| // onposition(0xA03A) | |
| // asmcall(0xC03F1E) | |
| // unlock_text_script | |
| // mov_wait(0x01) | |
| // movasm_getevent(0x0081) | |
| // jne(unknown_C34014) | |
| // ontick(0xC48B3B) | |
| // setxvel(0x0035) | |
| // setyvel(0x0020) | |
| // mov_wait(0xFF) | |
| // unlock_text_script | |
| // mov_wait(0x01) | |
| // movasm_set_speed(0x0010) | |
| // mov_reg_imm(0x0003) | |
| // mov_jsr(unknown_C3AA1E) // No idea what this one does | |
| // setzvel(0xFFC0) | |
| // mov_wait(0x80) | |
| // mov_wait(0x80) | |
| // zerovel | |
| // mov_wait(0x3C) | |
| // unlock_text_script | |
| // zerovel | |
| // halt | |
| // unknown_C34014: /* C34014 */ | |
| // ontick(0xC48B3B) | |
| // setxvel(0x0035) | |
| // setyvel(0x0020) | |
| // mov_wait(0xFF) | |
| // mov_wait(0xFF) | |
| // unlock_text_script | |
| // mov_wait(0x01) | |
| // halt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| command adr24(a) "[{byte[0] a} {byte[1] a} {byte[2] a}]" | |
| command mov_end "[00]" | |
| command startloop(c) "[01 {byte c}]" // Start a loop with 'c' iterations | |
| command endloop "[02]" // End a loop and go back to start of loop body if still haven't gone through all iterations | |
| command mov_jml(addr) "[03 {adr24(addr)}]" // Analogous to ASM JML, but for movement scripts | |
| command mov_jsl(addr) "[04 {adr24(addr)}]" // Analogous to ASM JSL, but for movement scripts | |
| command mov_rtl "[05]" // Analogous to ASM RTL, but for movement scripts | |
| command mov_wait(frames) "[06 {byte frames}]" // Wait 'frames' frames (think "`pause(frames)") | |
| command task(addr) "[07 {short addr}]" // Register a background task, a movement script that runs alongside this movement script. Must be in the same bank as the current script | |
| command ontick(addr) "[08 {adr24(addr)}]" // Register a "TICK callback", an ASM function that runs every frame for the object | |
| command halt "[09]" // Halt movement script (infinitely loop it, but don't outright end it) | |
| command jeq(addr) "[0A {short addr}]" // Jump to 'addr' if REG is zero (think "BEQ_a(addr)") | |
| command jne(addr) "[0B {short addr}]" // Jump to 'addr' if REG is not zero (think "BNE_a(addr)") | |
| command endtask "[0C]" // End background task (if this movement script is not a task, it just ends the script, I believe) | |
| command mem16_and(addr, val) "[0D {short addr} 00 {short val}]" // *(uint16_t*)mem &= val | |
| command mem16_or(addr, val) "[0D {short addr} 01 {short val}]" // *(uint16_t*)mem |= val | |
| command mem16_add(addr, val) "[0D {short addr} 02 {short val}]" // *(uint16_t*)mem += val | |
| command mem16_xor(addr, val) "[0D {short addr} 03 {short val}]" // *(uint16_t*)mem ^= val | |
| command mov_var(var, value) "[0E {byte var} {short value}]" // Set a specific object VAR to immediate value ('var' must be in range 0..7) | |
| command ontick_nop "[0F]" // Same as "ontick(0xC0943B)", but faster and saves 3 bytes | |
| command multijmp(amount) "[10 {byte amount}]" // Switch on REG and JMP (think control code "[09 XX (YYYYYYYY)*XX]") | |
| command multijsr(amount) "[11 {byte amount}]" // Switch on REG and JSR (think control code "[1F C0 XX (YYYYYYYY)*XX]") | |
| command mov_mem8(addr, val) "[12 {short addr} {byte val}]" // Move 8-bit immediate value to memory | |
| command endlasttask "[13]" // End last registered background task (if no background tasks are running, it just ends the movement script, I believe) | |
| command var_and(var, val) "[14 {byte var} 00 {short val}]" // VAR &= val | |
| command var_or(var, val) "[14 {byte var} 01 {short val}]" // VAR |= val | |
| command var_add(var, val) "[14 {byte var} 02 {short val}]" // VAR += val | |
| command var_xor(var, val) "[14 {byte var} 03 {short val}]" // VAR ^= val | |
| command mov_mem16(addr, val) "[15 {short addr} {short val}]" // Move 16-bit immediate value to memory | |
| command breakeq(addr) "[16 {short addr}]" // JEQ and decrement stack pointer by 3 (clean STARTLOOP stuff) | |
| command breakne(addr) "[17 {short addr}]" // JNE and decrement stack pointer by 3 (clean STARTLOOP stuff) | |
| command mem8_and(addr, val) "[18 {short addr} 00 {byte val}]" // *(uint8_t*)mem &= val | |
| command mem8_or(addr, val) "[18 {short addr} 01 {byte val}]" // *(uint8_t*)mem |= val | |
| command mem8_xor(addr, val) "[18 {short addr} 03 {byte val}]" // *(uint8_t*)mem ^= val | |
| command mem8_add(addr, val) "[18 {short addr} 02 {byte val}]" // *(uint8_t*)mem += val | |
| command mov_jmp(addr) "[19 {short addr}]" // Analogous to ASM JMP, but for movement scripts | |
| command mov_jsr(addr) "[1A {short addr}]" // Analogous to ASM JSR, but for movement scripts | |
| command mov_rts "[1B]" // Analogous to ASM RTS, but for movement scripts | |
| command setsprmap(addr) "[1C {adr24(addr)}]" // Set pointer to spritemap data. This is kinda complicated, I also never used this, so I don't really know much about the "spritemap" format | |
| command mov_reg_imm(val) "[1D {short val}]" // Move 16-bit immediate value to REG | |
| command mov_reg_mem(addr) "[1E {short addr}]" // Move absolute memory address to REG | |
| command mov_var_reg(var) "[1F {byte var}]" // Move REG to object VAR | |
| command mov_reg_var(var) "[20 {byte var}]" // Move object VAR to REG | |
| command wait_var(var) "[21 {byte var}]" // Wait (object VAR) frames | |
| command ondraw(addr) "[22 {short addr}]" // Assign "draw object" callback function. Argument is a short ASM pointer in bank C0 | |
| command onposition(addr) "[23 {short addr}]" // Assign "calculate screen position" callback function. Argument is a short ASM pointer in bank C0 | |
| command startloop_reg "[24]" // Start a loop with REG iterations | |
| command onmove(addr) "[25 {short addr}]" // Assign "move object" callback function. Argument is a short ASM pointer in bank C0 | |
| command setanim_var(var) "[26 {byte var}]" // Set amimation frame to object VAR | |
| command reg_and(val) "[27 00 {short val}]" // REG &= val | |
| command reg_or(val) "[27 01 {short val}]" // REG |= val | |
| command reg_add(val) "[27 02 {short val}]" // REG += val | |
| command reg_xor(val) "[27 03 {short val}]" // REG ^= val | |
| command setxpos(val) "[28 {short val}]" // Set object X position | |
| command setypos(val) "[29 {short val}]" // Set object Y position | |
| command setzpos(val) "[2A {short val}]" // Set object Z position (elevation) | |
| command addxpos(val) "[2B {short val}]" // Add 'val' to object X position (can be negative) | |
| command addypos(val) "[2C {short val}]" // Add 'val' to object Y position (can be negative) | |
| command addzpos(val) "[2D {short val}]" // Add 'val' to object Z position (elevation) (can be negative) | |
| command addxvel(val) "[2E {short val}]" // Add 'val' to object X velocity (can be negative) | |
| command addyvel(val) "[2F {short val}]" // Add 'val' to object Y velocity (can be negative) | |
| command addzvel(val) "[30 {short val}]" // Add 'val' to object Z velocity (elevation) (can be negative) | |
| command zerovel "[39]" // Set object X, Y, Z velocities to zero | |
| command setanim(anim) "[3B {byte anim}]" // Set object animation frame | |
| command incanim "[3C]" // Increment object animation frame | |
| command decanim "[3D]" // Decrement object animation frame | |
| command addanim(val) "[3E {byte val}]" // Add 'val' to object animation frame (can be negative) | |
| command setxvel(val) "[3F {short val}]" // Set object X velocity | |
| command setyvel(val) "[40 {short val}]" // Set object Y velocity | |
| command setzvel(val) "[41 {short val}]" // Set object Z velocity (elevation) | |
| command asmcall(addr) "[42 {adr24(addr)}]" // Call other ASM routine | |
| command priority(val) "[43 {byte val}]" // Set object draw priority ('val' must be in range 0..3) | |
| command wait_reg "[44]" // Wait REG frames | |
| // Following are the commands for every opcode 0x80 and above | |
| command sleep0_setanim(anim) "[80 {byte anim}]" | |
| command sleep1_setanim(anim) "[81 {byte anim}]" | |
| command sleep2_setanim(anim) "[82 {byte anim}]" | |
| command sleep3_setanim(anim) "[83 {byte anim}]" | |
| command sleep4_setanim(anim) "[84 {byte anim}]" | |
| command sleep5_setanim(anim) "[85 {byte anim}]" | |
| command sleep6_setanim(anim) "[86 {byte anim}]" | |
| command sleep7_setanim(anim) "[87 {byte anim}]" | |
| command sleep8_setanim(anim) "[88 {byte anim}]" | |
| command sleep9_setanim(anim) "[89 {byte anim}]" | |
| command sleep10_setanim(anim) "[8A {byte anim}]" | |
| command sleep11_setanim(anim) "[8B {byte anim}]" | |
| command sleep12_setanim(anim) "[8C {byte anim}]" | |
| command sleep13_setanim(anim) "[8D {byte anim}]" | |
| command sleep14_setanim(anim) "[8E {byte anim}]" | |
| command sleep15_setanim(anim) "[8F {byte anim}]" | |
| command sleep0_incanim "[90]" | |
| command sleep1_incanim "[91]" | |
| command sleep2_incanim "[92]" | |
| command sleep3_incanim "[93]" | |
| command sleep4_incanim "[94]" | |
| command sleep5_incanim "[95]" | |
| command sleep6_incanim "[96]" | |
| command sleep7_incanim "[97]" | |
| command sleep8_incanim "[98]" | |
| command sleep9_incanim "[99]" | |
| command sleep10_incanim "[9A]" | |
| command sleep11_incanim "[9B]" | |
| command sleep12_incanim "[9C]" | |
| command sleep13_incanim "[9D]" | |
| command sleep14_incanim "[9E]" | |
| command sleep15_incanim "[9F]" | |
| command sleep0_decanim "[A0]" | |
| command sleep1_decanim "[A1]" | |
| command sleep2_decanim "[A2]" | |
| command sleep3_decanim "[A3]" | |
| command sleep4_decanim "[A4]" | |
| command sleep5_decanim "[A5]" | |
| command sleep6_decanim "[A6]" | |
| command sleep7_decanim "[A7]" | |
| command sleep8_decanim "[A8]" | |
| command sleep9_decanim "[A9]" | |
| command sleep10_decanim "[AA]" | |
| command sleep11_decanim "[AB]" | |
| command sleep12_decanim "[AC]" | |
| command sleep13_decanim "[AD]" | |
| command sleep14_decanim "[AE]" | |
| command sleep15_decanim "[AF]" | |
| command sleep0_addanim(val) "[B0 {byte val}]" | |
| command sleep1_addanim(val) "[B1 {byte val}]" | |
| command sleep2_addanim(val) "[B2 {byte val}]" | |
| command sleep3_addanim(val) "[B3 {byte val}]" | |
| command sleep4_addanim(val) "[B4 {byte val}]" | |
| command sleep5_addanim(val) "[B5 {byte val}]" | |
| command sleep6_addanim(val) "[B6 {byte val}]" | |
| command sleep7_addanim(val) "[B7 {byte val}]" | |
| command sleep8_addanim(val) "[B8 {byte val}]" | |
| command sleep9_addanim(val) "[B9 {byte val}]" | |
| command sleep10_addanim(val) "[BA {byte val}]" | |
| command sleep11_addanim(val) "[BB {byte val}]" | |
| command sleep12_addanim(val) "[BC {byte val}]" | |
| command sleep13_addanim(val) "[BD {byte val}]" | |
| command sleep14_addanim(val) "[BE {byte val}]" | |
| command sleep15_addanim(val) "[BF {byte val}]" | |
| command sleep0_setxvel(val) "[C0 {short val}]" | |
| command sleep1_setxvel(val) "[C1 {short val}]" | |
| command sleep2_setxvel(val) "[C2 {short val}]" | |
| command sleep3_setxvel(val) "[C3 {short val}]" | |
| command sleep4_setxvel(val) "[C4 {short val}]" | |
| command sleep5_setxvel(val) "[C5 {short val}]" | |
| command sleep6_setxvel(val) "[C6 {short val}]" | |
| command sleep7_setxvel(val) "[C7 {short val}]" | |
| command sleep8_setxvel(val) "[C8 {short val}]" | |
| command sleep9_setxvel(val) "[C9 {short val}]" | |
| command sleep10_setxvel(val) "[CA {short val}]" | |
| command sleep11_setxvel(val) "[CB {short val}]" | |
| command sleep12_setxvel(val) "[CC {short val}]" | |
| command sleep13_setxvel(val) "[CD {short val}]" | |
| command sleep14_setxvel(val) "[CE {short val}]" | |
| command sleep15_setxvel(val) "[CF {short val}]" | |
| command sleep0_setyvel(val) "[D0 {short val}]" | |
| command sleep1_setyvel(val) "[D1 {short val}]" | |
| command sleep2_setyvel(val) "[D2 {short val}]" | |
| command sleep3_setyvel(val) "[D3 {short val}]" | |
| command sleep4_setyvel(val) "[D4 {short val}]" | |
| command sleep5_setyvel(val) "[D5 {short val}]" | |
| command sleep6_setyvel(val) "[D6 {short val}]" | |
| command sleep7_setyvel(val) "[D7 {short val}]" | |
| command sleep8_setyvel(val) "[D8 {short val}]" | |
| command sleep9_setyvel(val) "[D9 {short val}]" | |
| command sleep10_setyvel(val) "[DA {short val}]" | |
| command sleep11_setyvel(val) "[DB {short val}]" | |
| command sleep12_setyvel(val) "[DC {short val}]" | |
| command sleep13_setyvel(val) "[DD {short val}]" | |
| command sleep14_setyvel(val) "[DE {short val}]" | |
| command sleep15_setyvel(val) "[DF {short val}]" | |
| command sleep0_setzvel(val) "[E0 {short val}]" | |
| command sleep1_setzvel(val) "[E1 {short val}]" | |
| command sleep2_setzvel(val) "[E2 {short val}]" | |
| command sleep3_setzvel(val) "[E3 {short val}]" | |
| command sleep4_setzvel(val) "[E4 {short val}]" | |
| command sleep5_setzvel(val) "[E5 {short val}]" | |
| command sleep6_setzvel(val) "[E6 {short val}]" | |
| command sleep7_setzvel(val) "[E7 {short val}]" | |
| command sleep8_setzvel(val) "[E8 {short val}]" | |
| command sleep9_setzvel(val) "[E9 {short val}]" | |
| command sleep10_setzvel(val) "[EA {short val}]" | |
| command sleep11_setzvel(val) "[EB {short val}]" | |
| command sleep12_setzvel(val) "[EC {short val}]" | |
| command sleep13_setzvel(val) "[ED {short val}]" | |
| command sleep14_setzvel(val) "[EE {short val}]" | |
| command sleep15_setzvel(val) "[EF {short val}]" | |
| command sleep0_asmcall(addr) "[F0 {adr24(addr)}]" | |
| command sleep1_asmcall(addr) "[F1 {adr24(addr)}]" | |
| command sleep2_asmcall(addr) "[F2 {adr24(addr)}]" | |
| command sleep3_asmcall(addr) "[F3 {adr24(addr)}]" | |
| command sleep4_asmcall(addr) "[F4 {adr24(addr)}]" | |
| command sleep5_asmcall(addr) "[F5 {adr24(addr)}]" | |
| command sleep6_asmcall(addr) "[F6 {adr24(addr)}]" | |
| command sleep7_asmcall(addr) "[F7 {adr24(addr)}]" | |
| command sleep8_asmcall(addr) "[F8 {adr24(addr)}]" | |
| command sleep9_asmcall(addr) "[F9 {adr24(addr)}]" | |
| command sleep10_asmcall(addr) "[FA {adr24(addr)}]" | |
| command sleep11_asmcall(addr) "[FB {adr24(addr)}]" | |
| command sleep12_asmcall(addr) "[FC {adr24(addr)}]" | |
| command sleep13_asmcall(addr) "[FD {adr24(addr)}]" | |
| command sleep14_asmcall(addr) "[FE {adr24(addr)}]" | |
| command sleep15_asmcall(addr) "[FF {adr24(addr)}]" | |
| // Following are asmcall routines that take VARIABLE amounts of parameters | |
| command movasm_select_random_value(amount) "[42 82 9F C0 {byte amount}]" | |
| // Following are asmcall routines that take parameters | |
| command movasm_update_facing "[42 5F A6 C0]" | |
| command movasm_unk_surface_flags "[42 DB C7 C0]" | |
| command movasm_update_sprite_graphics_1 "[42 BF A4 C0]" | |
| command movasm_update_sprite_graphics_2 "[42 A8 A4 C0]" | |
| command movasm_update_sprite_graphics_3 "[42 B2 A4 C0]" | |
| command movasm_disable_collisions "[42 2F A8 C0]" | |
| command movasm_destroy_thisobj "[42 F1 20 C0]" | |
| command movasm_find_angle_toward_position "[42 DB 6A C4]" | |
| command movasm_update_facing_from_angle "[42 0A 6B C4]" | |
| command movasm_set_velocity_in_direction "[42 44 70 C4]" | |
| command movasm_walk_toward_position "[42 DC A8 C0]" | |
| command unlock_text_script "[42 46 6E C4]" | |
| command movasm_wait_for_entity_index_frames "[42 23 00 C4]" | |
| command asmcall_C05E76(arg1, arg2) "[42 76 5E C0 {byte arg1} {adr24(arg2)}]" | |
| command asmcall_C09E71(arg) "[42 71 9E C0 {short arg}]" | |
| command asmcall_C09FAE(arg) "[42 AE 9F C0 {short arg}]" | |
| command asmcall_C09FBB(arg) "[42 BB 9F C0 {short arg}]" | |
| command asmcall_C0A643(arg) "[42 43 A6 C0 {short arg}]" | |
| command asmcall_C0A651(arg) "[42 51 A6 C0 {byte arg}]" | |
| command movasm_set_surface_flags(arg) "[42 79 A6 C0 {byte arg}]" | |
| command movasm_set_speed(speed) "[42 85 A6 C0 {short speed}]" | |
| command asmcall_C0A6A2(arg) "[42 A2 A6 C0 {short arg}]" | |
| command asmcall_C0A6AD(arg) "[42 AD A6 C0 {short arg}]" | |
| command asmcall_C0A841(arg) "[42 41 A8 C0 {short arg}]" | |
| command movasm_getevent(event) "[42 4C A8 C0 {short event}]" | |
| command movasm_setevent(event) "[42 57 A8 C0 {short event}]" | |
| command movasm_copy_party_char_position(char) "[42 64 A8 C0 {byte char}]" | |
| command movasm_copy_party_leader_position "[42 64 A8 C0 FF]" | |
| command movasm_copy_sprite_position(spr) "[42 6F A8 C0 {short spr}]" | |
| command asmcall_C0A87A(arg, arg2) "[42 7A A8 C0 {short arg} {short arg2}]" | |
| command movasm_execute_text_block(ptr) "[42 8D A8 C0 {longbe16(ptr)}]" | |
| command movasm_execute_text_block2(ptr) "[42 A0 A8 C0 {longbe16(ptr)}]" | |
| command asmcall_C0A8B3(arg, arg2) "[42 B3 A8 C0 {short arg} {short arg2}]" | |
| command asmcall_C0A907(arg) "[42 07 A9 C0 {byte arg}]" | |
| command asmcall_C0A912(arg, arg2, arg3) "[42 12 A9 C0 {short arg} {short arg2} {byte arg3}]" | |
| command asmcall_C0A92D(arg) "[42 2D A9 C0 {short arg}]" | |
| command asmcall_C0A938(arg) "[42 38 A9 C0 {short arg}]" | |
| command asmcall_C0A943(arg) "[42 43 A9 C0 {byte arg}]" | |
| command asmcall_C0A94E(arg) "[42 4E A9 C0 {short arg}]" | |
| command asmcall_C0A959(arg) "[42 59 A9 C0 {short arg}]" | |
| command asmcall_C0A964(arg, arg2) "[42 64 A9 C0 {short arg} {short arg2}]" | |
| command asmcall_C0A977(arg, arg2) "[42 77 A9 C0 {short arg} {short arg2}]" | |
| command asmcall_C0A98B(arg, arg2) "[42 8B A9 C0 {short arg} {short arg2}]" | |
| command asmcall_C0A99F(arg, arg2) "[42 9F A9 C0 {short arg} {short arg2}]" | |
| command asmcall_C0A9B3(arg, arg2, arg3) "[42 B3 A9 C0 {short arg} {short arg2} {short arg3}]" | |
| command asmcall_C0A9CF(arg, arg2, arg3) "[42 CF A9 C0 {short arg} {short arg2} {short arg3}]" | |
| command asmcall_C0A9EB(arg, arg2, arg3) "[42 EB A9 C0 {short arg} {short arg2} {short arg3}]" | |
| command asmcall_C0AA07(arg, arg2, arg3) "[42 07 AA C0 {short arg} {short arg2} {short arg3}]" | |
| command asmcall_C0AA23(arg, arg2, arg3) "[42 23 AA C0 {short arg} {short arg2} {short arg3}]" | |
| command asmcall_C0AA3F(arg, arg2, arg3) "[42 3F AA C0 {byte arg} {byte arg2} {byte arg3}]" | |
| command movasm_set_facing_anim(facing, anim) "[42 6E AA C0 {byte facing} {byte anim}]" | |
| command asmcall_C0AAB5(arg, arg2, arg3) "[42 B5 AA C0 {short arg} {byte arg2} {byte arg3}]" | |
| command asmcall_C0AAD5(arg, arg2) "[42 D5 AA C0 {byte arg} {short arg2}]" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment