13 ((void (*)(
const void *,
void *))routine)(source, destination);
18#define RESOURCE_DEFINE_DECODE(name, code, bytes) \
19 s32 name(const void *source, void *destination) { \
20 s32 (*routine)(const void *, void *); \
23 RamCode_Load(routine, code, bytes); \
24 result = routine(source, destination); \
52 ((void (*)(
u8 *,
u32,
u8 *,
u32))routine)(buffer, amount, backup, bytes);
61 ((void (*)(
u8 *,
u32,
u8 *,
u32))routine)(buffer, amount, backup, bytes);
71 ((void (*)(
u8 *,
u8 *,
u32))routine)(buffer, backup, bytes);
79 ((void (*)(
u8 *,
u8 *,
u32))routine)(buffer, backup, bytes);
89 ((void (*)(
u8 *,
u32,
u8 *,
u32))routine)(buffer, amount, backup, bytes);
99 ((void (*)(
u8 *,
u32,
u8 *,
u32))routine)(buffer, amount, backup, bytes);
109 ((void (*)(
u8 *,
u8 *,
u32))routine)(buffer, backup, bytes);
119 ((void (*)(
u8 *,
u8 *,
u32))routine)(buffer, backup, bytes);
122#undef RESOURCE_DEFINE_DECODE
static __inline__ void Dma_Set(const volatile void *source, volatile void *destination, u32 control, volatile u32 *channel)
Starts a DMA transfer: stores the source, destination and control words into channel's registers with...
const u8 Resource_DecodeHalfwordLz[]
const u8 ColorBuffer_DarkenKernel[]
const u8 Resource_DecodeByteLzArm[]
const u8 ColorBuffer_BrightenPartialKernel[]
u8 ColorBuffer_BackupAndHalveNonzeroCodeSize[]
u8 ColorBuffer_BackupAndDarkenCodeSize[]
u8 Resource_DecodeByteLzCodeSize[]
const u8 ColorBuffer_BrightenKernel[]
const u8 ColorBuffer_HalveNonzeroKernel[]
u8 Resource_Decode2CodeSize[]
const u8 Resource_DecodeType01Arm[]
u8 ColorBuffer_BackupAndBrightenCodeSize[]
const u8 ColorBuffer_DarkenPartialKernel[]
u8 ColorBuffer_BackupAndDarkenPartialCodeSize[]
u8 ColorBuffer_BackupAndHalveCodeSize[]
u8 Resource_DecodeType01CodeSize[]
u8 ColorBuffer_BackupAndScaleNonzeroThreeQuartersCodeSize[]
u8 Resource_DecompressHalfwordsCodeSize[]
const u8 ColorBuffer_HalveKernel[]
const u8 Resource_Decode2[]
const u8 ColorBuffer_ScaleThreeQuartersKernel[]
const u8 ColorBuffer_ScaleNonzeroThreeQuartersKernel[]
u8 ColorBuffer_BackupAndScaleThreeQuartersCodeSize[]
u8 ColorBuffer_BackupAndBrightenPartialCodeSize[]
#define DMA_COPY_WORDS(n)
void ColorBuffer_BackupAndBrightenPartial(u8 *buffer, u32 amount, u8 *backup, u32 bytes)
As ColorBuffer_BackupAndBrighten, skipping groups already all at 63.
void ColorBuffer_BackupAndScaleThreeQuarters(u8 *buffer, u8 *backup, u32 bytes)
Scales every pixel to three quarters.
void Resource_DecompressHalfwords(const void *source, void *destination)
Decompresses the halfword LZ stream at source to destination, with a copy of the ARM decoder on the s...
s32 Resource_DecodeType01(const void *source, void *destination)
Decodes a type-01 resource and returns its unpacked byte count.
void ColorBuffer_BackupAndHalve(u8 *buffer, u8 *backup, u32 bytes)
Halves every pixel. Called by the battle effect canvas's transfers.
void ColorBuffer_BackupAndBrighten(u8 *buffer, u32 amount, u8 *backup, u32 bytes)
Raises every pixel by amount, stopping at 63.
void ColorBuffer_BackupAndHalveNonzero(u8 *buffer, u8 *backup, u32 bytes)
Halves every pixel, skipping all-zero groups.
void ColorBuffer_BackupAndDarken(u8 *buffer, u32 amount, u8 *backup, u32 bytes)
Lowers every pixel by amount, stopping at 0.
s32 Resource_DecodeByteLz(const void *source, void *destination)
Decodes a byte-oriented LZ resource and returns its unpacked byte count.
void ColorBuffer_BackupAndScaleNonzeroThreeQuarters(u8 *buffer, u8 *backup, u32 bytes)
Scales every pixel to three quarters, skipping all-zero groups.
#define RESOURCE_DEFINE_DECODE(name, code, bytes)
Each decoder copies its ARM routine code to RAM, runs it and frees the copy, and returns the number o...
void ColorBuffer_BackupAndDarkenPartial(u8 *buffer, u32 amount, u8 *backup, u32 bytes)
As ColorBuffer_BackupAndDarken, skipping groups already all at 0.
s32 Resource_DecodeType2(const void *source, void *destination)
Decodes a type-02 resource and returns its unpacked byte count.
What every part of the runtime object shares: its includes and the library call two parts make.