mirror of https://github.com/n64decomp/mk64.git
match func_80099AEC and fix some warnings (#699)
* match func_80099AEC and fix some warnings
This commit is contained in:
parent
731b24eabf
commit
809450525a
2
Makefile
2
Makefile
|
@ -349,7 +349,7 @@ CC_CHECK ?= gcc
|
|||
CC_CHECK_CFLAGS := -fsyntax-only -fsigned-char $(CC_CFLAGS) $(TARGET_CFLAGS) -std=gnu90 -Wall -Wempty-body -Wextra -Wno-format-security -Wno-main -DNON_MATCHING -DAVOID_UB $(DEF_INC_CFLAGS)
|
||||
|
||||
# C compiler options
|
||||
HIDE_WARNINGS := -woff 838,649
|
||||
HIDE_WARNINGS := -woff 838,649,807
|
||||
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
|
||||
ifeq ($(COMPILER),gcc)
|
||||
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra
|
||||
|
|
|
@ -18,7 +18,7 @@ This stuff is all about the b-splines used objects like Lakitu and the Boos on B
|
|||
For splines used during the award ceremony and credits, see src/ending/ceremony_and_credits.h
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct SplineControlPoint {
|
||||
/* 0x0 */ Vec3s pos;
|
||||
// Don't really know what to call this member.
|
||||
// It somehow controls the speed of travel along a segment of the spline but I don't really get how it works
|
||||
|
@ -28,7 +28,7 @@ typedef struct {
|
|||
// WARNING!!!
|
||||
// You really, really shouldn't use this type for actual spline data. This is intended as a generic SplineData
|
||||
// type. I would use a union, but that would cause significant ugliness elsewhere in the codebase
|
||||
typedef struct {
|
||||
typedef struct SplineData {
|
||||
// This name is a little misleading
|
||||
// The control point arrays have more control points in them than this number indicates. Not sure why though.
|
||||
s16 numControlPoints;
|
||||
|
|
|
@ -111,7 +111,7 @@ u16 D_800EA1C4 = 0;
|
|||
Vec3f D_800EA1C8 = { 0.0f, 0.0f, 0.0f };
|
||||
f32 D_800EA1D4 = 1.0f;
|
||||
u32 external_unused_u32_0 = 0x00000000;
|
||||
u8 D_800EA1DC = 0;
|
||||
s8 D_800EA1DC = 0;
|
||||
u32 external_unused_u32_1 = 0x00000000;
|
||||
u8 D_800EA1E4 = 0;
|
||||
u8 D_800EA1E8 = 0;
|
||||
|
@ -1828,11 +1828,11 @@ void func_800C5E38(u8 playerId) {
|
|||
if ((s32) D_800EA1C0 < 2) {
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF9, 0x26), &D_800E9F7C[playerId].pos, playerId,
|
||||
&D_800E9F7C[playerId].unk_38, &D_800E9F04[playerId],
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
} else {
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0x80, 0x26), &D_800E9F7C[playerId].pos, playerId,
|
||||
&D_800E9F7C[playerId].unk_38, &D_800E9F04[playerId],
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1998,144 +1998,144 @@ void func_800C683C(u8 cameraId) {
|
|||
switch (D_800E9E74[cameraId]) {
|
||||
case 3:
|
||||
play_sound(SOUND_ACTION_TYRE_SQUEAL, &D_800E9F7C[cameraId].pos, cameraId, &D_800E9F14[cameraId],
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ACTION_TYRE_SQUEAL;
|
||||
break;
|
||||
case 18:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF8, 0x1D), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF8, 0x1D);
|
||||
break;
|
||||
case 19:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF8, 0x22), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF8, 0x22);
|
||||
break;
|
||||
case 1:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x09), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x09);
|
||||
break;
|
||||
case 2:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF4, 0x0A), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF4, 0x0A);
|
||||
break;
|
||||
case 17:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x1E), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x1E);
|
||||
break;
|
||||
case 15:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x1F), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x1F);
|
||||
break;
|
||||
case 16:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x21), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x21);
|
||||
break;
|
||||
case 20:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x27), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x27);
|
||||
break;
|
||||
case 25:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x20), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x20);
|
||||
break;
|
||||
case 26:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x23), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x23);
|
||||
break;
|
||||
case 27:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0x80, 0x46), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0x80, 0x46);
|
||||
break;
|
||||
case 28:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x25), &D_800E9F7C[cameraId].pos, cameraId,
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9F14[cameraId], &D_800EA1D4, (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x25);
|
||||
break;
|
||||
case 4:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0B), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0B);
|
||||
break;
|
||||
case 5:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0C), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0C);
|
||||
break;
|
||||
case 6:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0D), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0D);
|
||||
break;
|
||||
case 7:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0E), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0E);
|
||||
break;
|
||||
case 8:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0F), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x0F);
|
||||
break;
|
||||
case 9:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x10), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x10);
|
||||
break;
|
||||
case 10:
|
||||
case 14:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x11), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x11);
|
||||
break;
|
||||
case 11:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x12), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x12);
|
||||
break;
|
||||
case 12:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x13), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x13);
|
||||
break;
|
||||
case 29:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x48), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x48);
|
||||
break;
|
||||
case 30:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x49), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x49);
|
||||
break;
|
||||
case 31:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x4A), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x4A);
|
||||
break;
|
||||
case 13:
|
||||
case 22:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x29), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x29);
|
||||
break;
|
||||
case 23:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x2A), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x2A);
|
||||
break;
|
||||
case 24:
|
||||
play_sound(SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x2B), &D_800E9F7C[cameraId].pos, cameraId, &D_800EA1D4,
|
||||
&D_800E9EF4[cameraId], (u8*) &D_800E9F7C[cameraId].unk_14);
|
||||
&D_800E9EF4[cameraId], (s8*) &D_800E9F7C[cameraId].unk_14);
|
||||
D_800E9E94[cameraId] = SOUND_ARG_LOAD(0x01, 0x00, 0xF0, 0x2B);
|
||||
break;
|
||||
default:
|
||||
|
@ -2653,7 +2653,7 @@ void func_800C847C(u8 playerId) {
|
|||
(D_800EA0EC[playerId] == 0)) {
|
||||
play_sound((gPlayers[playerId].characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x05),
|
||||
&D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4,
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -2665,7 +2665,7 @@ void func_800C847C(u8 playerId) {
|
|||
if ((gCurrentCourseId == COURSE_KOOPA_BEACH) && (D_800EA0EC[playerId] == 0)) {
|
||||
play_sound((gPlayers[playerId].characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08),
|
||||
&D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4,
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2869,7 +2869,7 @@ void func_800C9060(u8 playerId, u32 soundBits) {
|
|||
D_800EA0EC[playerId] = 1;
|
||||
case 0:
|
||||
play_sound(soundBits, &D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4,
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2888,10 +2888,10 @@ void func_800C90F4(u8 playerId, u32 soundBits) {
|
|||
}
|
||||
if (((gPlayers[playerId].effects & 0x40000000) == 0x40000000) && ((s32) D_800E9F2C[playerId] >= 0x1F)) {
|
||||
play_sound(soundBits, &D_800E9F7C[playerId].pos, playerId, &D_800EA150, &D_800EA1D4,
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
} else {
|
||||
play_sound(soundBits, &D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4,
|
||||
(u8*) &D_800E9F7C[playerId].unk_14);
|
||||
(s8*) &D_800E9F7C[playerId].unk_14);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -2917,10 +2917,10 @@ void func_800C92CC(u8 playerId, u32 soundBits) {
|
|||
temp_v0->unk34 = 170.0f;
|
||||
if (((gPlayers[playerId].effects & 0x40000000) == 0x40000000) && ((s32) D_800E9F2C[playerId] >= 0x1F)) {
|
||||
play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, &temp_v0->unk18, var_s0,
|
||||
&D_800EA150, &D_800EA1D4, &D_800EA06C[playerId].unk0C);
|
||||
&D_800EA150, &D_800EA1D4, (s8*) &D_800EA06C[playerId].unk0C);
|
||||
} else {
|
||||
play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, &temp_v0->unk18, var_s0,
|
||||
&temp_v0->unk2C, &D_800EA1D4, &D_800EA06C[playerId].unk0C);
|
||||
&temp_v0->unk2C, &D_800EA1D4, (s8*) &D_800EA06C[playerId].unk0C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3011,7 +3011,7 @@ void func_800C94A4(u8 playerId) {
|
|||
break;
|
||||
}
|
||||
play_sound(var_a0, &D_800E9F7C[playerId].pos, playerId, &D_800E9F7C[playerId].unk_0C,
|
||||
&D_800E9F7C[playerId].unk_10, (u8*) &D_800E9F7C[playerId].unk_14);
|
||||
&D_800E9F7C[playerId].unk_10, (s8*) &D_800E9F7C[playerId].unk_14);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -3099,7 +3099,7 @@ void func_800C9A88(u8 playerId) {
|
|||
if (temp_v0_6 != NULL) {
|
||||
temp_v0_6->unk34 = 40.0f;
|
||||
play_sound(soundBits, &temp_v0_6->unk18, var_s0, &temp_v0_6->unk2C,
|
||||
&D_800EA06C[playerId].unk00[2], &D_800EA06C[playerId].unk0C);
|
||||
&D_800EA06C[playerId].unk00[2], (s8*) &D_800EA06C[playerId].unk0C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3292,7 +3292,7 @@ void func_800CA49C(u8 arg0) {
|
|||
void func_800CA59C(u8 playerId) {
|
||||
if ((D_800EA0EC[playerId] == 0) && (D_800EA108 == 0)) {
|
||||
play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008001, &D_800E9F7C[playerId].pos, playerId,
|
||||
&D_800EA1D4, &D_800EA1D4, (u8*) &D_800E9F7C[playerId].unk_14);
|
||||
&D_800EA1D4, &D_800EA1D4, (s8*) &D_800E9F7C[playerId].unk_14);
|
||||
D_800EA164 = 1;
|
||||
if ((s32) D_800EA1C0 >= 2) {
|
||||
func_800C8F80(playerId, 0x0100FF2C);
|
||||
|
@ -3320,7 +3320,7 @@ void func_800CA730(u8 arg0) {
|
|||
if (D_800EA0EC[arg0] == 0) {
|
||||
if ((D_800EA108 == 0) && (D_800EA10C[arg0] != 0)) {
|
||||
play_sound(gPlayers[arg0].characterId * 0x10 + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08),
|
||||
&D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, (u8*) &D_800E9F7C[arg0].unk_14);
|
||||
&D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, (s8*) &D_800E9F7C[arg0].unk_14);
|
||||
if (D_800EA10C[arg0] != 0) {
|
||||
if ((s32) D_800EA1C0 >= 2) {
|
||||
func_800C9018(arg0, SOUND_ARG_LOAD(0x01, 0x00, 0xFF, 0x2C));
|
||||
|
@ -3442,7 +3442,7 @@ void func_800CADD0(u8 arg0, f32 arg1) {
|
|||
}
|
||||
D_800EA110[arg0] = arg1;
|
||||
play_sound(0x1900A209U, &D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA110[arg0],
|
||||
(u8*) &D_800E9F7C[arg0].unk_14);
|
||||
(s8*) &D_800E9F7C[arg0].unk_14);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -3466,7 +3466,7 @@ void func_800CAEC4(u8 playerId, f32 arg1) {
|
|||
}
|
||||
D_800EA120[playerId] = arg1;
|
||||
play_sound(gCurrentCourseId + 0x19007020, &D_800E9F7C[playerId].pos, playerId, &D_800EA1D4,
|
||||
&D_800EA120[playerId], (u8*) &D_800E9F7C[playerId].unk_14);
|
||||
&D_800EA120[playerId], (s8*) &D_800E9F7C[playerId].unk_14);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -416,7 +416,7 @@ extern u16 D_800EA1C4;
|
|||
// a sound source, its usage makes it look like a 0'd Vec3f for general usage
|
||||
extern Vec3f D_800EA1C8; // = {0.0f, 0.0f, 0.0f}
|
||||
extern f32 D_800EA1D4;
|
||||
extern u8 D_800EA1DC; // = 0;
|
||||
extern s8 D_800EA1DC; // = 0;
|
||||
extern u8 D_800EA1E4;
|
||||
extern u8 D_800EA1E8;
|
||||
extern u8 D_800EA1EC;
|
||||
|
|
|
@ -165,7 +165,7 @@ void func_8006EF60(void) {
|
|||
s16 huh;
|
||||
u8* wut;
|
||||
|
||||
wut = gMenuCompressedBuffer + 0xFFFF0000;
|
||||
wut = (u8*) &gMenuCompressedBuffer[0x3FFFC000];
|
||||
// clang-format off
|
||||
// God forgive me for my sins...
|
||||
huh = 0x14; if (0) {} for (i = 0; i < huh; i++) { D_8018D248[i] = dma_copy_base_misc_textures(gCourseOutlineTextures[i], wut, D_800E5520[i], D_800E5520[i]); wut += D_800E5520[i]; }
|
||||
|
|
|
@ -40,14 +40,10 @@
|
|||
#include "crash_screen.h"
|
||||
#include "buffers/gfx_output_buffer.h"
|
||||
|
||||
// Declarations (not in this file)
|
||||
void func_80091B78(void);
|
||||
|
||||
void audio_init();
|
||||
|
||||
void audio_init(void);
|
||||
void create_debug_thread(void);
|
||||
void start_debug_thread(void);
|
||||
|
||||
struct SPTask* create_next_audio_frame_task(void);
|
||||
|
||||
struct VblankHandler* gVblankHandler1 = NULL;
|
||||
|
|
148
src/menu_items.c
148
src/menu_items.c
|
@ -42,7 +42,7 @@
|
|||
void guMtxCatL(Mtx* m, Mtx* n, Mtx* res);
|
||||
|
||||
u16* gMenuTextureBuffer;
|
||||
u8* gMenuCompressedBuffer;
|
||||
u32* gMenuCompressedBuffer;
|
||||
u8* sTKMK00_LowResBuffer;
|
||||
u8* sGPPointsCopy;
|
||||
void* gSomeDLBuffer;
|
||||
|
@ -1251,7 +1251,7 @@ void func_80091B78(void) {
|
|||
gNextFreeMemoryAddress = gFreeMemoryResetAnchor;
|
||||
// Hypothetically, this should be a ptr... But only hypothetically.
|
||||
gMenuTextureBuffer = get_next_available_memory_addr(0x000900B0);
|
||||
gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x0000CE00);
|
||||
gMenuCompressedBuffer = get_next_available_memory_addr(0x0000CE00);
|
||||
sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(SCREEN_WIDTH * SCREEN_HEIGHT);
|
||||
gSomeDLBuffer = (struct_8018EE10_entry*) get_next_available_memory_addr(0x00001000);
|
||||
func_800AF9B0();
|
||||
|
@ -1348,7 +1348,7 @@ void func_80091FA4(void) {
|
|||
s32 i;
|
||||
|
||||
//! @todo These sizes need to be sizeof() for shiftability if possible
|
||||
gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x00002800);
|
||||
gMenuCompressedBuffer = get_next_available_memory_addr(0x00002800);
|
||||
gMenuTextureBuffer = (u16*) get_next_available_memory_addr(0x000124F8);
|
||||
sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(0x00001000);
|
||||
sGPPointsCopy = get_next_available_memory_addr(4);
|
||||
|
@ -3441,7 +3441,7 @@ void load_menu_img(MenuTexture* addr) {
|
|||
size = ((size / 8) * 8) + 8;
|
||||
}
|
||||
dma_copy_mio0_segment(texAddr->textureData, size, gMenuCompressedBuffer);
|
||||
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
mio0decode((u8*) gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
} else {
|
||||
dma_copy_mio0_segment(texAddr->textureData, (texAddr->height * texAddr->width) * 2,
|
||||
&gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
|
@ -3505,7 +3505,7 @@ void func_8009952C(MenuTexture* addr) {
|
|||
|
||||
if (imgLoaded == false) {
|
||||
dma_copy_mio0_segment(texAddr->textureData, 0x00008000U, gMenuCompressedBuffer);
|
||||
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
mio0decode((u8*) gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
texMap[sMenuTextureEntries].textureData = texAddr->textureData;
|
||||
texMap[sMenuTextureEntries].offset = sMenuTextureBufferIndex;
|
||||
sMenuTextureBufferIndex += texAddr->height * texAddr->width;
|
||||
|
@ -3561,7 +3561,7 @@ void load_menu_img_comp_type(MenuTexture* addr, s32 compType) {
|
|||
switch (compType) {
|
||||
case LOAD_MENU_IMG_MIO0_ONCE:
|
||||
case LOAD_MENU_IMG_MIO0_FORCE:
|
||||
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
mio0decode((u8*) gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]);
|
||||
break;
|
||||
case LOAD_MENU_IMG_TKMK00_ONCE:
|
||||
case LOAD_MENU_IMG_TKMK00_FORCE:
|
||||
|
@ -3572,7 +3572,7 @@ void load_menu_img_comp_type(MenuTexture* addr, s32 compType) {
|
|||
}
|
||||
if (1) {}
|
||||
tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer,
|
||||
(u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex], clearBit);
|
||||
&gMenuTextureBuffer[sMenuTextureBufferIndex], clearBit);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -3602,7 +3602,7 @@ void func_80099958(MenuTexture* addr, s32 arg1, s32 arg2) {
|
|||
size = ((size / 8) * 8) + 8;
|
||||
}
|
||||
dma_copy_mio0_segment(texAddr->textureData, size, gMenuCompressedBuffer);
|
||||
mio0decode(gMenuCompressedBuffer, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
|
||||
mio0decode((u8*) gMenuCompressedBuffer, (u8*) D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
|
||||
texAddr++;
|
||||
}
|
||||
}
|
||||
|
@ -3625,101 +3625,103 @@ void func_80099A94(MenuTexture* arg0, s32 arg1) {
|
|||
var_v1->texNum = arg1;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/rxEoi
|
||||
// Something's up with the handling of `_textures_0aSegmentRomStart`, I don't know how to fix it
|
||||
void func_80099AEC(void) {
|
||||
s32 some_var;
|
||||
s8 texEnd;
|
||||
s32 size;
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
s32 texSize;
|
||||
OSIoMesg mb;
|
||||
OSMesg msg;
|
||||
UNUSED u8* test;
|
||||
s32 bufSize;
|
||||
MenuTexture* texAddr;
|
||||
struct_8018E060_entry* var_s1;
|
||||
TextureMap* entry;
|
||||
MenuTexture* texPtr;
|
||||
OSIoMesg mb;
|
||||
OSMesg sp64;
|
||||
s32 cacheSize;
|
||||
s32 bufSize;
|
||||
|
||||
if (gGamestate == RACING) {
|
||||
bufSize = 0x00000500;
|
||||
bufSize = 0x500;
|
||||
} else {
|
||||
bufSize = 0x00001000;
|
||||
bufSize = 0x1000;
|
||||
}
|
||||
|
||||
texEnd = 0;
|
||||
var_s1 = D_8018E060;
|
||||
texAddr = var_s1->texture;
|
||||
entry = &sMenuTextureMap[0];
|
||||
var_s1 = &D_8018E060[0];
|
||||
texPtr = var_s1->texture;
|
||||
|
||||
if (texAddr == NULL)
|
||||
if (texPtr == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
texSize = texAddr->size;
|
||||
if (texSize != 0) {
|
||||
size = texSize;
|
||||
if (texPtr->size) {
|
||||
cacheSize = texPtr->size;
|
||||
} else {
|
||||
size = 0x1400;
|
||||
cacheSize = 0x1400;
|
||||
}
|
||||
if (size % 8) {
|
||||
size = ((size / 8) * 8) + 8;
|
||||
if (cacheSize % 8) {
|
||||
cacheSize = ((cacheSize / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(gMenuCompressedBuffer, size);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
|
||||
gMenuCompressedBuffer, size, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &msg, 1);
|
||||
|
||||
osInvalDCache(gMenuCompressedBuffer, cacheSize);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) _textures_0aSegmentRomStart + SEGMENT_OFFSET(texPtr->textureData),
|
||||
gMenuCompressedBuffer, cacheSize, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
|
||||
while (1) {
|
||||
if ((var_s1 + 1)->texture == NULL) {
|
||||
texEnd += 1;
|
||||
} else {
|
||||
texAddr = (var_s1 + 1)->texture;
|
||||
texSize = (var_s1 + 1)->texture->size;
|
||||
if (texSize != 0) {
|
||||
size = texSize;
|
||||
texPtr = (var_s1 + 1)->texture;
|
||||
if (texPtr->size) {
|
||||
cacheSize = texPtr->size;
|
||||
} else {
|
||||
size = 0x1400;
|
||||
cacheSize = 0x1400;
|
||||
}
|
||||
if (size % 8) {
|
||||
size = ((size / 8) * 8) + 8;
|
||||
if (cacheSize % 8) {
|
||||
cacheSize = ((cacheSize / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(gMenuCompressedBuffer + bufSize * 4, size);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
|
||||
gMenuCompressedBuffer + bufSize * 4, size, &gDmaMesgQueue);
|
||||
osInvalDCache(&gMenuCompressedBuffer[bufSize], cacheSize);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) _textures_0aSegmentRomStart + SEGMENT_OFFSET(texPtr->textureData),
|
||||
&gMenuCompressedBuffer[bufSize], cacheSize, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset]);
|
||||
|
||||
some_var = (entry + var_s1->texNum)->offset;
|
||||
|
||||
mio0decode((u8*) gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[some_var]);
|
||||
|
||||
var_s1->texture = NULL;
|
||||
var_s1++;
|
||||
if (texEnd != 0)
|
||||
if (texEnd) {
|
||||
break;
|
||||
osRecvMesg(&gDmaMesgQueue, &msg, 1);
|
||||
}
|
||||
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
|
||||
if ((var_s1 + 1)->texture == NULL) {
|
||||
texEnd += 1;
|
||||
} else {
|
||||
texAddr = (var_s1 + 1)->texture;
|
||||
texSize = (var_s1 + 1)->texture->size;
|
||||
if (texSize != 0) {
|
||||
size = texSize;
|
||||
texPtr = (var_s1 + 1)->texture;
|
||||
if (texPtr->size) {
|
||||
cacheSize = texPtr->size;
|
||||
} else {
|
||||
size = 0x1400;
|
||||
cacheSize = 0x1400;
|
||||
}
|
||||
if (size % 8) {
|
||||
size = ((size / 8) * 8) + 8;
|
||||
if (cacheSize % 8) {
|
||||
cacheSize = ((cacheSize / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(gMenuCompressedBuffer, size);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
|
||||
gMenuCompressedBuffer, size, &gDmaMesgQueue);
|
||||
osInvalDCache(gMenuCompressedBuffer, cacheSize);
|
||||
osPiStartDma(&mb, 0, 0, (uintptr_t) _textures_0aSegmentRomStart + SEGMENT_OFFSET(texPtr->textureData),
|
||||
gMenuCompressedBuffer, cacheSize, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(gMenuCompressedBuffer + bufSize * 4,
|
||||
(u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset]);
|
||||
|
||||
some_var = (entry + var_s1->texNum)->offset;
|
||||
mio0decode((u8*) &gMenuCompressedBuffer[bufSize], (u8*) &gMenuTextureBuffer[some_var]);
|
||||
var_s1->texture = NULL;
|
||||
var_s1++;
|
||||
if (texEnd != 0)
|
||||
if (texEnd) {
|
||||
break;
|
||||
osRecvMesg(&gDmaMesgQueue, &msg, 1);
|
||||
}
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/menu_items/func_80099AEC.s")
|
||||
#endif
|
||||
|
||||
void func_80099E54(void) {
|
||||
D_8018E0E8[0].mk64Texture = NULL;
|
||||
|
@ -3794,8 +3796,8 @@ void func_80099EC4(void) {
|
|||
osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
|
||||
gMenuCompressedBuffer + 0x1400, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(gMenuCompressedBuffer,
|
||||
D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
mio0decode((u8*) gMenuCompressedBuffer,
|
||||
(u8*) D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
var_s1->mk64Texture = NULL;
|
||||
var_s1++;
|
||||
if (var_s4 != 0)
|
||||
|
@ -3818,8 +3820,8 @@ void func_80099EC4(void) {
|
|||
osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
|
||||
gMenuCompressedBuffer, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(gMenuCompressedBuffer + 0x1400,
|
||||
D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
mio0decode((u8*) gMenuCompressedBuffer + 0x1400,
|
||||
(u8*) D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
var_s1->mk64Texture = NULL;
|
||||
var_s1++;
|
||||
if (var_s4 != 0)
|
||||
|
@ -3844,7 +3846,7 @@ void func_8009A238(MenuTexture* arg0, s32 arg1) {
|
|||
var_a3 = ((var_a3 / 8) * 8) + 8;
|
||||
}
|
||||
dma_tkmk00_textures(sp24, var_a3, gMenuCompressedBuffer);
|
||||
tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, (u8*) &gMenuTextureBuffer[temp_v1], 1);
|
||||
tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, &gMenuTextureBuffer[temp_v1], 1);
|
||||
sMenuTextureMap[arg1].textureData = sp24;
|
||||
}
|
||||
|
||||
|
@ -4640,7 +4642,7 @@ void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) {
|
|||
color->green, color->blue, 0xFF - (D_8018E7D0[arg0] * 0xFF / D_8018E7B8[arg0]));
|
||||
|
||||
if ((arg1 == 0) && (D_8018E7D0[arg0] += 1, (D_8018E7D0[arg0] >= D_8018E7B8[arg0]))) {
|
||||
if (gGamestate == 4) {
|
||||
if (gGamestate == RACING) {
|
||||
D_8018E7AC[arg0] = 6;
|
||||
return;
|
||||
}
|
||||
|
@ -4690,7 +4692,7 @@ void func_8009CE64(s32 arg0) {
|
|||
gGotoMenu = 1;
|
||||
gMenuSelection = 0x0000000B;
|
||||
}
|
||||
} else if (gGamestate == 4) {
|
||||
} else if (gGamestate == RACING) {
|
||||
if (D_8018E7AC[arg0] == 2) {
|
||||
if (arg0 != 4) {
|
||||
D_8018E7AC[arg0] = 5;
|
||||
|
@ -7582,7 +7584,7 @@ void render_lap_times(s32 recordType, s32 column, s32 row) {
|
|||
char sp38[3];
|
||||
MenuItem* temp_v0;
|
||||
s32 sp30;
|
||||
if (gGamestate == 4) {
|
||||
if (gGamestate == RACING) {
|
||||
sp30 = 0;
|
||||
} else {
|
||||
sp30 = 1;
|
||||
|
|
|
@ -638,7 +638,7 @@ void func_800AF740(MenuItem*);
|
|||
|
||||
// This really, really shouldn't be in this header file, but I don't know where else to put it
|
||||
void rmonPrintf(const char*, ...);
|
||||
void tkmk00decode(u8*, u8*, u8*, s32);
|
||||
void tkmk00decode(u32*, u8*, u16*, s32);
|
||||
|
||||
/* File specific defines */
|
||||
|
||||
|
@ -657,7 +657,7 @@ extern s32 D_800DDB24;
|
|||
extern s16 gGetPlayerByCharacterId[];
|
||||
|
||||
extern u16* gMenuTextureBuffer;
|
||||
extern u8* gMenuCompressedBuffer;
|
||||
extern u32* gMenuCompressedBuffer;
|
||||
extern u8* sTKMK00_LowResBuffer;
|
||||
extern u8* sGPPointsCopy;
|
||||
extern void* gSomeDLBuffer;
|
||||
|
|
|
@ -1809,6 +1809,7 @@ void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32
|
|||
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
|
||||
}
|
||||
#else
|
||||
void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height);
|
||||
GLOBAL_ASM("asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s")
|
||||
#endif
|
||||
|
||||
|
|
|
@ -771,7 +771,7 @@ s32 func_800B6178(s32 arg0) {
|
|||
default:
|
||||
return -1;
|
||||
}
|
||||
if (gGamestate == 4) {
|
||||
if (gGamestate == RACING) {
|
||||
func_800051C4();
|
||||
}
|
||||
temp_s3 = &D_8018EE10[arg0];
|
||||
|
@ -787,7 +787,7 @@ s32 func_800B6178(s32 arg0) {
|
|||
0x00003C00, (u8*) D_800DC714);
|
||||
if (var_v0 == 0) {
|
||||
temp_s3->ghostDataSaved = 1;
|
||||
if (gGamestate == 4) {
|
||||
if (gGamestate == RACING) {
|
||||
temp_s3->courseIndex = (gCupSelection * 4) + gCourseIndexInCup;
|
||||
}
|
||||
temp_s3->unk_00 = D_80162DFC;
|
||||
|
|
Loading…
Reference in New Issue