rename mlMtx_apply_vec3f

This commit is contained in:
Banjo Kazooie
2024-09-28 23:02:40 -05:00
parent 65951ae11e
commit 8ea4dfbeb8
17 changed files with 102 additions and 75 deletions

View File

@@ -128,7 +128,7 @@ void CC_func_80387A40(Struct_CC_13C0_1* arg0, Struct68s* arg1, f32 arg2) {
sp44[2] = 1.0f;
mlMtxIdent();
func_80252C08(NULL, sp2C, 1.0f, NULL);
func_8025235C(sp44, sp44);
mlMtx_apply_vec3f(sp44, sp44);
player_getPosition(sp50);
sp50[1] += 50.0f;
sp50[0] -= sp38[0];

View File

@@ -95,7 +95,7 @@ void __chScarfSled_func_80386630(Actor *this){
sp70[0] = 0.0f;
sp70[1] = 18.0f;
sp70[2] = 0.0f;
func_8025235C(sp70, sp70);
mlMtx_apply_vec3f(sp70, sp70);
sp70[0] += this->position[0];
sp70[1] += this->position[1];

View File

@@ -407,29 +407,41 @@ void func_80252330(f32 x, f32 y, f32 z){
s_mtx_stack->m[3][2] = z;
}
void func_8025235C(f32 arg0[3], f32 arg1[3]) {
/**
* @brief Applies top mtxStack mtx to vec3f.
*
* @param dst destination vec3f
* @param src source vec3f
*/
void mlMtx_apply_vec3f(f32 dst[3], f32 src[3]) {
s32 i;
f32 sp0[3];
sp0[0] = arg1[0];
sp0[1] = arg1[1];
sp0[2] = arg1[2];
sp0[0] = src[0];
sp0[1] = src[1];
sp0[2] = src[2];
for(i = 0; i < 3; i++){
arg0[i] = sp0[0]*s_mtx_stack->m[0][i]
dst[i] = sp0[0]*s_mtx_stack->m[0][i]
+ sp0[1]*s_mtx_stack->m[1][i]
+ sp0[2]*s_mtx_stack->m[2][i]
+ s_mtx_stack->m[3][i];
}
}
void func_80252434(f32 arg0[3], f32 arg1[3]) {
/**
* @brief Applies top mtxStack mtx to vec3f. `dst` can not equal `src`.
*
* @param dst destination vec3f
* @param src source vec3f
*/
void mlMtx_apply_vec3f_restricted(f32 dst[3], f32 src[3]) {
s32 i;
for(i = 0; i < 3; i++){
arg0[i] = arg1[0]*s_mtx_stack->m[0][i]
+ arg1[1]*s_mtx_stack->m[1][i]
+ arg1[2]*s_mtx_stack->m[2][i]
dst[i] = src[0]*s_mtx_stack->m[0][i]
+ src[1]*s_mtx_stack->m[1][i]
+ src[2]*s_mtx_stack->m[2][i]
+ s_mtx_stack->m[3][i];
}
}
@@ -473,7 +485,7 @@ void func_8025276C(s32 arg0[3], s32 arg1[3], s32 arg2[3], s32 arg3[3]) {
}
for(var_t0 = 0; var_t0 < 8; var_t0++){
func_8025235C(sp48[var_t0], sp48[var_t0]);
mlMtx_apply_vec3f(sp48[var_t0], sp48[var_t0]);
}
for(var_t0 = 0; var_t0< 3; var_t0++){

View File

@@ -242,7 +242,7 @@ void viewport_update(void) {
sViewportLookVector[1] = 0.0f;
sViewportLookVector[2] = -1.0f;
func_8025235C(sViewportLookVector, sViewportLookVector);
mlMtx_apply_vec3f(sViewportLookVector, sViewportLookVector);
}
void viewport_getFrustumPlanes(f32 arg0[4], f32 arg1[4], f32 arg2[4], f32 arg3[4]) {

View File

@@ -270,7 +270,7 @@ bool func_80360198(Actor *this) {
this->position[1] += this->velocity[0];
}
if (this->state == 4) {
if (this->state == CH_BAT_STATE_ROAM) {
if (func_8035FF5C(this) == 0) {
return FALSE;
}

View File

@@ -44,7 +44,7 @@ void func_802E6BD0(BKModelUnk28List *arg0, BKVertexList *arg1, AnimMtxList *mtx_
mtx_index = i_ptr->anim_index;
mlMtxSet(animMtxList_get(mtx_list, mtx_index));
}
mlMtx_apply_vec3s(sp50, i_ptr->coord);
mlMtx_apply_vec3f_r_vec3s(sp50, i_ptr->coord);
for(i = 0; i < i_ptr->vtx_count; i++){
i_vtx = &vtx[i_ptr->vtx_list[i]];
i_vtx->v.ob[0] = sp50[0];

View File

@@ -420,8 +420,8 @@ int func_802E805C(BKCollisionList *collision_list, BKVertexList *vtxList, f32 ar
else{
mlMtxIdent();
func_80252CC4(arg2, arg3, arg4, 0);
func_8025235C(sp44, arg5);
func_8025235C(sp38, arg6);
mlMtx_apply_vec3f(sp44, arg5);
mlMtx_apply_vec3f(sp38, arg6);
sp34 = func_802E76B0(collision_list, vtxList, sp44, sp38, arg7, arg8);
if(!sp34){
return 0;
@@ -429,17 +429,17 @@ int func_802E805C(BKCollisionList *collision_list, BKVertexList *vtxList, f32 ar
else{
mlMtxIdent();
func_80252C08(arg2, arg3, arg4, NULL);
func_8025235C(arg6, sp38);
mlMtx_apply_vec3f(arg6, sp38);
mlMtxIdent();
func_80252C08(NULL, arg3, 1.0f, 0);
func_8025235C(arg7, arg7);
mlMtx_apply_vec3f(arg7, arg7);
mlMtxIdent();
func_80252C08(arg2, arg3, arg4, 0);
for(i = 0; i < 3; i++){
func_8025235C(D_8037EAA8[i], D_8037EAA8[i]);
mlMtx_apply_vec3f(D_8037EAA8[i], D_8037EAA8[i]);
}
}
@@ -750,22 +750,22 @@ s32 func_802E9118(BKCollisionList * collision_list, BKVertexList *vtx_list, f32
}
mlMtxIdent();
func_80252CC4(arg2, arg3, arg4, 0);
func_8025235C(&sp4C, arg5);
func_8025235C(&sp40, arg6);
mlMtx_apply_vec3f(&sp4C, arg5);
mlMtx_apply_vec3f(&sp40, arg6);
sp3C = func_802E8E88(collision_list, vtx_list, &sp4C, &sp40, arg7 / arg4, arg8, arg9, flagFilter);
if (sp3C == 0) {
return 0;
}
mlMtxIdent();
func_80252C08(arg2, arg3, arg4, 0);
func_8025235C(arg6, &sp40);
mlMtx_apply_vec3f(arg6, &sp40);
mlMtxIdent();
func_80252C08(NULL, arg3, 1.0f, 0);
func_8025235C(arg8, arg8);
mlMtx_apply_vec3f(arg8, arg8);
mlMtxIdent();
func_80252C08(arg2, arg3, arg4, 0);
for(i = 0; i < 3; i++){
func_8025235C(D_8037EAA8[i], D_8037EAA8[i]);
mlMtx_apply_vec3f(D_8037EAA8[i], D_8037EAA8[i]);
}
return sp3C;
}
@@ -987,22 +987,22 @@ s32 func_802E9DD8(BKCollisionList *collisionList, BKVertexList *vtxList, f32 pos
}
mlMtxIdent();
func_80252CC4(posA, rotA, scaleA, NULL);
func_8025235C(sp34, posB);
mlMtx_apply_vec3f(sp34, posB);
sp30 = func_802E92AC(collisionList, vtxList, &sp34, radB / scaleA, arg7, arg8);
if (sp30 == 0) {
return 0;
}
mlMtxIdent();
func_80252C08(posA, rotA, scaleA, NULL);
func_8025235C(posB, sp34);
mlMtx_apply_vec3f(posB, sp34);
mlMtxIdent();
func_80252C08(NULL, rotA, 1.0f, NULL);
func_8025235C(arg7, arg7);
mlMtx_apply_vec3f(arg7, arg7);
mlMtxIdent();
func_80252C08(posA, rotA, scaleA, NULL);
for(i = 0; i < 3; i++){
func_8025235C(D_8037EAA8[i], D_8037EAA8[i]);
mlMtx_apply_vec3f(D_8037EAA8[i], D_8037EAA8[i]);
}
return sp30;
}

View File

@@ -28,7 +28,7 @@ bool func_802EA760(BKModelUnk14List *arg0, s32 arg1, f32 arg2[3], f32 rotation[3
*arg7 = (f32) temp_v0->unk0;
mlMtxIdent();
func_80252C08(arg2, rotation, scale, arg5);
func_8025235C(arg6, arg6);
mlMtx_apply_vec3f(arg6, arg6);
*arg7 /= scale;
return TRUE;
}
@@ -69,7 +69,7 @@ s32 func_802EA864(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32
mlMtxIdent();
func_80252EC8(spB0, sp8C);
func_80252CC4(position, rotation, scale, arg4);
func_8025235C(sp78, arg5);
mlMtx_apply_vec3f(sp78, arg5);
for(j = 0; j < 3; j++){
if (((sp78[j] + arg6 / scale) <= spA4[j]) || (sp98[j] <= (sp78[j] - arg6 / scale)))
break;
@@ -110,7 +110,7 @@ s32 func_802EAB34(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32
mlMtxIdent();
func_80252DDC(spA0, sp94);
func_80252CC4(position, rotation, scale, arg4);
func_8025235C(sp78, arg5);
mlMtx_apply_vec3f(sp78, arg5);
if (!(temp_f20 / 2 <= (sp78[2] - arg6 / scale)) && !((sp78[2] + arg6 / scale) <= -(temp_f20 / 2))) {
if (!(((arg6 / scale + temp_f24) * (arg6 / scale + temp_f24)) <= ((sp78[0] * sp78[0]) + (sp78[1] * sp78[1])))) {
return iPtr->unkD;
@@ -134,7 +134,7 @@ s32 func_802EAD5C(BKModelUnk14List *arg0, f32 position[3], f32 rotation[3], f32
mlMtxIdent();
func_80252CC4(position, rotation, scale, arg4);
func_8025235C(sp5C, arg5);
mlMtx_apply_vec3f(sp5C, arg5);
t0_ptr = (BKModelUnk14_0 *)(arg0 + 1);
t1_ptr = (BKModelUnk14_1 *)(t0_ptr + arg0->cnt0);
i_ptr = (BKModelUnk14_2 *)(t1_ptr + arg0->cnt2);
@@ -328,7 +328,7 @@ s32 func_802EB8A0(BKModelUnk14List *arg0, f32 *position, f32 *rotation, f32 scal
mlMtxIdent();
func_80252CC4(position, rotation, scale, arg4);
func_8025235C(sp74, arg6);
mlMtx_apply_vec3f(sp74, arg6);
t0_ptr = (BKModelUnk14_0 *)(arg0 + 1);
t1_ptr = (BKModelUnk14_1 *)(t0_ptr + arg0->cnt0);
i_ptr = (BKModelUnk14_2 *)(t1_ptr + arg0->cnt2);
@@ -342,8 +342,8 @@ s32 func_802EB8A0(BKModelUnk14List *arg0, f32 *position, f32 *rotation, f32 scal
sp5C[1] = sp68[1];
sp5C[2] = sp68[2];
mlMtxSet(animMtxList_get(arg5, i_ptr->unk9));
func_8025235C(sp68, sp68);
func_8025235C(sp5C, sp5C);
mlMtx_apply_vec3f(sp68, sp68);
mlMtx_apply_vec3f(sp5C, sp5C);
sp44[0] = sp5C[0] - sp68[0];
sp44[1] = sp5C[1] - sp68[1];
sp44[2] = sp5C[2] - sp68[2];
@@ -449,7 +449,7 @@ s32 func_802EBD3C(BKModelUnk14List *arg0, f32 arg1[3], f32 rotation[3], f32 scal
mlMtxIdent();
func_80252EC8(i_position, i_rotation); //derotate about point
func_80252CC4(arg1, rotation, scale, arg4);
func_8025235C(sp68, arg5); //apply matrix to arg5
mlMtx_apply_vec3f(sp68, arg5); //apply matrix to arg5
for (i = 0; i < 3; i++)
{
if (1);
@@ -496,7 +496,7 @@ s32 func_802EC000(BKModelUnk14List *arg0, f32 arg1[3], f32 rotation[3], f32 scal
mlMtxIdent();
func_80252DDC(sp90, sp84);
func_80252CC4(arg1, rotation, scale, arg4);
func_8025235C(sp68, arg5);
mlMtx_apply_vec3f(sp68, arg5);
temp_f0 = (f32) (temp_f22 / 2.0);
if (!(temp_f0 <= sp68[2]) && !(sp68[2] <= -temp_f0) && !((temp_f20 * temp_f20) <= (sp68[0] * sp68[0] + sp68[1]*sp68[1]))) {
return i_ptr->unkD;
@@ -523,7 +523,7 @@ s32 func_802EC238(BKModelUnk14List *arg0, f32 arg1[3], f32 rotation[3], f32 scal
end_ptr = i_ptr + arg0->unk4;
mlMtxIdent();
func_80252CC4(arg1, rotation, scale, arg4);
func_8025235C(sp54, arg5);
mlMtx_apply_vec3f(sp54, arg5);
for (i_ptr = i_ptr; i_ptr < end_ptr; i_ptr++) {
if ((i_ptr->unk8 != 0) && ((arg6 == 0) || (arg6 == i_ptr->unk8))) {
sp40[0] = i_ptr->unk2[0];

View File

@@ -52,7 +52,7 @@ void vtxList_getBoundsMlMtxTransformed(BKVertexList *self, f32 min[3], f32 max[3
min[0] = (f32) start_vtx->v.ob[0];
min[1] = (f32) start_vtx->v.ob[1];
min[2] = (f32) start_vtx->v.ob[2];
func_8025235C(min, min);
mlMtx_apply_vec3f(min, min);
max[0] = min[0];
max[1] = min[1];
max[2] = min[2];
@@ -61,7 +61,7 @@ void vtxList_getBoundsMlMtxTransformed(BKVertexList *self, f32 min[3], f32 max[3
i_coord[0] = (f32) i_vtx->v.ob[0];
i_coord[1] = (f32) i_vtx->v.ob[1];
i_coord[2] = (f32) i_vtx->v.ob[2];
func_8025235C(i_coord, i_coord);
mlMtx_apply_vec3f(i_coord, i_coord);
for(i = 0; i < 3; i++){
if( i_coord[i] < min[i]){
@@ -88,7 +88,7 @@ void func_802EC680(BKVertexList *self, s32 arg1, f32 arg2[3], f32 arg3[3]) {
i_coord[0] = (f32) i_vtx->v.ob[0];
i_coord[1] = (f32) i_vtx->v.ob[1];
i_coord[2] = (f32) i_vtx->v.ob[2];
func_8025235C(i_coord, i_coord);
mlMtx_apply_vec3f(i_coord, i_coord);
if ((i_vtx == start_vtx) || (i_coord[1] < arg2[1])) {
arg2[1] = i_coord[1];
}
@@ -100,7 +100,7 @@ void func_802EC680(BKVertexList *self, s32 arg1, f32 arg2[3], f32 arg3[3]) {
i_coord[0] = (f32) i_vtx->v.ob[0];
i_coord[1] = (f32) i_vtx->v.ob[1];
i_coord[2] = (f32) i_vtx->v.ob[2];
func_8025235C(i_coord, i_coord);
mlMtx_apply_vec3f(i_coord, i_coord);
if (i_coord[1] < arg3[1]) {
arg2[0] = i_coord[0];
@@ -116,7 +116,7 @@ void func_802EC680(BKVertexList *self, s32 arg1, f32 arg2[3], f32 arg3[3]) {
i_coord[0] = (f32) i_vtx->v.ob[0];
i_coord[1] = (f32) i_vtx->v.ob[1];
i_coord[2] = (f32) i_vtx->v.ob[2];
func_8025235C(i_coord, i_coord);
mlMtx_apply_vec3f(i_coord, i_coord);
if (i_coord[1] < arg3[1]) {
for(i = 0; i < 3; i+=2){
if (i_coord[i] < arg2[i]) {
@@ -204,9 +204,18 @@ void vtxList_tint(BKVertexList *dst, s32 target_color[3], f32 amount, BKVertexLi
osWritebackDCache(start_ptr, ((s32)(end_ptr - start_ptr)) * sizeof(Vtx));
}
void func_802ECBD4(BKVertexList *dst, BKVertexList *src, f32 arg2[3], f32 rotation[3], f32 arg4[4]) {
f32 sp74[3];
f32 sp68[3];
/**
* @note Seems Recolor vtx based on how "in view" a vtx is
*
* @param dst vertexList to recolor
* @param src vertexList to tak colors from
* @param position vertexlist world position
* @param rotation vertexlist world rotation
* @param arg4 Step function definition
*/
void func_802ECBD4(BKVertexList *dst, BKVertexList *src, f32 position[3], f32 rotation[3], f32 arg4[4]) {
f32 vp_position[3];
f32 vp_look[3];
Vtx *dst_vtx;
Vtx *start_vtx;
Vtx *end_vtx;
@@ -216,23 +225,21 @@ void func_802ECBD4(BKVertexList *dst, BKVertexList *src, f32 arg2[3], f32 rotati
f32 temp_f0;
s32 pad40;
viewport_getPosition_vec3f(sp74);
viewport_getLookVector(sp68);
viewport_getPosition_vec3f(vp_position);
viewport_getLookVector(vp_look);
mlMtxIdent();
func_80252CC4(arg2, rotation, 1.0f, NULL);
func_8025235C(sp74, sp74);
func_80252CC4(position, rotation, 1.0f, NULL);
mlMtx_apply_vec3f(vp_position, vp_position);
mlMtxIdent();
func_80252CC4(NULL, rotation, 1.0f, NULL);
func_8025235C(sp68, sp68);
mlMtx_apply_vec3f(vp_look, vp_look);
start_vtx = (Vtx *)(dst + 1);
end_vtx = start_vtx + dst->count;
for(dst_vtx = start_vtx, src_vtx = (Vtx *)(src + 1); dst_vtx < end_vtx; dst_vtx++, src_vtx++){
sp4C[0] = dst_vtx->v.ob[0] - sp74[0];
sp4C[1] = dst_vtx->v.ob[1] - sp74[1];
sp4C[2] = dst_vtx->v.ob[2] - sp74[2];
temp_f0 = sp68[0]*sp4C[0] + sp68[1]*sp4C[1] + sp68[2]*sp4C[2];
TUPLE_DIFF_COPY(sp4C, dst_vtx->v.ob, vp_position);
temp_f0 = TUPLE_DOT_PRODUCT(vp_look, sp4C);
temp_f0 = func_8034A9D0(arg4, temp_f0);
for(i = 0; i < 3; i++){
dst_vtx->v.cn[i] = temp_f0*src_vtx->v.cn[i];
@@ -333,8 +340,8 @@ void func_802ED180(BKVertexList *self, f32 arg1[3], f32 arg2[3], f32 arg3, f32 a
mlMtxIdent();
func_80252CC4(arg1, arg2, arg3, arg4);
func_8025235C(sp88, D_803808C0.unk10);
func_8025235C(sp7C, D_803808C0.unk4);
mlMtx_apply_vec3f(sp88, D_803808C0.unk10);
mlMtx_apply_vec3f(sp7C, D_803808C0.unk4);
temp_f20 = D_803808C0.unk1C / arg3;
temp_f20 = temp_f20*temp_f20;
start = (Vtx*)(self + 1);
@@ -353,7 +360,7 @@ void func_802ED180(BKVertexList *self, f32 arg1[3], f32 arg2[3], f32 arg3, f32 a
D_803808C0.unk0 = 1;
mlMtxIdent();
func_80252C08(arg1, arg2, arg3, arg4);
func_8025235C(D_803808C0.unk20, sp70);
mlMtx_apply_vec3f(D_803808C0.unk20, sp70);
}
}
}

View File

@@ -84,7 +84,7 @@ void func_802F1FC0(Struct65s *self, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
spBC = (s32) ((f32)self->unk20 * (1.0f + temp_f2));
temp_s5 = (s32) ((f32)self->unk20 * ((1.0f - (self->unk25 / 255.0f)) + ((self->unk25 / 255.0f) - temp_f2)));
mlMtxSet(&D_80380A18);
func_8025235C(spD0, spD0);
mlMtx_apply_vec3f(spD0, spD0);
spD0[0] = (-297.0f * spD0[0]) / spD0[2];
spD0[1] = (297.0f * spD0[1]) / spD0[2];
spC4 = (s32) (spD0[0] + (f32) (framebuffer_width / 2));

View File

@@ -231,7 +231,7 @@ bool func_802F989C(Gfx **gfx, Mtx **mtx, f32 arg2[3]) {
) {
func_80251B5C(D_80381070[0], D_80381070[1], D_80381070[2]);
mlMtxApply(*mtx);
func_80252434(&D_80381080, D_80381094->unkC);
mlMtx_apply_vec3f_restricted(&D_80381080, D_80381094->unkC);
func_80251B5C(D_80381080[0], D_80381080[1], D_80381080[2]);
mlMtx_rotate_yaw_deg(D_80381060[1]);
mlMtx_rotate_pitch_deg(D_80381060[0]);

View File

@@ -45,7 +45,7 @@ extern void func_803334B0(f32 position[3], f32 rotation[3], f32 scale, f32 arg3[
iPtr = start_ptr;
for(; iPtr < end_ptr && D_80383570.unk44 < D_80383570.unk48; iPtr++){
if(iPtr->unk34 && ml_distance_vec3f(position, iPtr->unk0) < iPtr->unk1C + arg4){
func_8025235C(iPtr->unkC, iPtr->unk0);
mlMtx_apply_vec3f(iPtr->unkC, iPtr->unk0);
iPtr->unk20 = iPtr->unk18/scale;
iPtr->unk24 = iPtr->unk1C/scale;
*D_80383570.unk44 = iPtr;

View File

@@ -40,7 +40,7 @@ bool func_80340020(Struct83s *self, f32 position[3], f32 arg2[3], f32 arg3, f32
arg7[2] = sp34[0][2] + (self->unk0 * sp6C[2]) + (self->unk4*sp60[2]);
mlMtxIdent();
func_80252C08(position, arg2, arg3, arg4);
func_8025235C(arg7, arg7);
mlMtx_apply_vec3f(arg7, arg7);
return TRUE;
}
@@ -67,7 +67,7 @@ void func_80340200(Struct83s *self, f32 position[3], f32 arg2[3], f32 arg3, f32
self->unk8[2] = arg7[2];
mlMtxIdent();
func_80252CC4(position, arg2, arg3, arg4);
func_8025235C(sp94, arg7);
mlMtx_apply_vec3f(sp94, arg7);
for(j = 0; j < 3; j++){
self->unk14[j] = arg5[j];
}

View File

@@ -3,6 +3,14 @@
#include "variables.h"
/* .code */
/*
1.0| ,----.
| / \
| / \
0.0|______/ \_____ arg1
| | | |
[2] [3] [0] [1]
*/
f32 func_8034A9D0(f32 arg0[4], f32 arg1) {
if (arg0[1] <= arg1) {
return 0.0f;

View File

@@ -451,7 +451,7 @@ void func_80351C48(void) {
player_getPosition(sp4C);
mlMtxIdent();
func_80252CC4(D_80386180.unk2C->unk14, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, 0);
func_8025235C(D_80386180.unk14, sp4C);
mlMtx_apply_vec3f(D_80386180.unk14, sp4C);
if (func_8029FC4C() != 0) {
D_80386180.unk0 = D_80386180.unk2C;
} else {
@@ -470,7 +470,7 @@ void func_80351C48(void) {
if (D_80386180.unk2C != NULL) {
mlMtxIdent();
func_80252C08(D_80386180.unk2C->unk14, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL);
func_8025235C(&sp4C, &D_80386180.unk14);
mlMtx_apply_vec3f(&sp4C, &D_80386180.unk14);
func_8028FAB0(&sp4C);
}
D_80386180.unk2C = NULL;

View File

@@ -710,7 +710,7 @@ void func_803384A8(Gfx **gfx, Mtx **mtx, void *arg2){
f32 sp30[3];
if(cmd->unk8){
func_8025235C(sp30, cmd->unkC);
mlMtx_apply_vec3f(sp30, cmd->unkC);
mlMtx_push_translation(sp30[0], sp30[1], sp30[2]);
mlMtxRotYaw(modelRenderCameraRotation[1]);
if(!cmd->unkA){
@@ -732,8 +732,8 @@ void func_803385BC(Gfx **gfx, Mtx **mtx, void *arg2){
f32 f14;
s32 tmp_v0;
func_8025235C(D_80383C78, cmd->unk8);
func_8025235C(D_80383C88, cmd->unk14);
mlMtx_apply_vec3f(D_80383C78, cmd->unk8);
mlMtx_apply_vec3f(D_80383C88, cmd->unk14);
D_80383C68[0] = D_80383C88[0] - D_80383C78[0];
D_80383C68[1] = D_80383C88[1] - D_80383C78[1];
@@ -857,7 +857,7 @@ void func_80338B50(Gfx **gfx, Mtx **mtx, void *arg2){
f32 dist;
if(cmd->subgeo_offset_1C){
func_8025235C(D_80383C98, cmd->unk10);
mlMtx_apply_vec3f(D_80383C98, cmd->unk10);
dist = gu_sqrtf(D_80383C98[0]*D_80383C98[0] + D_80383C98[1]*D_80383C98[1] + D_80383C98[2]*D_80383C98[2]);
if(cmd->min_C < dist && dist <= cmd->max_8){
func_80339124(gfx, mtx, (BKGeoList*)((s32)cmd + cmd->subgeo_offset_1C));
@@ -873,11 +873,11 @@ void func_80338BFC(Gfx **gfx, Mtx **mtx, void *arg2){
if(D_80383650){
if(D_8038371C){
mlMtx_push_multiplied_2(&D_80383BF8, animMtxList_get(D_8038371C, cmd->unkA));
func_8025235C(sp20, cmd->unkC);
mlMtx_apply_vec3f(sp20, cmd->unkC);
mlMtxPop();
}
else{
func_8025235C(sp20, cmd->unkC);
mlMtx_apply_vec3f(sp20, cmd->unkC);
}
sp20[0] += modelRenderCameraPosition[0];
sp20[1] += modelRenderCameraPosition[1];
@@ -968,11 +968,11 @@ void func_80338EB8(Gfx ** gfx, Mtx ** mtx, void *arg2){
sp30 = (f32)cmd->unkE*modelRenderScale;
if(D_8038371C){
mlMtx_push_multiplied_2(&D_80383BF8, animMtxList_get(D_8038371C, cmd->unk12));
func_8025235C(sp34, sp34);
mlMtx_apply_vec3f(sp34, sp34);
mlMtxPop();
}
else{
func_8025235C(sp34, sp34);
mlMtx_apply_vec3f(sp34, sp34);
}
sp34[0] += modelRenderCameraPosition[0];