WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions .clangd
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
Diagnostics:
ClangTidy:
FastCheckFilter: None
---
If:
PathMatch: (src|include)/.*.[ch]
Diagnostics:
UnusedIncludes: None
MissingIncludes: None
CompileFlags:
Add:
- "--target=arm"
- "-mcpu=arm7tdmi"
- "-mthumb"
- "-mabi=apcs-gnu"
- "-mtune=arm7tdmi"
- "-march=armv4t"
- "-Iinclude"
- "-I../include"
- "-I../../include"
- "-DCLANGD=1"
- "-DMODERN=1"
- "--verbose"
- "-isysroot../tools/agbcc/include"
- "-isystem../tools/agbcc/include"
- "-isystem../../tools/agbcc/include"
- "-isystem../../../tools/agbcc/include"
- "-resource-dir=../tools/agbcc/include"
- "-Wno-gnu-alignof-expression"
- "-Wno-gnu-folding-constant"
- "-Wno-single-bit-bitfield-constant-conversion"
- "-Wno-trigraphs"
---
If:
PathMatch:
- (src|include)/[^/]+.[ch]
- (src|include)/data/.*.[ch]
Diagnostics:
UnusedIncludes: None
MissingIncludes: None
CompileFlags:
Add:
- "-includeglobal.h"
---
If:
PathMatch: ".*\\.h$"
CompileFlags:
Add:
- "-xc-header"
---
If:
PathMatch: src/data/.*.h
CompileFlags:
Add:
- "-iquote../../../include"
# these need an explicit path because there are other files with the ssame name
- "-include../../../include/trainer_hill.h"
- "-include../include/apprentice.h"
- "-include../include/battle_anim.h"
- "-include../include/data.h"
- "-include../include/union_room.h"
- "-include../include/wild_encounter.h"
- "-include../text/item_descriptions.h"
- "-include./metatiles.h"
- "-include./tiles.h"
- "-includebard_music.h"
- "-includebattle_pyramid.h"
- "-includebattle_tower.h"
- "-includebattle.h"
- "-includeconstants/abilities.h"
- "-includeconstants/apprentice.h"
- "-includeconstants/battle_ai.h"
- "-includeconstants/battle_anim.h"
- "-includeconstants/battle_frontier_mons.h"
- "-includeconstants/battle_frontier.h"
- "-includeconstants/battle_move_effects.h"
- "-includeconstants/battle_pyramid.h"
- "-includeconstants/battle_tent_mons.h"
- "-includeconstants/battle_tent_trainers.h"
- "-includeconstants/contest.h"
- "-includeconstants/decorations.h"
- "-includeconstants/easy_chat.h"
- "-includeconstants/event_object_movement.h"
- "-includeconstants/event_objects.h"
- "-includeconstants/field_effects.h"
- "-includeconstants/heal_locations.h"
- "-includeconstants/hold_effects.h"
- "-includeconstants/item_effects.h"
- "-includeconstants/item.h"
- "-includeconstants/items.h"
- "-includeconstants/mauville_old_man.h"
- "-includeconstants/metatile_labels.h"
- "-includeconstants/moves.h"
- "-includeconstants/party_menu.h"
- "-includeconstants/region_map_sections.h"
- "-includeconstants/rgb.h"
- "-includeconstants/script_menu.h"
- "-includeconstants/songs.h"
- "-includeconstants/tms_hms.h"
- "-includeconstants/trade.h"
- "-includeconstants/trainers.h"
- "-includeconstants/union_room.h"
- "-includecontest_effect.h"
- "-includecontest.h"
- "-includedata.h"
- "-includedata/item.h"
- "-includedecoration.h"
- "-includeeasy_chat.h"
- "-includeevent_object_movement.h"
- "-includefield_effect_helpers.h"
- "-includefield_effect.h"
- "-includefieldmap.h"
- "-includegraphics.h"
- "-includeheal_location.h"
- "-includeitem_use.h"
- "-includeitem.h"
- "-includelink_rfu.h"
- "-includelist_menu.h"
- "-includemenu.h"
- "-includepokedex_area_screen.h"
- "-includepokenav.h"
- "-includeregion_map.h"
- "-includesprite.h"
- "-includestrings.h"
- "-includetileset_anims.h"
- "-includetilesets.h"
---
If:
PathMatch: src/data/decoration/(header).h
CompileFlags:
Add:
- "-include./description.h"
2 changes: 2 additions & 0 deletions include/AgbRfu_LinkManager.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef GUARD_LINKMANAGER_H
#define GUARD_LINKMANAGER_H

#include "librfu.h"

//-----------------------------------------------------------------
// Constant definition
//-----------------------------------------------------------------
Expand Down
27 changes: 27 additions & 0 deletions include/apprentice.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,31 @@ void ResetAllApprenticeData(void);
void CallApprenticeFunction(void);
const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language);

