core2/code_5FB00.c done, core2/code_5FD90.c progress
This commit is contained in:
@@ -522,9 +522,6 @@ void func_802E6800(s32 arg0){
|
||||
D_8037E900->flags &= ~arg0 | 0x1;
|
||||
}
|
||||
|
||||
#ifndef NONMATCHING
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_5DBC0/func_802E6820.s")
|
||||
#else
|
||||
void func_802E6820(s32 arg0) {
|
||||
BKSprite *prev_sprite_ptr;
|
||||
s32 chunk_count;
|
||||
@@ -539,74 +536,19 @@ void func_802E6820(s32 arg0) {
|
||||
D_8037E900->unk4 = (struct5DBC0_2s *)defrag(D_8037E900->unk4);
|
||||
D_8037E900->string = (char *)defrag(D_8037E900->string);
|
||||
for(var_s5 = 0; var_s5 < D_8037E900->unk10; var_s5++) {
|
||||
if (D_8037E900->unk4[var_s5].unk8 != NULL) {
|
||||
D_8037E900->unk4[var_s5].unk8 = (BKSpriteTextureBlock **)defrag(D_8037E900->unk4[var_s5].unk8);
|
||||
if (D_8037E900->unk4[var_s5].letter_texture != NULL) {
|
||||
D_8037E900->unk4[var_s5].letter_texture = (BKSpriteTextureBlock **)defrag(D_8037E900->unk4[var_s5].letter_texture);
|
||||
}
|
||||
|
||||
prev_sprite_ptr = D_8037E900->unk4[var_s5].unk0;
|
||||
if (D_8037E900->unk4[var_s5].unk0 != NULL) {
|
||||
prev_sprite_ptr = D_8037E900->unk4[var_s5].font_bin;
|
||||
if (D_8037E900->unk4[var_s5].font_bin != NULL) {
|
||||
chunk_count = spriteGetFramePtr(prev_sprite_ptr, 0U)->chunkCnt;
|
||||
D_8037E900->unk4[var_s5].unk0 = (BKSprite *)defrag_asset(D_8037E900->unk4[var_s5].unk0);
|
||||
D_8037E900->unk4[var_s5].font_bin = (BKSprite *)defrag_asset(D_8037E900->unk4[var_s5].font_bin);
|
||||
for(i_chunk = 0; i_chunk < chunk_count; i_chunk++){
|
||||
D_8037E900->unk4[var_s5].unk8[i_chunk] = (BKSpriteTextureBlock *)((s32)D_8037E900->unk4[var_s5].unk0 + ((s32)D_8037E900->unk4[var_s5].unk8[i_chunk] - (s32)prev_sprite_ptr));
|
||||
D_8037E900->unk4[var_s5].letter_texture[i_chunk] = ((u32)(((s32)D_8037E900->unk4[var_s5].letter_texture[i_chunk] - (s32)prev_sprite_ptr)) + (u32)D_8037E900->unk4[var_s5].font_bin);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* BREAK??? */
|
||||
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));
|
||||
}
|
||||
|
Reference in New Issue
Block a user