mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-01 16:29:55 -04:00
wip Fix wheels (#37)
* Fix menu bug * Fix undefined behaviour * Fix kart textures * Fix boost texture * Rename as per review * Fix buffer overflows * Fix lakitu progress * Fix race starter character * wip fixes to kart wheels * Fix inaccuracy * improve wheels * Fix staff ghosts * course stuff * wip changes * Update kalimari_desert_displaylists.yml
This commit is contained in:
+6
-5
@@ -1919,7 +1919,7 @@ void func_80027BDC(UNUSED Player *player, u8 *arg1, void *vAddr, u16 size) {
|
||||
//osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
|
||||
void func_80027C74(UNUSED Player *player, u8 *texture, void *vAddr, u16 size) {
|
||||
void func_80027C74(UNUSED Player *player, const char *texture, void *vAddr, u16 size) {
|
||||
//osInvalDCache(vAddr, size);
|
||||
|
||||
// osPiStartDma(
|
||||
@@ -1931,8 +1931,9 @@ void func_80027C74(UNUSED Player *player, u8 *texture, void *vAddr, u16 size) {
|
||||
// size,
|
||||
// &gDmaMesgQueue
|
||||
// );
|
||||
|
||||
//printf("test %s\n",texture);
|
||||
//size_t textureSize = ResourceGetTexSizeByName(texture);
|
||||
// memcpy(vAddr, texture, size);
|
||||
u16 *tex = (u16 *) LOAD_ASSET(texture);
|
||||
//printf("wheeltex: %s\n",texture);
|
||||
size_t textureSize = ResourceGetTexSizeByName(texture);
|
||||
//vAddr = texture;
|
||||
memcpy(vAddr, tex, size);
|
||||
}
|
||||
|
||||
+173
-110
@@ -464,110 +464,144 @@ f32 gCharacterSize[] = {
|
||||
DK_SIZE, WARIO_SIZE, PEACH_SIZE, BOWSER_SIZE
|
||||
};
|
||||
|
||||
u8 **gKartMarioWheels0[] = {
|
||||
gKartMario168Wheel0, gKartMario147Wheel0, gKartMario126Wheel0, gKartMario105Wheel0,
|
||||
gKartMario084Wheel0, gKartMario063Wheel0, gKartMario042Wheel0, gKartMario021Wheel0,
|
||||
gKartMario000Wheel0
|
||||
|
||||
u32 gKartMarioWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartMarioWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartLuigiWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartLuigiWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartBowserWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartBowserWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartToadWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartToadWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
// Stopped doing this properly here and just copy pasted the below hoping it would work
|
||||
|
||||
u32 gKartYoshiWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartYoshiWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartDKWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartDKWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartPeachWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartPeachWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
u32 gKartWarioWheels0[] = { 672, 588, 504, 420, 336, 252, 168, 84, 0 };
|
||||
u32 gKartWarioWheels1[] = { 1076, 1076, 996, 916, 916, 916, 836, 756, 756 };
|
||||
|
||||
|
||||
// Replace the below ptrs with the indexes into mario_kart_wheels
|
||||
// u8 **gKartMarioWheels0[] = {
|
||||
// gKartMario168Wheel0, gKartMario147Wheel0, gKartMario126Wheel0, gKartMario105Wheel0,
|
||||
// gKartMario084Wheel0, gKartMario063Wheel0, gKartMario042Wheel0, gKartMario021Wheel0,
|
||||
// gKartMario000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartMarioWheels1[] = {
|
||||
// gKartMario269Wheel0, gKartMario269Wheel0, gKartMario249Wheel0, gKartMario229Wheel0,
|
||||
// gKartMario229Wheel0, gKartMario229Wheel0, gKartMario209Wheel0, gKartMario189Wheel0,
|
||||
// gKartMario189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartLuigiWheels0[] = {
|
||||
// gKartLuigi168Wheel0, gKartLuigi147Wheel0, gKartLuigi126Wheel0, gKartLuigi105Wheel0,
|
||||
// gKartLuigi084Wheel0, gKartLuigi063Wheel0, gKartLuigi042Wheel0, gKartLuigi021Wheel0,
|
||||
// gKartLuigi000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartLuigiWheels1[] = {
|
||||
// gKartLuigi269Wheel0, gKartLuigi269Wheel0, gKartLuigi249Wheel0, gKartLuigi229Wheel0,
|
||||
// gKartLuigi229Wheel0, gKartLuigi229Wheel0, gKartLuigi209Wheel0, gKartLuigi189Wheel0,
|
||||
// gKartLuigi189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartBowserWheels0[] = {
|
||||
// gKartBowser168Wheel0, gKartBowser147Wheel0, gKartBowser126Wheel0, gKartBowser105Wheel0,
|
||||
// gKartBowser084Wheel0, gKartBowser063Wheel0, gKartBowser042Wheel0, gKartBowser021Wheel0,
|
||||
// gKartBowser000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartBowserWheels1[] = {
|
||||
// gKartBowser269Wheel0, gKartBowser269Wheel0, gKartBowser249Wheel0, gKartBowser229Wheel0,
|
||||
// gKartBowser229Wheel0, gKartBowser229Wheel0, gKartBowser209Wheel0, gKartBowser189Wheel0,
|
||||
// gKartBowser189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartToadWheels0[] = {
|
||||
// gKartToad168Wheel0, gKartToad147Wheel0, gKartToad126Wheel0, gKartToad105Wheel0,
|
||||
// gKartToad084Wheel0, gKartToad063Wheel0, gKartToad042Wheel0, gKartToad021Wheel0,
|
||||
// gKartToad000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartToadWheels1[] = {
|
||||
// gKartToad269Wheel0, gKartToad269Wheel0, gKartToad249Wheel0, gKartToad229Wheel0,
|
||||
// gKartToad229Wheel0, gKartToad229Wheel0, gKartToad209Wheel0, gKartToad189Wheel0,
|
||||
// gKartToad189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartYoshiWheels0[] = {
|
||||
// gKartYoshi168Wheel0, gKartYoshi147Wheel0, gKartYoshi126Wheel0, gKartYoshi105Wheel0,
|
||||
// gKartYoshi084Wheel0, gKartYoshi063Wheel0, gKartYoshi042Wheel0, gKartYoshi021Wheel0,
|
||||
// gKartYoshi000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartYoshiWheels1[] = {
|
||||
// gKartYoshi269Wheel0, gKartYoshi269Wheel0, gKartYoshi249Wheel0, gKartYoshi229Wheel0,
|
||||
// gKartYoshi229Wheel0, gKartYoshi229Wheel0, gKartYoshi209Wheel0, gKartYoshi189Wheel0,
|
||||
// gKartYoshi189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartDKWheels0[] = {
|
||||
// gKartDK168Wheel0, gKartDK147Wheel0, gKartDK126Wheel0, gKartDK105Wheel0,
|
||||
// gKartDK084Wheel0, gKartDK063Wheel0, gKartDK042Wheel0, gKartDK021Wheel0,
|
||||
// gKartDK000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartDKWheels1[] = {
|
||||
// gKartDK269Wheel0, gKartDK269Wheel0, gKartDK249Wheel0, gKartDK229Wheel0,
|
||||
// gKartDK229Wheel0, gKartDK229Wheel0, gKartDK209Wheel0, gKartDK189Wheel0,
|
||||
// gKartDK189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartPeachWheels0[] = {
|
||||
// gKartPeach168Wheel0, gKartPeach147Wheel0, gKartPeach126Wheel0, gKartPeach105Wheel0,
|
||||
// gKartPeach084Wheel0, gKartPeach063Wheel0, gKartPeach042Wheel0, gKartPeach021Wheel0,
|
||||
// gKartPeach000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartPeachWheels1[] = {
|
||||
// gKartPeach269Wheel0, gKartPeach269Wheel0, gKartPeach249Wheel0, gKartPeach229Wheel0,
|
||||
// gKartPeach229Wheel0, gKartPeach229Wheel0, gKartPeach209Wheel0, gKartPeach189Wheel0,
|
||||
// gKartPeach189Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartWarioWheels0[] = {
|
||||
// gKartWario168Wheel0, gKartWario147Wheel0, gKartWario126Wheel0, gKartWario105Wheel0,
|
||||
// gKartWario084Wheel0, gKartWario063Wheel0, gKartWario042Wheel0, gKartWario021Wheel0,
|
||||
// gKartWario000Wheel0
|
||||
// };
|
||||
|
||||
// u8 **gKartWarioWheels1[] = {
|
||||
// gKartWario269Wheel0, gKartWario269Wheel0, gKartWario249Wheel0, gKartWario229Wheel0,
|
||||
// gKartWario229Wheel0, gKartWario229Wheel0, gKartWario209Wheel0, gKartWario189Wheel0,
|
||||
// gKartWario189Wheel0
|
||||
// };
|
||||
|
||||
u32 *D_800DDE34[] = {
|
||||
gKartMarioWheels0, gKartLuigiWheels0, gKartYoshiWheels0, gKartToadWheels0,
|
||||
gKartDKWheels0, gKartWarioWheels0, gKartPeachWheels0, gKartBowserWheels0
|
||||
};
|
||||
|
||||
u8 **gKartMarioWheels1[] = {
|
||||
gKartMario269Wheel0, gKartMario269Wheel0, gKartMario249Wheel0, gKartMario229Wheel0,
|
||||
gKartMario229Wheel0, gKartMario229Wheel0, gKartMario209Wheel0, gKartMario189Wheel0,
|
||||
gKartMario189Wheel0
|
||||
u32 *D_800DDE54[] = {
|
||||
gKartMarioWheels1, gKartLuigiWheels1, gKartYoshiWheels1, gKartToadWheels1,
|
||||
gKartDKWheels1, gKartWarioWheels1, gKartPeachWheels1, gKartBowserWheels1
|
||||
};
|
||||
|
||||
u8 **gKartLuigiWheels0[] = {
|
||||
gKartLuigi168Wheel0, gKartLuigi147Wheel0, gKartLuigi126Wheel0, gKartLuigi105Wheel0,
|
||||
gKartLuigi084Wheel0, gKartLuigi063Wheel0, gKartLuigi042Wheel0, gKartLuigi021Wheel0,
|
||||
gKartLuigi000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartLuigiWheels1[] = {
|
||||
gKartLuigi269Wheel0, gKartLuigi269Wheel0, gKartLuigi249Wheel0, gKartLuigi229Wheel0,
|
||||
gKartLuigi229Wheel0, gKartLuigi229Wheel0, gKartLuigi209Wheel0, gKartLuigi189Wheel0,
|
||||
gKartLuigi189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartBowserWheels0[] = {
|
||||
gKartBowser168Wheel0, gKartBowser147Wheel0, gKartBowser126Wheel0, gKartBowser105Wheel0,
|
||||
gKartBowser084Wheel0, gKartBowser063Wheel0, gKartBowser042Wheel0, gKartBowser021Wheel0,
|
||||
gKartBowser000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartBowserWheels1[] = {
|
||||
gKartBowser269Wheel0, gKartBowser269Wheel0, gKartBowser249Wheel0, gKartBowser229Wheel0,
|
||||
gKartBowser229Wheel0, gKartBowser229Wheel0, gKartBowser209Wheel0, gKartBowser189Wheel0,
|
||||
gKartBowser189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartToadWheels0[] = {
|
||||
gKartToad168Wheel0, gKartToad147Wheel0, gKartToad126Wheel0, gKartToad105Wheel0,
|
||||
gKartToad084Wheel0, gKartToad063Wheel0, gKartToad042Wheel0, gKartToad021Wheel0,
|
||||
gKartToad000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartToadWheels1[] = {
|
||||
gKartToad269Wheel0, gKartToad269Wheel0, gKartToad249Wheel0, gKartToad229Wheel0,
|
||||
gKartToad229Wheel0, gKartToad229Wheel0, gKartToad209Wheel0, gKartToad189Wheel0,
|
||||
gKartToad189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartYoshiWheels0[] = {
|
||||
gKartYoshi168Wheel0, gKartYoshi147Wheel0, gKartYoshi126Wheel0, gKartYoshi105Wheel0,
|
||||
gKartYoshi084Wheel0, gKartYoshi063Wheel0, gKartYoshi042Wheel0, gKartYoshi021Wheel0,
|
||||
gKartYoshi000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartYoshiWheels1[] = {
|
||||
gKartYoshi269Wheel0, gKartYoshi269Wheel0, gKartYoshi249Wheel0, gKartYoshi229Wheel0,
|
||||
gKartYoshi229Wheel0, gKartYoshi229Wheel0, gKartYoshi209Wheel0, gKartYoshi189Wheel0,
|
||||
gKartYoshi189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartDKWheels0[] = {
|
||||
gKartDK168Wheel0, gKartDK147Wheel0, gKartDK126Wheel0, gKartDK105Wheel0,
|
||||
gKartDK084Wheel0, gKartDK063Wheel0, gKartDK042Wheel0, gKartDK021Wheel0,
|
||||
gKartDK000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartDKWheels1[] = {
|
||||
gKartDK269Wheel0, gKartDK269Wheel0, gKartDK249Wheel0, gKartDK229Wheel0,
|
||||
gKartDK229Wheel0, gKartDK229Wheel0, gKartDK209Wheel0, gKartDK189Wheel0,
|
||||
gKartDK189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartPeachWheels0[] = {
|
||||
gKartPeach168Wheel0, gKartPeach147Wheel0, gKartPeach126Wheel0, gKartPeach105Wheel0,
|
||||
gKartPeach084Wheel0, gKartPeach063Wheel0, gKartPeach042Wheel0, gKartPeach021Wheel0,
|
||||
gKartPeach000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartPeachWheels1[] = {
|
||||
gKartPeach269Wheel0, gKartPeach269Wheel0, gKartPeach249Wheel0, gKartPeach229Wheel0,
|
||||
gKartPeach229Wheel0, gKartPeach229Wheel0, gKartPeach209Wheel0, gKartPeach189Wheel0,
|
||||
gKartPeach189Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartWarioWheels0[] = {
|
||||
gKartWario168Wheel0, gKartWario147Wheel0, gKartWario126Wheel0, gKartWario105Wheel0,
|
||||
gKartWario084Wheel0, gKartWario063Wheel0, gKartWario042Wheel0, gKartWario021Wheel0,
|
||||
gKartWario000Wheel0
|
||||
};
|
||||
|
||||
u8 **gKartWarioWheels1[] = {
|
||||
gKartWario269Wheel0, gKartWario269Wheel0, gKartWario249Wheel0, gKartWario229Wheel0,
|
||||
gKartWario229Wheel0, gKartWario229Wheel0, gKartWario209Wheel0, gKartWario189Wheel0,
|
||||
gKartWario189Wheel0
|
||||
};
|
||||
|
||||
u16 **D_800DDE34[] = {
|
||||
(u16 **)gKartMarioWheels0, (u16 **)gKartLuigiWheels0, (u16 **)gKartYoshiWheels0, (u16 **)gKartToadWheels0,
|
||||
(u16 **)gKartDKWheels0, (u16 **)gKartWarioWheels0, (u16 **)gKartPeachWheels0, (u16 **)gKartBowserWheels0
|
||||
};
|
||||
|
||||
u16 **D_800DDE54[] = {
|
||||
(u16 **)gKartMarioWheels1, (u16 **)gKartLuigiWheels1, (u16 **)gKartYoshiWheels1, (u16 **)gKartToadWheels1,
|
||||
(u16 **)gKartDKWheels1, (u16 **)gKartWarioWheels1, (u16 **)gKartPeachWheels1, (u16 **)gKartBowserWheels1
|
||||
const char** wheelPtr[] = {
|
||||
mario_kart_wheels, luigi_kart_wheels, yoshi_kart_wheels, toad_kart_wheels,
|
||||
donkeykong_kart_wheels, wario_kart_wheels, peach_kart_wheels, bowser_kart_wheels,
|
||||
};
|
||||
|
||||
s32 D_800DDE74[] = {
|
||||
@@ -1787,8 +1821,9 @@ void func_80026B4C(Player *player, s8 playerId, s8 screenId, s8 arg3) {
|
||||
s16 temp_t2 = player->unk_240;
|
||||
s16 temp_num = 0x40; // setting this as a variable gets rid of regalloc
|
||||
|
||||
u16 *wheel0 = (u16 *) LOAD_ASSET(D_800DDE34[player->characterId][temp_t1]);
|
||||
u16 *wheel1 = (u16 *) LOAD_ASSET(D_800DDE54[player->characterId][temp_t1]);
|
||||
u8 character = player->characterId;
|
||||
u32 wheel0 = (D_800DDE34[player->characterId][temp_t1]);
|
||||
u32 wheel1 = (D_800DDE54[player->characterId][temp_t1]);
|
||||
|
||||
if (((player->effects & 0x4000) == 0x4000) && ((player->type & PLAYER_START_SEQUENCE) == 0)) {
|
||||
if (((player->effects & 0x80) != 0x80) && ((player->effects & 0x40) != 0x40)
|
||||
@@ -1796,15 +1831,19 @@ void func_80026B4C(Player *player, s8 playerId, s8 screenId, s8 arg3) {
|
||||
&& ((player->effects & 0x800000) != 0x800000) && ((player->unk_044 & 0x800) == 0)) {
|
||||
|
||||
if (temp_t0 <= 20) {
|
||||
func_80027C74(player, (uintptr_t*) (wheel0 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel0 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
} else {
|
||||
func_80027C74(player, (uintptr_t*) (wheel1 + (temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40) + 0x600), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
int32_t offset = (((((temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40) ) + 0x600)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel1 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
}
|
||||
} else {
|
||||
if (temp_t0 == 0) {
|
||||
func_80027C74(player, (uintptr_t*) (wheel0 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel0 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
} else {
|
||||
func_80027C74(player, (uintptr_t*) (wheel1 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel1 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -1812,18 +1851,42 @@ void func_80026B4C(Player *player, s8 playerId, s8 screenId, s8 arg3) {
|
||||
&& ((player->effects & 0x80000) != 0x80000) && ((player->effects & 0x800000) != 0x800000)
|
||||
&& ((player->effects & 0x20000) != 0x20000) && ((player->unk_044 & 0x800) == 0)) {
|
||||
|
||||
//printf("---start---\n");
|
||||
|
||||
|
||||
if (temp_t0 <= 20) {
|
||||
func_80027C74(player, (uintptr_t*) (wheel0 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
//printf("OFFSET VAL 0x%X\n", ((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)));
|
||||
//printf("OFFSET IDX %d\n", offset);
|
||||
func_80027C74(player, wheelPtr[character][wheel0 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
} else {
|
||||
func_80027C74(player, (uintptr_t*) (wheel1 + (temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40) + 0x600), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
|
||||
// printf("wheel1\n");
|
||||
// printf("OFFSET: 0x%X, t0: 0x%X, temp_num: 0x%X t2: 0x%X, t2_8: 0x%X\n", (((temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40) + 0x600)), temp_t0, temp_num, temp_t2, (temp_t2 >> 8));
|
||||
// printf("wheel offset: 0x%X, w0: 0x%X, t0: 0x%X\n", wheel1 + (((temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40) + 0x600)), wheel1, temp_t0);
|
||||
// printf("wheel: 0x%X, char: 0x%X, t1: 0x%X\n", wheel1, player->characterId, temp_t1);
|
||||
|
||||
int32_t offset = (((((temp_t0 - 21) * (temp_num * 4) + ((temp_t2 >> 8) * 0x40))+ 0x600)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel1 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
}
|
||||
} else {
|
||||
if (temp_t0 == 0) {
|
||||
func_80027C74(player, (uintptr_t*) (wheel0 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
// printf("wheel0\n");
|
||||
// printf("OFFSET: 0x%X, t0: 0x%X, temp_num: 0x%X t2: 0x%X, t2_8: 0x%X\n", (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40), temp_t0, temp_num, temp_t2, (temp_t2 >> 8));
|
||||
// printf("wheel offset: 0x%X, w0: 0x%X, t0: 0x%X\n", wheel0 + ((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), wheel0, temp_t0);
|
||||
// printf("wheel: 0x%X, char: 0x%X, t1: 0x%X\n", wheel0, player->characterId, temp_t1);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel0 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
} else {
|
||||
func_80027C74(player, (uintptr_t*) (wheel1 + (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
// printf("wheel1_2\n");
|
||||
// printf("OFFSET: 0x%X, t0: 0x%X, temp_num: 0x%X t2: 0x%X, t2_8: 0x%X\n", (temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40), temp_t0, temp_num, temp_t2, (temp_t2 >> 8));
|
||||
// printf("wheel offset: 0x%X, w0: 0x%X, t0: 0x%X\n", wheel1 + ((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)), wheel1, temp_t0);
|
||||
// printf("wheel: 0x%X, char: 0x%X, t1: 0x%X\n", wheel1, player->characterId, temp_t1);
|
||||
int32_t offset = (((temp_t0 * temp_num * 4) + ((temp_t2 >> 8) * 0x40)) * 2) / 0x80;
|
||||
func_80027C74(player, wheelPtr[character][wheel1 + offset], D_802F1F80_WHEEL(arg3, screenId, playerId), 0x80);
|
||||
}
|
||||
}
|
||||
//printf("---end---\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+18
-18
@@ -106,26 +106,26 @@ extern Vtx D_800E4EC0[];
|
||||
extern Vtx D_800E4FD0[];
|
||||
extern Vtx D_800E50D0[];
|
||||
|
||||
extern u8 **gKartMarioWheels0[];
|
||||
extern u8 **gKartMarioWheels1[];
|
||||
extern u8 **gKartLuigiWheels0[];
|
||||
extern u8 **gKartLuigiWheels1[];
|
||||
extern u8 **gKartBowserWheels0[];
|
||||
extern u8 **gKartBowserWheels1[];
|
||||
extern u8 **gKartToadWheels0[];
|
||||
extern u8 **gKartToadWheels1[];
|
||||
extern u8 **gKartYoshiWheels0[];
|
||||
extern u8 **gKartYoshiWheels1[];
|
||||
extern u8 **gKartDKWheels0[];
|
||||
extern u8 **gKartDKWheels1[];
|
||||
extern u8 **gKartPeachWheels0[];
|
||||
extern u8 **gKartPeachWheels1[];
|
||||
extern u8 **gKartWarioWheels0[];
|
||||
extern u8 **gKartWarioWheels1[];
|
||||
extern u32 gKartMarioWheels0[];
|
||||
extern u32 gKartMarioWheels1[];
|
||||
extern u32 gKartLuigiWheels0[];
|
||||
extern u32 gKartLuigiWheels1[];
|
||||
extern u32 gKartBowserWheels0[];
|
||||
extern u32 gKartBowserWheels1[];
|
||||
extern u32 gKartToadWheels0[];
|
||||
extern u32 gKartToadWheels1[];
|
||||
extern u32 gKartYoshiWheels0[];
|
||||
extern u32 gKartYoshiWheels1[];
|
||||
extern u32 gKartDKWheels0[];
|
||||
extern u32 gKartDKWheels1[];
|
||||
extern u32 gKartPeachWheels0[];
|
||||
extern u32 gKartPeachWheels1[];
|
||||
extern u32 gKartWarioWheels0[];
|
||||
extern u32 gKartWarioWheels1[];
|
||||
|
||||
|
||||
extern u16 **D_800DDE34[];
|
||||
extern u16 **D_800DDE54[];
|
||||
extern u32 *D_800DDE34[];
|
||||
extern u32 *D_800DDE54[];
|
||||
|
||||
|
||||
// These all come the kart data stuff, they should end up in their own inc.c eventually
|
||||
|
||||
+13
-2
@@ -68,14 +68,25 @@ extern StaffGhost *d_luigi_raceway_staff_ghost;
|
||||
|
||||
void func_80004EF0(void) {
|
||||
D_80162DA4 = (u32 *) &D_802BFB80.arraySize8[0][2][3];
|
||||
u8 *dest = (u8 *) D_80162DA4;
|
||||
osInvalDCache(&D_80162DA4[0], 0x4000);
|
||||
//osPiStartDma(&gDmaIoMesg, 0, 0, (uintptr_t) &_kart_texturesSegmentRomStart[SEGMENT_OFFSET(D_80162DC4)], D_80162DA4, 0x4000, &gDmaMesgQueue);
|
||||
memcpy(&D_80162DA4, D_80162DC4, 0x4000);
|
||||
|
||||
u8 *ghost = (u8 *) LOAD_ASSET(D_80162DC4);
|
||||
|
||||
// Manual memcpy required for byte swap
|
||||
for (int i = 0; i < 0x4000; i += 4) {
|
||||
dest[i] = ghost[i + 3];
|
||||
dest[i + 1] = ghost[i + 2];
|
||||
dest[i + 2] = ghost[i + 1];
|
||||
dest[i + 3] = ghost[i];
|
||||
}
|
||||
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
D_80162D9C = (*D_80162DA4 & 0xFF0000);
|
||||
D_80162DA0 = 0;
|
||||
}
|
||||
|
||||
|
||||
void func_80004FB0(void) {
|
||||
D_80162DB4 = (u32 *) &D_802BFB80.arraySize8[0][D_80162DD0][3];
|
||||
D_80162DAC = *D_80162DB4 & 0xFF0000;
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
bowser_kart_wheels:
|
||||
range: [0x9C088, 0xC0208]
|
||||
mode: APPEND
|
||||
bowser_kart_frame000:
|
||||
symbol: gKartBowser000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
donkeykong_kart_wheels:
|
||||
range: [0x8DC94, 0xB1E14]
|
||||
mode: APPEND
|
||||
donkeykong_kart_frame000:
|
||||
symbol: gKartDK000
|
||||
type: texture
|
||||
|
||||
@@ -432,7 +432,7 @@ d_course_kalimari_desert_tree_tlut:
|
||||
width: 16
|
||||
height: 16
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_cactus_model1:
|
||||
symbol: d_course_kalimari_desert_cactus_model1
|
||||
type: vtx
|
||||
@@ -442,22 +442,19 @@ d_course_kalimari_desert_cactus_model2:
|
||||
symbol: d_course_kalimari_desert_cactus_model2
|
||||
type: vtx
|
||||
offset: 0x84e8
|
||||
count: 4
|
||||
count: 8
|
||||
d_course_kalimari_desert_dl_cactus1:
|
||||
symbol: d_course_kalimari_desert_dl_cactus1
|
||||
type: gfx
|
||||
offset: 0x8528
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_cactus2:
|
||||
symbol: d_course_kalimari_desert_dl_cactus2
|
||||
type: gfx
|
||||
offset: 0x8628
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_cactus3:
|
||||
symbol: d_course_kalimari_desert_dl_cactus3
|
||||
type: gfx
|
||||
offset: 0x8728
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_crossing_sign_inactive_top_left:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_inactive_top_left
|
||||
type: texture
|
||||
@@ -465,7 +462,7 @@ d_course_kalimari_desert_crossing_sign_inactive_top_left:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_inactive_top_right:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_inactive_top_right
|
||||
type: texture
|
||||
@@ -473,7 +470,7 @@ d_course_kalimari_desert_crossing_sign_inactive_top_right:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_inactive_bottom_left:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_inactive_bottom_left
|
||||
type: texture
|
||||
@@ -481,7 +478,7 @@ d_course_kalimari_desert_crossing_sign_inactive_bottom_left:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_inactive_bottom_right:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_inactive_bottom_right
|
||||
type: texture
|
||||
@@ -489,7 +486,7 @@ d_course_kalimari_desert_crossing_sign_inactive_bottom_right:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_active_top_left:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_active_top_left
|
||||
type: texture
|
||||
@@ -497,7 +494,7 @@ d_course_kalimari_desert_crossing_sign_active_top_left:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_active_top_right:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_active_top_right
|
||||
type: texture
|
||||
@@ -505,7 +502,7 @@ d_course_kalimari_desert_crossing_sign_active_top_right:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_active_bottom_left:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_active_bottom_left
|
||||
type: texture
|
||||
@@ -513,7 +510,7 @@ d_course_kalimari_desert_crossing_sign_active_bottom_left:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_sign_active_bottom_right:
|
||||
symbol: d_course_kalimari_desert_crossing_sign_active_bottom_right
|
||||
type: texture
|
||||
@@ -521,7 +518,7 @@ d_course_kalimari_desert_crossing_sign_active_bottom_right:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_crossing_signal_active_model:
|
||||
symbol: d_course_kalimari_desert_crossing_signal_active_model
|
||||
type: vtx
|
||||
@@ -604,7 +601,7 @@ d_course_kalimari_desert_locomotive_64:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_cab_window:
|
||||
symbol: d_course_kalimari_desert_locomotive_cab_window
|
||||
type: texture
|
||||
@@ -612,7 +609,7 @@ d_course_kalimari_desert_locomotive_cab_window:
|
||||
width: 64
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_cab_window_front:
|
||||
symbol: d_course_kalimari_desert_locomotive_cab_window_front
|
||||
type: texture
|
||||
@@ -620,7 +617,7 @@ d_course_kalimari_desert_locomotive_cab_window_front:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_chassis:
|
||||
symbol: d_course_kalimari_desert_locomotive_chassis
|
||||
type: texture
|
||||
@@ -628,7 +625,7 @@ d_course_kalimari_desert_locomotive_chassis:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_lamp:
|
||||
symbol: d_course_kalimari_desert_locomotive_lamp
|
||||
type: texture
|
||||
@@ -636,7 +633,7 @@ d_course_kalimari_desert_locomotive_lamp:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_boiler:
|
||||
symbol: d_course_kalimari_desert_locomotive_boiler
|
||||
type: texture
|
||||
@@ -644,7 +641,7 @@ d_course_kalimari_desert_locomotive_boiler:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_carriage_railing:
|
||||
symbol: d_course_kalimari_desert_carriage_railing
|
||||
type: texture
|
||||
@@ -652,7 +649,7 @@ d_course_kalimari_desert_carriage_railing:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_tender:
|
||||
symbol: d_course_kalimari_desert_locomotive_tender
|
||||
type: texture
|
||||
@@ -660,7 +657,7 @@ d_course_kalimari_desert_locomotive_tender:
|
||||
width: 64
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_railway_ballast:
|
||||
symbol: d_course_kalimari_desert_railway_ballast
|
||||
type: texture
|
||||
@@ -668,7 +665,7 @@ d_course_kalimari_desert_railway_ballast:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_carriage_lower:
|
||||
symbol: d_course_kalimari_desert_carriage_lower
|
||||
type: texture
|
||||
@@ -676,7 +673,7 @@ d_course_kalimari_desert_carriage_lower:
|
||||
width: 32
|
||||
height: 32
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_carriage_door:
|
||||
symbol: d_course_kalimari_desert_carriage_door
|
||||
type: texture
|
||||
@@ -684,7 +681,7 @@ d_course_kalimari_desert_carriage_door:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_carriage_window:
|
||||
symbol: d_course_kalimari_desert_carriage_window
|
||||
type: texture
|
||||
@@ -692,7 +689,7 @@ d_course_kalimari_desert_carriage_window:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_locomotive_model_lod2:
|
||||
symbol: d_course_kalimari_desert_locomotive_model_lod2
|
||||
type: vtx
|
||||
@@ -857,17 +854,14 @@ d_course_kalimari_desert_dl_1C0B0:
|
||||
symbol: d_course_kalimari_desert_dl_1C0B0
|
||||
type: gfx
|
||||
offset: 0x1c0b0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1C0E0:
|
||||
symbol: d_course_kalimari_desert_dl_1C0E0
|
||||
type: gfx
|
||||
offset: 0x1c0e0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1C0F0:
|
||||
symbol: d_course_kalimari_desert_dl_1C0F0
|
||||
type: gfx
|
||||
offset: 0x1c0f0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_locomotive_model_lod1:
|
||||
symbol: d_course_kalimari_desert_locomotive_model_lod1
|
||||
type: vtx
|
||||
@@ -997,17 +991,14 @@ d_course_kalimari_desert_dl_1D630:
|
||||
symbol: d_course_kalimari_desert_dl_1D630
|
||||
type: gfx
|
||||
offset: 0x1d630
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1D660:
|
||||
symbol: d_course_kalimari_desert_dl_1D660
|
||||
type: gfx
|
||||
offset: 0x1d660
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1D670:
|
||||
symbol: d_course_kalimari_desert_dl_1D670
|
||||
type: gfx
|
||||
offset: 0x1d670
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_locomotive_model_lod0:
|
||||
symbol: d_course_kalimari_desert_locomotive_model_lod0
|
||||
type: vtx
|
||||
@@ -1132,17 +1123,14 @@ d_course_kalimari_desert_dl_1E8D0:
|
||||
symbol: d_course_kalimari_desert_dl_1E8D0
|
||||
type: gfx
|
||||
offset: 0x1e8d0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1E900:
|
||||
symbol: d_course_kalimari_desert_dl_1E900
|
||||
type: gfx
|
||||
offset: 0x1e900
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1E910:
|
||||
symbol: d_course_kalimari_desert_dl_1E910
|
||||
type: gfx
|
||||
offset: 0x1e910
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_tender_model_lod2:
|
||||
symbol: d_course_kalimari_desert_tender_model_lod2
|
||||
type: vtx
|
||||
@@ -1187,17 +1175,14 @@ d_course_kalimari_desert_dl_1F1F8:
|
||||
symbol: d_course_kalimari_desert_dl_1F1F8
|
||||
type: gfx
|
||||
offset: 0x1f1f8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1F218:
|
||||
symbol: d_course_kalimari_desert_dl_1F218
|
||||
type: gfx
|
||||
offset: 0x1f218
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1F228:
|
||||
symbol: d_course_kalimari_desert_dl_1F228
|
||||
type: gfx
|
||||
offset: 0x1f228
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_tender_model_lod1:
|
||||
symbol: d_course_kalimari_desert_tender_model_lod1
|
||||
type: vtx
|
||||
@@ -1227,17 +1212,14 @@ d_course_kalimari_desert_dl_1F6E0:
|
||||
symbol: d_course_kalimari_desert_dl_1F6E0
|
||||
type: gfx
|
||||
offset: 0x1f6e0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1F6F8:
|
||||
symbol: d_course_kalimari_desert_dl_1F6F8
|
||||
type: gfx
|
||||
offset: 0x1f6f8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1F708:
|
||||
symbol: d_course_kalimari_desert_dl_1F708
|
||||
type: gfx
|
||||
offset: 0x1f708
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1F720:
|
||||
symbol: d_course_kalimari_desert_dl_1F720
|
||||
type: gfx
|
||||
@@ -1272,17 +1254,14 @@ d_course_kalimari_desert_dl_1FAD0:
|
||||
symbol: d_course_kalimari_desert_dl_1FAD0
|
||||
type: gfx
|
||||
offset: 0x1fad0
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1FAE8:
|
||||
symbol: d_course_kalimari_desert_dl_1FAE8
|
||||
type: gfx
|
||||
offset: 0x1fae8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1FAF8:
|
||||
symbol: d_course_kalimari_desert_dl_1FAF8
|
||||
type: gfx
|
||||
offset: 0x1faf8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_1FB10:
|
||||
symbol: d_course_kalimari_desert_dl_1FB10
|
||||
type: gfx
|
||||
@@ -1387,22 +1366,18 @@ d_course_kalimari_desert_dl_209C8:
|
||||
symbol: d_course_kalimari_desert_dl_209C8
|
||||
type: gfx
|
||||
offset: 0x209c8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_209F8:
|
||||
symbol: d_course_kalimari_desert_dl_209F8
|
||||
type: gfx
|
||||
offset: 0x209f8
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_20A08:
|
||||
symbol: d_course_kalimari_desert_dl_20A08
|
||||
type: gfx
|
||||
offset: 0x20a08
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_20A20:
|
||||
symbol: d_course_kalimari_desert_dl_20A20
|
||||
type: gfx
|
||||
offset: 0x20a20
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_carriage_chassis_model_lod1:
|
||||
symbol: d_course_kalimari_desert_carriage_chassis_model_lod1
|
||||
type: vtx
|
||||
@@ -1457,17 +1432,14 @@ d_course_kalimari_desert_dl_21200:
|
||||
symbol: d_course_kalimari_desert_dl_21200
|
||||
type: gfx
|
||||
offset: 0x21200
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21210:
|
||||
symbol: d_course_kalimari_desert_dl_21210
|
||||
type: gfx
|
||||
offset: 0x21210
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21220:
|
||||
symbol: d_course_kalimari_desert_dl_21220
|
||||
type: gfx
|
||||
offset: 0x21220
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21238:
|
||||
symbol: d_course_kalimari_desert_dl_21238
|
||||
type: gfx
|
||||
@@ -1492,17 +1464,14 @@ d_course_kalimari_desert_dl_21518:
|
||||
symbol: d_course_kalimari_desert_dl_21518
|
||||
type: gfx
|
||||
offset: 0x21518
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21540:
|
||||
symbol: d_course_kalimari_desert_dl_21540
|
||||
type: gfx
|
||||
offset: 0x21540
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21550:
|
||||
symbol: d_course_kalimari_desert_dl_21550
|
||||
type: gfx
|
||||
offset: 0x21550
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_carriage_model_lod0:
|
||||
symbol: d_course_kalimari_desert_carriage_model_lod0
|
||||
type: vtx
|
||||
@@ -1542,17 +1511,14 @@ d_course_kalimari_desert_dl_21A60:
|
||||
symbol: d_course_kalimari_desert_dl_21A60
|
||||
type: gfx
|
||||
offset: 0x21a60
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21A70:
|
||||
symbol: d_course_kalimari_desert_dl_21A70
|
||||
type: gfx
|
||||
offset: 0x21a70
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21A80:
|
||||
symbol: d_course_kalimari_desert_dl_21A80
|
||||
type: gfx
|
||||
offset: 0x21a80
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21A98:
|
||||
symbol: d_course_kalimari_desert_dl_21A98
|
||||
type: gfx
|
||||
@@ -1577,17 +1543,14 @@ d_course_kalimari_desert_dl_21C58:
|
||||
symbol: d_course_kalimari_desert_dl_21C58
|
||||
type: gfx
|
||||
offset: 0x21c58
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21C80:
|
||||
symbol: d_course_kalimari_desert_dl_21C80
|
||||
type: gfx
|
||||
offset: 0x21c80
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_21C90:
|
||||
symbol: d_course_kalimari_desert_dl_21C90
|
||||
type: gfx
|
||||
offset: 0x21c90
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_unknown_model1:
|
||||
symbol: d_course_kalimari_desert_unknown_model1
|
||||
type: vtx
|
||||
@@ -1605,12 +1568,11 @@ d_course_kalimari_desert_train_bogie:
|
||||
width: 32
|
||||
height: 64
|
||||
format: rgba16
|
||||
ctype: u8
|
||||
ctype: u16
|
||||
d_course_kalimari_desert_dl_22D28:
|
||||
symbol: d_course_kalimari_desert_dl_22D28
|
||||
type: gfx
|
||||
offset: 0x22d28
|
||||
otr_mode: index
|
||||
d_course_kalimari_desert_dl_22D70:
|
||||
symbol: d_course_kalimari_desert_dl_22D70
|
||||
type: gfx
|
||||
|
||||
@@ -14,4 +14,4 @@ d_course_kalimari_desert_packed_dls:
|
||||
symbol: d_course_kalimari_desert_packed_dls
|
||||
type: blob
|
||||
offset: 0x934004
|
||||
size: 0x2FC6
|
||||
size: 0x2FC6
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
luigi_kart_wheels:
|
||||
range: [0x769FC, 0x9AB7C]
|
||||
mode: APPEND
|
||||
luigi_kart_frame000:
|
||||
symbol: gKartLuigi000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
mario_kart_wheels:
|
||||
range: [0x6E4B0, 0x92630]
|
||||
mode: APPEND
|
||||
mario_kart_frame000:
|
||||
symbol: gKartMario000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
peach_kart_wheels:
|
||||
range: [0x6FDE8, 0x93F68]
|
||||
mode: APPEND
|
||||
peach_kart_frame000:
|
||||
symbol: gKartPeach000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
toad_kart_wheels:
|
||||
range: [0x6C6E8, 0x90868]
|
||||
mode: APPEND
|
||||
toad_kart_frame000:
|
||||
symbol: gKartToad000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
wario_kart_wheels:
|
||||
range: [0x78F9C, 0x9D11C]
|
||||
mode: APPEND
|
||||
wario_kart_frame000:
|
||||
symbol: gKartWario000
|
||||
type: texture
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
header:
|
||||
- '#include <libultraship.h>'
|
||||
- '#include <align_asset_macro.h>'
|
||||
tables:
|
||||
yoshi_kart_wheels:
|
||||
range: [0x731A8, 0x97328]
|
||||
mode: APPEND
|
||||
yoshi_kart_frame000:
|
||||
symbol: gKartYoshi000
|
||||
type: texture
|
||||
|
||||
Reference in New Issue
Block a user