Much battle_interface data to C

This commit is contained in:
PikalaxALT
2020-01-10 21:34:44 -05:00
parent 3e79c7890f
commit 3310aadb54
4 changed files with 238 additions and 131 deletions
-120
View File
@@ -11,126 +11,6 @@
.section .rodata
.align 2, 0
gUnknown_8260270:: @ 8260270
.4byte 0xc0004000, 0x00000400
sHealthboxPlayerSpriteTemplates:: @ 8260278
spr_template 55039, 55039, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
spr_template 55040, 55039, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
sHealthboxOpponentSpriteTemplates:: @ 82602A8
spr_template 55041, 55039, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
spr_template 55042, 55039, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
sHealthboxSafariSpriteTemplate:: @ 82602D8
spr_template 55051, 55039, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_82602F0::
.4byte 0x40004000, 0x00000400
gUnknown_82602F8:: @ 82602F8
spr_template 55044, 55044, gUnknown_82602F0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_HealthBar
spr_template 55045, 55044, gUnknown_82602F0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_HealthBar
spr_template 55046, 55044, gUnknown_82602F0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_HealthBar
spr_template 55047, 55044, gUnknown_82602F0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_HealthBar
gUnknown_8260358::
subsprite 240, 0, 1, 0x0000, 64x32
subsprite 48, 0, 1, 0x0020, 32x32
subsprite 240, 32, 1, 0x0030, 32x8
subsprite 16, 32, 1, 0x0034, 32x8
subsprite 48, 32, 1, 0x0038, 32x8
gUnknown_826036C::
subsprite 240, 0, 1, 0x0040, 64x32
subsprite 48, 0, 1, 0x0060, 32x32
subsprite 240, 32, 1, 0x0070, 32x8
subsprite 16, 32, 1, 0x0074, 32x8
subsprite 48, 32, 1, 0x0078, 32x8
gUnknown_8260380::
subsprite 240, 0, 1, 0x0000, 64x32
subsprite 48, 0, 1, 0x0020, 32x32
gUnknown_8260388::
subsprite 240, 0, 1, 0x0000, 64x32
subsprite 48, 0, 1, 0x0020, 32x32
gUnknown_8260390::
subsprite 240, 0, 1, 0x0000, 32x8
subsprite 16, 0, 1, 0x0004, 32x8
gUnknown_8260398::
subsprite 240, 0, 1, 0x0000, 32x8
subsprite 16, 0, 1, 0x0004, 32x8
subsprite 224, 0, 1, 0x0008, 8x8
gUnknown_82603A4::
.4byte 5, gUnknown_8260358
.4byte 2, gUnknown_8260380
.4byte 5, gUnknown_826036C
.4byte 2, gUnknown_8260388
gUnknown_82603C4:: @ 82603C4
.4byte 2, gUnknown_8260390
.4byte 3, gUnknown_8260398
gUnknown_82603D4::
subsprite 160, 0, 1, 0x0000, 32x8
subsprite 192, 0, 1, 0x0004, 32x8
subsprite 224, 0, 1, 0x0008, 32x8
subsprite 0, 0, 1, 0x000c, 32x8
gUnknown_82603E4::
subsprite 160, 0, 1, 0x0000, 32x8
subsprite 192, 0, 1, 0x0004, 32x8
subsprite 224, 0, 1, 0x0008, 32x8
subsprite 0, 0, 1, 0x0008, 32x8
subsprite 32, 0, 1, 0x0008, 32x8
subsprite 64, 0, 1, 0x000c, 32x8
gUnknown_82603FC:: @ 82603FC
.4byte 4, gUnknown_82603D4
gUnknown_8260404:: @ 8260404
.4byte 6, gUnknown_82603E4
gUnknown_26040C::
.incbin "graphics/battle_interface/unk_826404C.4bpp"
gUnknown_826046C:: @ 826046C
obj_tiles gFile_graphics_battle_interface_ball_status_bar_sheet, 0x0200, 55052
obj_tiles gFile_graphics_battle_interface_ball_status_bar_sheet, 0x0200, 55053
gUnknown_826047C:: @ 826047C
obj_pal gBattleInterface_BallStatusBarPal, 55056
obj_pal gBattleInterface_BallStatusBarPal, 55057
gUnknown_826048C:: @ 826048C
obj_pal gBattleInterface_BallDisplayPal, 55058
obj_pal gBattleInterface_BallDisplayPal, 55059
gUnknown_826049C:: @ 826049C
obj_tiles gUnknown_8D12404, 0x0080, 55060
obj_tiles gUnknown_8D12404, 0x0080, 55061
gUnknown_82604AC::
.4byte 0xc0004000, 0x00000400
gUnknown_82604B4::
.4byte 0x00000000, 0x00000400
gUnknown_82604BC:: @ 82604BC
spr_template 55052, 55056, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_StatusSummaryBar
spr_template 55053, 55057, gUnknown_8260270, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_StatusSummaryBar
gUnknown_82604EC:: @ 82604EC
spr_template 55060, 55058, gUnknown_82604B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_StatusSummaryBallsOnBattleStart
spr_template 55061, 55059, gUnknown_82604B4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_StatusSummaryBallsOnBattleStart
gUnknown_826051C:: @ 826051C
.string "{LV_2}$", 16
gUnknown_826052C:: @ 826052C
.string "{COLOR 01}{HIGHLIGHT 02}", 20
+4
View File
@@ -4855,6 +4855,10 @@ extern const u16 gEmeraldTrainerCard_Pal[];
extern const u32 gEmeraldTrainerCard_Gfx[];
// battle_interface
extern const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[];
extern const u8 gHealthboxElementsGfxTable[][32];
extern const u16 gBattleInterface_BallStatusBarPal[];
extern const u16 gBattleInterface_BallDisplayPal[];
extern const u16 gUnknown_8D12404[];
#endif //GUARD_GRAPHICS_H
+1
View File
@@ -406,6 +406,7 @@ SECTIONS {
src/util.o(.rodata);
src/daycare.o(.rodata);
src/battle_gfx_sfx_util.o(.rodata);
src/battle_interface.o(.rodata);
data/battle_interface.o(.rodata);
src/pokeball.o(.rodata);
src/trade.o(.rodata);
+233 -11
View File
@@ -8,20 +8,244 @@
#include "text.h"
void SpriteCB_HealthBoxOther(struct Sprite * sprite);
void SpriteCB_HealthBar(struct Sprite * sprite);
void SpriteCB_StatusSummaryBar(struct Sprite * sprite);
void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite * sprite);
const u8 *GetHealthboxElementGfxPtr(u8 which);
u8 *AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 *windowId);
void RemoveWindowOnHealthbox(u32 windowId);
void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 windowWidth);
void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
extern const struct SpriteTemplate sHealthboxPlayerSpriteTemplates[];
extern const struct SpriteTemplate sHealthboxOpponentSpriteTemplates[];
extern const struct SpriteTemplate sHealthboxSafariSpriteTemplate;
extern const struct SpriteTemplate gUnknown_82602F8[];
extern const struct SubspriteTable gUnknown_82603C4[];
extern const u8 gUnknown_826051C[16];
extern const u8 gUnknown_826052C[20];
extern const u8 gUnknown_8260542[20];
const struct OamData gOamData_8260270 = {
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
.priority = 1
};
const struct SpriteTemplate sHealthboxPlayerSpriteTemplates[] = {
{
.tileTag = 55039,
.paletteTag = 55039,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
}, {
.tileTag = 55040,
.paletteTag = 55039,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
}
};
const struct SpriteTemplate sHealthboxOpponentSpriteTemplates[] = {
{
.tileTag = 55041,
.paletteTag = 55039,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
}, {
.tileTag = 55042,
.paletteTag = 55039,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
}
};
const struct SpriteTemplate sHealthboxSafariSpriteTemplate =
{
.tileTag = 55051,
.paletteTag = 55039,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct OamData gUnknown_82602F0 = {
.shape = SPRITE_SHAPE(32x8),
.size = SPRITE_SIZE(32x8),
.priority = 1
};
const struct SpriteTemplate gUnknown_82602F8[] = {
{
.tileTag = 55044,
.paletteTag = 55044,
.oam = &gUnknown_82602F0,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_HealthBar
}, {
.tileTag = 55045,
.paletteTag = 55044,
.oam = &gUnknown_82602F0,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_HealthBar
}, {
.tileTag = 55046,
.paletteTag = 55044,
.oam = &gUnknown_82602F0,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_HealthBar
}, {
.tileTag = 55047,
.paletteTag = 55044,
.oam = &gUnknown_82602F0,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_HealthBar
}
};
const struct Subsprite gUnknown_8260358[] = {
{ 240, 0, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 0x0000, 1 },
{ 48, 0, SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 0x0020, 1 },
{ 240, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0030, 1 },
{ 16, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0034, 1 },
{ 48, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0038, 1 }
};
const struct Subsprite gUnknown_826036C[] = {
{ 240, 0, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 0x0040, 1 },
{ 48, 0, SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 0x0060, 1 },
{ 240, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0070, 1 },
{ 16, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0074, 1 },
{ 48, 32, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0078, 1 }
};
const struct Subsprite gUnknown_8260380[] = {
{ 240, 0, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 0x0000, 1 },
{ 48, 0, SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 0x0020, 1 }
};
const struct Subsprite gUnknown_8260388[] = {
{ 240, 0, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 0x0000, 1 },
{ 48, 0, SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 0x0020, 1 }
};
const struct Subsprite gUnknown_8260390[] = {
{ 240, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0000, 1 },
{ 16, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0004, 1 }
};
const struct Subsprite gUnknown_8260398[] = {
{ 240, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0000, 1 },
{ 16, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0004, 1 },
{ 224, 0, SPRITE_SHAPE(8x8), SPRITE_SIZE(8x8), 0x0008, 1 }
};
const struct SubspriteTable gUnknown_82603A4[] = {
{NELEMS(gUnknown_8260358), gUnknown_8260358},
{NELEMS(gUnknown_8260380), gUnknown_8260380},
{NELEMS(gUnknown_826036C), gUnknown_826036C},
{NELEMS(gUnknown_8260388), gUnknown_8260388}
};
const struct SubspriteTable gUnknown_82603C4[] = {
{NELEMS(gUnknown_8260390), gUnknown_8260390},
{NELEMS(gUnknown_8260398), gUnknown_8260398}
};
const struct Subsprite gUnknown_82603D4[] = {
{ 160, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0000, 1 },
{ 192, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0004, 1 },
{ 224, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0008, 1 },
{ 0, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x000c, 1 }
};
const struct Subsprite gUnknown_82603E4[] = {
{ 160, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0000, 1 },
{ 192, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0004, 1 },
{ 224, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0008, 1 },
{ 0, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0008, 1 },
{ 32, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x0008, 1 },
{ 64, 0, SPRITE_SHAPE(32x8), SPRITE_SIZE(32x8), 0x000c, 1 }
};
const struct SubspriteTable gUnknown_82603FC =
{NELEMS(gUnknown_82603D4), gUnknown_82603D4};
const struct SubspriteTable gUnknown_8260404 =
{NELEMS(gUnknown_82603E4), gUnknown_82603E4};
const u16 gUnknown_26040C[] = INCBIN_U16("graphics/battle_interface/unk_826404C.4bpp");
const struct CompressedSpriteSheet gUnknown_826046C[] = {
{gFile_graphics_battle_interface_ball_status_bar_sheet, 0x0200, 55052},
{gFile_graphics_battle_interface_ball_status_bar_sheet, 0x0200, 55053}
};
const struct SpritePalette gUnknown_826047C[] = {
{gBattleInterface_BallStatusBarPal, 55056},
{gBattleInterface_BallStatusBarPal, 55057}
};
const struct SpritePalette gUnknown_826048C[] = {
{gBattleInterface_BallDisplayPal, 55058},
{gBattleInterface_BallDisplayPal, 55059}
};
const struct SpriteSheet gUnknown_826049C[] = {
{gUnknown_8D12404, 0x0080, 55060},
{gUnknown_8D12404, 0x0080, 55061}
};
const struct OamData gUnknown_82604AC = {
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
.priority = 1
};
const struct OamData gUnknown_82604B4 = {
.shape = SPRITE_SHAPE(8x8),
.size = SPRITE_SIZE(8x8),
.priority = 1
};
const struct SpriteTemplate gUnknown_82604BC[] = {
{
.tileTag = 55052,
.paletteTag = 55056,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_StatusSummaryBar
}, {
.tileTag = 55053,
.paletteTag = 55057,
.oam = &gOamData_8260270,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_StatusSummaryBar
}
};
const struct SpriteTemplate gUnknown_82604EC[] = {
{
.tileTag = 55060,
.paletteTag = 55058,
.oam = &gUnknown_82604B4,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_StatusSummaryBallsOnBattleStart
}, {
.tileTag = 55061,
.paletteTag = 55059,
.oam = &gUnknown_82604B4,
.anims = gDummySpriteAnimTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_StatusSummaryBallsOnBattleStart
}
};
void sub_8047B0C(s16 number, u16 *dest, bool8 unk)
{
@@ -346,12 +570,10 @@ void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
{
u32 windowId, spriteTileNum;
u8 *windowTileData;
u8 text[16];
u8 text[16] = _("{LV_2}");
u32 xPos, var1;
void *objVram;
memcpy(text, gUnknown_826051C, 16);
xPos = (u32) ConvertIntToDecimalStringN(text + 2, lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
// Alright, that part was unmatchable. It's basically doing:
// xPos = 5 * (3 - (u32)(&text[2]));