core2/code_78100.c done
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# banjo (95.8191%)
|
||||
# banjo (95.8644%)
|
||||
|
||||
<img src="./progress/progress_total.svg">
|
||||
|
||||
|
@@ -752,7 +752,7 @@ segments:
|
||||
- [0xFCBD30, c, code_763D0] #DONE
|
||||
- [0xFCC6F0, c, code_76D90] #DONE
|
||||
- [0xFCD7B0, c, code_77E50] #DONE
|
||||
- [0xFCDA60, c, code_78100]
|
||||
- [0xFCDA60, c, code_78100] #DONE
|
||||
- [0xFCE7B0, c, code_78E50] #DONE
|
||||
- [0xFCF190, c, fxcommon3score] #DONE
|
||||
- [0xFCF5E0, c, code_79C80] #DONE
|
||||
|
@@ -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">94.5791%</text>
|
||||
<text x="77.5" y="14">94.5791%</text>
|
||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">94.6580%</text>
|
||||
<text x="77.5" y="14">94.6580%</text>
|
||||
</g>
|
||||
</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>
|
||||
</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">95.8191%</text>
|
||||
<text x="183.5" y="14">95.8191%</text>
|
||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">95.8644%</text>
|
||||
<text x="183.5" y="14">95.8644%</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -53,26 +53,27 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
#else
|
||||
void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
Vtx *sp9C;
|
||||
s32 sp58;
|
||||
Vtx *var_s2_2;
|
||||
s32 sp54;
|
||||
s32 sp50;
|
||||
s32 sp4C;
|
||||
Struct_Core2_6A4B0_1 *temp_v0_2;
|
||||
s32 var_s3;
|
||||
Struct_Core2_6A4B0_1 *temp_v0_2;
|
||||
s32 *var_s1;
|
||||
s32 *var_s2;
|
||||
|
||||
u16* temp;
|
||||
|
||||
if (arg0->unk10 == 0) {
|
||||
func_8024C7B8(gfx, mtx);
|
||||
}
|
||||
gSPDisplayList((*gfx)++, D_803689D0);
|
||||
|
||||
sp9C = *vtx;
|
||||
var_s2_2 = sp9C = *vtx;
|
||||
for(sp4C = 0; sp4C < 6; sp4C++){
|
||||
for(sp50 = 0; sp50 < 9; sp50++){
|
||||
for(sp54 = 0, sp58 = 0; sp54 < 2; sp54++, sp58 += 3){
|
||||
var_s1 = D_80368A10 + sp58;\
|
||||
var_s2 = D_80368A28 + sp58;
|
||||
for(sp54 = 0; sp54 < 2; sp54++){
|
||||
var_s1 = D_80368A10 + 3*sp54;\
|
||||
var_s2 = D_80368A28 + 3*sp54;
|
||||
for(var_s3 = 0; var_s3 < 3; var_s3++){
|
||||
temp_v0_2 = func_802F1804(arg0, sp50, sp4C, sp54, var_s3);
|
||||
sp9C->n.ob[0] = temp_v0_2->unk0[0];
|
||||
@@ -83,7 +84,6 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx)
|
||||
|
||||
sp9C->n.tc[0] = *var_s1;
|
||||
sp9C->n.tc[1] = *var_s2;
|
||||
|
||||
sp9C->n.n[0] = -1;
|
||||
sp9C->n.n[1] = -1;
|
||||
sp9C->n.n[2] = -1;
|
||||
@@ -96,11 +96,13 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx)
|
||||
}
|
||||
}
|
||||
*vtx = sp9C;
|
||||
sp9C = var_s2_2;
|
||||
var_s3 = 0;
|
||||
gSPVertex((*gfx)++, osVirtualToPhysical(sp9C), 16, 0);
|
||||
for(sp4C = 0; sp4C < 6; sp4C++){
|
||||
for(sp50 = 0; sp50 < 9; sp50++){
|
||||
gDPLoadTextureTile((*gfx)++, osVirtualToPhysical((u16*)arg0->unk8 + (sp4C*0x20 + 0xC) * framebuffer_width + (sp50*0x20 + 1)), G_IM_FMT_RGBA, G_IM_SIZ_16b, framebuffer_width, 0, 0, 0, 33, 33, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
temp = (0x20*sp50 + 1) + ((u16*)arg0->unk8 + (0x20*sp4C + 0xC)*framebuffer_width);
|
||||
gDPLoadTextureTile((*gfx)++, osVirtualToPhysical(temp), G_IM_FMT_RGBA, G_IM_SIZ_16b, framebuffer_width, 0, 0, 0, 33, 33, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
for(sp54 = 0; sp54 < 2; sp54++){
|
||||
gSP1Triangle((*gfx)++, var_s3, var_s3 + 1, var_s3 + 2, 0);
|
||||
var_s3 += 3;
|
||||
|
@@ -45,91 +45,77 @@ struct7s D_80381E90;
|
||||
|
||||
|
||||
/* .code */
|
||||
#ifndef nonmatching
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_78100/func_802FF090.s")
|
||||
#else
|
||||
struct7s *func_802FF090(s32 arg0) {
|
||||
f32 *var_s6;
|
||||
f64 temp_f20;
|
||||
f64 temp_f22;
|
||||
f64 temp_f28;
|
||||
s32 temp_t6;
|
||||
s32 temp_t8;
|
||||
struct7s *func_802FF090(enum item_e arg0){
|
||||
s32 i;
|
||||
s32 red;
|
||||
s32 green;
|
||||
s32 blue;
|
||||
s32 red;
|
||||
s32 alpha;
|
||||
s32 tmp_blue;
|
||||
s32 tmp_green;
|
||||
s32 tmp_red;
|
||||
s32 tmp_alpha;
|
||||
s32 var_t2;
|
||||
s8 *var_s5;
|
||||
u16 *var_ra;
|
||||
u16 *var_t3;
|
||||
s32 j;
|
||||
u16 rgba;
|
||||
u32 jinjo_id;
|
||||
void *var_s3;
|
||||
void *var_t4;
|
||||
s32 i;
|
||||
|
||||
D_80381E54 = 1.0f;
|
||||
for(jinjo_id = 0; jinjo_id < 5; jinjo_id++){
|
||||
for (jinjo_id = 0; jinjo_id < 5; jinjo_id++)
|
||||
{
|
||||
D_80381E60[jinjo_id] = 0.0f;
|
||||
D_80381E58[jinjo_id] = (item_getCount(ITEM_12_JINJOS) & (1 << jinjo_id)) ? 3 : 0;
|
||||
for(i = 0; i < 0xD; i++){
|
||||
for(var_t2 = 0; var_t2 < 0x10; var_t2++){
|
||||
rgba = D_8036A070[i][var_t2];
|
||||
red = tmp_red = (rgba >> 0xB) & 0x1F;
|
||||
green = tmp_green = (rgba >> 6) & 0x1F;
|
||||
blue = tmp_blue = (rgba >> 1) & 0x1F;
|
||||
alpha = tmp_alpha = (rgba >> 0) & 0x1;
|
||||
if ((red < 0x10) || (green < 0x10) || (blue < 0x10)) {
|
||||
switch (jinjo_id) {
|
||||
case 3:
|
||||
red = tmp_red;
|
||||
green = tmp_green;
|
||||
blue = tmp_blue;
|
||||
alpha = tmp_alpha;
|
||||
break;
|
||||
|
||||
case 0:
|
||||
green = tmp_green * 1.5;
|
||||
red = tmp_red * 0.25;
|
||||
blue = tmp_blue;
|
||||
alpha = tmp_alpha;
|
||||
break;
|
||||
D_80381E58[jinjo_id] = (item_getCount(ITEM_12_JINJOS) & (1 << jinjo_id)) ? (3) : (0);
|
||||
for (i = 0; i < 0xD; i++)
|
||||
{
|
||||
for (j = 0; j < 0x10; j++)
|
||||
{
|
||||
rgba = D_8036A070[i][j];
|
||||
tmp_alpha = (rgba >> 0) & 0x1;
|
||||
|
||||
case 1:
|
||||
red = tmp_red * 0.2;
|
||||
green = tmp_blue;
|
||||
blue = tmp_blue * 0.2;
|
||||
alpha = tmp_alpha;
|
||||
break;
|
||||
red = (rgba >> 0xB) & 0x1F;
|
||||
tmp_green = green = ((rgba >> 6) & 0x1F);
|
||||
blue = (rgba >> 1) & 0x1F;
|
||||
alpha = tmp_alpha;
|
||||
if (((red < 0x10) || (green < 0x10)) || (blue < 0x10))
|
||||
{
|
||||
switch (jinjo_id)
|
||||
{
|
||||
|
||||
case 0:
|
||||
red = red * 0.25;
|
||||
green = tmp_green * 1.5;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
red = red * 0.2;
|
||||
green = blue;
|
||||
blue = blue * 0.2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
green = blue;
|
||||
blue = tmp_green * 0.4;
|
||||
green *= 0.6;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
green = green;
|
||||
blue = blue;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
green = blue;
|
||||
blue = tmp_green * 0.4;
|
||||
alpha = tmp_alpha;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
{s32 var_v1;
|
||||
red = tmp_red;
|
||||
blue = tmp_green * 0.4;
|
||||
green = tmp_blue * 0.6;
|
||||
alpha = tmp_alpha;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
red = tmp_red;
|
||||
green = tmp_blue;
|
||||
blue = tmp_green * 0.4;
|
||||
alpha = tmp_alpha;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
D_80381620[i][jinjo_id][var_t2] = ((red << 0xB) | (green << 6) | (blue << 1) | alpha);
|
||||
D_80381620[i][jinjo_id][j] = (((red << 0xB) | (green << 6)) | (blue << 1)) | alpha;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return &D_80381E90;
|
||||
}
|
||||
#endif
|
||||
|
||||
void fxjinjoscore_free(enum item_e item_id, struct8s * arg1){
|
||||
s32 i;
|
||||
|
Reference in New Issue
Block a user