static void Script_GivenApprenticeLvlMode(void);
static void Script_SetApprenticeLvlMode(void);
static void Script_SetApprenticeId(void);
static void ShuffleApprenticeSpecies(void);
static void Script_SetRandomQuestionData(void);
static void IncrementQuestionsAnswered(void);
static void IsFinalQuestion(void);
static void Script_CreateApprenticeMenu(void);
static void Script_PrintApprenticeMessage(void);
static void Script_ResetPlayerApprentice(void);
static void GetShouldCheckApprenticeGone(void);
static void ApprenticeGetQuestion(void);
static void GetNumApprenticePartyMonsAssigned(void);
static void SetApprenticePartyMon(void);
static void InitQuestionData(void);
static void FreeQuestionData(void);
static void ApprenticeBufferString(void);
static void SetApprenticeMonMove(void);
static void SetLeadApprenticeMon(void);
static void Script_ApprenticeOpenBagMenu(void);
static void TrySetApprenticeHeldItem(void);
static void SaveApprentice(void);
static void SetSavedApprenticeTrainerGfxId(void);
static void SetPlayerApprenticeTrainerGfxId(void);
static void GetShouldApprenticeLeave(void);
static void ShiftSavedApprentices(void);

#endif // GUARD_APPRENTICE_H
6 changes: 6 additions & 0 deletions include/bard_music.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
#ifndef GUARD_BARD_MUSIC_H
#define GUARD_BARD_MUSIC_H

// Indicates that the previous sound should be held.
#define PREV_BARD_SOUND {.songId = NUM_PHONEME_SONGS}

// Invalid sound, indicates the end of the sounds for the word.
#define NULL_BARD_SOUND {.songId = PHONEME_ID_NONE}

// The maximum number of BardSoundTemplates/BardSounds there can be for each easy chat word.
#define MAX_BARD_SOUNDS_PER_WORD 6

Expand Down
2 changes: 1 addition & 1 deletion include/battle.h
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER
#define GET_STAT_BUFF_ID(n) ((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
#define GET_STAT_BUFF_VALUE2(n) ((n & 0xF0))
#define GET_STAT_BUFF_VALUE(n) (((n >> 4) & 7)) // 0x10, 0x20, 0x40
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
#define STAT_BUFF_NEGATIVE (0x80) // 0x80, the sign bit

#define SET_STAT_BUFF_VALUE(n) ((((n) << 4) & 0xF0))

Expand Down
22 changes: 17 additions & 5 deletions include/battle_anim.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#define GUARD_BATTLE_ANIM_H

#include "battle.h"
#include "constants/battle.h"
#include "constants/battle_anim.h"
#include "task.h"

Expand Down Expand Up @@ -44,11 +45,22 @@ extern s32 gAnimMoveDmg;
extern u16 gAnimMovePower;
extern u8 gAnimFriendship;
extern u16 gWeatherMoveAnim;
extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT];
extern u8 gAnimMoveTurn;
extern u8 gBattleAnimAttacker;
extern u8 gBattleAnimTarget;
extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
typedef union {
struct {
s16 gBattleAnimArgs[ANIM_ARGS_COUNT];
u8 gAnimMoveTurn;
u8 gBattleAnimAttacker;
u8 gBattleAnimTarget;
u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
} normal;
s16 gBattleAnimArgsOverflow[(2 * ANIM_ARGS_COUNT + 1 + 1 + 1 + 2 * MAX_BATTLERS_COUNT) / 2];
} BattleAnimArgsOOBAccess;
extern BattleAnimArgsOOBAccess gBattleAnimArgsOOBAccess;
#define gBattleAnimArgs gBattleAnimArgsOOBAccess.normal.gBattleAnimArgs
#define gAnimMoveTurn gBattleAnimArgsOOBAccess.normal.gAnimMoveTurn
#define gBattleAnimAttacker gBattleAnimArgsOOBAccess.normal.gBattleAnimAttacker
#define gBattleAnimTarget gBattleAnimArgsOOBAccess.normal.gBattleAnimTarget
#define gAnimBattlerSpecies gBattleAnimArgsOOBAccess.normal.gAnimBattlerSpecies
extern u8 gAnimCustomPanning;

void ClearBattleAnimationVars(void);
Expand Down
2 changes: 2 additions & 0 deletions include/battle_controllers.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef GUARD_BATTLE_CONTROLLERS_H
#define GUARD_BATTLE_CONTROLLERS_H

#include "battle.h"

