diff options
-rw-r--r-- | data/berry_blender.s | 447 | ||||
-rw-r--r-- | data/data2.s | 1299 | ||||
-rw-r--r-- | data/maps.s | 10 | ||||
-rw-r--r-- | data/rom4.s | 66 | ||||
-rw-r--r-- | data/tilesets.s | 8 | ||||
-rw-r--r-- | data/tilesets/headers.inc | 116 | ||||
-rw-r--r-- | data/trade.s | 774 | ||||
-rw-r--r-- | ld_script.txt | 6 | ||||
-rw-r--r-- | src/new_game.c | 10 |
9 files changed, 1378 insertions, 1358 deletions
diff --git a/data/berry_blender.s b/data/berry_blender.s new file mode 100644 index 000000000..d346ab9cd --- /dev/null +++ b/data/berry_blender.s @@ -0,0 +1,447 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_08215C0C:: @ 8215C0C + .incbin "graphics/berry_blender/center.gbapal" + + .align 2 +gUnknown_08215C2C:: @ 8215C2C + .incbin "graphics/berry_blender/center_map.bin" + + .align 2 +gUnknown_0821602C:: @ 821602C + .incbin "graphics/berry_blender/outer.gbapal" + + .incbin "graphics/unused/unknown/821604C.gbapal" + + .space 0x1C0 + + .string "▶$" + .string " $" + .string "カッコイ$" @ "cool" (missing an イ at the end) + .string "カワイイ$" @ "cute" + .string "ウツクシ$" @ "beautiful" (missing an イ at the end) + .string "カシコイ$" @ "smart" + .string "タクマシ$" @ "tough" (missing an イ at the end) + +gUnknown_08216249:: @ 8216249 + .string "\p$" + +@ unreferenced +@ These appear to be the first names of four people who worked on the game. + .string "てつじ$", 10 @ Tetsuji (Ohta) + .string "あきと$", 10 @ Akito (Mori) + .string "シゲル$", 10 @ Shigeru (Ohmori) + .string "ヨシノリ$", 10 @ Yoshinori (Matsuda) + +UnknownText_2Pok: + .string "2Pok$" +UnknownText_3Pok: + .string "3Pok$" +UnknownText_4Pok: + .string "4Pok$" + + .align 2 +gUnknown_08216284:: @ 8216284 + .4byte UnknownText_2Pok + .4byte UnknownText_3Pok + .4byte UnknownText_4Pok + +@ unreferenced + .string "1P$", 4 + .string "2P$", 4 + .string "3P$", 4 + .string "4P$", 4 + +UnknownText_Mister: + .string "MISTER$" +UnknownText_Laddie: + .string "LADDIE$" +UnknownText_Lassie: + .string "LASSIE$" + + .align 2 +gUnknown_082162B8:: @ 82162B8 + .4byte UnknownText_Mister + .4byte UnknownText_Laddie + .4byte UnknownText_Lassie + +gUnknown_082162C4:: @ 82162C4 + .string "{COLOR RED}$" + +gUnknown_082162C8:: @ 82162C8 + .string "\n$" + + .string " $" + +gUnknown_082162CC:: @ 82162CC + .byte -1, -1 + .byte 1, -1 + .byte -1, 1 + .byte 1, 1 + +gUnknown_082162D4:: @ 82162D4 + .byte 2, 6 + .byte 23, 6 + .byte 2, 12 + .byte 23, 12 + .byte 1, 6 + .byte 22, 6 + .byte 1, 12 + .byte 22, 12 + +gUnknown_082162E4:: @ 82162E4 + .byte 72, 32 + .byte 168, 32 + .byte 72, 128 + .byte 168, 128 + +gUnknown_082162EC:: @ 82162EC + .byte -1, 0, 1, -1 + .byte -1, 0, 1, 2 + .byte 0, 1, 2, 3 + + .align 1 +gUnknown_082162F8:: @ 82162F8 + .2byte 0x0000, 0xC000, 0x4000, 0x8000 + +gUnknown_08216300:: @ 8216300 + .byte 1 + .byte 1 + .byte 0 + +gUnknown_08216303:: @ 8216303 + .byte 32 + .byte 224 + .byte 96 + .byte 160 + .byte 0 + + .align 2 +gUnknown_08216308:: @ 8216308 + .4byte sub_804F8C8 + .4byte sub_804F9F4 + .4byte sub_804FB1C + + .align 2 +gOamData_8216314:: @ 8216314 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821631C:: @ 821631C + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216324:: @ 8216324 + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_821632C:: @ 821632C + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216334:: @ 8216334 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_821633C:: @ 821633C + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216350:: @ 8216350 + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216364:: @ 8216364 + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216378:: @ 8216378 + obj_image_anim_frame 48, 2 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_821638C:: @ 821638C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216394:: @ 8216394 + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_821639C:: @ 821639C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82163A4:: @ 82163A4 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82163AC:: @ 82163AC + .4byte gSpriteAnim_821631C + .4byte gSpriteAnim_8216324 + .4byte gSpriteAnim_821632C + .4byte gSpriteAnim_8216334 + .4byte gSpriteAnim_821633C + .4byte gSpriteAnim_8216350 + .4byte gSpriteAnim_8216364 + .4byte gSpriteAnim_8216378 + .4byte gSpriteAnim_821638C + .4byte gSpriteAnim_8216394 + .4byte gSpriteAnim_821639C + .4byte gSpriteAnim_82163A4 + + .align 2 +gUnknown_082163DC:: @ 82163DC + obj_tiles gBerryBlenderArrowTiles, 0x800, 46545 + + .align 2 +gUnknown_082163E4:: @ 82163E4 + obj_pal gBerryBlenderMiscPalette, 46546 + + .align 2 +gUnknown_082163EC:: @ 82163EC + obj_pal gBerryBlenderArrowPalette, 12312 + + .align 2 +gSpriteTemplate_82163F4:: @ 82163F4 + spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04 + + .align 2 +gOamData_821640C:: @ 821640C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8216414:: @ 8216414 + obj_image_anim_frame 0, 20 + obj_image_anim_end + + .align 2 +gSpriteAnim_821641C:: @ 821641C + obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216424:: @ 8216424 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_821643C:: @ 821643C + obj_image_anim_frame 8, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216444:: @ 8216444 + .4byte gSpriteAnim_8216414 + .4byte gSpriteAnim_821641C + .4byte gSpriteAnim_8216424 + .4byte gSpriteAnim_821643C + + .align 2 +gUnknown_08216454:: @ 8216454 + obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888 + + .align 2 +gSpriteTemplate_821645C:: @ 821645C + spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650 + + .align 2 +gOamData_8216474:: @ 8216474 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821647C:: @ 821647C + obj_image_anim_frame 0, 3 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 3, 5 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_8216494:: @ 8216494 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 2, 4 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 2, 4 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_82164AC:: @ 82164AC + obj_image_anim_frame 0, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_frame 2, 2 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 3, 3 + obj_image_anim_frame 2, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_frame 0, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_82164D0:: @ 82164D0 + obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82164D8:: @ 82164D8 + obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82164E0:: @ 82164E0 + .4byte gSpriteAnim_821647C + .4byte gSpriteAnim_8216494 + .4byte gSpriteAnim_82164AC + .4byte gSpriteAnim_82164D0 + .4byte gSpriteAnim_82164D8 + + .align 2 +gUnknown_082164F4:: @ 82164F4 + obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456 + + .align 2 +gSpriteTemplate_82164FC:: @ 82164FC + spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_8216514:: @ 8216514 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821651C:: @ 821651C + obj_image_anim_frame 32, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8216524:: @ 8216524 + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_821652C:: @ 821652C + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216534:: @ 8216534 + .4byte gSpriteAnim_821651C + .4byte gSpriteAnim_8216524 + .4byte gSpriteAnim_821652C + + .align 2 +gUnknown_08216540:: @ 8216540 + obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345 + + .align 2 +gSpriteTemplate_8216548:: @ 8216548 + spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C + + .align 2 +gOamData_8216560:: @ 8216560 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8216568:: @ 8216568 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216570:: @ 8216570 + .4byte gSpriteAnim_8216568 + + .align 2 +gUnknown_08216574:: @ 8216574 + obj_tiles gBerryBlenderStartTiles, 0x400, 12346 + + .align 2 +gSpriteTemplate_821657C:: @ 821657C + spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC + + .align 1 +gUnknown_08216594:: @ 8216594 + .2byte -10, 20, 10, 2, 1 + .2byte 250, 20, 10, -2, 1 + .2byte -10, 140, 10, 2, -1 + .2byte 250, 140, 10, -2, -1 + +gUnknown_082165BC:: @ 82165BC + .byte 4, 3, 2 + .byte 0, 4, 3 + .byte 1, 0, 4 + .byte 2, 1, 0 + .byte 3, 2, 1 + .byte 0, 2, 3 + .byte 1, 3, 4 + .byte 2, 4, 0 + .byte 3, 0, 1 + .byte 4, 1, 2 + +gUnknown_082165DA:: @ 82165DA + .byte 1, 1, 2, 3, 4 + +gUnknown_082165DF:: @ 82165DF + .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15 + +gUnknown_082165E9:: @ 82165E9 + .byte 6, 6, 6, 6, 5 + +gUnknown_082165EE:: @ 82165EE + .byte 3, 3, 3, 2, 2 + +gUnknown_082165F3:: @ 82165F3 + .byte 3, 3, 3, 3, 2 + +gUnknown_082165F8:: @ 82165F8 + .string " $" + +gOtherText_BPMAndDash:: @ 82165FA + .string "BPM$" + .string "-$" + +gUnknown_08216600:: @ 8216600 + .string "\n$" + + .string "\n$" diff --git a/data/data2.s b/data/data2.s index fe6d607e9..1ba00a93e 100644 --- a/data/data2.s +++ b/data/data2.s @@ -2638,1302 +2638,3 @@ gSpriteTemplate_820AAB4:: @ 820AAB4 spr_template 55009, 55009, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 spr_template 55010, 55010, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 spr_template 55011, 55011, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - - .align 2 - .byte 0x90, 0x08, 0x00, 0x00 - .byte 0xC0, 0x3A, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00 - .byte 0x30, 0x05, 0x00, 0x00 - .byte 0x24, 0x00, 0x00, 0x00 - .byte 0x64, 0x00, 0x00, 0x00 - .byte 0xD8, 0x04, 0x00, 0x00 - - .align 1 -gTradeMovesBoxTilemap:: @ 820ABF0 - .incbin "graphics/trade/moves_box_map.bin" - - .align 1 -gTradePartyBoxTilemap:: @ 820ADEE - .incbin "graphics/trade/party_box_map.bin" - - .align 2 -gTradeStripesBG2Tilemap:: @ 820AFEC - .incbin "graphics/trade/stripes_bg2_map.bin" - - .align 2 -gTradeStripesBG3Tilemap:: @ 820B7EC - .incbin "graphics/trade/stripes_bg3_map.bin" - - .align 2 -gOamData_820BFEC:: @ 820BFEC - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820BFF4:: @ 820BFF4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820BFFC:: @ 820BFFC - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C004:: @ 820C004 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C00C:: @ 820C00C - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C014:: @ 820C014 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C01C:: @ 820C01C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C024:: @ 820C024 - .4byte gSpriteAnim_820BFF4 - .4byte gSpriteAnim_820BFFC - .4byte gSpriteAnim_820C004 - .4byte gSpriteAnim_820C00C - .4byte gSpriteAnim_820C014 - .4byte gSpriteAnim_820C01C - - .align 2 -TradeScreenTextPalette: @ 820C03C - .incbin "graphics/trade/text1.gbapal" - .incbin "graphics/trade/text2.gbapal" @ unused? - - .align 2 -gUnknown_0820C07C:: @ 820C07C - obj_tiles 0x0201d000, 256, 0x00c8 - obj_tiles 0x0201d100, 256, 0x00c9 - obj_tiles 0x0201d200, 256, 0x00ca - obj_tiles 0x0201d300, 256, 0x00cb - obj_tiles 0x0201d400, 256, 0x00cc - obj_tiles 0x0201d500, 256, 0x00cd - obj_tiles 0x0201d600, 256, 0x00ce - obj_tiles 0x0201d700, 256, 0x00cf - obj_tiles 0x0201d800, 256, 0x00d0 - obj_tiles 0x0201d900, 256, 0x00d1 - obj_tiles 0x0201da00, 256, 0x00d2 - obj_tiles 0x0201db00, 256, 0x00d3 - obj_tiles 0x0201dc00, 256, 0x00d4 - - .align 2 -gSpritePalette_TradeScreenText:: @ 820C0E4 - obj_pal TradeScreenTextPalette, 4925 - - .align 2 -gSpriteTemplate_820C0EC:: @ 820C0EC - spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_820C104:: @ 820C104 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820C10C:: @ 820C10C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C114:: @ 820C114 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C11C:: @ 820C11C - .4byte gSpriteAnim_820C10C - .4byte gSpriteAnim_820C114 - - .align 2 -gUnknown_0820C124:: @ 820C124 - obj_tiles gUnknown_08EA1DEC, 0x800, 300 - - .align 2 -gUnknown_0820C12C:: @ 820C12C - obj_pal gUnknown_08EA0328, 2345 - - .align 2 -gSpriteTemplate_820C134:: @ 820C134 - spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0820C14C:: @ 820C14C - .4byte TradeText_Cancel - .4byte TradeText_ChoosePoke - .4byte TradeText_Summary1 - .4byte TradeText_Trade1 - .4byte TradeText_CancelTradePrompt - .4byte TradeText_PressBToExit - -@ This is used to determine the next mon to select when the D-Pad is -@ pressed in a given direction. -@ Note that the mons are laid out like this. -@ 0-5 are the player's party and 6-11 are the trading partner's party. -@ 12 is the cancel button. -@ 0 1 6 7 -@ 2 3 8 9 -@ 4 5 10 11 -@ 12 -gTradeNextSelectedMonTable:: @ 820C164 - @ 0 - .byte 4, 2, 12, 12, 0, 0 @ up - .byte 2, 4, 12, 12, 0, 0 @ down - .byte 7, 6, 1, 0, 0, 0 @ left - .byte 1, 6, 7, 0, 0, 0 @ right - @ 1 - .byte 5, 3, 12, 12, 0, 0 @ up - .byte 3, 5, 12, 12, 0, 0 @ down - .byte 0, 7, 6, 1, 0, 0 @ left - .byte 6, 7, 0, 1, 0, 0 @ right - @ 2 - .byte 0, 0, 0, 0, 0, 0 @ up - .byte 4, 0, 0, 0, 0, 0 @ down - .byte 9, 8, 7, 6, 0, 0 @ left - .byte 3, 1, 0, 0, 0, 0 @ right - @ 3 - .byte 1, 1, 1, 1, 0, 0 @ up - .byte 5, 1, 1, 1, 0, 0 @ down - .byte 2, 9, 8, 7, 0, 0 @ left - .byte 8, 9, 6, 6, 0, 0 @ right - @ 4 - .byte 2, 2, 2, 2, 0, 0 @ up - .byte 0, 0, 0, 0, 0, 0 @ down - .byte 11, 10, 9, 8, 7, 6 @ left - .byte 5, 3, 1, 0, 0, 0 @ right - @ 5 - .byte 3, 3, 3, 3, 0, 0 @ up - .byte 1, 1, 1, 1, 0, 0 @ down - .byte 4, 4, 4, 4, 0, 0 @ left - .byte 10, 8, 6, 0, 0, 0 @ right - @ 6 - .byte 10, 8, 12, 0, 0, 0 @ up - .byte 8, 10, 12, 0, 0, 0 @ down - .byte 1, 0, 0, 0, 0, 0 @ left - .byte 7, 0, 1, 0, 0, 0 @ right - @ 7 - .byte 12, 0, 0, 0, 0, 0 @ up - .byte 9, 12, 0, 0, 0, 0 @ down - .byte 6, 0, 0, 0, 0, 0 @ left - .byte 0, 0, 0, 0, 0, 0 @ right - @ 8 - .byte 6, 0, 0, 0, 0, 0 @ up - .byte 10, 6, 0, 0, 0, 0 @ down - .byte 3, 2, 1, 0, 0, 0 @ left - .byte 9, 7, 0, 0, 0, 0 @ right - @ 9 - .byte 7, 0, 0, 0, 0, 0 @ up - .byte 11, 12, 0, 0, 0, 0 @ down - .byte 8, 0, 0, 0, 0, 0 @ left - .byte 2, 1, 0, 0, 0, 0 @ right - @ 10 - .byte 8, 0, 0, 0, 0, 0 @ up - .byte 6, 0, 0, 0, 0, 0 @ down - .byte 5, 4, 3, 2, 1, 0 @ left - .byte 11, 9, 7, 0, 0, 0 @ right - @ 11 - .byte 9, 0, 0, 0, 0, 0 @ up - .byte 12, 0, 0, 0, 0, 0 @ down - .byte 10, 0, 0, 0, 0, 0 @ left - .byte 4, 2, 0, 0, 0, 0 @ right - @ 12 - .byte 11, 9, 7, 6, 0, 0 @ up - .byte 7, 6, 0, 0, 0, 0 @ down - .byte 12, 0, 0, 0, 0, 0 @ left - .byte 12, 0, 0, 0, 0, 0 @ right - -@ The coordinates are in units of tiles. -@ These are used for both mon icons and the selected mon cursor, -@ but the origins of the coordinates differ. -gTradeMonSpriteCoords:: @ 820C29C - @ left-side party - .byte 1, 5 - .byte 8, 5 - .byte 1, 10 - .byte 8, 10 - .byte 1, 15 - .byte 8, 15 - - @ right-side party - .byte 16, 5 - .byte 23, 5 - .byte 16, 10 - .byte 23, 10 - .byte 16, 15 - .byte 23, 15 - - @ cancel button - .byte 23, 18 - -gTradeLevelDisplayCoords:: @ 820C2B6 - @ left-side party - .byte 5, 4 - .byte 12, 4 - .byte 5, 9 - .byte 12, 9 - .byte 5, 14 - .byte 12, 14 - - @ right-side party - .byte 20, 4 - .byte 27, 4 - .byte 20, 9 - .byte 27, 9 - .byte 20, 14 - .byte 27, 14 - -gTradeMonBoxCoords:: @ 820C2CE - @ left-side party - .byte 1, 3 - .byte 8, 3 - .byte 1, 8 - .byte 8, 8 - .byte 1, 13 - .byte 8, 13 - - @ right-side party - .byte 16, 3 - .byte 23, 3 - .byte 16, 8 - .byte 23, 8 - .byte 16, 13 - .byte 23, 13 - -gTradeUnknownSpriteCoords:: @ 820C2E6 - .byte 59, 10 - .byte 179, 10 - .byte 59, 10 - .byte 179, 10 - - .align 2 -gUnknown_0820C2F0:: @ 820C2F0 - .4byte TradeText_LinkStandby - .4byte TradeText_TradeCancelled - .4byte TradeText_OnlyPoke - .4byte TradeText_NonTradablePoke - .4byte TradeText_WaitingForFriend - .4byte TradeText_WantToTrade - -gTradeMessageWindowRects:: @ 820C308 - .byte 8, 7, 22, 12 - .byte 8, 7, 22, 12 - .byte 6, 7, 24, 12 - .byte 6, 7, 24, 12 - .byte 8, 7, 22, 12 - .byte 7, 7, 23, 12 - - .align 2 -gUnknown_0820C320:: @ 820C320 - .4byte TradeText_Summary2, sub_804A9F4 @unknown - .4byte TradeText_Trade2, sub_804AA00 - -gUnknown_0820C330:: @ 820C330 - .byte 0, 14 - .byte 15, 29 - -gUnknown_0820C334:: @ 820C334 - .byte 3, 5 - .byte 3, 7 - .byte 18, 5 - .byte 18, 7 - -gOtherText_Terminator:: - .string "$" - -gOtherText_MaleSymbol3:: @ 820C33D - .string "♂$" - -gOtherText_FemaleSymbol3:: @ 820C33F - .string "♀$" - -gOtherText_GenderlessSymbol:: @ 820C341 - .string "$$" - - .align 2 - .4byte gTileBuffer - -@ Unused debug strings? - .string "かいめの そうしん$", 13 - .string "かいめの じゅしん$", 13 - .string "ポケモンアイコンセット$", 13 - .string "OBJテキストセット$", 13 - .string "セルセット$", 13 - .string "OBJテキストADD$", 13 - .string "システムメッセージADD$", 13 - .string "はいけいセット$", 13 - -@ Shedinja's Japanese name -@ sub_8048D44 compares a pokemon name with this string -gUnknown_0820C3B0:: @ 820C3B0 - .string "ヌケニン$" - - .string "こうかんせいりつ $" @ trade completed - .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) - -gUnknown_0820C3D1:: @ 820C3D1 - .byte 4, 3 - .byte 19, 3 - - .align 2 -gTradeBallPalette:: @ 820C3D8 - .incbin "graphics/trade/ball.gbapal" - - .align 2 -gTradeBallTiles:: @ 820C3F8 - .incbin "graphics/trade/ball.4bpp" - - .align 2 -gUnknown_0820C9F8:: @ 820C9F8 - .incbin "graphics/trade/unknown.gbapal" - .incbin "graphics/trade/gba.gbapal" - .incbin "graphics/trade/shadow.gbapal" - .space 32 - .incbin "graphics/trade/misc.gbapal" - - .align 2 -gUnknown_0820CA98:: @ 820CA98 - .incbin "graphics/trade/gba.4bpp" - .incbin "graphics/trade/shadow.4bpp" - - .align 2 -gUnknown_0820DD98:: @ 820DD98 - .incbin "graphics/trade/pokeball_symbol.8bpp" - - .align 2 -gUnknown_0820F798:: @ 820F798 - .incbin "graphics/trade/shadow_map.bin" - - .align 2 -gUnknown_08210798:: @ 8210798 - .incbin "graphics/trade/gba_map.bin" - - .align 2 -gUnknown_08211798:: @ 8211798 - .incbin "graphics/trade/cable_closeup_map.bin" - - .align 2 -gUnknown_08211F98:: @ 8211F98 - .incbin "graphics/trade/pokeball_symbol_map.bin" - - .incbin "graphics/unused/unknown/8212098.gbapal" - - .align 2 -gTradeCableEndPalette:: @ 82120B8 - .incbin "graphics/trade/cable_end.gbapal" - - .incbin "graphics/unused/unknown/82120D8.gbapal" - - .space 32 - - .align 2 -gTradeGlowPalette:: @ 8212118 - .incbin "graphics/trade/glow.gbapal" - - .align 2 -gTradeGlow1Tiles:: @ 8212138 - .incbin "graphics/trade/glow1.4bpp" - - .align 2 -gTradeGlow2Tiles:: @ 8212338 - .incbin "graphics/trade/glow2.4bpp" - - .align 2 -gTradeCableEndTiles:: @ 8212538 - .incbin "graphics/trade/cable_end.4bpp" - - .align 2 -gTradeGBAScreenTiles:: @ 8212738 - .incbin "graphics/trade/gba_screen.4bpp" - - .align 2 -gUnknown_08213738:: @ 8213738 - .incbin "graphics/trade/gba_affine.8bpp" - - .align 2 -gUnknown_08215778:: @ 8215778 - .incbin "graphics/trade/gba_affine_map.bin" - - .align 2 -gOamData_8215878:: @ 8215878 - .2byte 0x0100 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8215880:: @ 8215880 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 1 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_82158BC:: @ 82158BC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 2 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82158F8:: @ 82158F8 - .4byte gSpriteAnim_8215880 - .4byte gSpriteAnim_82158BC - - .align 2 -gSpriteAffineAnim_8215900:: @ 8215900 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215910:: @ 8215910 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215920:: @ 8215920 - obj_rot_scal_anim_frame 0x60, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 - obj_rot_scal_anim_frame 0x8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8215940:: @ 8215940 - .4byte gSpriteAffineAnim_8215900 - .4byte gSpriteAffineAnim_8215910 - .4byte gSpriteAffineAnim_8215920 - - .align 2 -gUnknown_0821594C:: @ 821594C - obj_tiles gTradeBallTiles, 0x600, 5557 - - .align 2 -gUnknown_08215954:: @ 8215954 - obj_pal gTradeBallPalette, 5558 - - .align 2 -gSpriteTemplate_821595C:: @ 821595C - spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC - - .align 2 -gOamData_8215974:: @ 8215974 - .2byte 0x0500 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821597C:: @ 821597C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215984:: @ 8215984 - .4byte gSpriteAnim_821597C - - .align 2 -gSpriteAffineAnim_8215988:: @ 8215988 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_82159A0:: @ 82159A0 - .4byte gSpriteAffineAnim_8215988 - - .align 2 -gUnknown_082159A4:: @ 82159A4 - obj_tiles gTradeGlow1Tiles, 0x200, 5550 - - .align 2 -gUnknown_082159AC:: @ 82159AC - obj_pal gTradeGlowPalette, 5551 - - .align 2 -gUnknown_082159B4:: @ 82159B4 - obj_pal gTradeCableEndPalette, 5555 - - .align 2 -gSpriteTemplate_82159BC:: @ 82159BC - spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058 - - .align 2 -gOamData_82159D4:: @ 82159D4 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_82159DC:: @ 82159DC - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82159E4:: @ 82159E4 - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82159EC:: @ 82159EC - .4byte gSpriteAnim_82159DC - .4byte gSpriteAnim_82159E4 - - .align 2 -gUnknown_082159F4:: @ 82159F4 - obj_tiles gTradeGlow2Tiles, 0x300, 5552 - - .align 2 -gSpriteTemplate_82159FC:: @ 82159FC - spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C - - .align 2 -gOamData_8215A14:: @ 8215A14 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A1C:: @ 8215A1C - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A24:: @ 8215A24 - .4byte gSpriteAnim_8215A1C - - .align 2 -gUnknown_08215A28:: @ 8215A28 - obj_tiles gTradeCableEndTiles, 0x100, 5554 - - .align 2 -gSpriteTemplate_8215A30:: @ 8215A30 - spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC - - .align 2 -gOamData_8215A48:: @ 8215A48 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A50:: @ 8215A50 - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A74:: @ 8215A74 - .4byte gSpriteAnim_8215A50 - - .align 2 -gUnknown_08215A78:: @ 8215A78 - obj_tiles gTradeGBAScreenTiles, 0x1000, 5556 - - .align 2 -gSpriteTemplate_8215A80:: @ 8215A80 - spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 - - .align 1 -gTradeGlow2PaletteAnimTable:: @ 8215A98 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - - .align 2 -gSpriteAffineAnim_8215AB0:: @ 8215AB0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 - .4byte gSpriteAffineAnim_8215AB0 - -@ 8215AC4 - .include "data/ingame_trades.inc" - -gTradeBallVerticalVelocityTable:: @ 8215BA0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -4 - .byte -4 - .byte -3 - .byte -3 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 4 - .byte -4 - .byte -3 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 2 - .byte 3 - - .align 2 -gUnknown_08215C0C:: @ 8215C0C - .incbin "graphics/berry_blender/center.gbapal" - - .align 2 -gUnknown_08215C2C:: @ 8215C2C - .incbin "graphics/berry_blender/center_map.bin" - - .align 2 -gUnknown_0821602C:: @ 821602C - .incbin "graphics/berry_blender/outer.gbapal" - - .incbin "graphics/unused/unknown/821604C.gbapal" - - .space 0x1C0 - - .string "▶$" - .string " $" - .string "カッコイ$" @ "cool" (missing an イ at the end) - .string "カワイイ$" @ "cute" - .string "ウツクシ$" @ "beautiful" (missing an イ at the end) - .string "カシコイ$" @ "smart" - .string "タクマシ$" @ "tough" (missing an イ at the end) - -gUnknown_08216249:: @ 8216249 - .string "\p$" - -@ unreferenced -@ These appear to be the first names of four people who worked on the game. - .string "てつじ$", 10 @ Tetsuji (Ohta) - .string "あきと$", 10 @ Akito (Mori) - .string "シゲル$", 10 @ Shigeru (Ohmori) - .string "ヨシノリ$", 10 @ Yoshinori (Matsuda) - -UnknownText_2Pok: - .string "2Pok$" -UnknownText_3Pok: - .string "3Pok$" -UnknownText_4Pok: - .string "4Pok$" - - .align 2 -gUnknown_08216284:: @ 8216284 - .4byte UnknownText_2Pok - .4byte UnknownText_3Pok - .4byte UnknownText_4Pok - -@ unreferenced - .string "1P$", 4 - .string "2P$", 4 - .string "3P$", 4 - .string "4P$", 4 - -UnknownText_Mister: - .string "MISTER$" -UnknownText_Laddie: - .string "LADDIE$" -UnknownText_Lassie: - .string "LASSIE$" - - .align 2 -gUnknown_082162B8:: @ 82162B8 - .4byte UnknownText_Mister - .4byte UnknownText_Laddie - .4byte UnknownText_Lassie - -gUnknown_082162C4:: @ 82162C4 - .string "{COLOR RED}$" - -gUnknown_082162C8:: @ 82162C8 - .string "\n$" - - .string " $" - -gUnknown_082162CC:: @ 82162CC - .byte -1, -1 - .byte 1, -1 - .byte -1, 1 - .byte 1, 1 - -gUnknown_082162D4:: @ 82162D4 - .byte 2, 6 - .byte 23, 6 - .byte 2, 12 - .byte 23, 12 - .byte 1, 6 - .byte 22, 6 - .byte 1, 12 - .byte 22, 12 - -gUnknown_082162E4:: @ 82162E4 - .byte 72, 32 - .byte 168, 32 - .byte 72, 128 - .byte 168, 128 - -gUnknown_082162EC:: @ 82162EC - .byte -1, 0, 1, -1 - .byte -1, 0, 1, 2 - .byte 0, 1, 2, 3 - - .align 1 -gUnknown_082162F8:: @ 82162F8 - .2byte 0x0000, 0xC000, 0x4000, 0x8000 - -gUnknown_08216300:: @ 8216300 - .byte 1 - .byte 1 - .byte 0 - -gUnknown_08216303:: @ 8216303 - .byte 32 - .byte 224 - .byte 96 - .byte 160 - .byte 0 - - .align 2 -gUnknown_08216308:: @ 8216308 - .4byte sub_804F8C8 - .4byte sub_804F9F4 - .4byte sub_804FB1C - - .align 2 -gOamData_8216314:: @ 8216314 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821631C:: @ 821631C - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216324:: @ 8216324 - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_821632C:: @ 821632C - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216334:: @ 8216334 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_821633C:: @ 821633C - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216350:: @ 8216350 - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216364:: @ 8216364 - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216378:: @ 8216378 - obj_image_anim_frame 48, 2 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_821638C:: @ 821638C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216394:: @ 8216394 - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_821639C:: @ 821639C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82163A4:: @ 82163A4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82163AC:: @ 82163AC - .4byte gSpriteAnim_821631C - .4byte gSpriteAnim_8216324 - .4byte gSpriteAnim_821632C - .4byte gSpriteAnim_8216334 - .4byte gSpriteAnim_821633C - .4byte gSpriteAnim_8216350 - .4byte gSpriteAnim_8216364 - .4byte gSpriteAnim_8216378 - .4byte gSpriteAnim_821638C - .4byte gSpriteAnim_8216394 - .4byte gSpriteAnim_821639C - .4byte gSpriteAnim_82163A4 - - .align 2 -gUnknown_082163DC:: @ 82163DC - obj_tiles gBerryBlenderArrowTiles, 0x800, 46545 - - .align 2 -gUnknown_082163E4:: @ 82163E4 - obj_pal gBerryBlenderMiscPalette, 46546 - - .align 2 -gUnknown_082163EC:: @ 82163EC - obj_pal gBerryBlenderArrowPalette, 12312 - - .align 2 -gSpriteTemplate_82163F4:: @ 82163F4 - spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04 - - .align 2 -gOamData_821640C:: @ 821640C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8216414:: @ 8216414 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gSpriteAnim_821641C:: @ 821641C - obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216424:: @ 8216424 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_821643C:: @ 821643C - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216444:: @ 8216444 - .4byte gSpriteAnim_8216414 - .4byte gSpriteAnim_821641C - .4byte gSpriteAnim_8216424 - .4byte gSpriteAnim_821643C - - .align 2 -gUnknown_08216454:: @ 8216454 - obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888 - - .align 2 -gSpriteTemplate_821645C:: @ 821645C - spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650 - - .align 2 -gOamData_8216474:: @ 8216474 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821647C:: @ 821647C - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 3, 5 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_8216494:: @ 8216494 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_82164AC:: @ 82164AC - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 2, 2 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 3, 3 - obj_image_anim_frame 2, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_82164D0:: @ 82164D0 - obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82164D8:: @ 82164D8 - obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82164E0:: @ 82164E0 - .4byte gSpriteAnim_821647C - .4byte gSpriteAnim_8216494 - .4byte gSpriteAnim_82164AC - .4byte gSpriteAnim_82164D0 - .4byte gSpriteAnim_82164D8 - - .align 2 -gUnknown_082164F4:: @ 82164F4 - obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456 - - .align 2 -gSpriteTemplate_82164FC:: @ 82164FC - spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8216514:: @ 8216514 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821651C:: @ 821651C - obj_image_anim_frame 32, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8216524:: @ 8216524 - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_821652C:: @ 821652C - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216534:: @ 8216534 - .4byte gSpriteAnim_821651C - .4byte gSpriteAnim_8216524 - .4byte gSpriteAnim_821652C - - .align 2 -gUnknown_08216540:: @ 8216540 - obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345 - - .align 2 -gSpriteTemplate_8216548:: @ 8216548 - spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C - - .align 2 -gOamData_8216560:: @ 8216560 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8216568:: @ 8216568 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216570:: @ 8216570 - .4byte gSpriteAnim_8216568 - - .align 2 -gUnknown_08216574:: @ 8216574 - obj_tiles gBerryBlenderStartTiles, 0x400, 12346 - - .align 2 -gSpriteTemplate_821657C:: @ 821657C - spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC - - .align 1 -gUnknown_08216594:: @ 8216594 - .2byte -10, 20, 10, 2, 1 - .2byte 250, 20, 10, -2, 1 - .2byte -10, 140, 10, 2, -1 - .2byte 250, 140, 10, -2, -1 - -gUnknown_082165BC:: @ 82165BC - .byte 4, 3, 2 - .byte 0, 4, 3 - .byte 1, 0, 4 - .byte 2, 1, 0 - .byte 3, 2, 1 - .byte 0, 2, 3 - .byte 1, 3, 4 - .byte 2, 4, 0 - .byte 3, 0, 1 - .byte 4, 1, 2 - -gUnknown_082165DA:: @ 82165DA - .byte 1, 1, 2, 3, 4 - -gUnknown_082165DF:: @ 82165DF - .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15 - -gUnknown_082165E9:: @ 82165E9 - .byte 6, 6, 6, 6, 5 - -gUnknown_082165EE:: @ 82165EE - .byte 3, 3, 3, 2, 2 - -gUnknown_082165F3:: @ 82165F3 - .byte 3, 3, 3, 3, 2 - -gUnknown_082165F8:: @ 82165F8 - .string " $" - -gOtherText_BPMAndDash:: @ 82165FA - .string "BPM$" - .string "-$" - -gUnknown_08216600:: @ 8216600 - .string "\n$" - - .string "\n$" - -@ used to initialize part of save block 1 when starting a new game - .align 2 -gUnknown_08216604:: @ 8216604 - .space 11 - .byte 0xFF - .space 10 - .byte 0xFF - .space 9 - - .align 2 -gDummyWarpData:: @ 8216624 - .byte -1 - .byte -1 - .byte -1 - .space 1 - .2byte -1 - .2byte -1 - -@ unused, unknown data - .byte 0xB0, 0x04, 0x00, 0x00 - .byte 0x10, 0x0E, 0x00, 0x00 - .byte 0xB0, 0x04, 0x00, 0x00 - .byte 0x60, 0x09, 0x00, 0x00 - .byte 0x32, 0x00, 0x00, 0x00 - .byte 0x50, 0x00, 0x00, 0x00 - .byte 0xD4, 0xFF, 0xFF, 0xFF - .byte 0x2C, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0821664C:: @ 821664C - .4byte 0, 0 - .4byte 0, 1 - .4byte 0, -1 - .4byte -1, 0 - .4byte 1, 0 - .4byte -1, 1 - .4byte 1, 1 - .4byte -1, -1 - .4byte 1, -1 - - .align 2 -gUnknown_08216694:: @ 8216694 - .4byte REG_WIN0H - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_082166A0:: @ 82166A0 - .4byte sub_8055C68 - .4byte sub_8055C88 - .4byte sub_8055C8C - - .align 2 -gUnknown_082166AC:: @ 82166AC - .4byte sub_8055CAC - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CAC - .4byte sub_8055CAC - .4byte sub_8055D18 - .4byte sub_8055D18 - .4byte sub_8055D18 - .4byte sub_8055D18 - - .align 2 -gUnknown_082166D8:: @ 82166D8 - .4byte sub_8055D30 - .4byte sub_8055D38 - -@ 82166E0 - .include "data/tilesets/graphics.inc" - -@ 8259C1C - .include "data/tilesets/metatiles.inc" - -@ 8286CF4 - .include "data/tilesets/headers.inc" - - .include "data/maps/_assets.inc" - .include "data/maps/attributes_table.inc" - .include "data/maps/headers.inc" - .include "data/maps/_groups.inc" - .include "data/maps/connections.inc" diff --git a/data/maps.s b/data/maps.s new file mode 100644 index 000000000..a8074c02a --- /dev/null +++ b/data/maps.s @@ -0,0 +1,10 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/maps/_assets.inc" + .include "data/maps/attributes_table.inc" + .include "data/maps/headers.inc" + .include "data/maps/_groups.inc" + .include "data/maps/connections.inc" diff --git a/data/rom4.s b/data/rom4.s new file mode 100644 index 000000000..6f883c64c --- /dev/null +++ b/data/rom4.s @@ -0,0 +1,66 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gDummyWarpData:: @ 8216624 + .byte -1 + .byte -1 + .byte -1 + .space 1 + .2byte -1 + .2byte -1 + +@ unused, unknown data + .byte 0xB0, 0x04, 0x00, 0x00 + .byte 0x10, 0x0E, 0x00, 0x00 + .byte 0xB0, 0x04, 0x00, 0x00 + .byte 0x60, 0x09, 0x00, 0x00 + .byte 0x32, 0x00, 0x00, 0x00 + .byte 0x50, 0x00, 0x00, 0x00 + .byte 0xD4, 0xFF, 0xFF, 0xFF + .byte 0x2C, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0821664C:: @ 821664C + .4byte 0, 0 + .4byte 0, 1 + .4byte 0, -1 + .4byte -1, 0 + .4byte 1, 0 + .4byte -1, 1 + .4byte 1, 1 + .4byte -1, -1 + .4byte 1, -1 + + .align 2 +gUnknown_08216694:: @ 8216694 + .4byte REG_WIN0H + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + + .align 2 +gUnknown_082166A0:: @ 82166A0 + .4byte sub_8055C68 + .4byte sub_8055C88 + .4byte sub_8055C8C + + .align 2 +gUnknown_082166AC:: @ 82166AC + .4byte sub_8055CAC + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CAC + .4byte sub_8055CAC + .4byte sub_8055D18 + .4byte sub_8055D18 + .4byte sub_8055D18 + .4byte sub_8055D18 + + .align 2 +gUnknown_082166D8:: @ 82166D8 + .4byte sub_8055D30 + .4byte sub_8055D38 diff --git a/data/tilesets.s b/data/tilesets.s new file mode 100644 index 000000000..443686234 --- /dev/null +++ b/data/tilesets.s @@ -0,0 +1,8 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/tilesets/graphics.inc" + .include "data/tilesets/metatiles.inc" + .include "data/tilesets/headers.inc" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc index 69e11ac20..8965b1025 100644 --- a/data/tilesets/headers.inc +++ b/data/tilesets/headers.inc @@ -1,6 +1,6 @@ .align 2 -gTileset_General: @ 8286CF4 +gTileset_General:: @ 8286CF4 .byte TRUE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -12,7 +12,7 @@ gTileset_General: @ 8286CF4 .align 2 -gTileset_Petalburg: @ 8286D0C +gTileset_Petalburg:: @ 8286D0C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -24,7 +24,7 @@ gTileset_Petalburg: @ 8286D0C .align 2 -gTileset_Rustboro: @ 8286D24 +gTileset_Rustboro:: @ 8286D24 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -36,7 +36,7 @@ gTileset_Rustboro: @ 8286D24 .align 2 -gTileset_Dewford: @ 8286D3C +gTileset_Dewford:: @ 8286D3C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -48,7 +48,7 @@ gTileset_Dewford: @ 8286D3C .align 2 -gTileset_Slateport: @ 8286D54 +gTileset_Slateport:: @ 8286D54 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -60,7 +60,7 @@ gTileset_Slateport: @ 8286D54 .align 2 -gTileset_Mauville: @ 8286D6C +gTileset_Mauville:: @ 8286D6C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -72,7 +72,7 @@ gTileset_Mauville: @ 8286D6C .align 2 -gTileset_Lavaridge: @ 8286D84 +gTileset_Lavaridge:: @ 8286D84 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -84,7 +84,7 @@ gTileset_Lavaridge: @ 8286D84 .align 2 -gTileset_Fallarbor: @ 8286D9C +gTileset_Fallarbor:: @ 8286D9C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -96,7 +96,7 @@ gTileset_Fallarbor: @ 8286D9C .align 2 -gTileset_Fortree: @ 8286DB4 +gTileset_Fortree:: @ 8286DB4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -108,7 +108,7 @@ gTileset_Fortree: @ 8286DB4 .align 2 -gTileset_Lilycove: @ 8286DCC +gTileset_Lilycove:: @ 8286DCC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -120,7 +120,7 @@ gTileset_Lilycove: @ 8286DCC .align 2 -gTileset_Mossdeep: @ 8286DE4 +gTileset_Mossdeep:: @ 8286DE4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -132,7 +132,7 @@ gTileset_Mossdeep: @ 8286DE4 .align 2 -gTileset_EverGrande: @ 8286DFC +gTileset_EverGrande:: @ 8286DFC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -144,7 +144,7 @@ gTileset_EverGrande: @ 8286DFC .align 2 -gTileset_Pacifidlog: @ 8286E14 +gTileset_Pacifidlog:: @ 8286E14 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -156,7 +156,7 @@ gTileset_Pacifidlog: @ 8286E14 .align 2 -gTileset_Sootopolis: @ 8286E2C +gTileset_Sootopolis:: @ 8286E2C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -168,7 +168,7 @@ gTileset_Sootopolis: @ 8286E2C .align 2 -gTileset_Building: @ 8286E44 +gTileset_Building:: @ 8286E44 .byte TRUE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -180,7 +180,7 @@ gTileset_Building: @ 8286E44 .align 2 -gTileset_Shop: @ 8286E5C +gTileset_Shop:: @ 8286E5C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -192,7 +192,7 @@ gTileset_Shop: @ 8286E5C .align 2 -gTileset_PokemonCenter: @ 8286E74 +gTileset_PokemonCenter:: @ 8286E74 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -204,7 +204,7 @@ gTileset_PokemonCenter: @ 8286E74 .align 2 -gTileset_Cave: @ 8286E8C +gTileset_Cave:: @ 8286E8C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -216,7 +216,7 @@ gTileset_Cave: @ 8286E8C .align 2 -gTileset_PokemonSchool: @ 8286EA4 +gTileset_PokemonSchool:: @ 8286EA4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -228,7 +228,7 @@ gTileset_PokemonSchool: @ 8286EA4 .align 2 -gTileset_PokemonFanClub: @ 8286EBC +gTileset_PokemonFanClub:: @ 8286EBC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -240,7 +240,7 @@ gTileset_PokemonFanClub: @ 8286EBC .align 2 -gTileset_Unused1: @ 8286ED4 +gTileset_Unused1:: @ 8286ED4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -252,7 +252,7 @@ gTileset_Unused1: @ 8286ED4 .align 2 -gTileset_MeteorFalls: @ 8286EEC +gTileset_MeteorFalls:: @ 8286EEC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -264,7 +264,7 @@ gTileset_MeteorFalls: @ 8286EEC .align 2 -gTileset_OceanicMuseum: @ 8286F04 +gTileset_OceanicMuseum:: @ 8286F04 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -276,7 +276,7 @@ gTileset_OceanicMuseum: @ 8286F04 .align 2 -gTileset_CableClub: @ 8286F1C +gTileset_CableClub:: @ 8286F1C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -288,7 +288,7 @@ gTileset_CableClub: @ 8286F1C .align 2 -gTileset_SeashoreHouse: @ 8286F34 +gTileset_SeashoreHouse:: @ 8286F34 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -300,7 +300,7 @@ gTileset_SeashoreHouse: @ 8286F34 .align 2 -gTileset_PrettyPetalFlowerShop: @ 8286F4C +gTileset_PrettyPetalFlowerShop:: @ 8286F4C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -312,7 +312,7 @@ gTileset_PrettyPetalFlowerShop: @ 8286F4C .align 2 -gTileset_PokemonDayCare: @ 8286F64 +gTileset_PokemonDayCare:: @ 8286F64 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -324,7 +324,7 @@ gTileset_PokemonDayCare: @ 8286F64 .align 2 -gTileset_Facility: @ 8286F7C +gTileset_Facility:: @ 8286F7C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -336,7 +336,7 @@ gTileset_Facility: @ 8286F7C .align 2 -gTileset_BikeShop: @ 8286F94 +gTileset_BikeShop:: @ 8286F94 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -348,7 +348,7 @@ gTileset_BikeShop: @ 8286F94 .align 2 -gTileset_RusturfTunnel: @ 8286FAC +gTileset_RusturfTunnel:: @ 8286FAC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -360,7 +360,7 @@ gTileset_RusturfTunnel: @ 8286FAC .align 2 -gTileset_SecretBaseBrownCave: @ 8286FC4 +gTileset_SecretBaseBrownCave:: @ 8286FC4 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -372,7 +372,7 @@ gTileset_SecretBaseBrownCave: @ 8286FC4 .align 2 -gTileset_SecretBaseTree: @ 8286FDC +gTileset_SecretBaseTree:: @ 8286FDC .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -384,7 +384,7 @@ gTileset_SecretBaseTree: @ 8286FDC .align 2 -gTileset_SecretBaseShrub: @ 8286FF4 +gTileset_SecretBaseShrub:: @ 8286FF4 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -396,7 +396,7 @@ gTileset_SecretBaseShrub: @ 8286FF4 .align 2 -gTileset_SecretBaseBlueCave: @ 828700C +gTileset_SecretBaseBlueCave:: @ 828700C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -408,7 +408,7 @@ gTileset_SecretBaseBlueCave: @ 828700C .align 2 -gTileset_SecretBaseYellowCave: @ 8287024 +gTileset_SecretBaseYellowCave:: @ 8287024 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -420,7 +420,7 @@ gTileset_SecretBaseYellowCave: @ 8287024 .align 2 -gTileset_SecretBaseRedCave: @ 828703C +gTileset_SecretBaseRedCave:: @ 828703C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -432,7 +432,7 @@ gTileset_SecretBaseRedCave: @ 828703C .align 2 -gTileset_InsideOfTruck: @ 8287054 +gTileset_InsideOfTruck:: @ 8287054 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -444,7 +444,7 @@ gTileset_InsideOfTruck: @ 8287054 .align 2 -gTileset_Unused2: @ 828706C +gTileset_Unused2:: @ 828706C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -456,7 +456,7 @@ gTileset_Unused2: @ 828706C .align 2 -gTileset_Contest: @ 8287084 +gTileset_Contest:: @ 8287084 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -468,7 +468,7 @@ gTileset_Contest: @ 8287084 .align 2 -gTileset_LilycoveMuseum: @ 828709C +gTileset_LilycoveMuseum:: @ 828709C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -480,7 +480,7 @@ gTileset_LilycoveMuseum: @ 828709C .align 2 -gTileset_BrendansMaysHouse: @ 82870B4 +gTileset_BrendansMaysHouse:: @ 82870B4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -492,7 +492,7 @@ gTileset_BrendansMaysHouse: @ 82870B4 .align 2 -gTileset_Lab: @ 82870CC +gTileset_Lab:: @ 82870CC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -504,7 +504,7 @@ gTileset_Lab: @ 82870CC .align 2 -gTileset_Underwater: @ 82870E4 +gTileset_Underwater:: @ 82870E4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -516,7 +516,7 @@ gTileset_Underwater: @ 82870E4 .align 2 -gTileset_PetalburgGym: @ 82870FC +gTileset_PetalburgGym:: @ 82870FC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -528,7 +528,7 @@ gTileset_PetalburgGym: @ 82870FC .align 2 -gTileset_SootopolisGym: @ 8287114 +gTileset_SootopolisGym:: @ 8287114 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -540,7 +540,7 @@ gTileset_SootopolisGym: @ 8287114 .align 2 -gTileset_GenericBuilding: @ 828712C +gTileset_GenericBuilding:: @ 828712C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -552,7 +552,7 @@ gTileset_GenericBuilding: @ 828712C .align 2 -gTileset_MauvilleGameCorner: @ 8287144 +gTileset_MauvilleGameCorner:: @ 8287144 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -564,7 +564,7 @@ gTileset_MauvilleGameCorner: @ 8287144 .align 2 -gTileset_RustboroGym: @ 828715C +gTileset_RustboroGym:: @ 828715C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -576,7 +576,7 @@ gTileset_RustboroGym: @ 828715C .align 2 -gTileset_DewfordGym: @ 8287174 +gTileset_DewfordGym:: @ 8287174 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -588,7 +588,7 @@ gTileset_DewfordGym: @ 8287174 .align 2 -gTileset_MauvilleGym: @ 828718C +gTileset_MauvilleGym:: @ 828718C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -600,7 +600,7 @@ gTileset_MauvilleGym: @ 828718C .align 2 -gTileset_LavaridgeGym: @ 82871A4 +gTileset_LavaridgeGym:: @ 82871A4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -612,7 +612,7 @@ gTileset_LavaridgeGym: @ 82871A4 .align 2 -gTileset_TrickHousePuzzle: @ 82871BC +gTileset_TrickHousePuzzle:: @ 82871BC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -624,7 +624,7 @@ gTileset_TrickHousePuzzle: @ 82871BC .align 2 -gTileset_FortreeGym: @ 82871D4 +gTileset_FortreeGym:: @ 82871D4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -636,7 +636,7 @@ gTileset_FortreeGym: @ 82871D4 .align 2 -gTileset_MossdeepGym: @ 82871EC +gTileset_MossdeepGym:: @ 82871EC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -648,7 +648,7 @@ gTileset_MossdeepGym: @ 82871EC .align 2 -gTileset_Ship: @ 8287204 +gTileset_Ship:: @ 8287204 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -660,7 +660,7 @@ gTileset_Ship: @ 8287204 .align 2 -gTileset_SecretBase: @ 828721C +gTileset_SecretBase:: @ 828721C .byte FALSE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -672,7 +672,7 @@ gTileset_SecretBase: @ 828721C .align 2 -gTileset_EliteFour: @ 8287234 +gTileset_EliteFour:: @ 8287234 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -684,7 +684,7 @@ gTileset_EliteFour: @ 8287234 .align 2 -gTileset_BattleTower: @ 828724C +gTileset_BattleTower:: @ 828724C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding diff --git a/data/trade.s b/data/trade.s new file mode 100644 index 000000000..8f96a72b1 --- /dev/null +++ b/data/trade.s @@ -0,0 +1,774 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + .byte 0x90, 0x08, 0x00, 0x00 + .byte 0xC0, 0x3A, 0x00, 0x00 + .byte 0x1C, 0x00, 0x00, 0x00 + .byte 0x30, 0x05, 0x00, 0x00 + .byte 0x24, 0x00, 0x00, 0x00 + .byte 0x64, 0x00, 0x00, 0x00 + .byte 0xD8, 0x04, 0x00, 0x00 + + .align 1 +gTradeMovesBoxTilemap:: @ 820ABF0 + .incbin "graphics/trade/moves_box_map.bin" + + .align 1 +gTradePartyBoxTilemap:: @ 820ADEE + .incbin "graphics/trade/party_box_map.bin" + + .align 2 +gTradeStripesBG2Tilemap:: @ 820AFEC + .incbin "graphics/trade/stripes_bg2_map.bin" + + .align 2 +gTradeStripesBG3Tilemap:: @ 820B7EC + .incbin "graphics/trade/stripes_bg3_map.bin" + + .align 2 +gOamData_820BFEC:: @ 820BFEC + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_820BFF4:: @ 820BFF4 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820BFFC:: @ 820BFFC + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C004:: @ 820C004 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C00C:: @ 820C00C + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C014:: @ 820C014 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C01C:: @ 820C01C + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_820C024:: @ 820C024 + .4byte gSpriteAnim_820BFF4 + .4byte gSpriteAnim_820BFFC + .4byte gSpriteAnim_820C004 + .4byte gSpriteAnim_820C00C + .4byte gSpriteAnim_820C014 + .4byte gSpriteAnim_820C01C + + .align 2 +TradeScreenTextPalette: @ 820C03C + .incbin "graphics/trade/text1.gbapal" + .incbin "graphics/trade/text2.gbapal" @ unused? + + .align 2 +gUnknown_0820C07C:: @ 820C07C + obj_tiles 0x0201d000, 256, 0x00c8 + obj_tiles 0x0201d100, 256, 0x00c9 + obj_tiles 0x0201d200, 256, 0x00ca + obj_tiles 0x0201d300, 256, 0x00cb + obj_tiles 0x0201d400, 256, 0x00cc + obj_tiles 0x0201d500, 256, 0x00cd + obj_tiles 0x0201d600, 256, 0x00ce + obj_tiles 0x0201d700, 256, 0x00cf + obj_tiles 0x0201d800, 256, 0x00d0 + obj_tiles 0x0201d900, 256, 0x00d1 + obj_tiles 0x0201da00, 256, 0x00d2 + obj_tiles 0x0201db00, 256, 0x00d3 + obj_tiles 0x0201dc00, 256, 0x00d4 + + .align 2 +gSpritePalette_TradeScreenText:: @ 820C0E4 + obj_pal TradeScreenTextPalette, 4925 + + .align 2 +gSpriteTemplate_820C0EC:: @ 820C0EC + spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_820C104:: @ 820C104 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_820C10C:: @ 820C10C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C114:: @ 820C114 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_820C11C:: @ 820C11C + .4byte gSpriteAnim_820C10C + .4byte gSpriteAnim_820C114 + + .align 2 +gUnknown_0820C124:: @ 820C124 + obj_tiles gUnknown_08EA1DEC, 0x800, 300 + + .align 2 +gUnknown_0820C12C:: @ 820C12C + obj_pal gUnknown_08EA0328, 2345 + + .align 2 +gSpriteTemplate_820C134:: @ 820C134 + spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_0820C14C:: @ 820C14C + .4byte TradeText_Cancel + .4byte TradeText_ChoosePoke + .4byte TradeText_Summary1 + .4byte TradeText_Trade1 + .4byte TradeText_CancelTradePrompt + .4byte TradeText_PressBToExit + +@ This is used to determine the next mon to select when the D-Pad is +@ pressed in a given direction. +@ Note that the mons are laid out like this. +@ 0-5 are the player's party and 6-11 are the trading partner's party. +@ 12 is the cancel button. +@ 0 1 6 7 +@ 2 3 8 9 +@ 4 5 10 11 +@ 12 +gTradeNextSelectedMonTable:: @ 820C164 + @ 0 + .byte 4, 2, 12, 12, 0, 0 @ up + .byte 2, 4, 12, 12, 0, 0 @ down + .byte 7, 6, 1, 0, 0, 0 @ left + .byte 1, 6, 7, 0, 0, 0 @ right + @ 1 + .byte 5, 3, 12, 12, 0, 0 @ up + .byte 3, 5, 12, 12, 0, 0 @ down + .byte 0, 7, 6, 1, 0, 0 @ left + .byte 6, 7, 0, 1, 0, 0 @ right + @ 2 + .byte 0, 0, 0, 0, 0, 0 @ up + .byte 4, 0, 0, 0, 0, 0 @ down + .byte 9, 8, 7, 6, 0, 0 @ left + .byte 3, 1, 0, 0, 0, 0 @ right + @ 3 + .byte 1, 1, 1, 1, 0, 0 @ up + .byte 5, 1, 1, 1, 0, 0 @ down + .byte 2, 9, 8, 7, 0, 0 @ left + .byte 8, 9, 6, 6, 0, 0 @ right + @ 4 + .byte 2, 2, 2, 2, 0, 0 @ up + .byte 0, 0, 0, 0, 0, 0 @ down + .byte 11, 10, 9, 8, 7, 6 @ left + .byte 5, 3, 1, 0, 0, 0 @ right + @ 5 + .byte 3, 3, 3, 3, 0, 0 @ up + .byte 1, 1, 1, 1, 0, 0 @ down + .byte 4, 4, 4, 4, 0, 0 @ left + .byte 10, 8, 6, 0, 0, 0 @ right + @ 6 + .byte 10, 8, 12, 0, 0, 0 @ up + .byte 8, 10, 12, 0, 0, 0 @ down + .byte 1, 0, 0, 0, 0, 0 @ left + .byte 7, 0, 1, 0, 0, 0 @ right + @ 7 + .byte 12, 0, 0, 0, 0, 0 @ up + .byte 9, 12, 0, 0, 0, 0 @ down + .byte 6, 0, 0, 0, 0, 0 @ left + .byte 0, 0, 0, 0, 0, 0 @ right + @ 8 + .byte 6, 0, 0, 0, 0, 0 @ up + .byte 10, 6, 0, 0, 0, 0 @ down + .byte 3, 2, 1, 0, 0, 0 @ left + .byte 9, 7, 0, 0, 0, 0 @ right + @ 9 + .byte 7, 0, 0, 0, 0, 0 @ up + .byte 11, 12, 0, 0, 0, 0 @ down + .byte 8, 0, 0, 0, 0, 0 @ left + .byte 2, 1, 0, 0, 0, 0 @ right + @ 10 + .byte 8, 0, 0, 0, 0, 0 @ up + .byte 6, 0, 0, 0, 0, 0 @ down + .byte 5, 4, 3, 2, 1, 0 @ left + .byte 11, 9, 7, 0, 0, 0 @ right + @ 11 + .byte 9, 0, 0, 0, 0, 0 @ up + .byte 12, 0, 0, 0, 0, 0 @ down + .byte 10, 0, 0, 0, 0, 0 @ left + .byte 4, 2, 0, 0, 0, 0 @ right + @ 12 + .byte 11, 9, 7, 6, 0, 0 @ up + .byte 7, 6, 0, 0, 0, 0 @ down + .byte 12, 0, 0, 0, 0, 0 @ left + .byte 12, 0, 0, 0, 0, 0 @ right + +@ The coordinates are in units of tiles. +@ These are used for both mon icons and the selected mon cursor, +@ but the origins of the coordinates differ. +gTradeMonSpriteCoords:: @ 820C29C + @ left-side party + .byte 1, 5 + .byte 8, 5 + .byte 1, 10 + .byte 8, 10 + .byte 1, 15 + .byte 8, 15 + + @ right-side party + .byte 16, 5 + .byte 23, 5 + .byte 16, 10 + .byte 23, 10 + .byte 16, 15 + .byte 23, 15 + + @ cancel button + .byte 23, 18 + +gTradeLevelDisplayCoords:: @ 820C2B6 + @ left-side party + .byte 5, 4 + .byte 12, 4 + .byte 5, 9 + .byte 12, 9 + .byte 5, 14 + .byte 12, 14 + + @ right-side party + .byte 20, 4 + .byte 27, 4 + .byte 20, 9 + .byte 27, 9 + .byte 20, 14 + .byte 27, 14 + +gTradeMonBoxCoords:: @ 820C2CE + @ left-side party + .byte 1, 3 + .byte 8, 3 + .byte 1, 8 + .byte 8, 8 + .byte 1, 13 + .byte 8, 13 + + @ right-side party + .byte 16, 3 + .byte 23, 3 + .byte 16, 8 + .byte 23, 8 + .byte 16, 13 + .byte 23, 13 + +gTradeUnknownSpriteCoords:: @ 820C2E6 + .byte 59, 10 + .byte 179, 10 + .byte 59, 10 + .byte 179, 10 + + .align 2 +gUnknown_0820C2F0:: @ 820C2F0 + .4byte TradeText_LinkStandby + .4byte TradeText_TradeCancelled + .4byte TradeText_OnlyPoke + .4byte TradeText_NonTradablePoke + .4byte TradeText_WaitingForFriend + .4byte TradeText_WantToTrade + +gTradeMessageWindowRects:: @ 820C308 + .byte 8, 7, 22, 12 + .byte 8, 7, 22, 12 + .byte 6, 7, 24, 12 + .byte 6, 7, 24, 12 + .byte 8, 7, 22, 12 + .byte 7, 7, 23, 12 + + .align 2 +gUnknown_0820C320:: @ 820C320 + .4byte TradeText_Summary2, sub_804A9F4 @unknown + .4byte TradeText_Trade2, sub_804AA00 + +gUnknown_0820C330:: @ 820C330 + .byte 0, 14 + .byte 15, 29 + +gUnknown_0820C334:: @ 820C334 + .byte 3, 5 + .byte 3, 7 + .byte 18, 5 + .byte 18, 7 + +gOtherText_Terminator:: + .string "$" + +gOtherText_MaleSymbol3:: @ 820C33D + .string "♂$" + +gOtherText_FemaleSymbol3:: @ 820C33F + .string "♀$" + +gOtherText_GenderlessSymbol:: @ 820C341 + .string "$$" + + .align 2 + .4byte gTileBuffer + +@ Unused debug strings? + .string "かいめの そうしん$", 13 + .string "かいめの じゅしん$", 13 + .string "ポケモンアイコンセット$", 13 + .string "OBJテキストセット$", 13 + .string "セルセット$", 13 + .string "OBJテキストADD$", 13 + .string "システムメッセージADD$", 13 + .string "はいけいセット$", 13 + +@ Shedinja's Japanese name +@ sub_8048D44 compares a pokemon name with this string +gUnknown_0820C3B0:: @ 820C3B0 + .string "ヌケニン$" + + .string "こうかんせいりつ $" @ trade completed + .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) + +gUnknown_0820C3D1:: @ 820C3D1 + .byte 4, 3 + .byte 19, 3 + + .align 2 +gTradeBallPalette:: @ 820C3D8 + .incbin "graphics/trade/ball.gbapal" + + .align 2 +gTradeBallTiles:: @ 820C3F8 + .incbin "graphics/trade/ball.4bpp" + + .align 2 +gUnknown_0820C9F8:: @ 820C9F8 + .incbin "graphics/trade/unknown.gbapal" + .incbin "graphics/trade/gba.gbapal" + .incbin "graphics/trade/shadow.gbapal" + .space 32 + .incbin "graphics/trade/misc.gbapal" + + .align 2 +gUnknown_0820CA98:: @ 820CA98 + .incbin "graphics/trade/gba.4bpp" + .incbin "graphics/trade/shadow.4bpp" + + .align 2 +gUnknown_0820DD98:: @ 820DD98 + .incbin "graphics/trade/pokeball_symbol.8bpp" + + .align 2 +gUnknown_0820F798:: @ 820F798 + .incbin "graphics/trade/shadow_map.bin" + + .align 2 +gUnknown_08210798:: @ 8210798 + .incbin "graphics/trade/gba_map.bin" + + .align 2 +gUnknown_08211798:: @ 8211798 + .incbin "graphics/trade/cable_closeup_map.bin" + + .align 2 +gUnknown_08211F98:: @ 8211F98 + .incbin "graphics/trade/pokeball_symbol_map.bin" + + .incbin "graphics/unused/unknown/8212098.gbapal" + + .align 2 +gTradeCableEndPalette:: @ 82120B8 + .incbin "graphics/trade/cable_end.gbapal" + + .incbin "graphics/unused/unknown/82120D8.gbapal" + + .space 32 + + .align 2 +gTradeGlowPalette:: @ 8212118 + .incbin "graphics/trade/glow.gbapal" + + .align 2 +gTradeGlow1Tiles:: @ 8212138 + .incbin "graphics/trade/glow1.4bpp" + + .align 2 +gTradeGlow2Tiles:: @ 8212338 + .incbin "graphics/trade/glow2.4bpp" + + .align 2 +gTradeCableEndTiles:: @ 8212538 + .incbin "graphics/trade/cable_end.4bpp" + + .align 2 +gTradeGBAScreenTiles:: @ 8212738 + .incbin "graphics/trade/gba_screen.4bpp" + + .align 2 +gUnknown_08213738:: @ 8213738 + .incbin "graphics/trade/gba_affine.8bpp" + + .align 2 +gUnknown_08215778:: @ 8215778 + .incbin "graphics/trade/gba_affine_map.bin" + + .align 2 +gOamData_8215878:: @ 8215878 + .2byte 0x0100 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8215880:: @ 8215880 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 12, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 20, 3 + obj_image_anim_frame 24, 3 + obj_image_anim_frame 28, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 36, 3 + obj_image_anim_frame 40, 3 + obj_image_anim_frame 44, 3 + obj_image_anim_loop 1 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_82158BC:: @ 82158BC + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 12, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 20, 3 + obj_image_anim_frame 24, 3 + obj_image_anim_frame 28, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 36, 3 + obj_image_anim_frame 40, 3 + obj_image_anim_frame 44, 3 + obj_image_anim_loop 2 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82158F8:: @ 82158F8 + .4byte gSpriteAnim_8215880 + .4byte gSpriteAnim_82158BC + + .align 2 +gSpriteAffineAnim_8215900:: @ 8215900 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8215910:: @ 8215910 + obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8215920:: @ 8215920 + obj_rot_scal_anim_frame 0x60, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 + obj_rot_scal_anim_frame 0x8, 0x0, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8215940:: @ 8215940 + .4byte gSpriteAffineAnim_8215900 + .4byte gSpriteAffineAnim_8215910 + .4byte gSpriteAffineAnim_8215920 + + .align 2 +gUnknown_0821594C:: @ 821594C + obj_tiles gTradeBallTiles, 0x600, 5557 + + .align 2 +gUnknown_08215954:: @ 8215954 + obj_pal gTradeBallPalette, 5558 + + .align 2 +gSpriteTemplate_821595C:: @ 821595C + spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC + + .align 2 +gOamData_8215974:: @ 8215974 + .2byte 0x0500 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821597C:: @ 821597C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215984:: @ 8215984 + .4byte gSpriteAnim_821597C + + .align 2 +gSpriteAffineAnim_8215988:: @ 8215988 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 5 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_82159A0:: @ 82159A0 + .4byte gSpriteAffineAnim_8215988 + + .align 2 +gUnknown_082159A4:: @ 82159A4 + obj_tiles gTradeGlow1Tiles, 0x200, 5550 + + .align 2 +gUnknown_082159AC:: @ 82159AC + obj_pal gTradeGlowPalette, 5551 + + .align 2 +gUnknown_082159B4:: @ 82159B4 + obj_pal gTradeCableEndPalette, 5555 + + .align 2 +gSpriteTemplate_82159BC:: @ 82159BC + spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058 + + .align 2 +gOamData_82159D4:: @ 82159D4 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_82159DC:: @ 82159DC + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82159E4:: @ 82159E4 + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82159EC:: @ 82159EC + .4byte gSpriteAnim_82159DC + .4byte gSpriteAnim_82159E4 + + .align 2 +gUnknown_082159F4:: @ 82159F4 + obj_tiles gTradeGlow2Tiles, 0x300, 5552 + + .align 2 +gSpriteTemplate_82159FC:: @ 82159FC + spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C + + .align 2 +gOamData_8215A14:: @ 8215A14 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8215A1C:: @ 8215A1C + obj_image_anim_frame 0, 10 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215A24:: @ 8215A24 + .4byte gSpriteAnim_8215A1C + + .align 2 +gUnknown_08215A28:: @ 8215A28 + obj_tiles gTradeCableEndTiles, 0x100, 5554 + + .align 2 +gSpriteTemplate_8215A30:: @ 8215A30 + spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC + + .align 2 +gOamData_8215A48:: @ 8215A48 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8215A50:: @ 8215A50 + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215A74:: @ 8215A74 + .4byte gSpriteAnim_8215A50 + + .align 2 +gUnknown_08215A78:: @ 8215A78 + obj_tiles gTradeGBAScreenTiles, 0x1000, 5556 + + .align 2 +gSpriteTemplate_8215A80:: @ 8215A80 + spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 + + .align 1 +gTradeGlow2PaletteAnimTable:: @ 8215A98 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7FFF + + .align 2 +gSpriteAffineAnim_8215AB0:: @ 8215AB0 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 + .4byte gSpriteAffineAnim_8215AB0 + +@ 8215AC4 + .include "data/ingame_trades.inc" + +gTradeBallVerticalVelocityTable:: @ 8215BA0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -4 + .byte -4 + .byte -3 + .byte -3 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte -4 + .byte -3 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 3 diff --git a/ld_script.txt b/ld_script.txt index b601efe66..32a0dbfc7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -257,6 +257,12 @@ SECTIONS { src/link.o(.rodata); src/rtc.o(.rodata); data/data2.o(.rodata); + data/trade.o(.rodata); + data/berry_blender.o(.rodata); + src/new_game.o(.rodata); + data/rom4.o(.rodata); + data/tilesets.o(.rodata); + data/maps.o(.rodata); src/fieldmap.o(.rodata); data/metatile_behavior.o(.rodata); data/field_door.o(.rodata); diff --git a/src/new_game.c b/src/new_game.c index d63e50236..fa1894086 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -18,7 +18,15 @@ extern u8 gUnknown_03005CE8; extern u16 gSaveFileStatus; extern u8 gUnknown_0819FA81[]; -extern const struct SB1_2EFC_Struct gUnknown_08216604; + +const struct SB1_2EFC_Struct gUnknown_08216604 = +{ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } +}; void write_word_to_mem(u32 a1, u8 *a2) { |