core2/code_5FB00.c done, core2/code_5FD90.c progress

This commit is contained in:
Banjo Kazooie
2022-09-06 17:57:09 -05:00
parent 11a7af815d
commit b797d96195
8 changed files with 74 additions and 79 deletions

57
src/core2/code_5FB00.c Normal file
View File

@@ -0,0 +1,57 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
void func_802E6A90(BKModelUnk28List *arg0, BKVertexList *arg1, s32 arg2, f32 arg3[3]) {
Vtx *i_vtx;
Vtx *vtx_list;
s32 i;
s32 var_a2;
BKModelUnk28 *var_v1;
vtx_list = vtxList_getVertices(arg1);
var_v1 = (BKModelUnk28 *)(arg0 + 1);
for(arg2 = arg2; arg2 != 0; arg2--){
var_v1 = (BKModelUnk28 *)((s16*)(var_v1 + 1) + (var_v1->vtx_count - 1));
}
for(i = 0; i < var_v1->vtx_count; i++){
i_vtx = &vtx_list[var_v1->vtx_list[i]];
i_vtx->v.ob[0] = (s16) (s32) arg3[0];
i_vtx->v.ob[1] = (s16) (s32) arg3[1];
i_vtx->v.ob[2] = (s16) (s32) arg3[2];
}
}
void func_802E6BD0(BKModelUnk28List *arg0, BKVertexList *arg1, struct58s *arg2) {
Vtx *vtx_list;
Vtx *i_vtx;
s32 i;
BKModelUnk28 *var_s1;
s16 sp50[3];
s32 temp_v0;
s32 var_s3;
s32 var_s4;
vtx_list = vtxList_getVertices(arg1);
var_s1 = (BKModelUnk28 *)(arg0 + 1);
var_s3 = -2;
for(var_s4 = 0; var_s4 < arg0->count; var_s4++){
if (var_s3 != var_s1->unk6) {
var_s3 = var_s1->unk6;
func_80251BCC(func_802EA110(arg2, var_s3));
}
mlMtx_apply_vec3s(sp50, var_s1->unk0);
for(i = 0; i < var_s1->vtx_count; i++){
i_vtx = &vtx_list[var_s1->vtx_list[i]];
i_vtx->v.ob[0] = sp50[0];
i_vtx->v.ob[1] = sp50[1];
i_vtx->v.ob[2] = sp50[2];
}
var_s1 = (BKModelUnk28 *)((s16*)(var_s1 + 1) + (var_s1->vtx_count - 1));
}
osWritebackDCache(vtx_list, vtxList_getVtxCount(arg1) * sizeof(Vtx));
}