battle_bg
This commit is contained in:
-1473
File diff suppressed because it is too large
Load Diff
@@ -1,583 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_824829C:: @ 824829C
|
||||
.byte 1, 2, 0
|
||||
|
||||
.align 2
|
||||
gOamData_82482A0::
|
||||
.4byte 0xc0000300, 0x00000000
|
||||
|
||||
gOamData_82482A8::
|
||||
.4byte 0xc0000300, 0x00000040
|
||||
|
||||
gUnknown_82482B0::
|
||||
obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
gUnknown_82482C0::
|
||||
obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
|
||||
obj_rot_scal_anim_frame 0x18, 0x18, 0, 0x80
|
||||
obj_rot_scal_anim_frame 0x18, 0x18, 0, 0x80
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
gAffineAnimTable_82482E0::
|
||||
.4byte gUnknown_82482B0
|
||||
.4byte gUnknown_82482C0
|
||||
|
||||
gUnknown_82482E8:: @ 82482E8
|
||||
spr_template 10000, 10000, gOamData_82482A0, gDummySpriteAnimTable, NULL, gAffineAnimTable_82482E0, nullsub_9
|
||||
|
||||
gUnknown_8248300:: @ 8248300
|
||||
spr_template 10000, 10000, gOamData_82482A8, gDummySpriteAnimTable, NULL, gAffineAnimTable_82482E0, nullsub_9
|
||||
|
||||
gUnknown_8248318:: @ 8248318
|
||||
obj_tiles gFile_graphics_battle_transitions_vs_sheet, 0x1000, 10000
|
||||
|
||||
gBattleBgTemplates:: @ 8248320
|
||||
.4byte 0x00000580
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .charBaseIndex = 0,
|
||||
@ .mapBaseIndex = 24,
|
||||
@ .screenSize = 2,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 0,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
.4byte 0x000005c5
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .charBaseIndex = 1,
|
||||
@ .mapBaseIndex = 28,
|
||||
@ .screenSize = 2,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 0,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
.4byte 0x000013e6
|
||||
@ {
|
||||
@ .bg = 2,
|
||||
@ .charBaseIndex = 1,
|
||||
@ .mapBaseIndex = 30,
|
||||
@ .screenSize = 1,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 1,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
.4byte 0x000033ab
|
||||
@ {
|
||||
@ .bg = 3,
|
||||
@ .charBaseIndex = 2,
|
||||
@ .mapBaseIndex = 26,
|
||||
@ .screenSize = 1,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 3,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
|
||||
gUnknown_8248330:: @ 8248330
|
||||
.byte 0, 1, 15, 28, 4, 0
|
||||
.2byte 0x0090
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 1,
|
||||
@ .tilemapTop = 15,
|
||||
@ .width = 28,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x0090
|
||||
@ }
|
||||
.byte 0, 1, 35, 14, 4, 0
|
||||
.2byte 0x01c0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 1,
|
||||
@ .tilemapTop = 35,
|
||||
@ .width = 14,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x01c0
|
||||
@ }
|
||||
.byte 0, 17, 35, 12, 4, 5
|
||||
.2byte 0x0190
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 17,
|
||||
@ .tilemapTop = 35,
|
||||
@ .width = 12,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0190
|
||||
@ }
|
||||
.byte 0, 2, 55, 8, 2, 5
|
||||
.2byte 0x0300
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 55,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0300
|
||||
@ }
|
||||
.byte 0, 11, 55, 8, 2, 5
|
||||
.2byte 0x0310
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 11,
|
||||
@ .tilemapTop = 55,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0310
|
||||
@ }
|
||||
.byte 0, 2, 57, 8, 2, 5
|
||||
.2byte 0x0320
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 57,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0320
|
||||
@ }
|
||||
.byte 0, 11, 57, 8, 2, 5
|
||||
.2byte 0x0330
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 11,
|
||||
@ .tilemapTop = 57,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0330
|
||||
@ }
|
||||
.byte 0, 21, 55, 3, 2, 5
|
||||
.2byte 0x0290
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 21,
|
||||
@ .tilemapTop = 55,
|
||||
@ .width = 3,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0290
|
||||
@ }
|
||||
.byte 0, 21, 57, 8, 2, 5
|
||||
.2byte 0x0296
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 21,
|
||||
@ .tilemapTop = 57,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0296
|
||||
@ }
|
||||
.byte 0, 24, 55, 5, 2, 5
|
||||
.2byte 0x02a6
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 24,
|
||||
@ .tilemapTop = 55,
|
||||
@ .width = 5,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x02a6
|
||||
@ }
|
||||
.byte 0, 25, 57, 0, 0, 5
|
||||
.2byte 0x02b0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 25,
|
||||
@ .tilemapTop = 57,
|
||||
@ .width = 0,
|
||||
@ .height = 0,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x02b0
|
||||
@ }
|
||||
.byte 0, 21, 55, 8, 4, 5
|
||||
.2byte 0x02b0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 21,
|
||||
@ .tilemapTop = 55,
|
||||
@ .width = 8,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x02b0
|
||||
@ }
|
||||
.byte 1, 19, 8, 10, 11, 5
|
||||
.2byte 0x0100
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .tilemapLeft = 19,
|
||||
@ .tilemapTop = 8,
|
||||
@ .width = 10,
|
||||
@ .height = 11,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0100
|
||||
@ }
|
||||
.byte 2, 18, 0, 12, 3, 6
|
||||
.2byte 0x016e
|
||||
@ {
|
||||
@ .bg = 2,
|
||||
@ .tilemapLeft = 18,
|
||||
@ .tilemapTop = 0,
|
||||
@ .width = 12,
|
||||
@ .height = 3,
|
||||
@ .paletteNum = 6,
|
||||
@ .baseBlock = 0x016e
|
||||
@ }
|
||||
.byte 0, 25, 9, 4, 4, 5
|
||||
.2byte 0x0100
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 25,
|
||||
@ .tilemapTop = 9,
|
||||
@ .width = 4,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0100
|
||||
@ }
|
||||
.byte 1, 2, 3, 7, 2, 5
|
||||
.2byte 0x0020
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 3,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0020
|
||||
@ }
|
||||
.byte 2, 2, 3, 7, 2, 5
|
||||
.2byte 0x0040
|
||||
@ {
|
||||
@ .bg = 2,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 3,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0040
|
||||
@ }
|
||||
.byte 1, 2, 2, 7, 2, 5
|
||||
.2byte 0x0020
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 2,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0020
|
||||
@ }
|
||||
.byte 2, 2, 2, 7, 2, 5
|
||||
.2byte 0x0040
|
||||
@ {
|
||||
@ .bg = 2,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 2,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0040
|
||||
@ }
|
||||
.byte 1, 2, 6, 7, 2, 5
|
||||
.2byte 0x0060
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 6,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0060
|
||||
@ }
|
||||
.byte 2, 2, 6, 7, 2, 5
|
||||
.2byte 0x0080
|
||||
@ {
|
||||
@ .bg = 2,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 6,
|
||||
@ .width = 7,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 5,
|
||||
@ .baseBlock = 0x0080
|
||||
@ }
|
||||
.byte 0, 11, 2, 8, 2, 0
|
||||
.2byte 0x00a0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 11,
|
||||
@ .tilemapTop = 2,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x00a0
|
||||
@ }
|
||||
.byte 0, 4, 2, 8, 2, 0
|
||||
.2byte 0x00a0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 4,
|
||||
@ .tilemapTop = 2,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x00a0
|
||||
@ }
|
||||
.byte 0, 19, 2, 8, 2, 0
|
||||
.2byte 0x00b0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 19,
|
||||
@ .tilemapTop = 2,
|
||||
@ .width = 8,
|
||||
@ .height = 2,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x00b0
|
||||
@ }
|
||||
.byte 0, 2, 15, 26, 4, 7
|
||||
.2byte 0x0090
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .tilemapLeft = 2,
|
||||
@ .tilemapTop = 15,
|
||||
@ .width = 26,
|
||||
@ .height = 4,
|
||||
@ .paletteNum = 7,
|
||||
@ .baseBlock = 0x0090
|
||||
@ }
|
||||
.byte 255, 0, 0, 0, 0, 0
|
||||
.2byte 0x0000
|
||||
@ {
|
||||
@ .bg = 255,
|
||||
@ .tilemapLeft = 0,
|
||||
@ .tilemapTop = 0,
|
||||
@ .width = 0,
|
||||
@ .height = 0,
|
||||
@ .paletteNum = 0,
|
||||
@ .baseBlock = 0x0000
|
||||
@ }
|
||||
|
||||
gUnknown_8248400:: @ 8248400
|
||||
.incbin "graphics/battle/unk_8248400.gbapal.lz"
|
||||
|
||||
gUnknown_824844C:: @ 824844C
|
||||
.incbin "graphics/battle/unk_824844C.4bpp.lz"
|
||||
|
||||
gUnknown_82489A8:: @ 82489A8
|
||||
.incbin "graphics/battle/unk_82489A8.bin.lz"
|
||||
|
||||
gUnknown_8248C68:: @ 8248C68
|
||||
.incbin "graphics/battle/unk_8248C68.4bpp.lz"
|
||||
|
||||
gUnknown_8248F58:: @ 8248F58
|
||||
.incbin "graphics/battle/unk_8248F58.bin.lz"
|
||||
|
||||
gUnknown_8249074:: @ 8249074
|
||||
.incbin "graphics/battle/unk_8249074.gbapal.lz"
|
||||
|
||||
gUnknown_82490C4:: @ 82490C4
|
||||
.incbin "graphics/battle/unk_82490C4.4bpp.lz"
|
||||
|
||||
gUnknown_8249620:: @ 8249620
|
||||
.incbin "graphics/battle/unk_8249620.bin.lz"
|
||||
|
||||
gUnknown_82498DC:: @ 82498DC
|
||||
.incbin "graphics/battle/unk_82498DC.4bpp.lz"
|
||||
|
||||
gUnknown_8249E10:: @ 8249E10
|
||||
.incbin "graphics/battle/unk_8249E10.bin.lz"
|
||||
|
||||
gUnknown_8249F98:: @ 8249F98
|
||||
.incbin "graphics/battle/unk_8249F98.gbapal.lz"
|
||||
|
||||
gUnknown_8249FE4:: @ 8249FE4
|
||||
.incbin "graphics/battle/unk_8249FE4.4bpp.lz"
|
||||
|
||||
gUnknown_824A37C:: @ 824A37C
|
||||
.incbin "graphics/battle/unk_824A37C.bin.lz"
|
||||
|
||||
gUnknown_824A618:: @ 824A618
|
||||
.incbin "graphics/battle/unk_824A618.4bpp.lz"
|
||||
|
||||
gUnknown_824A844:: @ 824A844
|
||||
.incbin "graphics/battle/unk_824A844.bin.lz"
|
||||
|
||||
gUnknown_824A940:: @ 824A940
|
||||
.incbin "graphics/battle/unk_824A940.gbapal.lz"
|
||||
|
||||
gUnknown_824A990:: @ 824A990
|
||||
.incbin "graphics/battle/unk_824A990.4bpp.lz"
|
||||
|
||||
gUnknown_824ACD0:: @ 824ACD0
|
||||
.incbin "graphics/battle/unk_824ACD0.bin.lz"
|
||||
|
||||
gUnknown_824AF70:: @ 824AF70
|
||||
.incbin "graphics/battle/unk_824AF70.4bpp.lz"
|
||||
|
||||
gUnknown_824B0DC:: @ 824B0DC
|
||||
.incbin "graphics/battle/unk_824B0DC.bin.lz"
|
||||
|
||||
gUnknown_824B19C:: @ 824B19C
|
||||
.incbin "graphics/battle/unk_824B19C.gbapal.lz"
|
||||
|
||||
gUnknown_824B1EC:: @ 824B1EC
|
||||
.incbin "graphics/battle/unk_824B1EC.4bpp.lz"
|
||||
|
||||
gUnknown_824B608:: @ 824B608
|
||||
.incbin "graphics/battle/unk_824B608.bin.lz"
|
||||
|
||||
gUnknown_824B8A8:: @ 824B8A8
|
||||
.incbin "graphics/battle/unk_824B8A8.4bpp.lz"
|
||||
|
||||
gUnknown_824BBE0:: @ 824BBE0
|
||||
.incbin "graphics/battle/unk_824BBE0.bin.lz"
|
||||
|
||||
gUnknown_824BCE0:: @ 824BCE0
|
||||
.incbin "graphics/battle/unk_824BCE0.gbapal.lz"
|
||||
|
||||
gUnknown_824BD38:: @ 824BD38
|
||||
.incbin "graphics/battle/unk_824BD38.4bpp.lz"
|
||||
|
||||
gUnknown_824C07C:: @ 824C07C
|
||||
.incbin "graphics/battle/unk_824C07C.bin.lz"
|
||||
|
||||
gUnknown_824C314:: @ 824C314
|
||||
.incbin "graphics/battle/unk_824C314.4bpp.lz"
|
||||
|
||||
gUnknown_824C520:: @ 824C520
|
||||
.incbin "graphics/battle/unk_824C520.bin.lz"
|
||||
|
||||
gUnknown_824C5D8:: @ 824C5D8
|
||||
.incbin "graphics/battle/unk_824C5D8.gbapal.lz"
|
||||
|
||||
gUnknown_824C624:: @ 824C624
|
||||
.incbin "graphics/battle/unk_824C624.4bpp.lz"
|
||||
|
||||
gUnknown_824C958:: @ 824C958
|
||||
.incbin "graphics/battle/unk_824C958.bin.lz"
|
||||
|
||||
gUnknown_824CBF8:: @ 824CBF8
|
||||
.incbin "graphics/battle/unk_824CBF8.4bpp.lz"
|
||||
|
||||
gUnknown_824CEC8:: @ 824CEC8
|
||||
.incbin "graphics/battle/unk_824CEC8.bin.lz"
|
||||
|
||||
gUnknown_824CF98:: @ 824CF98
|
||||
.incbin "graphics/battle/unk_824CF98.gbapal.lz"
|
||||
|
||||
gUnknown_824CFEC:: @ 824CFEC
|
||||
.incbin "graphics/battle/unk_824CFEC.4bpp.lz"
|
||||
|
||||
gUnknown_824D418:: @ 824D418
|
||||
.incbin "graphics/battle/unk_824D418.bin.lz"
|
||||
|
||||
gUnknown_824D6B8:: @ 824D6B8
|
||||
.incbin "graphics/battle/unk_824D6B8.4bpp.lz"
|
||||
|
||||
gUnknown_824DC98:: @ 824DC98
|
||||
.incbin "graphics/battle/unk_824DC98.bin.lz"
|
||||
|
||||
gUnknown_824DDF0:: @ 824DDF0
|
||||
.incbin "graphics/battle/unk_824DDF0.gbapal.lz"
|
||||
|
||||
gUnknown_824DE34:: @ 824DE34
|
||||
.incbin "graphics/battle/unk_824DE34.4bpp.lz"
|
||||
|
||||
gUnknown_824E16C:: @ 824E16C
|
||||
.incbin "graphics/battle/unk_824E16C.bin.lz"
|
||||
|
||||
gUnknown_824E410:: @ 824E410
|
||||
.incbin "graphics/battle/unk_824E410.4bpp.lz"
|
||||
|
||||
gUnknown_824E490:: @ 824E490
|
||||
.incbin "graphics/battle/unk_824E490.bin.lz"
|
||||
|
||||
gUnknown_824E528:: @ 824E528
|
||||
.incbin "graphics/battle/unk_824E528.gbapal.lz"
|
||||
|
||||
gUnknown_824E56C:: @ 824E56C
|
||||
.incbin "graphics/battle/unk_824E56C.gbapal.lz"
|
||||
|
||||
gUnknown_824E5B8:: @ 824E5B8
|
||||
.incbin "graphics/battle/unk_824E5B8.gbapal.lz"
|
||||
|
||||
gUnknown_824E604:: @ 824E604
|
||||
.incbin "graphics/battle/unk_824E604.gbapal.lz"
|
||||
|
||||
gUnknown_824E650:: @ 824E650
|
||||
.incbin "graphics/battle/unk_824E650.gbapal.lz"
|
||||
|
||||
gUnknown_824E6A4:: @ 824E6A4
|
||||
.incbin "graphics/battle/unk_824E6A4.gbapal.lz"
|
||||
|
||||
gUnknown_824E6F0:: @ 824E6F0
|
||||
.incbin "graphics/battle/unk_824E6F0.gbapal.lz"
|
||||
|
||||
gUnknown_824E740:: @ 824E740
|
||||
.incbin "graphics/battle/unk_824E740.gbapal.lz"
|
||||
|
||||
gUnknown_824E78C:: @ 824E78C
|
||||
.incbin "graphics/battle/unk_824E78C.gbapal.lz"
|
||||
|
||||
gUnknown_824E7DC:: @ 824E7DC
|
||||
.incbin "graphics/battle/unk_824E7DC.gbapal.lz"
|
||||
|
||||
gUnknown_824E81C:: @ 824E81C
|
||||
.incbin "graphics/battle/unk_824E81C.gbapal.lz"
|
||||
|
||||
gUnknown_824E858:: @ 824E858
|
||||
.incbin "graphics/battle/unk_824E858.4bpp.lz"
|
||||
|
||||
gUnknown_824EB90:: @ 824EB90
|
||||
.incbin "graphics/battle/unk_824EB90.bin.lz"
|
||||
|
||||
gUnknown_824EE34:: @ 824EE34
|
||||
.4byte gUnknown_824844C, gUnknown_82489A8, gUnknown_8248C68, gUnknown_8248F58, gUnknown_8248400
|
||||
.4byte gUnknown_82490C4, gUnknown_8249620, gUnknown_82498DC, gUnknown_8249E10, gUnknown_8249074
|
||||
.4byte gUnknown_8249FE4, gUnknown_824A37C, gUnknown_824A618, gUnknown_824A844, gUnknown_8249F98
|
||||
.4byte gUnknown_824A990, gUnknown_824ACD0, gUnknown_824AF70, gUnknown_824B0DC, gUnknown_824A940
|
||||
.4byte gUnknown_824B1EC, gUnknown_824B608, gUnknown_824B8A8, gUnknown_824BBE0, gUnknown_824B19C
|
||||
.4byte gUnknown_824BD38, gUnknown_824C07C, gUnknown_824C314, gUnknown_824C520, gUnknown_824BCE0
|
||||
.4byte gUnknown_824C624, gUnknown_824C958, gUnknown_824CBF8, gUnknown_824CEC8, gUnknown_824C5D8
|
||||
.4byte gUnknown_824CFEC, gUnknown_824D418, gUnknown_824D6B8, gUnknown_824DC98, gUnknown_824CF98
|
||||
.4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824DDF0
|
||||
.4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E81C
|
||||
.4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E528
|
||||
.4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E56C
|
||||
.4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E5B8
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E604
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E650
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6A4
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6F0
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E740
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E78C
|
||||
.4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E7DC
|
||||
|
||||
@ struct {u8; u8;}
|
||||
gUnknown_824EFC4:: @ 824EFC4
|
||||
.byte 0x01, 0x0b
|
||||
.align 2
|
||||
.byte 0x02, 0x0e
|
||||
.align 2
|
||||
.byte 0x03, 0x0d
|
||||
.align 2
|
||||
.byte 0x04, 0x0f
|
||||
.align 2
|
||||
.byte 0x05, 0x10
|
||||
.align 2
|
||||
.byte 0x06, 0x11
|
||||
.align 2
|
||||
.byte 0x07, 0x12
|
||||
.align 2
|
||||
.byte 0x08, 0x0a
|
||||
.align 2
|
||||
+1
-1
@@ -7,7 +7,7 @@ extern const struct BgTemplate gBattleBgTemplates[];
|
||||
|
||||
void InitBattleBgsVideo(void);
|
||||
void DrawBattleEntryBackground(void);
|
||||
void sub_800F6FC(u8 taskId);
|
||||
void InitLinkBattleVsScreen(u8 taskId);
|
||||
void LoadBattleMenuWindowGfx(void);
|
||||
void LoadBattleTextboxAndBackground(void);
|
||||
void sub_800F324(void);
|
||||
|
||||
@@ -251,4 +251,8 @@ extern const u8 gUnknown_83FE864[];
|
||||
extern const u8 gText_SafariBalls[];
|
||||
extern const u8 gText_HighlightRed_Left[];
|
||||
|
||||
extern const u8 gText_Win[];
|
||||
extern const u8 gText_Loss[];
|
||||
extern const u8 gText_Draw[];
|
||||
|
||||
#endif // GUARD_BATTLE_MESSAGE_H
|
||||
|
||||
@@ -4875,4 +4875,10 @@ extern const u32 gLinkMiscMenu_Tilemap[];
|
||||
// union_room_chat_objects
|
||||
extern const u32 gUnionRoomChatIcons[];
|
||||
|
||||
//battle_bg
|
||||
extern const u32 gFile_graphics_battle_transitions_vs_frame_sheet[];
|
||||
extern const u32 gFile_graphics_battle_transitions_vs_sheet[];
|
||||
extern const u32 gFile_graphics_battle_transitions_vs_frame_palette[];
|
||||
extern const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
||||
@@ -176,6 +176,7 @@ void sub_8056078(void *, void *);
|
||||
void sub_805546C(u8 a0);
|
||||
bool32 sub_80582E0(void);
|
||||
bool32 sub_8058274(void);
|
||||
u8 GetCurrentMapBattleScene(void);
|
||||
|
||||
extern u16 gHeldKeyCodeToSend;
|
||||
|
||||
|
||||
+2
-2
@@ -63,7 +63,7 @@ SECTIONS {
|
||||
src/main_menu.o(.text);
|
||||
src/battle_controllers.o(.text);
|
||||
src/decompress.o(.text);
|
||||
asm/battle_bg.o(.text);
|
||||
src/battle_bg.o(.text);
|
||||
src/battle_main.o(.text);
|
||||
src/battle_util.o(.text);
|
||||
src/battle_script_commands.o(.text);
|
||||
@@ -400,7 +400,7 @@ SECTIONS {
|
||||
src/link.o(.rodata);
|
||||
src/main_menu.o(.rodata);
|
||||
src/data.o(.rodata);
|
||||
data/battle_bg.o(.rodata);
|
||||
src/battle_bg.o(.rodata);
|
||||
src/battle_main.o(.rodata);
|
||||
src/battle_util.o(.rodata);
|
||||
src/battle_script_commands.o(.rodata);
|
||||
|
||||
+925
@@ -0,0 +1,925 @@
|
||||
#include "global.h"
|
||||
#include "gflib.h"
|
||||
#include "battle.h"
|
||||
#include "battle_bg.h"
|
||||
#include "battle_message.h"
|
||||
#include "decompress.h"
|
||||
#include "graphics.h"
|
||||
#include "link.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "overworld.h"
|
||||
#include "text_window.h"
|
||||
#include "trig.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/trainer_classes.h"
|
||||
|
||||
#define TAG_VS_LETTERS 10000
|
||||
|
||||
static void sub_800F228(void);
|
||||
static u8 sub_800FC2C(void);
|
||||
|
||||
static const u8 gUnknown_824829C[] = {1, 2};
|
||||
|
||||
static const struct OamData gOamData_82482A0 = {
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = FALSE,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0x000,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_82482A8 = {
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = FALSE,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0x040,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gUnknown_82482B0[] = {
|
||||
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gUnknown_82482C0[] = {
|
||||
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80),
|
||||
AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const gAffineAnimTable_82482E0[] = {
|
||||
gUnknown_82482B0,
|
||||
gUnknown_82482C0
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sVsLetter_V_SpriteTemplate = {
|
||||
.tileTag = TAG_VS_LETTERS,
|
||||
.paletteTag = TAG_VS_LETTERS,
|
||||
.oam = &gOamData_82482A0,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.affineAnims = gAffineAnimTable_82482E0,
|
||||
.callback = nullsub_9
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = {
|
||||
.tileTag = TAG_VS_LETTERS,
|
||||
.paletteTag = TAG_VS_LETTERS,
|
||||
.oam = &gOamData_82482A8,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.affineAnims = gAffineAnimTable_82482E0,
|
||||
.callback = nullsub_9
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet sVsLettersSpriteSheet = {
|
||||
gFile_graphics_battle_transitions_vs_sheet,
|
||||
0x1000,
|
||||
TAG_VS_LETTERS
|
||||
};
|
||||
|
||||
const struct BgTemplate gBattleBgTemplates[4] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 24,
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 28,
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 2,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 1,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0x000
|
||||
}, {
|
||||
.bg = 3,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 26,
|
||||
.screenSize = 1,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0x000
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WindowTemplate gUnknown_8248330[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 28,
|
||||
.height = 4,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0x090
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 35,
|
||||
.width = 14,
|
||||
.height = 4,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0x1c0
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 17,
|
||||
.tilemapTop = 35,
|
||||
.width = 12,
|
||||
.height = 4,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x190
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 55,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x300
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 55,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x310
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 57,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x320
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 57,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x330
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 55,
|
||||
.width = 3,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x290
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 57,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x296
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 24,
|
||||
.tilemapTop = 55,
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x2a6
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 25,
|
||||
.tilemapTop = 57,
|
||||
.width = 0,
|
||||
.height = 0,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x2b0
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 55,
|
||||
.width = 8,
|
||||
.height = 4,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x2b0
|
||||
}, {
|
||||
.bg = 1,
|
||||
.tilemapLeft = 19,
|
||||
.tilemapTop = 8,
|
||||
.width = 10,
|
||||
.height = 11,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x100
|
||||
}, {
|
||||
.bg = 2,
|
||||
.tilemapLeft = 18,
|
||||
.tilemapTop = 0,
|
||||
.width = 12,
|
||||
.height = 3,
|
||||
.paletteNum = 6,
|
||||
.baseBlock = 0x16e
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 25,
|
||||
.tilemapTop = 9,
|
||||
.width = 4,
|
||||
.height = 4,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x100
|
||||
}, {
|
||||
.bg = 1,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 3,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x020
|
||||
}, {
|
||||
.bg = 2,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 3,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x040
|
||||
}, {
|
||||
.bg = 1,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 2,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x020
|
||||
}, {
|
||||
.bg = 2,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 2,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x040
|
||||
}, {
|
||||
.bg = 1,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 6,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x060
|
||||
}, {
|
||||
.bg = 2,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 6,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 5,
|
||||
.baseBlock = 0x080
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 2,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0x0a0
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 2,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0x0a0
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 19,
|
||||
.tilemapTop = 2,
|
||||
.width = 8,
|
||||
.height = 2,
|
||||
.paletteNum = 0,
|
||||
.baseBlock = 0x0b0
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 7,
|
||||
.baseBlock = 0x090
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
static const u32 gUnknown_8248400[] = INCBIN_U32("graphics/battle/unk_8248400.gbapal.lz");
|
||||
static const u32 gUnknown_824844C[] = INCBIN_U32("graphics/battle/unk_824844C.4bpp.lz");
|
||||
static const u32 gUnknown_82489A8[] = INCBIN_U32("graphics/battle/unk_82489A8.bin.lz");
|
||||
static const u32 gUnknown_8248C68[] = INCBIN_U32("graphics/battle/unk_8248C68.4bpp.lz");
|
||||
static const u32 gUnknown_8248F58[] = INCBIN_U32("graphics/battle/unk_8248F58.bin.lz");
|
||||
static const u32 gUnknown_8249074[] = INCBIN_U32("graphics/battle/unk_8249074.gbapal.lz");
|
||||
static const u32 gUnknown_82490C4[] = INCBIN_U32("graphics/battle/unk_82490C4.4bpp.lz");
|
||||
static const u32 gUnknown_8249620[] = INCBIN_U32("graphics/battle/unk_8249620.bin.lz");
|
||||
static const u32 gUnknown_82498DC[] = INCBIN_U32("graphics/battle/unk_82498DC.4bpp.lz");
|
||||
static const u32 gUnknown_8249E10[] = INCBIN_U32("graphics/battle/unk_8249E10.bin.lz");
|
||||
static const u32 gUnknown_8249F98[] = INCBIN_U32("graphics/battle/unk_8249F98.gbapal.lz");
|
||||
static const u32 gUnknown_8249FE4[] = INCBIN_U32("graphics/battle/unk_8249FE4.4bpp.lz");
|
||||
static const u32 gUnknown_824A37C[] = INCBIN_U32("graphics/battle/unk_824A37C.bin.lz");
|
||||
static const u32 gUnknown_824A618[] = INCBIN_U32("graphics/battle/unk_824A618.4bpp.lz");
|
||||
static const u32 gUnknown_824A844[] = INCBIN_U32("graphics/battle/unk_824A844.bin.lz");
|
||||
static const u32 gUnknown_824A940[] = INCBIN_U32("graphics/battle/unk_824A940.gbapal.lz");
|
||||
static const u32 gUnknown_824A990[] = INCBIN_U32("graphics/battle/unk_824A990.4bpp.lz");
|
||||
static const u32 gUnknown_824ACD0[] = INCBIN_U32("graphics/battle/unk_824ACD0.bin.lz");
|
||||
static const u32 gUnknown_824AF70[] = INCBIN_U32("graphics/battle/unk_824AF70.4bpp.lz");
|
||||
static const u32 gUnknown_824B0DC[] = INCBIN_U32("graphics/battle/unk_824B0DC.bin.lz");
|
||||
static const u32 gUnknown_824B19C[] = INCBIN_U32("graphics/battle/unk_824B19C.gbapal.lz");
|
||||
static const u32 gUnknown_824B1EC[] = INCBIN_U32("graphics/battle/unk_824B1EC.4bpp.lz");
|
||||
static const u32 gUnknown_824B608[] = INCBIN_U32("graphics/battle/unk_824B608.bin.lz");
|
||||
static const u32 gUnknown_824B8A8[] = INCBIN_U32("graphics/battle/unk_824B8A8.4bpp.lz");
|
||||
static const u32 gUnknown_824BBE0[] = INCBIN_U32("graphics/battle/unk_824BBE0.bin.lz");
|
||||
static const u32 gUnknown_824BCE0[] = INCBIN_U32("graphics/battle/unk_824BCE0.gbapal.lz");
|
||||
static const u32 gUnknown_824BD38[] = INCBIN_U32("graphics/battle/unk_824BD38.4bpp.lz");
|
||||
static const u32 gUnknown_824C07C[] = INCBIN_U32("graphics/battle/unk_824C07C.bin.lz");
|
||||
static const u32 gUnknown_824C314[] = INCBIN_U32("graphics/battle/unk_824C314.4bpp.lz");
|
||||
static const u32 gUnknown_824C520[] = INCBIN_U32("graphics/battle/unk_824C520.bin.lz");
|
||||
static const u32 gUnknown_824C5D8[] = INCBIN_U32("graphics/battle/unk_824C5D8.gbapal.lz");
|
||||
static const u32 gUnknown_824C624[] = INCBIN_U32("graphics/battle/unk_824C624.4bpp.lz");
|
||||
static const u32 gUnknown_824C958[] = INCBIN_U32("graphics/battle/unk_824C958.bin.lz");
|
||||
static const u32 gUnknown_824CBF8[] = INCBIN_U32("graphics/battle/unk_824CBF8.4bpp.lz");
|
||||
static const u32 gUnknown_824CEC8[] = INCBIN_U32("graphics/battle/unk_824CEC8.bin.lz");
|
||||
static const u32 gUnknown_824CF98[] = INCBIN_U32("graphics/battle/unk_824CF98.gbapal.lz");
|
||||
static const u32 gUnknown_824CFEC[] = INCBIN_U32("graphics/battle/unk_824CFEC.4bpp.lz");
|
||||
static const u32 gUnknown_824D418[] = INCBIN_U32("graphics/battle/unk_824D418.bin.lz");
|
||||
static const u32 gUnknown_824D6B8[] = INCBIN_U32("graphics/battle/unk_824D6B8.4bpp.lz");
|
||||
static const u32 gUnknown_824DC98[] = INCBIN_U32("graphics/battle/unk_824DC98.bin.lz");
|
||||
static const u32 gUnknown_824DDF0[] = INCBIN_U32("graphics/battle/unk_824DDF0.gbapal.lz");
|
||||
static const u32 gUnknown_824DE34[] = INCBIN_U32("graphics/battle/unk_824DE34.4bpp.lz");
|
||||
static const u32 gUnknown_824E16C[] = INCBIN_U32("graphics/battle/unk_824E16C.bin.lz");
|
||||
static const u32 gUnknown_824E410[] = INCBIN_U32("graphics/battle/unk_824E410.4bpp.lz");
|
||||
static const u32 gUnknown_824E490[] = INCBIN_U32("graphics/battle/unk_824E490.bin.lz");
|
||||
static const u32 gUnknown_824E528[] = INCBIN_U32("graphics/battle/unk_824E528.gbapal.lz");
|
||||
static const u32 gUnknown_824E56C[] = INCBIN_U32("graphics/battle/unk_824E56C.gbapal.lz");
|
||||
static const u32 gUnknown_824E5B8[] = INCBIN_U32("graphics/battle/unk_824E5B8.gbapal.lz");
|
||||
static const u32 gUnknown_824E604[] = INCBIN_U32("graphics/battle/unk_824E604.gbapal.lz");
|
||||
static const u32 gUnknown_824E650[] = INCBIN_U32("graphics/battle/unk_824E650.gbapal.lz");
|
||||
static const u32 gUnknown_824E6A4[] = INCBIN_U32("graphics/battle/unk_824E6A4.gbapal.lz");
|
||||
static const u32 gUnknown_824E6F0[] = INCBIN_U32("graphics/battle/unk_824E6F0.gbapal.lz");
|
||||
static const u32 gUnknown_824E740[] = INCBIN_U32("graphics/battle/unk_824E740.gbapal.lz");
|
||||
static const u32 gUnknown_824E78C[] = INCBIN_U32("graphics/battle/unk_824E78C.gbapal.lz");
|
||||
static const u32 gUnknown_824E7DC[] = INCBIN_U32("graphics/battle/unk_824E7DC.gbapal.lz");
|
||||
static const u32 gUnknown_824E81C[] = INCBIN_U32("graphics/battle/unk_824E81C.gbapal.lz");
|
||||
static const u32 gUnknown_824E858[] = INCBIN_U32("graphics/battle/unk_824E858.4bpp.lz");
|
||||
static const u32 gUnknown_824EB90[] = INCBIN_U32("graphics/battle/unk_824EB90.bin.lz");
|
||||
|
||||
static const u32 *const gUnknown_824EE34[][5] = {
|
||||
{gUnknown_824844C, gUnknown_82489A8, gUnknown_8248C68, gUnknown_8248F58, gUnknown_8248400},
|
||||
{gUnknown_82490C4, gUnknown_8249620, gUnknown_82498DC, gUnknown_8249E10, gUnknown_8249074},
|
||||
{gUnknown_8249FE4, gUnknown_824A37C, gUnknown_824A618, gUnknown_824A844, gUnknown_8249F98},
|
||||
{gUnknown_824A990, gUnknown_824ACD0, gUnknown_824AF70, gUnknown_824B0DC, gUnknown_824A940},
|
||||
{gUnknown_824B1EC, gUnknown_824B608, gUnknown_824B8A8, gUnknown_824BBE0, gUnknown_824B19C},
|
||||
{gUnknown_824BD38, gUnknown_824C07C, gUnknown_824C314, gUnknown_824C520, gUnknown_824BCE0},
|
||||
{gUnknown_824C624, gUnknown_824C958, gUnknown_824CBF8, gUnknown_824CEC8, gUnknown_824C5D8},
|
||||
{gUnknown_824CFEC, gUnknown_824D418, gUnknown_824D6B8, gUnknown_824DC98, gUnknown_824CF98},
|
||||
{gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824DDF0},
|
||||
{gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E81C},
|
||||
{gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E528},
|
||||
{gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E56C},
|
||||
{gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E5B8},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E604},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E650},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6A4},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6F0},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E740},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E78C},
|
||||
{gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E7DC}
|
||||
};
|
||||
|
||||
static const struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
} gUnknown_824EFC4[] = {
|
||||
{1, 11},
|
||||
{2, 14},
|
||||
{3, 13},
|
||||
{4, 15},
|
||||
{5, 16},
|
||||
{6, 17},
|
||||
{7, 18},
|
||||
{8, 10}
|
||||
};
|
||||
|
||||
UNUSED void sub_800F1E8(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
ResetSpriteData();
|
||||
spriteId = CreateSprite(&gUnknown_824EFF0, 0, 0, 0);
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
SetMainCallback2(sub_800F228);
|
||||
}
|
||||
|
||||
static void sub_800F228(void)
|
||||
{
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
}
|
||||
|
||||
static u8 sub_800F238(u8 a0)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < NELEMS(gUnknown_824EFC4); i++)
|
||||
{
|
||||
if (a0 == gUnknown_824EFC4[i].unk0)
|
||||
return gUnknown_824EFC4[i].unk1;
|
||||
}
|
||||
return 9;
|
||||
}
|
||||
|
||||
static void sub_800F260(u16 envId)
|
||||
{
|
||||
if (envId >= NELEMS(gUnknown_824EE34))
|
||||
envId = 9;
|
||||
LZDecompressVram(gUnknown_824EE34[envId][0], (void *)BG_CHAR_ADDR(2));
|
||||
LZDecompressVram(gUnknown_824EE34[envId][1], (void *)BG_SCREEN_ADDR(26));
|
||||
LoadCompressedPalette(gUnknown_824EE34[envId][4], 0x20, 0x60);
|
||||
}
|
||||
|
||||
static void sub_800F2AC(u16 envId)
|
||||
{
|
||||
if (envId >= NELEMS(gUnknown_824EE34))
|
||||
envId = 9;
|
||||
LZDecompressVram(gUnknown_824EE34[envId][2], (void *)BG_CHAR_ADDR(1));
|
||||
LZDecompressVram(gUnknown_824EE34[envId][3], (void *)BG_SCREEN_ADDR(28));
|
||||
}
|
||||
|
||||
UNUSED void sub_800F2EC(u8 envId, const u32 **tilesPtr, const u32 **mapPtr, const u32 **palPtr)
|
||||
{
|
||||
if (envId > 9)
|
||||
envId = 9;
|
||||
*tilesPtr = gUnknown_824EE34[envId][0];
|
||||
*mapPtr = gUnknown_824EE34[envId][1];
|
||||
*palPtr = gUnknown_824EE34[envId][4];
|
||||
}
|
||||
|
||||
void sub_800F324(void)
|
||||
{
|
||||
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||
InitBgsFromTemplates(0, gBattleBgTemplates, NELEMS(gBattleBgTemplates));
|
||||
InitWindows(gUnknown_8248330);
|
||||
DeactivateAllTextPrinters();
|
||||
}
|
||||
|
||||
void InitBattleBgsVideo(void)
|
||||
{
|
||||
EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
|
||||
sub_800F324();
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_OBJWIN_ON);
|
||||
}
|
||||
|
||||
void LoadBattleMenuWindowGfx(void)
|
||||
{
|
||||
TextWindow_SetUserSelectedFrame(2, 0x012, 0x10);
|
||||
TextWindow_SetUserSelectedFrame(2, 0x022, 0x10);
|
||||
gPlttBufferUnfaded[0x5C] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[0x5D] = RGB( 9, 9, 9);
|
||||
gPlttBufferUnfaded[0x5E] = RGB(31, 31, 31);
|
||||
gPlttBufferUnfaded[0x5F] = RGB( 26, 26, 25);
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x5C], &gPlttBufferFaded[0x5C], 8);
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_POKEDUDE))
|
||||
{
|
||||
Menu_LoadStdPalAt(0x70);
|
||||
TextWindow_LoadResourcesStdFrame0(0, 0x030, 0x70);
|
||||
gPlttBufferUnfaded[0x76] = RGB( 0, 0, 0);
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawMainBattleBackground(void)
|
||||
{
|
||||
sub_800F260(sub_800FC2C());
|
||||
}
|
||||
|
||||
void LoadBattleTextboxAndBackground(void)
|
||||
{
|
||||
LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0));
|
||||
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40);
|
||||
LoadBattleMenuWindowGfx();
|
||||
DrawMainBattleBackground();
|
||||
}
|
||||
|
||||
static void DrawLinkBattleParticipantPokeballs(u8 taskId, u8 multiplayerId, u8 bgId, u8 destX, u8 destY)
|
||||
{
|
||||
s32 i;
|
||||
u16 pokeballStatuses = 0;
|
||||
u16 tiles[6];
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if (gTasks[taskId].data[5] != 0)
|
||||
{
|
||||
switch (multiplayerId)
|
||||
{
|
||||
case 0:
|
||||
pokeballStatuses = 0x3F & gTasks[taskId].data[3];
|
||||
break;
|
||||
case 1:
|
||||
pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6;
|
||||
break;
|
||||
case 2:
|
||||
pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6;
|
||||
break;
|
||||
case 3:
|
||||
pokeballStatuses = 0x3F & gTasks[taskId].data[4];
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (multiplayerId)
|
||||
{
|
||||
case 0:
|
||||
pokeballStatuses = 0x3F & gTasks[taskId].data[3];
|
||||
break;
|
||||
case 1:
|
||||
pokeballStatuses = 0x3F & gTasks[taskId].data[4];
|
||||
break;
|
||||
case 2:
|
||||
pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6;
|
||||
break;
|
||||
case 3:
|
||||
pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001;
|
||||
|
||||
CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 3, 1, 0x11);
|
||||
CopyBgTilemapBufferToVram(bgId);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (multiplayerId == gBattleStruct->multiplayerId)
|
||||
pokeballStatuses = gTasks[taskId].data[3];
|
||||
else
|
||||
pokeballStatuses = gTasks[taskId].data[4];
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001;
|
||||
|
||||
CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 6, 1, 0x11);
|
||||
CopyBgTilemapBufferToVram(bgId);
|
||||
}
|
||||
}
|
||||
|
||||
static void DrawLinkBattleVsScreenOutcomeText(void)
|
||||
{
|
||||
if (gBattleOutcome == B_OUTCOME_DREW)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Draw, 0x15);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if (gBattleOutcome == B_OUTCOME_WON)
|
||||
{
|
||||
switch (gLinkPlayers[gBattleStruct->multiplayerId].id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (gLinkPlayers[gBattleStruct->multiplayerId].id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (gBattleOutcome == B_OUTCOME_WON)
|
||||
{
|
||||
if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, 0x16);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x17);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, 0x17);
|
||||
BattlePutTextOnWindow(gText_Loss, 0x16);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InitLinkBattleVsScreen(u8 taskId)
|
||||
{
|
||||
struct LinkPlayer *linkPlayer;
|
||||
u8 *name;
|
||||
s32 i, palId;
|
||||
|
||||
switch (gTasks[taskId].data[0])
|
||||
{
|
||||
case 0:
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
{
|
||||
name = gLinkPlayers[i].name;
|
||||
linkPlayer = &gLinkPlayers[i];
|
||||
|
||||
switch (linkPlayer->id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(name, 0x11);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(name, 0x12);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(name, 0x13);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(name, 0x14);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 playerId = gBattleStruct->multiplayerId;
|
||||
u8 opponentId = playerId ^ BIT_SIDE;
|
||||
u8 opponentId_copy = opponentId;
|
||||
|
||||
if (gLinkPlayers[playerId].id != 0)
|
||||
opponentId = playerId, playerId = opponentId_copy;
|
||||
|
||||
name = gLinkPlayers[playerId].name;
|
||||
BattlePutTextOnWindow(name, 0xF);
|
||||
|
||||
name = gLinkPlayers[opponentId].name;
|
||||
BattlePutTextOnWindow(name, 0x10);
|
||||
|
||||
DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7);
|
||||
}
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
palId = AllocSpritePalette(TAG_VS_LETTERS);
|
||||
gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF;
|
||||
gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 108, 80, 0);
|
||||
gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 132, 80, 0);
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE;
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
case 2:
|
||||
if (gTasks[taskId].data[5] != 0)
|
||||
{
|
||||
gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32);
|
||||
gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32);
|
||||
gBattle_BG1_Y = -36;
|
||||
gBattle_BG2_Y = -36;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32);
|
||||
gBattle_BG1_Y = (Cos2(gTasks[taskId].data[1]) / 32) - 164;
|
||||
gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32);
|
||||
gBattle_BG2_Y = (Cos2(gTasks[taskId].data[2]) / 32) - 164;
|
||||
}
|
||||
|
||||
if (gTasks[taskId].data[2] != 0)
|
||||
{
|
||||
gTasks[taskId].data[2] -= 2;
|
||||
gTasks[taskId].data[1] += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gTasks[taskId].data[5] != 0)
|
||||
DrawLinkBattleVsScreenOutcomeText();
|
||||
|
||||
PlaySE(SE_W231);
|
||||
DestroyTask(taskId);
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = FALSE;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = FALSE;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawBattleEntryBackground(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
LZDecompressVram(gFile_graphics_battle_transitions_vs_frame_sheet, (void*)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gFile_graphics_battle_transitions_vs_sheet, (void*)(VRAM + 0x10000));
|
||||
LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, 0x60, 0x20);
|
||||
SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04);
|
||||
CopyToBgTilemapBuffer(1, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0);
|
||||
CopyToBgTilemapBuffer(2, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0x36);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, 0x36);
|
||||
gBattle_BG1_Y = 0xFF5C;
|
||||
gBattle_BG2_Y = 0xFF5C;
|
||||
LoadCompressedSpriteSheetUsingHeap(&sVsLettersSpriteSheet);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
||||
{
|
||||
sub_800F2AC(0);
|
||||
}
|
||||
else if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))
|
||||
{
|
||||
sub_800F2AC(8);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
|
||||
{
|
||||
if (gGameVersion == VERSION_FIRE_RED)
|
||||
{
|
||||
sub_800F2AC(7);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800F2AC(4);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
{
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == CLASS_LEADER_2)
|
||||
{
|
||||
sub_800F2AC(8);
|
||||
return;
|
||||
}
|
||||
else if (trainerClass == CLASS_CHAMPION_2)
|
||||
{
|
||||
sub_800F2AC(8);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL)
|
||||
{
|
||||
sub_800F2AC(gBattleTerrain);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800F2AC(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u8 sub_800FC2C(void)
|
||||
{
|
||||
u8 battleScene;
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
||||
{
|
||||
gBattleTerrain = 0;
|
||||
return 0;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
{
|
||||
if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_LEADER_2)
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
else if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION_2)
|
||||
{
|
||||
return 19;
|
||||
}
|
||||
}
|
||||
battleScene = GetCurrentMapBattleScene();
|
||||
if (battleScene == 0)
|
||||
{
|
||||
return gBattleTerrain;
|
||||
}
|
||||
return sub_800F238(battleScene);
|
||||
}
|
||||
|
||||
bool8 LoadChosenBattleElement(u8 caseId)
|
||||
{
|
||||
bool8 ret = FALSE;
|
||||
u8 battleScene;
|
||||
switch (caseId)
|
||||
{
|
||||
case 0:
|
||||
LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0));
|
||||
break;
|
||||
case 1:
|
||||
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
break;
|
||||
case 2:
|
||||
LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40);
|
||||
break;
|
||||
case 3:
|
||||
battleScene = sub_800FC2C();
|
||||
LZDecompressVram(gUnknown_824EE34[battleScene][0], (void *)BG_CHAR_ADDR(2));
|
||||
// fallthrough
|
||||
case 4:
|
||||
battleScene = sub_800FC2C();
|
||||
LZDecompressVram(gUnknown_824EE34[battleScene][1], (void *)BG_SCREEN_ADDR(26));
|
||||
break;
|
||||
case 5:
|
||||
battleScene = sub_800FC2C();
|
||||
LoadCompressedPalette(gUnknown_824EE34[battleScene][4], 0x20, 0x60);
|
||||
break;
|
||||
case 6:
|
||||
LoadBattleMenuWindowGfx();
|
||||
break;
|
||||
default:
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
+3
-3
@@ -975,7 +975,7 @@ static void CB2_HandleStartBattle(void)
|
||||
ResetBlockReceivedFlags();
|
||||
sub_8010414(2, playerMultiplayerId);
|
||||
SetAllPlayersBerryData();
|
||||
taskId = CreateTask(sub_800F6FC, 0);
|
||||
taskId = CreateTask(InitLinkBattleVsScreen, 0);
|
||||
gTasks[taskId].data[1] = 270;
|
||||
gTasks[taskId].data[2] = 90;
|
||||
gTasks[taskId].data[5] = 0;
|
||||
@@ -1223,7 +1223,7 @@ static void CB2_HandleStartMultiBattle(void)
|
||||
SetAllPlayersBerryData();
|
||||
SetDeoxysStats();
|
||||
memcpy(gDecompressionBuffer, gPlayerParty, sizeof(struct Pokemon) * 3);
|
||||
taskId = CreateTask(sub_800F6FC, 0);
|
||||
taskId = CreateTask(InitLinkBattleVsScreen, 0);
|
||||
gTasks[taskId].data[1] = 270;
|
||||
gTasks[taskId].data[2] = 90;
|
||||
gTasks[taskId].data[5] = 0;
|
||||
@@ -1781,7 +1781,7 @@ void sub_8011A1C(void)
|
||||
FreeAllSpritePalettes();
|
||||
gReservedSpritePaletteCount = 4;
|
||||
SetVBlankCallback(VBlankCB_Battle);
|
||||
taskId = CreateTask(sub_800F6FC, 0);
|
||||
taskId = CreateTask(InitLinkBattleVsScreen, 0);
|
||||
gTasks[taskId].data[1] = 270;
|
||||
gTasks[taskId].data[2] = 90;
|
||||
gTasks[taskId].data[5] = 1;
|
||||
|
||||
@@ -1271,9 +1271,9 @@ const u8 gUnknown_83FE860[] = _(" is");
|
||||
const u8 gUnknown_83FE864[] = _(" is");
|
||||
const u8 gText_BadEgg[] = _("Bad EGG");
|
||||
const u8 gUnknown_83FE870[] = _("ミツル");
|
||||
const u8 gUnknown_83FE874[] = _("{HIGHLIGHT 0}Win");
|
||||
const u8 gUnknown_83FE87B[] = _("{HIGHLIGHT 0}Loss");
|
||||
const u8 gUnknown_83FE883[] = _("{HIGHLIGHT 0}Draw");
|
||||
const u8 gText_Win[] = _("{HIGHLIGHT 0}Win");
|
||||
const u8 gText_Loss[] = _("{HIGHLIGHT 0}Loss");
|
||||
const u8 gText_Draw[] = _("{HIGHLIGHT 0}Draw");
|
||||
static const u8 sText_SpaceIs[] = _(" is");
|
||||
static const u8 sText_ApostropheS[] = _("'s");
|
||||
const u8 gUnknown_83FE892[] = _("a NORMAL move");
|
||||
|
||||
Reference in New Issue
Block a user