func_80307948 match
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (99.5858%)
|
# banjo (99.6748%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
@@ -26,7 +26,6 @@ Be sure to check scratch "family" for any progress that may not be reflected her
|
|||||||
| File | Function | Scratch Link | % | Notes |
|
| File | Function | Scratch Link | % | Notes |
|
||||||
| ------------------ | --------------- | ---------------------------------------- | ------ | ----- |
|
| ------------------ | --------------- | ---------------------------------------- | ------ | ----- |
|
||||||
| core2/code_12F30.c | func_80299EC0 | [Ar62G](https://decomp.me/scratch/Ar62G) | 77.65% |
|
| core2/code_12F30.c | func_80299EC0 | [Ar62G](https://decomp.me/scratch/Ar62G) | 77.65% |
|
||||||
| core2/code_7AF80.c | func_80307948 | [zd8KD](https://decomp.me/scratch/zd8KD) | 85.40% |
|
|
||||||
| core2/code_B9770.c | func_80340BE4 | [FXyYS](https://decomp.me/scratch/FXyYS) | 65.91% | spline function
|
| core2/code_B9770.c | func_80340BE4 | [FXyYS](https://decomp.me/scratch/FXyYS) | 65.91% | spline function
|
||||||
| core2/code_B9770.c | func_803411B0 | [rHkDu](https://decomp.me/scratch/rHkDu) | 87.70% | spline function
|
| core2/code_B9770.c | func_803411B0 | [rHkDu](https://decomp.me/scratch/rHkDu) | 87.70% | spline function
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<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">99.2781%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">99.4332%</text>
|
||||||
<text x="77.5" y="14">99.2781%</text>
|
<text x="77.5" y="14">99.4332%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h150v20H0z"/>
|
<path fill="#555" d="M0 0h150v20H0z"/>
|
||||||
<path fill="#02e000" d="M150 0h67v20H150z"/>
|
<path fill="#01e000" d="M150 0h67v20H150z"/>
|
||||||
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
<path fill="url(#b)" d="M0 0h217v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<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>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<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">99.5858%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">99.6748%</text>
|
||||||
<text x="183.5" y="14">99.5858%</text>
|
<text x="183.5" y="14">99.6748%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -119,13 +119,6 @@ struct {
|
|||||||
|
|
||||||
|
|
||||||
u8 D_80381FE8[0x50];
|
u8 D_80381FE8[0x50];
|
||||||
Cube *D_80382038[0x1C]; //static?
|
|
||||||
s32 D_803820A8[3]; //local static
|
|
||||||
s32 D_803820B4; //local static
|
|
||||||
s32 D_803820B8[0x20]; //ActorProp *, (maybe Prop *)
|
|
||||||
s32 pad_80382138;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_80301F10(Cube *cube, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
void func_80301F10(Cube *cube, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||||
@@ -671,6 +664,7 @@ BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg
|
|||||||
return var_s5;
|
return var_s5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 D_803820B8[0x20]; //ActorProp *, (maybe Prop *)
|
||||||
void func_80303C54(Cube *cube, ActorMarker *marker, f32 arg2, s32 arg3, s32 *arg4, s32 *arg5) {
|
void func_80303C54(Cube *cube, ActorMarker *marker, f32 arg2, s32 arg3, s32 *arg4, s32 *arg5) {
|
||||||
ActorProp *phi_s0;
|
ActorProp *phi_s0;
|
||||||
|
|
||||||
@@ -694,12 +688,12 @@ void func_80303C54(Cube *cube, ActorMarker *marker, f32 arg2, s32 arg3, s32 *arg
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 D_8038213C;
|
||||||
void func_80303D78(ActorMarker *arg0, f32 arg1, UNK_TYPE(s32) arg2) {
|
void func_80303D78(ActorMarker *arg0, f32 arg1, UNK_TYPE(s32) arg2) {
|
||||||
s32 sp6C[3];
|
s32 sp6C[3];
|
||||||
s32 sp60[3];
|
s32 sp60[3];
|
||||||
s32 sp5C;
|
s32 sp5C;
|
||||||
f32 sp50[3];
|
f32 sp50[3];
|
||||||
static s32 D_8038213C;
|
|
||||||
|
|
||||||
|
|
||||||
sp5C = 0;
|
sp5C = 0;
|
||||||
@@ -1927,72 +1921,53 @@ bool func_803077FC(f32 arg0[3], s32 *arg1, s32 *arg2, s32 arg3, u32 arg4) {
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
Cube **func_80307948(int* arg0) {
|
||||||
Cube **func_80307948(s32 arg0[3]);
|
int sp34[3];
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307948.s")
|
s32 cubeCount;
|
||||||
#else
|
int sp24[3];
|
||||||
Cube **func_80307948(s32 arg0[3]) {
|
static Cube *D_80382038[0x1C];
|
||||||
s32 sp34[3];
|
s32 idx;
|
||||||
s32 sp24[3];
|
s32 base;
|
||||||
// ? *var_a2;
|
|
||||||
s32 *var_a1;
|
|
||||||
Cube *var_t2;
|
|
||||||
s32 *var_v0;
|
|
||||||
s32 temp_a0;
|
|
||||||
s32 temp_a1;
|
|
||||||
s32 temp_a1_2;
|
|
||||||
s32 temp_a2;
|
|
||||||
s32 temp_a2_2;
|
|
||||||
s32 temp_lo;
|
|
||||||
s32 temp_t0;
|
|
||||||
s32 temp_t0_2;
|
|
||||||
s32 temp_t5;
|
|
||||||
s32 temp_t6;
|
|
||||||
s32 temp_t6_2;
|
|
||||||
s32 temp_t7;
|
|
||||||
s32 temp_t7_2;
|
|
||||||
s32 temp_t8;
|
|
||||||
s32 temp_t9;
|
|
||||||
s32 temp_v0;
|
|
||||||
s32 temp_v1;
|
|
||||||
s32 var_a0;
|
|
||||||
s32 var_a0_2;
|
|
||||||
s32 var_a3;
|
|
||||||
s32 var_t1;
|
|
||||||
s32 var_v0_2;
|
|
||||||
s32 var_v1;
|
|
||||||
s32 i;
|
|
||||||
|
|
||||||
for(i = 0; i < 3; i++){
|
for(cubeCount = 0; cubeCount < 3; cubeCount++){
|
||||||
sp34[i] = ((arg0[i] >= 0) ? (arg0[i] / 1000) : ((arg0[i]/1000) - 1)) - D_80381FA0.min[i];
|
sp34[cubeCount] = ((arg0[cubeCount] >= 0) ? (arg0[cubeCount] / 1000) : ((arg0[cubeCount]/1000) - 1)) - D_80381FA0.min[cubeCount];
|
||||||
}
|
}
|
||||||
|
|
||||||
var_v1 = 0;
|
cubeCount = 0;
|
||||||
if( (sp34[0] > 0) && (sp34[0] < (D_80381FA0.width[0] - 1))
|
|
||||||
&& (sp34[1] > 0) && (sp34[1] < (D_80381FA0.width[1] - 1))
|
if( sp34[0] > 0 && sp34[0] < D_80381FA0.width[0] - 1
|
||||||
&& (sp34[2] > 0) && (sp34[2] < (D_80381FA0.width[2] - 1))
|
&& sp34[1] > 0 && sp34[1] < D_80381FA0.width[1] - 1
|
||||||
|
&& sp34[2] > 0 && sp34[2] < D_80381FA0.width[2] - 1
|
||||||
) {
|
) {
|
||||||
for(sp24[0] = sp34[0] - 1; sp24[0] < sp34[0] + 2; sp24[0]++){
|
base = (sp34[0] - 1)
|
||||||
for(sp24[1] = sp34[1] - 1; sp24[1] < sp34[1] + 2; sp24[1]++){
|
+ (sp34[1] - 1) * D_80381FA0.stride[0]
|
||||||
for(sp24[2] = sp34[2] - 1; sp24[2] < sp34[2] + 2; sp24[2]++){
|
+ (sp34[2] - 1) * D_80381FA0.stride[1];
|
||||||
temp_lo = sp24[0] + (sp24[1] * D_80381FA0.stride[0]) + (sp24[2] * D_80381FA0.stride[1]);
|
idx = base;
|
||||||
if (var_t2[temp_lo].unk0_4) {
|
|
||||||
D_80382038[var_v1++] = D_80381FA0.cube_list + temp_lo;
|
for(sp24[0] = 0; sp24[0] < 3; sp24[0]++){
|
||||||
|
for(sp24[1] = 0; sp24[1] < 3; sp24[1]++, idx += D_80381FA0.stride[0] - 3){
|
||||||
|
for(sp24[2] = 0; sp24[2] < 3; sp24[2]++, idx++){
|
||||||
|
if (D_80381FA0.cube_list[idx].unk0_4) {
|
||||||
|
D_80382038[cubeCount] = &D_80381FA0.cube_list[idx];
|
||||||
|
cubeCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
base += D_80381FA0.stride[1];
|
||||||
|
idx = base;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for(sp24[0] = sp34[0] - 1; sp24[0] < sp34[0] + 2; sp24[0]++){
|
for(sp24[0] = sp34[0] - 1; sp24[0] < sp34[0] + 2; sp24[0]++){
|
||||||
if ((sp24[0] >= 0) && (sp24[0] < D_80381FA0.width[0])) {
|
if (sp24[0] >= 0 && sp24[0] < D_80381FA0.width[0]) {
|
||||||
for(sp24[1] = sp34[1] - 1; sp24[1] < sp34[1] + 2; sp24[1]++){
|
for(sp24[1] = sp34[1] - 1; sp24[1] < sp34[1] + 2; sp24[1]++){
|
||||||
if ((sp24[1] >= 0) && (sp24[1] < D_80381FA0.width[1])) {
|
if (sp24[1] >= 0 && sp24[1] < D_80381FA0.width[1]) {
|
||||||
for(sp24[2] = sp34[2] - 1; sp24[2] < sp34[2] + 2; sp24[2]++){
|
for(sp24[2] = sp34[2] - 1; sp24[2] < sp34[2] + 2; sp24[2]++){
|
||||||
if ((sp24[2] >= 0) && (sp24[2] < D_80381FA0.width[2])) {
|
if (sp24[2] >= 0 && sp24[2] < D_80381FA0.width[2]) {
|
||||||
temp_lo = sp24[0] + (sp24[1] * D_80381FA0.stride[0]) + (sp24[2] * D_80381FA0.stride[1]);
|
idx = sp24[0] + sp24[1] * D_80381FA0.stride[0] + sp24[2] * D_80381FA0.stride[1];
|
||||||
if (D_80381FA0.cube_list[temp_lo].unk0_4) {
|
|
||||||
D_80382038[var_v1] = D_80381FA0.cube_list + temp_lo;
|
if (D_80381FA0.cube_list[idx].unk0_4) {
|
||||||
var_v1++;
|
D_80382038[cubeCount] = &D_80381FA0.cube_list[idx];
|
||||||
|
cubeCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2001,10 +1976,11 @@ Cube **func_80307948(s32 arg0[3]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
D_80382038[var_v1] = NULL;
|
|
||||||
|
D_80382038[cubeCount] = NULL;
|
||||||
return D_80382038;
|
return D_80382038;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_80307CA0(ActorMarker *marker) {
|
void func_80307CA0(ActorMarker *marker) {
|
||||||
s32 temp_s4;
|
s32 temp_s4;
|
||||||
@@ -2057,9 +2033,6 @@ u32 func_80307E1C(void) {
|
|||||||
return phi_v1;
|
return phi_v1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307EA8.s")
|
|
||||||
#else
|
|
||||||
u32 func_80307EA8(s32 arg0, s32 arg1[3], s32 *arg2, s32 *arg3) {
|
u32 func_80307EA8(s32 arg0, s32 arg1[3], s32 *arg2, s32 *arg3) {
|
||||||
s32 temp_lo;
|
s32 temp_lo;
|
||||||
s32 temp_t1;
|
s32 temp_t1;
|
||||||
@@ -2116,7 +2089,6 @@ u32 func_80307EA8(s32 arg0, s32 arg1[3], s32 *arg2, s32 *arg3) {
|
|||||||
|
|
||||||
return var_s4;
|
return var_s4;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
NodeProp *func_803080C8(s32 arg0) {
|
NodeProp *func_803080C8(s32 arg0) {
|
||||||
s32 sp3C[3];
|
s32 sp3C[3];
|
||||||
@@ -2182,11 +2154,12 @@ bool func_803082D8(Cube *arg0, s32 *arg1, bool arg2, bool arg3) {
|
|||||||
return var_a0;
|
return var_a0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Cube *D_80382144;
|
||||||
s32 func_803083B0(s32 arg0) {
|
s32 func_803083B0(s32 arg0) {
|
||||||
s32 var_v0;
|
s32 var_v0;
|
||||||
Cube *var_s0;
|
Cube *var_s0;
|
||||||
|
static u8 a;
|
||||||
static s32 D_80382140;
|
static s32 D_80382140;
|
||||||
static Cube *D_80382144;
|
|
||||||
|
|
||||||
if (arg0 == -1) {
|
if (arg0 == -1) {
|
||||||
var_s0 = D_80381FA0.cube_list;
|
var_s0 = D_80381FA0.cube_list;
|
||||||
|
Reference in New Issue
Block a user