Merge structs at 02019348

This commit is contained in:
PikalaxALT 2021-06-29 15:22:33 -04:00
parent 0117d43fa7
commit d172b9ed71
16 changed files with 50 additions and 82 deletions

View File

@ -31,11 +31,6 @@ enum
BATTLER_COORD_ATTR_RAW_BOTTOM,
};
struct UnknownStruct1
{
u8 unk0;
};
struct UnknownStruct2
{
void *unk0;
@ -43,19 +38,15 @@ struct UnknownStruct2
u8 unk8;
};
struct UnknownStruct3
struct ContestMoveAnim
{
u8 unk0;
u8 filler1[0xB];
};
struct EWRAM_19348_Struct
{
/*0x00*/ u16 species2;
/*0x02*/ u16 species;
/*0x04*/ u8 filler4[0x8];
/*0x0C*/ u32 otId;
/*0x10*/ u32 personality;
u16 species;
u16 targetSpecies;
bool8 hasTargetAnim:1;
u8 contestant;
u32 personality;
u32 otId;
u32 personality2;
};
extern void (*gAnimScriptCallback)(void);

View File

@ -425,17 +425,6 @@ struct ContestAppealMoveResults
u8 contestant;
};
struct ContestMoveAnim
{
u16 species;
u16 targetSpecies;
bool8 hasTargetAnim :1;
u8 contestant;
u32 personality;
u32 otId;
u32 unk10;
};
struct ContestFinalStandings
{
s32 totalPoints;

View File

@ -64,7 +64,6 @@ extern u8 gSharedMem[];
#define ewram14000arr(i, data) (gSharedMem[0x14000 + i + data])
#define ewram14004arr(i, data) (gSharedMem[0x14004 + i + data])
#define ewram14008arr(i, data) (gSharedMem[0x14008 + data + i])
#define ewram14800 (&gSharedMem[0x14800])
#define EWRAM_14800 ((u16 *)(gSharedMem + 0x14800))
#define sEvoInfo ((*(struct EvoInfo*)(gSharedMem + 0x14800)))
#define EWRAM_15000 ((u8 *)(gSharedMem + 0x15000))
@ -157,7 +156,7 @@ extern u8 gSharedMem[];
// roulette_gfx.c
#define ewram17000 (&gSharedMem[0x17000])
#define ewram17E00 ((u16 *)(gSharedMem + 0x17E00))
#define ewram18000 ((u16 *)(gSharedMem + 0x18000))
#define ewram18000 ((u16 *)(gSharedMem + 0x18000)) // also: shop.c, battle_anim.c
#define eMoveTutorMenu (struct MoveTutorMenu *)(gSharedMem + 0x17000)
#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000))
@ -165,13 +164,9 @@ extern u8 gSharedMem[];
#define ewram17810 ((struct Struct2017810 *) (gSharedMem + 0x17810))
#define ewram17840 (*(struct Struct2017840 *) (gSharedMem + 0x17840))
#define ewram17850 ((struct UnknownStruct5 *)(gSharedMem + 0x17850))
#define EWRAM_18000 ((u16 *)(gSharedMem + 0x18000))
#define ewram18000_2 (&gSharedMem[0x18000])
#define ewram18000_3 *(struct Pokemon **)(gSharedMem + 0x18000)
#define eBerryBlenderData (struct BerryBlenderData*)(&gSharedMem[0x18000])
#define eEggHatchData (struct EggHatchData*)(&gSharedMem[0x18000])
#define pssData (*(struct PokemonSummaryScreenStruct *)(gSharedMem + 0x18000))
#define ewram18300 ((u16 *)(gSharedMem + 0x18300))
#define ewram18800 (&gSharedMem[0x18800])
#define ewram189a0 ((u16 *)(gSharedMem + 0x189A0))
#define ewram18a20 ((u16 *)(gSharedMem + 0x18A20))
@ -179,8 +174,6 @@ extern u8 gSharedMem[];
#define ewram18a80 ((u16 *)(gSharedMem + 0x18a80))
#define eCableCar2 ((struct CableCarEwramStruct2 *)(gSharedMem + 0x19000))
#define eRoulette ((struct Roulette *)(gSharedMem + 0x19000))
#define EWRAM_19348 ((u16 *)(gSharedMem + 0x19348))
#define eWRAM_19348Struct ((struct EWRAM_19348_Struct *)(gSharedMem + 0x19348))
#define ewram1A000 (&gSharedMem[0x1A000])
#define ePartyMenu2 (*(struct Unk201B000 *)(gSharedMem + 0x1B000))
#define gPartyMenu (*(struct PartyMenu *)(gSharedMem + 0x1C000))

View File

@ -864,7 +864,7 @@ void sub_80E0A4C(u8 taskId)
if (IsContest())
{
species = EWRAM_19348[0];
species = gContestResources__moveAnim.species;
}
else
{

View File

@ -1227,7 +1227,7 @@ void sub_80E2F2C(u8 taskId)
if (IsContest())
{
species = eWRAM_19348Struct->species2;
species = gContestResources__moveAnim.species;
}
else
{
@ -1364,7 +1364,7 @@ static void sub_80E3338(u8 taskId)
if (IsContest())
{
species = eWRAM_19348Struct->species2;
species = gContestResources__moveAnim.species;
}
else
{
@ -1694,7 +1694,7 @@ void sub_80E3C4C(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
if (IsContest())
{
species = eWRAM_19348Struct->species2;
species = gContestResources__moveAnim.species;
}
else
{
@ -1816,7 +1816,7 @@ void sub_80E4028(u8 taskId)
}
offset = gBattleAnimArgs[1] * 32;
dest = IsContest() ? &ewram14800[offset] : &ewram18000_2[offset];
dest = IsContest() ? &((u8 *)EWRAM_14800)[offset] : &((u8 *)ewram18000)[offset];
// This doesn't match when u16* is used.
memcpy(dest, &((u8 *)gPlttBufferUnfaded)[i * 32], 32);
DestroyAnimVisualTask(taskId);
@ -1851,7 +1851,7 @@ void sub_80E40D0(u8 taskId)
dest = &((u8 *)gPlttBufferUnfaded)[i * 32];
offset = gBattleAnimArgs[1] * 32;
src = IsContest() ? &ewram14800[offset] : &ewram18000_2[offset];
src = IsContest() ? &((u8 *)EWRAM_14800)[offset] : &((u8 *)ewram18000)[offset];
// This doesn't match when u16* is used.
memcpy(dest, src, 32);
DestroyAnimVisualTask(taskId);

View File

@ -137,9 +137,6 @@ static void sub_812B108(u8 taskId)
}
}
// #define gContestResources__moveAnim (*(struct ContestMoveAnim *)(gSharedMem + 0x19348))
// #define EWRAM_19348 (*(u16 *)(gSharedMem + 0x19348))
// used in 3 moves:
// Move_HOWL, Move_ROAR, Move_GROWL
void sub_812B18C(u8 taskId)

View File

@ -1488,7 +1488,7 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim)
else
{
for (i = 0; i < 4; i++)
gAnimSpeciesByBanks[i] = EWRAM_19348[0];
gAnimSpeciesByBanks[i] = gContestResources__moveAnim.species;
}
if (isMoveAnim == 0)
@ -1940,7 +1940,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2)
spriteId = gBattlerSpriteIds[bank];
gBattle_BG1_X = -(gSprites[spriteId].x + gSprites[spriteId].x2) + 32;
if (IsContest() && IsSpeciesNotUnown(EWRAM_19348[0]) != 0)
if (IsContest() && IsSpeciesNotUnown(gContestResources__moveAnim.species) != 0)
gBattle_BG1_X--;
gBattle_BG1_Y = -(gSprites[spriteId].y + gSprites[spriteId].y2) + 32;
gSprites[gBattlerSpriteIds[bank]].invisible = TRUE;
@ -1994,7 +1994,7 @@ static void sub_8076380(void)
struct UnknownStruct2 s;
u16 *ptr;
if (IsSpeciesNotUnown(EWRAM_19348[0]))
if (IsSpeciesNotUnown(gContestResources__moveAnim.species))
{
sub_8078914(&s);
ptr = s.unk4;
@ -2451,9 +2451,9 @@ static void LoadMoveBg(u16 bgId)
{
void *tilemap = gBattleAnimBackgroundTable[bgId].tilemap;
LZDecompressWram(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000);
sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
DmaCopy32Defvars(3, IsContest() ? EWRAM_14800 : EWRAM_18000, (void *)(VRAM + 0xD000), 0x800);
LZDecompressWram(tilemap, IsContest() ? EWRAM_14800 : ewram18000);
sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : ewram18000, 0x100, 0);
DmaCopy32Defvars(3, IsContest() ? EWRAM_14800 : ewram18000, (void *)(VRAM + 0xD000), 0x800);
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(VRAM + 0x2000));
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80789BC() * 16, 32);
}

