core2/code_7AF80.c progress
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (92.6766%)
|
# banjo (92.7402%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -353,6 +353,21 @@ typedef struct {
|
|||||||
u32 unk10_0 : 2;
|
u32 unk10_0 : 2;
|
||||||
} NodeProp;
|
} NodeProp;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u8 pad0[0x4];
|
||||||
|
u32 pad4_31:14;
|
||||||
|
u32 unk4_17:2;
|
||||||
|
u32 pad4_15:8;
|
||||||
|
u32 pad4_7:7;
|
||||||
|
u32 unk4_0:1;
|
||||||
|
u8 pad8[0x4];
|
||||||
|
u32 padC_31:31;
|
||||||
|
u32 unkC_0:1;
|
||||||
|
u32 pad10_31:27;
|
||||||
|
u32 unk10_4:4;
|
||||||
|
u32 pad10_0:1;
|
||||||
|
} OtherNode; //can be inplace of NodeProp (see cube_fromFile)
|
||||||
|
|
||||||
typedef struct cude_s{
|
typedef struct cude_s{
|
||||||
s32 x:5;
|
s32 x:5;
|
||||||
s32 y:5;
|
s32 y:5;
|
||||||
|
@@ -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">91.0101%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">91.1209%</text>
|
||||||
<text x="77.5" y="14">91.0101%</text>
|
<text x="77.5" y="14">91.1209%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -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">92.6766%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">92.7402%</text>
|
||||||
<text x="183.5" y="14">92.6766%</text>
|
<text x="183.5" y="14">92.7402%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -854,7 +854,7 @@ void func_803045E0(Cube *cube, Struct61s* file_ptr) {
|
|||||||
func_8034ADB4(file_ptr, sp2C, 3);
|
func_8034ADB4(file_ptr, sp2C, 3);
|
||||||
} else if (!func_8034B190(file_ptr, 2, &sp2C, 3) && func_8034AF98(file_ptr, 3)
|
} else if (!func_8034B190(file_ptr, 2, &sp2C, 3) && func_8034AF98(file_ptr, 3)
|
||||||
) {
|
) {
|
||||||
func_8032EA24(file_ptr, cube);
|
cube_fromFile(file_ptr, cube);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -800,80 +800,66 @@ void func_8032E7E8(NodeProp *node, Cube *cube, s32 cnt) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
void cube_fromFile(Struct61s *file_ptr, Cube *cube) {
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032EA24.s")
|
|
||||||
#else
|
|
||||||
void func_8032EA24(Struct61s *file_ptr, Cube *cube) {
|
|
||||||
u8 sp47;
|
u8 sp47;
|
||||||
u8 sp46;
|
u8 sp46;
|
||||||
|
NodeProp *temp_v0;
|
||||||
|
OtherNode *var_v1_3;
|
||||||
|
Prop *var_v1_2;
|
||||||
s32 sp34;
|
s32 sp34;
|
||||||
s32 sp2C;
|
s32 temp_v0_5;
|
||||||
s32 temp_s0_3;
|
|
||||||
s32 actor_4;
|
|
||||||
s32 actor_5;
|
|
||||||
u8 temp_t1;
|
|
||||||
NodeProp *temp_a0;
|
|
||||||
NodeProp *temp_s0;
|
|
||||||
NodeProp *i;
|
|
||||||
Prop *i_2;
|
|
||||||
|
|
||||||
cube_free(cube);
|
cube_free(cube);
|
||||||
if (func_8034B040(file_ptr, 0xA, sp46)) {
|
if (func_8034B040(file_ptr, 0xA, &sp46)) {
|
||||||
func_8032E784(cube, sp46);
|
func_8032E784(cube, sp46);
|
||||||
cube->prop1Ptr = malloc(sp46 *sizeof(NodeProp));
|
cube->prop1Ptr = (NodeProp*) malloc(sp46 * sizeof(NodeProp));
|
||||||
temp_s0 = malloc(sp46*sizeof(NodeProp));
|
temp_v0 = (NodeProp*) malloc(sp46 * sizeof(NodeProp));
|
||||||
func_8034B080(file_ptr, 0xB, temp_s0, cube->prop1Cnt * sizeof(NodeProp));
|
func_8034B080(file_ptr, 0xB, temp_v0, cube->prop1Cnt * sizeof(NodeProp));
|
||||||
func_8032E7E8(temp_s0, cube, sp46);
|
func_8032E7E8(temp_v0, cube, sp46);
|
||||||
} else if (func_8034B040(file_ptr, 6, sp46)) {
|
|
||||||
|
} else if (func_8034B040(file_ptr, 6, &sp46)) {
|
||||||
func_8032E784(cube, sp46);
|
func_8032E784(cube, sp46);
|
||||||
cube->prop1Ptr = malloc(sp46 *sizeof(NodeProp));
|
cube->prop1Ptr = (OtherNode*) malloc(sp46 * sizeof(OtherNode));
|
||||||
temp_s0 = malloc(sp46*sizeof(NodeProp));
|
temp_v0 = (OtherNode*) malloc(sp46 * sizeof(OtherNode));
|
||||||
func_8034B080(file_ptr, 7, temp_s0, cube->prop1Cnt * sizeof(NodeProp));
|
func_8034B080(file_ptr, 7, temp_v0, cube->prop1Cnt * sizeof(OtherNode));
|
||||||
for(i = temp_s0; i < temp_s0 + sp46; i++){
|
for(var_v1_3 = temp_v0; var_v1_3 < (OtherNode*)&temp_v0[sp46]; var_v1_3++){
|
||||||
if (i->unk4_0 && !i->unkC_0) {
|
if(var_v1_3->unk4_0 && !var_v1_3->unkC_0){
|
||||||
i->unk4_17 = 0;
|
var_v1_3->unk4_17 = 0;
|
||||||
i->unk10_4 = 0;
|
var_v1_3->unk10_4 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_8032E7E8(temp_s0, cube, sp46);
|
func_8032E7E8(temp_v0, cube, sp46);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (func_8034B040(file_ptr, 8, &sp47)) {
|
if (func_8034B040(file_ptr, 8, &sp47)) {
|
||||||
temp_s0_3 = func_803203FC(2);
|
sp34 = func_803203FC(1) + func_803203FC(2) + func_803203FC(0x1F);
|
||||||
sp2C = func_803203FC(1);
|
|
||||||
sp34 = func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE) + sp2C + temp_s0_3;
|
if ((sp34) && gcparade_8031B4CC()) {
|
||||||
if (sp34 != 0) {
|
|
||||||
if (gcparade_8031B4CC() != 0) {
|
|
||||||
sp34 = 0;
|
sp34 = 0;
|
||||||
}
|
}
|
||||||
}
|
if (cube->prop2Ptr != NULL) {
|
||||||
if (cube->prop2Ptr != 0) {
|
|
||||||
free(cube->prop2Ptr);
|
free(cube->prop2Ptr);
|
||||||
}
|
}
|
||||||
cube->prop2Cnt = sp47;
|
cube->prop2Cnt = sp47;
|
||||||
cube->prop2Ptr = (Prop *) malloc(sp47 * sizeof(Prop));
|
cube->prop2Ptr = (Prop *) malloc(sp47 * sizeof(Prop));
|
||||||
func_8034B080(file_ptr, 9, cube->prop2Ptr, cube->prop2Cnt * sizeof(Prop));
|
func_8034B080(file_ptr, 9, cube->prop2Ptr, cube->prop2Cnt * sizeof(Prop));
|
||||||
for(i_2 = cube->prop2Ptr; i_2 < cube->prop2Ptr + sp47; i_2++){
|
for(var_v1_2 = cube->prop2Ptr; var_v1_2 < cube->prop2Ptr + sp47; var_v1_2++){
|
||||||
i_2->unk8_4 = 1;
|
var_v1_2->unk8_4 = 1;
|
||||||
if(i_2->unk8_1){
|
if (var_v1_2->unk8_1) {
|
||||||
i_2->actorProp.unk8_5 = 0;
|
var_v1_2->unk8_5 = 0;
|
||||||
}
|
}
|
||||||
if (sp34) {
|
if (sp34) {
|
||||||
if(!i_2->markerFlag && !i_2->unk8_1){
|
if (!(var_v1_2->markerFlag) && !(var_v1_2->unk8_1)){
|
||||||
switch(i_2->spriteProp.unk0_31 + 0x572){
|
temp_v0_5 = var_v1_2->spriteProp.unk0_31 + 0x572;
|
||||||
case 0x580:
|
if((temp_v0_5 == 0x580) || (temp_v0_5 == 0x6D1) || (temp_v0_5 == 0x6D6) || (temp_v0_5 == 0x6D7)){
|
||||||
case 0x6D1:
|
var_v1_2->unk8_4 = 0;
|
||||||
case 0x6D6:
|
|
||||||
case 0x6D7:
|
|
||||||
i_2->spriteProp.unk8_4 = 0;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if ((cube->prop2Ptr != NULL) && ((cube->prop2Cnt) == 0)) {
|
||||||
if ((cube->prop2Ptr != NULL) && (cube->prop2Cnt == 0)) {
|
|
||||||
free(cube->prop2Ptr);
|
free(cube->prop2Ptr);
|
||||||
cube->prop2Ptr = NULL;
|
cube->prop2Ptr = NULL;
|
||||||
}
|
}
|
||||||
@@ -884,7 +870,6 @@ void func_8032EA24(Struct61s *file_ptr, Cube *cube) {
|
|||||||
cube->unk0_4 = 0;
|
cube->unk0_4 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_8032EE0C(Method_Core2_A5BC0 arg0, s32 arg1){
|
void func_8032EE0C(Method_Core2_A5BC0 arg0, s32 arg1){
|
||||||
D_80383558 = arg0;
|
D_80383558 = arg0;
|
||||||
|
Reference in New Issue
Block a user