SpaghettiKart
Loading...
Searching...
No Matches
kart_dma.c File Reference
Include dependency graph for kart_dma.c:

Macros

#define KART_TEXTURE_MACRO(var)
 
#define GROUP_0_COMMENT
 
#define GROUP_1_COMMENT
 
#define GROUP_2_COMMENT
 
#define GROUP_3_COMMENT
 
#define GROUP_4_COMMENT
 
#define GROUP_5_COMMENT
 
#define GROUP_6_COMMENT
 
#define GROUP_7_COMMENT
 
#define GROUP_8_COMMENT
 
#define GROUP_9_10_COMMENT
 
#define GROUP_11_COMMENT
 
#define GROUP_12_13_14_COMMENT
 
#define GROUP_15_COMMENT
 
#define GROUP_16_17_COMMENT
 
#define ALSO_INCLUDE_GROUP_0_1
 
#define ALSO_INCLUDE_GROUP_2
 
#define ALSO_INCLUDE_GROUP_3_4_5
 
#define ALSO_INCLUDE_GROUP_6
 
#define ALSO_INCLUDE_GROUP_7_8
 
#define DECLARE_KART_TEXTURES(var)
 
#define DECLARE_KART_GROUP(var)
 
#define DECLARE_KART_TABLE0(var)
 
#define DECLARE_KART_TABLE1(var)
 
#define DECLARE_TUMBLE_KART_TEXTURES(var)
 
#define DECLARE_KART_TUMBLE_TABLE(var)
 

Typedefs

typedef u8 ** kart_texture_t
 

Functions

void load_kart_texture (Player *player, s8 playerId, s8 screenId, s8 screenId2, s8 index)
 Place DMA mio0 compressed character textures in a buffer. Later, this data becomes decompressed.
 
void load_kart_texture_non_blocking (Player *player, s8 arg1, s8 arg2, s8 arg3, s8 arg4)
 
void load_kart_palette (Player *player, s8 playerId, s8 screenId, s8 buffer)
 
void load_player_data (UNUSED Player *player, s32 arg1, void *vAddr, u16 size)
 
void load_wheel_palette_non_blocking (UNUSED Player *player, const char *texture, void *vAddr, u16 size)
 read data from ROM and write it to the given virtual address
 

Variables

u16 D_800DDEB0 []
 
kart_texture_t ** gKartTextureTable0 []
 
kart_texture_t ** gKartTextureTable1 []
 
u8 ** gKartTextureTumbles []
 
u8 * gKartPalettes []
 

Macro Definition Documentation

◆ ALSO_INCLUDE_GROUP_0_1

#define ALSO_INCLUDE_GROUP_0_1

◆ ALSO_INCLUDE_GROUP_2

#define ALSO_INCLUDE_GROUP_2

◆ ALSO_INCLUDE_GROUP_3_4_5

#define ALSO_INCLUDE_GROUP_3_4_5

◆ ALSO_INCLUDE_GROUP_6

#define ALSO_INCLUDE_GROUP_6

◆ ALSO_INCLUDE_GROUP_7_8

#define ALSO_INCLUDE_GROUP_7_8

◆ DECLARE_KART_GROUP

#define DECLARE_KART_GROUP ( var)

◆ DECLARE_KART_TABLE0

#define DECLARE_KART_TABLE0 ( var)
Value:
kart_texture_t* var##Table0[] = { \
var##Group8, var##Group7, var##Group6, var##Group5, var##Group4, \
var##Group3, var##Group2, var##Group1, var##Group0, \
};
u8 ** kart_texture_t
Definition kart_dma.c:525

◆ DECLARE_KART_TABLE1

#define DECLARE_KART_TABLE1 ( var)
Value:
kart_texture_t* var##Table1[] = { \
var##Group17, var##Group16, var##Group15, var##Group14, var##Group13, \
var##Group12, var##Group11, var##Group10, var##Group9, \
};

◆ DECLARE_KART_TEXTURES

#define DECLARE_KART_TEXTURES ( var)

◆ DECLARE_KART_TUMBLE_TABLE

#define DECLARE_KART_TUMBLE_TABLE ( var)
Value:
kart_texture_t var##Tumble[] = { \
var##289, var##290, var##291, var##292, var##293, var##294, var##295, \
var##296, var##297, var##298, var##299, var##300, var##301, var##302, \
var##303, var##304, var##305, var##306, var##307, var##308, var##309, \
var##310, var##311, var##312, var##313, var##314, var##315, var##316, \
var##317, var##318, var##319, var##320 \
};

