diff options
Diffstat (limited to 'macros')
-rw-r--r-- | macros/base_stats.asm | 67 | ||||
-rw-r--r-- | macros/charmap.asm | 372 | ||||
-rw-r--r-- | macros/code.asm | 9 | ||||
-rw-r--r-- | macros/color.asm | 10 | ||||
-rw-r--r-- | macros/data.asm | 16 | ||||
-rw-r--r-- | macros/enum.asm | 9 | ||||
-rw-r--r-- | macros/predef.asm | 5 | ||||
-rw-r--r-- | macros/scripts/battle_commands.asm | 2 | ||||
-rw-r--r-- | macros/scripts/events.asm | 15 | ||||
-rw-r--r-- | macros/scripts/maps.asm | 33 | ||||
-rw-r--r-- | macros/scripts/text.asm | 37 | ||||
-rwxr-xr-x | macros/tilesets.asm | 15 | ||||
-rwxr-xr-x | macros/wram.asm | 27 |
13 files changed, 106 insertions, 511 deletions
diff --git a/macros/base_stats.asm b/macros/base_stats.asm deleted file mode 100644 index 1a2ce8529..000000000 --- a/macros/base_stats.asm +++ /dev/null @@ -1,67 +0,0 @@ -; Used in data/pokemon/base_stats/*.asm - -define: MACRO -if !DEF(\1) -\1 EQUS \2 -endc -ENDM - -const_value = 0 - -add_tm: MACRO -if !DEF(TM01) -TM01 = const_value - enum_start 1 -endc - define _\@_1, "TM_\1" - const _\@_1 - enum \1_TMNUM -ENDM - -add_hm: MACRO -if !DEF(HM01) -HM01 = const_value -endc - define _\@_1, "HM_\1" - const _\@_1 - enum \1_TMNUM -ENDM - -add_mt: MACRO - enum \1_TMNUM -ENDM - -; N TMs/HMs need (N+7)/8 bytes for their bit flags. -; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits. -tmhm: MACRO -tms1 = 0 -tms2 = 0 -tms3 = 0 -rept _NARG - if DEF(\1_TMNUM) - if \1_TMNUM < 24 + 1 -tms1 = tms1 | (1 << ((\1_TMNUM) - 1)) - elif \1_TMNUM < 48 + 1 -tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24)) - else -tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48)) - endc - else - fail "\1 is not a TM, HM, or move tutor move" - endc - shift -endr - -rept 3 - db tms1 & $ff -tms1 = tms1 >> 8 -endr -rept 3 - db tms2 & $ff -tms2 = tms2 >> 8 -endr -rept 2 - db tms3 & $ff -tms3 = tms3 >> 8 -endr -ENDM diff --git a/macros/charmap.asm b/macros/charmap.asm deleted file mode 100644 index fd2d371fd..000000000 --- a/macros/charmap.asm +++ /dev/null @@ -1,372 +0,0 @@ -; Control characters - charmap "<START>", $00 - charmap "<PLAY_G>", $14 ; gendered PlayerName; same as "<PLAYER>" in English - charmap "<DAY>", $15 - charmap "¯", $1f ; soft linebreak - charmap "<LNBRK>", $22 - charmap "<KOUGEKI>", $23 ; "こうげき" - charmap "<POKE>", $24 ; "<PO><KE>" - charmap "%", $25 - charmap "<RED>", $38 ; RedsName - charmap "<GREEN>", $39 ; GreensName - charmap "<ENEMY>", $3f - charmap "<MOM>", $49 ; MomsName - charmap "<PKMN>", $4a ; "<PK><MN>" - charmap "<NEXT>", $4e - charmap "<LINE>", $4f - - charmap "@", $50 ; string terminator - charmap "<PARA>", $51 - charmap "<PLAYER>", $52 ; PlayerName - charmap "<RIVAL>", $53 - charmap "#", $54 ; "POKé" - charmap "<CONT>", $55 - charmap "<......>", $56 ; "……" - charmap "<DONE>", $57 - charmap "<PROMPT>", $58 - charmap "<TARGET>", $59 - charmap "<USER>", $5a - charmap "<PC>", $5b ; "PC" - charmap "<TM>", $5c ; "TM" - charmap "<TRNER>", $5d ; "TRAINER" - charmap "<ROCKET>", $5e ; "ROCKET" - charmap "<DEXEND>", $5f - -; Actual characters (from gfx/font/font_extra.png) - - charmap "<BOLD_A>", $60 ; unused - charmap "<BOLD_B>", $61 ; unused - charmap "<BOLD_C>", $62 ; unused - charmap "<BOLD_D>", $63 ; unused - charmap "<BOLD_E>", $64 ; unused - charmap "<BOLD_F>", $65 ; unused - charmap "<BOLD_G>", $66 ; unused - charmap "<BOLD_H>", $67 ; unused - charmap "<BOLD_I>", $68 ; unused - charmap "<BOLD_V>", $69 - charmap "<BOLD_S>", $6a - charmap "<BOLD_L>", $6b ; unused - charmap "<BOLD_M>", $6c ; unused - charmap "<COLON>", $6d ; colon with tinier dots than ":" - charmap "ぃ", $6e ; hiragana small i, unused - charmap "ぅ", $6f ; hiragana small u, unused - charmap "<PO>", $70 - charmap "<KE>", $71 - charmap "<``>", $72 ; opening quote - charmap "<''>", $73 ; closing quote - charmap "·", $74 ; middle dot, unused - charmap "…", $75 ; ellipsis - charmap "ぁ", $76 ; hiragana small a, unused - charmap "ぇ", $77 ; hiragana small e, unused - charmap "ぉ", $78 ; hiragana small o, unused - - charmap "┌", $79 - charmap "─", $7a - charmap "┐", $7b - charmap "│", $7c - charmap "└", $7d - charmap "┘", $7e - charmap " ", $7f - -; Actual characters (from gfx/font/font_battle_extra.png) - - charmap "<LV>", $6e - - charmap "<ど>", $70 ; hiragana small do, unused - charmap "◀", $71 - charmap "『", $72 ; Japanese opening quote, unused - charmap "<ID>", $73 - charmap "№", $74 - -; Actual characters (from other graphics files) - - charmap "|", $31 ; from gfx/stats/stats_tiles - - charmap "<SHINY>", $3f ; gfx/stats/shiny - - charmap "<BLACK>", $60 ; from gfx/mobile/phone_tiles.2bpp - charmap "▲", $61 ; gfx/font/up_arrow.png - charmap "<PHONE>", $62 ; gfx/font/overworld_phone_icon.2bpp - charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp - - charmap "′", $6e ; gfx/font/feet_inches.png - charmap "″", $6f ; gfx/font/feet_inches.png - -; Actual characters (from gfx/font/font.png) - - charmap "A", $80 - charmap "B", $81 - charmap "C", $82 - charmap "D", $83 - charmap "E", $84 - charmap "F", $85 - charmap "G", $86 - charmap "H", $87 - charmap "I", $88 - charmap "J", $89 - charmap "K", $8a - charmap "L", $8b - charmap "M", $8c - charmap "N", $8d - charmap "O", $8e - charmap "P", $8f - charmap "Q", $90 - charmap "R", $91 - charmap "S", $92 - charmap "T", $93 - charmap "U", $94 - charmap "V", $95 - charmap "W", $96 - charmap "X", $97 - charmap "Y", $98 - charmap "Z", $99 - - charmap "(", $9a - charmap ")", $9b - charmap ":", $9c - charmap ";", $9d - charmap "[", $9e - charmap "]", $9f - - charmap "a", $a0 - charmap "b", $a1 - charmap "c", $a2 - charmap "d", $a3 - charmap "e", $a4 - charmap "f", $a5 - charmap "g", $a6 - charmap "h", $a7 - charmap "i", $a8 - charmap "j", $a9 - charmap "k", $aa - charmap "l", $ab - charmap "m", $ac - charmap "n", $ad - charmap "o", $ae - charmap "p", $af - charmap "q", $b0 - charmap "r", $b1 - charmap "s", $b2 - charmap "t", $b3 - charmap "u", $b4 - charmap "v", $b5 - charmap "w", $b6 - charmap "x", $b7 - charmap "y", $b8 - charmap "z", $b9 - - charmap "Ä", $c0 - charmap "Ö", $c1 - charmap "Ü", $c2 - charmap "ä", $c3 - charmap "ö", $c4 - charmap "ü", $c5 - - charmap "'d", $d0 - charmap "'l", $d1 - charmap "'m", $d2 - charmap "'r", $d3 - charmap "'s", $d4 - charmap "'t", $d5 - charmap "'v", $d6 - - charmap "←", $df - charmap "'", $e0 - charmap "<PK>", $e1 - charmap "<MN>", $e2 - charmap "-", $e3 - - charmap "?", $e6 - charmap "!", $e7 - charmap ".", $e8 - charmap "&", $e9 - - charmap "é", $ea - charmap "→", $eb - charmap "▷", $ec - charmap "▶", $ed - charmap "▼", $ee - charmap "♂", $ef - charmap "¥", $f0 - charmap "×", $f1 - charmap "<DOT>", $f2 ; same as "." in English - charmap "/", $f3 - charmap ",", $f4 - charmap "♀", $f5 - - charmap "0", $f6 - charmap "1", $f7 - charmap "2", $f8 - charmap "3", $f9 - charmap "4", $fa - charmap "5", $fb - charmap "6", $fc - charmap "7", $fd - charmap "8", $fe - charmap "9", $ff - -; Japanese kana, for those bits of text that were not translated to English - - charmap "ガ", $5 - charmap "ギ", $6 - charmap "グ", $7 - charmap "ゲ", $8 - charmap "ゴ", $9 - charmap "ザ", $a - charmap "ジ", $b - charmap "ズ", $c - charmap "ゼ", $d - charmap "ゾ", $e - charmap "ダ", $f - charmap "ヂ", $10 - charmap "ヅ", $11 - charmap "デ", $12 - charmap "ド", $13 - - charmap "バ", $19 - charmap "ビ", $1a - charmap "ブ", $1b - charmap "ボ", $1c -; charmap "ベ", $1d - - charmap "が", $26 - charmap "ぎ", $27 - charmap "ぐ", $28 - charmap "げ", $29 - charmap "ご", $2a - charmap "ざ", $2b - charmap "じ", $2c - charmap "ず", $2d - charmap "ぜ", $2e - charmap "ぞ", $2f - charmap "だ", $30 - charmap "ぢ", $31 - charmap "づ", $32 - charmap "で", $33 - charmap "ど", $34 - - charmap "ば", $3a - charmap "び", $3b - charmap "ぶ", $3c - charmap "べ", $3d - charmap "ぼ", $3e - - charmap "パ", $40 - charmap "ピ", $41 - charmap "プ", $42 - charmap "ポ", $43 - charmap "ぱ", $44 - charmap "ぴ", $45 - charmap "ぷ", $46 - charmap "ぺ", $47 - charmap "ぽ", $48 - - charmap "ア", $80 - charmap "イ", $81 - charmap "ウ", $82 - charmap "エ", $83 - charmap "ォ", $84 - charmap "カ", $85 - charmap "キ", $86 - charmap "ク", $87 - charmap "ケ", $88 - charmap "コ", $89 - charmap "サ", $8a - charmap "シ", $8b - charmap "ス", $8c - charmap "セ", $8d - charmap "ソ", $8e - charmap "タ", $8f - charmap "チ", $90 - charmap "ツ", $91 - charmap "テ", $92 - charmap "ト", $93 - charmap "ナ", $94 - charmap "ニ", $95 - charmap "ヌ", $96 - charmap "ネ", $97 - charmap "ノ", $98 - charmap "ハ", $99 - charmap "ヒ", $9a - charmap "フ", $9b - charmap "ホ", $9c - charmap "マ", $9d - charmap "ミ", $9e - charmap "ム", $9f - charmap "メ", $a0 - charmap "モ", $a1 - charmap "ヤ", $a2 - charmap "ユ", $a3 - charmap "ヨ", $a4 - charmap "ラ", $a5 - charmap "ル", $a6 - charmap "レ", $a7 - charmap "ロ", $a8 - charmap "ワ", $a9 - charmap "ヲ", $aa - charmap "ン", $ab - charmap "ッ", $ac - charmap "ャ", $ad - charmap "ュ", $ae - charmap "ョ", $af - charmap "ィ", $b0 - - charmap "あ", $b1 - charmap "い", $b2 - charmap "う", $b3 - charmap "え", $b4 - charmap "お", $b5 - - charmap "か", $b6 - charmap "き", $b7 - charmap "く", $b8 - charmap "け", $b9 - charmap "こ", $ba - charmap "さ", $bb - charmap "し", $bc - charmap "す", $bd - charmap "せ", $be - charmap "そ", $bf - charmap "た", $c0 - charmap "ち", $c1 - charmap "つ", $c2 - charmap "て", $c3 - charmap "と", $c4 - charmap "な", $c5 - charmap "に", $c6 - charmap "ぬ", $c7 - charmap "ね", $c8 - charmap "の", $c9 - charmap "は", $ca - charmap "ひ", $cb - charmap "ふ", $cc - charmap "へ", $cd - charmap "ほ", $ce - - charmap "ま", $cf - charmap "み", $d0 - charmap "む", $d1 - charmap "め", $d2 - charmap "も", $d3 - charmap "や", $d4 - charmap "ゆ", $d5 - charmap "よ", $d6 - charmap "ら", $d7 - charmap "り", $d8 - charmap "る", $d9 - charmap "れ", $da - charmap "ろ", $db - charmap "わ", $dc - charmap "を", $dd - charmap "ん", $de - charmap "っ", $df - charmap "ゃ", $e0 - charmap "ゅ", $e1 - charmap "ょ", $e2 - - charmap "ー", $e3 - - charmap "゚", $e4 - charmap "゙", $e5 - - charmap "ァ", $e9 diff --git a/macros/code.asm b/macros/code.asm index 5ec214d50..799c27d45 100644 --- a/macros/code.asm +++ b/macros/code.asm @@ -35,10 +35,9 @@ jumptable: MACRO jp hl ENDM -; Many mobile functions were dummied out in localization. -mobile EQUS "ret" - maskbits: MACRO +; masks just enough bits to cover the argument +; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001) ; example usage in rejection sampling: ; .loop ; call Random @@ -47,8 +46,8 @@ maskbits: MACRO ; jr nc, .loop x = 1 rept 8 -if \1 > x -x = (x + 1) * 2 +- 1 +if x + 1 < (\1) +x = x << 1 | 1 endc endr and x diff --git a/macros/color.asm b/macros/color.asm index 35d69fe6f..5ebaae218 100644 --- a/macros/color.asm +++ b/macros/color.asm @@ -1,15 +1,15 @@ RGB: MACRO rept _NARG / 3 - dw ((\3) << 10) + ((\2) << 5) + (\1) + dw palred (\1) + palgreen (\2) + palblue (\3) shift shift shift endr ENDM +palred EQUS "(1 << 0) *" +palgreen EQUS "(1 << 5) *" +palblue EQUS "(1 << 10) *" + palettes EQUS "* 8" palette EQUS "+ 8 *" - -palred EQUS "$0001 *" -palgreen EQUS "$0020 *" -palblue EQUS "$0400 *" diff --git a/macros/data.asm b/macros/data.asm index 55f41a204..8345a2523 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -85,20 +85,24 @@ ENDM dbpixel: MACRO if _NARG >= 4 +; x tile, x pxl, y tile, y pxl db \1 * 8 + \3, \2 * 8 + \4 else +; x, y db \1 * 8, \2 * 8 endc ENDM dsprite: MACRO -; conditional segment is there because not every instance of -; this macro is directly OAM -if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette - db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & PALETTE_MASK) -else +; y tile, y pxl, x tile, x pxl, vtile offset, flags, attributes db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6 -endc +ENDM + + +menu_coords: MACRO +; x1, y1, x2, y2 + db \2, \1 ; start coords + db \4, \3 ; end coords ENDM diff --git a/macros/enum.asm b/macros/enum.asm index 0c1d4a064..c1321a636 100644 --- a/macros/enum.asm +++ b/macros/enum.asm @@ -38,3 +38,12 @@ shift_const: MACRO \1 EQU (1 << const_value) const_value = const_value + 1 ENDM + + +; Enumerate strings + +define: MACRO +if !DEF(\1) +\1 EQUS \2 +endc +ENDM diff --git a/macros/predef.asm b/macros/predef.asm index 139e3bf3a..7850350a7 100644 --- a/macros/predef.asm +++ b/macros/predef.asm @@ -1,8 +1,3 @@ -add_predef: MACRO -\1Predef:: - dab \1 -ENDM - predef_id: MACRO ; Some functions load the predef id ; without immediately calling Predef. diff --git a/macros/scripts/battle_commands.asm b/macros/scripts/battle_commands.asm index 5933740f0..4ae8dbaf4 100644 --- a/macros/scripts/battle_commands.asm +++ b/macros/scripts/battle_commands.asm @@ -3,7 +3,7 @@ command: MACRO \1 EQUS "db \1_command" ENDM -; BattleCommandPointers indexes (see data/battle_command_pointers.asm) +; BattleCommandPointers indexes (see data/battle/effect_command_pointers.asm) enum_start 1 command checkturn ; 01 command checkobedience ; 02 diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index 694a7cd12..9bca1c004 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -101,11 +101,6 @@ special: MACRO dw (\1Special - SpecialsPointers) / 3 ENDM -add_special: MACRO -\1Special:: - dba \1 -ENDM - enum ptcallasm_command ; $10 ptcallasm: MACRO db ptcallasm_command @@ -424,9 +419,9 @@ readcoins: MACRO db \1 ; memory ENDM - enum RAM2MEM_command ; $3f -RAM2MEM: MACRO - db RAM2MEM_command + enum vartomem_command ; $3f +vartomem: MACRO + db vartomem_command db \1 ; memory ENDM @@ -483,7 +478,11 @@ ENDM enum refreshscreen_command ; $48 refreshscreen: MACRO db refreshscreen_command +if _NARG == 1 db \1 ; dummy +else + db 0 +endc ENDM enum closetext_command ; $49 diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index e9703531d..31a1f16d9 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -9,6 +9,12 @@ scene_script: MACRO dw \1, 0 ENDM +callback: MACRO +;\1: type: a MAPCALLBACK_* constant +;\2: script pointer + dbw \1, \2 +ENDM + warp_def: MACRO ;\1: x: left to right, starts at 0 ;\2: y: top to bottom, starts at 0 @@ -23,9 +29,10 @@ coord_event: MACRO ;\2: y: top to bottom, starts at 0 ;\3: scene id: controlled by setscene/setmapscene ;\4: script pointer - db \3, \2, \1, $0 + db \3, \2, \1 + db 0 ; filler dw \4 - db $0, $0 + db 0, 0 ; filler ENDM bg_event: MACRO @@ -91,6 +98,12 @@ else endc ENDM +hiddenitem: MACRO +;\1: flag: an EVENT_* constant +;\2: item: from constants/item_constants.asm + dwb \1, \2 +ENDM + elevfloor: MACRO ;\1: floor: a FLOOR_* constant ;\2: warp destination: starts at 1 @@ -99,10 +112,22 @@ elevfloor: MACRO map \3 ENDM +conditional_event: MACRO +;\1: flag: an EVENT_* constant +;\2: script pointer + dw \1, \2 +ENDM + +cmdqueue: MACRO +;\1: type: a CMDQUEUE_* constant +;\2: data pointer + dbw \1, \2 + dw 0 ; filler +ENDM + stonetable: MACRO ;\1: warp id ;\2: object_event id ;\3: script pointer - db \1, \2 - dw \3 + dbbw \1, \2, \3 ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index f22f83551..bff18c7ea 100644 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -1,4 +1,4 @@ -text EQUS "db \"<START>\"," ; Start writing text. +text EQUS "db TX_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. @@ -8,7 +8,12 @@ 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_start + + enum TX_START ; $00 +text_start: MACRO + db TX_START +ENDM enum TX_RAM ; $01 text_from_ram: MACRO @@ -68,9 +73,9 @@ interpret_data: MACRO db TX_EXIT ENDM - enum TX_SOUND_0B ; $0b + enum TX_SOUND_DEX_FANFARE_50_79 ; $0b sound_dex_fanfare_50_79: MACRO - db TX_SOUND_0B + db TX_SOUND_DEX_FANFARE_50_79 ENDM enum TX_DOTS ; $0c @@ -84,34 +89,34 @@ link_wait_button: MACRO db TX_LINK_WAIT_BUTTON ENDM - enum TX_SOUND_0E ; $0e + enum TX_SOUND_DEX_FANFARE_20_49 ; $0e sound_dex_fanfare_20_49: MACRO - db TX_SOUND_0E + db TX_SOUND_DEX_FANFARE_20_49 ENDM - enum TX_SOUND_0F ; $0f + enum TX_SOUND_ITEM ; $0f sound_item: MACRO - db TX_SOUND_0F + db TX_SOUND_ITEM ENDM - enum TX_SOUND_10 ; $10 + enum TX_SOUND_CAUGHT_MON ; $10 sound_caught_mon: MACRO - db TX_SOUND_10 + db TX_SOUND_CAUGHT_MON ENDM - enum TX_SOUND_11 ; $11 + enum TX_SOUND_DEX_FANFARE_80_109 ; $11 sound_dex_fanfare_80_109: MACRO - db TX_SOUND_11 + db TX_SOUND_DEX_FANFARE_80_109 ENDM - enum TX_SOUND_12 ; $12 + enum TX_SOUND_FANFARE ; $12 sound_fanfare: MACRO - db TX_SOUND_12 + db TX_SOUND_FANFARE ENDM - enum TX_SOUND_13 ; $13 + enum TX_SOUND_SLOT_MACHINE_START ; $13 sound_slot_machine_start: MACRO - db TX_SOUND_13 + db TX_SOUND_SLOT_MACHINE_START ENDM enum TX_STRINGBUFFER ; $14 diff --git a/macros/tilesets.asm b/macros/tilesets.asm deleted file mode 100755 index 4aeb38dc5..000000000 --- a/macros/tilesets.asm +++ /dev/null @@ -1,15 +0,0 @@ -; Used in tilesets/*.asm - -tilepal: MACRO -; vram bank, pals -x = \1 << OAM_TILE_BANK -rept (_NARG +- 1) / 2 - dn (x | PAL_BG_\3), (x | PAL_BG_\2) - shift - shift -endr -ENDM - -tilecoll: MACRO - db COLL_\1, COLL_\2, COLL_\3, COLL_\4 -ENDM diff --git a/macros/wram.asm b/macros/wram.asm index d30114fc8..47138e40c 100755 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -110,7 +110,7 @@ box: MACRO \1Mon1:: box_struct \1Mon1 \1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX +- 1) \1MonOT:: ds NAME_LENGTH * MONS_PER_BOX -\1MonNicknames:: ds PKMN_NAME_LENGTH * MONS_PER_BOX +\1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX \1MonNicknamesEnd:: \1End:: ds 2 ; padding ENDM @@ -179,13 +179,13 @@ battle_tower_struct: MACRO \1Name:: ds NAME_LENGTH +- 1 \1TrainerClass:: ds 1 \1Pkmn1:: party_struct \1Pkmn1 -\1Pkmn1Name:: ds PKMN_NAME_LENGTH +\1Pkmn1Name:: ds MON_NAME_LENGTH \1Pkmn1NameEnd:: \1Pkmn2:: party_struct \1Pkmn2 -\1Pkmn2Name:: ds PKMN_NAME_LENGTH +\1Pkmn2Name:: ds MON_NAME_LENGTH \1Pkmn2NameEnd:: \1Pkmn3:: party_struct \1Pkmn3 -\1Pkmn3Name:: ds PKMN_NAME_LENGTH +\1Pkmn3Name:: ds MON_NAME_LENGTH \1Pkmn3NameEnd:: \1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH \1TrainerEnd:: @@ -222,7 +222,7 @@ hof_mon: MACRO \1ID:: dw \1DVs:: dw \1Level:: db -\1Nickname:: ds PKMN_NAME_LENGTH +- 1 +\1Nickname:: ds MON_NAME_LENGTH +- 1 \1End:: ENDM @@ -247,8 +247,8 @@ ENDM trademon: MACRO \1Species:: db ; wc6d0 | wc702 -\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703 -\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e +\1SpeciesName:: ds MON_NAME_LENGTH ; wc6d1 | wc703 +\1Nickname:: ds MON_NAME_LENGTH ; wc6dc | wc70e \1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719 \1OTName:: ds NAME_LENGTH ; wc6f2 | wc724 \1DVs:: dw ; wc6fd | wc72f @@ -339,6 +339,19 @@ map_object: MACRO ds 2 ENDM +sprite_oam_struct: MACRO +\1YCoord:: db +\1XCoord:: db +\1TileID:: db +\1Attributes:: db +; bit 7: priority +; bit 6: y flip +; bit 5: x flip +; bit 4: pal # (non-cgb) +; bit 3: vram bank (cgb only) +; bit 2-0: pal # (cgb only) +ENDM + sprite_anim_struct: MACRO \1Index:: db \1FramesetID:: db |