Merge with master

This commit is contained in:
DizzyEggg 2019-01-28 20:41:46 +01:00
commit 94d2a30d44
11 changed files with 3812 additions and 9620 deletions

File diff suppressed because it is too large Load Diff

View File

@ -406,7 +406,7 @@ gSpriteTemplate_858998C:: @ 858998C
spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
.align 2
gUnknown_085899EC:: @ 85899EC
gContestExcitementTable:: @ 85899EC
.2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000

View File

@ -665,19 +665,19 @@ gText_0827E817:: @ 827E817
.string "{STR_VAR_1}'s\n"
.string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
gText_0827E837:: @ 827E837
gText_Contest_Shyness:: @ 827E837
.string "shyness$"
gText_0827E83F:: @ 827E83F
gText_Contest_Anxiety:: @ 827E83F
.string "anxiety$"
gText_0827E847:: @ 827E847
gText_Contest_Laziness:: @ 827E847
.string "laziness$"
gText_0827E850:: @ 827E850
gText_Contest_Hesitancy:: @ 827E850
.string "hesitancy$"
gText_0827E85A:: @ 827E85A
gText_Contest_Fear:: @ 827E85A
.string "fear$"
gText_0827E85F:: @ 827E85F

View File

@ -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?
@ -385,9 +369,22 @@ struct UnknownContestStruct4
u8 unk2_2:1;
};
struct UnknownContestStruct6
{
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
};
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
@ -412,38 +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 u32 gContestRngValue;
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;
bool8 IsSpeciesNotUnown(u16 species);
extern u32 gContestRngValue;
// 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 *);
void 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);
@ -456,5 +477,4 @@ bool8 sub_80FC55C(void);
bool8 sub_80FC530(u8);
u8 sub_80F86E0(u8 *);
#endif //GUARD_CONTEST_H

View File

@ -4750,9 +4750,13 @@ extern const u32 gBattleStatMask8_Pal[];
extern const u32 gUnknown_08D9A88C[];
extern const u32 gContestMiscGfx[];
extern const u32 gContestAudienceGfx[];
extern const u8 gContestApplauseMeterGfx[];
extern const u8 gContestNextTurnNumbersGfx[];
extern const u8 gContestNextTurnRandomGfx[];
extern const u32 gUnknown_08C16FA8[];
extern const u32 gUnknown_08C16E90[];
extern const u32 gUnknown_08C17170[];
extern const u32 gUnknown_08C17980[];
extern const u32 gUnknown_08D95E00[];
extern const u32 gUnknown_08D960D0[];

View File

@ -13,11 +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_APOS 0xB4
#define CHAR_DBL_QUOT_LEFT 0xB1
#define CHAR_DBL_QUOT_RIGHT 0xB2
#define CHAR_SGL_QUOT_LEFT 0xB3
#define CHAR_SGL_QUOT_RIGHT 0xB4
#define CHAR_MALE 0xB5
#define CHAR_FEMALE 0xB6
#define CHAR_CURRENCY 0xB7

View File

@ -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

View File

@ -15,5 +15,7 @@ u16 CalcCRC16WithTable(u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output);
#endif // GUARD_UTIL_H

View File

@ -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);

File diff suppressed because it is too large Load Diff

View File

@ -1032,8 +1032,8 @@ const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprit
const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz");
const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz");
const u8 gUnknown_08D8E9B4[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
const u8 gUnknown_08D8EA34[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz");
const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz");