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"> <img src="./progress/progress_total.svg">

View File

@@ -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">97.8118%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">97.8397%</text>
<text x="77.5" y="14">97.8118%</text> <text x="77.5" y="14">97.8397%</text>
</g> </g>
</svg> </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> <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">98.5170%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">98.5330%</text>
<text x="183.5" y="14">98.5170%</text> <text x="183.5" y="14">98.5330%</text>
</g> </g>
</svg> </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") #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032F194.s")
#else #else
void func_8032F194(ActorMarker *marker, s32 position[3], Cube *cube) { void func_8032F194(ActorMarker *marker, s32 position[3], Cube *cube) {
ActorProp sp24; ActorProp2 sp24;
((s32*)&sp24)[2] = ((s32*)marker->propPtr)[2]; ((s32*)&sp24)[2] = ((s32*)marker->propPtr)[2];
sp24.x = (s16) position[0]; sp24.x = (s16) position[0];

View File

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

View File

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