Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/buffers.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ typedef struct {
extern u16 gRandomSeed16;
extern u8 randomSeedPadding[216];
extern union_D_802BFB80 D_802BFB80;
extern struct_D_802DFB80 gEncodedKartTexture[][2][8];
extern struct_D_802DFB80 gEncodedKartTexture[][4][8];

/**
* It would be nice to define gPlayerPalettesList as "struct_D_802F1F80 gPlayerPalettesList[2][4][8]".
Expand Down
2 changes: 1 addition & 1 deletion src/buffers/buffers.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*/
ALIGNED8 union_D_802BFB80 D_802BFB80;
// [nothing][screen][player]
ALIGNED8 struct_D_802DFB80 gEncodedKartTexture[2][2][8];
ALIGNED8 struct_D_802DFB80 gEncodedKartTexture[2][4][8];
#ifdef AVOID_UB
// [buffer][screen][player] Buffer might be two separate buffers or something?
ALIGNED8 struct_D_802F1F80 gPlayerPalettesList[2][4][8];
Expand Down
21 changes: 5 additions & 16 deletions src/render_player.c
Original file line number Diff line number Diff line change
Expand Up @@ -1344,17 +1344,10 @@ void render_kart(Player* player, s8 playerId, s8 screenId, s8 flipOffset) {
}
load_kart_palette(player, playerId, screenId, D_801651D0[screenId][playerId]);
gPlayerPalette = &gPlayerPalettesList[D_801651D0[screenId][playerId]][screenId][playerId];
// When screenId >= 2 (in 3/4 player mode), adjust indices to fit gEncodedKartTexture[2][2][8] dimensions
if ((screenId == 0) || (screenId == 1)) {
load_kart_texture(player, playerId, screenId, screenId, D_801651D0[screenId][playerId]);
} else {
load_kart_texture(player, playerId - 4, screenId, screenId - 1, D_801651D0[screenId][playerId]);
}
if ((screenId == 0) || (screenId == 1)) {
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId][playerId].unk_00;
} else {
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId - 1][playerId - 4].unk_00;
}

load_kart_texture(player, playerId, screenId, screenId, D_801651D0[screenId][playerId]);
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId][playerId].unk_00;

mtxf_translate_rotate(mtx, sp154, sp14C);
mtxf_scale(mtx, gCharacterSize[player->characterId] * player->size);
convert_to_fixed_point_matrix(GetKartMatrix(playerId + (screenId * 8)), mtx);
Expand Down Expand Up @@ -1460,11 +1453,7 @@ void render_ghost(Player* player, s8 playerId, s8 screenId, s8 flipOffset) {
gPlayerPalette =
(struct_D_802F1F80*) &gPlayerPalettesList[D_801651D0[screenId][playerId]][screenId][playerId * 0x100];
#endif
if ((screenId == 0) || (screenId == 1)) {
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId][playerId].unk_00;
} else {
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId - 1][playerId - 4].unk_00;
}
sKartTexture = gEncodedKartTexture[D_801651D0[screenId][playerId]][screenId][playerId].unk_00;

mtxf_translate_rotate(mtx, spDC, spD4);
mtxf_scale(mtx, gCharacterSize[player->characterId] * player->size);
Expand Down
2 changes: 1 addition & 1 deletion src/spawn_players.c
Original file line number Diff line number Diff line change
Expand Up @@ -1174,7 +1174,7 @@ void func_8003CD98(Player* player, Camera* camera, s8 playerId, s8 screenId) {
} else {
load_kart_palette(player, playerId, screenId, 0);
load_kart_palette(player, playerId, screenId, 1);
load_kart_texture(player, (s8) (playerId + 4), screenId, (s8) (screenId - 2), 0);
load_kart_texture(player, (s8) (playerId), screenId, (s8) (screenId), 0);
#ifdef TARGET_N64
mio0decode((u8*) &gEncodedKartTexture[0][screenId - 2][playerId + 4],
(u8*) &D_802BFB80.arraySize8[0][screenId - 2][playerId + 4]);
Expand Down
Loading