core2/code_B1400.c func_803391A4() done
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (94.6191%)
|
# banjo (94.8573%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h44v20H0z"/>
|
<path fill="#555" d="M0 0h44v20H0z"/>
|
||||||
<path fill="#1fe000" d="M44 0h67v20H44z"/>
|
<path fill="#1de000" d="M44 0h67v20H44z"/>
|
||||||
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
<path fill="url(#b)" d="M0 0h111v20H0z"/>
|
||||||
</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="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">93.1531%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">93.5683%</text>
|
||||||
<text x="77.5" y="14">93.1531%</text>
|
<text x="77.5" y="14">93.5683%</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="#18e000" d="M150 0h67v20H150z"/>
|
<path fill="#17e000" 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">94.6191%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">94.8573%</text>
|
||||||
<text x="183.5" y="14">94.6191%</text>
|
<text x="183.5" y="14">94.8573%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1043,9 +1043,6 @@ void func_80339124(Gfx ** gfx, Mtx ** mtx, BKGeoList *geo_list){
|
|||||||
}while(1);
|
}while(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B1400/func_803391A4.s")
|
|
||||||
#else
|
|
||||||
int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale, f32*arg5, BKModelBin* model_bin){
|
int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale, f32*arg5, BKModelBin* model_bin){
|
||||||
f32 spF4[3];
|
f32 spF4[3];
|
||||||
f32 spF0;
|
f32 spF0;
|
||||||
@@ -1056,11 +1053,9 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
f32 spD4;
|
f32 spD4;
|
||||||
f32 spD0;
|
f32 spD0;
|
||||||
BKVertexList *tmp_v1;
|
BKVertexList *tmp_v1;
|
||||||
f32 tmp_f0;
|
|
||||||
s32 alpha;
|
s32 alpha;
|
||||||
|
f32 tmp_f0;
|
||||||
f32 padB8;
|
f32 padB8;
|
||||||
int i; //spB4
|
|
||||||
s32 spB0;
|
|
||||||
|
|
||||||
if( (!model_bin && !D_803837C8.unk0)
|
if( (!model_bin && !D_803837C8.unk0)
|
||||||
|| (model_bin && D_803837C8.unk0)
|
|| (model_bin && D_803837C8.unk0)
|
||||||
@@ -1155,12 +1150,7 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
D_80383718 = D_80383718 ? D_80383718 : (BKGfxList *)((s32)D_80383C54 + D_80383C54->gfx_list_offset_C);
|
D_80383718 = D_80383718 ? D_80383718 : (BKGfxList *)((s32)D_80383C54 + D_80383C54->gfx_list_offset_C);
|
||||||
D_80383720 = D_80383720 ? D_80383720 : (BKTextureList *)((s32)D_80383C54 + D_80383C54->texture_list_offset_8);
|
D_80383720 = D_80383720 ? D_80383720 : (BKTextureList *)((s32)D_80383C54 + D_80383C54->texture_list_offset_8);
|
||||||
D_80383728 = D_80383728 ? D_80383728 : (BKVertexList *)((s32)D_80383C54 + D_80383C54->vtx_list_offset_10);
|
D_80383728 = D_80383728 ? D_80383728 : (BKVertexList *)((s32)D_80383C54 + D_80383C54->vtx_list_offset_10);
|
||||||
if(D_80383C54->unk20 == NULL){
|
D_8038372C = (D_80383C54->unk20 == NULL) ? NULL : (u8*)model_bin + model_bin->unk20;
|
||||||
D_8038372C = NULL;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
D_8038372C = (s32)model_bin + model_bin->unk20;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(D_80383710){
|
if(D_80383710){
|
||||||
tmp_f0 = D_80383708 - 500.0f;
|
tmp_f0 = D_80383708 - 500.0f;
|
||||||
@@ -1181,10 +1171,13 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
}////L80339764
|
}////L80339764
|
||||||
}//L80339764
|
}//L80339764
|
||||||
|
|
||||||
gSPSegment((*gfx)++, 1, osVirtualToPhysical((void*)((s32)D_80383728 + sizeof(BKVertexList))));
|
gSPSegment((*gfx)++, 0x01, osVirtualToPhysical((void*)((s32)D_80383728 + sizeof(BKVertexList))));
|
||||||
gSPSegment((*gfx)++, 0x02, osVirtualToPhysical((void*)((s32)D_80383720 + D_80383720->cnt_4*sizeof(BKTextureHeader) + sizeof(BKTextureList))));
|
gSPSegment((*gfx)++, 0x02, osVirtualToPhysical((void*)((s32)D_80383720 + D_80383720->cnt_4*sizeof(BKTextureHeader) + sizeof(BKTextureList))));
|
||||||
|
|
||||||
if(D_80383724){
|
if(D_80383724){
|
||||||
|
int i;
|
||||||
|
s32 spB0;
|
||||||
|
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
if(func_80349BB0(D_80383724, i, &spB0))
|
if(func_80349BB0(D_80383724, i, &spB0))
|
||||||
gSPSegment((*gfx)++, 15-i, osVirtualToPhysical((void*)((s32) D_80383720 + D_80383720->cnt_4*sizeof(BKTextureHeader) + spB0 + sizeof(BKTextureList))));
|
gSPSegment((*gfx)++, 15-i, osVirtualToPhysical((void*)((s32) D_80383720 + D_80383720->cnt_4*sizeof(BKTextureHeader) + spB0 + sizeof(BKTextureList))));
|
||||||
@@ -1213,12 +1206,13 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
}//L80339948
|
}//L80339948
|
||||||
|
|
||||||
if(D_80383714 == 0){
|
if(D_80383714 == 0){
|
||||||
|
s32 padBC;
|
||||||
|
|
||||||
alpha = ((0xFF - D_80383738.prim[3])*D_80383738.env[3])/0xff + D_80383738.prim[3];
|
padBC = D_80383738.prim[3] + (D_80383738.env[3]*(0xFF - D_80383738.prim[3]))/0xff;
|
||||||
gSPDisplayList((*gfx)++, D_80370340);
|
gSPDisplayList((*gfx)++, D_80370340);
|
||||||
gDPSetEnvColor((*gfx)++, D_80383738.env[0], D_80383738.env[1], D_80383738.env[2], alpha);
|
gDPSetEnvColor((*gfx)++, D_80383738.env[0], D_80383738.env[1], D_80383738.env[2], padBC);
|
||||||
gDPSetPrimColor((*gfx)++, 0, 0, D_80383738.prim[0], D_80383738.prim[1], D_80383738.prim[2], 0);
|
gDPSetPrimColor((*gfx)++, 0, 0, D_80383738.prim[0], D_80383738.prim[1], D_80383738.prim[2], 0);
|
||||||
if(alpha == 0xFF){
|
if(padBC == 0xFF){
|
||||||
gSPSegment((*gfx)++, 0x03, osVirtualToPhysical(spDC));
|
gSPSegment((*gfx)++, 0x03, osVirtualToPhysical(spDC));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -1243,7 +1237,7 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
else if(D_80383714 == 3){
|
else if(D_80383714 == 3){
|
||||||
gSPDisplayList((*gfx)++, D_803703C8);
|
gSPDisplayList((*gfx)++, D_803703C8);
|
||||||
gDPSetEnvColor((*gfx)++, 0xFF, 0xFF, 0xFF, D_803837C0);
|
gDPSetEnvColor((*gfx)++, 0xFF, 0xFF, 0xFF, D_803837C0);
|
||||||
gSPSegment((*gfx)++, 0x03, osVirtualToPhysical(spDC));
|
gSPSegment((*gfx)++, 0x03, osVirtualToPhysical(spD8));
|
||||||
}//L80339C80
|
}//L80339C80
|
||||||
|
|
||||||
if(D_80383C54->geo_typ_A & 2){ //trilinear mipmapping
|
if(D_80383C54->geo_typ_A & 2){ //trilinear mipmapping
|
||||||
@@ -1267,10 +1261,10 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
}
|
}
|
||||||
else if(D_8038371C == 0 && D_80383C54->animation_list_offset_18){
|
else if(D_8038371C == 0 && D_80383C54->animation_list_offset_18){
|
||||||
if(D_80383700 == 0){
|
if(D_80383700 == 0){
|
||||||
func_802EA060(&D_80383730, (s32)model_bin + model_bin->animation_list_offset_18);
|
func_802EA060(&D_80383730, (u8*)model_bin + model_bin->animation_list_offset_18);
|
||||||
}
|
}
|
||||||
else{//L80339E38
|
else{//L80339E38
|
||||||
func_802EA1A8(&D_80383730, (s32)model_bin + model_bin->animation_list_offset_18, D_80383700);
|
func_802EA1A8(&D_80383730, (u8*)model_bin + model_bin->animation_list_offset_18, D_80383700);
|
||||||
}//L80339E48
|
}//L80339E48
|
||||||
D_8038371C = D_80383730;
|
D_8038371C = D_80383730;
|
||||||
}//L80339E58
|
}//L80339E58
|
||||||
@@ -1279,8 +1273,8 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
func_802ED52C(D_8038372C, D_80383C38, scale);
|
func_802ED52C(D_8038372C, D_80383C38, scale);
|
||||||
}//L80339E74
|
}//L80339E74
|
||||||
|
|
||||||
if(model_bin->unk28 && D_8038371C){
|
if(model_bin->unk28 != NULL && D_8038371C != NULL){
|
||||||
func_802E6BD0((s32)D_80383C54 + D_80383C54->unk28, D_80383728);
|
func_802E6BD0((s32)D_80383C54 + D_80383C54->unk28, D_80383728, D_8038371C);
|
||||||
}//L80339EAC
|
}//L80339EAC
|
||||||
|
|
||||||
mlMtxIdent();
|
mlMtxIdent();
|
||||||
@@ -1309,7 +1303,7 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
D_80383C58[0] = D_80383C58[1] = D_80383C58[2] = 0.0f;
|
D_80383C58[0] = D_80383C58[1] = D_80383C58[2] = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
func_80339124(gfx, mtx, (s32)model_bin + model_bin->geo_list_offset_4);
|
func_80339124(gfx, mtx, (u8 *)model_bin + model_bin->geo_list_offset_4);
|
||||||
gSPPopMatrix((*gfx)++, G_MTX_MODELVIEW);
|
gSPPopMatrix((*gfx)++, G_MTX_MODELVIEW);
|
||||||
|
|
||||||
if(D_80383790.unk8){
|
if(D_80383790.unk8){
|
||||||
@@ -1323,7 +1317,6 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
|
|||||||
func_80338390();
|
func_80338390();
|
||||||
return model_bin;
|
return model_bin;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
BKModelUnk28List *func_8033A048(BKModelBin *arg0){
|
BKModelUnk28List *func_8033A048(BKModelBin *arg0){
|
||||||
if(arg0->unk28 == 0)
|
if(arg0->unk28 == 0)
|
||||||
|
Reference in New Issue
Block a user