View File

@ -2262,7 +2262,6 @@ void sub_812D7E8(u8 taskId)
u8 *dest;
u8 *src;
u16 *field_4;
u16 *ptr;
u16 stretch;
switch (gTasks[taskId].data[0])
@ -2303,7 +2302,7 @@ void sub_812D7E8(u8 taskId)
if (IsContest())
{
if (IsSpeciesNotUnown(EWRAM_19348[0]) != IsSpeciesNotUnown(EWRAM_19348[1]))
if (IsSpeciesNotUnown(gContestResources__moveAnim.species) != IsSpeciesNotUnown(gContestResources__moveAnim.targetSpecies))
{
field_4 = (u16 *)subStruct.field_4;
for (i = 0; i < 8; i++)
@ -2325,8 +2324,7 @@ void sub_812D7E8(u8 taskId)
}
}
ptr = EWRAM_19348;
if (IsSpeciesNotUnown(ptr[1]))
if (IsSpeciesNotUnown(gContestResources__moveAnim.targetSpecies))
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims =
gAffineAnims_BattleSpriteContest;
else
@ -3189,9 +3187,9 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
if (IsContest())
{
isBackPic = 1;
personality = eWRAM_19348Struct->personality;
otId = eWRAM_19348Struct->otId;
species = eWRAM_19348Struct->species;
personality = gContestResources__moveAnim.personality2;
otId = gContestResources__moveAnim.otId;
species = gContestResources__moveAnim.targetSpecies;
xOffset = 20;
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
@ -4951,9 +4949,9 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
case 1:
if (IsContest())
{
personality = eWRAM_19348Struct->personality;
otId = eWRAM_19348Struct->otId;
species = eWRAM_19348Struct->species;
personality = gContestResources__moveAnim.personality;
otId = gContestResources__moveAnim.otId;
species = gContestResources__moveAnim.targetSpecies;
subpriority = GetBattlerSubpriority(gBattleAnimAttacker);
isBackPic = 0;
x = -32;

View File

@ -664,7 +664,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[0],
species,
gContestResources__moveAnim.unk10);
gContestResources__moveAnim.personality2);
}
else
{

View File

@ -3984,7 +3984,7 @@ void SetMoveSpecificAnimData(u8 contestant)
case MOVE_ROLE_PLAY:
r5_2 = sContestantStatus[contestant].contestantAnimTarget;
gContestResources__moveAnim.targetSpecies = SanitizeSpecies(gContestMons[r5_2].species);
gContestResources__moveAnim.unk10 = gContestMons[r5_2].personality;
gContestResources__moveAnim.personality2 = gContestMons[r5_2].personality;
gContestResources__moveAnim.hasTargetAnim = 1;
break;
case MOVE_RETURN:

View File

@ -85,7 +85,7 @@ struct WatanabeEwram18000_2 {
u8 unk9;
u8 unkA;
struct PlttData unkC;
u16 unk10[16];
u16 personality2[16];
};
#define eWatanabe17000 (*(struct WatanabeEwram17000 *)(gSharedMem + 0x17000))
@ -2710,7 +2710,7 @@ void debug_80C6CB8(u8 taskId)
void debug_80C6EE8(u8 taskId)
{
u16 hue;
CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32);
CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->personality2, 32);
hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81];
gUnknown_Debug_2038A20->unkC.r = hue & 0x1f;
gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5;
@ -3110,10 +3110,10 @@ void debug_80C7294(u8 taskId)
gUnknown_Debug_2038A20->contestant = 0;
REG_WIN0H = 0x51EF;
REG_WIN0V = 0x699F;
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferUnfaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferFaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
gTasks[taskId].func = debug_80C6EE8;
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2)
@ -3318,7 +3318,7 @@ void debug_80C7934(u8 taskId)
void debug_80C7A54(u8 taskId)
{
u16 hue;
CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32);
CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->personality2, 32);
hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81];
gUnknown_Debug_2038A20->unkC.r = hue & 0x1f;
gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5;
@ -3701,10 +3701,10 @@ void debug_80C7DDC(u8 taskId)
gUnknown_Debug_2038A20->contestant = 0;
REG_WIN0H = 0x51EF;
REG_WIN0V = 0x699F;
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferUnfaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferFaded + 0x80, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
CpuCopy16(gUnknown_Debug_2038A20->personality2, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
gTasks[taskId].func = debug_80C7A54;
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2)

