// Token: 0x06000D8B RID: 3467 RVA: 0x000767BC File Offset: 0x000749BC private static void gmSplStageRingGateChk(AppMain.GMS_SPL_STG_WORK tcb_work) { GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; ushort get_ring = tcb_work.get_ring; for (ushort num = 0; num < 9; num += 1) { if ((( int )tcb_work.get_ring & 1 << ( int )num) == 0) { ushort num2 = AppMain.GmSplStageRingGateNumGet(num); if (num2 == 255) { break; } if (num2 <= ( ushort )gms_PLAYER_WORK.ring_num) { tcb_work.get_ring |= ( ushort )(1 << ( int )num); } } } if (get_ring != tcb_work.get_ring) { GmSound.PlaySE("Special7"); } }
// Token: 0x06000D84 RID: 3460 RVA: 0x00076328 File Offset: 0x00074528 private static void gmSplStagePlayEndChk(MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = (AppMain.GMS_SPL_STG_WORK)tcb.work; GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; OBS_CAMERA obs_CAMERA = ObjCamera.Get(0); if (AppMain.ObjObjectPauseCheck(0U) != 0U) { return; } AppMain.gmSplStageLightCtrl(gms_SPL_STG_WORK); gms_SPL_STG_WORK.flag &= 4294967294U; AppMain.gmSplStageNudgeCtrl(); AppMain.gmSplStageRingGateChk(gms_SPL_STG_WORK); if ((AppMain.g_gm_main_system.game_flag & 458752U) != 0U) { AppMain.g_gm_main_system.game_flag &= 4294966271U; gms_PLAYER_WORK.obj_work.flag |= 130U; gms_PLAYER_WORK.obj_work.move_flag |= 8448U; gms_PLAYER_WORK.obj_work.disp_flag &= 4294967294U; gms_PLAYER_WORK.player_flag |= 4194304U; if ((AppMain.g_gm_main_system.game_flag & 393216U) != 0U) { AppMain.GMM_PAD_VIB_MID_TIME(90f); } gms_SPL_STG_WORK.roll = obs_CAMERA.roll; gms_SPL_STG_WORK.roll_spd = 256; gms_SPL_STG_WORK.counter = 0U; AppMain.mtTaskChangeTcbProcedure(tcb, AppMain.gmSplStageRolling); } }
// Token: 0x06000D85 RID: 3461 RVA: 0x0007644C File Offset: 0x0007464C private static void gmSplStageRolling(MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = (AppMain.GMS_SPL_STG_WORK)tcb.work; OBS_CAMERA obs_CAMERA = ObjCamera.Get(0); if (AppMain.ObjObjectPauseCheck(0U) != 0U) { return; } if (obs_CAMERA == null) { return; } gms_SPL_STG_WORK.roll_spd += 56; gms_SPL_STG_WORK.roll += gms_SPL_STG_WORK.roll_spd; obs_CAMERA.roll = gms_SPL_STG_WORK.roll; gms_SPL_STG_WORK.counter += 1U; if (gms_SPL_STG_WORK.counter == 90U) { AppMain.IzFadeInitEasy(0U, 3U, 30f); } if (gms_SPL_STG_WORK.counter > 90U && AppMain.IzFadeIsEnd()) { AppMain.IzFadeExit(); AppMain.IzFadeRestoreDrawSetting(); AppMain.GmObjSetAllObjectNoDisp(); AppMain.GmRingGetWork().flag |= 1U; AppMain.GmFixSetDisp(false); gms_SPL_STG_WORK.flag |= 4U; gms_SPL_STG_WORK.counter = 1U; AppMain.mtTaskChangeTcbProcedure(tcb, AppMain.gmSplStageGotoEnd); obs_CAMERA.roll = 0; AppMain.g_gm_main_system.pseudofall_dir = 0; } }
private static void gmSplStageRolling(AppMain.MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK work = (AppMain.GMS_SPL_STG_WORK)tcb.work; AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(0); if (AppMain.ObjObjectPauseCheck(0U) != 0U || obsCamera == null) { return; } work.roll_spd += 56; work.roll += work.roll_spd; obsCamera.roll = work.roll; ++work.counter; if (work.counter == 90U) { AppMain.IzFadeInitEasy(0U, 3U, 30f); } if (work.counter <= 90U || !AppMain.IzFadeIsEnd()) { return; } AppMain.IzFadeExit(); AppMain.IzFadeRestoreDrawSetting(); AppMain.GmObjSetAllObjectNoDisp(); AppMain.GmRingGetWork().flag |= 1U; AppMain.GmFixSetDisp(false); work.flag |= 4U; work.counter = 1U; AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmSplStageGotoEnd)); obsCamera.roll = 0; AppMain.g_gm_main_system.pseudofall_dir = (ushort)0; }
private static void gmSplStageRingGateChk(AppMain.GMS_SPL_STG_WORK tcb_work) { AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0]; ushort getRing = tcb_work.get_ring; for (ushort gate_id = 0; gate_id < (ushort)9; ++gate_id) { if (((int)tcb_work.get_ring & 1 << (int)gate_id) == 0) { ushort num = AppMain.GmSplStageRingGateNumGet(gate_id); if (num != (ushort)byte.MaxValue) { if ((int)num <= (int)(ushort)gmsPlayerWork.ring_num) { tcb_work.get_ring |= (ushort)(1U << (int)gate_id); } } else { break; } } } if ((int)getRing == (int)tcb_work.get_ring) { return; } AppMain.GmSoundPlaySE("Special7"); }
private static void gmSplStagePlayEndChk(AppMain.MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK work = (AppMain.GMS_SPL_STG_WORK)tcb.work; AppMain.GMS_PLAYER_WORK gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0]; AppMain.OBS_CAMERA obsCamera = AppMain.ObjCameraGet(0); if (AppMain.ObjObjectPauseCheck(0U) != 0U) { return; } AppMain.gmSplStageLightCtrl(work); work.flag &= 4294967294U; AppMain.gmSplStageNudgeCtrl(); AppMain.gmSplStageRingGateChk(work); if (((int)AppMain.g_gm_main_system.game_flag & 458752) == 0) { return; } AppMain.g_gm_main_system.game_flag &= 4294966271U; gmsPlayerWork.obj_work.flag |= 130U; gmsPlayerWork.obj_work.move_flag |= 8448U; gmsPlayerWork.obj_work.disp_flag &= 4294967294U; gmsPlayerWork.player_flag |= 4194304U; if (((int)AppMain.g_gm_main_system.game_flag & 393216) != 0) { AppMain.GMM_PAD_VIB_MID_TIME(90f); } work.roll = obsCamera.roll; work.roll_spd = 256; work.counter = 0U; AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmSplStageRolling)); }
// Token: 0x06000D86 RID: 3462 RVA: 0x0007653C File Offset: 0x0007473C private static void gmSplStageGotoEnd(MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = (AppMain.GMS_SPL_STG_WORK)tcb.work; if (gms_SPL_STG_WORK.counter != 0U) { gms_SPL_STG_WORK.counter -= 1U; return; } AppMain.g_gm_main_system.game_flag |= 4U; AppMain.mtTaskChangeTcbProcedure(tcb, AppMain.gmSplStageEnd); }
// Token: 0x06000D82 RID: 3458 RVA: 0x00076224 File Offset: 0x00074424 private static void gmSplStageFadeInWait(MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = (AppMain.GMS_SPL_STG_WORK)tcb.work; gms_SPL_STG_WORK.counter += 1U; if (gms_SPL_STG_WORK.counter > 30U) { gms_SPL_STG_WORK.counter = 0U; AppMain.mtTaskChangeTcbProcedure(tcb, AppMain.gmSplStageFadeInWait2); AppMain.IzFadeInitEasy(0U, 2U, 30f); } }
private static void gmSplStageFadeInWait(AppMain.MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK work = (AppMain.GMS_SPL_STG_WORK)tcb.work; ++work.counter; if (work.counter <= 30U) { return; } work.counter = 0U; AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmSplStageFadeInWait2)); AppMain.IzFadeInitEasy(0U, 2U, 30f); }
private static void gmSplStageLightCtrl(AppMain.GMS_SPL_STG_WORK tcb_work) { AppMain.NNS_RGBA col = new AppMain.NNS_RGBA(1f, 1f, 1f, 1f); new AppMain.NNS_VECTOR(); AppMain.UNREFERENCED_PARAMETER((object)tcb_work); AppMain.NNS_VECTOR nnsVector1 = AppMain.gmSplStageLightRot(-1f, -1f, -1f); AppMain.nnNormalizeVector(nnsVector1, nnsVector1); AppMain.ObjDrawSetParallelLight(AppMain.NNE_LIGHT_0, ref col, 1f, nnsVector1); AppMain.NNS_VECTOR nnsVector2 = AppMain.gmSplStageLightRot(-0.4f, -0.4f, -1f); AppMain.nnNormalizeVector(nnsVector2, nnsVector2); AppMain.ObjDrawSetParallelLight(AppMain.NNE_LIGHT_1, ref col, 1f, nnsVector2); }
// Token: 0x06000D88 RID: 3464 RVA: 0x00076598 File Offset: 0x00074798 private static void gmSplStageLightCtrl(AppMain.GMS_SPL_STG_WORK tcb_work) { NNS_RGBA nns_RGBA = new NNS_RGBA(1f, 1f, 1f, 1f); NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc(); AppMain.UNREFERENCED_PARAMETER(tcb_work); nns_VECTOR = AppMain.gmSplStageLightRot(-1f, -1f, -1f); AppMain.nnNormalizeVector(nns_VECTOR, nns_VECTOR); AppMain.ObjDrawSetParallelLight(AppMain.NNE_LIGHT_0, ref nns_RGBA, 1f, nns_VECTOR); nns_VECTOR = AppMain.gmSplStageLightRot(-0.4f, -0.4f, -1f); AppMain.nnNormalizeVector(nns_VECTOR, nns_VECTOR); AppMain.ObjDrawSetParallelLight(AppMain.NNE_LIGHT_1, ref nns_RGBA, 1f, nns_VECTOR); }
private static void gmSplStageGotoEnd(AppMain.MTS_TASK_TCB tcb) { AppMain.GMS_SPL_STG_WORK work = (AppMain.GMS_SPL_STG_WORK)tcb.work; if (work.counter != 0U) { --work.counter; } else { AppMain.g_gm_main_system.game_flag |= 4U; AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmSplStageEnd)); } }
// Token: 0x06000D7B RID: 3451 RVA: 0x00076010 File Offset: 0x00074210 private static void GmSplStageStart() { ushort num = (ushort)(g_gs_main_sys_info.stage_id - 21); AppMain.gm_spl_tcb = AppMain.MTM_TASK_MAKE_TCB(AppMain.gmSplStageFadeInWait, null, 0U, 0, 4176U, 5, () => new AppMain.GMS_SPL_STG_WORK(), "SPL_STG_CTRL"); AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = (AppMain.GMS_SPL_STG_WORK)AppMain.gm_spl_tcb.work; gms_SPL_STG_WORK.counter = 0U; gms_SPL_STG_WORK.light_vec.x = -1f; gms_SPL_STG_WORK.light_vec.y = -1f; gms_SPL_STG_WORK.light_vec.z = -1f; gms_SPL_STG_WORK.get_ring = 0; AppMain.g_gm_main_system.game_flag &= 4294508543U; AppMain.IzFadeInitEasy(1U, 3U, 8f); AppMain.g_gm_main_system.game_time = AppMain.gm_spl_stage_init_time[( int )num]; AppMain.g_gm_main_system.game_flag |= 4096U; Array.Clear(AppMain.gm_gmk_ss_switch, 0, AppMain.gm_gmk_ss_switch.Length); }
private static void GmSplStageStart() { ushort num = (ushort)((uint)AppMain.g_gs_main_sys_info.stage_id - 21U); AppMain.gm_spl_tcb = AppMain.MTM_TASK_MAKE_TCB(new AppMain.GSF_TASK_PROCEDURE(AppMain.gmSplStageFadeInWait), (AppMain.GSF_TASK_PROCEDURE)null, 0U, (ushort)0, 4176U, 5, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_SPL_STG_WORK()), "SPL_STG_CTRL"); AppMain.GMS_SPL_STG_WORK work = (AppMain.GMS_SPL_STG_WORK)AppMain.gm_spl_tcb.work; work.counter = 0U; work.light_vec.x = -1f; work.light_vec.y = -1f; work.light_vec.z = -1f; work.get_ring = (ushort)0; AppMain.g_gm_main_system.game_flag &= 4294508543U; AppMain.IzFadeInitEasy(1U, 3U, 8f); AppMain.g_gm_main_system.game_time = AppMain.gm_spl_stage_init_time[(int)num]; AppMain.g_gm_main_system.game_flag |= 4096U; Array.Clear((Array)AppMain.gm_gmk_ss_switch, 0, AppMain.gm_gmk_ss_switch.Length); }
private static void GmGmkSsSquareBounce(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.OBS_COLLISION_OBJ objCol = obj_work.col_work.obj_col; AppMain.GMS_PLAYER_WORK ply_work = AppMain.g_gm_main_system.ply_work[0]; AppMain.GMS_SPL_STG_WORK work = AppMain.GmSplStageGetWork(); if (objCol.toucher_obj == ply_work.obj_work) { if (ply_work.nudge_timer != (short)0 && ((int)work.flag & 2) == 0) { AppMain.GmPlySeqInitPinballAir(ply_work, 0, -17408, 5, false); work.flag |= 1U; work.flag |= 2U; } else if (((int)obj_work.user_flag & int.MinValue) == 0 && ((int)work.flag & 1) == 0 && (AppMain.MTM_MATH_ABS(ply_work.obj_work.spd.x) > 4096 || AppMain.MTM_MATH_ABS(ply_work.obj_work.spd.y) > 4096)) { AppMain.OBS_OBJECT_WORK objWork = ply_work.obj_work; AppMain.VecFx32 vecFx32 = AppMain.gmGmkSsSquareNormalizeVectorXY(new AppMain.VecFx32() { x = objWork.prev_pos.x - obj_work.pos.x, y = objWork.prev_pos.y - obj_work.pos.y, z = 0 }); objWork.dir.z = (ushort)0; int num1 = AppMain.MTM_MATH_ABS(objWork.spd.x); int num2 = AppMain.MTM_MATH_ABS(objWork.spd.y); int v2 = AppMain.FX_Sqrt(AppMain.FX_Mul(num1, num1) + AppMain.FX_Mul(num2, num2)) / 2; int spd_x = AppMain.FX_Mul(vecFx32.x, v2); int spd_y = AppMain.FX_Mul(vecFx32.y, v2); AppMain.GmPlySeqInitPinballAir(ply_work, spd_x, spd_y, 5, false); work.flag |= 1U; } obj_work.user_flag |= 2147483648U; } else { obj_work.user_flag &= (uint)int.MaxValue; } }
// Token: 0x06000DCC RID: 3532 RVA: 0x00079B4C File Offset: 0x00077D4C private static void GmGmkSsSquareBounce(OBS_OBJECT_WORK obj_work) { AppMain.OBS_COLLISION_OBJ obj_col = obj_work.col_work.obj_col; GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; AppMain.GMS_SPL_STG_WORK gms_SPL_STG_WORK = AppMain.GmSplStageGetWork(); if (obj_col.toucher_obj == gms_PLAYER_WORK.obj_work) { if (gms_PLAYER_WORK.nudge_timer != 0 && (gms_SPL_STG_WORK.flag & 2U) == 0U) { AppMain.GmPlySeqInitPinballAir(gms_PLAYER_WORK, 0, -17408, 5, false); gms_SPL_STG_WORK.flag |= 1U; gms_SPL_STG_WORK.flag |= 2U; } else if ((obj_work.user_flag & 2147483648U) == 0U && (gms_SPL_STG_WORK.flag & 1U) == 0U && (AppMain.MTM_MATH_ABS(gms_PLAYER_WORK.obj_work.spd.x) > 4096 || AppMain.MTM_MATH_ABS(gms_PLAYER_WORK.obj_work.spd.y) > 4096)) { OBS_OBJECT_WORK obj_work2 = gms_PLAYER_WORK.obj_work; AppMain.VecFx32 vecFx = AppMain.gmGmkSsSquareNormalizeVectorXY(new AppMain.VecFx32 { x = obj_work2.prev_pos.x - obj_work.pos.x, y = obj_work2.prev_pos.y - obj_work.pos.y, z = 0 }); obj_work2.dir.z = 0; int num = AppMain.MTM_MATH_ABS(obj_work2.spd.x); int num2 = AppMain.MTM_MATH_ABS(obj_work2.spd.y); int num3 = AppMain.FX_Sqrt(AppMain.FX_Mul(num, num) + AppMain.FX_Mul(num2, num2)); num3 /= 2; num = AppMain.FX_Mul(vecFx.x, num3); num2 = AppMain.FX_Mul(vecFx.y, num3); AppMain.GmPlySeqInitPinballAir(gms_PLAYER_WORK, num, num2, 5, false); gms_SPL_STG_WORK.flag |= 1U; } obj_work.user_flag |= 2147483648U; return; } obj_work.user_flag &= 2147483647U; }