mirror of
https://github.com/n64decomp/mk64
synced 2026-07-11 22:00:05 -04:00
Update the GfxPool struct and match some functions (#134)
* Update the GfxPool struct and match some functions Also reordered variables.h a bit * Match 2 more functions * Replace reaming ->buffer references with ->mtxPool Update the mips_to_c output of a couple functions based on new GfxPool definition Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
+138
-30
@@ -1,6 +1,9 @@
|
||||
#include <ultra64.h>
|
||||
#include <macros.h>
|
||||
#include <common_structs.h>
|
||||
#include "code_80040E50.h"
|
||||
#include "main.h"
|
||||
#include "variables.h"
|
||||
|
||||
//#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
@@ -696,59 +699,164 @@ GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041D24.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe
|
||||
void guOrtho(Mtx *, f32, f32, f32, f32, f32, f32, f32); /* extern */
|
||||
extern s32 D_800DC52C;
|
||||
extern s8 D_801658FE;
|
||||
extern Mtx D_80183D60;
|
||||
|
||||
void func_80041D34(void) {
|
||||
s32 temp_v0;
|
||||
|
||||
guOrtho(&D_80183D60, 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
temp_v0 = D_800DC52C;
|
||||
if (temp_v0 != 0) {
|
||||
if (temp_v0 != 1) {
|
||||
if (temp_v0 != 2) {
|
||||
if (temp_v0 != 3) {
|
||||
return;
|
||||
}
|
||||
guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
}
|
||||
guOrtho(&gGfxPool->buffer[40], 0.0f, 160.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
}
|
||||
switch (D_800DC52C) { /* irregular */
|
||||
case 0:
|
||||
guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
case 2:
|
||||
guOrtho(&gGfxPool->mtxPool[5], 0.0f, 160.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
case 1:
|
||||
if (D_801658FE == 0) {
|
||||
guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
}
|
||||
guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
return;
|
||||
guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
case 3:
|
||||
guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
break;
|
||||
}
|
||||
guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041D34.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80041EF4(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[5]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
? func_80022180(s32, ? *, s32 *); /* extern */
|
||||
? func_80041A78(? *, s32, ?); /* extern */
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
extern s32 gGfxPool;
|
||||
|
||||
UNUSED void func_80041F54(s32 arg0, ? arg1) {
|
||||
? sp20;
|
||||
void *temp_v1;
|
||||
|
||||
func_80041A78(&sp20, arg0, arg1);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk0 = 0x01020040;
|
||||
temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041F54.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
? func_80022180(s32, ? *, s32 *); /* extern */
|
||||
? func_80041AD8(? *, s32); /* extern */
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
extern s32 gGfxPool;
|
||||
|
||||
UNUSED void func_80042000(s32 arg0) {
|
||||
? sp20;
|
||||
void *temp_v1;
|
||||
|
||||
func_80041AD8(&sp20, arg0 & 0xFFFF);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk0 = 0x01020040;
|
||||
temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80042000.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
? func_80022180(s32, ? *, s32 *); /* extern */
|
||||
? func_80041B68(? *, f32); /* extern */
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
extern s32 gGfxPool;
|
||||
|
||||
UNUSED void func_800420A8(f32 arg0) {
|
||||
? sp20;
|
||||
void *temp_v1;
|
||||
|
||||
func_80041B68(&sp20, arg0);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk0 = 0x01020040;
|
||||
temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_800420A8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
? func_80022180(s32, ? *, s32 *); /* extern */
|
||||
? func_80041BBC(?, ? *, u16, ?); /* extern */
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
extern s32 gGfxPool;
|
||||
|
||||
UNUSED void func_8004214C(u16 arg0, ? arg1) {
|
||||
? sp20;
|
||||
void *temp_v1;
|
||||
|
||||
func_80041BBC(arg1, &sp20, arg0, arg1);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk0 = 0x01020040;
|
||||
temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_8004214C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
? func_80022180(s32, ? *); /* extern */
|
||||
? func_80041A78(? *, s32, s32); /* extern */
|
||||
? func_80041B68(? *, s32, void **); /* extern */
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
extern s32 gGfxPool;
|
||||
|
||||
UNUSED void func_800421FC(s32 arg0, s32 arg1, s32 arg2) {
|
||||
? sp30;
|
||||
void *temp_v1;
|
||||
void *temp_v1_2;
|
||||
|
||||
func_80041A78(&sp30, arg0, arg1);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30);
|
||||
temp_v1 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1 + 8;
|
||||
temp_v1->unk4 = 0x80000;
|
||||
temp_v1->unk0 = 0xBA001301;
|
||||
temp_v1->unk0 = 0x01020040;
|
||||
temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
func_80041B68(&sp30, arg2, &gDisplayListHead);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30);
|
||||
temp_v1_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v1_2 + 8;
|
||||
temp_v1_2->unk0 = 0x1030040;
|
||||
temp_v1_2->unk4 = &gGfxPool->buffer[40] & 0x1FFFFFFF;
|
||||
temp_v1_2->unk0 = 0x01000040;
|
||||
temp_v1_2->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF);
|
||||
D_8018D120 += 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041EF4.s")
|
||||
GLOBAL_ASM("asm/non_matchings/code_80040E50/func_800421FC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef CODE_80040E50_H
|
||||
#define CODE_80040E50_H
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
/* Function Prototypes */
|
||||
void func_80041EF4();
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
|
||||
#endif
|
||||
+16
-41
@@ -9449,58 +9449,33 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055F48.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80022180(void *, ? *); // extern
|
||||
? func_800425D0(? *, void *, void *, s32); // extern
|
||||
? func_802B4FF8(? *, ?); // extern
|
||||
? mtxf_identity(? *); // extern
|
||||
extern ? D_0D0077A0;
|
||||
//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe
|
||||
? func_80022180(Mtx *, ? *); /* extern */
|
||||
? func_800425D0(? *, void *, void *, s32); /* extern */
|
||||
? func_802B4FF8(? *, ?); /* extern */
|
||||
? mtxf_identity(? *); /* extern */
|
||||
extern Gfx D_0D0077A0[];
|
||||
extern ? D_80165C18;
|
||||
extern s32 D_8018D120;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80055FA0(s32 arg0, ? arg1) {
|
||||
void func_80055FA0(s32 arg0, s32 arg1) {
|
||||
? sp80;
|
||||
? sp40;
|
||||
void *sp20;
|
||||
void *temp_t0;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
void *temp_v0_6;
|
||||
|
||||
temp_t0 = (arg0 * 0xE0) + &D_80165C18;
|
||||
if (temp_t0->unkA6 >= 2) {
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x1030040;
|
||||
temp_v0->unk4 = &gGfxPool->buffer[8] & 0x1FFFFFFF;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x1020040;
|
||||
temp_v0_2->unk4 = &gGfxPool->buffer[56] & 0x1FFFFFFF;
|
||||
if ((s32) temp_t0->unkA6 >= 2) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
sp20 = temp_t0;
|
||||
func_800425D0(&sp80, temp_t0 + 4, temp_t0 + 0xBE, temp_t0->unk0);
|
||||
func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp80);
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x1000040;
|
||||
temp_v0_3->unk4 = (gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
D_8018D120 = D_8018D120 + 1;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk4 = &D_0D0077A0;
|
||||
temp_v0_4->unk0 = 0x6000000;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x6000000;
|
||||
temp_v0_5->unk4 = temp_t0->unk70;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->unk0 = 0x1010040;
|
||||
temp_v0_6->unk4 = &gGfxPool->buffer[56] & 0x1FFFFFFF;
|
||||
func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], &sp80);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_8018D120 + 0xB]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
D_8018D120++;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D0077A0);
|
||||
gSPDisplayList(gDisplayListHead++, sp20->unk70);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(&sp40);
|
||||
func_802B4FF8(&sp40, 0);
|
||||
}
|
||||
|
||||
+16
-16
@@ -185,8 +185,8 @@ extern u16 D_800DC51C;
|
||||
void func_800581C8(void) {
|
||||
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
func_8001C3C4(0);
|
||||
if (D_800DC50C == ENDING_SEQUENCE) {
|
||||
@@ -205,8 +205,8 @@ void func_800581C8(void) {
|
||||
void func_800582CC(void) {
|
||||
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_8001C3C4(1);
|
||||
if (D_800DC51C == 0) {
|
||||
func_800532A4(1);
|
||||
@@ -216,8 +216,8 @@ void func_800582CC(void) {
|
||||
|
||||
void func_80058394(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_8001C3C4(2);
|
||||
if (D_800DC51C == 0) {
|
||||
func_800532A4(2);
|
||||
@@ -228,8 +228,8 @@ void func_80058394(void) {
|
||||
void func_8005845C(void) {
|
||||
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_8001C3C4(3);
|
||||
if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) {
|
||||
func_800532A4(3);
|
||||
@@ -289,8 +289,8 @@ void func_80058B58();
|
||||
|
||||
void func_80058640(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
if (D_800DC50C != ENDING_SEQUENCE) {
|
||||
func_80058B58(0);
|
||||
}
|
||||
@@ -298,22 +298,22 @@ void func_80058640(void) {
|
||||
|
||||
void func_800586FC(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_80058B58(1);
|
||||
}
|
||||
|
||||
void func_800587A4(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_80058B58(2);
|
||||
}
|
||||
|
||||
void func_8005884C(void) {
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
func_80058B58(3);
|
||||
}
|
||||
|
||||
|
||||
+149
-450
@@ -4,6 +4,9 @@
|
||||
#include "code_80091750.h"
|
||||
#include "code_800AF9B0.h"
|
||||
#include "variables.h"
|
||||
// TODO: Move gGfxPool out of main.h
|
||||
// Unfortunately that's not a small effort due to weird import structure in this project
|
||||
#include "main.h"
|
||||
|
||||
f64 exponent_by_squaring(f64 base, s32 exponent) {
|
||||
s32 positive_exponent;
|
||||
@@ -535,18 +538,16 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092258.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void *segmented_to_virtual_dupe(segment_address_t); // extern
|
||||
extern s32 D_800E84C0;
|
||||
extern ? D_800E84CC;
|
||||
extern s32 gGlobalTimer;
|
||||
//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe
|
||||
extern ? D_02007BB8;
|
||||
extern ? D_02007CD8;
|
||||
extern ? D_02007DF8;
|
||||
static u32 D_800E84C0[3] = { (u32) &D_02007BB8, (u32) &D_02007CD8, (u32) &D_02007DF8 }; /* const */
|
||||
static ? D_800E84CC; /* unable to generate initializer; const */
|
||||
|
||||
void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) {
|
||||
s32 *temp_a2;
|
||||
s32 *temp_s0;
|
||||
void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
s32 temp_a0;
|
||||
s32 temp_a1;
|
||||
s32 temp_a3;
|
||||
s32 temp_s4;
|
||||
s32 temp_t0;
|
||||
s32 temp_t6;
|
||||
@@ -554,26 +555,22 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) {
|
||||
s32 temp_t8;
|
||||
s32 temp_t8_2;
|
||||
s32 temp_t9;
|
||||
s32 temp_v0;
|
||||
u32 *temp_s0;
|
||||
void *temp_a2;
|
||||
void *temp_v0;
|
||||
void *temp_v1;
|
||||
void *temp_v1_2;
|
||||
s32 *phi_s0;
|
||||
s32 *phi_a1;
|
||||
s32 *phi_a2;
|
||||
s32 phi_a3;
|
||||
u32 *phi_s0;
|
||||
|
||||
phi_a1 = arg1;
|
||||
phi_a2 = arg2;
|
||||
phi_a3 = arg3;
|
||||
if ((arg0 >= 4) && (arg0 < 6)) {
|
||||
temp_t8 = *arg2 + 0x10;
|
||||
*arg2 = temp_t8;
|
||||
if (temp_t8 >= 0x100) {
|
||||
*arg2 = 0;
|
||||
*arg1 = (*arg1 + 1) % 3;
|
||||
*arg1 = (s32) (*arg1 + 1) % 3;
|
||||
}
|
||||
temp_s4 = (((arg0 * 4) + ((gGlobalTimer % 2) * 2)) - 6) * 0x10;
|
||||
phi_s0 = &D_800E84C0;
|
||||
temp_s4 = (((arg0 * 4) + (((s32) gGlobalTimer % 2) * 2)) - 6) * 0x10;
|
||||
phi_s0 = D_800E84C0;
|
||||
do {
|
||||
temp_v0 = segmented_to_virtual_dupe(*phi_s0);
|
||||
temp_a0 = *arg2;
|
||||
@@ -582,24 +579,20 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) {
|
||||
temp_s0 = phi_s0 + 4;
|
||||
temp_t0 = (*arg1 * 2) + 2;
|
||||
temp_v1 = temp_v0 + (temp_t0 * 0x10);
|
||||
temp_a3 = (temp_t0 % 6) + 2;
|
||||
temp_v1_2 = temp_v0 + (temp_a3 * 0x10);
|
||||
temp_t6 = ((temp_a1 * temp_v1->unkC) + (temp_a0 * temp_v1_2->unkC)) / 0x100;
|
||||
temp_a2->unkC = temp_t6;
|
||||
temp_t9 = ((temp_a1 * temp_v1->unkD) + (temp_a0 * temp_v1_2->unkD)) / 0x100;
|
||||
temp_a2->unkD = temp_t9;
|
||||
temp_t7 = ((temp_a1 * temp_v1->unkE) + (temp_a0 * temp_v1_2->unkE)) / 0x100;
|
||||
temp_a2->unkE = temp_t7;
|
||||
temp_t8_2 = ((temp_a1 * temp_v1->unkF) + (temp_a0 * temp_v1_2->unkF)) / 0x100;
|
||||
temp_a2->unkF = temp_t8_2;
|
||||
temp_a2->unk1C = temp_t6;
|
||||
temp_a2->unk1D = temp_t9;
|
||||
temp_a2->unk1E = temp_t7;
|
||||
temp_a2->unk1F = temp_t8_2;
|
||||
temp_v1_2 = temp_v0 + (((temp_t0 % 6) + 2) * 0x10);
|
||||
temp_t6 = (s32) ((temp_a1 * temp_v1->unkC) + (temp_a0 * temp_v1_2->unkC)) / 256;
|
||||
temp_a2->unkC = (s8) temp_t6;
|
||||
temp_t9 = (s32) ((temp_a1 * temp_v1->unkD) + (temp_a0 * temp_v1_2->unkD)) / 256;
|
||||
temp_a2->unkD = (s8) temp_t9;
|
||||
temp_t7 = (s32) ((temp_a1 * temp_v1->unkE) + (temp_a0 * temp_v1_2->unkE)) / 256;
|
||||
temp_a2->unkE = (s8) temp_t7;
|
||||
temp_t8_2 = (s32) ((temp_a1 * temp_v1->unkF) + (temp_a0 * temp_v1_2->unkF)) / 256;
|
||||
temp_a2->unkF = (s8) temp_t8_2;
|
||||
temp_a2->unk1C = (s8) temp_t6;
|
||||
temp_a2->unk1D = (s8) temp_t9;
|
||||
temp_a2->unk1E = (s8) temp_t7;
|
||||
temp_a2->unk1F = (s8) temp_t8_2;
|
||||
phi_s0 = temp_s0;
|
||||
phi_a1 = temp_t8_2;
|
||||
phi_a2 = temp_a2;
|
||||
phi_a3 = temp_a3;
|
||||
} while (temp_s0 != &D_800E84CC);
|
||||
}
|
||||
}
|
||||
@@ -1277,41 +1270,13 @@ void func_80093C1C(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093C1C.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_8009CA6C(?); // extern
|
||||
? func_800A54EC(); // extern
|
||||
? func_800A8250(); // extern
|
||||
extern ? D_02007F18;
|
||||
extern s16 D_80164AF0;
|
||||
extern s32 D_80165754;
|
||||
extern ? D_802B8880;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80093C98(s32 arg0) {
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF;
|
||||
temp_v0->unk0 = 0x3800010;
|
||||
guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x1030040;
|
||||
temp_v0_2->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
D_80164AF0 = D_80164AF0 + 1;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x6000000;
|
||||
temp_v0_3->unk4 = &D_02007F18;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0xED000000;
|
||||
temp_v0_4->unk4 = 0x5003C0;
|
||||
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
|
||||
guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
D_80164AF0++;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007F18);
|
||||
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
|
||||
func_800A8250();
|
||||
if (arg0 == 0) {
|
||||
func_800A54EC();
|
||||
@@ -1320,9 +1285,6 @@ void func_80093C98(s32 arg0) {
|
||||
D_80164AF0 = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093C98.s")
|
||||
#endif
|
||||
|
||||
void func_80093E20(void) {
|
||||
func_80093C98(0);
|
||||
@@ -1375,51 +1337,13 @@ void func_80093E60(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093E60.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80092290(?, ? *, ? *); // extern
|
||||
? func_80099A70(); // extern
|
||||
? func_80099AEC(); // extern
|
||||
? func_80099E54(); // extern
|
||||
? func_80099EC4(); // extern
|
||||
? func_8009C918(); // extern
|
||||
? func_8009CA2C(); // extern
|
||||
? func_800A8230(); // extern
|
||||
extern ? D_02007F18;
|
||||
extern ? D_02007F48;
|
||||
extern s16 D_80164AF0;
|
||||
extern ? D_8018E850;
|
||||
extern ? D_8018E854;
|
||||
extern ? D_8018E858;
|
||||
extern ? D_8018E85C;
|
||||
extern ? D_802B8880;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80093F10(void) {
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF;
|
||||
temp_v0->unk0 = 0x3800010;
|
||||
guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x1030040;
|
||||
temp_v0_2->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
D_80164AF0 = D_80164AF0 + 1;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x6000000;
|
||||
temp_v0_3->unk4 = &D_02007F18;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0xED000000;
|
||||
temp_v0_4->unk4 = 0x5003C0;
|
||||
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
|
||||
guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
D_80164AF0++;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007F18);
|
||||
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
|
||||
func_80092290(4, &D_8018E850, &D_8018E858);
|
||||
func_80092290(5, &D_8018E854, &D_8018E85C);
|
||||
func_8009C918();
|
||||
@@ -1429,62 +1353,17 @@ void func_80093F10(void) {
|
||||
func_80099AEC();
|
||||
func_80099EC4();
|
||||
func_8009CA2C();
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x6000000;
|
||||
temp_v0_5->unk4 = &D_02007F48;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007F48);
|
||||
D_80164AF0 = 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093F10.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80057CE4(); // extern
|
||||
? func_80092148(); // extern
|
||||
? func_80092290(?, ? *, ? *); // extern
|
||||
? func_80099A70(); // extern
|
||||
? func_80099AEC(); // extern
|
||||
? func_80099E54(); // extern
|
||||
? func_80099EC4(); // extern
|
||||
? func_8009CA6C(s32); // extern
|
||||
? func_800A8230(); // extern
|
||||
extern ? D_02007F18;
|
||||
extern ? D_02007F48;
|
||||
extern s16 D_80164AF0;
|
||||
extern ? D_8018E850;
|
||||
extern ? D_8018E854;
|
||||
extern ? D_8018E858;
|
||||
extern ? D_8018E85C;
|
||||
extern ? D_802B8880;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_800940EC(s32 arg0) {
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF;
|
||||
temp_v0->unk0 = 0x3800010;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0xED000000;
|
||||
temp_v0_2->unk4 = 0x5003C0;
|
||||
guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x1030040;
|
||||
temp_v0_3->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
D_80164AF0 = D_80164AF0 + 1;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0x6000000;
|
||||
temp_v0_4->unk4 = &D_02007F18;
|
||||
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
|
||||
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
|
||||
guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
D_80164AF0++;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007F18);
|
||||
func_80092290(4, &D_8018E850, &D_8018E858);
|
||||
func_80092290(5, &D_8018E854, &D_8018E85C);
|
||||
func_80092148();
|
||||
@@ -1494,52 +1373,38 @@ void func_800940EC(s32 arg0) {
|
||||
func_80099AEC();
|
||||
func_80099EC4();
|
||||
func_8009CA6C(arg0);
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x6000000;
|
||||
temp_v0_5->unk4 = &D_02007F48;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007F48);
|
||||
func_80057CE4();
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800940EC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern ? D_02007F60;
|
||||
//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe
|
||||
extern ? D_06009410;
|
||||
extern f32 D_800E8530;
|
||||
extern f32 D_800E8534;
|
||||
extern f32 D_8018EDC4;
|
||||
extern f32 D_8018EDC8;
|
||||
extern f32 D_8018EDCC;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_800942D0(void) {
|
||||
? *sp6C;
|
||||
Gfx *temp_s1;
|
||||
Gfx *temp_s1_2;
|
||||
Gfx *temp_s4;
|
||||
Gfx *temp_v0;
|
||||
Gfx *temp_v0_10;
|
||||
Gfx *temp_v0_11;
|
||||
Gfx *temp_v0_12;
|
||||
Gfx *temp_v0_13;
|
||||
Gfx *temp_v0_14;
|
||||
Gfx *temp_v0_15;
|
||||
Gfx *temp_v0_16;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
Gfx *temp_v0_7;
|
||||
Gfx *temp_v0_8;
|
||||
Gfx *temp_v0_9;
|
||||
Mtx *temp_s1;
|
||||
Mtx *temp_s1_2;
|
||||
Mtx *temp_s1_3;
|
||||
Mtx *temp_s4;
|
||||
Mtx *temp_s4_2;
|
||||
f32 temp_f26;
|
||||
s32 temp_s3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_10;
|
||||
void *temp_v0_11;
|
||||
void *temp_v0_12;
|
||||
void *temp_v0_13;
|
||||
void *temp_v0_14;
|
||||
void *temp_v0_15;
|
||||
void *temp_v0_16;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
void *temp_v0_6;
|
||||
void *temp_v0_7;
|
||||
void *temp_v0_8;
|
||||
void *temp_v0_9;
|
||||
Mtx *phi_s1;
|
||||
s32 phi_s2;
|
||||
f32 phi_f26;
|
||||
@@ -1547,53 +1412,52 @@ void func_800942D0(void) {
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x1030040;
|
||||
temp_v0->unk4 = gGfxPool;
|
||||
temp_v0->words.w0 = 0x01030040;
|
||||
temp_v0->words.w1 = (u32) gGfxPool;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x1020040;
|
||||
temp_s1 = &gGfxPool->buffer[6488];
|
||||
temp_v0_2->unk4 = &gGfxPool->buffer[56];
|
||||
temp_v0_2->words.w0 = 0x01020040;
|
||||
temp_s1 = &gGfxPool->mtxPool[0x32B];
|
||||
temp_v0_2->words.w1 = (u32) &gGfxPool->mtxPool[7];
|
||||
guRotate(temp_s1, D_8018EDC8, 1.0f, 0.0f, 0.0f);
|
||||
temp_s4 = temp_s1 + 0x40;
|
||||
guRotate(temp_s4, D_8018EDCC, 0.0f, 1.0f, 0.0f);
|
||||
guScale(temp_s1 + 0x80, 1.0f, 1.0f, D_8018EDC4);
|
||||
guScale(temp_s1 + 0x80, 1.0f, 1.0f, (bitwise s32) D_8018EDC4);
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk4 = temp_s1;
|
||||
temp_v0_3->unk0 = 0x1000040;
|
||||
temp_v0_3->words.w1 = (u32) temp_s1;
|
||||
temp_v0_3->words.w0 = 0x01000040;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
temp_s1_2 = temp_s4 + 0x40;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk4 = temp_s4;
|
||||
temp_v0_4->unk0 = 0x1000040;
|
||||
temp_v0_4->words.w1 = (u32) temp_s4;
|
||||
temp_v0_4->words.w0 = 0x01000040;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk4 = temp_s1_2;
|
||||
temp_v0_5->unk0 = 0x1040040;
|
||||
temp_v0_5->words.w1 = (u32) temp_s1_2;
|
||||
temp_v0_5->words.w0 = 0x01040040;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->unk0 = 0xB900031D;
|
||||
temp_v0_6->unk4 = 0x552078;
|
||||
temp_v0_6->words.w0 = 0xB900031D;
|
||||
temp_v0_6->words.w1 = 0x552078;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->unk4 = 0;
|
||||
temp_v0_7->unk0 = 0xFB000000;
|
||||
temp_v0_7->words.w1 = 0;
|
||||
temp_v0_7->words.w0 = 0xFB000000;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
temp_v0_8->unk4 = &D_02007F60;
|
||||
temp_v0_8->unk0 = 0x6000000;
|
||||
temp_v0_8->words.w1 = (u32) D_02007F60;
|
||||
temp_v0_8->words.w0 = 0x06000000;
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->unk4 = 0;
|
||||
temp_v0_9->unk0 = 0xBD000000;
|
||||
temp_v0_9->words.w1 = 0;
|
||||
temp_v0_9->words.w0 = 0xBD000000;
|
||||
phi_s1 = temp_s1_2 + 0x40;
|
||||
phi_s2 = 0;
|
||||
phi_s5 = 0xC0;
|
||||
if (D_800E8530 > 0.0f) {
|
||||
temp_f26 = D_800E8534;
|
||||
phi_f26 = temp_f26;
|
||||
if (temp_f26 > 10.0f) {
|
||||
if (0.0f < 0.0f) {
|
||||
phi_f26 = 3.0f;
|
||||
if (10.0f < 3.0f) {
|
||||
phi_f26 = 10.0f;
|
||||
}
|
||||
sp6C = &D_06009410;
|
||||
@@ -1601,37 +1465,37 @@ void func_800942D0(void) {
|
||||
guRotate(phi_s1, 0.0f, 1.0f, 0.0f, 0.0f);
|
||||
temp_s3 = phi_s2 + 1;
|
||||
temp_s4_2 = phi_s1 + 0x40;
|
||||
guRotate(temp_s4_2, temp_s3 * D_800E8530 * phi_f26, 0.0f, 1.0f, 0.0f);
|
||||
guScale(phi_s1 + 0x80, 1.0f, 1.0f, 2.0f);
|
||||
guRotate(temp_s4_2, (f32) temp_s3 * 0.0f * phi_f26, 0.0f, 1.0f, 0.0f);
|
||||
guScale(phi_s1 + 0x80, 1.0f, 1.0f, 0x40000000);
|
||||
temp_v0_10 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_10 + 8;
|
||||
temp_v0_10->unk4 = phi_s1;
|
||||
temp_v0_10->unk0 = 0x1040040;
|
||||
temp_v0_10->words.w1 = (u32) phi_s1;
|
||||
temp_v0_10->words.w0 = 0x01040040;
|
||||
temp_v0_11 = gDisplayListHead;
|
||||
temp_s1_3 = temp_s4_2 + 0x40;
|
||||
gDisplayListHead = temp_v0_11 + 8;
|
||||
temp_v0_11->unk4 = temp_s4_2;
|
||||
temp_v0_11->unk0 = 0x1000040;
|
||||
temp_v0_11->words.w1 = (u32) temp_s4_2;
|
||||
temp_v0_11->words.w0 = 0x01000040;
|
||||
temp_v0_12 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_12 + 8;
|
||||
temp_v0_12->unk4 = temp_s1_3;
|
||||
temp_v0_12->unk0 = 0x1000040;
|
||||
temp_v0_12->words.w1 = (u32) temp_s1_3;
|
||||
temp_v0_12->words.w0 = 0x01000040;
|
||||
temp_v0_13 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_13 + 8;
|
||||
temp_v0_13->unk4 = 0x5049D8;
|
||||
temp_v0_13->unk0 = 0xB900031D;
|
||||
temp_v0_13->words.w1 = 0x5049D8;
|
||||
temp_v0_13->words.w0 = 0xB900031D;
|
||||
temp_v0_14 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_14 + 8;
|
||||
temp_v0_14->unk4 = phi_s5 & 0xFF;
|
||||
temp_v0_14->unk0 = 0xFB000000;
|
||||
temp_v0_14->words.w1 = phi_s5 & 0xFF;
|
||||
temp_v0_14->words.w0 = 0xFB000000;
|
||||
temp_v0_15 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_15 + 8;
|
||||
temp_v0_15->unk0 = 0x6000000;
|
||||
temp_v0_15->unk4 = sp6C;
|
||||
temp_v0_15->words.w0 = 0x06000000;
|
||||
temp_v0_15->words.w1 = (u32) sp6C;
|
||||
temp_v0_16 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_16 + 8;
|
||||
temp_v0_16->unk4 = 0;
|
||||
temp_v0_16->unk0 = 0xBD000000;
|
||||
temp_v0_16->words.w1 = 0;
|
||||
temp_v0_16->words.w0 = 0xBD000000;
|
||||
phi_s1 = temp_s1_3 + 0x40;
|
||||
phi_s2 = temp_s3;
|
||||
phi_s5 += -0x10;
|
||||
@@ -1642,218 +1506,59 @@ void func_800942D0(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800942D0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_800942D0(); // extern
|
||||
? move_segment_table_to_dmem(); // extern
|
||||
extern s32 D_8018EDC0;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_80094660(Mtx *arg0, ? arg1) {
|
||||
u16 sp56;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
|
||||
void func_80094660(struct GfxPool *arg0, s32 unused) {
|
||||
u16 perspNorm;
|
||||
move_segment_table_to_dmem();
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk4 = 0x80000;
|
||||
temp_v0->unk0 = 0xBA001301;
|
||||
guPerspective(arg0, &sp56, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0xB4000000;
|
||||
temp_v0_2->unk4 = sp56;
|
||||
guLookAt(arg0 + 0x1C0, 0.0f, 0.0f, D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
guPerspective(&arg0->mtxPool[0], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, perspNorm);
|
||||
guLookAt(&arg0->mtxPool[7], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
func_800942D0();
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk4 = 0;
|
||||
temp_v0_3->unk0 = 0xE7000000;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk4 = 0;
|
||||
temp_v0_4->unk0 = 0xBA001301;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk4 = 0x2000;
|
||||
temp_v0_5->unk0 = 0xBA000C02;
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE);
|
||||
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80094660.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_800B0004(); // extern
|
||||
? move_segment_table_to_dmem(); // extern
|
||||
extern ? D_02007650;
|
||||
extern ? D_02007FC8;
|
||||
extern s32 D_8018EDC0;
|
||||
extern f32 D_8018EDC4;
|
||||
extern f32 D_8018EDC8;
|
||||
extern f32 D_8018EDCC;
|
||||
extern f32 D_8018EDD0;
|
||||
extern f32 D_8018EDD4;
|
||||
extern f32 D_8018EDD8;
|
||||
extern f32 D_8018EDDC;
|
||||
extern void *gDisplayListHead;
|
||||
|
||||
void func_800947B4(s32 arg0, ? arg1) {
|
||||
u16 sp7E;
|
||||
Mtx *sp50;
|
||||
Mtx *sp4C;
|
||||
Mtx *sp48;
|
||||
Mtx *sp44;
|
||||
Mtx *sp40;
|
||||
Mtx *sp3C;
|
||||
Mtx *sp38;
|
||||
Mtx *temp_a0;
|
||||
Mtx *temp_a0_2;
|
||||
Mtx *temp_a0_3;
|
||||
Mtx *temp_a0_4;
|
||||
Mtx *temp_a0_5;
|
||||
Mtx *temp_a0_6;
|
||||
Mtx *temp_a0_7;
|
||||
f32 temp_f0;
|
||||
void *temp_v0;
|
||||
void *temp_v0_10;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
void *temp_v0_6;
|
||||
void *temp_v0_7;
|
||||
void *temp_v0_8;
|
||||
void *temp_v0_9;
|
||||
|
||||
void func_800947B4(struct GfxPool *arg0, s32 unused) {
|
||||
u16 perspNorm;
|
||||
move_segment_table_to_dmem();
|
||||
temp_a0 = arg0 + 0x40;
|
||||
sp50 = temp_a0;
|
||||
guPerspective(temp_a0, &sp7E, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0xB4000000;
|
||||
temp_v0->unk4 = sp7E;
|
||||
temp_a0_2 = arg0 + 0x200;
|
||||
sp4C = temp_a0_2;
|
||||
guLookAt(temp_a0_2, 0.0f, 0.0f, D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
temp_a0_3 = arg0 + 0xCAC0;
|
||||
sp48 = temp_a0_3;
|
||||
guRotate(temp_a0_3, D_8018EDC8, 1.0f, 0.0f, 0.0f);
|
||||
temp_a0_4 = arg0 + 0xCB00;
|
||||
sp44 = temp_a0_4;
|
||||
guRotate(temp_a0_4, D_8018EDCC, 0.0f, 1.0f, 0.0f);
|
||||
temp_a0_5 = arg0 + 0xCB40;
|
||||
sp40 = temp_a0_5;
|
||||
guRotate(temp_a0_5, D_8018EDD0, 0.0f, 0.0f, 1.0f);
|
||||
temp_a0_6 = arg0 + 0xCB80;
|
||||
temp_f0 = D_8018EDC4;
|
||||
sp3C = temp_a0_6;
|
||||
guScale(temp_a0_6, temp_f0, temp_f0, temp_f0);
|
||||
temp_a0_7 = arg0 + 0xCBC0;
|
||||
sp38 = temp_a0_7;
|
||||
guTranslate(temp_a0_7, D_8018EDD4, D_8018EDD8, D_8018EDDC);
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x1030040;
|
||||
temp_v0_2->unk4 = sp50;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x1020040;
|
||||
temp_v0_3->unk4 = sp4C;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0x1000040;
|
||||
temp_v0_4->unk4 = sp48;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x1000040;
|
||||
temp_v0_5->unk4 = sp44;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->unk0 = 0x1000040;
|
||||
temp_v0_6->unk4 = sp40;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->unk0 = 0x1000040;
|
||||
temp_v0_7->unk4 = sp3C;
|
||||
temp_v0_8 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_8 + 8;
|
||||
temp_v0_8->unk0 = 0x1000040;
|
||||
temp_v0_8->unk4 = sp38;
|
||||
temp_v0_9 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_9 + 8;
|
||||
temp_v0_9->unk4 = &D_02007FC8;
|
||||
temp_v0_9->unk0 = 0x6000000;
|
||||
guPerspective(&arg0->mtxPool[1], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, perspNorm);
|
||||
guLookAt(&arg0->mtxPool[8], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
guRotate(&arg0->mtxPool[0x32B], D_8018EDC8, 1.0f, 0, 0);
|
||||
guRotate(&arg0->mtxPool[0x32C], D_8018EDCC, 0, 1.0f, 0);
|
||||
guRotate(&arg0->mtxPool[0x32D], D_8018EDD0, 0, 0, 1.0f);
|
||||
guScale(&arg0->mtxPool[0x32E], D_8018EDC4, D_8018EDC4, D_8018EDC4);
|
||||
guTranslate(&arg0->mtxPool[0x32F], D_8018EDD4, D_8018EDD8, D_8018EDDC);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[1], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[8], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32B], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32C], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32D], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32E], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32F], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gDisplayListHead++, D_02007FC8);
|
||||
func_800B0004();
|
||||
temp_v0_10 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_10 + 8;
|
||||
temp_v0_10->unk4 = &D_02007650;
|
||||
temp_v0_10->unk0 = 0x6000000;
|
||||
gSPDisplayList(gDisplayListHead++, D_02007650);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800947B4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? func_80092290(?, ? *, ? *); /* extern */
|
||||
? func_80093E40(); /* extern */
|
||||
? func_80094C60(); /* extern */
|
||||
? func_80095574(); /* extern */
|
||||
? func_80099A70(); /* extern */
|
||||
? func_80099AEC(); /* extern */
|
||||
? func_8009C918(); /* extern */
|
||||
? func_8009CA2C(); /* extern */
|
||||
? func_800A8230(); /* extern */
|
||||
? guOrtho(s32, f32, ?, ?, f32, f32, f32, f32); /* extern */
|
||||
extern ? D_8018E850;
|
||||
extern ? D_8018E854;
|
||||
extern ? D_8018E858;
|
||||
extern ? D_8018E85C;
|
||||
extern ? D_802B8880;
|
||||
static ? D_02007650; /* unable to generate initializer */
|
||||
static ? D_020076B0; /* unable to generate initializer */
|
||||
|
||||
void func_80094A64(s32 arg0) {
|
||||
Gfx *temp_v0;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
s32 temp_t1;
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Non-matching due to .rodata diffs resulting from the switch/case
|
||||
// jump table
|
||||
void func_80094A64(Mtx *arg0) {
|
||||
D_8018D120 = 0;
|
||||
D_80164AF0 = 0;
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->words.w1 = &D_802B8880 & 0x1FFFFFFF;
|
||||
temp_v0->words.w0 = 0x3800010;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->words.w0 = 0xED000000;
|
||||
temp_v0_2->words.w1 = 0x5003C0;
|
||||
guOrtho(arg0, 0.0f, 0x439F8000, 0x436F0000, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w0 = 0x1030040;
|
||||
temp_v0_3->words.w1 = arg0;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w1 = &D_02007650;
|
||||
temp_v0_4->words.w0 = 0x6000000;
|
||||
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_802B8880));
|
||||
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
|
||||
guOrtho(arg0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
gSPMatrix(gDisplayListHead++, arg0, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPDisplayList(gDisplayListHead++, D_02007650);
|
||||
func_80094C60();
|
||||
func_80092290(4, &D_8018E850, &D_8018E858);
|
||||
func_80092290(5, &D_8018E854, &D_8018E85C);
|
||||
func_80099A70();
|
||||
func_8009C918();
|
||||
temp_t1 = gMenuSelection;
|
||||
switch (temp_t1) {
|
||||
switch (gMenuSelection) {
|
||||
case START_MENU:
|
||||
func_80095574();
|
||||
func_80093E40();
|
||||
@@ -1871,15 +1576,9 @@ void func_80094A64(s32 arg0) {
|
||||
break;
|
||||
}
|
||||
func_8009CA2C();
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
D_8018E7A8 += 1;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w1 = 0;
|
||||
temp_v0_5->words.w0 = 0xE7000000;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w0 = 0x6000000;
|
||||
temp_v0_6->words.w1 = &D_020076B0;
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
gSPDisplayList(gDisplayListHead++, D_020076B0);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80094A64.s")
|
||||
|
||||
+47
-1
@@ -2,14 +2,17 @@
|
||||
#define CODE_80091750_H
|
||||
|
||||
#include "common_structs.h"
|
||||
#include "main.h"
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
f64 exponent_by_squaring(f64, s32);
|
||||
void swap_values(s32*, s32*);
|
||||
void func_80092148();
|
||||
void func_800921B4();
|
||||
void func_800921C0(s32, s32, s32);
|
||||
void func_80092224(s32, s32, s32);
|
||||
void func_80092290(s32, s32*, s32*);
|
||||
void func_80092500();
|
||||
void func_80092564();
|
||||
void func_800925A0();
|
||||
@@ -34,8 +37,17 @@ void func_80093754(s32, s32, char*, s32, f32, f32);
|
||||
void print_text2(s32, s32, char*, s32, f32, f32, s32);
|
||||
void func_800939C8(s32, s32, char*, s32, f32, f32);
|
||||
void text_draw(s32, s32, char*, s32, f32, f32);
|
||||
void func_80093C98(s32);
|
||||
void func_80093E20();
|
||||
void func_80093E40();
|
||||
void func_80093F10();
|
||||
void func_800940EC(s32);
|
||||
void func_800942D0();
|
||||
void func_80094660(struct GfxPool*, s32);
|
||||
void func_800947B4(struct GfxPool*, s32);
|
||||
void func_80094A64(Mtx*);
|
||||
void func_80094C60();
|
||||
void func_80095574();
|
||||
Gfx *func_80098C18(Gfx*, s32, s32, s32, s32, s32, s32, u32, s32);
|
||||
Gfx *draw_box(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32);
|
||||
Gfx *func_80098FC8(Gfx*, s32, s32, s32, s32);
|
||||
@@ -43,19 +55,27 @@ void func_80099110();
|
||||
void func_80099184(s32);
|
||||
void *segmented_to_virtual(segment_address_t);
|
||||
void *segmented_to_virtual_dupe(segment_address_t);
|
||||
void func_8009CA2C();
|
||||
void func_8009CA6C(s32);
|
||||
void func_80099A94(Mk64_Texture *, s32);
|
||||
void func_80099AEC();
|
||||
void func_80099E54();
|
||||
void func_80099E60(Mk64_Texture *, s32, s32);
|
||||
void func_80099EC4();
|
||||
void func_8009A594(s32, s32, segment_address_t);
|
||||
void func_8009A640(s32, s32, s32, segment_address_t);
|
||||
void func_80099A70();
|
||||
segment_address_t func_8009A878(struct_8018DEE0_entry*);
|
||||
void func_800A54EC();
|
||||
void func_8009A76C(s32, s32, s32, s32);
|
||||
void func_8009A7EC(s32, s32, s32, s32, s32);
|
||||
void func_800A8250();
|
||||
void func_8009A944(struct_8018DEE0_entry*, s32);
|
||||
Gfx *func_8009BA74(Gfx *, Mk64_Texture*, s32, s32);
|
||||
s32 func_8009C434(s32, struct_8018DEE0_entry*, s32, s32, s32);
|
||||
s32 func_8009C708(s32, struct_8018DEE0_entry *, s32, s32, s32, s32);
|
||||
void func_8009C918();
|
||||
void func_8009E1C0();
|
||||
void func_8009E1E4(void);
|
||||
void func_8009E208();
|
||||
void func_8009E258();
|
||||
void func_800A0AD0(struct_8018D9E0_entry*);
|
||||
@@ -70,6 +90,7 @@ void write_dashes(char*);
|
||||
void get_time_record_minutes(s32, char*);
|
||||
void get_time_record_seconds(s32 , char*);
|
||||
void get_time_record_centiseconds(s32, char*);
|
||||
void func_800A8230();
|
||||
void func_800A86E8(struct_8018D9E0_entry*);
|
||||
void func_800A8E14(struct_8018D9E0_entry*);
|
||||
void func_800A8EC0(struct_8018D9E0_entry*);
|
||||
@@ -80,18 +101,28 @@ struct_8018D9E0_entry *func_800AAEB4(s32);
|
||||
struct_8018D9E0_entry *func_800AAEF4(s32);
|
||||
void func_800AAF94(struct_8018D9E0_entry*, s32);
|
||||
|
||||
// code_80057C60.c
|
||||
void func_80057CE4();
|
||||
|
||||
/* This is where I'd put my static data, if I had any */
|
||||
|
||||
extern Mk64_Texture D_0200157C;
|
||||
extern Mk64_Texture D_02001874;
|
||||
|
||||
extern Gfx D_02004A0C[];
|
||||
extern Gfx D_02007650[];
|
||||
extern Gfx D_020076B0[];
|
||||
extern Gfx D_020077A8[];
|
||||
extern Gfx D_020077D8[];
|
||||
extern Gfx D_02007F18[];
|
||||
extern Gfx D_02007F48[];
|
||||
extern Gfx D_02007F60[];
|
||||
extern Gfx D_02007FC8[];
|
||||
extern Gfx D_02008008[];
|
||||
extern Gfx D_02008030[];
|
||||
extern Gfx D_02008058[];
|
||||
|
||||
extern Gfx D_06009410[];
|
||||
|
||||
extern s16 gGlyphDisplayWidth[]; // D_800EF690
|
||||
extern RGBA16 D_800E74A8[5];
|
||||
@@ -107,6 +138,8 @@ extern char *D_800E7A98;
|
||||
extern char *D_800E7A9C[2];
|
||||
extern s32 gGlyphTextureLUT[]; // D_800E7E84
|
||||
extern Mk64_Texture_Group *D_800E82B4[5];
|
||||
extern f32 D_800E8530;
|
||||
extern f32 D_800E8534;
|
||||
extern s8 D_800E86D0[20];
|
||||
extern f32 D_800F1F30;
|
||||
extern f32 D_800F24A8;
|
||||
@@ -115,12 +148,25 @@ extern f32 D_800F24B0;
|
||||
extern f32 D_800F24B4;
|
||||
extern f32 D_800F24B8;
|
||||
extern f64 D_800F24C0;
|
||||
extern s32 D_80165754;
|
||||
extern s8 D_8018D9D9;
|
||||
extern struct_8018D9E0_entry D_8018D9E0[32]; // D_8018D9E0
|
||||
extern struct_8018DEE0_entry D_8018DEE0[16]; // D_8018DEE0
|
||||
extern struct_8018E118_entry D_8018E118[200]; // D_8018E118
|
||||
extern s8 gTextColor; // D_8018E860
|
||||
extern s8 D_8018ED91;
|
||||
extern s32 D_8018E850;
|
||||
extern s32 D_8018E854;
|
||||
extern s32 D_8018E858;
|
||||
extern s32 D_8018E85C;
|
||||
extern s32 D_8018EDC0;
|
||||
extern f32 D_8018EDC4;
|
||||
extern f32 D_8018EDC8;
|
||||
extern f32 D_8018EDCC;
|
||||
extern f32 D_8018EDD0;
|
||||
extern f32 D_8018EDD4;
|
||||
extern f32 D_8018EDD8;
|
||||
extern f32 D_8018EDDC;
|
||||
extern s8 D_802874F5;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -14,6 +14,7 @@ union GrandPrixPointsUnion
|
||||
/* Function Prototypes */
|
||||
|
||||
void func_800AF9B0();
|
||||
void func_800B0004();
|
||||
void func_800B053C(struct Controller*, u16);
|
||||
void func_800B13B0(struct Controller*, u16);
|
||||
void func_800B15AC(struct Controller*, u16);
|
||||
|
||||
+4
-4
@@ -50,11 +50,11 @@ void func_80280038(void) {
|
||||
func_802A3E3C();
|
||||
func_80057FC4(0);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[8], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp44[37]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gCurrentCourseId = gCreditsCourseId;
|
||||
mtxf_identity(&sp44);
|
||||
func_802B4FF8(&sp44, 0);
|
||||
|
||||
+2
-11
@@ -185,11 +185,8 @@ extern struct UnkStruct_80287500 *D_80287500;
|
||||
void func_80280A28(s32 arg0, s32 arg1, f32 arg2) {
|
||||
|
||||
f32 sp20[14];
|
||||
//f32 temp_f12;
|
||||
Gfx *temp_v1;
|
||||
|
||||
//temp_f12 = arg2;
|
||||
//arg2 = temp_f12;
|
||||
func_80021E10(arg2, &sp20, arg0, arg1);
|
||||
sp20[0] = D_80287500->unk0[0] * arg2;
|
||||
sp20[1] = D_80287500->unk10 * arg2;
|
||||
@@ -200,15 +197,9 @@ void func_80280A28(s32 arg0, s32 arg1, f32 arg2) {
|
||||
sp20[6] = D_80287500->unk0[2] * arg2;
|
||||
sp20[7] = D_80287500->unk18 * arg2;
|
||||
sp20[8] = D_80287500->unk28 * arg2;
|
||||
func_80022180(arg2, &gGfxPool->buffer[D_80164AF0] + 0xFAC0, &sp20);
|
||||
func_80022180(arg2, &gGfxPool->mtxPool[D_80164AF0 + 0x3EB], &sp20);
|
||||
|
||||
gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
|
||||
//temp_v1 = gDisplayListHead;
|
||||
//gDisplayListHead = temp_v1 + 8;
|
||||
//temp_v1->words.w0 = 0x01020040;
|
||||
//temp_v1->words.w1 = VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0);
|
||||
gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280A28.s")
|
||||
|
||||
+4
-4
@@ -64,11 +64,11 @@ void func_80281D00(void) {
|
||||
}
|
||||
func_8028150C();
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective((Mtx*) &gGfxPool->buffer[8], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp64[39]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt((Mtx*) &gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt((Mtx*) &gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(&sp64[6]);
|
||||
func_802B4FF8(&sp64[6], 0);
|
||||
gSPDisplayList(gDisplayListHead++, &D_00284F70);
|
||||
|
||||
+58
-58
@@ -460,9 +460,9 @@ void func_802A487C(Vtx *arg0, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3,
|
||||
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING);
|
||||
guOrtho((Mtx *)&gGfxPool->buffer, 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f);
|
||||
guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, 0xFFFF);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_0D008E98), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPVertex(gDisplayListHead++, &arg0[4], 4, 0);
|
||||
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
|
||||
@@ -530,9 +530,9 @@ void func_802A4A0C(Vtx *arg0, struct UnkStruct_800DC5EC *arg1, s32 arg2, s32 arg
|
||||
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING);
|
||||
guOrtho(&gGfxPool->buffer, 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f);
|
||||
guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, 0xFFFF);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_0D008E98), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPVertex(gDisplayListHead++, &arg0, 4, 0);
|
||||
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
|
||||
@@ -983,23 +983,23 @@ void func_802A59A4(void) {
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
guPerspective(&gGfxPool->buffer[8], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, spAA[23]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2],
|
||||
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2],
|
||||
camera->unk, camera->unk1, camera->unk2, camera->angleX,
|
||||
camera->angleY, camera->angleZ);
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp5C);
|
||||
func_802B4FF8(sp5C, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5EC);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp5C);
|
||||
func_802B4FF8(sp5C, 0);
|
||||
}
|
||||
@@ -1033,23 +1033,23 @@ void func_802A5CB4(void) {
|
||||
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
|
||||
if (D_800DC5C8 == 0) {
|
||||
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5EC);
|
||||
if (D_800DC5C8 == 1) {
|
||||
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
@@ -1082,23 +1082,23 @@ void func_802A5FAC(void) {
|
||||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
|
||||
//D_801647A8, D_801647AC, D_801647B0, D_801647B4, D_801647B8, D_801647BC, D_801647C0, D_801647C4, D_801647C8);
|
||||
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5F0);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
}
|
||||
@@ -1130,22 +1130,22 @@ void func_802A62A4(void) {
|
||||
func_802A3E3C();
|
||||
func_802A3730(D_800DC5EC);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
|
||||
if (D_800DC5C8 == 0) {
|
||||
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5EC);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
}
|
||||
@@ -1178,21 +1178,21 @@ void func_802A65B8(void) {
|
||||
func_802A3E3C();
|
||||
func_802A3730(D_800DC5F0);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5F0);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(&sp58);
|
||||
func_802B4FF8(&sp58, 0);
|
||||
}
|
||||
@@ -1224,21 +1224,21 @@ void func_802A68CC(void) {
|
||||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(&sp58);
|
||||
func_802B4FF8(&sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5EC);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(&sp58);
|
||||
func_802B4FF8(&sp58, 0);
|
||||
}
|
||||
@@ -1270,21 +1270,21 @@ void func_802A6BB0(void) {
|
||||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5F0);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
}
|
||||
@@ -1315,21 +1315,21 @@ void func_802A6E94(void) {
|
||||
func_802A3E3C();
|
||||
func_802A3730(D_800DC5F4);
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[24], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp9A[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[72], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[9], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5F4);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp58);
|
||||
func_802B4FF8(sp58, 0);
|
||||
}
|
||||
@@ -1370,20 +1370,20 @@ void func_802A7178(void) {
|
||||
func_802A3730(D_800DC5F8);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
guPerspective(&gGfxPool->buffer[32], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, sp92[17]);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->buffer[80], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxPool[10], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
|
||||
if (D_800DC5C8 == 0) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp50);
|
||||
func_802B4FF8(sp50, 0);
|
||||
} else {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
}
|
||||
func_80295A38(D_800DC5F8);
|
||||
if (D_800DC5C8 == 1) {
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
mtxf_identity(sp50);
|
||||
func_802B4FF8(sp50, 0);
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
#include <macros.h>
|
||||
#include "types.h"
|
||||
#include "PR/gu.h"
|
||||
#include "main.h"
|
||||
|
||||
extern s16 D_800E43A8;
|
||||
extern Mtx D_0D008E98;
|
||||
extern Gfx* gDisplayListHead;
|
||||
extern Mtx* gGfxPool;
|
||||
|
||||
// rsp init
|
||||
void gfx_func_80040D00(void) {
|
||||
@@ -15,7 +15,7 @@ void gfx_func_80040D00(void) {
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
guOrtho((Mtx *) gGfxPool, 0.0f, 320.0f, 0.0f, 240.0f, -1.0f, 1.0f, 1.0f);
|
||||
guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, -1.0f, 1.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, 0x0000FFFF);
|
||||
gSPMatrix(gDisplayListHead++, (u32) gGfxPool & 0x1FFFFFFF, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, (u32) &D_0D008E98 & 0x1FFFFFFF, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
+6
-6
@@ -335,8 +335,8 @@ void func_800006E8(void) {
|
||||
gGfxSPTask->task.t.dram_stack_size = SP_DRAM_STACK_SIZE8;
|
||||
gGfxSPTask->task.t.output_buff = (u64 *) &gGfxSPTaskOutputBuffer;
|
||||
gGfxSPTask->task.t.output_buff_size = (u64 *) &gGfxSPTaskOutputBufferSize;
|
||||
gGfxSPTask->task.t.data_ptr = (u64 *) &gGfxPool->buffer[0x3418];
|
||||
gGfxSPTask->task.t.data_size = (gDisplayListHead - &gGfxPool->buffer[0x3418]) * sizeof(Gfx);
|
||||
gGfxSPTask->task.t.data_ptr = (u64 *) gGfxPool->gfxPool;
|
||||
gGfxSPTask->task.t.data_size = (gDisplayListHead - gGfxPool->gfxPool) * sizeof(Gfx);
|
||||
func_8008C214();
|
||||
gGfxSPTask->task.t.yield_data_ptr = (u64 *) &gGfxSPTaskYieldBuffer;
|
||||
gGfxSPTask->task.t.yield_data_size = 0xD00; /* Not equal to OS_YIELD_DATA_SIZE */
|
||||
@@ -466,9 +466,9 @@ void *clear_framebuffer(s32 color) {
|
||||
|
||||
void rendering_init(void) {
|
||||
gGfxPool = &gGfxPools[0];
|
||||
set_segment_base_addr(1, gGfxPool->buffer);
|
||||
set_segment_base_addr(1, gGfxPool);
|
||||
gGfxSPTask = &gGfxPool->spTask;
|
||||
gDisplayListHead = &gGfxPool->buffer[0x3418];
|
||||
gDisplayListHead = gGfxPool->gfxPool;
|
||||
func_80000CA8();
|
||||
clear_framebuffer(0);
|
||||
func_80000CE8();
|
||||
@@ -479,8 +479,8 @@ void rendering_init(void) {
|
||||
|
||||
void config_gfx_pool(void) {
|
||||
gGfxPool = &gGfxPools[gGlobalTimer & 1];
|
||||
set_segment_base_addr(1, gGfxPool->buffer);
|
||||
gDisplayListHead = &gGfxPool->buffer[0x3418];
|
||||
set_segment_base_addr(1, gGfxPool);
|
||||
gDisplayListHead = gGfxPool->gfxPool;
|
||||
gGfxSPTask = &gGfxPool->spTask;
|
||||
}
|
||||
|
||||
|
||||
+7
-6
@@ -2,13 +2,14 @@
|
||||
#define MAIN_H
|
||||
|
||||
#include "types.h"
|
||||
// 20836
|
||||
// 655
|
||||
#define GFX_POOL_SIZE 20836
|
||||
|
||||
#define MTX_POOL_SIZE 0x0683
|
||||
#define GFX_POOL_SIZE 0x1D4C
|
||||
struct GfxPool {
|
||||
Gfx buffer[GFX_POOL_SIZE];
|
||||
struct SPTask spTask;
|
||||
};
|
||||
/* 0x00000 */ Mtx mtxPool[MTX_POOL_SIZE];
|
||||
/* 0x1A0C0 */ Gfx gfxPool[GFX_POOL_SIZE];
|
||||
/* 0x28B20 */ struct SPTask spTask;
|
||||
}; // size = 0x28B70
|
||||
|
||||
extern struct GfxPool *gGfxPool;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user