123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #ifndef _SOTS_HEADER
- #define _SOTS_HEADER
-
- #include "include/gba.h"
- #include "oam_types.h"
-
-
-
- // structs, maybe add an extra file for that
-
- // RoA Sounds
- #define EMPTYMOVESOUND 0x05
- #define TILEMOVESOUND 0x23
- #define ERRORSOUND 0x20
- #define TAKETILESOUND 0x24
- #define DROPTILESOUND 0x2C
- #define WINSONG 0x186
-
- extern u32 dummyAnimData;
- extern u32 dummyAnimRoutine;
-
- // Memory Locations
- extern u16 OAM_Mem[];
- extern u16 OBJ_PaletteMem[];
- extern u16 OBJ_PaletteMem2[];
- extern u16 BG_PaletteMem[];
- extern u16 BG_PaletteMem2[];
-
- // Key Stuffs
- extern u8 KEYS;
- extern u8 KEYSHOLD;
- extern u8 KEYSSCROLL;
- extern u8 KEYSLR;
- extern u8 KEYSHOLDLR;
- extern u8 KEYSSCROLLLR;
-
- // Variables and Such
- extern u16 LASTRESULT;
- extern u16 var8004;
- extern u8 fadeScreenDone;
- extern void *globalVars;
- extern void *boxInitStuff;
- extern void *nullCallback;
-
- // BPED Functions
- extern void *malloc(int size);
- extern void free(void *ptr);
-
- extern void fadeScreen(u32 palBitmask, int r1, int r2, int r3, u16 color); // TODO: find proper argument names
-
- extern void playSound(u16);
- extern void playFanfare(u16);
- extern int waitForFanfare();
- extern int waitForSound();
-
- extern void changeIO(int address, u16 registerValue); // addreess relative to 0x04000000
- extern void enableBG(u8 BG);
- extern void clearOAM();
- extern void loadPalette(Palette16Colors *palettePtr, u8 offset, u8 length);
- extern void initMapData(u8 r0, u32 r1, u8 r2); // TODO: find proper argument names
-
- extern void boxPrint(u8 foo, u8 font, u8 x, u8 y, u32 bar, u32 baz, TextStruct *textPtr); // TODO: find proper argument names
- extern void printBoxesToTilemap(u8 a, u8 b); // TODO: find proper argument names
- extern void forceNewBoxAndInitBG(u32 *addr); // TODO: Pointer to what kind of data? Add a proper type!
- extern void loadSpritePal(u32 *addr); // TODO: Pointer to what kind of data? Add a proper type!
-
- extern void storeCallback(int *callbackHandler);
- extern void storeCallback2(int *callbackHandler);
-
- // SOTS exclusive functions
- extern void initStuff();
- extern void updateEverything();
- extern void updateEverything2();
- extern void someExitFunc();
- extern void fadeScreenBlack();
- extern void fadeScreenNormal();
- extern Sprite *createSprite(void *addr, void *addr2, u16 XPos, u16 YPos, u8 i); //find out what "i" is
- extern void deleteSprite(Sprite *spritePtr);
-
- // BIOS functions
-
- extern void ResetSystem(); // Calls does multiple SVCs and resets the whole System
-
- extern void RegisterRamReset(int resetFlags); // SVC 0x1
- extern void VBlankIntrWait(); // SVC 0x5
- extern int Div(int number, int denom); // SVC 0x6
- extern u16 Sqrt(unsigned int x); // SVC 0x8
- extern u16 ArcTan2(u16 x, u16 y); // SVC 0xA
- extern void CpuSet(void *srcPtr, void *destPtr, int legnthMode); // SVC 0xB
- extern void CpuFastSet(void *srcPtr, void *destPtr, int lengthMode); // SVC 0xC
- extern void BgAffineSet(void *srcDataField, void *destDataField, int numCalc); // SVC 0xE
- extern void ObjAffineSet(void *srcDataField, void *destDataField, int numCalc, int parOffset); // SVC 0xF
- extern void LZ77UnCompWram(void *headerPtr, void *destPtr); // SVC 0x11
- extern void LZ77UnCompVram(void *headerPtr, void *destPtr); // SVC 0x12
- extern void RLUnCompWram(void *srcDataField, void *destAddr); // SVC 0x14
- extern void RLUnCompVram(void *srcDataField, void *destAddr); // SVC 0x15
- extern int MultiBoot(void *MultiBootParamPtr); // SVC 0x25
-
- #endif
|