View File

@ -2478,7 +2478,7 @@ bool8 PokemonSummaryScreen_CheckOT(struct Pokemon *mon)
{
u32 trainerId;
if (ewram18000_3 == gEnemyParty)
if (pssData.monList.partyMons == gEnemyParty)
{
u8 enemyId = GetMultiplayerId() ^ 1;
trainerId = gLinkPlayers[enemyId].trainerId & 0xFFFF;

View File

@ -220,7 +220,7 @@ u8 sub_8077BFC(u8 slot, u16 species)
if (IsContest())
{
if (gContestResources__moveAnim.hasTargetAnim)
personality = gContestResources__moveAnim.unk10;
personality = gContestResources__moveAnim.personality2;
else
personality = gContestResources__moveAnim.personality;
}
@ -2000,7 +2000,7 @@ s16 GetBattlerSpriteCoordAttr(u8 slot, u8 a2)
if (gContestResources__moveAnim.hasTargetAnim)
{
species = gContestResources__moveAnim.targetSpecies;
personality = gContestResources__moveAnim.unk10;
personality = gContestResources__moveAnim.personality2;
}
else
{

View File

@ -301,7 +301,7 @@ void ScrSpecial_GetPokemonNicknameAndMoveName(void)
StringCopy(gStringVar2, gMoveNames[data]);
}
void sub_80F9FDC(struct Pokemon *pkmn, u8 moveIndex1, u8 moveIndex2)
static void SwapMoveSlots(struct Pokemon *pkmn, u8 moveIndex1, u8 moveIndex2)
{
u16 move1 = GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex1);
u16 move2 = GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex2);
@ -331,7 +331,7 @@ void DeleteMonMove(void)
RemoveMonPPBonus(&gPlayerParty[gSpecialVar_0x8004], gSpecialVar_0x8005);
for (i = gSpecialVar_0x8005; i < 3; i++)
sub_80F9FDC(&gPlayerParty[gSpecialVar_0x8004], i, i + 1);
SwapMoveSlots(&gPlayerParty[gSpecialVar_0x8004], i, i + 1);
}
void IsSelectedMonEgg(void)

