func_80338CD0() match, core2/modelRender.c done, progress update

This commit is contained in:
Banjo Kazooie
2023-02-23 19:59:46 -06:00
parent b17246e2fa
commit ecb8e884b7
6 changed files with 36 additions and 60 deletions

View File

@@ -1,4 +1,4 @@
# banjo (98.5170%)
# banjo (98.5330%)
<img src="./progress/progress_total.svg">

View File

@@ -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">97.8118%</text>
<text x="77.5" y="14">97.8118%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">97.8397%</text>
<text x="77.5" y="14">97.8397%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -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">98.5170%</text>
<text x="183.5" y="14">98.5170%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">98.5330%</text>
<text x="183.5" y="14">98.5330%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -997,7 +997,7 @@ s32 func_8032F170(Cube **arg0, void **arg1){
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032F194.s")
#else
void func_8032F194(ActorMarker *marker, s32 position[3], Cube *cube) {
ActorProp sp24;
ActorProp2 sp24;
((s32*)&sp24)[2] = ((s32*)marker->propPtr)[2];
sp24.x = (s16) position[0];

View File

@@ -889,42 +889,44 @@ void func_80338BFC(Gfx **gfx, Mtx **mtx, void *arg2){
}
//CmdC_SELECTOR
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/modelRender/func_80338CD0.s")
#else
void func_80338CD0(Gfx **gfx, Mtx **mtx, void *arg2){
GeoCmdC *cmd = (GeoCmdC *)arg2;
s32 tmp_v0;
GeoCmdC *cmd = (GeoCmdC *) arg2;
s32 sub_cmd;
s32 indx;
s32 indx2;
s32 s2;
s32 s1;
s32* s0;
s32 *s0;
tmp_v0 = cmd->unkA;
indx = D_80383658[cmd->unkA];
if(cmd->unkA){
if(indx == 0){
}else if(indx > 0){
if(cmd->unk8 >= indx){
func_80339124(gfx, mtx, (s32)cmd + cmd->unkC[indx-1]);
}
if (cmd->unkA == 0)
return;
}else{//L80338D5C
s1 = -indx;
if (indx == 0)
return;
if (0 < indx) {
if (indx <= cmd->unk8) {
s0 = cmd->unkC;
for(s2 = 0; s2 < cmd->unk8; s2++){//L80338D6C
if(s1 & 1){
func_80339124(gfx, mtx, (s32)cmd + *s0);
sub_cmd = cmd;
sub_cmd += *(s32*)(s0 + (indx - 1));
func_80339124(gfx, mtx, sub_cmd);
}
} else {
s1 = indx * (-1);
s0 = cmd->unkC;
for (s2 = 0; s2 < cmd->unk8; s2++) {
if (s1 & 1)
{
sub_cmd = cmd;
sub_cmd += s0[0];
func_80339124(gfx, mtx, sub_cmd);
}
s1 >>= 1;
s0++;
}
}
}//L80338DA8
}
#endif
//CmdD_DRAW_DISTANCE
void func_80338DCC(Gfx ** gfx, Mtx ** mtx, void *arg2){

View File

@@ -25,7 +25,6 @@ realloc = 0x80255358;
write_file_blocks = 0x80255B30;
ml_vec3f_normalize = 0x80256450;
ml_vec3f_set_length_copy = 0x802565E0;
ml_vec3f_set_length = 0x80256A24;
ml_isNonzero_vec3f = 0x80258368;
mlAbsF = 0x80258964;
ml_vec3f_copy = 0x80258BA4;
@@ -34,13 +33,6 @@ ml_vec3f_add = 0x80258C48;
ml_vec3f_scale_copy = 0x80258CB0;
___osGetSR = 0x8025AFE0;
sns_write_payload_over_heap = 0x8025B700;
alEvtqPostEvent = 0x8025CDFC;
n_alSynStartVoice = 0x8025D4A0;
n_alSynAllocVoice = 0x8025D208;
n_alSynSetVol = 0x8025D400;
n_alSynSetPan = 0x8025D520;
n_alSynSetPitch = 0x8025D5A0;
n_alSynSetFXMix = 0x8025D620;
bzero = 0x80263B40;
osWriteBackDCacheAll = 0x80263BE0;
osVirtualToPhysical = 0x802646A0;
@@ -68,10 +60,8 @@ __osProbeTLB = 0x8026B420;
bcopy = 0x8026C110;
__osSetCompare = 0x8026CA70;
osGetCount = 0x8026CE00;
D_802758C0 = 0x802758C0; // size:0xC
framebuffer_width = 0x80276588;
framebuffer_height = 0x8027658C;
n_syn = 0x80276E84;
__osShutdown = 0x8027712C;
__OSGlobalIntMask = 0x80277130;
__osRunQueue = 0x80277378;
@@ -82,13 +72,7 @@ __libm_qnan_f = 0x80278DB0;
D_8027BEEC = 0x8027BEEC;
__osEventStateTab = 0x80284660;
__osThreadSave = 0x80285DE0;
leoDiskStack = 0x80285F90;//technically should have a OS_LEO_STACKSIZE or something..
animctrl_new = 0x802872E0;
animctrl_setIndex = 0x8028745C;
animctrl_reset = 0x802874AC;
_animctrl_start = 0x802875AC;
animctrl_setDirection = 0x8028767C;
animctrl_setDuration = 0x8028768C;
leoDiskStack = 0x80285F90;//technically should have a OS_LEO_STACKSIZE or something...
baMarker_8028D694 = 0x8028D694;
player_getPosition = 0x8028E9A4;
_player_getPosition = 0x802984D4;
@@ -97,20 +81,15 @@ spawnQueue_func_802C3A18 = 0x802C3A18;
spawnQueue_flush = 0x802C3A38;
spawnQueue_unlock = 0x802C3BDC;
spawnQueue_lock = 0x802C3BE8;
mapSpecificFlags_set = 0x802CADC0;
mapSpecificFlags_getAll = 0x802CAE8C;
mapSpecificFlags_setAll = 0x802CAE98;
bitfield_isBitSet = 0x802CAF70;
mapSpecificFlags_validateCRC1 = 0x802CB00C;
mapSavestate_save = 0x802E2F2C;
mapSavestate_apply = 0x802E30AC;
getGameMode = 0x802E49FC;
vtxList_getVertices = 0x802EC450;
_printbuffer_draw_letter = 0x802F55D8;
cube_atIndices = 0x80303384;
gctransition_8030BD98 = 0x8030BD98;
sfxsource_setSfxId = 0x8030DA80;
sfxsource_setSampleRate = 0x8030DABC;
gcdialog_setState = 0x8030F488;
gcdialog_update = 0x8030F990;
gczoombox_update = 0x80316EF4;
@@ -121,8 +100,6 @@ fileProgressFlag_get = 0x8031FF1C;
level_get = 0x80321900;
levelSpecificFlags_validateCRC1 = 0x8032204C;
marker_despawn = 0x803282F4;
actor_playAnimationOnce = 0x803298AC;
actor_loopAnimation = 0x803298D8;
actor_copy = 0x80329C40;
actors_appendToSavestate = 0x80329CBC;
strIToA = 0x8033D884;
@@ -133,13 +110,10 @@ item_empty = 0x80345F74;
itemscore_noteScores_get = 0x80346F34;
demo_readInput = 0x80349EE4;
randf = 0x8034A390;
randf2 = 0x8034A754;
suBaddieActorArray = 0x8036E560;
D_80374CF0 = 0x80374CF0;
D_8037901C = 0x8037901C;
D_8037DCB0 = 0x8037DCB0;
print_sCurrentPtr = 0x80380AE4;
print_sInFontFormatMode = 0x80380B08;
__propellorTimer = 0x803912CC;
D_A00001D8 = 0xA00001D8;