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
|
|
@ -109,7 +109,9 @@ s16 HuWinChoiceGet(s16 window, s16 start_choice);
|
||||||
s16 HuWinChoiceNumGet(s16 window);
|
s16 HuWinChoiceNumGet(s16 window);
|
||||||
void HuWinChoiceDisable(s16 window, s16 choice);
|
void HuWinChoiceDisable(s16 window, s16 choice);
|
||||||
s16 HuWinChoiceNowGet(s16 window);
|
s16 HuWinChoiceNowGet(s16 window);
|
||||||
|
#ifndef HUWIN_USE_OLD_DEFS
|
||||||
void HuWinMesWait(s16 window);
|
void HuWinMesWait(s16 window);
|
||||||
|
#endif
|
||||||
s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y);
|
s16 HuWinAnimSet(s16 window, AnimData *anim, s16 bank, float x, float y);
|
||||||
s16 HuWinSprSet(s16 window, s16 sprite, float x, float y);
|
s16 HuWinSprSet(s16 window, s16 sprite, float x, float y);
|
||||||
void HuWinSprPosSet(s16 window, s16 index, float x, float y);
|
void HuWinSprPosSet(s16 window, s16 index, float x, float y);
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@
|
||||||
#include "game/thpmain.h"
|
#include "game/thpmain.h"
|
||||||
#include "game/msm.h"
|
#include "game/msm.h"
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
#include "ext_math.h"
|
||||||
|
|
||||||
#include "rel_sqrt_consts.h"
|
#include "rel_sqrt_consts.h"
|
||||||
|
|
||||||
#include "data_num/title.h"
|
#include "data_num/title.h"
|
||||||
|
|
@ -375,15 +377,15 @@ void fn_1_1178(void)
|
||||||
y = lbl_1_bss_3C[i].y;
|
y = lbl_1_bss_3C[i].y;
|
||||||
z = lbl_1_bss_3C[i].z;
|
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.x = (((sind(y)*cosd(x))*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.y = (-sind(x)*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.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.x = lbl_1_bss_24[i].x;
|
||||||
target.y = lbl_1_bss_24[i].y;
|
target.y = lbl_1_bss_24[i].y;
|
||||||
target.z = lbl_1_bss_24[i].z;
|
target.z = lbl_1_bss_24[i].z;
|
||||||
up.x = sin((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
up.x = sind(y)*sind(x);
|
||||||
up.y = cos((M_PI*x)/180.0);
|
up.y = cosd(x);
|
||||||
up.z = cos((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
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);
|
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) {
|
if (lbl_1_bss_1C[0] < 100.0f) {
|
||||||
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.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] * -sin((M_PI * lbl_1_bss_3C[0].x) / 180.0)));
|
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] * (cos((M_PI * lbl_1_bss_3C[0].y) / 180.0) * cos((M_PI * lbl_1_bss_3C[0].x) / 180.0))));
|
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.x = lbl_1_bss_24[0].x - pos.x;
|
||||||
offset.y = lbl_1_bss_24[0].y - pos.y;
|
offset.y = lbl_1_bss_24[0].y - pos.y;
|
||||||
offset.z = lbl_1_bss_24[0].z - pos.z;
|
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.x = (sind(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x));
|
||||||
dir.y = cos((M_PI * lbl_1_bss_3C[0].x) / 180.0);
|
dir.y = cosd(lbl_1_bss_3C[0].x);
|
||||||
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.z = (cosd(lbl_1_bss_3C[0].y) * sind(lbl_1_bss_3C[0].x));
|
||||||
z_rot = lbl_1_bss_3C[0].z;
|
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))
|
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 - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0))
|
+ dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0));
|
+ 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))
|
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 - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0))
|
+ dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0));
|
+ 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))
|
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 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0))
|
+ (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot))
|
||||||
+ dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0)));
|
+ dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot)));
|
||||||
|
|
||||||
PSVECCrossProduct(&dir, &offset, &offset);
|
PSVECCrossProduct(&dir, &offset, &offset);
|
||||||
PSVECNormalize(&offset, &offset);
|
PSVECNormalize(&offset, &offset);
|
||||||
|
|
@ -507,7 +509,7 @@ static BOOL TitleProc(void)
|
||||||
}
|
}
|
||||||
HuSprAttrReset(titleGroup, 3, HUSPR_ATTR_DISPOFF);
|
HuSprAttrReset(titleGroup, 3, HUSPR_ATTR_DISPOFF);
|
||||||
for(i=1; i<=50; i++) {
|
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);
|
HuSprScaleSet(titleGroup, 3, scale, scale);
|
||||||
HuSprTPLvlSet(titleGroup, 3, i/50.0);
|
HuSprTPLvlSet(titleGroup, 3, i/50.0);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -525,7 +527,7 @@ static BOOL TitleProc(void)
|
||||||
HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF);
|
HuSprAttrSet(titleGroup, 2, HUSPR_ATTR_DISPOFF);
|
||||||
return 1;
|
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;
|
scale_time += 0.05;
|
||||||
if(scale_time > 5) {
|
if(scale_time > 5) {
|
||||||
scale_time = 5;
|
scale_time = 5;
|
||||||
|
|
@ -548,4 +550,3 @@ static BOOL TitleProc(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
char data_pad[] = "\0\0\0\0\0\0\0";
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
#include "game/chrman.h"
|
#include "game/chrman.h"
|
||||||
|
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
#include "ext_math.h"
|
||||||
|
|
||||||
#include "rel_sqrt_consts.h"
|
#include "rel_sqrt_consts.h"
|
||||||
|
|
||||||
|
|
@ -260,7 +261,7 @@ static void fn_1_994(void)
|
||||||
}
|
}
|
||||||
pos_z = -500.0f;
|
pos_z = -500.0f;
|
||||||
for(i=0; i<=50; i++) {
|
for(i=0; i<=50; i++) {
|
||||||
Hu3DModelPosSet(model, 0.0f, 2500.0*cos(M_PI*(i*1.8f)/180.0)-200.0, pos_z);
|
Hu3DModelPosSet(model, 0.0f, 2500.0*cosd(i*1.8f)-200.0, pos_z);
|
||||||
Hu3DModelRotSet(model, 0, 0, 45.0f*(1.0f-(i/50.0f)));
|
Hu3DModelRotSet(model, 0, 0, 45.0f*(1.0f-(i/50.0f)));
|
||||||
pos_z += 50.0/7.0;
|
pos_z += 50.0/7.0;
|
||||||
Hu3DShadowTPLvlSet(0.5*(i/50.0f));
|
Hu3DShadowTPLvlSet(0.5*(i/50.0f));
|
||||||
|
|
@ -269,8 +270,8 @@ static void fn_1_994(void)
|
||||||
HuAudFXPlay(1211);
|
HuAudFXPlay(1211);
|
||||||
Hu3DModelAttrReset(model, 0x40000002);
|
Hu3DModelAttrReset(model, 0x40000002);
|
||||||
for(i=1; i<=20; i++) {
|
for(i=1; i<=20; i++) {
|
||||||
Hu3DModelPosSet(model, 0.0f, (200.0*(sin(M_PI*(i*2.25f)/180.0)*(1.0/sin(M_PI/4))))-200.0, pos_z);
|
Hu3DModelPosSet(model, 0.0f, (200.0*(sind(i*2.25f)*(1.0/sind(45))))-200.0, pos_z);
|
||||||
rot_x = (20-i)*cos(M_PI*(i*13.5f)/180.0);
|
rot_x = (20-i)*cosd(i*13.5f);
|
||||||
Hu3DModelRotSet(model, rot_x, 0.0f, 0.0f);
|
Hu3DModelRotSet(model, rot_x, 0.0f, 0.0f);
|
||||||
pos_z += 50.0/7.0;
|
pos_z += 50.0/7.0;
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -546,7 +547,7 @@ static void fn_1_17E4(void)
|
||||||
CharModelMotionSet(char_tbl[j], mot_tbl[j][1]);
|
CharModelMotionSet(char_tbl[j], mot_tbl[j][1]);
|
||||||
}
|
}
|
||||||
if(time <= 30) {
|
if(time <= 30) {
|
||||||
Hu3DModelPosSet(player_mdl[j], player_pos[j].x, player_pos[j].y+(300.0*sin(M_PI*(time*9.0f)/180.0)), player_pos[j].z-(time*20));
|
Hu3DModelPosSet(player_mdl[j], player_pos[j].x, player_pos[j].y+(300.0*sind(time*9.0f)), player_pos[j].z-(time*20));
|
||||||
if(time <= 10) {
|
if(time <= 10) {
|
||||||
tplvl = 1-(0.1*time);
|
tplvl = 1-(0.1*time);
|
||||||
Hu3DModelTPLvlSet(platform_mdl[j], 0.5*tplvl);
|
Hu3DModelTPLvlSet(platform_mdl[j], 0.5*tplvl);
|
||||||
|
|
@ -624,11 +625,11 @@ static void fn_1_220C(void)
|
||||||
Hu3DMotionTimeSet(model, 40);
|
Hu3DMotionTimeSet(model, 40);
|
||||||
HuAudFXPlay(lbl_1_data_10C[lbl_1_bss_12*2]);
|
HuAudFXPlay(lbl_1_data_10C[lbl_1_bss_12*2]);
|
||||||
for(i=0; i<=20; i++) {
|
for(i=0; i<=20; i++) {
|
||||||
Hu3DModelPosSet(model, -153.0f-(100.0f-(100.0f*(i/20.0f))), (100.0*sin(M_PI*(i*9.0f)/180.0)) + -150.0 + ofs_x, 356.0f);
|
Hu3DModelPosSet(model, -153.0f-(100.0f-(100.0f*(i/20.0f))), (100.0*sind(i*9.0f)) + -150.0 + ofs_x, 356.0f);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
for(i=0; i<=10; i++) {
|
for(i=0; i<=10; i++) {
|
||||||
Hu3DModelPosSet(model, -153.0f, (15.0*sin(M_PI*(i*18.0f)/180.0)) + -150.f + ofs_x, 356.0f);
|
Hu3DModelPosSet(model, -153.0f, (15.0*sind(i*18.0f)) + -150.f + ofs_x, 356.0f);
|
||||||
Hu3DModelRotSet(model, 0.0f, 90-((i/10.0f)*70), 0);
|
Hu3DModelRotSet(model, 0.0f, 90-((i/10.0f)*70), 0);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
|
|
@ -645,7 +646,7 @@ static void fn_1_220C(void)
|
||||||
HuPrcSleep(20);
|
HuPrcSleep(20);
|
||||||
HuAudFXPlay(lbl_1_data_10C[(lbl_1_bss_12*2)+1]);
|
HuAudFXPlay(lbl_1_data_10C[(lbl_1_bss_12*2)+1]);
|
||||||
for(i=0; i<=30; i++) {
|
for(i=0; i<=30; i++) {
|
||||||
Hu3DModelPosSet(model, (i*5)-153, (50.0*sin(M_PI*(i*9.0f)/180.0)) + -150.0 + ofs_x, (i*20)+356);
|
Hu3DModelPosSet(model, (i*5)-153, (50.0*sind(i*9.0f)) + -150.0 + ofs_x, (i*20)+356);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
HuPrcEnd();
|
HuPrcEnd();
|
||||||
|
|
@ -698,7 +699,7 @@ static void fn_1_2804(void)
|
||||||
}
|
}
|
||||||
HuPrcSleep(40);
|
HuPrcSleep(40);
|
||||||
for(i=0; i<=20; i++) {
|
for(i=0; i<=20; i++) {
|
||||||
pos_x = 500.0*cos(M_PI*(i*4.5f)/180.0)+142.0;
|
pos_x = 500.0*cosd(i*4.5f)+142.0;
|
||||||
HuWinPosSet(window, pos_x, 320);
|
HuWinPosSet(window, pos_x, 320);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
|
|
@ -725,7 +726,7 @@ static void fn_1_2804(void)
|
||||||
HuWinMesPalSet(window, 7, 0, 0, 192);
|
HuWinMesPalSet(window, 7, 0, 0, 192);
|
||||||
HuWinPosSet(window_other, 142.0f, 320.0f);
|
HuWinPosSet(window_other, 142.0f, 320.0f);
|
||||||
for(i=0; i<=10; i++) {
|
for(i=0; i<=10; i++) {
|
||||||
HuWinPosSet(window_other, 30.0*sin(M_PI*(i*9.0f)/180.0)+142.0, 160.0*(1.0-cos(M_PI*(i*9.0f)/180.0))+320.0);
|
HuWinPosSet(window_other, 30.0*sind(i*9.0f)+142.0, 160.0*(1.0-cosd(i*9.0f))+320.0);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
HuPrcSleep(5);
|
HuPrcSleep(5);
|
||||||
|
|
@ -734,7 +735,7 @@ static void fn_1_2804(void)
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
for(i=0; i<=20; i++) {
|
for(i=0; i<=20; i++) {
|
||||||
pos_x = 500.0*(1.0-cos(M_PI*(i*4.5f)/180.0))+142.0;
|
pos_x = 500.0*(1.0-cosd(i*4.5f))+142.0;
|
||||||
HuWinPosSet(window, pos_x, 320);
|
HuWinPosSet(window, pos_x, 320);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
|
|
@ -870,9 +871,9 @@ static void fn_1_2FA0(void)
|
||||||
for(temp_r31=0; temp_r31<36; temp_r31++) {
|
for(temp_r31=0; temp_r31<36; temp_r31++) {
|
||||||
temp_f30 = temp_r31;
|
temp_f30 = temp_r31;
|
||||||
if(temp_f30 <= 20.0f) {
|
if(temp_f30 <= 20.0f) {
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+temp_f29;
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+temp_f29;
|
||||||
HuSprGrpPosSet(temp_r25, temp_f31, temp_f28);
|
HuSprGrpPosSet(temp_r25, temp_f31, temp_f28);
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+(576.0f-(temp_r22/2)-24.0f);
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+(576.0f-(temp_r22/2)-24.0f);
|
||||||
for(temp_r30=0; temp_r30<temp_r26; temp_r30++) {
|
for(temp_r30=0; temp_r30<temp_r26; temp_r30++) {
|
||||||
HuSprGrpPosSet(work.spr_grp[temp_r30], temp_f31, (temp_r30*28)+70);
|
HuSprGrpPosSet(work.spr_grp[temp_r30], temp_f31, (temp_r30*28)+70);
|
||||||
}
|
}
|
||||||
|
|
@ -880,25 +881,25 @@ static void fn_1_2FA0(void)
|
||||||
temp_f30 = temp_r31-3;
|
temp_f30 = temp_r31-3;
|
||||||
if(temp_f30 > 0.0f) {
|
if(temp_f30 > 0.0f) {
|
||||||
if(temp_f30 <= 20.0f) {
|
if(temp_f30 <= 20.0f) {
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+lbl_1_data_124[2];
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+lbl_1_data_124[2];
|
||||||
HuSprGrpPosSet(temp_r24, temp_f31, 186.0f);
|
HuSprGrpPosSet(temp_r24, temp_f31, 186.0f);
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+(lbl_1_data_124[2]-88.0f);
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[2]-88.0f);
|
||||||
HuWinPosSet(sp10[0], 16.0f+temp_f31, 168.0f);
|
HuWinPosSet(sp10[0], 16.0f+temp_f31, 168.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
temp_f30 = temp_r31-6;
|
temp_f30 = temp_r31-6;
|
||||||
if(temp_f30 > 0.0f) {
|
if(temp_f30 > 0.0f) {
|
||||||
if(temp_f30 <= 20.0f) {
|
if(temp_f30 <= 20.0f) {
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+lbl_1_data_124[4];
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+lbl_1_data_124[4];
|
||||||
HuSprGrpPosSet(temp_r23, temp_f31, 242.0f);
|
HuSprGrpPosSet(temp_r23, temp_f31, 242.0f);
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+(lbl_1_data_124[4]-100.0f);
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[4]-100.0f);
|
||||||
HuWinPosSet(sp10[1], 16.0f+temp_f31, 224.0f);
|
HuWinPosSet(sp10[1], 16.0f+temp_f31, 224.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
temp_f30 = temp_r31-9;
|
temp_f30 = temp_r31-9;
|
||||||
if(temp_f30 > 0.0f) {
|
if(temp_f30 > 0.0f) {
|
||||||
if(temp_f30 <= 20.0f) {
|
if(temp_f30 <= 20.0f) {
|
||||||
temp_f31 = 300.0*cos(M_PI*(4.5f*temp_f30)/180.0)+(lbl_1_data_124[6]-217.0f);
|
temp_f31 = 300.0*cosd(4.5f*temp_f30)+(lbl_1_data_124[6]-217.0f);
|
||||||
HuWinPosSet(sp10[2], 16.0f+temp_f31, 274.0f);
|
HuWinPosSet(sp10[2], 16.0f+temp_f31, 274.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -919,14 +920,14 @@ static void fn_1_2FA0(void)
|
||||||
HuWinMesSet(sp10[2], 0x240002+lbl_1_bss_10+lbl_1_bss_6);
|
HuWinMesSet(sp10[2], 0x240002+lbl_1_bss_10+lbl_1_bss_6);
|
||||||
}
|
}
|
||||||
for(temp_r31=0; temp_r31<=10; temp_r31++) {
|
for(temp_r31=0; temp_r31<=10; temp_r31++) {
|
||||||
HuWinPosSet(temp_r27, 30.0*sin(M_PI*(temp_r31*9.0f)/180.0)+temp_f31, 200.0*(1.0-cos(M_PI*(temp_r31*9.0f)/180.0))+274.0);
|
HuWinPosSet(temp_r27, 30.0*sind(temp_r31*9.0f)+temp_f31, 200.0*(1.0-cosd(temp_r31*9.0f))+274.0);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
||||||
temp_f30 = 1.0-cos(M_PI*(temp_r31*4.5f)/180.0);
|
temp_f30 = 1.0-cosd(temp_r31*4.5f);
|
||||||
temp_f31 = temp_f29+(500.0f*temp_f30);
|
temp_f31 = temp_f29+(500.0f*temp_f30);
|
||||||
HuSprGrpPosSet(temp_r25, temp_f31, temp_f28);
|
HuSprGrpPosSet(temp_r25, temp_f31, temp_f28);
|
||||||
temp_f31 = ((576.0f-(work.alt_word_len/2))-24.0f)+(500.0f*temp_f30);
|
temp_f31 = ((576.0f-(work.alt_word_len/2))-24.0f)+(500.0f*temp_f30);
|
||||||
|
|
@ -968,15 +969,15 @@ static void fn_1_4174(omObjData *object)
|
||||||
y = lbl_1_bss_40[i].y;
|
y = lbl_1_bss_40[i].y;
|
||||||
z = lbl_1_bss_40[i].z;
|
z = lbl_1_bss_40[i].z;
|
||||||
|
|
||||||
pos.x = (((sin((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_20[i])+lbl_1_bss_28[i].x);
|
pos.x = (((sind(y)*cosd(x))*lbl_1_bss_20[i])+lbl_1_bss_28[i].x);
|
||||||
pos.y = (-sin((M_PI*x)/180.0)*lbl_1_bss_20[i])+lbl_1_bss_28[i].y;
|
pos.y = (-sind(x)*lbl_1_bss_20[i])+lbl_1_bss_28[i].y;
|
||||||
pos.z = ((cos((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_20[i])+lbl_1_bss_28[i].z;
|
pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_20[i])+lbl_1_bss_28[i].z;
|
||||||
target.x = lbl_1_bss_28[i].x;
|
target.x = lbl_1_bss_28[i].x;
|
||||||
target.y = lbl_1_bss_28[i].y;
|
target.y = lbl_1_bss_28[i].y;
|
||||||
target.z = lbl_1_bss_28[i].z;
|
target.z = lbl_1_bss_28[i].z;
|
||||||
up.x = sin((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
up.x = sind(y)*sind(x);
|
||||||
up.y = cos((M_PI*x)/180.0);
|
up.y = cosd(x);
|
||||||
up.z = cos((M_PI*y)/180.0)*sin((M_PI*x)/180.0);
|
up.z = cosd(y)*sind(x);
|
||||||
Hu3DCameraPosSet(lbl_1_data_144[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z);
|
Hu3DCameraPosSet(lbl_1_data_144[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1000,27 +1001,27 @@ static void fn_1_4528(omObjData *object)
|
||||||
if (lbl_1_bss_20[0] < 100.0f) {
|
if (lbl_1_bss_20[0] < 100.0f) {
|
||||||
lbl_1_bss_20[0] = 100.0f;
|
lbl_1_bss_20[0] = 100.0f;
|
||||||
}
|
}
|
||||||
pos.x = lbl_1_bss_28[0].x + (lbl_1_bss_20[0] * (sin((M_PI * lbl_1_bss_40[0].y) / 180.0) * cos((M_PI * lbl_1_bss_40[0].x) / 180.0)));
|
pos.x = lbl_1_bss_28[0].x + (lbl_1_bss_20[0] * (sind(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x)));
|
||||||
pos.y = (lbl_1_bss_28[0].y + (lbl_1_bss_20[0] * -sin((M_PI * lbl_1_bss_40[0].x) / 180.0)));
|
pos.y = (lbl_1_bss_28[0].y + (lbl_1_bss_20[0] * -sind(lbl_1_bss_40[0].x)));
|
||||||
pos.z = (lbl_1_bss_28[0].z + (lbl_1_bss_20[0] * (cos((M_PI * lbl_1_bss_40[0].y) / 180.0) * cos((M_PI * lbl_1_bss_40[0].x) / 180.0))));
|
pos.z = (lbl_1_bss_28[0].z + (lbl_1_bss_20[0] * (cosd(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x))));
|
||||||
offset.x = lbl_1_bss_28[0].x - pos.x;
|
offset.x = lbl_1_bss_28[0].x - pos.x;
|
||||||
offset.y = lbl_1_bss_28[0].y - pos.y;
|
offset.y = lbl_1_bss_28[0].y - pos.y;
|
||||||
offset.z = lbl_1_bss_28[0].z - pos.z;
|
offset.z = lbl_1_bss_28[0].z - pos.z;
|
||||||
dir.x = (sin((M_PI * lbl_1_bss_40[0].y) / 180.0) * sin((M_PI * lbl_1_bss_40[0].x) / 180.0));
|
dir.x = (sind(lbl_1_bss_40[0].y) * sind(lbl_1_bss_40[0].x));
|
||||||
dir.y = cos((M_PI * lbl_1_bss_40[0].x) / 180.0);
|
dir.y = cosd(lbl_1_bss_40[0].x);
|
||||||
dir.z = (cos((M_PI * lbl_1_bss_40[0].y) / 180.0) * sin((M_PI * lbl_1_bss_40[0].x) / 180.0));
|
dir.z = (cosd(lbl_1_bss_40[0].y) * sind(lbl_1_bss_40[0].x));
|
||||||
z_rot = lbl_1_bss_40[0].z;
|
z_rot = lbl_1_bss_40[0].z;
|
||||||
y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((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 - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0))
|
+ dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0));
|
+ 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))
|
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 - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0))
|
+ dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0));
|
+ 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))
|
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 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0))
|
+ (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot))
|
||||||
+ dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0)));
|
+ dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot)));
|
||||||
|
|
||||||
PSVECCrossProduct(&dir, &offset, &offset);
|
PSVECCrossProduct(&dir, &offset, &offset);
|
||||||
PSVECNormalize(&offset, &offset);
|
PSVECNormalize(&offset, &offset);
|
||||||
|
|
@ -1070,14 +1071,14 @@ static void fn_1_50B0(ModelData *model, Mtx mtx)
|
||||||
GXSetVtxDesc(GX_VA_NRM, GX_DIRECT);
|
GXSetVtxDesc(GX_VA_NRM, GX_DIRECT);
|
||||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||||
target.x = target.z = 0.0f;
|
target.x = target.z = 0.0f;
|
||||||
target.x = lbl_1_data_14C*sin(M_PI*lbl_1_bss_40[0].y/180.0);
|
target.x = lbl_1_data_14C*sind(lbl_1_bss_40[0].y);
|
||||||
target.z = lbl_1_data_14C*cos(M_PI*lbl_1_bss_40[0].y/180.0);
|
target.z = lbl_1_data_14C*cosd(lbl_1_bss_40[0].y);
|
||||||
target.y = 415.0f;
|
target.y = 415.0f;
|
||||||
pos.x = (sin(M_PI*lbl_1_bss_40[0].y/180.0)*cos(M_PI*lbl_1_bss_40[0].x/180.0)*lbl_1_bss_20[0])+lbl_1_bss_28[0].x;
|
pos.x = (sind(lbl_1_bss_40[0].y)*cosd(lbl_1_bss_40[0].x)*lbl_1_bss_20[0])+lbl_1_bss_28[0].x;
|
||||||
pos.y = (-sin(M_PI*lbl_1_bss_40[0].x/180.0)*lbl_1_bss_20[0])+lbl_1_bss_28[0].y;
|
pos.y = (-sind(lbl_1_bss_40[0].x)*lbl_1_bss_20[0])+lbl_1_bss_28[0].y;
|
||||||
pos.z = (cos(M_PI*lbl_1_bss_40[0].y/180.0)*cos(M_PI*lbl_1_bss_40[0].x/180.0)*lbl_1_bss_20[0])+lbl_1_bss_28[0].z;
|
pos.z = (cos(M_PI*lbl_1_bss_40[0].y/180.0)*cosd(lbl_1_bss_40[0].x)*lbl_1_bss_20[0])+lbl_1_bss_28[0].z;
|
||||||
up.x = -sin(M_PI*lbl_1_bss_40[0].y/180.0);
|
up.x = -sind(lbl_1_bss_40[0].y);
|
||||||
up.z = -cos(M_PI*lbl_1_bss_40[0].y/180.0);
|
up.z = -cosd(lbl_1_bss_40[0].y);
|
||||||
up.y = 0;
|
up.y = 0;
|
||||||
MTXLookAt(lookat, &pos, &up, &target);
|
MTXLookAt(lookat, &pos, &up, &target);
|
||||||
MTXLightPerspective(light, lbl_1_bss_C, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
MTXLightPerspective(light, lbl_1_bss_C, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||||
|
|
|
||||||
261
src/REL/modeseldll/modesel.c
Normal file
261
src/REL/modeseldll/modesel.c
Normal file
|
|
@ -0,0 +1,261 @@
|
||||||
|
#define HUWIN_USE_OLD_DEFS
|
||||||
|
#include "game/object.h"
|
||||||
|
#include "game/gamework_data.h"
|
||||||
|
#include "game/audio.h"
|
||||||
|
#include "game/wipe.h"
|
||||||
|
#include "game/window.h"
|
||||||
|
#include "game/object.h"
|
||||||
|
#include "game/process.h"
|
||||||
|
#include "game/hsfman.h"
|
||||||
|
#include "game/pad.h"
|
||||||
|
#include "game/hsfanim.h"
|
||||||
|
|
||||||
|
#include "ext_math.h"
|
||||||
|
#include "REL/modeseldll.h"
|
||||||
|
|
||||||
|
s16 lbl_1_data_80[] = {
|
||||||
|
16, 17, 18,
|
||||||
|
19, 20, 21
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 lbl_1_data_8C[] = {
|
||||||
|
0x630030,
|
||||||
|
0x630032,
|
||||||
|
0x630034,
|
||||||
|
0x630036,
|
||||||
|
0x630038,
|
||||||
|
0x63003A
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 lbl_1_data_A4[] = {
|
||||||
|
0x630031,
|
||||||
|
0x630033,
|
||||||
|
0x630035,
|
||||||
|
0x630037,
|
||||||
|
0x630039,
|
||||||
|
0x63003B
|
||||||
|
};
|
||||||
|
|
||||||
|
u32 lbl_1_data_BC[] = {
|
||||||
|
0x110001,
|
||||||
|
0x110002,
|
||||||
|
0x110003,
|
||||||
|
0x110004,
|
||||||
|
0x110005,
|
||||||
|
0x110006
|
||||||
|
};
|
||||||
|
|
||||||
|
s16 lbl_1_bss_82;
|
||||||
|
s16 lbl_1_bss_80;
|
||||||
|
|
||||||
|
void fn_1_3668(void);
|
||||||
|
|
||||||
|
//Scratch is at https://decomp.me/scratch/iirXp
|
||||||
|
//Register allocation issues at line 180 with load of 1.0 double constant
|
||||||
|
s32 fn_1_2490(void)
|
||||||
|
{
|
||||||
|
float sp10[2];
|
||||||
|
float sp8[2];
|
||||||
|
float temp_f31;
|
||||||
|
float temp_f30;
|
||||||
|
s16 temp_r31;
|
||||||
|
s16 temp_r30;
|
||||||
|
s16 temp_r29;
|
||||||
|
s16 temp_r28;
|
||||||
|
s16 temp_r27;
|
||||||
|
s16 temp_r26;
|
||||||
|
s32 temp_r25;
|
||||||
|
WindowData *temp_r24;
|
||||||
|
AnimData *temp_r23;
|
||||||
|
AnimData *temp_r22;
|
||||||
|
s16 temp_r21;
|
||||||
|
fn_1_3668();
|
||||||
|
fn_1_1EC0(1);
|
||||||
|
temp_r25 = HuAudFXPlay(2094);
|
||||||
|
if(omovlevtno) {
|
||||||
|
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
||||||
|
}
|
||||||
|
for(temp_r31=0; temp_r31<=20; temp_r31++) {
|
||||||
|
temp_f31 = 1.0-sind(90.0*(temp_r31/20.0));
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f+(200.0f*temp_f31), 0);
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[15], 0, -50.0f+(200.0f*temp_f31), 0);
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuPrcSleep(20);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[14], 0x40000002);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[15], 0x40000002);
|
||||||
|
HuAudFXPlay(2093);
|
||||||
|
HuPrcSleep(120);
|
||||||
|
HuAudFXPlay(2095);
|
||||||
|
for(temp_r31=0; temp_r31<=30; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/30.0;
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -50.0f-(20.0f*temp_f31), 0);
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuWinMesMaxSizeBetGet(sp10, 0x110000, 0x110006);
|
||||||
|
lbl_1_bss_82 = HuWinExCreateStyled(-10000, 432-sp10[1], sp10[0], sp10[1], -1, 0);
|
||||||
|
HuWinMesSpeedSet(lbl_1_bss_82, 0);
|
||||||
|
temp_r24 = &winData[lbl_1_bss_82];
|
||||||
|
temp_r24->active_pad = 1;
|
||||||
|
HuWinExAnimIn(lbl_1_bss_82);
|
||||||
|
HuWinMesSet(lbl_1_bss_82, 0x110000);
|
||||||
|
HuWinMesMaxSizeGet(1, sp8, 0x1A0020);
|
||||||
|
temp_r29 = HuWinCreate(-10000, 8+(432-sp10[1]-sp8[1]), sp8[0], sp8[1], 0);
|
||||||
|
HuWinMesSpeedSet(temp_r29, 0);
|
||||||
|
HuWinBGTPLvlSet(temp_r29, 0);
|
||||||
|
HuWinMesSet(temp_r29, 0x1A0020);
|
||||||
|
HuWinDispOff(temp_r29);
|
||||||
|
while(!Hu3DMotionEndCheck(lbl_1_bss_19A[15])) {
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[15], 1);
|
||||||
|
for(temp_r31=0; temp_r31<6; temp_r31++) {
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 1);
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0x40000002);
|
||||||
|
Hu3DMotionTimeSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0);
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r31]], 0, -50, 0);
|
||||||
|
}
|
||||||
|
HuWinMesWait(lbl_1_bss_82);
|
||||||
|
temp_r26 = 0;
|
||||||
|
lbl_1_bss_80 = temp_r26;
|
||||||
|
espAttrReset(lbl_1_bss_152[10], HUSPR_ATTR_DISPOFF);
|
||||||
|
espBankSet(lbl_1_bss_152[10], 0);
|
||||||
|
for(temp_r31=0; temp_r31<=10; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/10.0f;
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0*sind(90.0f*temp_f31));
|
||||||
|
espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*sind(90.0f*temp_f31)));
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]);
|
||||||
|
HuWinDispOn(temp_r29);
|
||||||
|
while(1) {
|
||||||
|
temp_r30 = 0;
|
||||||
|
if(HuPadDStkRep[0] & PAD_BUTTON_LEFT) {
|
||||||
|
temp_r30 = -1;
|
||||||
|
} else if(HuPadDStkRep[0] & PAD_BUTTON_RIGHT) {
|
||||||
|
temp_r30 = 1;
|
||||||
|
}
|
||||||
|
if(temp_r30) {
|
||||||
|
if(lbl_1_bss_80+temp_r30 < 0) {
|
||||||
|
lbl_1_bss_80 = 0;
|
||||||
|
} else if(lbl_1_bss_80+temp_r30 >= 6) {
|
||||||
|
lbl_1_bss_80 = 5;
|
||||||
|
} else {
|
||||||
|
lbl_1_bss_80 += temp_r30;
|
||||||
|
}
|
||||||
|
if(temp_r26 != lbl_1_bss_80) {
|
||||||
|
HuAudFXPlay(0);
|
||||||
|
for(temp_r31=0; temp_r31<=10; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/10.0f;
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r26]], 0, -50, 50.0*cosd(90.0f*temp_f31));
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0, -50, 50.0*sind(90.0f*temp_f31));
|
||||||
|
espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*(1.0-sind(180.0f*temp_f31))));
|
||||||
|
if(temp_r31 == 5) {
|
||||||
|
espBankSet(lbl_1_bss_152[10], lbl_1_bss_80);
|
||||||
|
}
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
temp_r26 = lbl_1_bss_80;
|
||||||
|
HuWinMesSet(lbl_1_bss_82, lbl_1_data_BC[lbl_1_bss_80]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(HuPadBtnDown[0] & PAD_BUTTON_A) {
|
||||||
|
HuAudFXPlay(2);
|
||||||
|
break;
|
||||||
|
} else if(HuPadBtnDown[0] & PAD_BUTTON_B) {
|
||||||
|
HuAudFXPlay(3);
|
||||||
|
HuAudFXStop(temp_r25);
|
||||||
|
return -1;
|
||||||
|
} else {
|
||||||
|
HuPrcVSleep();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 0x40000002);
|
||||||
|
HuAudSeqAllFadeOut(1000);
|
||||||
|
for(temp_r31=0; temp_r31<=20; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/20.0f;
|
||||||
|
for(temp_r28=0; temp_r28<6; temp_r28++) {
|
||||||
|
if(temp_r28 != lbl_1_bss_80) {
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[lbl_1_data_80[temp_r28]], 0, -50-(300.0*(1.0-cosd(90.0f*temp_f31))), 0);
|
||||||
|
espPosSet(lbl_1_bss_152[10], 288.0, -50.0+(106.0*(cosd(90.0f*temp_f31))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuWinKill(temp_r29);
|
||||||
|
HuWinExAnimOut(lbl_1_bss_82);
|
||||||
|
HuAudFXStop(temp_r25);
|
||||||
|
temp_r27 = HuSprGrpCreate(1);
|
||||||
|
temp_r21 = HuTHPSprCreateVol("movie/opmov_c00.thp", 0, 3000, 90.0);
|
||||||
|
HuSprGrpMemberSet(temp_r27, 0, temp_r21);
|
||||||
|
HuSprPosSet(temp_r27, 0, 288.0f, 240.0f);
|
||||||
|
HuSprDrawNoSet(temp_r27, 0, 127);
|
||||||
|
HuPrcSleep(2);
|
||||||
|
espAttrSet(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF);
|
||||||
|
for(temp_r31=0; temp_r31<=10; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/10.0;
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[14], 0, -70.0f-(100.0f*temp_f31), 0);
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
temp_r23 = HuSprAnimRead(HuDataReadNum(lbl_1_data_8C[lbl_1_bss_80], MEMORY_DEFAULT_NUM));
|
||||||
|
temp_r22 = HuSprAnimRead(HuDataReadNum(lbl_1_data_A4[lbl_1_bss_80], MEMORY_DEFAULT_NUM));
|
||||||
|
Hu3DAnimCreate(temp_r23, lbl_1_bss_19A[22], "ys002_a1");
|
||||||
|
Hu3DAnimCreate(temp_r22, lbl_1_bss_19A[22], "ys002_a2");
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[lbl_1_data_80[lbl_1_bss_80]], 1);
|
||||||
|
Hu3DMotionTimeSet(lbl_1_bss_19A[22], 0);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[22], 1);
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[22], 0x40000002);
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27, 50);
|
||||||
|
Hu3DModelScaleSet(lbl_1_bss_19A[22], 1.0f, 1.063f, 1.0f);
|
||||||
|
for(temp_r31=1; temp_r31<=20; temp_r31++) {
|
||||||
|
temp_f31 = temp_r31/20.0;
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[22], 0, 27.0-(60.0*sind(90.0f*temp_f31)), 50);
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuPrcSleep(90);
|
||||||
|
Hu3DFogSet(3000, 8000, 255, 255, 255);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[22], 0x40000002);
|
||||||
|
HuPrcSleep(60);
|
||||||
|
temp_f31 =0;
|
||||||
|
temp_f30 = 5;
|
||||||
|
while(!HuTHPEndCheck()) {
|
||||||
|
Hu3DModelPosSet(lbl_1_bss_19A[22], 0, -33.0f+(temp_f31/30.0f), 50.0f-temp_f31);
|
||||||
|
temp_f31 += temp_f30;
|
||||||
|
temp_f30 += 5.0f;
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
_ClearFlag(0x1000B);
|
||||||
|
WipeColorSet(255, 255, 255);
|
||||||
|
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10);
|
||||||
|
while(WipeStatGet()) {
|
||||||
|
HuPrcVSleep();
|
||||||
|
}
|
||||||
|
HuTHPClose();
|
||||||
|
HuSprGrpKill(temp_r27);
|
||||||
|
return lbl_1_bss_80;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_3668(void)
|
||||||
|
{
|
||||||
|
Vec sp20;
|
||||||
|
Vec sp14;
|
||||||
|
Vec sp8;
|
||||||
|
Hu3DShadowCreate(20, 100, 5000);
|
||||||
|
Hu3DShadowTPLvlSet(0.3f);
|
||||||
|
Hu3DShadowSizeSet(192);
|
||||||
|
sp14.x = sp14.y = sp14.z = 0;
|
||||||
|
sp20.x = 0;
|
||||||
|
sp20.z = 300;
|
||||||
|
sp20.y = 400;
|
||||||
|
sp8.x = 0;
|
||||||
|
sp8.y = 1;
|
||||||
|
sp8.z = 0;
|
||||||
|
Hu3DShadowPosSet(&sp20, &sp8, &sp14);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[15], 1);
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[15], 0x40000002);
|
||||||
|
Hu3DMotionTimeSet(lbl_1_bss_19A[15], 0);
|
||||||
|
Hu3DModelAttrReset(lbl_1_bss_19A[14], 1);
|
||||||
|
Hu3DModelAttrSet(lbl_1_bss_19A[14], 0x40000002);
|
||||||
|
Hu3DMotionTimeSet(lbl_1_bss_19A[14], 0);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue