diff options
Diffstat (limited to 'include/gba')
-rw-r--r-- | include/gba/m4a_internal.h | 5 | ||||
-rw-r--r-- | include/gba/macro.h | 2 | ||||
-rw-r--r-- | include/gba/syscall.h | 2 | ||||
-rw-r--r-- | include/gba/types.h | 21 |
4 files changed, 30 insertions, 0 deletions
diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index f5d44de99..572b77711 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -1,3 +1,6 @@ +#ifndef GUARD_M4A_INTERNAL_H +#define GUARD_M4A_INTERNAL_H + #include "gba/gba.h" // ASCII encoding of 'Smsh' in reverse @@ -460,3 +463,5 @@ void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *); + +#endif // GUARD_M4A_INTERNAL_H diff --git a/include/gba/macro.h b/include/gba/macro.h index 62d3e73fa..230fb4383 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -25,6 +25,8 @@ CPU_FAST_SET_SRC_FIXED | ((size)/(32/8) & 0x1FFFFF)); \ } +#define CpuFastFill16(value, dest, size) CpuFastFill(((value) << 16) | (value), (dest), (size)) + #define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF)) #define DmaSet(dmaNum, src, dest, control) \ diff --git a/include/gba/syscall.h b/include/gba/syscall.h index 9576f7e99..e47f964d1 100644 --- a/include/gba/syscall.h +++ b/include/gba/syscall.h @@ -31,6 +31,8 @@ void CpuSet(const void *src, void *dest, u32 control); void CpuFastSet(const void *src, void *dest, u32 control); +void BgAffineSet(struct BgAffineSrcData *src, struct BgAffineDstData *dest, s32 count); + void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset); void LZ77UnCompWram(const void *src, void *dest); diff --git a/include/gba/types.h b/include/gba/types.h index be7390d5a..fd8a20a4c 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -74,6 +74,27 @@ struct OamData #define ST_OAM_H_RECTANGLE 1 #define ST_OAM_V_RECTANGLE 2 +struct BgAffineSrcData +{ + s32 texX; + s32 texY; + s16 scrX; + s16 scrY; + s16 sx; + s16 sy; + u16 alpha; +}; + +struct BgAffineDstData +{ + s16 pa; + s16 pb; + s16 pc; + s16 pd; + s32 dx; + s32 dy; +}; + struct ObjAffineSrcData { s16 xScale; |