diff options
Diffstat (limited to 'macros/scripts')
-rw-r--r-- | macros/scripts/audio.asm | 265 | ||||
-rw-r--r-- | macros/scripts/effect_commands.asm | 187 | ||||
-rw-r--r-- | macros/scripts/event.asm | 1069 | ||||
-rw-r--r-- | macros/scripts/gfx_anim.asm | 44 | ||||
-rw-r--r-- | macros/scripts/maps.asm | 108 | ||||
-rw-r--r-- | macros/scripts/move_anim.asm | 294 | ||||
-rw-r--r-- | macros/scripts/movement.asm | 246 | ||||
-rw-r--r-- | macros/scripts/text.asm | 133 | ||||
-rw-r--r-- | macros/scripts/trade_anim.asm | 255 |
9 files changed, 2601 insertions, 0 deletions
diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm new file mode 100644 index 000000000..3766785ba --- /dev/null +++ b/macros/scripts/audio.asm @@ -0,0 +1,265 @@ +note: MACRO + dn (\1), (\2) - 1 + ENDM + +sound: macro + note \1, \2 + db \3 ; intensity + dw \4 ; frequency + endm + +noise: macro + note \1, \2 ; duration + db \3 ; intensity + db \4 ; frequency + endm + +musicheader: macro + ; number of tracks, track idx, address + dbw ((\1 - 1) << 6) + (\2 - 1), \3 + endm + +cry_header: macro + dw \1, \2, \3 + endm + +; MusicCommands indexes (see audio/engine.asm) + enum_start $d8 + + enum notetype_cmd ; $d8 +octave: macro + db notetype_cmd - (\1) + endm + +notetype: macro + db notetype_cmd + db \1 ; note_length + if _NARG >= 2 + db \2 ; intensity + endc + endm + + enum pitchoffset_cmd ; $d9 +pitchoffset: macro + db pitchoffset_cmd + dn \1, \2 - 1 ; octave, key + endm + + enum tempo_cmd ; $da +tempo: macro + db tempo_cmd + bigdw \1 ; tempo + endm + + enum dutycycle_cmd ; $db +dutycycle: macro + db dutycycle_cmd + db \1 ; duty_cycle + endm + + enum intensity_cmd ; $dc +intensity: macro + db intensity_cmd + db \1 ; intensity + endm + + enum soundinput_cmd ; $dd +soundinput: macro + db soundinput_cmd + db \1 ; input + endm + + enum sound_duty_cmd ; $de +sound_duty: macro + db sound_duty_cmd + db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) ; duty sequence + endm + + enum togglesfx_cmd ; $df +togglesfx: macro + db togglesfx_cmd + endm + + enum slidepitchto_cmd ; $e0 +slidepitchto: macro + db slidepitchto_cmd + db \1 - 1 ; duration + dn \2, \3 ; octave, pitch + endm + + enum vibrato_cmd ; $e1 +vibrato: macro + db vibrato_cmd + db \1 ; delay + db \2 ; extent + endm + + enum unknownmusic0xe2_cmd ; $e2 +unknownmusic0xe2: macro + db unknownmusic0xe2_cmd + db \1 ; unknown + endm + + enum togglenoise_cmd ; $e3 +togglenoise: macro + db togglenoise_cmd + db \1 ; id + endm + + enum panning_cmd ; $e4 +panning: macro + db panning_cmd + db \1 ; tracks + endm + + enum volume_cmd ; $e5 +volume: macro + db volume_cmd + db \1 ; volume + endm + + enum tone_cmd ; $e6 +tone: macro + db tone_cmd + bigdw \1 ; tone + endm + + enum unknownmusic0xe7_cmd ; $e7 +unknownmusic0xe7: macro + db unknownmusic0xe7_cmd + db \1 ; unknown + endm + + enum unknownmusic0xe8_cmd ; $e8 +unknownmusic0xe8: macro + db unknownmusic0xe8_cmd + db \1 ; unknown + endm + + enum tempo_relative_cmd ; $e9 +tempo_relative: macro + db tempo_relative_cmd + bigdw \1 ; value + endm + + enum restartchannel_cmd ; $ea +restartchannel: macro + db restartchannel_cmd + dw \1 ; address + endm + + enum newsong_cmd ; $eb +newsong: macro + db newsong_cmd + bigdw \1 ; id + endm + + enum sfxpriorityon_cmd ; $ec +sfxpriorityon: macro + db sfxpriorityon_cmd + endm + + enum sfxpriorityoff_cmd ; $ed +sfxpriorityoff: macro + db sfxpriorityoff_cmd + endm + + enum unknownmusic0xee_cmd ; $ee +unknownmusic0xee: macro + db unknownmusic0xee_cmd + dw \1 ; address + endm + + enum stereopanning_cmd ; $ef +stereopanning: macro + db stereopanning_cmd + db \1 ; tracks + endm + + enum sfxtogglenoise_cmd ; $f0 +sfxtogglenoise: macro + db sfxtogglenoise_cmd + db \1 ; id + endm + + enum music0xf1_cmd ; $f1 +music0xf1: macro + db music0xf1_cmd + endm + + enum music0xf2_cmd ; $f2 +music0xf2: macro + db music0xf2_cmd + endm + + enum music0xf3_cmd ; $f3 +music0xf3: macro + db music0xf3_cmd + endm + + enum music0xf4_cmd ; $f4 +music0xf4: macro + db music0xf4_cmd + endm + + enum music0xf5_cmd ; $f5 +music0xf5: macro + db music0xf5_cmd + endm + + enum music0xf6_cmd ; $f6 +music0xf6: macro + db music0xf6_cmd + endm + + enum music0xf7_cmd ; $f7 +music0xf7: macro + db music0xf7_cmd + endm + + enum music0xf8_cmd ; $f8 +music0xf8: macro + db music0xf8_cmd + endm + + enum unknownmusic0xf9_cmd ; $f9 +unknownmusic0xf9: macro + db unknownmusic0xf9_cmd + endm + + enum setcondition_cmd ; $fa +setcondition: macro + db setcondition_cmd + db \1 ; condition + endm + + enum jumpif_cmd ; $fb +jumpif: macro + db jumpif_cmd + db \1 ; condition + dw \2 ; address + endm + + enum jumpchannel_cmd ; $fc +jumpchannel: macro + db jumpchannel_cmd + dw \1 ; address + endm + + enum loopchannel_cmd ; $fd +loopchannel: macro + db loopchannel_cmd + db \1 ; count + dw \2 ; address + endm + + enum callchannel_cmd ; $fe +callchannel: macro + db callchannel_cmd + dw \1 ; address + endm + + enum endchannel_cmd ; $ff +endchannel: macro + db endchannel_cmd + endm diff --git a/macros/scripts/effect_commands.asm b/macros/scripts/effect_commands.asm new file mode 100644 index 000000000..4fd2475b7 --- /dev/null +++ b/macros/scripts/effect_commands.asm @@ -0,0 +1,187 @@ +command: macro + enum \1_command +\1 equs "db \1_command" +endm + +; BattleCommandPointers indexes (see battle/effect_commands.asm) + enum_start 1 + command checkturn ; 01 + command checkobedience ; 02 + command usedmovetext ; 03 + command doturn ; 04 + command critical ; 05 + command damagestats ; 06 + command stab ; 07 + command damagevariation ; 08 + command checkhit ; 09 + command lowersub ; 0a + command hittargetnosub ; 0b + command raisesub ; 0c + command failuretext ; 0d + command checkfaint ; 0e + command criticaltext ; 0f + command supereffectivetext ; 10 + command checkdestinybond ; 11 + command buildopponentrage ; 12 + command poisontarget ; 13 + command sleeptarget ; 14 + command draintarget ; 15 + command eatdream ; 16 + command burntarget ; 17 + command freezetarget ; 18 + command paralyzetarget ; 19 + command selfdestruct ; 1a + command mirrormove ; 1b + command statup ; 1c + command statdown ; 1d + command payday ; 1e + command conversion ; 1f + command resetstats ; 20 + command storeenergy ; 21 + command unleashenergy ; 22 + command forceswitch ; 23 + command endloop ; 24 + command flinchtarget ; 25 + command ohko ; 26 + command recoil ; 27 + command mist ; 28 + command focusenergy ; 29 + command confuse ; 2a + command confusetarget ; 2b + command heal ; 2c + command transform ; 2d + command screen ; 2e + command poison ; 2f + command paralyze ; 30 + command substitute ; 31 + command rechargenextturn ; 32 + command mimic ; 33 + command metronome ; 34 + command leechseed ; 35 + command splash ; 36 + command disable ; 37 + command cleartext ; 38 + command charge ; 39 + command checkcharge ; 3a + command traptarget ; 3b + command effect0x3c ; 3c + command rampage ; 3d + command checkrampage ; 3e + command constantdamage ; 3f + command counter ; 40 + command encore ; 41 + command painsplit ; 42 + command snore ; 43 + command conversion2 ; 44 + command lockon ; 45 + command sketch ; 46 + command defrostopponent ; 47 + command sleeptalk ; 48 + command destinybond ; 49 + command spite ; 4a + command falseswipe ; 4b + command healbell ; 4c + command kingsrock ; 4d + command triplekick ; 4e + command kickcounter ; 4f + command thief ; 50 + command arenatrap ; 51 + command nightmare ; 52 + command defrost ; 53 + command curse ; 54 + command protect ; 55 + command spikes ; 56 + command foresight ; 57 + command perishsong ; 58 + command startsandstorm ; 59 + command endure ; 5a + command checkcurl ; 5b + command rolloutpower ; 5c + command effect0x5d ; 5d + command furycutter ; 5e + command attract ; 5f + command happinesspower ; 60 + command present ; 61 + command damagecalc ; 62 + command frustrationpower ; 63 + command safeguard ; 64 + command checksafeguard ; 65 + command getmagnitude ; 66 + command batonpass ; 67 + command pursuit ; 68 + command clearhazards ; 69 + command healmorn ; 6a + command healday ; 6b + command healnite ; 6c + command hiddenpower ; 6d + command startrain ; 6e + command startsun ; 6f + command attackup ; 70 + command defenseup ; 71 + command speedup ; 72 + command specialattackup ; 73 + command specialdefenseup ; 74 + command accuracyup ; 75 + command evasionup ; 76 + command attackup2 ; 77 + command defenseup2 ; 78 + command speedup2 ; 79 + command specialattackup2 ; 7a + command specialdefenseup2 ; 7b + command accuracyup2 ; 7c + command evasionup2 ; 7d + command attackdown ; 7e + command defensedown ; 7f + command speeddown ; 80 + command specialattackdown ; 81 + command specialdefensedown ; 82 + command accuracydown ; 83 + command evasiondown ; 84 + command attackdown2 ; 85 + command defensedown2 ; 86 + command speeddown2 ; 87 + command specialattackdown2 ; 88 + command specialdefensedown2 ; 89 + command accuracydown2 ; 8a + command evasiondown2 ; 8b + command statupmessage ; 8c + command statdownmessage ; 8d + command statupfailtext ; 8e + command statdownfailtext ; 8f + command effectchance ; 90 + command statdownanim ; 91 + command statupanim ; 92 + command switchturn ; 93 + command fakeout ; 94 + command bellydrum ; 95 + command psychup ; 96 + command rage ; 97 + command doubleflyingdamage ; 98 + command doubleundergrounddamage ; 99 + command mirrorcoat ; 9a + command checkfuturesight ; 9b + command futuresight ; 9c + command doubleminimizedamage ; 9d + command skipsuncharge ; 9e + command thunderaccuracy ; 9f + command teleport ; a0 + command beatup ; a1 + command ragedamage ; a2 + command resettypematchup ; a3 + command allstatsup ; a4 + command effect0xa5 ; a5 + command raisesubnoanim ; a6 + command lowersubnoanim ; a7 + command effect0xa8 ; a8 + command clearmissdamage ; a9 + command movedelay ; aa + command hittarget ; ab + command tristatuschance ; ac + command supereffectivelooptext ; ad + command startloop ; ae + command curl ; af + +__enum__ set $fe + + command endturn ; fe + command endmove ; ff diff --git a/macros/scripts/event.asm b/macros/scripts/event.asm new file mode 100644 index 000000000..c40d6f8fd --- /dev/null +++ b/macros/scripts/event.asm @@ -0,0 +1,1069 @@ +; ScriptCommandTable indexes (see engine/scripting.asm) + enum_start + + enum scall_command ; $00 +scall: macro + db scall_command + dw \1 ; pointer + endm + + enum farscall_command ; $01 +farscall: macro + db farscall_command + dba \1 + endm + + enum ptcall_command ; $02 +ptcall: macro + db ptcall_command + dw \1 ; pointer + endm + + enum jump_command ; $03 +jump: macro + db jump_command + dw \1 ; pointer + endm + + enum farjump_command ; $04 +farjump: macro + db farjump_command + dba \1 + endm + + enum ptjump_command ; $05 +ptjump: macro + db ptjump_command + dw \1 ; pointer + endm + + enum if_equal_command ; $06 +if_equal: macro + db if_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_not_equal_command ; $07 +if_not_equal: macro + db if_not_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum iffalse_command ; $08 +iffalse: macro + db iffalse_command + dw \1 ; pointer + endm + + enum iftrue_command ; $09 +iftrue: macro + db iftrue_command + dw \1 ; pointer + endm + + enum if_greater_than_command ; $0a +if_greater_than: macro + db if_greater_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_less_than_command ; $0b +if_less_than: macro + db if_less_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum jumpstd_command ; $0c +jumpstd: macro + db jumpstd_command + dw \1 ; predefined_script + endm + + enum callstd_command ; $0d +callstd: macro + db callstd_command + dw \1 ; predefined_script + endm + + enum callasm_command ; $0e +callasm: macro + db callasm_command + dba \1 + endm + + enum special_command ; $0f +special: macro + db special_command + dw (\1Special - SpecialsPointers) / 3 + endm + +add_special: MACRO +\1Special:: + dba \1 +ENDM + + enum ptcallasm_command ; $10 +ptcallasm: macro + db ptcallasm_command + dw \1 ; asm + endm + + enum checkmaptriggers_command ; $11 +checkmaptriggers: macro + db checkmaptriggers_command + map \1 ; map + endm + + enum domaptrigger_command ; $12 +domaptrigger: macro + db domaptrigger_command + map \1 ; map + db \2 ; trigger_id + endm + + enum checktriggers_command ; $13 +checktriggers: macro + db checktriggers_command + endm + + enum dotrigger_command ; $14 +dotrigger: macro + db dotrigger_command + db \1 ; trigger_id + endm + + enum writebyte_command ; $15 +writebyte: macro + db writebyte_command + db \1 ; value + endm + + enum addvar_command ; $16 +addvar: macro + db addvar_command + db \1 ; value + endm + + enum random_command ; $17 +random: macro + db random_command + db \1 ; input + endm + + enum checkver_command ; $18 +checkver: macro + db checkver_command + endm + + enum copybytetovar_command ; $19 +copybytetovar: macro + db copybytetovar_command + dw \1 ; address + endm + + enum copyvartobyte_command ; $1a +copyvartobyte: macro + db copyvartobyte_command + dw \1 ; address + endm + + enum loadvar_command ; $1b +loadvar: macro + db loadvar_command + dw \1 ; address + db \2 ; value + endm + + enum checkcode_command ; $1c +checkcode: macro + db checkcode_command + db \1 ; variable_id + endm + + enum writevarcode_command ; $1d +writevarcode: macro + db writevarcode_command + db \1 ; variable_id + endm + + enum writecode_command ; $1e +writecode: macro + db writecode_command + db \1 ; variable_id + db \2 ; value + endm + + enum giveitem_command ; $1f +giveitem: macro + db giveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum takeitem_command ; $20 +takeitem: macro + db takeitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum checkitem_command ; $21 +checkitem: macro + db checkitem_command + db \1 ; item + endm + + enum givemoney_command ; $22 +givemoney: macro + db givemoney_command + db \1 ; account + dt \2 ; money + endm + + enum takemoney_command ; $23 +takemoney: macro + db takemoney_command + db \1 ; account + dt \2 ; money + endm + + enum checkmoney_command ; $24 +checkmoney: macro + db checkmoney_command + db \1 ; account + dt \2 ; money + endm + + enum givecoins_command ; $25 +givecoins: macro + db givecoins_command + dw \1 ; coins + endm + + enum takecoins_command ; $26 +takecoins: macro + db takecoins_command + dw \1 ; coins + endm + + enum checkcoins_command ; $27 +checkcoins: macro + db checkcoins_command + dw \1 ; coins + endm + + enum addcellnum_command ; $28 +addcellnum: macro + db addcellnum_command + db \1 ; person + endm + + enum delcellnum_command ; $29 +delcellnum: macro + db delcellnum_command + db \1 ; person + endm + + enum checkcellnum_command ; $2a +checkcellnum: macro + db checkcellnum_command + db \1 ; person + endm + + enum checktime_command ; $2b +checktime: macro + db checktime_command + db \1 ; time + endm + +checkmorn EQUS "checktime MORN" +checkday EQUS "checktime DAY" +checknite EQUS "checktime NITE" + + enum checkpoke_command ; $2c +checkpoke: macro + db checkpoke_command + db \1 ; pkmn + endm + + enum givepoke_command ; $2d +givepoke: macro + db givepoke_command + db \1 ; pokemon + db \2 ; level + if _NARG >= 3 + db \3 ; item + if _NARG >= 4 + db \4 ; trainer + if \4 + dw \5 ; trainer_name_pointer + dw \6 ; pkmn_nickname + endc + else + db 0 + endc + else + db 0, 0 + endc + endm + + enum giveegg_command ; $2e +giveegg: macro + db giveegg_command + db \1 ; pkmn + db \2 ; level + endm + + enum givepokeitem_command ; $2f +givepokeitem: macro + db givepokeitem_command + dw \1 ; pointer + endm + + enum checkpokeitem_command ; $30 +checkpokeitem: macro + db checkpokeitem_command + dw \1 ; pointer + endm + + enum checkevent_command ; $31 +checkevent: macro + db checkevent_command + dw \1 ; event_flag + endm + + enum clearevent_command ; $32 +clearevent: macro + db clearevent_command + dw \1 ; event_flag + endm + + enum setevent_command ; $33 +setevent: macro + db setevent_command + dw \1 ; event_flag + endm + + enum checkflag_command ; $34 +checkflag: macro + db checkflag_command + dw \1 ; engine_flag + endm + + enum clearflag_command ; $35 +clearflag: macro + db clearflag_command + dw \1 ; engine_flag + endm + + enum setflag_command ; $36 +setflag: macro + db setflag_command + dw \1 ; engine_flag + endm + + enum wildon_command ; $37 +wildon: macro + db wildon_command + endm + + enum wildoff_command ; $38 +wildoff: macro + db wildoff_command + endm + + enum xycompare_command ; $39 +xycompare: macro + db xycompare_command + dw \1 ; pointer + endm + + enum warpmod_command ; $3a +warpmod: macro + db warpmod_command + db \1 ; warp_id + map \2 ; map + endm + + enum blackoutmod_command ; $3b +blackoutmod: macro + db blackoutmod_command + map \1 ; map + endm + + enum warp_command ; $3c +warp: macro + db warp_command + map \1 ; map + db \2 ; x + db \3 ; y + endm + + enum readmoney_command ; $3d +readmoney: macro + db readmoney_command + db \1 ; account + db \2 ; memory + endm + + enum readcoins_command ; $3e +readcoins: macro + db readcoins_command + db \1 ; memory + endm + + enum RAM2MEM_command ; $3f +RAM2MEM: macro + db RAM2MEM_command + db \1 ; memory + endm + + enum pokenamemem_command ; $40 +pokenamemem: macro + db pokenamemem_command + db \1 ; pokemon + db \2 ; memory + endm + + enum itemtotext_command ; $41 +itemtotext: macro + db itemtotext_command + db \1 ; item + db \2 ; memory + endm + + enum mapnametotext_command ; $42 +mapnametotext: macro + db mapnametotext_command + db \1 ; memory + endm + + enum trainertotext_command ; $43 +trainertotext: macro + db trainertotext_command + db \1 ; trainer_id + db \2 ; trainer_group + db \3 ; memory + endm + + enum stringtotext_command ; $44 +stringtotext: macro + db stringtotext_command + dw \1 ; text_pointer + db \2 ; memory + endm + + enum itemnotify_command ; $45 +itemnotify: macro + db itemnotify_command + endm + + enum pocketisfull_command ; $46 +pocketisfull: macro + db pocketisfull_command + endm + + enum opentext_command ; $47 +opentext: macro + db opentext_command + endm + + enum refreshscreen_command ; $48 +refreshscreen: macro + db refreshscreen_command + db \1 ; dummy + endm + + enum closetext_command ; $49 +closetext: macro + db closetext_command + endm + + enum loadbytec2cf_command ; $4a +loadbytec2cf: macro + db loadbytec2cf_command + db \1 ; byte + endm + + enum farwritetext_command ; $4b +farwritetext: macro + db farwritetext_command + dba \1 + endm + + enum writetext_command ; $4c +writetext: macro + db writetext_command + dw \1 ; text_pointer + endm + + enum repeattext_command ; $4d +repeattext: macro + db repeattext_command + db \1 ; byte + db \2 ; byte + endm + + enum yesorno_command ; $4e +yesorno: macro + db yesorno_command + endm + + enum loadmenudata_command ; $4f +loadmenudata: macro + db loadmenudata_command + dw \1 ; data + endm + + enum closewindow_command ; $50 +closewindow: macro + db closewindow_command + endm + + enum jumptextfaceplayer_command ; $51 +jumptextfaceplayer: macro + db jumptextfaceplayer_command + dw \1 ; text_pointer + endm + +; IF _CRYSTAL + enum farjumptext_command ; $52 +farjumptext: macro + db farjumptext_command + dba \1 + endm +; ENDC + + enum jumptext_command ; $53 +jumptext: macro + db jumptext_command + dw \1 ; text_pointer + endm + + enum waitbutton_command ; $54 +waitbutton: macro + db waitbutton_command + endm + + enum buttonsound_command ; $55 +buttonsound: macro + db buttonsound_command + endm + + enum pokepic_command ; $56 +pokepic: macro + db pokepic_command + db \1 ; pokemon + endm + + enum closepokepic_command ; $57 +closepokepic: macro + db closepokepic_command + endm + + enum _2dmenu_command ; $58 +_2dmenu: macro + db _2dmenu_command + endm + + enum verticalmenu_command ; $59 +verticalmenu: macro + db verticalmenu_command + endm + + enum loadpikachudata_command ; $5a +loadpikachudata: macro + db loadpikachudata_command + endm + + enum randomwildmon_command ; $5b +randomwildmon: macro + db randomwildmon_command + endm + + enum loadmemtrainer_command ; $5c +loadmemtrainer: macro + db loadmemtrainer_command + endm + + enum loadwildmon_command ; $5d +loadwildmon: macro + db loadwildmon_command + db \1 ; pokemon + db \2 ; level + endm + + enum loadtrainer_command ; $5e +loadtrainer: macro + db loadtrainer_command + db \1 ; trainer_group + db \2 ; trainer_id + endm + + enum startbattle_command ; $5f +startbattle: macro + db startbattle_command + endm + + enum reloadmapafterbattle_command ; $60 +reloadmapafterbattle: macro + db reloadmapafterbattle_command + endm + + enum catchtutorial_command ; $61 +catchtutorial: macro + db catchtutorial_command + db \1 ; byte + endm + + enum trainertext_command ; $62 +trainertext: macro + db trainertext_command + db \1 ; which_text + endm + + enum trainerflagaction_command ; $63 +trainerflagaction: macro + db trainerflagaction_command + db \1 ; action + endm + + enum winlosstext_command ; $64 +winlosstext: macro + db winlosstext_command + dw \1 ; win_text_pointer + dw \2 ; loss_text_pointer + endm + + enum scripttalkafter_command ; $65 +scripttalkafter: macro + db scripttalkafter_command + endm + + enum end_if_just_battled_command ; $66 +end_if_just_battled: macro + db end_if_just_battled_command + endm + + enum check_just_battled_command ; $67 +check_just_battled: macro + db check_just_battled_command + endm + + enum setlasttalked_command ; $68 +setlasttalked: macro + db setlasttalked_command + db \1 ; person + endm + + enum applymovement_command ; $69 +applymovement: macro + db applymovement_command + db \1 ; person + dw \2 ; data + endm + + enum applymovement2_command ; $6a +applymovement2: macro + db applymovement2_command + dw \1 ; data + endm + + enum faceplayer_command ; $6b +faceplayer: macro + db faceplayer_command + endm + + enum faceperson_command ; $6c +faceperson: macro + db faceperson_command + db \1 ; person1 + db \2 ; person2 + endm + + enum variablesprite_command ; $6d +variablesprite: macro + db variablesprite_command + db \1 - SPRITE_VARS ; byte + db \2 ; sprite + endm + + enum disappear_command ; $6e +disappear: macro + db disappear_command + db \1 ; person + endm + + enum appear_command ; $6f +appear: macro + db appear_command + db \1 ; person + endm + + enum follow_command ; $70 +follow: macro + db follow_command + db \1 ; person2 + db \2 ; person1 + endm + + enum stopfollow_command ; $71 +stopfollow: macro + db stopfollow_command + endm + + enum moveperson_command ; $72 +moveperson: macro + db moveperson_command + db \1 ; person + db \2 ; x + db \3 ; y + endm + + enum writepersonxy_command ; $73 +writepersonxy: macro + db writepersonxy_command + db \1 ; person + endm + + enum loademote_command ; $74 +loademote: macro + db loademote_command + db \1 ; bubble + endm + + enum showemote_command ; $75 +showemote: macro + db showemote_command + db \1 ; bubble + db \2 ; person + db \3 ; time + endm + + enum spriteface_command ; $76 +spriteface: macro + db spriteface_command + db \1 ; person + db \2 ; facing + endm + + enum follownotexact_command ; $77 +follownotexact: macro + db follownotexact_command + db \1 ; person2 + db \2 ; person1 + endm + + enum earthquake_command ; $78 +earthquake: macro + db earthquake_command + db \1 ; param + endm + + enum changemap_command ; $79 +changemap: macro + db changemap_command + db \1 ; map_bank + dw \2 ; map_data_pointer + endm + + enum changeblock_command ; $7a +changeblock: macro + db changeblock_command + db \1 ; x + db \2 ; y + db \3 ; block + endm + + enum reloadmap_command ; $7b +reloadmap: macro + db reloadmap_command + endm + + enum reloadmappart_command ; $7c +reloadmappart: macro + db reloadmappart_command + endm + + enum writecmdqueue_command ; $7d +writecmdqueue: macro + db writecmdqueue_command + dw \1 ; queue_pointer + endm + + enum delcmdqueue_command ; $7e +delcmdqueue: macro + db delcmdqueue_command + db \1 ; byte + endm + + enum playmusic_command ; $7f +playmusic: macro + db playmusic_command + dw \1 ; music_pointer + endm + + enum encountermusic_command ; $80 +encountermusic: macro + db encountermusic_command + endm + + enum musicfadeout_command ; $81 +musicfadeout: macro + db musicfadeout_command + dw \1 ; music + db \2 ; fadetime + endm + + enum playmapmusic_command ; $82 +playmapmusic: macro + db playmapmusic_command + endm + + enum dontrestartmapmusic_command ; $83 +dontrestartmapmusic: macro + db dontrestartmapmusic_command + endm + + enum cry_command ; $84 +cry: macro + db cry_command + dw \1 ; cry_id + endm + + enum playsound_command ; $85 +playsound: macro + db playsound_command + dw \1 ; sound_pointer + endm + + enum waitsfx_command ; $86 +waitsfx: macro + db waitsfx_command + endm + + enum warpsound_command ; $87 +warpsound: macro + db warpsound_command + endm + + enum specialsound_command ; $88 +specialsound: macro + db specialsound_command + endm + + enum passtoengine_command ; $89 +passtoengine: macro + db passtoengine_command + db \1 ; data_pointer + endm + + enum newloadmap_command ; $8a +newloadmap: macro + db newloadmap_command + db \1 ; which_method + endm + + enum pause_command ; $8b +pause: macro + db pause_command + db \1 ; length + endm + + enum deactivatefacing_command ; $8c +deactivatefacing: macro + db deactivatefacing_command + db \1 ; time + endm + + enum priorityjump_command ; $8d +priorityjump: macro + db priorityjump_command + dw \1 ; pointer + endm + + enum warpcheck_command ; $8e +warpcheck: macro + db warpcheck_command + endm + + enum ptpriorityjump_command ; $8f +ptpriorityjump: macro + db ptpriorityjump_command + dw \1 ; pointer + endm + + enum return_command ; $90 +return: macro + db return_command + endm + + enum end_command ; $91 +end: macro + db end_command + endm + + enum reloadandreturn_command ; $92 +reloadandreturn: macro + db reloadandreturn_command + db \1 ; which_method + endm + + enum end_all_command ; $93 +end_all: macro + db end_all_command + endm + + enum pokemart_command ; $94 +pokemart: macro + db pokemart_command + db \1 ; dialog_id + dw \2 ; mart_id + endm + + enum elevator_command ; $95 +elevator: macro + db elevator_command + dw \1 ; floor_list_pointer + endm + + enum trade_command ; $96 +trade: macro + db trade_command + db \1 ; trade_id + endm + + enum askforphonenumber_command ; $97 +askforphonenumber: macro + db askforphonenumber_command + db \1 ; number + endm + + enum phonecall_command ; $98 +phonecall: macro + db phonecall_command + dw \1 ; caller_name + endm + + enum hangup_command ; $99 +hangup: macro + db hangup_command + endm + + enum describedecoration_command ; $9a +describedecoration: macro + db describedecoration_command + db \1 ; byte + endm + + enum fruittree_command ; $9b +fruittree: macro + db fruittree_command + db \1 ; tree_id + endm + + enum specialphonecall_command ; $9c +specialphonecall: macro + db specialphonecall_command + dw \1 ; call_id + endm + + enum checkphonecall_command ; $9d +checkphonecall: macro + db checkphonecall_command + endm + + enum verbosegiveitem_command ; $9e +verbosegiveitem: macro + db verbosegiveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum verbosegiveitem2_command ; $9f +verbosegiveitem2: macro + db verbosegiveitem2_command + db \1 ; item + db \2 ; var + endm + + enum swarm_command ; $a0 +swarm: macro + db swarm_command + db \1 ; flag + map \2 ; map + endm + + enum halloffame_command ; $a1 +halloffame: macro + db halloffame_command + endm + + enum credits_command ; $a2 +credits: macro + db credits_command + endm + + enum warpfacing_command ; $a3 +warpfacing: macro + db warpfacing_command + db \1 ; facing + map \2 ; map + db \3 ; x + db \4 ; y + endm + + enum battletowertext_command ; $a4 +battletowertext: macro + db battletowertext_command + db \1 ; memory + endm + + enum landmarktotext_command ; $a5 +landmarktotext: macro + db landmarktotext_command + db \1 ; id + db \2 ; memory + endm + + enum trainerclassname_command ; $a6 +trainerclassname: macro + db trainerclassname_command + db \1 ; id + db \2 ; memory + endm + + enum name_command ; $a7 +name: macro + db name_command + db \1 ; type + db \2 ; id + db \3 ; memory + endm + + enum wait_command ; $a8 +wait: macro + db wait_command + db \1 ; duration + endm + + enum check_save_command ; $a9 +check_save: macro + db check_save_command + endm diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm new file mode 100644 index 000000000..a3fa710a0 --- /dev/null +++ b/macros/scripts/gfx_anim.asm @@ -0,0 +1,44 @@ +; pic + oam animations + +frame: macro + db \1 +x = \2 +if _NARG > 2 +rept _NARG +- 2 +x = x | (1 << (\3 + 1)) + shift +endr +endc + db x + endm + + enum_start $fc + + enum delanim_command ; $fc +delanim: macro ; used for oam + db delanim_command + endm + + enum dorepeat_command ; $fd +dorepeat: macro + db dorepeat_command + db \1 ; # + endm + + enum setrepeat_command ; $fe +setrepeat: macro + db setrepeat_command + db \1 ; # + endm + + enum endanim_command ; $ff +endanim: macro + db endanim_command + endm + +__enum__ = $fe + + enum dorestart_command ; $fe +dorestart: macro ; used for oam + db dorestart_command + endm diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm new file mode 100644 index 000000000..6c1e0b6b6 --- /dev/null +++ b/macros/scripts/maps.asm @@ -0,0 +1,108 @@ +map: macro +;\1: map id + db GROUP_\1, MAP_\1 +endm + + +maptrigger: macro +;\1: script pointer + dw \1, 0 +endm + +warp_def: macro +;\1: y: top to bottom, starts at 0 +;\2: x: left to right, starts at 0 +;\3: warp destination: starts at 1 +;\4: map id: from constants/map_constants.asm + db \1, \2, \3 + map \4 +endm + +xy_trigger: macro +;\1: number: controlled by dotrigger/domaptrigger +;\2: y: top to bottom, starts at 0 +;\3: x: left to right, starts at 0 +;\4: script pointer + db \1, \2, \3, $0 + dw \4 + db $0, $0 +endm + +signpost: macro +;\1: y: top to bottom, starts at 0 +;\2: x: left to right, starts at 0 +;\3: function: a SIGNPOST_* constant +;\4: script pointer + db \1, \2, \3 + dw \4 +endm + +person_event: macro +;\1: sprite: a SPRITE_* constant +;\2: y: top to bottom, starts at 0 +;\3: x: left to right, starts at 0 +;\4: movement function: a SPRITEMOVEDATA_* constant +;\5, \6: movement radius: y, x +;\7, \8: hour1 and hour2: control the hours a person_event is visible (0-23) +; * if hour1 < hour2, the person_event will only appear from hour1 to hour2 +; * if hour1 > hour2, the person_event will not appear from hour2 to hour1 +; * if hour1 == hour2, the person_event will always appear +; * if hour1 == -1, hour2 is treated as a time-of-day value: +; a combo of MORN, DAY, and/or NITE, or -1 to always appear +;\9: color: a PAL_NPC_* constant, or 0 for sprite default +;\10: function: a PERSONTYPE_* constant +;\11: sight range: applies to PERSONTYPE_TRAINER +;\12: script pointer +;\13: event flag: an EVENT_* constant, or 0 for always + db \1, \2 + 4, \3 + 4, \4 + dn \5, \6 + db \7, \8 + shift + dn \8, \9 + shift + db \9 + shift + dw \9 + shift + dw \9 +endm + + +trainer: macro +;\1: flag: an EVENT_BEAT_* constant +;\2: trainer group +;\3: trainer id +;\4: seen text +;\5: win text +;\6: loss text +;\7: after-battle text + dw \1 + db \2, \3 + dw \4, \5, \6, \7 +endm + +itemball: macro +;\1: item: from constants/item_constants.asm +;\2: quantity: default 1 +if _NARG == 2 + db \1, \2 +else + db \1, 1 +endc +endm + +elevfloor: macro +;\1: floor: a FLOOR_* constant +;\2: warp destination: starts at 1 +;\3: map id + db \1, \2 + map \3 +ENDM + +stonetable: macro +;\1: warp id +;\2: person_event id +;\3: script pointer + db \1, \2 + dw \3 +endm diff --git a/macros/scripts/move_anim.asm b/macros/scripts/move_anim.asm new file mode 100644 index 000000000..7714bb09a --- /dev/null +++ b/macros/scripts/move_anim.asm @@ -0,0 +1,294 @@ +anim_wait: macro +if \1 >= $d0 + flip out +endc + db \1 + endm + +; BattleAnimCommands indexes (see battle/anim_commands.asm) + enum_start $d0 + + enum anim_obj_command ; $d0 +anim_obj: macro + db anim_obj_command + db \1 ; obj + db (\2 << 3) + \3 ; x + db (\4 << 3) + \5 ; y + db \6 ; param + endm + + enum anim_1gfx_command ; $d1 +anim_1gfx: macro + db anim_1gfx_command + db \1 ; gfx1 + endm + + enum anim_2gfx_command ; $d2 +anim_2gfx: macro + db anim_2gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + endm + + enum anim_3gfx_command ; $d3 +anim_3gfx: macro + db anim_3gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + endm + + enum anim_4gfx_command ; $d4 +anim_4gfx: macro + db anim_4gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + endm + + enum anim_5gfx_command ; $d5 +anim_5gfx: macro + db anim_5gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + db \5 ; gfx5 + endm + + enum anim_incobj_command ; $d6 +anim_incobj: macro + db anim_incobj_command + db \1 ; id + endm + + enum anim_setobj_command ; $d7 +anim_setobj: macro + db anim_setobj_command + db \1 ; id + db \2 ; obj + endm + + enum anim_incbgeffect_command ; $d8 +anim_incbgeffect: macro + db anim_incbgeffect_command + db \1 ; effect + endm + + enum anim_enemyfeetobj_command ; $d9 +anim_enemyfeetobj: macro + db anim_enemyfeetobj_command + endm + + enum anim_playerheadobj_command ; $da +anim_playerheadobj: macro + db anim_playerheadobj_command + endm + + enum anim_checkpokeball_command ; $db +anim_checkpokeball: macro + db anim_checkpokeball_command + endm + + enum anim_transform_command ; $dc +anim_transform: macro + db anim_transform_command + endm + + enum anim_raisesub_command ; $dd +anim_raisesub: macro + db anim_raisesub_command + endm + + enum anim_dropsub_command ; $de +anim_dropsub: macro + db anim_dropsub_command + endm + + enum anim_resetobp0_command ; $df +anim_resetobp0: macro + db anim_resetobp0_command + endm + + enum anim_sound_command ; $e0 +anim_sound: macro + db anim_sound_command + db (\1 << 2) | \2 ; duration, tracks + db \3 ; id + endm + + enum anim_cry_command ; $e1 +anim_cry: macro + db anim_cry_command + db \1 ; pitch + endm + + enum anim_minimizeopp_command ; $e2 +anim_minimizeopp: macro + db anim_minimizeopp_command + endm + + enum anim_oamon_command ; $e3 +anim_oamon: macro + db anim_oamon_command + endm + + enum anim_oamoff_command ; $e4 +anim_oamoff: macro + db anim_oamoff_command + endm + + enum anim_clearobjs_command ; $e5 +anim_clearobjs: macro + db anim_clearobjs_command + endm + + enum anim_beatup_command ; $e6 +anim_beatup: macro + db anim_beatup_command + endm + + enum anim_0xe7_command ; $e7 +anim_0xe7: macro + db anim_0xe7_command + endm + + enum anim_updateactorpic_command ; $e8 +anim_updateactorpic: macro + db anim_updateactorpic_command + endm + + enum anim_minimize_command ; $e9 +anim_minimize: macro + db anim_minimize_command + endm + + enum anim_0xea_command ; $ea +anim_0xea: macro + db anim_0xea_command + endm + + enum anim_0xeb_command ; $eb +anim_0xeb: macro + db anim_0xeb_command + endm + + enum anim_0xec_command ; $ec +anim_0xec: macro + db anim_0xec_command + endm + + enum anim_0xed_command ; $ed +anim_0xed: macro + db anim_0xed_command + endm + + enum anim_if_param_and_command ; $ee +anim_if_param_and: macro + db anim_if_param_and_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jumpuntil_command ; $ef +anim_jumpuntil: macro + db anim_jumpuntil_command + dw \1 ; address + endm + + enum anim_bgeffect_command ; $f0 +anim_bgeffect: macro + db anim_bgeffect_command + db \1 ; effect + db \2 ; unknown + db \3 ; unknown + db \4 ; unknown + endm + + enum anim_bgp_command ; $f1 +anim_bgp: macro + db anim_bgp_command + db \1 ; colors + endm + + enum anim_obp0_command ; $f2 +anim_obp0: macro + db anim_obp0_command + db \1 ; colors + endm + + enum anim_obp1_command ; $f3 +anim_obp1: macro + db anim_obp1_command + db \1 ; colors + endm + + enum anim_clearsprites_command ; $f4 +anim_clearsprites: macro + db anim_clearsprites_command + endm + + enum anim_0xf5_command ; $f5 +anim_0xf5: macro + db anim_0xf5_command + endm + + enum anim_0xf6_command ; $f6 +anim_0xf6: macro + db anim_0xf6_command + endm + + enum anim_0xf7_command ; $f7 +anim_0xf7: macro + db anim_0xf7_command + endm + + enum anim_if_param_equal_command ; $f8 +anim_if_param_equal: macro + db anim_if_param_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_setvar_command ; $f9 +anim_setvar: macro + db anim_setvar_command + db \1 ; value + endm + + enum anim_incvar_command ; $fa +anim_incvar: macro + db anim_incvar_command + endm + + enum anim_if_var_equal_command ; $fb +anim_if_var_equal: macro + db anim_if_var_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jump_command ; $fc +anim_jump: macro + db anim_jump_command + dw \1 ; address + endm + + enum anim_loop_command ; $fd +anim_loop: macro + db anim_loop_command + db \1 ; count + dw \2 ; address + endm + + enum anim_call_command ; $fe +anim_call: macro + db anim_call_command + dw \1 ; address + endm + + enum anim_ret_command ; $ff +anim_ret: macro + db anim_ret_command + endm diff --git a/macros/scripts/movement.asm b/macros/scripts/movement.asm new file mode 100644 index 000000000..28be559a3 --- /dev/null +++ b/macros/scripts/movement.asm @@ -0,0 +1,246 @@ +; MovementPointers indexes (see engine/movement.asm) + enum_start + +; Directional movements + + enum movement_turn_head ; $00 +turn_head: macro + db movement_turn_head | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_step ; $04 +turn_step: macro + db movement_turn_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_step ; $08 +slow_step: macro + db movement_slow_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_step ; $0c +step: macro + db movement_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_big_step ; $10 +big_step: macro + db movement_big_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_slide_step ; $14 +slow_slide_step: macro + db movement_slow_slide_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_slide_step ; $18 +slide_step: macro + db movement_slide_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_fast_slide_step ; $1c +fast_slide_step: macro + db movement_fast_slide_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_away ; $20 +turn_away: macro + db movement_turn_away | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_in ; $24 +turn_in: macro + db movement_turn_in | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_turn_waterfall ; $28 +turn_waterfall: macro + db movement_turn_waterfall | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_slow_jump_step ; $2c +slow_jump_step: macro + db movement_slow_jump_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_jump_step ; $30 +jump_step: macro + db movement_jump_step | \1 + endm + +__enum__ = __enum__ + 3 + + enum movement_fast_jump_step ; $34 +fast_jump_step: macro + db movement_fast_jump_step | \1 + endm + +__enum__ = __enum__ + 3 + +; Control + enum movement_remove_sliding ; $38 +remove_sliding: macro + db movement_remove_sliding + endm + + enum movement_set_sliding ; $39 +set_sliding: macro + db movement_set_sliding + endm + + enum movement_remove_fixed_facing ; $3a +remove_fixed_facing: macro + db movement_remove_fixed_facing + endm + + enum movement_fix_facing ; $3b +fix_facing: macro + db movement_fix_facing + endm + + enum movement_show_person ; $3c +show_person: macro + db movement_show_person + endm + + enum movement_hide_person ; $3d +hide_person: macro + db movement_hide_person + endm + +; Sleep + + enum movement_step_sleep ; $3e +step_sleep: macro +if \1 <= 8 + db movement_step_sleep + \1 - 1 +else + db movement_step_sleep + 8, \1 +endc +endm + +__enum__ = __enum__ + 8 + + enum movement_step_end ; $47 +step_end: macro + db movement_step_end + endm + + enum movement_step_48 ; $48 +step_48: macro + db movement_step_48 + db \1 ; ??? + endm + + enum movement_remove_person ; $49 +remove_person: macro + db movement_remove_person + endm + + enum movement_step_loop ; $4a +step_loop: macro + db movement_step_loop + endm + + enum movement_step_4b ; $4b +step_4b: macro + db movement_step_4b + endm + + enum movement_teleport_from ; $4c +teleport_from: macro + db movement_teleport_from + endm + + enum movement_teleport_to ; $4d +teleport_to: macro + db movement_teleport_to + endm + + enum movement_skyfall ; $4e +skyfall: macro + db movement_skyfall + endm + + enum movement_step_dig ; $4f +step_dig: macro + db movement_step_dig + db \1 ; length + endm + + enum movement_step_bump ; $50 +step_bump: macro + db movement_step_bump + endm + + enum movement_fish_got_bite ; $51 +fish_got_bite: macro + db movement_fish_got_bite + endm + + enum movement_fish_cast_rod ; $52 +fish_cast_rod: macro + db movement_fish_cast_rod + endm + + enum movement_hide_emote ; $53 +hide_emote: macro + db movement_hide_emote + endm + + enum movement_show_emote ; $54 +show_emote: macro + db movement_show_emote + endm + + enum movement_step_shake ; $55 +step_shake: macro + db movement_step_shake + db \1 ; displacement + endm + + enum movement_tree_shake ; $56 +tree_shake: macro + db movement_tree_shake + endm + + enum movement_rock_smash ; $57 +rock_smash: macro + db movement_rock_smash + db \1 ; length + endm + + enum movement_return_dig ; $58 +return_dig: macro + db movement_return_dig + db \1 ; length + endm + + enum movement_skyfall_top ; $59 +skyfall_top: macro + db movement_skyfall_top + endm diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm new file mode 100644 index 000000000..839f78eb7 --- /dev/null +++ b/macros/scripts/text.asm @@ -0,0 +1,133 @@ +text EQUS "db \"<START>\"," ; Start writing text. +next EQUS "db \"<NEXT>\"," ; Move a line down. +line EQUS "db \"<LINE>\"," ; Start writing at the bottom line. +page EQUS "db \"@\"," ; Start a new Pokédex page. +para EQUS "db \"<PARA>\"," ; Start a new paragraph. +cont EQUS "db \"<CONT>\"," ; Scroll to the next line. +done EQUS "db \"<DONE>\"" ; End a text box. +prompt EQUS "db \"<PROMPT>\"" ; Prompt the player to end a text box (initiating some other event). + +; TextCommands indexes (see home/text.asm) + enum_start $01 + + enum TX_RAM ; $01 +text_from_ram: MACRO + db TX_RAM + dw \1 + ENDM + + enum TX_BCD ; $02 +text_bcd: macro + db TX_BCD + dw \1 + db \2 + ENDM + + enum TX_MOVE ; $03 +text_move: macro + db TX_MOVE + dw \1 + ENDM + + enum TX_BOX ; $04 +text_box: macro + db TX_BOX + dw \1 + db \2, \3 + ENDM + + enum TX_LOW ; $05 +text_low: macro + db TX_LOW + endm + + enum WAIT_BUTTON ; $06 +text_waitbutton: macro + db WAIT_BUTTON + endm + + enum TX_SCROLL ; $07 +text_scroll: macro + db TX_SCROLL + endm + + enum START_ASM ; $08 +start_asm: macro + db START_ASM + endm + + enum TX_NUM ; $09 +deciram: macro + db TX_NUM + dw \1 ; address + dn \2, \3 ; bytes, digits + endm + + enum TX_EXIT ; $0a +interpret_data: macro + db TX_EXIT + endm + + enum TX_SOUND_0B ; $0b +sound_dex_fanfare_50_79: macro + db TX_SOUND_0B + endm + + enum TX_DOTS ; $0c +limited_interpret_data: macro + db TX_DOTS + db \1 + endm + + enum TX_LINK_WAIT_BUTTON ; $0d +link_wait_button: macro + db TX_LINK_WAIT_BUTTON + endm + + enum TX_SOUND_0E ; $0e +sound_dex_fanfare_20_49: macro + db TX_SOUND_0E + endm + + enum TX_SOUND_0F ; $0f +sound_item: macro + db TX_SOUND_0F + endm + + enum TX_SOUND_10 ; $10 +sound_caught_mon: macro + db TX_SOUND_10 + endm + + enum TX_SOUND_11 ; $11 +sound_dex_fanfare_80_109: macro + db TX_SOUND_11 + endm + + enum TX_SOUND_12 ; $12 +sound_fanfare: macro + db TX_SOUND_12 + endm + + enum TX_SOUND_13 ; $13 +sound_slot_machine_start: macro + db TX_SOUND_13 + endm + + enum TX_STRINGBUFFER ; $14 +text_buffer: macro + db TX_STRINGBUFFER + db \1 + endm + + enum TX_DAY ; $15 +current_day: macro + db TX_DAY + endm + + enum TX_FAR ; $16 +text_jump: MACRO + db TX_FAR + dw \1 + db BANK(\1) + ENDM diff --git a/macros/scripts/trade_anim.asm b/macros/scripts/trade_anim.asm new file mode 100644 index 000000000..4b0291eea --- /dev/null +++ b/macros/scripts/trade_anim.asm @@ -0,0 +1,255 @@ +; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) + enum_start + + enum tradeanim_next_command ; $00 +tradeanim_next: macro + db tradeanim_next_command +endm + + enum tradeanim_show_givemon_data_command ; $01 +tradeanim_show_givemon_data: macro + db tradeanim_show_givemon_data_command +endm + + enum tradeanim_show_getmon_data_command ; $02 +tradeanim_show_getmon_data: macro + db tradeanim_show_getmon_data_command +endm + + enum tradeanim_enter_link_tube_command ; $03 +tradeanim_enter_link_tube: macro + db tradeanim_enter_link_tube_command +endm + +__enum__ set $5 + + enum tradeanim_exit_link_tube_command ; $05 +tradeanim_exit_link_tube: macro + db tradeanim_exit_link_tube_command +endm + + enum tradeanim_tube_to_ot_command ; $06 +tradeanim_tube_to_ot: macro + db tradeanim_tube_to_ot_command +endm + +__enum__ set $0e + + enum tradeanim_tube_to_player_command ; $0e +tradeanim_tube_to_player: macro + db tradeanim_tube_to_player_command +endm + +__enum__ set $16 + + enum tradeanim_sent_to_ot_text_command ; $16 +tradeanim_sent_to_ot_text: macro + db tradeanim_sent_to_ot_text_command +endm + + enum tradeanim_ot_bids_farewell_command ; $17 +tradeanim_ot_bids_farewell: macro + db tradeanim_ot_bids_farewell_command +endm + + enum tradeanim_take_care_of_text_command ; $18 +tradeanim_take_care_of_text: macro + db tradeanim_take_care_of_text_command +endm + + enum tradeanim_ot_sends_text_1_command ; $19 +tradeanim_ot_sends_text_1: macro + db tradeanim_ot_sends_text_1_command +endm + + enum tradeanim_ot_sends_text_2_command ; $1a +tradeanim_ot_sends_text_2: macro + db tradeanim_ot_sends_text_2_command +endm + + enum tradeanim_setup_givemon_scroll_command ; $1b +tradeanim_setup_givemon_scroll: macro + db tradeanim_setup_givemon_scroll_command +endm + + enum tradeanim_do_givemon_scroll_command ; $1c +tradeanim_do_givemon_scroll: macro + db tradeanim_do_givemon_scroll_command +endm + + enum tradeanim_frontpic_scroll_command ; $1d +tradeanim_frontpic_scroll: macro + db tradeanim_frontpic_scroll_command +endm + + enum tradeanim_textbox_scroll_command ; $1e +tradeanim_textbox_scroll: macro + db tradeanim_textbox_scroll_command +endm + + enum tradeanim_scroll_out_right_command ; $1f +tradeanim_scroll_out_right: macro + db tradeanim_scroll_out_right_command +endm + +__enum__ set $21 + + enum tradeanim_wait_80_command ; $21 +tradeanim_wait_80: macro + db tradeanim_wait_80_command +endm + + enum tradeanim_wait_40_command ; $22 +tradeanim_wait_40: macro + db tradeanim_wait_40_command +endm + + enum tradeanim_rocking_ball_command ; $23 +tradeanim_rocking_ball: macro + db tradeanim_rocking_ball_command +endm + + enum tradeanim_drop_ball_command ; $24 +tradeanim_drop_ball: macro + db tradeanim_drop_ball_command +endm + + enum tradeanim_wait_anim_command ; $25 +tradeanim_wait_anim: macro + db tradeanim_wait_anim_command +endm + +__enum__ set $27 + + enum tradeanim_poof_command ; $27 +tradeanim_poof: macro + db tradeanim_poof_command +endm + + enum tradeanim_bulge_through_tube_command ; $28 +tradeanim_bulge_through_tube: macro + db tradeanim_bulge_through_tube_command +endm + + enum tradeanim_give_trademon_sfx_command ; $29 +tradeanim_give_trademon_sfx: macro + db tradeanim_give_trademon_sfx_command +endm + + enum tradeanim_get_trademon_sfx_command ; $2a +tradeanim_get_trademon_sfx: macro + db tradeanim_get_trademon_sfx_command +endm + + enum tradeanim_end_command ; $2b +tradeanim_end: macro + db tradeanim_end_command +endm + + enum tradeanim_animate_frontpic_command ; $2c +tradeanim_animate_frontpic: macro + db tradeanim_animate_frontpic_command +endm + + enum tradeanim_wait_96_command ; $2d +tradeanim_wait_96: macro + db tradeanim_wait_96_command +endm + + enum tradeanim_wait_80_if_ot_egg_command ; $2e +tradeanim_wait_80_if_ot_egg: macro + db tradeanim_wait_80_if_ot_egg_command +endm + + enum tradeanim_wait_180_if_ot_egg_command ; $2f +tradeanim_wait_180_if_ot_egg: macro + db tradeanim_wait_180_if_ot_egg_command +endm + + +; Mobile + enum_start $01 + + enum mobiletradeanim_showgivemon_command ; $01 +mobiletradeanim_showgivemon: macro + db mobiletradeanim_showgivemon_command +endm + + enum mobiletradeanim_02_command ; $02 +mobiletradeanim_02: macro + db mobiletradeanim_02_command +endm + + enum mobiletradeanim_sendmon_command ; $03 +mobiletradeanim_sendmon: macro + db mobiletradeanim_sendmon_command +endm + +__enum__ set $05 + + enum mobiletradeanim_05_command ; $05 +mobiletradeanim_05: macro + db mobiletradeanim_05_command +endm + + enum mobiletradeanim_06_command ; $06 +mobiletradeanim_06: macro + db mobiletradeanim_06_command +endm + + enum mobiletradeanim_07_command ; $07 +mobiletradeanim_07: macro + db mobiletradeanim_07_command +endm + + enum mobiletradeanim_receivemon_command ; $08 +mobiletradeanim_receivemon: macro + db mobiletradeanim_receivemon_command +endm + +__enum__ set $0b + + enum mobiletradeanim_showgetmon_command ; $0b +mobiletradeanim_showgetmon: macro + db mobiletradeanim_showgetmon_command +endm + + enum mobiletradeanim_end_command ; $0c +mobiletradeanim_end: macro + db mobiletradeanim_end_command +endm + + enum mobiletradeanim_showgtsgivemon_command ; $0d +mobiletradeanim_showgtsgivemon: macro + db mobiletradeanim_showgtsgivemon_command +endm + + enum mobiletradeanim_showgtsgetmon_command ; $0e +mobiletradeanim_showgtsgetmon: macro + db mobiletradeanim_showgtsgetmon_command +endm + + enum mobiletradeanim_0f_command ; $0f +mobiletradeanim_0f: macro + db mobiletradeanim_0f_command +endm + + enum mobiletradeanim_10_command ; $10 +mobiletradeanim_10: macro + db mobiletradeanim_10_command +endm + + enum mobiletradeanim_11_command ; $11 +mobiletradeanim_11: macro + db mobiletradeanim_11_command +endm + + enum mobiletradeanim_12_command ; $12 +mobiletradeanim_12: macro + db mobiletradeanim_12_command +endm + + enum mobiletradeanim_showoddegg_command ; $13 +mobiletradeanim_showoddegg: macro + db mobiletradeanim_showoddegg_command +endm |