Merge branch 'master' into doc-overworld
This commit is contained in:
@@ -57,15 +57,15 @@ u32 sub_80397C4(u32 setId, u32 tableId);
|
||||
void SpriteCb_WildMon(struct Sprite *sprite);
|
||||
void SpriteCallbackDummy_2(struct Sprite *sprite);
|
||||
void SpriteCB_FaintOpponentMon(struct Sprite *sprite);
|
||||
void sub_8039AD8(struct Sprite *sprite);
|
||||
void sub_8039B2C(struct Sprite *sprite);
|
||||
void sub_8039B58(struct Sprite *sprite);
|
||||
void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite);
|
||||
void SpriteCb_HideAsMoveTarget(struct Sprite *sprite);
|
||||
void SpriteCb_OpponentMonFromBall(struct Sprite *sprite);
|
||||
void sub_8039BB4(struct Sprite *sprite);
|
||||
void sub_80105DC(struct Sprite *sprite);
|
||||
void sub_8039C00(struct Sprite *sprite);
|
||||
void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d);
|
||||
void EndBounceEffect(u8 battlerId, bool8 b);
|
||||
void sub_8039E44(struct Sprite *sprite);
|
||||
void SpriteCb_PlayerMonFromBall(struct Sprite *sprite);
|
||||
void sub_8039E60(struct Sprite *sprite);
|
||||
void sub_8039E84(struct Sprite *sprite);
|
||||
void sub_8039E9C(struct Sprite *sprite);
|
||||
|
||||
33
include/confetti_util.h
Normal file
33
include/confetti_util.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef GUARD_CONFETTI_UTIL_H
|
||||
#define GUARD_CONFETTI_UTIL_H
|
||||
|
||||
struct ConfettiUtil
|
||||
{
|
||||
struct OamData oam;
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 xDelta;
|
||||
s16 yDelta;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
u16 tileNum;
|
||||
u8 id;
|
||||
u8 filler;
|
||||
u8 animNum;
|
||||
u8 active:1;
|
||||
u8 allowUpdates:1;
|
||||
u8 dummied:1;
|
||||
u8 priority:2;
|
||||
s16 data[8];
|
||||
void (*callback)(struct ConfettiUtil *);
|
||||
};
|
||||
|
||||
bool32 ConfettiUtil_Init(u8 count);
|
||||
bool32 ConfettiUtil_Free(void);
|
||||
bool32 ConfettiUtil_Update(void);
|
||||
u8 ConfettiUtil_SetCallback(u8 id, void (*func)(struct ConfettiUtil *));
|
||||
u8 ConfettiUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue);
|
||||
u8 ConfettiUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority);
|
||||
u8 ConfettiUtil_Remove(u8 id);
|
||||
|
||||
#endif // GUARD_CONFETTI_UTIL_H
|
||||
@@ -29,6 +29,23 @@
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
#define CONTEST_WINNER_ARTIST 0 // Winner shown by the artist, painting not necessarily saved
|
||||
#define CONTEST_WINNER_HALL_1 1
|
||||
#define CONTEST_WINNER_HALL_2 2
|
||||
#define CONTEST_WINNER_HALL_3 3
|
||||
#define CONTEST_WINNER_HALL_4 4
|
||||
#define CONTEST_WINNER_HALL_5 5
|
||||
#define CONTEST_WINNER_HALL_6 6
|
||||
#define NUM_CONTEST_HALL_WINNERS 6
|
||||
#define CONTEST_WINNER_7 7
|
||||
#define CONTEST_WINNER_8 8
|
||||
#define CONTEST_WINNER_MUSEUM_COOL 9
|
||||
#define CONTEST_WINNER_MUSEUM_BEAUTY 10
|
||||
#define CONTEST_WINNER_MUSEUM_CUTE 11
|
||||
#define CONTEST_WINNER_MUSEUM_SMART 12
|
||||
#define CONTEST_WINNER_MUSEUM_TOUGH 13
|
||||
// NUM_CONTEST_WINNERS in constants/global.h
|
||||
|
||||
#define CANT_ENTER_CONTEST 0
|
||||
#define CAN_ENTER_CONTEST_EQUAL_RANK 1
|
||||
#define CAN_ENTER_CONTEST_HIGH_RANK 2
|
||||
|
||||
@@ -75,4 +75,9 @@
|
||||
#define FANCLUB_MEMBER7 14
|
||||
#define FANCLUB_MEMBER8 15
|
||||
|
||||
#define FANCOUNTER_DEFEATED_DRAKE 0
|
||||
#define FANCOUNTER_BATTLED_AT_BASE 1
|
||||
#define FANCOUNTER_FINISHED_CONTEST 2
|
||||
#define FANCOUNTER_USED_BATTLE_TOWER 3
|
||||
|
||||
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H
|
||||
|
||||
@@ -1573,7 +1573,9 @@
|
||||
#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag
|
||||
|
||||
// Daily Flags
|
||||
#define DAILY_FLAGS_START 0x920
|
||||
// These flags are cleared once per day
|
||||
// The start and end are byte-aligned because the flags are cleared in byte increments
|
||||
#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + (8 - FLAG_UNUSED_0x91F % 8))
|
||||
#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag
|
||||
#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1)
|
||||
#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2)
|
||||
@@ -1639,7 +1641,9 @@
|
||||
#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag
|
||||
#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag
|
||||
#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag
|
||||
#define DAILY_FLAGS_END FLAG_UNUSED_0x95F
|
||||
#define DAILY_FLAGS_END (FLAG_UNUSED_0x95F + (7 - FLAG_UNUSED_0x95F % 8))
|
||||
|
||||
#define FLAGS_COUNT (DAILY_FLAGS_END + 1)
|
||||
|
||||
// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock)
|
||||
#define SPECIAL_FLAGS_START 0x4000
|
||||
|
||||
@@ -34,8 +34,6 @@
|
||||
#define POKEBLOCKS_COUNT 40
|
||||
#define OBJECT_EVENTS_COUNT 16
|
||||
#define BERRY_TREES_COUNT 128
|
||||
#define FLAGS_COUNT 300
|
||||
#define VARS_COUNT 256
|
||||
#define MAIL_COUNT 16
|
||||
#define SECRET_BASES_COUNT 20
|
||||
#define TV_SHOWS_COUNT 25
|
||||
@@ -52,6 +50,7 @@
|
||||
#define APPRENTICE_COUNT 4
|
||||
#define APPRENTICE_MAX_QUESTIONS 9
|
||||
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
|
||||
#define NUM_CONTEST_WINNERS 13
|
||||
#define UNION_ROOM_KB_ROW_COUNT 10
|
||||
|
||||
#define PYRAMID_BAG_ITEMS_COUNT 10
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
#define ITEM_LUXURY_BALL 11
|
||||
#define ITEM_PREMIER_BALL 12
|
||||
|
||||
#define LAST_BALL ITEM_PREMIER_BALL
|
||||
|
||||
// Pokemon Items
|
||||
#define ITEM_POTION 13
|
||||
#define ITEM_ANTIDOTE 14
|
||||
|
||||
@@ -859,6 +859,7 @@
|
||||
|
||||
// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows
|
||||
// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled
|
||||
// MAX_TRAINERS_COUNT can be increased but will take up additional saveblock space
|
||||
|
||||
#define TRAINERS_COUNT 855
|
||||
#define MAX_TRAINERS_COUNT 864
|
||||
|
||||
@@ -274,6 +274,7 @@
|
||||
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
|
||||
|
||||
#define VARS_END 0x40FF
|
||||
#define VARS_COUNT (VARS_END - VARS_START + 1)
|
||||
|
||||
#define SPECIAL_VARS_START 0x8000
|
||||
// special vars
|
||||
|
||||
@@ -430,9 +430,9 @@ struct ContestResources
|
||||
|
||||
extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonConditions[CONTESTANT_COUNT];
|
||||
extern s16 gUnknown_02039F08[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonTotalPoints[CONTESTANT_COUNT];
|
||||
extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
|
||||
extern s16 gUnknown_02039F18[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonRound2Points[CONTESTANT_COUNT];
|
||||
extern u8 gContestFinalStandings[CONTESTANT_COUNT];
|
||||
extern u8 gContestMonPartyIndex;
|
||||
extern u8 gContestPlayerMonIndex;
|
||||
@@ -448,7 +448,6 @@ extern u8 sContestBgCopyFlags;
|
||||
extern struct ContestWinner gCurContestWinner;
|
||||
extern u8 gUnknown_02039F5C;
|
||||
extern u8 gUnknown_02039F5D;
|
||||
|
||||
extern u32 gContestRngValue;
|
||||
|
||||
// contest.c
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef GUARD_CONTEST_LINK_80FC4F4_H
|
||||
#define GUARD_CONTEST_LINK_80FC4F4_H
|
||||
#ifndef GUARD_CONTEST_LINK_H
|
||||
#define GUARD_CONTEST_LINK_H
|
||||
|
||||
void sub_80FCC88(u8);
|
||||
void sub_80FCC88(u8);
|
||||
@@ -10,4 +10,4 @@ void sub_80FC804(u8);
|
||||
void sub_80FCE48(u8);
|
||||
void sub_80FC894(u8);
|
||||
|
||||
#endif //GUARD_CONTEST_LINK_80FC4F4_H
|
||||
#endif //GUARD_CONTEST_LINK_H
|
||||
@@ -1,12 +1,12 @@
|
||||
#ifndef GUARD_CONTEST_LINK_80F57C4_H
|
||||
#define GUARD_CONTEST_LINK_80F57C4_H
|
||||
#ifndef GUARD_CONTEST_UTIL_H
|
||||
#define GUARD_CONTEST_UTIL_H
|
||||
|
||||
void BufferContestantTrainerName(void);
|
||||
void BufferContestantMonNickname(void);
|
||||
void StartContest(void);
|
||||
void BufferContestantMonSpecies(void);
|
||||
void sub_80F8484(void);
|
||||
void sub_80F84C4(u8);
|
||||
void ShowContestResults(void);
|
||||
void ContestLinkTransfer(u8);
|
||||
void sub_80FC998(u8 taskId);
|
||||
|
||||
#endif // GUARD_CONTEST_LINK_80F57C4_H
|
||||
#endif // GUARD_CONTEST_UTIL_H
|
||||
@@ -1,9 +1,6 @@
|
||||
#ifndef GUARD_EVENT_DATA_H
|
||||
#define GUARD_EVENT_DATA_H
|
||||
|
||||
#include "constants/flags.h"
|
||||
#include "constants/vars.h"
|
||||
|
||||
void InitEventData(void);
|
||||
void ClearTempFieldEventData(void);
|
||||
void ClearDailyFlags(void);
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines.
|
||||
#include "gba/gba.h"
|
||||
#include "constants/global.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/vars.h"
|
||||
|
||||
// Prevent cross-jump optimization.
|
||||
#define BLOCK_CROSS_JUMP asm("");
|
||||
@@ -109,6 +111,11 @@
|
||||
f; \
|
||||
})
|
||||
|
||||
#define ROUND_BITS_TO_BYTES(numBits)(((numBits) / 8) + (((numBits) % 8) ? 1 : 0))
|
||||
|
||||
#define DEX_FLAGS_NO (ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER))
|
||||
#define NUM_FLAG_BYTES (ROUND_BITS_TO_BYTES(FLAGS_COUNT))
|
||||
|
||||
struct Coords8
|
||||
{
|
||||
s8 x;
|
||||
@@ -153,8 +160,6 @@ struct Time
|
||||
/*0x04*/ s8 seconds;
|
||||
};
|
||||
|
||||
#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
|
||||
|
||||
struct Pokedex
|
||||
{
|
||||
/*0x00*/ u8 order;
|
||||
@@ -923,7 +928,7 @@ struct SaveBlock1
|
||||
/*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES];
|
||||
/*0xA30*/ struct ObjectEvent objectEvents[OBJECT_EVENTS_COUNT];
|
||||
/*0xC70*/ struct ObjectEventTemplate objectEventTemplates[OBJECT_EVENT_TEMPLATES_COUNT];
|
||||
/*0x1270*/ u8 flags[FLAGS_COUNT];
|
||||
/*0x1270*/ u8 flags[NUM_FLAG_BYTES];
|
||||
/*0x139C*/ u16 vars[VARS_COUNT];
|
||||
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
|
||||
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
|
||||
@@ -960,7 +965,7 @@ struct SaveBlock1
|
||||
/*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
|
||||
/*0x2E28*/ OldMan oldMan;
|
||||
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
|
||||
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
|
||||
/*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_*
|
||||
/*0x3030*/ struct DayCare daycare;
|
||||
/*0x3150*/ struct LinkBattleRecords linkBattleRecords;
|
||||
/*0x31A8*/ u8 giftRibbons[52];
|
||||
|
||||
@@ -4082,8 +4082,8 @@ extern const u8 gNamingScreenUnderscoreTiles[];
|
||||
|
||||
extern const u32 gUnknown_08D9BA44[];
|
||||
|
||||
extern const u32 gContestConfetti_Gfx[];
|
||||
extern const u32 gContestConfetti_Pal[];
|
||||
extern const u32 gConfetti_Gfx[];
|
||||
extern const u32 gConfetti_Pal[];
|
||||
|
||||
extern const u32 gUnknown_08C093F0[];
|
||||
extern const u32 gSubstituteDollTilemap[];
|
||||
@@ -4927,23 +4927,23 @@ extern const u32 gRouletteCreditTiles[];
|
||||
extern const u32 gRouletteNumbersTiles[];
|
||||
extern const u32 gRouletteMultiplierTiles[];
|
||||
|
||||
// Contest Link
|
||||
extern const u32 gUnknown_08C19588[];
|
||||
// Contest util
|
||||
extern const u32 gContestResults_Gfx[];
|
||||
extern const u32 gUnknown_08C19EEC[];
|
||||
extern const u32 gUnknown_08C1A000[];
|
||||
extern const u32 gUnknown_08C1A12C[];
|
||||
extern const u32 gUnknown_08C1A2B4[];
|
||||
extern const u16 gUnknown_08DC6498[];
|
||||
extern const u16 gUnknown_08DC63F8[];
|
||||
extern const u16 gUnknown_08DC6420[];
|
||||
extern const u16 gUnknown_08DC6448[];
|
||||
extern const u16 gUnknown_08DC6470[];
|
||||
extern const u16 gUnknown_08DC64AC[];
|
||||
extern const u16 gUnknown_08DC64C0[];
|
||||
extern const u16 gUnknown_08DC64D4[];
|
||||
extern const u16 gUnknown_08DC64E8[];
|
||||
extern const u16 gUnknown_08DC64FC[];
|
||||
extern const u16 gUnknown_08DC6510[];
|
||||
extern const u32 gContestResults_Pal[];
|
||||
extern const u16 gLinkContestResults_Tilemap[];
|
||||
extern const u16 gNormalContestResults_Tilemap[];
|
||||
extern const u16 gSuperContestResults_Tilemap[];
|
||||
extern const u16 gHyperContestResults_Tilemap[];
|
||||
extern const u16 gMasterContestResults_Tilemap[];
|
||||
extern const u16 gCoolContestResults_Tilemap[];
|
||||
extern const u16 gBeautyContestResults_Tilemap[];
|
||||
extern const u16 gCuteContestResults_Tilemap[];
|
||||
extern const u16 gSmartContestResults_Tilemap[];
|
||||
extern const u16 gToughContestResults_Tilemap[];
|
||||
extern const u16 gContestResults_Tilemap[];
|
||||
|
||||
// Trainer Card.
|
||||
extern const u16 gHoennTrainerCard0Star_Pal[];
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
void CB2_DoHallOfFameScreen(void);
|
||||
void CB2_DoHallOfFameScreenDontSaveData(void);
|
||||
void CB2_DoHallOfFamePC(void);
|
||||
void DoConfettiEffect(void);
|
||||
|
||||
// hof_pc.c
|
||||
void ReturnFromHallOfFamePC(void);
|
||||
|
||||
@@ -52,10 +52,7 @@ struct BagMenuStruct
|
||||
void (*exitCallback)(void);
|
||||
u8 tilemapBuffer[0x800];
|
||||
u8 spriteId[12];
|
||||
u8 windowPointers[7];
|
||||
u8 unk817;
|
||||
u8 unk818;
|
||||
u8 unk819;
|
||||
u8 windowPointers[10];
|
||||
u8 itemOriginalLocation;
|
||||
u8 pocketSwitchDisabled:4;
|
||||
u8 itemIconSlot:2;
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
#ifndef GUARD_ROM_81520A8_H
|
||||
#define GUARD_ROM_81520A8_H
|
||||
|
||||
struct UnkStruct_81520A8
|
||||
{
|
||||
struct OamData oam;
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 xDelta;
|
||||
s16 yDelta;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
u16 tileNum;
|
||||
u8 id;
|
||||
u8 filler17; // Unused.
|
||||
u8 unk18;
|
||||
u8 unk19_0:1;
|
||||
u8 unk19_1:1;
|
||||
u8 unk19_2:1;
|
||||
u8 priority:2;
|
||||
s16 data[8];
|
||||
void (*callback)(struct UnkStruct_81520A8 *);
|
||||
};
|
||||
|
||||
bool32 sub_81521C0(u8 count);
|
||||
bool32 sub_8152254(void);
|
||||
bool32 sub_81522D4(void);
|
||||
u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *));
|
||||
u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue);
|
||||
u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority);
|
||||
u8 sub_81525D0(u8 id);
|
||||
|
||||
#endif // GUARD_ROM_81520A8_H
|
||||
@@ -2494,7 +2494,7 @@ extern const u8 gText_CommunicationStandby[];
|
||||
extern const u8 gText_AnnouncingResults[];
|
||||
extern const u8 gText_PreliminaryResults[];
|
||||
extern const u8 gText_Round2Results[];
|
||||
extern const u8 gText_Var1sVar2Won[];
|
||||
extern const u8 gText_ContestantsMonWon[];
|
||||
|
||||
// Trainer Card
|
||||
extern const u8 gText_LinkCableBattles[];
|
||||
|
||||
Reference in New Issue
Block a user