summaryrefslogtreecommitdiff
path: root/src/battle_interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_interface.c')
-rw-r--r--src/battle_interface.c299
1 files changed, 251 insertions, 48 deletions
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 8fabfed68..cf9aa7f1b 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -202,10 +202,10 @@ static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2);
static const struct OamData sUnknown_0832C138 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -274,10 +274,10 @@ static const struct SpriteTemplate sHealthboxSafariSpriteTemplate =
static const struct OamData sOamData_Healthbar =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -330,45 +330,178 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
static const struct Subsprite sUnknown_0832C220[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1},
- {240, 32, 1, 1, 48, 1},
- {16, 32, 1, 1, 52, 1},
- {48, 32, 1, 1, 56, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ },
+ {
+ .x = 240,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C234[] =
{
- {240, 0, 1, 3, 64, 1},
- {48, 0, 0, 2, 96, 1},
- {240, 32, 1, 1, 112, 1},
- {16, 32, 1, 1, 116, 1},
- {48, 32, 1, 1, 120, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 64,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 96,
+ .priority = 1
+ },
+ {
+ .x = 240,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 112,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 116,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 120,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C248[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C250[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C258[] =
{
- {240, 0, 1, 1, 0, 1},
- {16, 0, 1, 1, 4, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C260[] =
{
- {240, 0, 1, 1, 0, 1},
- {16, 0, 1, 1, 4, 1},
- {224, 0, 0, 0, 8, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 8,
+ .priority = 1
+ }
};
// unused subsprite table
@@ -388,20 +521,90 @@ static const struct SubspriteTable sUnknown_0832C28C[] =
static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
{
- {160, 0, 1, 1, 0, 1},
- {192, 0, 1, 1, 4, 1},
- {224, 0, 1, 1, 8, 1},
- {0, 0, 1, 1, 12, 1}
+ {
+ .x = 160,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 192,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 0,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C2AC[] =
{
- {160, 0, 1, 1, 0, 1},
- {192, 0, 1, 1, 4, 1},
- {224, 0, 1, 1, 8, 1},
- {0, 0, 1, 1, 8, 1},
- {32, 0, 1, 1, 8, 1},
- {64, 0, 1, 1, 12, 1}
+ {
+ .x = 160,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 192,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 0,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 64,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ }
};
static const struct SubspriteTable sStatusSummaryBar_SubspriteTable[] =
@@ -441,10 +644,10 @@ static const struct SpriteSheet sStatusSummaryBallsSpriteSheet =
static const struct OamData sUnknown_0832C354 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -458,10 +661,10 @@ static const struct OamData sUnknown_0832C354 =
static const struct OamData sOamData_StatusSummaryBalls =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -910,9 +1113,9 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1);
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1);
- gSprites[healthboxLeftSpriteId].oam.shape = 0;
+ gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE;
- gSprites[healthboxRightSpriteId].oam.shape = 0;
+ gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE;
gSprites[healthboxRightSpriteId].oam.tileNum += 64;
}
else
@@ -962,7 +1165,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0);
healthBarSpritePtr = &gSprites[healthbarSpriteId];
SetSubspriteTables(healthBarSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battlerId)]);
- healthBarSpritePtr->subspriteMode = 2;
+ healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
healthBarSpritePtr->oam.priority = 1;
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64);
@@ -987,8 +1190,8 @@ u8 CreateSafariPlayerHealthboxSprites(void)
healthboxLeftSpriteId = CreateSprite(&sHealthboxSafariSpriteTemplate, 240, 160, 1);
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxSafariSpriteTemplate, 240, 160, 1);
- gSprites[healthboxLeftSpriteId].oam.shape = 0;
- gSprites[healthboxRightSpriteId].oam.shape = 0;
+ gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE;
+ gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE;
gSprites[healthboxRightSpriteId].oam.tileNum += 64;
@@ -1711,9 +1914,9 @@ void Task_HidePartyStatusSummary(u8 taskId)
gTasks[taskId].tData15 = 16;
for (i = 0; i < PARTY_SIZE; i++)
- gSprites[ballIconSpriteIds[i]].oam.objMode = 1;
+ gSprites[ballIconSpriteIds[i]].oam.objMode = ST_OAM_OBJ_BLEND;
- gSprites[summaryBarSpriteId].oam.objMode = 1;
+ gSprites[summaryBarSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
if (isBattleStart)
{