diff options
author | Cameron Hall <cameronghall@cox.net> | 2019-08-01 20:02:32 -0500 |
---|---|---|
committer | Cameron Hall <cameronghall@cox.net> | 2019-08-01 20:02:32 -0500 |
commit | 3878495887f2693c810228694b417f4e4d954476 (patch) | |
tree | 3520f05e949c598b7466c24c4e7b1339bef65120 | |
parent | c427a4af00fa46f33f7167977ea834218c37cfa8 (diff) |
move all externs to header files
-rw-r--r-- | graphics/intro/copyright.pal | 518 | ||||
-rw-r--r-- | include/functions.h | 922 | ||||
-rwxr-xr-x | include/global.h | 7 | ||||
-rwxr-xr-x | include/m4a.h | 2 | ||||
-rwxr-xr-x | include/main.h | 44 | ||||
-rw-r--r-- | include/types.h | 37 | ||||
-rw-r--r-- | include/variables.h | 167 | ||||
-rwxr-xr-x | src/gbplayer.c | 12 | ||||
-rwxr-xr-x | src/main.c | 12 | ||||
-rwxr-xr-x | src/rom_850.c | 10 | ||||
-rwxr-xr-x | src/titlescreen.c | 41 | ||||
-rwxr-xr-x | src/util.c | 3 |
12 files changed, 1401 insertions, 374 deletions
diff --git a/graphics/intro/copyright.pal b/graphics/intro/copyright.pal index e9172c2..e1d2963 100644 --- a/graphics/intro/copyright.pal +++ b/graphics/intro/copyright.pal @@ -1,259 +1,259 @@ -JASC-PAL
-0100
-256
-224 248 224
-248 248 248
-192 192 192
-128 128 128
-64 64 64
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
+JASC-PAL +0100 +256 +224 248 224 +248 248 248 +192 192 192 +128 128 128 +64 64 64 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/include/functions.h b/include/functions.h new file mode 100644 index 0000000..ae6c8c8 --- /dev/null +++ b/include/functions.h @@ -0,0 +1,922 @@ +#ifndef GUARD_FUNCTIONS_H +#define GUARD_FUNCTIONS_H + +// Place all external function declarations in this file + +// src/gbplayer.c + +void InitGameBoyPlayer(void); +void sub_10C0(void); +void sub_111C(void); +int sub_1170(void); +void sub_1198(void); +void sub_11B0(int arg0); +void sub_11E4(int arg0); +void sub_11F0(int arg0); +void sub_11FC(void); +void sub_1340(void); + +// src/m4a_2.c + +/* +u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust); +void UnusedDummyFunc(); +void MPlayContinue(struct MusicPlayerInfo *mplayInfo); +void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aSoundInit(void); +void m4aSoundMain(void); +void m4aSongNumStart(u16 n); +void m4aSongNumStartOrChange(u16 n); +void m4aSongNumStartOrContinue(u16 n); +void m4aSongNumStop(u16 n); +void m4aSongNumContinue(u16 n); +void m4aMPlayAllStop(void); +void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); +void m4aMPlayAllContinue(void); +void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); +void MPlayExtender(struct CgbChannel *cgbChans); +void MusicPlayerJumpTableCopy(void); +void ClearChain(void *x); +void Clear64byte(void *x); +void SoundInit(struct SoundInfo *soundInfo); +void SampleFreqSet(u32 freq); +void m4aSoundMode(u32 mode); +void SoundClear(void); +void m4aSoundVSyncOff(void); +void m4aSoundVSyncOn(void); +void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tracks, u8 trackCount); +void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader); +void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo); +void FadeOutBody(struct MusicPlayerInfo *mplayInfo); +void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +u32 MidiKeyToCgbFreq(u8 chanNum, u8 key, u8 fineAdjust); +void CgbOscOff(u8 chanNum); +void CgbModVol(struct CgbChannel *chan); + +// src/m4a_4.c + +void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo); +void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); +void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch); +void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan); +void ClearModM(struct MusicPlayerTrack *track); +void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth); +void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed); +void ply_memacc(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xcmd(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xxx(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xwave(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xtype(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xatta(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xdeca(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xsust(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xrele(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xiecv(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xiecl(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xleng(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track); +void DummyFunc(void); +void SetPokemonCryVolume(u8 val); +void SetPokemonCryPanpot(s8 val); +void SetPokemonCryPitch(s16 val); +void SetPokemonCryLength(u16 val); +void SetPokemonCryRelease(u8 val); +void SetPokemonCryProgress(u32 val); +int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo); +void SetPokemonCryChorus(s8 val); +void SetPokemonCryStereo(u32 val); +void SetPokemonCryPriority(u8 val); +*/ + +// src/main.c + +void AgbMain(void); +void sub_9BC_Main(void); +void HBlankIntr(void); +void VCountIntr(void); +void SerialIntr(void); +void Timer3Intr(void); +void IntrDummy(void); +u32 Random(void); +s16 sub_C24(u16 arg0); +s16 sub_C24(u16 arg0); +s16 sub_C74(u16 arg0); +void sub_CBC(void); +void sub_D10(void); +void sub_D74(void); +void sub_DC4(void); + +// src/rom_3219C.c + +void sub_3219C(void); +void sub_3219C(void); + +// src/rom_850.c + +u16 sub_850(void); +void sub_898(void (*func)(void)); +void sub_8BC(void); +void sub_8D4(void (*func)(void)); +void sub_8FC(void); +void sub_918(void (*func)(void)); +void sub_940(void); + +// src/titlescreen.c + +void TitlescreenMain(void); +void LoadTitlescreenGraphics(void); +void sub_10AC0(void); +void sub_10BB8(void); +void sub_10CF0(void); +void sub_10D84(void); +void sub_10E00(void); +void sub_10EF4(void); +void sub_11020(void); +void sub_110FC(void); +void sub_11228(void); +void sub_11320(void); +void sub_11428(void); +void sub_114B4(void); + +// src/util.c + +void SetMainGameState(u16 mainState); +void sub_24C(void); +void sub_2B4(void); +s16 LoadSpriteSets(const struct SpriteSet *const *spriteSets, u16 numSpriteSets, struct SpriteGroup *spriteGroups); +void sub_438(void); +void sub_490(void); +void sub_518(void); +void sub_578(void); +void sub_678(u8 *arg0, s16 arg1, s16 arg2); +void SetMatrixScale(s16 xScale, s16 yScale, s16 matrixNum); + +// asm/bonus_field_select.s + +//extern ? BonusFieldSelectMain(); +//extern ? sub_25C4(); +//extern ? sub_2710(); +//extern ? sub_2768(); +//extern ? sub_2990(); +//extern ? sub_29C8(); + +// asm/ereader.s + +//extern ? EReaderMain(); +//extern ? sub_2C78(); +//extern ? sub_2DF0(); +//extern ? sub_2E40(); +//extern ? sub_2FC0(); +//extern ? sub_304C(); +//extern ? sub_3208(); +//extern ? sub_33A0(); +//extern ? sub_343C(); +//extern ? sub_35C8(); +//extern ? sub_374C(); +//extern ? sub_377C(); +//extern ? sub_37B4(); +//extern ? sub_3828(); +//extern ? sub_38A0(); +//extern ? sub_38F0(); +//extern ? sub_394C(); +//extern ? sub_3AB4(); +//extern ? sub_3C1C(); +//extern ? sub_3C78(); +//extern ? sub_3CD8(); + +// asm/field_select.s + +//extern ? FieldSelectMain(); +//extern ? LoadFieldSelectGraphics(); +//extern ? sub_8C38(); +//extern ? sub_8C7C(); +//extern ? sub_8F64(); +//extern ? sub_8F94(); + +// asm/high_scores.s + +//extern ? HighScoresMain(); +//extern ? IdleHighScoresMain(); +//extern ? sub_CE88(); +//extern ? sub_CFD4(); +//extern ? sub_D20C(); +//extern ? sub_D308(); +//extern ? sub_D4B8(); +//extern ? sub_D664(); +//extern ? sub_D9F8(); +//extern ? sub_DA20(); +//extern ? sub_DB4C(); +//extern ? sub_DB70(); +//extern ? sub_DBF4(); +//extern ? sub_DCF0(); +//extern ? sub_DD4C(); +//extern ? sub_DD70(); +//extern ? sub_DEB4(); +//extern ? sub_DF68(); +//extern ? sub_E0C4(); +//extern ? sub_E0EC(); +//extern ? sub_E230(); +//extern ? sub_E390(); +//extern ? sub_E3A8(); +//extern ? sub_E464(); +//extern ? sub_E860(); +//extern ? sub_E908(); +//extern ? sub_E94C(); +//extern ? sub_E970(); +//extern ? sub_E994(); +//extern ? sub_EAC0(); +//extern ? sub_EBEC(); +//extern ? sub_ED28(); +//extern ? sub_EE64(); +//extern ? sub_F21C(); +//extern ? sub_F3BC(); +//extern ? sub_F3DC(); +//extern ? sub_F434(); +//extern ? sub_F4FC(); +//extern ? sub_F670(); +//extern ? sub_F6E0(); +//extern ? sub_F74C(); +//extern ? sub_F8B0(); +//extern ? sub_FAE8(); +//extern ? sub_FD20(); +extern void sub_FD5C(void (*func)(void)); +extern void sub_FE04(void (*func)(void)); +//extern ? sub_FEB8(); +//extern ? sub_FF74(); +//extern ? sub_1001C(); +//extern ? sub_10170(); +//extern ? sub_102A8(); +//extern ? sub_10424(); +//extern ? sub_10480(); +//extern ? sub_1050C(); +//extern ? sub_10528(); +//extern ? sub_10544(); +//extern ? sub_105A0(); +//extern ? sub_10618(); + +// asm/intro.s + +//extern ? IntroMain(); +//extern ? sub_929C(); +//extern ? sub_9348(); +//extern ? sub_9370(); +//extern ? sub_938C(); +//extern ? sub_93D0(); +//extern ? sub_93F8(); +//extern ? sub_9498(); +//extern ? sub_96A8(); +//extern ? sub_978C(); +//extern ? sub_9830(); +//extern ? sub_9878(); +//extern ? sub_98B4(); +//extern ? sub_9920(); +//extern ? sub_999C(); +//extern ? sub_9AB8(); +//extern ? nullsub_4(); +//extern ? sub_9C10(); +//extern ? nullsub_5(); +//extern ? nullsub_17(); +//extern ? sub_9C9C(); +//extern ? sub_9CB8(); +//extern ? sub_9D70(); +//extern ? sub_9E90(); +//extern ? sub_A154(); +//extern ? sub_A16C(); +//extern ? sub_A2A8(); +//extern ? nullsub_6(); +//extern ? sub_A2F0(); +//extern ? nullsub_7(); +//extern ? sub_A39C(); +//extern ? sub_A43C(); +//extern ? sub_A454(); +//extern ? sub_A628(); +//extern ? sub_A674(); +//extern ? sub_A710(); +//extern ? nullsub_8(); +//extern ? sub_A860(); +//extern ? sub_A87C(); +//extern ? sub_A950(); +//extern ? sub_A968(); +//extern ? sub_AAA8(); +//extern ? nullsub_9(); +//extern ? sub_AAF4(); +//extern ? nullsub_10(); +//extern ? sub_AB90(); +//extern ? sub_AC20(); +//extern ? sub_AC38(); +//extern ? sub_ADFC(); +//extern ? sub_AE74(); +//extern ? sub_AF80(); +//extern ? nullsub_11(); +//extern ? sub_B090(); +//extern ? sub_B0E8(); +//extern ? sub_B2E0(); +//extern ? sub_B2F8(); +//extern ? sub_B4A0(); +//extern ? sub_B560(); +//extern ? sub_B6C4(); +//extern ? sub_B7A0(); +//extern ? sub_B7F8(); +//extern ? sub_BA2C(); +//extern ? sub_BA3C(); +//extern ? sub_BBE0(); +//extern ? sub_BC54(); +//extern ? sub_BCE8(); +//extern ? sub_BDC0(); +//extern ? sub_BED0(); +//extern ? sub_C018(); +//extern ? sub_C0BC(); +//extern ? sub_C0D8(); +//extern ? sub_C210(); +//extern ? sub_C228(); +//extern ? sub_C2F0(); +//extern ? sub_C38C(); +//extern ? sub_C3D0(); +//extern ? sub_C450(); +//extern ? nullsub_12(); +//extern ? nullsub_13(); +//extern ? sub_C498(); +//extern ? sub_C4F0(); +//extern ? sub_C814(); +//extern ? sub_C948(); +//extern ? sub_CA28(); +//extern ? sub_CAA0(); +//extern ? sub_CB6C(); +//extern ? sub_CBA4(); +//extern ? nullsub_14(); +//extern ? sub_CC94(); +//extern ? sub_CCF8(); +//extern ? sub_CD18(); + +// asm/libagbsyscall.s + +//extern ? ArcTan2(); +//extern ? CpuSet(); +//extern ? LZ77UnCompWram(); +//extern ? RegisterRamReset(); +//extern ? Sqrt(); +//extern ? VBlankIntrWait(); + +// asm/m4a_1.s + +//extern ? umul3232H32(); +//extern ? SoundMain(); +//extern ? SoundMainRAM(); +//extern ? SoundMainBTM(); +//extern ? RealClearChain(); +//extern ? ply_fine(); +//extern ? MPlayJumpTableCopy(); +//extern ? ld_r3_tp_adr_i(); +//extern ? ply_goto(); +//extern ? ply_patt(); +//extern ? ply_pend(); +//extern ? ply_rept(); +//extern ? ply_prio(); +//extern ? ply_tempo(); +//extern ? ply_keysh(); +//extern ? ply_voice(); +//extern ? ply_vol(); +//extern ? ply_pan(); +//extern ? ply_bend(); +//extern ? ply_bendr(); +//extern ? ply_lfodl(); +//extern ? ply_modt(); +//extern ? ply_tune(); +//extern ? ply_port(); +//extern ? m4aSoundVSync(); +//extern ? MPlayMain(); +//extern ? TrackStop(); +//extern ? ChnVolSetAsm(); +//extern ? ply_note(); +//extern ? ply_endtie(); +//extern ? clear_modM(); +//extern ? ld_r3_tp_adr_i(); +//extern ? ply_lfos(); +//extern ? ply_mod(); + +// asm/m4a_3.s + +//extern ? CgbSound(); + +// asm/options.s + +//extern ? OptionsMain(); +//extern ? sub_51240(); +//extern ? sub_513B8(); +//extern ? sub_514B8(); +//extern ? sub_51C3C(); +//extern ? sub_51C60(); +//extern ? sub_51C9C(); +//extern ? sub_524BC(); +//extern ? sub_52528(); +//extern ? sub_525CC(); + +// asm/pokedex.s + +//extern ? PokedexMain(); +//extern ? sub_3DCC(); +//extern ? sub_3FAC(); +//extern ? sub_4150(); +//extern ? sub_43D4(); +//extern ? sub_4428(); +//extern ? sub_45A4(); +//extern ? sub_4860(); +//extern ? sub_49A8(); +//extern ? sub_49D0(); +//extern ? sub_4B10(); +//extern ? sub_4B34(); +//extern ? sub_4BB4(); +//extern ? sub_4C80(); +//extern ? sub_4D50(); +//extern ? sub_4D74(); +//extern ? sub_4E34(); +//extern ? sub_4EF0(); +//extern ? sub_4F50(); +//extern ? sub_4FC8(); +//extern ? sub_5064(); +//extern ? sub_5134(); +//extern ? sub_5174(); +//extern ? sub_51CC(); +//extern ? sub_51FC(); +//extern ? sub_599C(); +//extern ? sub_5E60(); +//extern ? sub_5EA4(); +//extern ? sub_5EC8(); +//extern ? sub_5EEC(); +//extern ? sub_6144(); +//extern ? sub_639C(); +//extern ? sub_65DC(); +//extern ? sub_681C(); +//extern ? sub_6BEC(); +//extern ? sub_6CA0(); +//extern ? sub_6F30(); +//extern ? sub_6F78(); +//extern ? sub_70E0(); +//extern ? sub_71DC(); +//extern ? sub_88E4(); +//extern ? sub_8974(); +//extern ? sub_8A78(); +//extern ? sub_8ABC(); + +// asm/rom_1068C.s + +//extern ? sub_1068C(); +extern void sub_10708(void*, void*, u16, s16); +//extern ? sub_10750(); +//extern ? sub_10798(); +//extern ? sub_10860(); +extern void sub_1090C(void); + +// asm/rom_11B9C.s + +//extern ? sub_11B9C(); +//extern ? sub_11C14(); +//extern ? sub_11C98(); +//extern ? sub_11F88(); +//extern ? sub_12524(); +//extern ? sub_12BF8(); +//extern ? sub_1332C(); +//extern ? sub_1333C(); +//extern ? sub_13824(); +//extern ? sub_13934(); +//extern ? sub_13B28(); +//extern ? sub_13D24(); +//extern ? sub_14074(); +//extern ? sub_14488(); +//extern ? sub_1467C(); +//extern ? sub_14740(); +//extern ? sub_1493C(); +//extern ? sub_14AF4(); +//extern ? sub_14B84(); +//extern ? sub_14E08(); +//extern ? sub_15054(); +//extern ? sub_153CC(); +//extern ? sub_16090(); +//extern ? sub_162B8(); +//extern ? sub_1642C(); +//extern ? sub_171C8(); +//extern ? sub_173FC(); +//extern ? sub_17634(); +//extern ? sub_176B0(); +//extern ? sub_17898(); +//extern ? sub_179D0(); +//extern ? sub_17C1C(); +//extern ? sub_17F28(); +//extern ? sub_18180(); +//extern ? sub_182B4(); +//extern ? sub_18324(); +//extern ? sub_1857C(); +//extern ? sub_18784(); +//extern ? sub_187F4(); +//extern ? sub_18A4C(); +//extern ? sub_18AE0(); +//extern ? sub_18B50(); +//extern ? sub_18DAC(); +//extern ? sub_18F38(); +//extern ? IdlePinballGameMain(); +//extern ? sub_19048(); +//extern ? sub_19190(); +//extern ? sub_19288(); +//extern ? sub_19304(); +//extern ? sub_1931C(); +//extern ? sub_19490(); +//extern ? sub_195C4(); +//extern ? sub_19734(); +//extern ? sub_19894(); +//extern ? sub_19A20(); +//extern ? sub_19B10(); +//extern ? sub_19B64(); +//extern ? sub_19B90(); +//extern ? sub_19C04(); +//extern ? sub_19CC8(); +//extern ? sub_19D04(); +//extern ? sub_19E10(); +//extern ? sub_19F70(); +//extern ? sub_19FA0(); +//extern ? sub_1A0F4(); +//extern ? sub_1A2C0(); +//extern ? sub_1A98C(); +//extern ? sub_1A9E8(); +//extern ? sub_1AA38(); +//extern ? sub_1AAA0(); +//extern ? sub_1AD84(); +//extern ? sub_1ADF4(); +//extern ? sub_1AF84(); +//extern ? sub_1AFD4(); +//extern ? sub_1B140(); +//extern ? sub_1BB68(); +//extern ? sub_1C544(); +//extern ? sub_1C560(); +//extern ? sub_1C5AC(); +//extern ? sub_1C73C(); +//extern ? sub_1C7F4(); +//extern ? sub_1D128(); +//extern ? sub_1D4D0(); +//extern ? sub_1D5D8(); +//extern ? sub_1DA74(); +//extern ? sub_1DAD8(); +//extern ? sub_1DC7C(); +//extern ? sub_1DDDC(); +//extern ? sub_1EC48(); +//extern ? sub_1F158(); +//extern ? sub_1F2A4(); +//extern ? sub_1F59C(); +//extern ? sub_1F698(); +//extern ? sub_1FA48(); +//extern ? sub_1FBC4(); +//extern ? sub_1FF0C(); +//extern ? sub_201B8(); +//extern ? sub_203CC(); +//extern ? sub_20EC0(); +//extern ? sub_21238(); +//extern ? sub_21300(); +//extern ? sub_21320(); +//extern ? sub_21514(); +//extern ? sub_21578(); +//extern ? sub_216FC(); +//extern ? sub_219A8(); +//extern ? sub_219EC(); +//extern ? sub_21B0C(); +//extern ? sub_21D78(); +//extern ? sub_21FBC(); +//extern ? sub_225F0(); +//extern ? sub_22978(); +//extern ? sub_22A30(); +//extern ? sub_22C6C(); +//extern ? sub_22D54(); +//extern ? sub_22FA4(); +//extern ? sub_23070(); +//extern ? sub_2310C(); +//extern ? sub_2312C(); +//extern ? sub_23300(); +//extern ? sub_23954(); +//extern ? sub_239A4(); +//extern ? sub_23E18(); +//extern ? sub_242B4(); +//extern ? sub_24350(); +//extern ? sub_24408(); +//extern ? sub_2530C(); +//extern ? sub_253E0(); +//extern ? sub_25808(); +//extern ? sub_25F64(); +//extern ? sub_260B8(); +//extern ? sub_26778(); +//extern ? sub_26820(); +//extern ? sub_268CC(); +//extern ? sub_269A4(); +//extern ? sub_26A10(); +//extern ? sub_26EA4(); +//extern ? sub_26F38(); +//extern ? sub_27080(); +//extern ? sub_278F4(); +//extern ? sub_27D44(); +//extern ? sub_27E08(); +//extern ? sub_27F94(); +//extern ? sub_28404(); +//extern ? sub_28544(); +//extern ? sub_28AE0(); +//extern ? sub_28BFC(); +//extern ? sub_28C90(); +//extern ? sub_28E2C(); +//extern ? sub_28EA0(); +//extern ? sub_292A0(); +//extern ? sub_29334(); +//extern ? sub_293D8(); +//extern ? sub_29624(); +//extern ? sub_29664(); +//extern ? sub_2971C(); +//extern ? sub_29924(); +//extern ? sub_29A6C(); +//extern ? sub_29D9C(); +//extern ? sub_2A054(); +//extern ? sub_2A354(); +//extern ? sub_2AADC(); +//extern ? sub_2C518(); +//extern ? sub_2C538(); +//extern ? sub_2C9A4(); +//extern ? sub_2CA9C(); +//extern ? sub_2CD98(); +//extern ? sub_2CE80(); +//extern ? sub_2D104(); +//extern ? sub_2D204(); +//extern ? sub_2DE54(); +//extern ? sub_2E094(); +//extern ? sub_2E67C(); +//extern ? sub_2E6AC(); +//extern ? sub_2F140(); +//extern ? sub_2F26C(); +//extern ? sub_2F504(); +//extern ? sub_2F79C(); +//extern ? sub_2FCD0(); +//extern ? sub_300D8(); +//extern ? sub_30178(); +//extern ? sub_30480(); +//extern ? sub_304C8(); +//extern ? sub_308DC(); +//extern ? sub_30EB4(); +//extern ? sub_31144(); +//extern ? sub_313A0(); +//extern ? sub_31498(); +//extern ? sub_31B30(); +//extern ? sub_31BE8(); +//extern ? sub_31CF8(); +//extern ? sub_31F6C(); + +// asm/rom_3219C.s + +//extern ? sub_32484(); +//extern ? sub_325E0(); +//extern ? sub_326F4(); +//extern ? sub_3276C(); +//extern ? sub_327C0(); +//extern ? sub_328C8(); +//extern ? sub_32914(); +//extern ? sub_32968(); +//extern ? sub_329B0(); +//extern ? sub_329F4(); +//extern ? sub_32B74(); +//extern ? sub_32BE4(); +//extern ? sub_32DF8(); +//extern ? sub_32F3C(); +//extern ? sub_33130(); +//extern ? sub_3342C(); +//extern ? sub_336E0(); +//extern ? sub_340EC(); +//extern ? sub_34450(); +//extern ? sub_350F0(); +//extern ? sub_351A8(); +//extern ? sub_356A0(); +//extern ? sub_357B8(); +//extern ? sub_35860(); +//extern ? sub_35AA4(); +//extern ? sub_35D54(); +//extern ? sub_36CB4(); +//extern ? sub_372B4(); +//extern ? sub_3751C(); +//extern ? sub_37850(); +//extern ? sub_38218(); +//extern ? sub_383E4(); +//extern ? sub_3869C(); +//extern ? sub_38A20(); +//extern ? sub_395D8(); +//extern ? sub_39A40(); +//extern ? sub_3A150(); +//extern ? sub_3ADA0(); +//extern ? sub_3AE14(); +//extern ? sub_3B120(); +//extern ? sub_3B49C(); +//extern ? sub_3B7C4(); +//extern ? sub_3C6E0(); +//extern ? sub_3CBC4(); +//extern ? sub_3E5D0(); +//extern ? sub_3E644(); +//extern ? sub_3E79C(); +//extern ? sub_3EB2C(); +//extern ? sub_3EDF0(); +//extern ? sub_3FAE0(); +//extern ? sub_40288(); +//extern ? sub_41580(); +//extern ? sub_417F8(); +//extern ? sub_423D8(); +//extern ? sub_42E48(); +//extern ? sub_43228(); +//extern ? sub_43500(); +//extern ? sub_4387C(); +//extern ? sub_44D58(); +//extern ? sub_44F3C(); +//extern ? sub_45164(); +//extern ? sub_455D0(); +//extern ? sub_45E08(); +//extern ? sub_45E90(); +//extern ? sub_467F4(); +//extern ? sub_46FD4(); +//extern ? sub_47030(); +//extern ? sub_47100(); +//extern ? sub_47110(); +//extern ? sub_47160(); +//extern ? sub_472E4(); +//extern ? sub_47344(); +//extern ? sub_474F4(); +//extern ? sub_47670(); +//extern ? sub_478D8(); +//extern ? sub_47FBC(); +//extern ? sub_47FF8(); +//extern ? sub_48124(); +//extern ? sub_48190(); +//extern ? sub_495A0(); +//extern ? sub_497BC(); +//extern ? sub_49850(); +//extern ? sub_49A34(); +//extern ? PinballGameMain(); +//extern ? sub_49ED4(); +//extern ? sub_4A270(); +//extern ? sub_4A518(); +//extern ? sub_4A6A0(); +//extern ? sub_4A90C(); +//extern ? sub_4AAD8(); +//extern ? sub_4ABC8(); +//extern ? sub_4ABEC(); +//extern ? sub_4ACF0(); +//extern ? sub_4AE8C(); +//extern ? sub_4B000(); +//extern ? sub_4B20C(); +//extern ? nullsub_19(); +//extern ? sub_4B280(); +//extern ? sub_4B334(); +//extern ? sub_4B408(); +//extern ? sub_4B654(); +//extern ? sub_4B678(); +//extern ? sub_4BC34(); +//extern ? sub_4C290(); +//extern ? sub_4C808(); +//extern ? sub_4CA18(); +//extern ? sub_4CAE8(); +//extern ? sub_4CB0C(); +//extern ? sub_4CB30(); +//extern ? sub_4CBB4(); +//extern ? sub_4CC58(); +//extern ? sub_4CD60(); +//extern ? nullsub_18(); +//extern ? sub_4CEA8(); +//extern ? sub_4CEB4(); +//extern ? sub_4D3D0(); +//extern ? sub_4D648(); +//extern ? sub_4D6C4(); +//extern ? sub_4D960(); +//extern ? sub_4DBFC(); +//extern ? sub_4DFA0(); +//extern ? sub_4E2F8(); +//extern ? sub_4E468(); +//extern ? sub_4E598(); +//extern ? sub_4E814(); +//extern ? sub_4E920(); +//extern ? sub_4E9F0(); +//extern ? sub_4EA44(); +//extern ? sub_4EAB0(); +//extern ? sub_4EAF8(); +//extern ? sub_4EBD0(); +//extern ? sub_4ECDC(); +//extern ? sub_4EDC0(); +//extern ? sub_4EE74(); +//extern ? sub_4EF38(); +//extern ? sub_4F028(); +//extern ? sub_4F0F0(); +//extern ? sub_4F258(); +//extern ? sub_4F2B8(); +//extern ? sub_4F30C(); +//extern ? sub_4F4B4(); +//extern ? sub_4F660(); +//extern ? sub_4F814(); +//extern ? sub_4F95C(); +//extern ? sub_4F9F0(); +//extern ? sub_4FAC0(); +//extern ? sub_4FB08(); +//extern ? sub_4FBA4(); +//extern ? sub_4FC7C(); +//extern ? sub_4FD88(); +//extern ? sub_4FE6C(); +//extern ? sub_50000(); +//extern ? sub_500B4(); +//extern ? sub_50154(); +//extern ? sub_5030C(); +//extern ? sub_504C0(); +//extern ? sub_505A4(); +//extern ? sub_506B0(); +//extern ? sub_50710(); +//extern ? sub_507D4(); +//extern ? sub_50848(); +//extern ? sub_50918(); +//extern ? sub_50AD4(); +//extern ? sub_50B80(); +//extern ? sub_50D48(); +//extern ? sub_50DB8(); +//extern ? sub_50DE0(); +//extern ? nullsub_20(); +//extern ? sub_50F04(); +//extern ? sub_50FAC(); +//extern ? sub_50FD4(); +//extern ? sub_51068(); +//extern ? sub_51090(); +//extern ? sub_51128(); +//extern ? sub_51150(); +//extern ? sub_511F8(); + +// asm/rom_528AC.s + +//extern ? sub_528AC(); +//extern ? sub_528DC(); +//extern ? sub_5291C(); +//extern ? sub_52940(); +extern void sub_52A18(void); +//extern ? sub_52A68(); +//extern ? sub_52B30(); +//extern ? sub_52BB0(); +extern void sub_52C44(void); +//extern ? sub_52C64(); + +// asm/rom_9BC.s + +extern void sub_13FC(void); +//extern ? sub_1668(); +//extern ? sub_16A0(); +//extern ? sub_170C(); +//extern ? sub_1748(); +//extern ? sub_17D8(); +extern void sub_1828(void); +//extern ? sub_1884(); +//extern ? sub_19B4(); +//extern ? sub_19CC(); +//extern ? sub_1A78(); +//extern ? nullsub_15(); +//extern ? sub_1AA4(); +//extern ? sub_1B04(); +//extern ? sub_1C5C(); +//extern ? sub_1C84(); +//extern ? sub_1CD4(); +//extern ? sub_1DB8(); +//extern ? sub_1EC0(); +extern void sub_1F4C(void); +extern void sub_1F5C(void); +//extern ? sub_1FEC(); +//extern ? sub_1FFC(); +//extern ? sub_20FC(); +//extern ? sub_223C(); +//extern ? sub_2308(); +//extern ? sub_2338(); +//extern ? sub_2364(); +//extern ? sub_23B4(); +//extern ? sub_2414(); +//extern ? nullsub_16(); +//extern ? sub_24DC(); +//extern ? sub_250C(); +//extern ? sub_2538(); +//extern ? sub_2568(); + +// asm/start.s + + +// asm/titlescreen.s + +//extern ? sub_11640(); +extern void sub_1175C(void); +extern void sub_11968(void); +extern void sub_11B74(void); + +// asm/unknown_lib_2.s + +extern int sub_55A24(u8*); // Rumble Pak? + +// asm/unknown_lib.s + +//extern ? sub_554F0(); +//extern ? sub_55530(); +//extern ? sub_55570(); +//extern ? sub_555BC(); +//extern ? sub_55654(); + +#endif // GUARD_FUNCTIONS_H
\ No newline at end of file diff --git a/include/global.h b/include/global.h index 16b8e51..2a9b072 100755 --- a/include/global.h +++ b/include/global.h @@ -4,6 +4,13 @@ #include <string.h> #include "gba/gba.h" +#define NUM_SPRITE_GROUPS 100 +#define MAX_SPRITES_IN_GROUP 22 + +#include "types.h" +#include "functions.h" +#include "variables.h" + // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); diff --git a/include/m4a.h b/include/m4a.h index 1a68f8c..9ab70a6 100755 --- a/include/m4a.h +++ b/include/m4a.h @@ -3,6 +3,8 @@ #include "gba/m4a_internal.h" +// TODO: import m4a library from pokeemerald + void m4aSoundVSync(void); void m4aSoundVSyncOn(void); diff --git a/include/main.h b/include/main.h index df03d5d..4b97e5e 100755 --- a/include/main.h +++ b/include/main.h @@ -3,40 +3,6 @@ #include "global.h" -#define NUM_SPRITE_GROUPS 100 -#define MAX_SPRITES_IN_GROUP 22 - -typedef void (*StateFunc)(void); -typedef void (*IntrFunc)(void); - -struct MainUnk2E8 -{ - u16 unk0; - u16 unk2; -}; - -struct SpriteSet -{ - u16 count; - u8 oamData[0]; -}; - -struct OamDataSimple -{ - u16 oamId; - s16 xOffset; - s16 yOffset; -}; - -struct SpriteGroup -{ - u16 available; - s16 baseX; - s16 baseY; - struct OamDataSimple oam[MAX_SPRITES_IN_GROUP]; -}; -// size: 0xB8 - struct Main { /*0x00*/ u8 filler0[0x2]; @@ -115,18 +81,20 @@ extern StateFunc gMainFuncs[]; extern struct OamData gOamBuffer[128]; extern u16 gUnknown_03005C00[0x600]; -void SetMainGameState(u16); void sub_24C(void); void sub_2B4(void); void sub_490(void); void sub_518(void); void sub_578(void); u32 Random(void); +void HBlankIntr(void); +void VCountIntr(void); +void SerialIntr(void); +void Timer3Intr(void); void sub_CBC(void); void sub_D10(void); void sub_D74(void); -void SerialIntr(void); -void Timer3Intr(void); -s16 LoadSpriteSets(const struct SpriteSet* const*, u16, struct SpriteGroup*); +void sub_DC4(void); + #endif // GUARD_MAIN_H diff --git a/include/types.h b/include/types.h new file mode 100644 index 0000000..af7a749 --- /dev/null +++ b/include/types.h @@ -0,0 +1,37 @@ +#ifndef GUARD_TYPES_H +#define GUARD_TYPES_H + +// Place all discovered types (structs, unions, etc.) in this file. + +typedef void (*StateFunc)(void); +typedef void (*IntrFunc)(void); + +struct MainUnk2E8 +{ + u16 unk0; + u16 unk2; +}; + +struct SpriteSet +{ + u16 count; + u8 oamData[0]; +}; + +struct OamDataSimple +{ + u16 oamId; + s16 xOffset; + s16 yOffset; +}; + +struct SpriteGroup +{ + u16 available; + s16 baseX; + s16 baseY; + struct OamDataSimple oam[MAX_SPRITES_IN_GROUP]; +}; +// size: 0xB8 + +#endif // GUARD_TYPES_H diff --git a/include/variables.h b/include/variables.h new file mode 100644 index 0000000..9990083 --- /dev/null +++ b/include/variables.h @@ -0,0 +1,167 @@ +#ifndef GUARD_VARIABLES_H +#define GUARD_VARIABLES_H + +// Place all external variable declarations in this file + +extern u8 gUnknown_03000000[]; +//extern ? gOamBuffer; +//extern ? IntrMain_Buffer; +//extern ? gUnknown_03005C00; +//extern ? SoundMainRAM_Buffer; +extern u16 sGbPlayerCurKeys; +extern u16 sGbPlayerPrevKeys; +//extern ? gUnknown_02002008; +extern u8 gUnknown_02002808[]; +//extern ? gTitlescreen; +//extern ? gEraseSaveDataAccessStep; +//extern ? gEraseSaveDataAccessCounter; +//extern ? gEReaderAccessStep; +//extern ? gEReaderAccessCounter; +//extern ? gUnknown_020028A4; +//extern ? gUnknown_020028A5; +//extern ? gUnknown_02002958; +//extern ? gIntrTable; +//extern ? gMain; +//extern ? gUnknown_0200B134; +//extern ? gUnknown_0200B3B8; +//extern ? gUnknown_0200FB98; +//extern ? gUnknown_0200FB9C; +//extern ? gUnknown_0200FBA0; +//extern ? gUnknown_02017BD0; +//extern ? gUnknown_02017BD4; +//extern ? gUnknown_02017BE0; +//extern ? gUnknown_02019BE0; +//extern ? gUnknown_02019BE4; +//extern ? gUnknown_02019BE8; +//extern ? gUnknown_02019BEC; +//extern ? gUnknown_02019BF0; +//extern ? gUnknown_02019BF4; +//extern ? gUnknown_02019BF8; +//extern ? gUnknown_02019BFC; +//extern ? gUnknown_02019C00; +//extern ? gUnknown_02019C04; +//extern ? gUnknown_02019C08; +//extern ? gGameBoyPlayerEnabled; +//extern ? gUnknown_02019C10; +//extern ? gAutoDisplayTitlescreenMenu; +//extern ? gUnknown_0201C190; +//extern ? gUnknown_0202BE00; +//extern ? gUnknown_202BE24; +//extern ? gUnknown_0202C588; +//extern ? gUnknown_020314E0; +//extern ? gUnknown_02031520; +//extern ? gSoundInfo; +//extern ? gPokemonCryMusicPlayers; +//extern ? gMPlayJumpTable; +//extern ? gCgbChans; +//extern ? gPokemonCryTracks; +//extern ? gPokemonCrySong; +//extern ? gMPlayInfo_02032EE0; +//extern ? gMPlayMemAccArea; +extern const u16 gWildMonLocations[][2][8]; +extern const s16 gUnknown_08055C44[]; +extern const struct OamData gEmptyOamData[128]; +extern const u8 gUnknown_08058048[]; +extern const u8 gUnknown_08058248[]; +extern const u8 gUnknown_0805C248[]; +extern StateFunc gTitlescreenStateFuncs[]; +//extern ? gIntroCopyright_Gfx; +//extern ? gIntroCopyright_Pal; +//extern ? gIntroScene1Sprites_Pals; +//extern ? gIntroScene1Sprites_Gfx; +extern const u8 gGBAButtonIcons_Pals[]; +extern const u8 gOptionsSprites_Gfx[]; +extern const IntrFunc gIntrTableTemplate[14]; +//extern ? gMainFuncs; +//extern ? gUnknown_086A4B08; +//extern ? gUnknown_086A4B14; +//extern ? gUnknown_086A4B20; +//extern ? gUnknown_086A4B30; +//extern ? gUnknown_086A4B40; +//extern ? gUnknown_086A4B54; +//extern ? gUnknown_086A4B70; +//extern ? gUnknown_086A4B80; +//extern ? gUnknown_086A4B94; +//extern ? gUnknown_086A4BAC; +//extern ? gUnknown_086A4BC8; +//extern ? gUnknown_086A4BE8; +//extern ? gUnknown_086A4BFC; +//extern ? gUnknown_086A4C18; +//extern ? gUnknown_086A4C2C; +extern const int *gUnknown_086A4C44[]; +extern const s16 gUnknown_086A964C[]; +extern const s8 gUnknown_086A9662[]; +extern const s8 gUnknown_086A9666[6][2]; +extern const s8 gUnknown_086A9672[9][2]; +extern const u16 gUnknown_086A96A4[]; +extern const u16 gUnknown_086A96D4[]; +extern const struct SpriteSet *const gUnknown_086A96E4[]; +extern const u8 *const gUnknown_086A96F8[7]; +extern const u8 *const gUnknown_086A9714[]; +extern const s8 gUnknown_086A9748[]; +extern const u8 *const gUnknown_086A975C[7]; +extern const u8 *const gUnknown_086A9778[]; +extern const s16 gEReaderAccessButtonSequence[]; +//extern ? gMonHatchSpriteGroupPals; +//extern ? gMonPortraitGroupPals; +//extern ? gMonHatchSpriteGroupGfx; +//extern ? gMonPortraitGroupGfx; +//extern ? gMonHatchSpriteGroup0_Gfx; +//extern ? gMonHatchSpriteGroup1_Gfx; +//extern ? gMonHatchSpriteGroup2_Gfx; +//extern ? gMonHatchSpriteGroup3_Gfx; +//extern ? gMonHatchSpriteGroup4_Gfx; +//extern ? gMonHatchSpriteGroup5_Gfx; +//extern ? gFieldSelectWindow_Gfx; +//extern ? gUnknown_080A4000; +//extern ? gFieldSelectFrameShadowTilemap; +//extern ? gFieldSelectMiniFields_Gfx; +//extern ? gUnknown_080A8020; +//extern ? gFieldSelectWindowTilemap; +//extern ? gFieldSelectBGPals; +//extern ? gFieldSelectSpritePals; +//extern ? gFieldSelectSpriteGfx; +extern const u8 gTitlescreenBgTilemap[]; +extern const u16 gTitlescreenBg_Pals[]; +extern const u8 gTitlescreenBg_Gfx[]; +extern const u8 gTitlescreenSpritesNoSavedGame_Gfx[]; +//extern ? gUnknown_081306C0; +extern const u8 gTitlescreenSpritesSavedGame_Gfx[]; +//extern ? gUnknown_081376E0; +extern const u16 gTitlescreenSprites_Pals[]; +//extern ? gMonHatchSpriteGroup0_Pals; +//extern ? gMonHatchSpriteGroup1_Pals; +//extern ? gMonHatchSpriteGroup2_Pals; +//extern ? gMonHatchSpriteGroup3_Pals; +//extern ? gMonHatchSpriteGroup4_Pals; +//extern ? gMonHatchSpriteGroup5_Pals; +//extern ? gMonPortraitsGroup0_Gfx; +//extern ? gMonPortraitsGroup1_Gfx; +//extern ? gMonPortraitsGroup2_Gfx; +//extern ? gMonPortraitsGroup3_Gfx; +//extern ? gMonPortraitsGroup4_Gfx; +//extern ? gMonPortraitsGroup5_Gfx; +//extern ? gMonPortraitsGroup6_Gfx; +//extern ? gMonPortraitsGroup7_Gfx; +//extern ? gMonPortraitsGroup8_Gfx; +//extern ? gMonPortraitsGroup9_Gfx; +//extern ? gMonPortraitsGroup10_Gfx; +//extern ? gMonPortraitsGroup11_Gfx; +//extern ? gMonPortraitsGroup12_Gfx; +//extern ? gMonPortraitsGroup13_Gfx; +//extern ? gMonPortraitsGroup0_Pals; +//extern ? gMonPortraitsGroup1_Pals; +//extern ? gMonPortraitsGroup2_Pals; +//extern ? gMonPortraitsGroup3_Pals; +//extern ? gMonPortraitsGroup4_Pals; +//extern ? gMonPortraitsGroup5_Pals; +//extern ? gMonPortraitsGroup6_Pals; +//extern ? gMonPortraitsGroup7_Pals; +//extern ? gMonPortraitsGroup8_Pals; +//extern ? gMonPortraitsGroup9_Pals; +//extern ? gMonPortraitsGroup10_Pals; +//extern ? gMonPortraitsGroup11_Pals; +//extern ? gMonPortraitsGroup12_Pals; +//extern ? gMonPortraitsGroup13_Pals; + +#endif // GUARD_VARIABLES_H
\ No newline at end of file diff --git a/src/gbplayer.c b/src/gbplayer.c index 5e4ad19..00d30d5 100755 --- a/src/gbplayer.c +++ b/src/gbplayer.c @@ -2,18 +2,6 @@ #include "gbplayer.h" #include "main.h" -extern void sub_1340(void); -extern void sub_13FC(void); -extern void sub_1828(void); -extern u8 gUnknown_02002808[]; -extern u16 sGbPlayerCurKeys; -extern u16 sGbPlayerPrevKeys; -extern const u8 gUnknown_08058048[]; -extern const u8 gUnknown_08058248[]; -extern const u8 gUnknown_0805C248[]; - -extern const int *gUnknown_086A4C44[]; - /*static*/ void ReadGbPlayerKeys(void) { u16 keyInput = REG_KEYINPUT ^ KEYS_MASK; @@ -3,23 +3,11 @@ #include "gbplayer.h" #include "m4a.h" -extern void sub_438(void); -extern void sub_8BC(void); -extern void sub_8FC(void); -extern void sub_940(void); -extern void sub_1F4C(void); -extern void sub_1F5C(void); -extern void sub_1090C(void); -extern void sub_52A18(void); - static void sub_B54(void); static void sub_B8C(void); static void InitIntrHandlers(void); static void ReadKeys(void); -extern const IntrFunc gIntrTableTemplate[14]; -extern const s16 gUnknown_08055C44[]; - void AgbMain(void) { RegisterRamReset(0xFF); diff --git a/src/rom_850.c b/src/rom_850.c index 97fed1f..56a4914 100755 --- a/src/rom_850.c +++ b/src/rom_850.c @@ -1,16 +1,6 @@ #include "global.h" #include "main.h" -extern IntrFunc *gUnknown_0200FB98; -extern IntrFunc *gUnknown_02019BE0; -extern void (*gUnknown_0200FB9C)(void); -extern void (*gUnknown_0200FBA0)(void); -extern void (*gUnknown_02017BD0)(void); -extern void (*gUnknown_02017BD4)(void); -extern void HBlankIntr(void); -extern void VCountIntr(void); -extern void sub_DC4(void); - u16 sub_850(void) { if (REG_IME & INTR_FLAG_VBLANK diff --git a/src/titlescreen.c b/src/titlescreen.c index 315c3e6..d7dd98b 100755 --- a/src/titlescreen.c +++ b/src/titlescreen.c @@ -3,48 +3,9 @@ #include "m4a.h" #include "main.h" -extern u8 gUnknown_03000000[]; - - -extern StateFunc gTitlescreenStateFuncs[]; -extern const u8 gTitlescreenBg_Gfx[]; -extern const u16 gTitlescreenBg_Pals[]; -extern const u8 gTitlescreenBgTilemap[]; -extern const u16 gTitlescreenSprites_Pals[]; -extern const u8 gTitlescreenSpritesSavedGame_Gfx[]; -extern const u8 gTitlescreenSpritesNoSavedGame_Gfx[]; -extern const u8 gGBAButtonIcons_Pals[]; -extern const u8 gOptionsSprites_Gfx[]; -extern const u8 *const gUnknown_086A975C[7]; -extern const u8 *const gUnknown_086A96F8[7]; -extern const s16 gUnknown_086A964C[]; -extern const s8 gUnknown_086A9662[]; -extern const s8 gUnknown_086A9666[6][2]; -extern const s8 gUnknown_086A9748[]; -extern const u8 *const gUnknown_086A9714[]; -extern const u8 *const gUnknown_086A9778[]; -extern const s8 gUnknown_086A9672[9][2]; -extern const u16 gUnknown_086A96A4[]; -extern const u16 gUnknown_086A96D4[]; -extern const s16 gEReaderAccessButtonSequence[]; -extern const struct SpriteSet *const gUnknown_086A96E4[]; - -extern void sub_438(void); -extern void sub_CBC(void); -extern void sub_D10(void); -extern void sub_FE04(void (*func)(void)); -extern void sub_FD5C(void (*func)(void)); -extern void sub_10708(void*, void*, u16, s16); -extern void sub_52C44(void); - -extern void sub_10AC0(void); -extern void sub_1175C(void); -extern void sub_11968(void); -extern void sub_11B74(void); - static void sub_114FC(void); static void sub_1157C(void); -extern void sub_11640(void); +/*static*/ extern void sub_11640(void); // If the user doesn't press any buttons at the title screen, // it will transition to a demo gameplay experience. @@ -1,9 +1,6 @@ #include "global.h" #include "main.h" -extern const struct OamData gEmptyOamData[128]; -extern int sub_55A24(u8*); // Rumble Pak? - static u8 *sub_734(u32, u8*, u32); static int sub_780(int, int); |