Match m446dll/camera.c

also changed the header to have a lowercase d
This commit is contained in:
CreateSource 2024-05-24 10:49:39 -04:00
parent 747b228df5
commit 73afde969d
7 changed files with 188 additions and 33 deletions

140
src/REL/m446Dll/camera.c Normal file
View file

@ -0,0 +1,140 @@
#include "REL/m446dll.h"
#include "math.h"
#include "game/hsfman.h"
#include "game/printfunc.h"
#include "game/pad.h"
// bss
Vec lbl_1_bss_8C;
Vec lbl_1_bss_80;
f32 lbl_1_bss_7C;
Vec lbl_1_bss_70;
Vec lbl_1_bss_64;
f32 lbl_1_bss_60;
Vec lbl_1_bss_54;
Vec lbl_1_bss_48;
f32 lbl_1_bss_44;
f32 lbl_1_bss_40;
f32 lbl_1_bss_3C;
s32 lbl_1_bss_38;
// data
Vec lbl_1_data_370 = {0, 1, 0};
s32 fn_1_6778(void) {
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
Hu3DCameraPerspectiveSet(1, 30.0f, 10.0f, 8000.0f, 1.2f);
lbl_1_bss_8C.x = 0.0f;
lbl_1_bss_8C.y = 0.0f;
lbl_1_bss_8C.z = 0.0f;
lbl_1_bss_80.x = 0.0f;
lbl_1_bss_80.y = 0.0f;
lbl_1_bss_80.z = 0.0f;
lbl_1_bss_7C = 2000.0f;
lbl_1_bss_38 = 0;
return 1;
}
void fn_1_68D8(void) {
return;
}
void fn_1_68DC(void) {
Vec sp2C;
Vec sp20;
Vec sp14;
f32 sp10;
f32 temp_f29;
f32 temp_f30;
f32 temp_f31;
if (lbl_1_bss_38 != 0) {
temp_f31 = sin((M_PI * (90.0f * lbl_1_bss_40)) / 180.0);
temp_f31 *= temp_f31;
lbl_1_bss_8C.x = lbl_1_bss_54.x + (temp_f31 * (lbl_1_bss_70.x - lbl_1_bss_54.x));
lbl_1_bss_8C.y = lbl_1_bss_54.y + (temp_f31 * (lbl_1_bss_70.y - lbl_1_bss_54.y));
lbl_1_bss_8C.z = lbl_1_bss_54.z + (temp_f31 * (lbl_1_bss_70.z - lbl_1_bss_54.z));
lbl_1_bss_80.x = lbl_1_bss_48.x + (temp_f31 * (lbl_1_bss_64.x - lbl_1_bss_48.x));
lbl_1_bss_80.y = lbl_1_bss_48.y + (temp_f31 * (lbl_1_bss_64.y - lbl_1_bss_48.y));
lbl_1_bss_80.z = lbl_1_bss_48.z + (temp_f31 * (lbl_1_bss_64.z - lbl_1_bss_48.z));
lbl_1_bss_7C = lbl_1_bss_44 + (temp_f31 * (lbl_1_bss_60 - lbl_1_bss_44));
lbl_1_bss_40 += lbl_1_bss_3C;
if (lbl_1_bss_40 >= 1.0f) {
lbl_1_bss_8C = lbl_1_bss_70;
lbl_1_bss_80 = lbl_1_bss_64;
lbl_1_bss_7C = lbl_1_bss_60;
lbl_1_bss_38 = 0;
}
}
temp_f30 = lbl_1_bss_80.x;
temp_f29 = lbl_1_bss_80.y;
sp10 = lbl_1_bss_80.z;
sp2C.x = (lbl_1_bss_8C.x + (lbl_1_bss_7C * (sin((M_PI * temp_f29) / 180.0) * cos((M_PI * temp_f30) / 180.0))));
sp2C.y = (lbl_1_bss_8C.y + (lbl_1_bss_7C * -sin((M_PI * temp_f30) / 180.0)));
sp2C.z = (lbl_1_bss_8C.z + (lbl_1_bss_7C * (cos((M_PI * temp_f29) / 180.0) * cos((M_PI * temp_f30) / 180.0))));
sp20.x = lbl_1_bss_8C.x;
sp20.y = lbl_1_bss_8C.y;
sp20.z = lbl_1_bss_8C.z;
sp14.x = (sin((M_PI * temp_f29) / 180.0) * sin((M_PI * temp_f30) / 180.0));
sp14.y = cos((M_PI * temp_f30) / 180.0);
sp14.z = (cos((M_PI * temp_f29) / 180.0) * sin((M_PI * temp_f30) / 180.0));
Hu3DCameraPosSet(1, sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z);
}
void fn_1_6EA0(Vec* arg0) {
lbl_1_bss_8C = *arg0;
}
void fn_1_6EC4(Vec* arg0) {
lbl_1_bss_80 = *arg0;
}
void fn_1_6EE8(f32 arg0) {
lbl_1_bss_7C = arg0;
}
void fn_1_6EF8(Vec* arg0, Vec* arg1, f32* arg2, s32 arg3) {
Vec* var_r31;
Vec* var_r30;
f32 var_f31;
if (arg0) {
var_r31 = arg0;
} else {
var_r31 = &lbl_1_bss_8C;
}
lbl_1_bss_70 = *var_r31;
if (arg1) {
var_r30 = arg1;
} else {
var_r30 = &lbl_1_bss_80;
}
lbl_1_bss_64 = *var_r30;
if (arg2) {
var_f31 = *arg2;
} else {
var_f31 = lbl_1_bss_7C;
}
lbl_1_bss_60 = var_f31;
lbl_1_bss_54 = lbl_1_bss_8C;
lbl_1_bss_48 = lbl_1_bss_80;
lbl_1_bss_44 = lbl_1_bss_7C;
lbl_1_bss_40 = 0.0f;
lbl_1_bss_3C = 1.0f / arg3;
lbl_1_bss_38 = 1;
}
s32 fn_1_708C(void) {
return lbl_1_bss_38;
}
void fn_1_709C(void) {
lbl_1_bss_80.x += 0.01f * *HuPadSubStkX;
lbl_1_bss_80.z += 0.01f * *HuPadSubStkY;
lbl_1_bss_7C += 0.05f * *HuPadTrigL;
lbl_1_bss_7C -= 0.05f * *HuPadTrigR;
print8(0x20, 0x84, 1.5f, "LOOKAT : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.x, lbl_1_bss_8C.y, lbl_1_bss_8C.z);
print8(0x20, 0x94, 1.5f, "ANGLE : x=%.2f y=%.2f z=%.2f", lbl_1_bss_80.x, lbl_1_bss_80.y, lbl_1_bss_80.z);
print8(0x20, 0xA4, 1.5f, "ZOOM : %.2f", lbl_1_bss_7C);
}

View file

@ -1,4 +1,4 @@
#include "REL/m446Dll.h"
#include "REL/m446dll.h"
#include "game/hsfman.h"
#include "math.h"

View file

@ -1,4 +1,4 @@
#include "REL/m446Dll.h"
#include "REL/m446dll.h"
#include "math.h"

View file

@ -1,4 +1,4 @@
#include "REL/m446Dll.h"
#include "REL/m446dll.h"
#include "rel_sqrt_consts.h"
#include "game/gamework_data.h"
@ -10,14 +10,6 @@
#include "game/frand.h"
#include "game/minigame_seq.h"
// camera.c
extern void fn_1_6778(void);
extern void fn_1_68D8(void);
extern void fn_1_68DC(void);
extern void fn_1_6EA0(Vec*);
extern void fn_1_6EC4(Vec*);
extern void fn_1_6EE8(f32);
extern void fn_1_6EF8(Vec*, Vec*, f32*, s32);
// cursor.c
extern s32 fn_1_72E0(void);
extern void fn_1_72F8(void);