◆ DECLARE_TUMBLE_KART_TEXTURES

#define DECLARE_TUMBLE_KART_TEXTURES ( var)

◆ GROUP_0_COMMENT

#define GROUP_0_COMMENT

◆ GROUP_11_COMMENT

#define GROUP_11_COMMENT

◆ GROUP_12_13_14_COMMENT

#define GROUP_12_13_14_COMMENT

◆ GROUP_15_COMMENT

#define GROUP_15_COMMENT

◆ GROUP_16_17_COMMENT

#define GROUP_16_17_COMMENT

◆ GROUP_1_COMMENT

#define GROUP_1_COMMENT

◆ GROUP_2_COMMENT

#define GROUP_2_COMMENT

◆ GROUP_3_COMMENT

#define GROUP_3_COMMENT

◆ GROUP_4_COMMENT

#define GROUP_4_COMMENT

◆ GROUP_5_COMMENT

#define GROUP_5_COMMENT

◆ GROUP_6_COMMENT

#define GROUP_6_COMMENT

◆ GROUP_7_COMMENT

#define GROUP_7_COMMENT

◆ GROUP_8_COMMENT

#define GROUP_8_COMMENT

◆ GROUP_9_10_COMMENT

#define GROUP_9_10_COMMENT

◆ KART_TEXTURE_MACRO

#define KART_TEXTURE_MACRO ( var)
Value:
u8* var[4] = { \
(u8*)var##Wheel0, (u8*)var##Wheel1, (u8*)var##Wheel2, (u8*)var##Wheel3 \
};

Typedef Documentation

◆ kart_texture_t

typedef u8** kart_texture_t

Function Documentation

◆ load_kart_palette()

void load_kart_palette ( Player * player,
s8 playerId,
s8 screenId,
s8 buffer )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ load_kart_texture()

void load_kart_texture ( Player * player,
s8 playerId,
s8 screenId,
s8 screenId2,
s8 index )

Place DMA mio0 compressed character textures in a buffer. Later, this data becomes decompressed.

The player struct tracks the texture indices to load.

Parameters
player
playerIdPlayer ID.
screenIdRom buffer index appears to always be 0-3. Sometimes subtracted by 2.
screenId2Second buffer index appears to always be 0-3.
indexFirst buffer index always zero.
Here is the caller graph for this function:

◆ load_kart_texture_non_blocking()

void load_kart_texture_non_blocking ( Player * player,
s8 arg1,
s8 arg2,
s8 arg3,
s8 arg4 )
Here is the caller graph for this function:

◆ load_player_data()

void load_player_data ( UNUSED Player * player,
s32 arg1,
void * vAddr,
u16 size )
Here is the call graph for this function:

◆ load_wheel_palette_non_blocking()

void load_wheel_palette_non_blocking ( UNUSED Player * player,
const char * texture,
void * vAddr,
u16 size )

read data from ROM and write it to the given virtual address

Parameters
playerPlayer struct
arg1ROM offset
vAddrVirtual address
sizeSize of data to read
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ D_800DDEB0

u16 D_800DDEB0[]
Initial value:
= {
0x06c0, 0x06e0, 0x06e0, 0x0680, 0x07c0, 0x0700, 0x0680, 0x0910,
}

◆ gKartPalettes

u8* gKartPalettes[]
Initial value:
= {
gKartMarioPalette, gKartLuigiPalette, gKartYoshiPalette, gKartToadPalette,
gKartDKPalette, gKartWarioPalette, gKartPeachPalette, gKartBowserPalette,
}

◆ gKartTextureTable0

kart_texture_t** gKartTextureTable0[]
Initial value:
= {
gKartMarioTable0, gKartLuigiTable0, gKartYoshiTable0, gKartToadTable0,
gKartDKTable0, gKartWarioTable0, gKartPeachTable0, gKartBowserTable0,
}

◆ gKartTextureTable1

kart_texture_t** gKartTextureTable1[]
Initial value:
= {
gKartMarioTable1, gKartLuigiTable1, gKartYoshiTable1, gKartToadTable1,
gKartDKTable1, gKartWarioTable1, gKartPeachTable1, gKartBowserTable1,
}

◆ gKartTextureTumbles

u8** gKartTextureTumbles[]
Initial value:
= {
gKartMarioTumble, gKartLuigiTumble, gKartYoshiTumble, gKartToadTumble,
gKartDKTumble, gKartWarioTumble, gKartPeachTumble, gKartBowserTumble,
}