#include "REL/mstory2Dll.h" #include "game/armem.h" #include "game/board/main.h" #include "game/chrman.h" #include "game/data.h" #include "game/gamework.h" #include "game/gamework_data.h" #include "game/hsfanim.h" #include "game/hsfman.h" #include "game/hsfmotion.h" #include "game/minigame_seq.h" #include "game/printfunc.h" #include "game/sprite.h" #include "game/window.h" #include "game/wipe.h" #include "game/pad.h" #include "game/objsub.h" #include "game/esprite.h" typedef struct { /* 0x000 */ s32 unk00; /* 0x004 */ s32 unk04; /* 0x008 */ s32 unk08; /* 0x00C */ s32 unk0C; /* 0x010 */ s32 unk10; /* 0x014 */ s32 unk14; /* 0x018 */ char unk18[0x18]; /* 0x030 */ StructFn357C unk30[4]; /* 0x100 */ float unk100; } StructBssC0C; // Size 0x104 StructBssC0C lbl_1_bss_C0C; StructBss16C lbl_1_bss_BE4; StructBss16C lbl_1_bss_BBC; StructBss16C lbl_1_bss_B94; StructBss16C lbl_1_bss_B6C; StructBss16C lbl_1_bss_B44; BOOL lbl_1_bss_B40; BOOL lbl_1_bss_B3C; Process *lbl_1_bss_B38; s32 lbl_1_data_EF8[2][2] = { 20, 70, 1, 1 }; s32 lbl_1_data_F08 = -1; s32 lbl_1_data_F0C[2] = { -1, -1 }; s32 lbl_1_data_F14 = 127; void fn_1_19F14(void); void fn_1_1A160(void); void fn_1_1A538(omObjData* arg0, StructBss16C* arg1); void fn_1_1A578(void); void fn_1_1A9D0(omObjData* arg0, StructBss16C* arg1); void fn_1_1AAB4(void); void fn_1_1AFD4(omObjData* arg0, StructBss16C* arg1); void fn_1_1B0E4(void); void fn_1_1AD3C(int arg0); void fn_1_1B318(void); void fn_1_1B3A4(void); void fn_1_1B430(void); void fn_1_186D0(void) { int i; while(1) { HuPrcVSleep(); if(lbl_1_data_F08 != -1 && lbl_1_data_F0C[0] != -1 && lbl_1_data_F0C[1] != -1 && lbl_1_data_F0C[0] == Hu3DMotionIDGet(lbl_1_data_F08)) { for(i=0; i<2; i++) { if(lbl_1_data_EF8[1][i] != -1) { if(Hu3DMotionTimeGet(lbl_1_data_F08) >= lbl_1_data_EF8[0][i]) { OSReport("KE-System TIME:%d\n", lbl_1_data_EF8[0][i]); HuAudFXPlayVol(81, lbl_1_data_F14); lbl_1_data_EF8[1][i] = -1; } } } if(Hu3DMotionTimeGet(lbl_1_data_F08) <= 10) { for(i=0; i<2; i++) { lbl_1_data_EF8[1][i] = 1; } } } if(lbl_1_bss_B3C == 1) { lbl_1_data_F14--; if(lbl_1_data_F14 <= 0) { lbl_1_data_F14 = 0; } } if(lbl_1_bss_B3C == 2) { break; } } HuPrcEnd(); while(1) { HuPrcVSleep(); } } void fn_1_188F0(Process* arg0, s32 arg1) { lbl_1_bss_B38 = arg0; if(GWSystem.diff_story == 2) { GWGameStat.field10E_bit4 = TRUE; } lbl_1_bss_C0C.unk0C = arg1; fn_1_C30(); fn_1_3668(255); fn_1_2828(lbl_1_bss_B38, fn_1_1B318); fn_1_3754(); fn_1_1AD3C(arg1); HuPrcChildCreate(fn_1_1B0E4, 100, 8192, 0, HuPrcCurrentGet()); HuPrcChildCreate(fn_1_1A160, 100, 8192, 0, HuPrcCurrentGet()); HuPrcChildCreate(fn_1_1AAB4, 100, 8192, 0, HuPrcCurrentGet()); HuPrcChildCreate(fn_1_1A578, 100, 8192, 0, HuPrcCurrentGet()); HuPrcChildCreate(fn_1_19F14, 100, 12288, 0, HuPrcCurrentGet()); } void fn_1_18A34(omObjData *object) { if(object->work[2]) { object->work[2]--; return; } if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) { fn_1_1DFC(object, 1, object->work[1], 15, 1); object->work[0] = object->work[1] = object->work[2] = 0; } } void fn_1_18AC0(void) { int posX = 16; int posY = 40; GXColor winColor = { 0, 0, 128, 128 }; int i; while(1) { fn_1_BC8(); fontcolor = FONT_COLOR_WHITE; printWin(posX, posY, 220, 130, &winColor); if(lbl_1_bss_BE4.unk04 == NULL) { print8(posX, posY, 1, "PROC_MAIN -> FALSE"); } else { print8(posX, posY, 1, "PROC_MAIN -> TRUE"); } if(lbl_1_bss_BBC.unk04 == NULL) { print8(posX, posY+10, 1, "PROC_MAP -> FALSE"); } else { print8(posX, posY+10, 1, "PROC_MAP -> TRUE"); } if(lbl_1_bss_B94.unk04 == NULL) { print8(posX, posY+20, 1, "PROC_PLAYER -> FALSE"); } else { print8(posX, posY+20, 1, "PROC_PLAYER -> TRUE"); } if(lbl_1_bss_B6C.unk04 == NULL) { print8(posX, posY+30, 1, "PROC_SUB -> FALSE"); } else { print8(posX, posY+30, 1, "PROC_SUB -> TRUE"); } if(lbl_1_bss_B44.unk04 == NULL) { print8(posX, posY+40, 1, "PROC_KOOPA -> FALSE"); } else { print8(posX, posY+40, 1, "PROC_KOOPA -> TRUE"); } print8(posX, posY+60, 1, "P:%d W:%d", lbl_1_bss_C0C.unk00, lbl_1_bss_C0C.unk0C); print8(posX, posY+80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR"); for(i=0; i<4; i++) { print8(posX, posY+90+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_C0C.unk30[i].unk00, lbl_1_bss_C0C.unk30[i].unk04, lbl_1_bss_C0C.unk30[i].unk08, lbl_1_bss_C0C.unk30[i].unk0C, lbl_1_bss_C0C.unk30[i].unk14, lbl_1_bss_C0C.unk30[i].unk10); } } } void fn_1_18E7C(void) { WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); do { fn_1_BC8(); } while (WipeStatGet()); fn_1_BE8(60); } void fn_1_18EC4(void) { lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); HuAudFXPlay(lbl_1_data_0[6][1]); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F001E); fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); fn_1_1A94(lbl_1_bss_C0C.unk04); lbl_1_bss_B44.unk04 = (void *)fn_1_1A538; lbl_1_bss_B3C = 1; fn_1_BE8(60); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); do { fn_1_BC8(); } while (WipeStatGet()); fn_1_BE8(60); lbl_1_bss_B44.unk04 = NULL; lbl_1_bss_B3C = 2; fn_1_1DFC(lbl_1_bss_B44.unk00, 1, 1, 0, 1); fn_1_2750(fn_1_1B3A4); Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[1], 1); Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[2], 1); Hu3DModelAttrReset(lbl_1_bss_BBC.unk00->model[4], 1); Hu3DModelAttrReset(lbl_1_bss_B6C.unk00->model[1], 1); Hu3DModelAttrReset(lbl_1_bss_B94.unk00->model[1], 1); Hu3DModelAttrSet(lbl_1_bss_B44.unk00->model[1], 1); Hu3DModelPosSet(lbl_1_bss_BBC.unk00->model[1], 0, 0, 0); fn_1_BE8(60); lbl_1_bss_78[0] = HuAudSeqPlay(56); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); do { fn_1_BC8(); } while (WipeStatGet()); if(0) { fn_1_BC8(); } } void fn_1_19138(void) { fn_1_1DFC(lbl_1_bss_BBC.unk00, 2, 3, 0, 0); fn_1_2264(lbl_1_bss_BBC.unk00, 2, 3, 0); lbl_1_bss_B94.unk04 = (void *)fn_1_1AFD4; lbl_1_bss_B6C.unk04 = (void *)fn_1_1A9D0; fn_1_3854(&lbl_1_bss_24); fn_1_2750(fn_1_1B430); fn_1_BE8(30); fn_1_1DFC(lbl_1_bss_BBC.unk00, 2, 2, 0, 0); while(1) { fn_1_BC8(); if(lbl_1_bss_B94.unk04 == NULL) { break; } } while(1) { fn_1_BC8(); if(lbl_1_bss_B6C.unk04 == NULL) { break; } } lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); HuAudFXPlay(lbl_1_data_0[0][2]); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 15, 1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F001F); fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F0020); fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 15, 1); fn_1_1A94(lbl_1_bss_C0C.unk04); fn_1_BE8(60); } char *lbl_1_data_10E4[8] = { "movie/endmov_ma0.thp", "movie/endmov_lu0.thp", "movie/endmov_pe0.thp", "movie/endmov_yo0.thp", "movie/endmov_wa0.thp", "movie/endmov_do0.thp", "movie/endmov_da0.thp", "movie/endmov_wl0.thp" }; void fn_1_19334(void) { lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); HuAudFXPlay(lbl_1_data_0[0][2]); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 0, 1); fn_1_1D4C(lbl_1_bss_C0C.unk04, lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10, 0); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x1F0024); fn_1_1AFC(lbl_1_bss_C0C.unk04, -1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 0, 1); fn_1_1A94(lbl_1_bss_C0C.unk04); fn_1_1DFC(lbl_1_bss_B94.unk00, 1, 4, 15, 0); fn_1_2264(lbl_1_bss_B94.unk00, 1, 4, 15); fn_1_1DFC(lbl_1_bss_B94.unk00, 1, 3, 15, 1); fn_1_BE8(60); lbl_1_bss_C0C.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_C0C.unk0C); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 3, 0, 1); fn_1_6D78(lbl_1_bss_C0C.unk04, 0x1F0023, 0, -1); fn_1_1D18(lbl_1_bss_C0C.unk04, 0x250004); fn_1_1DFC(lbl_1_bss_B6C.unk00, 1, 1, 0, 1); HuAudFXPlay(lbl_1_data_0[0][3]); fn_1_1A94(lbl_1_bss_C0C.unk04); fn_1_BE8(60); HuAudFXPlay(152); Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[1], 1); Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[2], 1); Hu3DModelAttrSet(lbl_1_bss_BBC.unk00->model[4], 1); Hu3DModelAttrSet(lbl_1_bss_B6C.unk00->model[1], 1); Hu3DModelAttrSet(lbl_1_bss_B94.unk00->model[1], 1); HuAudSeqFadeOut(lbl_1_bss_78[0], 100); lbl_1_bss_B3C = 2; GWGameStat.field10E_bit6 = TRUE; WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); while (WipeStatGet()) { HuPrcVSleep(); } lbl_1_bss_BBC.unk04 = NULL; lbl_1_bss_B94.unk04 = NULL; lbl_1_bss_B44.unk04 = NULL; lbl_1_bss_B6C.unk04 = NULL; CharModelKill(-1); Hu3DAllKill(); fn_1_BE8(60); { int time = 0; int gid = HuSprGrpCreate(3); int sprid = HuTHPSprCreate(lbl_1_data_10E4[lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10], FALSE, 1000); HuSprGrpMemberSet(gid, 0, sprid); HuSprPosSet(gid, 0, 288, 240); sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(0x660060, 0x10000000)), 950, 0); HuSprGrpMemberSet(gid, 1, sprid); HuSprPosSet(gid, 1, 288, 226); HuSprAttrSet(gid, 1, HUSPR_ATTR_DISPOFF); sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(0x660061, 0x10000000)), 950, 0); HuSprGrpMemberSet(gid, 2, sprid); HuSprBankSet(gid, 2, lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10); if(GWLanguageGet() == 0 && lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10 == 5) { HuSprBankSet(gid, 2, 8); } HuSprPosSet(gid, 2, 288, 254); HuSprAttrSet(gid, 2, HUSPR_ATTR_DISPOFF); HuPrcSleep(5); WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); while(WipeStatGet()) { HuPrcVSleep(); } while(!HuTHPEndCheck()) { if(time >= 3300) { HuSprAttrReset(gid, 1, HUSPR_ATTR_DISPOFF); HuSprAttrReset(gid, 2, HUSPR_ATTR_DISPOFF); } else { time++; } HuPrcVSleep(); } WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); while(WipeStatGet()) { HuPrcVSleep(); } HuTHPClose(); HuPrcVSleep(); HuSprGrpKill(gid); } } void fn_1_199A0(void) { float sp8[2]; s32 temp_r30; s32 var_r29; s32 var_r31; s32 var_r28; temp_r30 = 1; Hu3DAllKill(); HuSprClose(); HuSprInit(); if (SLSaveFlagGet() == 0) { lbl_1_bss_B40 = 1; HuPrcEnd(); while (TRUE) { HuPrcVSleep(); } } espInit(); HuPrcVSleep(); var_r29 = espEntry(DATA_MAKE_NUM(DATADIR_WIN, 32), 5000, 0); espPosSet(var_r29, 288.0f, 240.0f); espAttrReset(var_r29, 4); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); while (WipeStatGet() != 0) { HuPrcVSleep(); } fn_1_BE8(60); var_r28 = GWUnkB1Get(); GWSystem.unk0B |= 1 << var_r28; if (SLSaveFlagGet() == 1) { HuWinInit(1); HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(30, 22)); var_r31 = HuWinExCreateStyled(-10000.0f, 150.0f, sp8[0], sp8[1], -1, 2); winData[var_r31].active_pad = 1; HuWinAttrSet(var_r31, 0x10); HuWinExAnimIn(var_r31); HuWinMesSet(var_r31, MAKE_MESSID(30, 22)); temp_r30 = HuWinChoiceGet(var_r31, 0); HuWinExAnimOut(var_r31); HuWinExCleanup(var_r31); if (SLSaveFlagGet() == 1 && temp_r30 == 0) { GWGameStat.story_continue = FALSE; SLCommonSet(); SLSaveBoardStory(); SLSave(); } } WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); while (WipeStatGet() != 0) { HuPrcVSleep(); } lbl_1_bss_B40 = 1; HuPrcEnd(); while (TRUE) { HuPrcVSleep(); } } void fn_1_19BE8(void) { omOvlHisData *his; fn_1_BE8(120); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); do { fn_1_BC8(); } while (WipeStatGet()); CharModelKill(-1); HuAudFadeOut(1); his = omOvlHisGet(0); omOvlHisChg(0, OVL_MSTORY2, 20, 1); omOvlCallEx(OVL_STAFF, 1, 0, 0); while(1) { fn_1_BC8(); } } void fn_1_19C6C(omObjData* arg0, StructBss16C* arg1) { int temp = 0; fn_1_18E7C(); fn_1_18EC4(); fn_1_19138(); fn_1_19334(); fn_1_19BE8(); arg1->unk04 = NULL; } void fn_1_19F14(void) { omObjData *obj; lbl_1_bss_BE4.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); lbl_1_bss_BE4.unk04 = (void *)fn_1_19C6C; lbl_1_bss_BE4.unk00->data = &lbl_1_bss_BE4; while(1) { fn_1_BC8(); if(lbl_1_bss_BE4.unk04 != NULL) { lbl_1_bss_BE4.unk04(obj, &lbl_1_bss_BE4); } } } void fn_1_19FC8(omObjData *object) { object->model[1] = Hu3DModelCreateFile(0x660050); object->motion[0] = Hu3DMotionIDGet(object->model[1]); fn_1_1DFC(object, 1, 0, 0, 2); Hu3DModelShadowMapObjSet(object->model[1], "base_fix9-base"); Hu3DModelAttrSet(object->model[1], 1); object->model[2] = Hu3DModelCreateFile(0x660053); object->motion[2] = Hu3DJointMotionFile(object->model[2], 0x660054); object->motion[3] = Hu3DJointMotionFile(object->model[2], 0x660055); Hu3DModelAttrSet(object->model[2], 1); fn_1_1DFC(object, 2, 3, 0, 2); object->model[4] = Hu3DModelCreateFile(0x660051); Hu3DModelAttrSet(object->model[4], 1); Hu3DModelPosSet(object->model[1], 0, -1000, 0); } void fn_1_1A160(void) { omObjData *obj; lbl_1_bss_BBC.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); lbl_1_bss_BBC.unk04 = NULL; fn_1_19FC8(obj); while(1) { fn_1_BC8(); if(lbl_1_bss_BBC.unk04 != NULL) { lbl_1_bss_BBC.unk04(obj, &lbl_1_bss_BBC); } } } void fn_1_1A368(omObjData *object) { object->model[1] = Hu3DModelCreateFile(0x660062); object->motion[1] = Hu3DJointMotionFile(object->model[1], 0x660063); object->motion[2] = Hu3DJointMotionFile(object->model[1], 0x660070); object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660071); Hu3DModelPosSet(object->model[1], 0, 0, 600); Hu3DModelRotSet(object->model[1], 0, 180, 0); Hu3DModelScaleSet(object->model[1], 1, 1, 1); fn_1_1DFC(object, 1, 3, 0, 1); lbl_1_data_F08 = object->model[1]; lbl_1_data_F0C[0] = object->motion[3]; lbl_1_data_F0C[1] = object->motion[3]; HuPrcChildCreate(fn_1_186D0, 100, 8192, 0, HuPrcCurrentGet()); } void fn_1_1A538(omObjData* arg0, StructBss16C* arg1) { Hu3DData[lbl_1_bss_B44.unk00->model[1]].pos.z -= 2.5f; } void fn_1_1A578(void) { omObjData *obj; lbl_1_bss_B44.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); lbl_1_bss_B44.unk04 = NULL; fn_1_1A368(obj); while(1) { fn_1_BC8(); if(lbl_1_bss_B44.unk04 != NULL) { lbl_1_bss_B44.unk04(obj, &lbl_1_bss_B44); } if(obj->work[0]) { fn_1_6704(obj); } } } void fn_1_1A7CC(omObjData *object) { object->model[1] = Hu3DModelCreateFile(0x660072); object->motion[1] = Hu3DJointMotionFile(object->model[1], 0x660073); object->motion[2] = Hu3DJointMotionFile(object->model[1], 0x660075); object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660076); object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x66007C); object->motion[5] = Hu3DJointMotionFile(object->model[1], 0x660079); Hu3DModelPosSet(object->model[1], 0, 0, 460); Hu3DModelRotSet(object->model[1], 0, 0, 0); Hu3DModelScaleSet(object->model[1], 1, 1, 1); Hu3DModelAttrSet(object->model[1], 1); Hu3DModelShadowSet(object->model[1]); fn_1_1DFC(object, 1, 5, 0, 1); CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 9); } void fn_1_1A9D0(omObjData* arg0, StructBss16C* arg1) { Vec pos = { -120, 0, 800 }; fn_1_1DFC(arg0, 1, 2, 15, 1); fn_1_2D00(arg0, 1, pos, 90, 60, 10); fn_1_1DFC(arg0, 1, 1, 15, 1); arg1->unk04 = NULL; } void fn_1_1AAB4(void) { omObjData *obj; lbl_1_bss_B6C.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); lbl_1_bss_B6C.unk04 = NULL; fn_1_1A7CC(obj); while(1) { fn_1_BC8(); if(lbl_1_bss_B6C.unk04 != NULL) { lbl_1_bss_B6C.unk04(obj, &lbl_1_bss_B6C); } if(obj->work[0]) { fn_1_6704(obj); } } } void fn_1_1AD3C(int arg0) { int i; int order[4]; order[0] = 0; for(i=1; i<4; i++) { order[i] = order[i-1]+1; if(order[i] >= 4) { order[i] = 0; } if(arg0 == order[i]) { lbl_1_bss_C0C.unk00 = i; } } for(i=0; i<4; i++) { fn_1_357C(&lbl_1_bss_C0C.unk30[i], order[i]); } } void fn_1_1AE20(omObjData *object) { int charNo = lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10; object->model[1] = CharModelCreate(charNo, 1); object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000); object->motion[2] = CharModelMotionCreate(charNo, 0x5F0035); object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660010+charNo); object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x660008+charNo); CharModelMotionDataClose(charNo); Hu3DModelPosSet(object->model[1], 120, 0, 800); Hu3DModelRotSet(object->model[1], 0, -135, 0); Hu3DModelScaleSet(object->model[1], 1, 1, 1); Hu3DModelAttrSet(object->model[1], 1); Hu3DModelShadowSet(object->model[1]); fn_1_1DFC(object, 1, 1, 0, 1); } void fn_1_1AFD4(omObjData* arg0, StructBss16C* arg1) { int i; fn_1_1DFC(arg0, 1, 2, 0, 0); fn_1_BC8(); Hu3DMotionTimeSet(arg0->model[1], 60); for(i=0; i<60; i++) { fn_1_BC8(); Hu3DData[arg0->model[1]].rot.y = fn_1_864(-135, -90, i, 60); } fn_1_1DFC(arg0, 1, 1, 15, 1); arg1->unk04 = NULL; } void fn_1_1B0E4(void) { omObjData *obj; lbl_1_bss_B94.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL); lbl_1_bss_B94.unk04 = NULL; fn_1_1AE20(obj); while(1) { fn_1_BC8(); if(lbl_1_bss_B94.unk04 != NULL) { lbl_1_bss_B94.unk04(obj, &lbl_1_bss_B94); } if(obj->work[0]) { fn_1_6704(obj); } } } void fn_1_1B318(void) { StructBss24 *work = &lbl_1_bss_24; work->unk08.x = 0; work->unk08.y = 120; work->unk08.z = 0; work->unk20.x = 0; work->unk20.y = 0; work->unk20.z = 0; work->unk38 = 1400; } void fn_1_1B3A4(void) { StructBss24 *work = &lbl_1_bss_24; work->unk08.x = 0; work->unk08.y = 125; work->unk08.z = 0; work->unk20.x = -4.9f; work->unk20.y = 0; work->unk20.z = 0; work->unk38 = 1750; } void fn_1_1B430(void) { StructBss24 *work = &lbl_1_bss_24; StructBss24 temp; temp.unk08.x = 0; temp.unk08.y = 100; temp.unk08.z = 0; temp.unk20.x = 0; temp.unk20.y = 0; temp.unk20.z = 0; temp.unk38 = 1400; fn_1_42A0(work, &temp, work->unk40++, 60, 10); if(0.0f != lbl_1_bss_C0C.unk100) { work->unk08.y = 125+lbl_1_bss_C0C.unk100; } }