diff options
Diffstat (limited to 'src/battle_interface.c')
-rw-r--r-- | src/battle_interface.c | 275 |
1 files changed, 239 insertions, 36 deletions
diff --git a/src/battle_interface.c b/src/battle_interface.c index 05d34d6c5..cf9aa7f1b 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -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[] = @@ -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) { |