92%, core2/code_679A0.c done
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (91.9337%)
|
# banjo (92.0219%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -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">90.1172%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">90.2709%</text>
|
||||||
<text x="77.5" y="14">90.1172%</text>
|
<text x="77.5" y="14">90.2709%</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">91.9337%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">92.0219%</text>
|
||||||
<text x="183.5" y="14">91.9337%</text>
|
<text x="183.5" y="14">92.0219%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -2,12 +2,9 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
// extern f32 D_80285900;
|
|
||||||
|
|
||||||
f32 sinf(f32);
|
f32 sinf(f32);
|
||||||
f32 cosf(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)
|
void guRotateF(float mf[4][4], float a, float x, float y, float z)
|
||||||
{
|
{
|
||||||
static f32 D_80285900 = 3.1415926 / 180.0;
|
static f32 D_80285900 = 3.1415926 / 180.0;
|
||||||
@@ -43,7 +40,6 @@ void guRotateF(float mf[4][4], float a, float x, float y, float z)
|
|||||||
mf[0][1] = 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)
|
void guRotate(Mtx *m, float a, float x, float y, float z)
|
||||||
{
|
{
|
||||||
float mf[4][4];
|
float mf[4][4];
|
||||||
|
@@ -156,16 +156,13 @@ void func_802EED1C(ParticleEmitter *this, f32 arg1, f32 arg2[3]){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
void func_802EEE3C(ParticleEmitter *this, Gfx **gfx, Mtx **mtx, Vtx **vtx, u32 arg4){
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_679A0/func_802EEE3C.s")
|
|
||||||
#else
|
|
||||||
void func_802EEE3C(ParticleEmitter *this, Gfx **gfx, Mtx **mtx, Vtx **vtx, s32 arg4){
|
|
||||||
f32 sp8C[3];
|
f32 sp8C[3];
|
||||||
f32 sp80[3];
|
f32 sp80[3];
|
||||||
f32 sp74[3];
|
f32 sp74[3];
|
||||||
Particle *iPtr;
|
Particle *iPtr;
|
||||||
|
|
||||||
if(arg4 != (this->unk18 & 0x4))
|
if(reinterpret_cast(u32, arg4) != (this->unk18 & 0x4) != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(this->model_20 != NULL){
|
if(this->model_20 != NULL){
|
||||||
@@ -180,65 +177,61 @@ void func_802EEE3C(ParticleEmitter *this, Gfx **gfx, Mtx **mtx, Vtx **vtx, s32 a
|
|||||||
set_model_render_mode((this->unk18 & 0x10)?0:1);
|
set_model_render_mode((this->unk18 & 0x10)?0:1);
|
||||||
func_803391A4(gfx, mtx, sp8C, iPtr->unk24, iPtr->size_30, NULL, this->model_20);
|
func_803391A4(gfx, mtx, sp8C, iPtr->unk24, iPtr->size_30, NULL, this->model_20);
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
if(this->unk34){//L802EEFC4
|
|
||||||
if( this->unk3C[0] != 0xff
|
|
||||||
|| this->unk3C[1] != 0xff
|
|
||||||
|| this->unk3C[2] != 0xff
|
|
||||||
|| this->unk49 != 0xff
|
|
||||||
){
|
|
||||||
func_803382E4((this->unk18 & 0x10)? 9: 0xf);
|
|
||||||
func_80338338(this->unk3C[0], this->unk3C[1], this->unk3C[2]);
|
|
||||||
func_803382B4(
|
|
||||||
(this->unk3C[0] < 8)? 0 : this->unk3C[0] - 8,
|
|
||||||
(this->unk3C[1] < 8)? 0 : this->unk3C[1] - 8,
|
|
||||||
(this->unk3C[2] < 8)? 0 : this->unk3C[2] - 8,
|
|
||||||
(this->unk18 & 0x20)? 0xff : this->unk49
|
|
||||||
);
|
|
||||||
func_80338370();
|
|
||||||
func_80335D30(gfx);
|
|
||||||
}
|
|
||||||
else if(this->unk18 & 0x10){//L802EF0C0
|
|
||||||
gSPDisplayList((*gfx)++, D_80368978);
|
|
||||||
}
|
|
||||||
else{//L802EF0EC
|
|
||||||
gSPDisplayList((*gfx)++, D_80368940);
|
|
||||||
}//L802EF10C
|
|
||||||
sp80[0] = 90.0f;
|
|
||||||
sp80[1] = 0.0f;
|
|
||||||
sp80[2] = 0.0f;
|
|
||||||
for(iPtr = this->pList_start_124; iPtr < this->pList_end_128; iPtr++){
|
|
||||||
gDPSetPrimColor((*gfx)++, 0, 0, this->unk3C[0], this->unk3C[1], this->unk3C[2], iPtr->unkC*this->unk49);
|
|
||||||
sp8C[0] = iPtr->position_18[0] + this->unk4[0];
|
|
||||||
sp8C[1] = iPtr->position_18[1] + this->unk4[1];
|
|
||||||
sp8C[2] = iPtr->position_18[2] + this->unk4[2];
|
|
||||||
|
|
||||||
sp74[0] = iPtr->size_30;
|
if(this->unk34){//L802EEFC4
|
||||||
sp74[1] = iPtr->size_30;
|
if( this->unk3C[0] != 0xff
|
||||||
sp74[2] = iPtr->size_30;
|
|| this->unk3C[1] != 0xff
|
||||||
if(0.0f != this->unk108){
|
|| this->unk3C[2] != 0xff
|
||||||
func_802EED1C(this, iPtr->age_48, sp74);
|
|| this->unk49 != 0xff
|
||||||
}
|
){
|
||||||
func_80344C2C(this->unk0_16);
|
func_803382E4((this->unk18 & 0x10)? 9: 0xf);
|
||||||
if(this->unk18 & 1){
|
func_80338338(this->unk3C[0], this->unk3C[1], this->unk3C[2]);
|
||||||
func_80344720(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp80, sp74, gfx, mtx);
|
func_803382B4(
|
||||||
}//L802EF2F8
|
(this->unk3C[0] < 8)? 0 : this->unk3C[0] - 8,
|
||||||
else{
|
(this->unk3C[1] < 8)? 0 : this->unk3C[1] - 8,
|
||||||
func_80344424(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp74, iPtr->unk24[2], gfx, mtx);
|
(this->unk3C[2] < 8)? 0 : this->unk3C[2] - 8,
|
||||||
}//L802EF324
|
(this->unk18 & 0x20)? 0xff : this->unk49
|
||||||
}//L802EF338
|
);
|
||||||
if( this->unk3C[0] != 0xff
|
func_80338370();
|
||||||
|| this->unk3C[1] != 0xff
|
func_80335D30(gfx);
|
||||||
|| this->unk3C[2] != 0xff
|
}
|
||||||
|| this->unk49 != 0xff
|
else if(this->unk18 & 0x10){//L802EF0C0
|
||||||
){
|
gSPDisplayList((*gfx)++, D_80368978);
|
||||||
func_8033687C(gfx);
|
}
|
||||||
|
else{//L802EF0EC
|
||||||
|
gSPDisplayList((*gfx)++, D_80368940);
|
||||||
|
}//L802EF10C
|
||||||
|
sp80[0] = 90.0f;
|
||||||
|
sp80[1] = 0.0f;
|
||||||
|
sp80[2] = 0.0f;
|
||||||
|
for(iPtr = this->pList_start_124; iPtr < this->pList_end_128; iPtr++){
|
||||||
|
gDPSetPrimColor((*gfx)++, 0, 0, this->unk3C[0], this->unk3C[1], this->unk3C[2], iPtr->unkC*this->unk49);
|
||||||
|
sp8C[0] = iPtr->position_18[0] + this->unk4[0];
|
||||||
|
sp8C[1] = iPtr->position_18[1] + this->unk4[1];
|
||||||
|
sp8C[2] = iPtr->position_18[2] + this->unk4[2];
|
||||||
|
|
||||||
|
sp74[0] = iPtr->size_30;
|
||||||
|
sp74[1] = iPtr->size_30;
|
||||||
|
sp74[2] = iPtr->size_30;
|
||||||
|
if(0.0f != this->unk108){
|
||||||
|
func_802EED1C(this, iPtr->age_48, sp74);
|
||||||
}
|
}
|
||||||
|
func_80344C2C(this->unk0_16);
|
||||||
|
if(this->unk18 & 1){
|
||||||
|
func_80344720(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp80, sp74, gfx, mtx);
|
||||||
|
}//L802EF2F8
|
||||||
|
else{
|
||||||
|
func_80344424(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp74, iPtr->unk24[2], gfx, mtx);
|
||||||
|
}//L802EF324
|
||||||
|
}//L802EF338
|
||||||
|
if( this->unk3C[0] != 0xff || this->unk3C[1] != 0xff || this->unk3C[2] != 0xff || this->unk49 != 0xff
|
||||||
|
){
|
||||||
|
func_8033687C(gfx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_802EF3A8(ParticleEmitter *this, Gfx **gdl, Mtx **mPtr, Vtx **vPtr){
|
void func_802EF3A8(ParticleEmitter *this, Gfx **gdl, Mtx **mPtr, Vtx **vPtr){
|
||||||
func_802EEE3C(this, gdl, mPtr, vPtr, 4);
|
func_802EEE3C(this, gdl, mPtr, vPtr, 4);
|
||||||
|
@@ -160,7 +160,7 @@ segments:
|
|||||||
- [0x28AD0, c, done/io/viblack] #DONE
|
- [0x28AD0, c, done/io/viblack] #DONE
|
||||||
- [0x28B40, c, done/gu/ortho] #DONE
|
- [0x28B40, c, done/gu/ortho] #DONE
|
||||||
- [0x28D00, c, done/gu/translate] #DONE
|
- [0x28D00, c, done/gu/translate] #DONE
|
||||||
- [0x28DA0, c, done/gu/rotate]
|
- [0x28DA0, c, done/gu/rotate] #DONE
|
||||||
- [0x28F90, c, done/io/contreaddata] #DONE
|
- [0x28F90, c, done/io/contreaddata] #DONE
|
||||||
- [0x291F0, c, done/io/controller] #DONE
|
- [0x291F0, c, done/io/controller] #DONE
|
||||||
- [0x295B0, c, done/io/contsetch] #DONE
|
- [0x295B0, c, done/io/contsetch] #DONE
|
||||||
@@ -355,4 +355,7 @@ segments:
|
|||||||
- [0x3c710, .bss, done/os/seteventmesg]
|
- [0x3c710, .bss, done/os/seteventmesg]
|
||||||
- [0x3c710, .bss, done/io/vimgr]
|
- [0x3c710, .bss, done/io/vimgr]
|
||||||
- [0x3c710, .bss, done/gu/rotate]
|
- [0x3c710, .bss, done/gu/rotate]
|
||||||
|
- [0x3c710, .bss, done/io/controller]
|
||||||
|
- [0x3c710, .bss, done/io/motor]
|
||||||
|
- [0x3c710, .bss, done/io/cartrominit]
|
||||||
- [0x3c710] # core1 end
|
- [0x3c710] # core1 end
|
||||||
|
@@ -250,7 +250,7 @@ segments:
|
|||||||
- [0x66FB0, c, code_66FB0] #DONE
|
- [0x66FB0, c, code_66FB0] #DONE
|
||||||
- [0x67490, c, gc/bound] #DONE
|
- [0x67490, c, gc/bound] #DONE
|
||||||
- [0x67650, c, code_67650] #DONE
|
- [0x67650, c, code_67650] #DONE
|
||||||
- [0x679A0, c, code_679A0]
|
- [0x679A0, c, code_679A0] #DONE
|
||||||
- [0x69F60, c, code_69F60] #DONE
|
- [0x69F60, c, code_69F60] #DONE
|
||||||
- [0x6A4B0, c, code_6A4B0]
|
- [0x6A4B0, c, code_6A4B0]
|
||||||
- [0x6AEF0, c, code_6AEF0] #DONE
|
- [0x6AEF0, c, code_6AEF0] #DONE
|
||||||
|
Reference in New Issue
Block a user