core1/gu/rotate.c done
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# banjo (91.8246%)
|
||||
# banjo (91.9337%)
|
||||
|
||||
<img src="./progress/progress_total.svg">
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||
<path fill="#47e000" d="M44 0h67v20H44z"/>
|
||||
<path fill="#46e000" d="M44 0h67v20H44z"/>
|
||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@@ -17,7 +17,7 @@
|
||||
<text x="22.0" y="14">core1</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">84.1199%</text>
|
||||
<text x="77.5" y="14">84.1199%</text>
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">84.3371%</text>
|
||||
<text x="77.5" y="14">84.3371%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||
<path fill="#2de000" d="M44 0h67v20H44z"/>
|
||||
<path fill="#2ce000" d="M44 0h67v20H44z"/>
|
||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@@ -17,7 +17,7 @@
|
||||
<text x="22.0" y="14">core2</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">89.9820%</text>
|
||||
<text x="77.5" y="14">89.9820%</text>
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">90.1172%</text>
|
||||
<text x="77.5" y="14">90.1172%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h150v20H0z"/>
|
||||
<path fill="#25e000" d="M150 0h67v20H150z"/>
|
||||
<path fill="#24e000" d="M150 0h67v20H150z"/>
|
||||
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@@ -17,7 +17,7 @@
|
||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">91.8246%</text>
|
||||
<text x="183.5" y="14">91.8246%</text>
|
||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">91.9337%</text>
|
||||
<text x="183.5" y="14">91.9337%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -4,13 +4,18 @@
|
||||
|
||||
#include "ml/mtx.h"
|
||||
|
||||
extern Mtx *D_80282FD0;
|
||||
extern Mtx_t D_80282810;
|
||||
|
||||
|
||||
f32 func_80263FF0(f32);
|
||||
f32 cosf(f32);
|
||||
extern f64 D_80278220;
|
||||
|
||||
/*.bss*/
|
||||
Mtx_t D_80282810;
|
||||
u8 pad_D_80282850[0x780];
|
||||
Mtx * D_80282FD0;
|
||||
|
||||
/*.code*/
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_13990/func_802513B0.s")
|
||||
#else
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern struct {
|
||||
struct {
|
||||
u16 *unk0;
|
||||
int unk4;
|
||||
} D_80282FE0;
|
||||
|
@@ -11,23 +11,27 @@ typedef struct {
|
||||
s32 unk14;
|
||||
}Struct_Core1_15B30;
|
||||
|
||||
extern Gfx *D_80276580[2];
|
||||
extern Mtx *D_80282FF0[2];
|
||||
extern Vtx *D_80282FF8[2];
|
||||
extern s32 D_80283000;
|
||||
extern s32 D_80283004;
|
||||
extern Struct_Core1_15B30 D_80283008[];
|
||||
extern s32 D_802831E8;
|
||||
extern OSMesgQueue D_802831F0;
|
||||
extern OSMesg D_80283208;
|
||||
extern u16 D_8028320C;
|
||||
extern u16 D_8028320E;
|
||||
extern u16 D_80283210;
|
||||
extern u16 D_80283212;
|
||||
extern Gfx *D_80283214;
|
||||
|
||||
extern u8 D_803A5D00[2][0x1ecc0];
|
||||
|
||||
/* .data */
|
||||
extern Gfx *D_80276580[2];
|
||||
|
||||
/* .bss */
|
||||
Mtx *D_80282FF0[2];
|
||||
Vtx *D_80282FF8[2];
|
||||
s32 D_80283000;
|
||||
s32 D_80283004;
|
||||
Struct_Core1_15B30 D_80283008[20];
|
||||
s32 D_802831E8;
|
||||
OSMesgQueue D_802831F0;
|
||||
OSMesg D_80283208;
|
||||
u16 D_8028320C;
|
||||
u16 D_8028320E;
|
||||
u16 D_80283210;
|
||||
u16 D_80283212;
|
||||
Gfx *D_80283214;
|
||||
|
||||
/* .h */
|
||||
void func_80254348(void);
|
||||
void func_80254464(void);
|
||||
|
||||
|
@@ -2,11 +2,11 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern u64 D_80283280[];
|
||||
|
||||
extern s32 D_80283380;
|
||||
extern s32 D_80283384;
|
||||
extern s32 D_80283388;
|
||||
/* .bss */
|
||||
u8 D_80283280[0x100];
|
||||
s32 D_80283380;
|
||||
s32 D_80283384;
|
||||
s32 D_80283388;
|
||||
|
||||
void func_80255C30(void) {
|
||||
D_80283384 = *(s32 *)0xA4000000 ^ -1;
|
||||
|
@@ -4,7 +4,13 @@
|
||||
#include "SnS.h"
|
||||
#include "save.h"
|
||||
|
||||
|
||||
/* .bss */
|
||||
StopNSwop_Data snsParsedKeys;
|
||||
struct GlobalSave gSaveData;
|
||||
s32 snsMinKeyToParse;
|
||||
s32 snsMaxKeyToParse;
|
||||
s32 snsParsedCurrPos;
|
||||
u32 snsBackedUpItems;
|
||||
|
||||
void sns_init_parsing_params(s32 min, s32 max)
|
||||
{
|
||||
|
@@ -3,18 +3,20 @@
|
||||
#include "variables.h"
|
||||
#include "SnS.h"
|
||||
|
||||
/**
|
||||
* An index used to track the position in the incoming payload
|
||||
* we should read the next key from.
|
||||
*/
|
||||
extern s32 snsPayloadInCurrPos;
|
||||
|
||||
/* .data*/
|
||||
/**
|
||||
* An index used to track the position in the outgoing payload
|
||||
* it should write the next key to.
|
||||
*/
|
||||
extern s32 snsPayloadOutCurrPos;
|
||||
|
||||
/*.bss*/
|
||||
/**
|
||||
* An index used to track the position in the incoming payload
|
||||
* we should read the next key from.
|
||||
*/
|
||||
s32 snsPayloadInCurrPos;
|
||||
|
||||
|
||||
struct SnsPayload *snspayload_init_new_payload(struct SnsPayload *payload)
|
||||
{
|
||||
|
53
src/core1/done/gu/rotate.c
Normal file
53
src/core1/done/gu/rotate.c
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
// extern f32 D_80285900;
|
||||
|
||||
f32 sinf(f32);
|
||||
f32 cosf(f32);
|
||||
|
||||
// MATCHING but need to resolve core1 bss section for static D_80285900
|
||||
void guRotateF(float mf[4][4], float a, float x, float y, float z)
|
||||
{
|
||||
static f32 D_80285900 = 3.1415926 / 180.0;
|
||||
float sine;
|
||||
float cosine;
|
||||
float ab, bc, ca, t;
|
||||
|
||||
|
||||
guNormalize(&x, &y, &z);
|
||||
a *= D_80285900;
|
||||
sine = sinf(a);
|
||||
cosine = cosf(a);
|
||||
t = (1-cosine);
|
||||
ab = x*y*t;
|
||||
bc = y*z*t;
|
||||
ca = z*x*t;
|
||||
|
||||
guMtxIdentF(mf);
|
||||
|
||||
t = x*x;
|
||||
mf[0][0] = t+cosine*(1-t);
|
||||
mf[2][1] = bc-x*sine;
|
||||
mf[1][2] = bc+x*sine;
|
||||
|
||||
t = y*y;
|
||||
mf[1][1] = t+cosine*(1-t);
|
||||
mf[2][0] = ca+y*sine;
|
||||
mf[0][2] = ca-y*sine;
|
||||
|
||||
t = z*z;
|
||||
mf[2][2] = t+cosine*(1-t);
|
||||
mf[1][0] = ab-z*sine;
|
||||
mf[0][1] = ab+z*sine;
|
||||
}
|
||||
|
||||
// MATCHING with -O3, need to resolve bss section
|
||||
void guRotate(Mtx *m, float a, float x, float y, float z)
|
||||
{
|
||||
float mf[4][4];
|
||||
|
||||
guRotateF(mf, a, x, y, z);
|
||||
guMtxF2L(mf, m);
|
||||
}
|
@@ -7,10 +7,12 @@ extern u32 __osPiAccessQueueEnabled;
|
||||
OSDevMgr __osPiDevMgr = {0};
|
||||
OSPiHandle *__osPiTable = NULL;
|
||||
OSPiHandle *__osCurrentHandle[2] = {&CartRomHandle, &LeoDiskHandle};
|
||||
extern OSThread piThread;
|
||||
extern char piThreadStack[OS_PIM_STACKSIZE];
|
||||
extern OSMesgQueue piEventQueue;
|
||||
extern OSMesg piEventBuf;
|
||||
|
||||
/* .bss */
|
||||
OSThread piThread;
|
||||
char piThreadStack[OS_PIM_STACKSIZE];
|
||||
OSMesgQueue piEventQueue;
|
||||
OSMesg piEventBuf;
|
||||
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt)
|
||||
{
|
||||
|
@@ -5,7 +5,9 @@
|
||||
{ \
|
||||
ptr = (void *)osVirtualToPhysical(ptr); \
|
||||
}
|
||||
extern OSTask tmp_task; // TODO bss (static)
|
||||
|
||||
OSTask tmp_task; // TODO bss (static)
|
||||
|
||||
static OSTask *_VirtualToPhysicalTask(OSTask *intp)
|
||||
{
|
||||
OSTask *tp;
|
||||
|
@@ -4,6 +4,8 @@
|
||||
#include "osint.h"
|
||||
|
||||
OSDevMgr __osViDevMgr = {0};
|
||||
|
||||
/* .bss */
|
||||
/*static*/ OSThread viThread;
|
||||
/*static*/ unsigned char viThreadStack[OS_VIM_STACKSIZE];
|
||||
/*static*/ OSMesgQueue viEventQueue;
|
||||
@@ -54,7 +56,7 @@ void osCreateViManager(OSPri pri)
|
||||
}
|
||||
}
|
||||
}
|
||||
extern u16 retrace;
|
||||
u16 retrace;
|
||||
static void viMgrMain(void *arg)
|
||||
{
|
||||
__OSViContext *vc;
|
||||
|
@@ -1,5 +1,6 @@
|
||||
#include <os_internal.h>
|
||||
#include "osint.h"
|
||||
|
||||
__OSEventState __osEventStateTab[OS_NUM_EVENTS];
|
||||
void osSetEventMesg(OSEvent event, OSMesgQueue *mq, OSMesg msg)
|
||||
{
|
||||
|
@@ -1,55 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern f32 D_80285900;
|
||||
|
||||
f32 sinf(f32);
|
||||
f32 cosf(f32);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/gu/rotate/guRotateF.s")
|
||||
// MATCHING but need to resolve core1 bss section for static D_80285900
|
||||
// void guRotateF(float mf[4][4], float a, float x, float y, float z)
|
||||
// {
|
||||
// static f32 D_80285900 = 3.1415926 / 180.0;
|
||||
// float sine;
|
||||
// float cosine;
|
||||
// float ab, bc, ca, t;
|
||||
|
||||
|
||||
// guNormalize(&x, &y, &z);
|
||||
// a *= D_80285900;
|
||||
// sine = sinf(a);
|
||||
// cosine = cosf(a);
|
||||
// t = (1-cosine);
|
||||
// ab = x*y*t;
|
||||
// bc = y*z*t;
|
||||
// ca = z*x*t;
|
||||
|
||||
// guMtxIdentF(mf);
|
||||
|
||||
// t = x*x;
|
||||
// mf[0][0] = t+cosine*(1-t);
|
||||
// mf[2][1] = bc-x*sine;
|
||||
// mf[1][2] = bc+x*sine;
|
||||
|
||||
// t = y*y;
|
||||
// mf[1][1] = t+cosine*(1-t);
|
||||
// mf[2][0] = ca+y*sine;
|
||||
// mf[0][2] = ca-y*sine;
|
||||
|
||||
// t = z*z;
|
||||
// mf[2][2] = t+cosine*(1-t);
|
||||
// mf[1][0] = ab-z*sine;
|
||||
// mf[0][1] = ab+z*sine;
|
||||
// }
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/gu/rotate/guRotate.s")
|
||||
// MATCHING with -O3, need to resolve bss section
|
||||
// void guRotate(Mtx *m, float a, float x, float y, float z)
|
||||
// {
|
||||
// float mf[4][4];
|
||||
|
||||
// guRotateF(mf, a, x, y, z);
|
||||
// guMtxF2L(mf, m);
|
||||
// }
|
@@ -19,7 +19,7 @@ extern void func_80253010(void *dest, void *src, s32 size);
|
||||
#define HEAP_SIZE 0x210520
|
||||
#define LAST_HEAP_BLOCK HEAP_SIZE/sizeof(EmptyHeapBlock) - 1
|
||||
|
||||
enum {
|
||||
extern enum {
|
||||
HEAP_BLOCK_EMPTY = 0,
|
||||
HEAP_BLOCK_USED = 1,
|
||||
HEAP_BLOCK_PERM = 2
|
||||
@@ -46,11 +46,7 @@ extern EmptyHeapBlock D_8023DA00;
|
||||
extern struct{
|
||||
bool unk0;
|
||||
}D_802765B0;
|
||||
extern void *D_80283224;
|
||||
extern void *D_80283228;
|
||||
extern s32 D_8028322C;
|
||||
extern u32 heap_requested_size;
|
||||
extern HeapHeader * D_80283234;
|
||||
|
||||
extern u32 heap_occupiedBytes; //occupied heap size
|
||||
extern u8 D_80276594;
|
||||
extern u8 D_80276598;
|
||||
@@ -61,8 +57,13 @@ extern void *D_802765A8;
|
||||
extern s32 D_802765AC;
|
||||
extern UNK_TYPE(void *) D_802765B4;
|
||||
|
||||
extern s32 D_80283220;
|
||||
extern struct {
|
||||
s32 D_80283220;
|
||||
void *D_80283224;
|
||||
void *D_80283228;
|
||||
s32 D_8028322C;
|
||||
u32 heap_requested_size;
|
||||
HeapHeader * D_80283234;
|
||||
struct {
|
||||
void *unk0[0x10];
|
||||
void **unk40;
|
||||
}D_80283238;
|
||||
|
@@ -20,6 +20,7 @@ OSTime osClockRate = OS_CLOCK_RATE;
|
||||
s32 osViClock = VI_NTSC_CLOCK;
|
||||
u32 __osShutdown = 0;
|
||||
u32 __OSGlobalIntMask = OS_IM_ALL;
|
||||
/* .bss */
|
||||
u32 __osFinalrom;
|
||||
|
||||
void __osInitialize_common()
|
||||
|
@@ -590,37 +590,35 @@ void * func_80303800(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//BKCollisionTri *
|
||||
#ifndef NONMATCHING
|
||||
BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303960.s")
|
||||
#else
|
||||
BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags) {
|
||||
s32 cube_indx[3];
|
||||
s32 min[3];
|
||||
s32 max[3];
|
||||
BKCollisionTri *temp_v0;
|
||||
BKCollisionTri *var_s5;
|
||||
Cube *cube;
|
||||
|
||||
var_s5 = NULL;
|
||||
cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4);
|
||||
if(cube_indx);
|
||||
for(cube_indx[0] = min[0]; cube_indx[0] <= max[0]; cube_indx[0]++){
|
||||
for(cube_indx[1] = min[1]; cube_indx[1] <= max[1]; cube_indx[1]++){
|
||||
for(cube_indx[2] = min[2]; cube_indx[2] <= max[2]; cube_indx[2]++){
|
||||
temp_v0 = func_80331638(cube_atIndices(cube_indx), volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||
cube = cube_atIndices(cube_indx);
|
||||
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||
if (temp_v0 != NULL) {
|
||||
var_s5 = temp_v0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
temp_v0 = func_80331638(func_8030364C(), volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||
cube = func_8030364C();
|
||||
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||
if (temp_v0 != NULL) {
|
||||
var_s5 = temp_v0;
|
||||
}
|
||||
return var_s5;
|
||||
}
|
||||
#endif
|
||||
|
||||
//BKCollisionTri *
|
||||
BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
|
||||
@@ -1777,13 +1775,57 @@ s32 func_80307164(Struct_core2_7AF80_2 *arg0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307258.s")
|
||||
s32 func_80307258(f32 arg0[3], s32 arg1, s32 arg2) {
|
||||
f32 temp_f14;
|
||||
f32 temp_f2;
|
||||
Struct_core2_7AF80_2 * temp_a0;
|
||||
Struct_core2_7AF80_2 *temp_a3;
|
||||
Struct_core2_7AF80_2 *var_v1;
|
||||
Struct_core2_7AF80_1 *temp_v0;
|
||||
|
||||
temp_v0 = &D_8036A9BC[arg1];
|
||||
var_v1 = temp_v0->unk8 + arg2;
|
||||
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
|
||||
return arg2;
|
||||
}
|
||||
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
|
||||
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
|
||||
temp_f2 = arg0[2] - var_v1->unk0[2];
|
||||
temp_f14 = arg0[0] - var_v1->unk0[0];
|
||||
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
|
||||
return var_v1 - temp_v0->unk8;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool func_80307390(s32 arg0, s32 arg1) {
|
||||
return (D_8036A9BC + arg0)->unk8[arg1].unk10_0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803073CC.s")
|
||||
s32 func_803073CC(f32 arg0[3], s32 arg1, s32 arg2) {
|
||||
f32 temp_f14;
|
||||
f32 temp_f2;
|
||||
Struct_core2_7AF80_2 * temp_a0;
|
||||
Struct_core2_7AF80_2 *temp_a3;
|
||||
Struct_core2_7AF80_2 *var_v1;
|
||||
Struct_core2_7AF80_1 *temp_v0;
|
||||
|
||||
temp_v0 = &D_8036A9D4[arg1];
|
||||
var_v1 = temp_v0->unk8 + arg2;
|
||||
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
|
||||
return arg2;
|
||||
}
|
||||
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
|
||||
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
|
||||
temp_f2 = arg0[2] - var_v1->unk0[2];
|
||||
temp_f14 = arg0[0] - var_v1->unk0[0];
|
||||
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
|
||||
return var_v1 - temp_v0->unk8;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307504.s")
|
||||
// s32 func_80307504(f32 arg0[3], s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
|
@@ -42,6 +42,7 @@ typedef union{
|
||||
|
||||
typedef bool( *Method_Core2_A5BC0)(NodeProp *, s32);
|
||||
|
||||
s32 func_80330974(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3);
|
||||
s32 func_80320DB0(f32[3], f32, f32[3], u32);
|
||||
extern void func_80320EB0(ActorMarker *, f32, s32);
|
||||
extern void func_80320ED8(ActorMarker *, f32, s32);
|
||||
@@ -51,13 +52,15 @@ void func_8032CD60(Prop *);
|
||||
f32 func_8033A244(f32);
|
||||
void func_8032F64C(f32 *pos, ActorMarker * marker);
|
||||
|
||||
|
||||
/* .data */
|
||||
extern s32 D_8036E7B0;
|
||||
extern ModelCache *modelCache; //D_8036E7C0 //model pointer array pointer
|
||||
extern u8 *D_8036E7C4;
|
||||
extern ActorMarker *D_8036E7C8;
|
||||
extern s16 D_8036E7E0[];
|
||||
extern s16 D_8036E7FC[];
|
||||
extern Struct6Cs D_8036E7D0; //= {NULL, NULL, NULL, func_80330974};
|
||||
extern s16 D_8036E7E0[];//= {0x2D2, 0x2DD, 0x580, 0x6D1, 0x6D6, 0x6D7, 0x364, 0x2E8, 0x309, 0x30A, 0x704, 0x30D, 0x6C7, -1};
|
||||
extern s16 D_8036E7FC[]; //={-1};
|
||||
//extern s32 D_8036E800;
|
||||
// extern u32 D_8036E804[8];
|
||||
|
||||
@@ -969,12 +972,8 @@ void func_8032F194(ActorMarker *marker, s32 position[3], Cube *cube) {
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032F21C.s")
|
||||
#else
|
||||
s32 func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
|
||||
void func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
|
||||
ActorProp *sp1C;
|
||||
u8 temp_t0;
|
||||
u8 temp_t2;
|
||||
u8 temp_t6;
|
||||
u8 temp_t8;
|
||||
|
||||
sp1C = func_8032D80C(cube);
|
||||
sp1C->unk8_0 = TRUE;
|
||||
@@ -982,8 +981,8 @@ s32 func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
|
||||
sp1C->y = (s16) position[1];
|
||||
sp1C->z = (s16) position[2];
|
||||
sp1C->marker = marker;
|
||||
sp1C->unk8_15 = 0;
|
||||
sp1C->unk8_1 = arg3;
|
||||
sp1C->unk8_15 = 0;
|
||||
sp1C->unk8_5 = FALSE;
|
||||
|
||||
sp1C->unk8_10 = (func_802E4A08(position)) ? 0xF : (u8)(randf() * 32);
|
||||
@@ -1460,8 +1459,9 @@ s32 func_80330974(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330B10.s")
|
||||
Struct6Cs *func_80330B10(void){
|
||||
return &D_8036E7D0;
|
||||
}
|
||||
|
||||
//marker_loadModelBin
|
||||
BKModelBin *func_80330B1C(ActorMarker *this){
|
||||
@@ -1589,6 +1589,7 @@ s32 func_80330F94(NodeProp *arg0, s32 arg1[3]){
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330FC4.s")
|
||||
|
||||
|
||||
void func_80330FCC(ActorMarker *marker, s32 arg1[3]){
|
||||
arg1[0] = marker->propPtr->x;
|
||||
arg1[1] = marker->propPtr->y;
|
||||
|
@@ -7,7 +7,7 @@
|
||||
|
||||
typedef s32 (*FuncUnk40)(ActorMarker *, s32, f32[3]);
|
||||
|
||||
typedef struct particle_struct_0_s{
|
||||
typedef struct particle_struct_1_s{
|
||||
f32 unk0[3];
|
||||
f32 unkC[3];
|
||||
u8 pad18[8];
|
||||
@@ -24,6 +24,29 @@ typedef struct particle_struct_0_s{
|
||||
u8 unk45;
|
||||
u8 unk46;
|
||||
u8 unk47;
|
||||
} ParticleStruct1s;
|
||||
|
||||
typedef struct particle_struct_0_s{
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
u8 pad18[8];
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
u8 pad24[0x4];
|
||||
ActorMarker *marker_30;
|
||||
struct54s *unk34;
|
||||
ActorMarker *unk38;
|
||||
s32 unk3C;
|
||||
FuncUnk40 unk40;
|
||||
u8 unk44;
|
||||
u8 unk45;
|
||||
u8 unk46;
|
||||
u8 unk47;
|
||||
} ParticleStruct0s;
|
||||
|
||||
ActorMarker *func_8033E864(void);
|
||||
|
@@ -30,7 +30,7 @@ void func_803546E8(void) {
|
||||
u8 sp4F;
|
||||
struct54s* sp48;
|
||||
u8 sp47;
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
|
||||
@@ -64,7 +64,7 @@ void func_803546E8(void) {
|
||||
}
|
||||
|
||||
void func_8035489C(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
u8 temp_v0;
|
||||
f32 playerVelocity[3];
|
||||
f32 playerPosition[3];
|
||||
@@ -98,7 +98,7 @@ void func_80354998(void) {
|
||||
ActorMarker *sp50;
|
||||
struct54s *sp4C;
|
||||
u8 sp4B;
|
||||
ParticleStruct0s *temp_s0;
|
||||
ParticleStruct1s *temp_s0;
|
||||
f32 sp38[3];
|
||||
f32 sp2C[3];
|
||||
s32 sp28;
|
||||
@@ -170,7 +170,7 @@ void func_80354998(void) {
|
||||
}
|
||||
|
||||
void func_80354C18(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
s32 pad;
|
||||
ActorMarker *sp4C;
|
||||
u8 sp4B;
|
||||
@@ -221,7 +221,7 @@ void func_80354C18(void) {
|
||||
void func_80354DC8(void){}
|
||||
|
||||
void func_80354DD0(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
struct54s* sp40;
|
||||
u8 sp3F;
|
||||
u8 pad3C[3];
|
||||
@@ -253,7 +253,7 @@ void func_80354DD0(void) {
|
||||
}
|
||||
|
||||
void func_80354EEC(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
s32 pad;
|
||||
ActorMarker *sp3C;
|
||||
FuncUnk40 sp38;
|
||||
@@ -293,7 +293,7 @@ void func_8035500C(void) {
|
||||
u8 sp47;
|
||||
struct54s* sp40;
|
||||
u8 sp3F;
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
f32 sp2C[3];
|
||||
f32 sp20[3];
|
||||
|
||||
@@ -322,7 +322,7 @@ void func_8035500C(void) {
|
||||
}
|
||||
|
||||
void func_80355134(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
u8 temp_s1;
|
||||
ActorMarker *sp3C;
|
||||
FuncUnk40 sp38;
|
||||
@@ -364,7 +364,7 @@ void func_8035529C(void) {
|
||||
u8 sp4F;
|
||||
struct54s* sp48;
|
||||
u8 sp47;
|
||||
ParticleStruct0s* sp40;
|
||||
ParticleStruct1s* sp40;
|
||||
f32 sp34[3];
|
||||
f32 sp28[3];
|
||||
|
||||
@@ -393,7 +393,7 @@ void func_8035529C(void) {
|
||||
}
|
||||
|
||||
void func_803553E8(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
u8 temp_s1;
|
||||
ActorMarker *sp3C;
|
||||
FuncUnk40 sp38;
|
||||
@@ -436,7 +436,7 @@ void func_80355550(void) {
|
||||
u8 sp3F;
|
||||
struct54s *sp38;
|
||||
u8 sp37;
|
||||
ParticleStruct0s *sp30;
|
||||
ParticleStruct1s *sp30;
|
||||
f32 sp24[3];
|
||||
f32 sp18[3];
|
||||
|
||||
@@ -474,7 +474,7 @@ void func_80355550(void) {
|
||||
}
|
||||
|
||||
void func_8035570C(void) {
|
||||
ParticleStruct0s* temp_s0;
|
||||
ParticleStruct1s* temp_s0;
|
||||
u8 temp_s1;
|
||||
ActorMarker *sp3C;
|
||||
FuncUnk40 sp38;
|
||||
@@ -517,7 +517,7 @@ void func_80355864(void) {
|
||||
static s32 D_803863E4;
|
||||
f32 var_f2;
|
||||
Actor *sp4C;
|
||||
ParticleStruct0s *sp48;
|
||||
ParticleStruct1s *sp48;
|
||||
s32 sp44;
|
||||
f32 sp38[3];
|
||||
f32 sp2C[3];
|
||||
@@ -559,7 +559,7 @@ void func_80355864(void) {
|
||||
}
|
||||
|
||||
void func_80355B00(void) {
|
||||
ParticleStruct0s *sp44;
|
||||
ParticleStruct1s *sp44;
|
||||
u8 sp43;
|
||||
ActorMarker *pad40;
|
||||
Actor *sp38;
|
||||
|
@@ -802,24 +802,17 @@ s32 gcpausemenu_getMaxPage(void){
|
||||
return D_80383010.page_cnt;
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
void gcpausemenu_getNextPage(s32);
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/gc/pauseMenu/gcpausemenu_getNextPage.s")
|
||||
#else
|
||||
void gcpausemenu_getNextPage(s32 arg0) {
|
||||
D_80383010.unk9 = D_80383010.selection;
|
||||
do{
|
||||
D_80383010.unk9 += arg0;
|
||||
if((D_80383010.unk39 != 0) && (D_80383010.unk9 == 0xC))
|
||||
break;
|
||||
}
|
||||
while(((D_80383010.unk39 == 0) || (D_80383010.unk9 != 0xC))
|
||||
&& (D_80383010.unk9 != 0)
|
||||
&& itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0
|
||||
);
|
||||
while( (D_80383010.unk9 != 0) && itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0);
|
||||
gcPauseMenu_setState((D_80383010.unk9 == 0xC) ? 0xA : 0xC);
|
||||
D_80383010.unk7 = 6;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void gcpausemenu_updateBButtonAndJoystickSprites(void) {
|
||||
f32 temp_f12;
|
||||
|
@@ -160,7 +160,7 @@ segments:
|
||||
- [0x28AD0, c, done/io/viblack] #DONE
|
||||
- [0x28B40, c, done/gu/ortho] #DONE
|
||||
- [0x28D00, c, done/gu/translate] #DONE
|
||||
- [0x28DA0, c, gu/rotate]
|
||||
- [0x28DA0, c, done/gu/rotate]
|
||||
- [0x28F90, c, done/io/contreaddata] #DONE
|
||||
- [0x291F0, c, done/io/controller] #DONE
|
||||
- [0x295B0, c, done/io/contsetch] #DONE
|
||||
@@ -307,7 +307,7 @@ segments:
|
||||
- [0x3B190, .rodata, done/gu/sinf]
|
||||
- [0x3B1E0, .rodata, done/audio/cents2ratio]
|
||||
- [0x3B1F0, bin, data_3B1F0] # .rodata, ultra/setintmask] # splat bug preventing this from linking correctly
|
||||
- [0x3B2C0, bin, data_3B2C0] # .rodata, gu/rotate] # need to resolve .data section first
|
||||
- [0x3B2C0, .rodata, done/gu/rotate] # need to resolve .data section first
|
||||
- [0x3B2D0, .rodata, done/audio/cseq]
|
||||
- [0x3B2E0, .rodata, done/audio/drvrNew]
|
||||
- [0x3B300, .rodata, done/audio/reverb]
|
||||
@@ -342,4 +342,17 @@ segments:
|
||||
- [0x3c710, .bss, code_12F10]
|
||||
- [0x3c710, .bss, code_13640]
|
||||
- [0x3c710, .bss, code_136D0]
|
||||
- [0x3c710, .bss, code_13990]
|
||||
- [0x3c710, .bss, code_15770]
|
||||
- [0x3c710, .bss, code_15B30]
|
||||
- [0x3c710, .bss, memory]
|
||||
- [0x3c710, .bss, code_18210]
|
||||
- [0x3c710, .bss, code_1D5D0]
|
||||
- [0x3c710, .bss, done/code_1E360]
|
||||
- [0x3c710, .bss, os/initialize]
|
||||
- [0x3c710, .bss, done/io/pimgr]
|
||||
- [0x3c710, .bss, done/io/sptask]
|
||||
- [0x3c710, .bss, done/os/seteventmesg]
|
||||
- [0x3c710, .bss, done/io/vimgr]
|
||||
- [0x3c710, .bss, done/gu/rotate]
|
||||
- [0x3c710] # core1 end
|
||||
|
@@ -295,7 +295,7 @@ segments:
|
||||
- [0x857B0, c, code_857B0] #DONE
|
||||
- [0x85800, c, code_85800] #DONE
|
||||
- [0x87E30, c, code_87E30]
|
||||
- [0x8A7B0, c, gc/pauseMenu]
|
||||
- [0x8A7B0, c, gc/pauseMenu] #DONE
|
||||
- [0x8DC20, c, code_8DC20]
|
||||
- [0x8E270, c, gc/zoombox] #DONE
|
||||
- [0x91E10, c, code_91E10]
|
||||
|
Reference in New Issue
Block a user