mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
Decompile whole contest
This commit is contained in:
parent
26a2a4f9e7
commit
ad59811154
1324
asm/contest.s
1324
asm/contest.s
File diff suppressed because it is too large
Load Diff
@ -221,22 +221,6 @@ struct ContestPokemon
|
|||||||
/*0x3C*/ u32 otId; // otId
|
/*0x3C*/ u32 otId; // otId
|
||||||
}; // wow
|
}; // wow
|
||||||
|
|
||||||
extern struct ContestPokemon gContestMons[4];
|
|
||||||
extern u8 gContestMonPartyIndex;
|
|
||||||
extern u16 gSpecialVar_ContestCategory;
|
|
||||||
extern u16 gSpecialVar_ContestRank;
|
|
||||||
extern u8 gUnknown_02039F2B;
|
|
||||||
extern u8 gNumLinkContestPlayers;
|
|
||||||
extern u8 gHighestRibbonRank;
|
|
||||||
extern u8 gContestFinalStandings[4];
|
|
||||||
extern u8 gContestPlayerMonIndex;
|
|
||||||
extern s16 gUnknown_02039F08[4];
|
|
||||||
extern s16 gUnknown_02039F10[4];
|
|
||||||
extern s16 gUnknown_02039F18[4];
|
|
||||||
extern s16 gContestMonConditions[4];
|
|
||||||
extern u8 gIsLinkContest;
|
|
||||||
extern struct ContestWinner gUnknown_02039F3C;
|
|
||||||
|
|
||||||
struct Shared18000
|
struct Shared18000
|
||||||
{
|
{
|
||||||
/*0x18000*/ u8 unk18000;
|
/*0x18000*/ u8 unk18000;
|
||||||
@ -260,10 +244,10 @@ struct ContestStruct_field_18
|
|||||||
|
|
||||||
struct Contest
|
struct Contest
|
||||||
{
|
{
|
||||||
/*0x19204*/ u8 playerMoveChoice;
|
/*0x0*/ u8 playerMoveChoice;
|
||||||
/*0x19205*/ u8 turnNumber;
|
/*0x1*/ u8 turnNumber;
|
||||||
/*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
|
/*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function
|
||||||
/*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
|
/*0x6*/ u16 unk1920A_0:1; // Task active flags?
|
||||||
u16 unk1920A_1:1;
|
u16 unk1920A_1:1;
|
||||||
u16 unk1920A_2:1;
|
u16 unk1920A_2:1;
|
||||||
u16 unk1920A_3:1;
|
u16 unk1920A_3:1;
|
||||||
@ -271,18 +255,18 @@ struct Contest
|
|||||||
u16 unk1920A_5:1;
|
u16 unk1920A_5:1;
|
||||||
u16 unk1920A_6:1;
|
u16 unk1920A_6:1;
|
||||||
u16 unk1920A_7:1;
|
u16 unk1920A_7:1;
|
||||||
/*0x1920B*/ u16 unk1920B_0:1;
|
/*0x7*/ u16 unk1920B_0:1;
|
||||||
u16 unk1920B_1:1;
|
u16 unk1920B_1:1;
|
||||||
u16 unk1920B_2:1;
|
u16 unk1920B_2:1;
|
||||||
/*0x1920C*/ u8 mainTaskId;
|
/*0x8*/ u8 mainTaskId;
|
||||||
/*0x1920D*/ u8 unk1920D[4];
|
/*0x9*/ u8 unk1920D[4];
|
||||||
/*0x19211*/ u8 unk19211;
|
/*0xD*/ u8 unk19211;
|
||||||
/*0x19212*/ u8 unk19212;
|
/*0xE*/ u8 unk19212;
|
||||||
/*0x19213*/ u8 filler19213;
|
/*0xF*/ u8 filler19213;
|
||||||
/*0x19214*/ u8 unk19214;
|
/*0x10*/ u8 unk19214;
|
||||||
/*0x19215*/ u8 unk19215;
|
/*0x11*/ u8 unk19215;
|
||||||
/*0x19216*/ u8 unk19216; // sprite ID
|
/*0x12*/ u8 unk19216; // sprite ID
|
||||||
/*0x19217*/ s8 applauseLevel;
|
/*0x13*/ s8 applauseLevel;
|
||||||
/*0x19218*/ u8 unk19218[4];
|
/*0x19218*/ u8 unk19218[4];
|
||||||
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
||||||
u16 unk19220[5][4]; // move history?
|
u16 unk19220[5][4]; // move history?
|
||||||
@ -395,7 +379,12 @@ struct UnknownContestStruct6
|
|||||||
|
|
||||||
struct ContestResourcesField1C
|
struct ContestResourcesField1C
|
||||||
{
|
{
|
||||||
u8 filler_00[0x40];
|
u16 unk0[5];
|
||||||
|
s16 unkA;
|
||||||
|
u8 unkC;
|
||||||
|
u8 unkD;
|
||||||
|
u8 unkE_1:1;
|
||||||
|
u8 unkE_2:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ContestResourcesField20
|
struct ContestResourcesField20
|
||||||
@ -420,42 +409,62 @@ struct ContestResources
|
|||||||
void * field_3c;
|
void * field_3c;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct ContestResources *gContestResources;
|
|
||||||
|
|
||||||
#define sContest (*gContestResources->field_0)
|
#define sContest (*gContestResources->field_0)
|
||||||
#define sContestantStatus (gContestResources->field_4)
|
#define sContestantStatus (gContestResources->field_4)
|
||||||
#define shared192D0 (*gContestResources->field_8)
|
#define shared192D0 (*gContestResources->field_8)
|
||||||
#define eContestAI (gContestResources->field_C)
|
#define eContestAI (gContestResources->field_C)
|
||||||
#define shared19328 (*gContestResources->field_10)
|
#define shared19328 (*gContestResources->field_10)
|
||||||
#define shared19338 (*gContestResources->field_14)
|
#define shared19338 (*gContestResources->field_14)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define shared15800 (gHeap + 0x18000)
|
#define shared15800 (gHeap + 0x18000)
|
||||||
#define shared16800 (gHeap + 0x19000)
|
#define shared16800 (gHeap + 0x19000)
|
||||||
#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
|
#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
|
||||||
|
|
||||||
|
extern struct ContestPokemon gContestMons[4];
|
||||||
|
extern s16 gContestMonConditions[4];
|
||||||
|
extern s16 gUnknown_02039F08[4];
|
||||||
|
extern s16 gUnknown_02039F10[4];
|
||||||
|
extern s16 gUnknown_02039F18[4];
|
||||||
|
extern u8 gContestFinalStandings[4];
|
||||||
|
extern u8 gContestMonPartyIndex;
|
||||||
|
extern u8 gContestPlayerMonIndex;
|
||||||
|
extern u8 gUnknown_02039F26[4];
|
||||||
|
extern u8 gIsLinkContest;
|
||||||
|
extern u8 gUnknown_02039F2B;
|
||||||
|
extern u16 gSpecialVar_ContestCategory;
|
||||||
|
extern u16 gSpecialVar_ContestRank;
|
||||||
|
extern u8 gNumLinkContestPlayers;
|
||||||
|
extern u8 gHighestRibbonRank;
|
||||||
|
extern struct ContestResources *gContestResources;
|
||||||
|
extern u8 sContestBgCopyFlags;
|
||||||
|
extern struct ContestWinner gUnknown_02039F3C;
|
||||||
|
|
||||||
extern u32 gContestRngValue;
|
extern u32 gContestRngValue;
|
||||||
extern u8 gUnknown_02039F26[4];
|
|
||||||
|
|
||||||
bool8 IsSpeciesNotUnown(u16 species);
|
// contest.c
|
||||||
|
void ResetLinkContestBoolean(void);
|
||||||
void LoadContestBgAfterMoveAnim(void);
|
void LoadContestBgAfterMoveAnim(void);
|
||||||
|
void sub_80D7B24(void);
|
||||||
|
void sub_80DA8C8(u8 partyIndex);
|
||||||
|
void sub_80DAB8C(u8 contestType, u8 rank);
|
||||||
|
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
||||||
|
u8 sub_80DAE0C(struct Pokemon *pkmn);
|
||||||
|
void sub_80DB09C(u8 contestCategory);
|
||||||
|
bool8 IsSpeciesNotUnown(u16 species);
|
||||||
|
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||||
|
void sub_80DBED4(void);
|
||||||
|
void sub_80DCE58(u8 a);
|
||||||
void SetContestantEffectStringID(u8 a, u8 b);
|
void SetContestantEffectStringID(u8 a, u8 b);
|
||||||
void SetContestantEffectStringID2(u8 a, u8 b);
|
void SetContestantEffectStringID2(u8 a, u8 b);
|
||||||
|
void SetStartledString(u8 contestant, u8 jam);
|
||||||
void MakeContestantNervous(u8 p);
|
void MakeContestantNervous(u8 p);
|
||||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
s8 Contest_GetMoveExcitement(u16 move);
|
||||||
bool8 sub_80DE1E8(u8 a);
|
bool8 sub_80DE1E8(u8 a);
|
||||||
void SetStartledString(u8 a, u8 b);
|
void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
|
||||||
s8 Contest_GetMoveExcitement(u16);
|
void ResetContestLinkResults(void);
|
||||||
u8 sub_80DAE0C(struct Pokemon *);
|
bool8 sub_80DEDA8(u8 a);
|
||||||
bool8 sub_80DEDA8(u8);
|
u8 sub_80DEFA8(u8 a, u8 b);
|
||||||
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
void ClearContestWinnerPicsInContestHall(void);
|
||||||
void sub_80DB09C(u8 contestCategory);
|
void sub_80DFA08(struct ContestPokemon *mon, s32 language);
|
||||||
void sub_80DCE58(u8);
|
|
||||||
void sub_80DFA08(struct ContestPokemon *mon, int language);
|
|
||||||
void sub_80DBED4(void);
|
|
||||||
u8 sub_80DEFA8(u8, u8);
|
|
||||||
|
|
||||||
// contest link
|
// contest link
|
||||||
void sub_81D9DE4(u8 taskId);
|
void sub_81D9DE4(u8 taskId);
|
||||||
@ -468,5 +477,4 @@ bool8 sub_80FC55C(void);
|
|||||||
bool8 sub_80FC530(u8);
|
bool8 sub_80FC530(u8);
|
||||||
u8 sub_80F86E0(u8 *);
|
u8 sub_80F86E0(u8 *);
|
||||||
|
|
||||||
|
|
||||||
#endif //GUARD_CONTEST_H
|
#endif //GUARD_CONTEST_H
|
||||||
|
@ -13,10 +13,15 @@
|
|||||||
#define CHAR_7 0xA8
|
#define CHAR_7 0xA8
|
||||||
#define CHAR_8 0xA9
|
#define CHAR_8 0xA9
|
||||||
#define CHAR_9 0xAA
|
#define CHAR_9 0xAA
|
||||||
|
#define CHAR_EXCL_MARK 0xAB
|
||||||
#define CHAR_QUESTION_MARK 0xAC
|
#define CHAR_QUESTION_MARK 0xAC
|
||||||
#define CHAR_PERIOD 0xAD
|
#define CHAR_PERIOD 0xAD
|
||||||
#define CHAR_HYPHEN 0xAE
|
#define CHAR_HYPHEN 0xAE
|
||||||
#define CHAR_ELLIPSIS 0xB0
|
#define CHAR_ELLIPSIS 0xB0
|
||||||
|
#define CHAR_DOUBLE_QUOTATION_LEFT 0xB1
|
||||||
|
#define CHAR_DOUBLE_QUOTATION_RIGHT 0xB2
|
||||||
|
#define CHAR_SINGLE_QUOTATION_LEFT 0xB3
|
||||||
|
#define CHAR_SINGLE_QUOTATION_RIGHT 0xB4
|
||||||
#define CHAR_MALE 0xB5
|
#define CHAR_MALE 0xB5
|
||||||
#define CHAR_FEMALE 0xB6
|
#define CHAR_FEMALE 0xB6
|
||||||
#define CHAR_CURRENCY 0xB7
|
#define CHAR_CURRENCY 0xB7
|
||||||
|
@ -56,5 +56,10 @@ void SaveRecordedItemPurchasesForTVShow(void);
|
|||||||
bool8 sub_80EE818(void);
|
bool8 sub_80EE818(void);
|
||||||
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
|
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
|
||||||
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
|
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
|
||||||
|
void ContestLiveUpdates_BeforeInterview_1(u8 a0);
|
||||||
|
void ContestLiveUpdates_BeforeInterview_2(u8 a0);
|
||||||
|
void ContestLiveUpdates_BeforeInterview_3(u8 a0);
|
||||||
|
void ContestLiveUpdates_BeforeInterview_4(u16 a0);
|
||||||
|
void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1);
|
||||||
|
|
||||||
#endif //GUARD_TV_H
|
#endif //GUARD_TV_H
|
||||||
|
@ -136,7 +136,6 @@ SECTIONS {
|
|||||||
src/battle_anim_80D51AC.o(.text);
|
src/battle_anim_80D51AC.o(.text);
|
||||||
src/item.o(.text);
|
src/item.o(.text);
|
||||||
src/contest.o(.text);
|
src/contest.o(.text);
|
||||||
asm/contest.o(.text);
|
|
||||||
src/shop.o(.text);
|
src/shop.o(.text);
|
||||||
src/fldeff_escalator.o(.text);
|
src/fldeff_escalator.o(.text);
|
||||||
src/berry.o(.text);
|
src/berry.o(.text);
|
||||||
|
1124
src/contest.c
1124
src/contest.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user