mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +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
|
||||
}; // 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
|
||||
{
|
||||
/*0x18000*/ u8 unk18000;
|
||||
@ -260,10 +244,10 @@ struct ContestStruct_field_18
|
||||
|
||||
struct Contest
|
||||
{
|
||||
/*0x19204*/ u8 playerMoveChoice;
|
||||
/*0x19205*/ u8 turnNumber;
|
||||
/*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
|
||||
/*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
|
||||
/*0x0*/ u8 playerMoveChoice;
|
||||
/*0x1*/ u8 turnNumber;
|
||||
/*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function
|
||||
/*0x6*/ u16 unk1920A_0:1; // Task active flags?
|
||||
u16 unk1920A_1:1;
|
||||
u16 unk1920A_2:1;
|
||||
u16 unk1920A_3:1;
|
||||
@ -271,18 +255,18 @@ struct Contest
|
||||
u16 unk1920A_5:1;
|
||||
u16 unk1920A_6:1;
|
||||
u16 unk1920A_7:1;
|
||||
/*0x1920B*/ u16 unk1920B_0:1;
|
||||
/*0x7*/ u16 unk1920B_0:1;
|
||||
u16 unk1920B_1:1;
|
||||
u16 unk1920B_2:1;
|
||||
/*0x1920C*/ u8 mainTaskId;
|
||||
/*0x1920D*/ u8 unk1920D[4];
|
||||
/*0x19211*/ u8 unk19211;
|
||||
/*0x19212*/ u8 unk19212;
|
||||
/*0x19213*/ u8 filler19213;
|
||||
/*0x19214*/ u8 unk19214;
|
||||
/*0x19215*/ u8 unk19215;
|
||||
/*0x19216*/ u8 unk19216; // sprite ID
|
||||
/*0x19217*/ s8 applauseLevel;
|
||||
/*0x8*/ u8 mainTaskId;
|
||||
/*0x9*/ u8 unk1920D[4];
|
||||
/*0xD*/ u8 unk19211;
|
||||
/*0xE*/ u8 unk19212;
|
||||
/*0xF*/ u8 filler19213;
|
||||
/*0x10*/ u8 unk19214;
|
||||
/*0x11*/ u8 unk19215;
|
||||
/*0x12*/ u8 unk19216; // sprite ID
|
||||
/*0x13*/ s8 applauseLevel;
|
||||
/*0x19218*/ u8 unk19218[4];
|
||||
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
||||
u16 unk19220[5][4]; // move history?
|
||||
@ -395,7 +379,12 @@ struct UnknownContestStruct6
|
||||
|
||||
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
|
||||
@ -420,42 +409,62 @@ struct ContestResources
|
||||
void * field_3c;
|
||||
};
|
||||
|
||||
extern struct ContestResources *gContestResources;
|
||||
|
||||
#define sContest (*gContestResources->field_0)
|
||||
#define sContestantStatus (gContestResources->field_4)
|
||||
#define shared192D0 (*gContestResources->field_8)
|
||||
#define eContestAI (gContestResources->field_C)
|
||||
#define shared19328 (*gContestResources->field_10)
|
||||
#define shared19338 (*gContestResources->field_14)
|
||||
|
||||
|
||||
|
||||
#define shared15800 (gHeap + 0x18000)
|
||||
#define shared16800 (gHeap + 0x19000)
|
||||
#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 u8 gUnknown_02039F26[4];
|
||||
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
// contest.c
|
||||
void ResetLinkContestBoolean(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 SetContestantEffectStringID2(u8 a, u8 b);
|
||||
void SetStartledString(u8 contestant, u8 jam);
|
||||
void MakeContestantNervous(u8 p);
|
||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||
s8 Contest_GetMoveExcitement(u16 move);
|
||||
bool8 sub_80DE1E8(u8 a);
|
||||
void SetStartledString(u8 a, u8 b);
|
||||
s8 Contest_GetMoveExcitement(u16);
|
||||
u8 sub_80DAE0C(struct Pokemon *);
|
||||
bool8 sub_80DEDA8(u8);
|
||||
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
void sub_80DB09C(u8 contestCategory);
|
||||
void sub_80DCE58(u8);
|
||||
void sub_80DFA08(struct ContestPokemon *mon, int language);
|
||||
void sub_80DBED4(void);
|
||||
u8 sub_80DEFA8(u8, u8);
|
||||
void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
|
||||
void ResetContestLinkResults(void);
|
||||
bool8 sub_80DEDA8(u8 a);
|
||||
u8 sub_80DEFA8(u8 a, u8 b);
|
||||
void ClearContestWinnerPicsInContestHall(void);
|
||||
void sub_80DFA08(struct ContestPokemon *mon, s32 language);
|
||||
|
||||
// contest link
|
||||
void sub_81D9DE4(u8 taskId);
|
||||
@ -468,5 +477,4 @@ bool8 sub_80FC55C(void);
|
||||
bool8 sub_80FC530(u8);
|
||||
u8 sub_80F86E0(u8 *);
|
||||
|
||||
|
||||
#endif //GUARD_CONTEST_H
|
||||
|
@ -13,10 +13,15 @@
|
||||
#define CHAR_7 0xA8
|
||||
#define CHAR_8 0xA9
|
||||
#define CHAR_9 0xAA
|
||||
#define CHAR_EXCL_MARK 0xAB
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#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_FEMALE 0xB6
|
||||
#define CHAR_CURRENCY 0xB7
|
||||
|
@ -56,5 +56,10 @@ void SaveRecordedItemPurchasesForTVShow(void);
|
||||
bool8 sub_80EE818(void);
|
||||
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
|
||||
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
|
||||
|
@ -136,7 +136,6 @@ SECTIONS {
|
||||
src/battle_anim_80D51AC.o(.text);
|
||||
src/item.o(.text);
|
||||
src/contest.o(.text);
|
||||
asm/contest.o(.text);
|
||||
src/shop.o(.text);
|
||||
src/fldeff_escalator.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