enum {
REQUEST_ALL_BATTLE,
REQUEST_SPECIES_BATTLE,
Expand Down
2 changes: 2 additions & 0 deletions include/battle_message.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef GUARD_BATTLE_MESSAGE_H
#define GUARD_BATTLE_MESSAGE_H

#include "constants/battle.h"

// This buffer can hold many different things. Some of the things it can hold
// that have explicit sizes are listed below to ensure it can contain them.
#define TEXT_BUFF_ARRAY_COUNT max(16, \
Expand Down
10 changes: 10 additions & 0 deletions include/battle_pyramid.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
#ifndef GUARD_BATTLE_PYRAMID_H
#define GUARD_BATTLE_PYRAMID_H

// Const rom data.
#define ABILITY_RANDOM 2 // For wild mons data.

struct PyramidWildMon {
u16 species;
u8 lvl;
u8 abilityNum;
u16 moves[MAX_MON_MOVES];
};

void CallBattlePyramidFunction(void);
u16 LocalIdToPyramidTrainerId(u8 localId);
bool8 GetBattlePyramidTrainerFlag(u8 eventId);
Expand Down
2 changes: 2 additions & 0 deletions include/battle_tv.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef GUARD_BATTLE_TV_H
#define GUARD_BATTLE_TV_H

#include "battle.h"

void BattleTv_SetDataBasedOnString(u16 stringId);
void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr);
void BattleTv_SetDataBasedOnAnimation(u8 animationId);
Expand Down
45 changes: 45 additions & 0 deletions include/contest_effect.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,51 @@
#ifndef GUARD_CONTEST_EFFECT_H
#define GUARD_CONTEST_EFFECT_H

static void ContestEffect_HighlyAppealing(void);
static void ContestEffect_UserMoreEasilyStartled(void);
static void ContestEffect_GreatAppealButNoMoreMoves(void);
static void ContestEffect_RepetitionNotBoring(void);
static void ContestEffect_AvoidStartleOnce(void);
static void ContestEffect_AvoidStartle(void);
static void ContestEffect_AvoidStartleSlightly(void);
static void ContestEffect_UserLessEasilyStartled(void);
static void ContestEffect_StartleFrontMon(void);
static void ContestEffect_StartlePrevMons(void);
static void ContestEffect_StartlePrevMon2(void);
static void ContestEffect_StartlePrevMons2(void);
static void ContestEffect_ShiftJudgeAttention(void);
static void ContestEffect_StartleMonWithJudgesAttention(void);
static void ContestEffect_JamsOthersButMissOneTurn(void);
static void ContestEffect_StartleMonsSameTypeAppeal(void);
static void ContestEffect_StartleMonsCoolAppeal(void);
static void ContestEffect_StartleMonsBeautyAppeal(void);
static void ContestEffect_StartleMonsCuteAppeal(void);
static void ContestEffect_StartleMonsSmartAppeal(void);
static void ContestEffect_StartleMonsToughAppeal(void);
static void ContestEffect_MakeFollowingMonNervous(void);
static void ContestEffect_MakeFollowingMonsNervous(void);
static void ContestEffect_WorsenConditionOfPrevMons(void);
static void ContestEffect_BadlyStartlesMonsInGoodCondition(void);
static void ContestEffect_BetterIfFirst(void);
static void ContestEffect_BetterIfLast(void);
static void ContestEffect_AppealAsGoodAsPrevOnes(void);
static void ContestEffect_AppealAsGoodAsPrevOne(void);
static void ContestEffect_BetterWhenLater(void);
static void ContestEffect_QualityDependsOnTiming(void);
static void ContestEffect_BetterIfSameType(void);
static void ContestEffect_BetterIfDiffType(void);
static void ContestEffect_AffectedByPrevAppeal(void);
static void ContestEffect_ImproveConditionPreventNervousness(void);
static void ContestEffect_BetterWithGoodCondition(void);
static void ContestEffect_NextAppealEarlier(void);
static void ContestEffect_NextAppealLater(void);
static void ContestEffect_MakeScramblingTurnOrderEasier(void);
static void ContestEffect_ScrambleNextTurnOrder(void);
static void ContestEffect_ExciteAudienceInAnyContest(void);
static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void);
static void ContestEffect_BetterWhenAudienceExcited(void);
static void ContestEffect_DontExciteAudience(void);

struct ContestMove
{
u8 effect;
Expand Down
23 changes: 15 additions & 8 deletions include/data.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

#include "constants/moves.h"

#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, MON_PIC_SIZE, SPECIES_##species}
#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species}
#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG}

#define SPECIES_SHINY_TAG 500

#define MAX_TRAINER_ITEMS 4
Expand Down Expand Up @@ -100,14 +104,14 @@ extern const struct SpriteFrameImage gBattlerPicTable_PlayerLeft[];
extern const struct SpriteFrameImage gBattlerPicTable_OpponentLeft[];
extern const struct SpriteFrameImage gBattlerPicTable_PlayerRight[];
extern const struct SpriteFrameImage gBattlerPicTable_OpponentRight[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[];
extern const struct SpriteFrameImage gTrainerBackPicTable_May[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[];
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[];
extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[4];
extern const struct SpriteFrameImage gTrainerBackPicTable_May[4];
extern const struct SpriteFrameImage gTrainerBackPicTable_Red[5];
extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[5];
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[4];
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[4];
extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[4];
extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[4];

extern const union AffineAnimCmd *const gAffineAnims_BattleSpritePlayerSide[];
extern const union AffineAnimCmd *const gAffineAnims_BattleSpriteOpponentSide[];
Expand Down Expand Up @@ -139,4 +143,7 @@ extern const u8 gTrainerClassNames[][13];
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];

extern const union AnimCmd sAnim_GeneralFrame0[];
extern const union AnimCmd sAnim_GeneralFrame3[];

#endif // GUARD_DATA_H
Loading