View File

@ -267,7 +267,7 @@ static void BuyMenuDrawGraphics(void)
Dma3FillLarge32_(0, (void*)OAM, OAM_SIZE);
LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00));
LZDecompressWram(gBuyMenuFrame_Tilemap, ewram18000_2);
LZDecompressWram(gBuyMenuFrame_Tilemap, ewram18000);
LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal));
FreeAllSpritePalettes();
ResetPaletteFade();
@ -498,7 +498,7 @@ static void BuyMenuDrawTextboxBG_Restore(void)
for (i = 0; i < 8; i++)
for (j = 0; j < 14; j++)
gBGTilemapBuffers[1][32 * (i + 12) + j] = ewram18300[32 * i + j] + 0xC3E0;
gBGTilemapBuffers[1][32 * (i + 12) + j] = ewram18000[0x180 + 32 * i + j] + 0xC3E0;
}
static void Shop_PrintItemDesc(void)

View File

@ -5675,7 +5675,7 @@ void debug_sub_811B310(void)
PRINT_NUMBER(eSlotMachine->unk68, 10, 3);
PRINT_NUMBER(eSlotMachine->unk6C, 10, 5);
PRINT_NUMBER(eSlotMachine->unk10, 10, 7);
PRINT_NUMBER(eSlotMachine->personality2, 10, 7);
#if DEBUG_FIX
#define OFFSET 24 // wider window