Cleanups and almost finish modeseldll
fn_1_2490 is down to one weird register allocation issue
This commit is contained in:
parent
565e274b2a
commit
3f6a256b4a
4 changed files with 336 additions and 71 deletions
|
|
@ -13,6 +13,8 @@
|
|||
#include "game/thpmain.h"
|
||||
#include "game/msm.h"
|
||||
#include "math.h"
|
||||
#include "ext_math.h"
|
||||
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
#include "data_num/title.h"
|
||||
|
|
@ -375,15 +377,15 @@ void fn_1_1178(void)
|
|||
y = lbl_1_bss_3C[i].y;
|
||||
z = lbl_1_bss_3C[i].z;
|
||||
|
||||
pos.x = (((sin((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].x);
|
||||
pos.y = (-sin((M_PI*x)/180.0)*lbl_1_bss_1C[i])+lbl_1_bss_24[i].y;
|
||||
pos.z = ((cos((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].z;
|
||||
pos.x = (((sind(y)*cosd(x))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].x);
|
||||
pos.y = (-sind(x)*lbl_1_bss_1C[i])+lbl_1_bss_24[i].y;
|
||||
pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_1C[i])+lbl_1_bss_24[i].z;
|
||||
target.x = lbl_1_bss_24[i].x;
|
||||
target.y = lbl_1_bss_24[i].y;
|
||||
target.z = lbl_1_bss_24[i].z;
|
||||
up.x = sin((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
||||
up.y = cos((M_PI*x)/180.0);
|
||||
up.z = cos((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
||||
up.x = sind(y)*sind(x);
|
||||
up.y = cosd(x);
|
||||
up.z = cosd(y)*sind(x);
|
||||
Hu3DCameraPosSet(lbl_1_data_58[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z);
|
||||
}
|
||||
}
|
||||
|
|
@ -408,27 +410,27 @@ void fn_1_152C(void) {
|
|||
if (lbl_1_bss_1C[0] < 100.0f) {
|
||||
lbl_1_bss_1C[0] = 100.0f;
|
||||
}
|
||||
pos.x = lbl_1_bss_24[0].x + (lbl_1_bss_1C[0] * (sin((M_PI * lbl_1_bss_3C[0].y) / 180.0) * cos((M_PI * lbl_1_bss_3C[0].x) / 180.0)));
|
||||
pos.y = (lbl_1_bss_24[0].y + (lbl_1_bss_1C[0] * -sin((M_PI * lbl_1_bss_3C[0].x) / 180.0)));
|
||||
pos.z = (lbl_1_bss_24[0].z + (lbl_1_bss_1C[0] * (cos((M_PI * lbl_1_bss_3C[0].y) / 180.0) * cos((M_PI * lbl_1_bss_3C[0].x) / 180.0))));
|
||||
pos.x = lbl_1_bss_24[0].x + (lbl_1_bss_1C[0] * (sind(lbl_1_bss_3C[0].y) * cosd(lbl_1_bss_3C[0].x)));
|
||||
pos.y = (lbl_1_bss_24[0].y + (lbl_1_bss_1C[0] * -sind(lbl_1_bss_3C[0].x)));
|
||||
pos.z = (lbl_1_bss_24[0].z + (lbl_1_bss_1C[0] * (cosd(lbl_1_bss_3C[0].y) * cosd(lbl_1_bss_3C[0].x))));
|
||||
offset.x = lbl_1_bss_24[0].x - pos.x;
|
||||
offset.y = lbl_1_bss_24[0].y - pos.y;
|
||||
offset.z = lbl_1_bss_24[0].z - pos.z;
|
||||
dir.x = (sin((M_PI * lbl_1_bss_3C[0].y) / 180.0) * sin((M_PI * lbl_1_bss_3C[0].x) / 180.0));
|
||||
dir.y = cos((M_PI * lbl_1_bss_3C[0].x) / 180.0);
|
||||
dir.z = (cos((M_PI * lbl_1_bss_3C[0].y) / 180.0) * sin((M_PI * lbl_1_bss_3C[0].x) / 180.0));
|
||||
dir.x = (sind(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x));
|
||||
dir.y = cosd(lbl_1_bss_3C[0].x);
|
||||
dir.z = (cosd(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x));
|
||||
z_rot = lbl_1_bss_3C[0].z;
|
||||
y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((M_PI * z_rot) / 180.0))
|
||||
+ dir.y * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0))
|
||||
+ dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0));
|
||||
y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot))
|
||||
+ dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot))
|
||||
+ dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot));
|
||||
|
||||
y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cos((M_PI * z_rot) / 180.0))
|
||||
+ dir.x * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0))
|
||||
+ dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0));
|
||||
y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot))
|
||||
+ dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot))
|
||||
+ dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot));
|
||||
|
||||
y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cos((M_PI * z_rot) / 180.0))
|
||||
+ (dir.x * (offset.x * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0))
|
||||
+ dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0)));
|
||||
y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot))
|
||||
+ (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot))
|
||||
+ dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot)));
|
||||
|
||||
PSVECCrossProduct(&dir, &offset, &offset);
|
||||
PSVECNormalize(&offset, &offset);
|
||||
|
|
@ -507,7 +509,7 @@ static BOOL TitleProc(void)
|
|||
}
|
||||
HuSprAttrReset(titleGroup, 3, HUSPR_ATTR_DISPOFF);
|
||||
for(i=1; i<=50; i++) {
|
||||
scale = (cos((i*1.8)*M_PI/180.0)*10.0)+1.0;
|
||||
scale = (cosd(i*1.8)*10.0)+1.0;
|
||||
HuSprScaleSet(titleGroup, 3, scale, scale);
|
||||
HuSprTPLvlSet(titleGroup, 3, i/50.0);
|
||||
HuPrcVSleep();
|
||||
|
|
@ -525,7 +527,7 @@ static BOOL TitleProc(void)
|
|||
HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF);
|
||||
return 1;
|
||||
}
|
||||
scale = (sin((i*scale_time)*M_PI/180.0)*0.1)+0.9;
|
||||
scale = (sind(i*scale_time)*0.1)+0.9;
|
||||
scale_time += 0.05;
|
||||
if(scale_time > 5) {
|
||||
scale_time = 5;
|
||||
|
|
@ -548,4 +550,3 @@ static BOOL TitleProc(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
char data_pad[] = "\0\0\0\0\0\0\0";
|
||||
Loading…
Add table
Add a link
Reference in a new issue