|
libtonc
|
#include <stdint.h>#include <stdbool.h>Data Structures | |
| struct | BLOCK |
| 8-word type for fast struct-copies More... | |
| struct | TILE |
| 4bpp tile type, for easy indexing and copying of 4-bit tiles More... | |
| struct | TILE8 |
| 8bpp tile type, for easy indexing and 8-bit tiles More... | |
| struct | AFF_SRC |
| Simple scale-rotation source struct. More... | |
| struct | AFF_SRC_EX |
| Extended scale-rotate source struct. More... | |
| struct | AFF_DST |
| Simple scale-rotation destination struct, BG version. More... | |
| struct | AFF_DST_EX |
| Extended scale-rotate destination struct. More... | |
| struct | POINT16 |
| Regular bg points; range: :0010 - :001F. More... | |
| struct | DMA_REC |
| DMA struct; range: 0400:00B0 - 0400:00DF. More... | |
| struct | TMR_REC |
| Timer struct, range: 0400:0100 - 0400:010F. More... | |
| struct | OBJ_ATTR |
| Object attributes. More... | |
| struct | OBJ_AFFINE |
| Object affine parameters. More... | |
Macros | |
| #define | IWRAM_DATA __attribute__((section(".iwram"))) |
| Put variable in IWRAM (default). | |
| #define | EWRAM_DATA __attribute__((section(".ewram"))) |
| Put variable in EWRAM. | |
| #define | EWRAM_BSS __attribute__((section(".sbss"))) |
| Put non-initialized variable in EWRAM. | |
| #define | IWRAM_CODE __attribute__((section(".iwram"), long_call)) |
| Put function in IWRAM. | |
| #define | EWRAM_CODE __attribute__((section(".ewram"), long_call)) |
| Put function in EWRAM. | |
| #define | ALIGN(n) __attribute__((aligned(n))) |
| Force a variable to an n-byte boundary. | |
| #define | ALIGN4 __attribute__((aligned(4))) |
| Force word alignment. | |
| #define | PACKED __attribute__((packed)) |
| Pack aggregate members. | |
| #define | DEPRECATED __attribute__((deprecated)) |
| Deprecated notice. | |
| #define | INLINE static inline |
| Inline function declarator. | |
| #define | NULL (void*)0 |
Typedefs | |
Base types | |
Basic signed and unsigned types for 8, 16, 32 and 64-bit integers.
| |
| typedef unsigned int | uint |
| typedef unsigned int | eint |
| typedef unsigned short | ushort |
| typedef unsigned short | eshort |
| typedef uint8_t | u8 |
| typedef uint8_t | byte |
| typedef uint8_t | uchar |
| typedef uint8_t | echar |
| typedef uint16_t | u16 |
| typedef uint16_t | hword |
| typedef uint32_t | u32 |
| typedef uint32_t | word |
| typedef uint64_t | u64 |
| typedef int8_t | s8 |
| typedef int16_t | s16 |
| typedef int32_t | s32 |
| typedef int64_t | s64 |
Volatile types | |
Volatile types for registers | |
| typedef volatile u8 | vu8 |
| typedef volatile u16 | vu16 |
| typedef volatile u32 | vu32 |
| typedef volatile u64 | vu64 |
| typedef volatile s8 | vs8 |
| typedef volatile s16 | vs16 |
| typedef volatile s32 | vs32 |
| typedef volatile s64 | vs64 |
affine structs | |
| typedef struct AFF_SRC | AFF_SRC |
| Simple scale-rotation source struct. | |
| typedef struct AFF_SRC | ObjAffineSource |
| Simple scale-rotation source struct. | |
| typedef struct AFF_SRC_EX | AFF_SRC_EX |
| Extended scale-rotate source struct. | |
| typedef struct AFF_SRC_EX | BgAffineSource |
| Simple scale-rotation source struct. | |
| typedef struct AFF_DST | AFF_DST |
| Simple scale-rotation destination struct, BG version. | |
| typedef struct AFF_DST | ObjAffineDest |
| Simple scale-rotation source struct. | |
| typedef struct AFF_DST_EX | AFF_DST_EX |
| Extended scale-rotate destination struct. | |
| typedef struct AFF_DST_EX | BgAffineDest |
| Simple scale-rotation source struct. | |
IO register types | |
| typedef struct POINT16 | POINT16 |
| Regular bg points; range: :0010 - :001F. | |
| typedef struct POINT16 | BG_POINT |
| Regular bg points; range: :0010 - :001F. | |
| typedef struct AFF_DST_EX | BG_AFFINE |
| Affine parameters for backgrounds; range : 0400:0020 - 0400:003F. | |
| typedef struct DMA_REC | DMA_REC |
| DMA struct; range: 0400:00B0 - 0400:00DF. | |
| typedef struct TMR_REC | TMR_REC |
| Timer struct, range: 0400:0100 - 0400:010F. | |
PAL types | |
| typedef COLOR | PALBANK[16] |
| Palette bank type, for 16-color palette banks. | |
VRAM array types | |
These types allow VRAM access as arrays or matrices in their most natural types. | |
| typedef SCR_ENTRY | SCREENLINE[32] |
| typedef SCR_ENTRY | SCREENMAT[32][32] |
| typedef SCR_ENTRY | SCREENBLOCK[1024] |
| typedef COLOR | M3LINE[240] |
| typedef u8 | M4LINE[240] |
| typedef COLOR | M5LINE[160] |
| typedef TILE | CHARBLOCK[512] |
| typedef TILE8 | CHARBLOCK8[256] |
OAM structs | |
| |
| typedef struct OBJ_ATTR | OBJ_ATTR |
| Object attributes. | |
| typedef struct OBJ_AFFINE | OBJ_AFFINE |
| Object affine parameters. | |
Const types | |
Const types for const function aprameters | |
| #define | TRUE 1 |
| Type for consting a string as well as the pointer than points to it. | |
| #define | FALSE 0 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const u8 | cu8 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const u16 | cu16 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const u32 | cu32 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const u64 | cu64 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const s8 | cs8 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const s16 | cs16 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const s32 | cs32 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const s64 | cs64 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef const char *const | CSTR |
| Type for consting a string as well as the pointer than points to it. | |
| typedef s32 | FIXED |
| Fixed point type. | |
| typedef u16 | COLOR |
| Type for colors. | |
| typedef u16 | SCR_ENTRY |
| Type for consting a string as well as the pointer than points to it. | |
| typedef u16 | SE |
| Type for screen entries. | |
| typedef u8 | SCR_AFF_ENTRY |
| Type for consting a string as well as the pointer than points to it. | |
| typedef u8 | SAE |
| Type for affine screen entries. | |
| typedef struct TILE | TILE4 |
| Type for consting a string as well as the pointer than points to it. | |
| typedef u8 | BOOL |
| Type for consting a string as well as the pointer than points to it. | |
| typedef void(* | fnptr) (void) |
| void foo() function pointer | |
| typedef void(* | fn_v_i) (int) |
| void foo(int x) function pointer | |
| typedef int(* | fn_i_i) (int) |
| int foo(int x) function pointer | |