|
SpaghettiKart
|
#include <libultraship.h>#include <macros.h>#include "main.h"#include "buffers.h"#include <common_structs.h>#include "kart_dma.h"#include "defines.h"#include <assets/textures/karts/mario_kart.h>#include <assets/textures/karts/luigi_kart.h>#include <assets/textures/karts/peach_kart.h>#include <assets/textures/karts/yoshi_kart.h>#include <assets/textures/karts/toad_kart.h>#include <assets/textures/karts/bowser_kart.h>#include <assets/textures/karts/wario_kart.h>#include <assets/textures/karts/donkeykong_kart.h>#include "render_player.h"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 [] |
| #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_GROUP | ( | var | ) |
| #define DECLARE_KART_TABLE0 | ( | var | ) |
| #define DECLARE_KART_TABLE1 | ( | var | ) |
| #define DECLARE_KART_TEXTURES | ( | var | ) |
| #define DECLARE_KART_TUMBLE_TABLE | ( | var | ) |
| #define DECLARE_TUMBLE_KART_TEXTURES | ( | var | ) |
| #define GROUP_0_COMMENT |
| #define GROUP_11_COMMENT |
| #define GROUP_12_13_14_COMMENT |
| #define GROUP_15_COMMENT |
| #define GROUP_16_17_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 KART_TEXTURE_MACRO | ( | var | ) |
| typedef u8** kart_texture_t |
| void load_kart_palette | ( | Player * | player, |
| s8 | playerId, | ||
| s8 | screenId, | ||
| s8 | buffer ) |
| 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.
| player | |
| playerId | Player ID. |
| screenId | Rom buffer index appears to always be 0-3. Sometimes subtracted by 2. |
| screenId2 | Second buffer index appears to always be 0-3. |
| index | First buffer index always zero. |
| void load_kart_texture_non_blocking | ( | Player * | player, |
| s8 | arg1, | ||
| s8 | arg2, | ||
| s8 | arg3, | ||
| s8 | arg4 ) |
| 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
| player | Player struct |
| arg1 | ROM offset |
| vAddr | Virtual address |
| size | Size of data to read |
| u16 D_800DDEB0[] |
| u8* gKartPalettes[] |
| kart_texture_t** gKartTextureTable0[] |
| kart_texture_t** gKartTextureTable1[] |
| u8** gKartTextureTumbles[] |