diff options
author | YamaArashi <shadow962@live.com> | 2016-05-21 15:15:29 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-05-21 15:15:29 -0700 |
commit | 5cbdc23e7e4cd1d4826d7589dfbdb5004e560d71 (patch) | |
tree | c8017cf53416cd04248fe0e6802b6d6f9ca7c00b /include | |
parent | c0203de808a98d27446e01c6b7e9f9311a5ad3bf (diff) |
FreeAllSpriteTiles() to ClearSpriteTileRanges()
Diffstat (limited to 'include')
-rw-r--r-- | include/gba/defines.h | 3 | ||||
-rw-r--r-- | include/gba/macro.h | 10 | ||||
-rw-r--r-- | include/gba/syscall.h | 4 | ||||
-rw-r--r-- | include/sprite.h | 2 |
4 files changed, 17 insertions, 2 deletions
diff --git a/include/gba/defines.h b/include/gba/defines.h index 005efb079..a8df0c1c2 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -27,13 +27,14 @@ // alignment would be if the variable were uninitialized. #define COMM(decl, n) IWRAM_DATA ALIGNED(1 << n) decl = {0}; #define COMM_2(decl) COMM(decl, 2) +#define COMM_3(decl) COMM(decl, 3) #define COMM_4(decl) COMM(decl, 4) #define SOUND_INFO_PTR (*(struct SoundInfo **)0x3007FF0) #define INTR_CHECK (*(u16 *)0x3007FF8) #define INTR_VECTOR (*(void **)0x3007FFC) -#define OBJ_VRAM0 0x6010000 // when BG is in tilemap mode +#define OBJ_VRAM0 0x6010000 // when BG is in tiled mode #define OBJ_VRAM1 0x6014000 // when BG is in bitmap mode #define OAM 0x7000000 diff --git a/include/gba/macro.h b/include/gba/macro.h index a886d12d4..991841396 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -17,6 +17,16 @@ #define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) #define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) +#define CpuFastFill(dest, value, size) \ +{ \ + vu32 tmp = (vu32)(value); \ + CpuFastSet((void *)&tmp, \ + dest, \ + CPU_FAST_SET_SRC_FIXED | ((size)/(32/8) & 0x1FFFFF)); \ +} + +#define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF)) + #define DmaSet(dmaNum, src, dest, control) \ { \ vu32 *dmaRegs = (vu32 *)REG_ADDR_DMA##dmaNum; \ diff --git a/include/gba/syscall.h b/include/gba/syscall.h index 8ef82c0e4..2008128d3 100644 --- a/include/gba/syscall.h +++ b/include/gba/syscall.h @@ -23,6 +23,10 @@ void VBlankIntrWait(void); void CpuSet(void *src, void *dest, u32 control); +#define CPU_FAST_SET_SRC_FIXED 0x01000000 + +void CpuFastSet(void *src, void *dest, u32 control); + void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset); #endif // GUARD_GBA_SYSCALL_H diff --git a/include/sprite.h b/include/sprite.h index 27b3222ee..184d75791 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -223,7 +223,7 @@ void AllocTilesForSpriteSheets(struct SpriteSheet *sheets); void LoadTilesForSpriteSheet(struct SpriteSheet *sheet); void LoadTilesForSpriteSheets(struct SpriteSheet *sheets); void FreeSpriteTilesByTag(u16 tag); -void FreeAllSpriteTiles(void); +void ClearSpriteTileRanges(void); u16 GetSpriteTileStartByTag(u16 tag); u16 GetSpriteTileTagByTileStart(u16 start); void RequestSpriteSheetCopy(struct SpriteSheet *sheet); |