141 lines
No EOL
3.8 KiB
C
141 lines
No EOL
3.8 KiB
C
#include "REL/m446Dll.h"
|
|
|
|
#include "math.h"
|
|
#include "ext_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 * (sind(temp_f29) * cosd(temp_f30))));
|
|
sp2C.y = (lbl_1_bss_8C.y + (lbl_1_bss_7C * -sind(temp_f30)));
|
|
sp2C.z = (lbl_1_bss_8C.z + (lbl_1_bss_7C * (cosd(temp_f29) * cosd(temp_f30))));
|
|
sp20.x = lbl_1_bss_8C.x;
|
|
sp20.y = lbl_1_bss_8C.y;
|
|
sp20.z = lbl_1_bss_8C.z;
|
|
sp14.x = (sind(temp_f29) * sind(temp_f30));
|
|
sp14.y = cosd(temp_f30);
|
|
sp14.z = (cosd(temp_f29) * sind(temp_f30));
|
|
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);
|
|
} |