private static void gmFixTimerSSPartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { AppMain.GMS_FIX_PART_WORK partTimer1 = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_timer; AppMain.GMS_FIX_PART_TIMER partTimer2 = mgr_work.part_timer; AppMain.gmFixRegisterPart(mgr_work, partTimer1, 2); partTimer1.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcUpdateMain); partTimer1.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcDispMain); partTimer2.flag |= 1U; for (int index1 = 0; index1 < 8; ++index1) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_TIMER_SS"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; int index2; int index3; if (index1 == 0) { index2 = 2; index3 = 2; } else { index2 = 1; index3 = 1; } work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc); AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][index2], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[index3]), (uint)AppMain.gm_fix_timer_ss_act_id_tbl[AppMain.GsEnvGetLanguage()][index1], 0); AppMain.gmFixSetFrameStatic(work, 0.0f); ((AppMain.GMS_FIX_PART_TIMER)partTimer1).sub_parts[index1] = (AppMain.GMS_COCKPIT_2D_WORK)work; } }
private static bool gmFixTimerPartIsTimeRunningOut(AppMain.GMS_FIX_MGR_WORK mgr_work) { ushort min = 0; ushort sec = 0; AppMain.AkUtilFrame60ToTime(AppMain.gmFixGetGameTime(), ref min, ref sec); return(((int)mgr_work.flag & 4) != 0 ? min <= (ushort)0 && sec < (ushort)20 : min >= (ushort)9 && (uint)sec + 20U >= 60U); }
public void Clear() { this.parent_mgr = (AppMain.GMS_FIX_MGR_WORK)null; this.part_type = 0; this.flag = 0U; this.blink_timer = this.blink_on_time = this.blink_off_time = 0U; this.proc_update = this.proc_disp = (AppMain.MPP_VOID_GMS_FIX_PART_WORK)null; }
private static bool gmFixProcessRequest(AppMain.GMS_FIX_MGR_WORK mgr_work, uint req_flag_bit) { if (((int)mgr_work.req_flag & (int)req_flag_bit) == 0) { return(false); } mgr_work.req_flag &= ~req_flag_bit; return(true); }
private static void gmFixRegisterPart( AppMain.GMS_FIX_MGR_WORK mgr_work, AppMain.GMS_FIX_PART_WORK part_work, int part_type) { mgr_work.part_work[part_type] = part_work; part_work.part_type = part_type; part_work.parent_mgr = mgr_work; part_work.flag |= 1U; }
private static void gmFixUnregisterPart(AppMain.GMS_FIX_PART_WORK part_work) { AppMain.GMS_FIX_MGR_WORK parentMgr = part_work.parent_mgr; if (parentMgr != null) { parentMgr.part_work[part_work.part_type] = (AppMain.GMS_FIX_PART_WORK)null; } part_work.part_type = -1; part_work.parent_mgr = (AppMain.GMS_FIX_MGR_WORK)null; part_work.flag &= 4294967294U; }
private static bool GmFixIsDisp() { if (AppMain.gm_fix_tcb != null) { AppMain.GMS_FIX_MGR_WORK work = (AppMain.GMS_FIX_MGR_WORK)AppMain.gm_fix_tcb.work; if (work != null && ((int)work.flag & 2) == 0) { return(true); } } return(false); }
private static void GmFixRequestTimerFlash() { if (AppMain.gm_fix_tcb == null) { return; } AppMain.GMS_FIX_MGR_WORK work = (AppMain.GMS_FIX_MGR_WORK)AppMain.gm_fix_tcb.work; if (work == null) { return; } work.req_flag |= 1U; }
private static void gmFixProcMain(AppMain.MTS_TASK_TCB tcb) { AppMain.GMS_FIX_MGR_WORK work = (AppMain.GMS_FIX_MGR_WORK)tcb.work; if (work.proc_update != null) { AppMain.mppAssertNotImpl(); } for (int index = 0; index < 5; ++index) { if (work.part_work[index] != null) { AppMain.gmFixUpdatePart(work.part_work[index]); } } }
private static void gmFixChallengePartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { AppMain.GMS_FIX_PART_WORK partChallenge = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_challenge; AppMain.gmFixRegisterPart(mgr_work, partChallenge, 3); partChallenge.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixChallengePartProcUpdateMain); partChallenge.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixChallengePartProcDispMain); for (int index = 0; index < 5; ++index) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_CHALLENGE"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc); AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.gm_fix_challenge_act_id_tbl[AppMain.gmFixGetPlan()][index], 0); AppMain.gmFixSetFrameStatic(work, 0.0f); ((AppMain.GMS_FIX_PART_CHALLENGE)partChallenge).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)work; } }
private static void gmFixRingCountPartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { AppMain.GMS_FIX_PART_WORK partRingcount = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_ringcount; AppMain.gmFixRegisterPart(mgr_work, partRingcount, 0); partRingcount.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixRingCountPartProcUpdateMain); partRingcount.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixRingCountPartProcDispMain); for (int index = 0; index < 4; ++index) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_RING"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc); AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.gm_fix_ringcount_act_id_tbl[index], 0); AppMain.gmFixSetFrameStatic(work, 0.0f); if (index != 0) { work.pos.y += AppMain.FX_F32_TO_FX32(5f); } ((AppMain.GMS_FIX_PART_RINGCOUNT)partRingcount).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)work; } }
private static void gmFixScorePartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { int num = 0; AppMain.GMS_FIX_PART_WORK partScore = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_score; AppMain.gmFixRegisterPart(mgr_work, partScore, 1); partScore.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixScorePartProcUpdateMain); partScore.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixScorePartProcDispMain); if (AppMain.gmFixIsStage22()) { AppMain.act_id_tblgmFixScorePartInit = AppMain.gm_fix_score_stage22_act_id_tbl[AppMain.gmFixGetPlan()]; } else { AppMain.act_id_tblgmFixScorePartInit = AppMain.gm_fix_score_act_id_tbl; num = 0; } for (int index = 0; index < 10; ++index) { if (AppMain.act_id_tblgmFixScorePartInit[index] < 0) { ((AppMain.GMS_FIX_PART_SCORE)partScore).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)null; } else { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_SCORE"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc); AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.act_id_tblgmFixScorePartInit[index], 0); AppMain.gmFixSetFrameStatic(work, 0.0f); work.pos.x += num; if (index != 0) { work.pos.y += AppMain.FX_F32_TO_FX32(2f); } ((AppMain.GMS_FIX_PART_SCORE)partScore).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)work; } } }
private static void GmFixSetDispEx( bool enable, bool enable_ss, bool enable_pause, bool enable_action, bool enable_move) { if (AppMain.gm_fix_tcb == null) { return; } AppMain.GMS_FIX_MGR_WORK work = (AppMain.GMS_FIX_MGR_WORK)AppMain.gm_fix_tcb.work; if (work == null) { return; } int num1 = (enable ? 2 : 0) | (enable_ss ? 512 : 0) | (enable_pause ? 1024 : 0) | (enable_action ? 2048 : 0) | (enable_move ? 4096 : 0); int num2 = (enable ? 0 : 2) | (enable_ss ? 0 : 512) | (enable_pause ? 0 : 1024) | (enable_action ? 0 : 2048) | (enable_move ? 0 : 4096); work.flag &= (uint)~num1; work.flag |= (uint)num2; }
private static void gmFixTimerPartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { AppMain.GMS_FIX_PART_WORK partTimer1 = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_timer; AppMain.GMS_FIX_PART_TIMER partTimer2 = mgr_work.part_timer; AppMain.gmFixRegisterPart(mgr_work, partTimer1, 2); partTimer1.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcUpdateMain); partTimer1.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixTimerPartProcDispMain); if (AppMain.gmFixIsTimeAttack()) { AppMain.act_id_tblgmFixTimerPartInit = AppMain.gm_fix_timer_timeattack_act_id_tbl; partTimer2.flag |= 1U; } else { AppMain.act_id_tblgmFixTimerPartInit = AppMain.gm_fix_timer_act_id_tbl; } for (int index = 0; index < 8; ++index) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_TIMER"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixSubpartOutFunc); AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.act_id_tblgmFixTimerPartInit[index], 0); AppMain.gmFixSetFrameStatic(work, 0.0f); if (AppMain.gmFixIsTimeAttack()) { work.pos.x += AppMain.FX_F32_TO_FX32(-98f); if (index != 0) { work.pos.y += AppMain.FX_F32_TO_FX32(5f); } } else if (index != 0) { work.pos.y += AppMain.FX_F32_TO_FX32(5f); } ((AppMain.GMS_FIX_PART_TIMER)partTimer1).sub_parts[index] = (AppMain.GMS_COCKPIT_2D_WORK)work; } }
private static void GmFixInit() { AppMain.gm_fix_tcb = AppMain.MTM_TASK_MAKE_TCB(new AppMain.GSF_TASK_PROCEDURE(AppMain.gmFixProcMain), new AppMain.GSF_TASK_PROCEDURE(AppMain.gmFixDest), 0U, (ushort)0, 18432U, 5, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_FIX_MGR_WORK()), "GM_FIX_MGR"); AppMain.GMS_FIX_MGR_WORK work = (AppMain.GMS_FIX_MGR_WORK)AppMain.gm_fix_tcb.work; work.Clear(); AppMain.GMF_FIX_PART_INIT_FUNC[] gmfFixPartInitFuncArray; if (AppMain.gmFixIsSpecialStage()) { gmfFixPartInitFuncArray = AppMain.gm_fix_ss_part_init_func_tbl; work.flag |= 4U; } else { gmfFixPartInitFuncArray = !AppMain.gmFixIsTimeAttack() ? AppMain.gm_fix_part_init_func_tbl : (!AppMain.gmFixIsStage22() ? AppMain.gm_fix_ta_part_init_func_tbl : AppMain.gm_fix_ta_s22_part_init_func_tbl); } for (int index = 0; index < 5; ++index) { if (gmfFixPartInitFuncArray[index] != null) { gmfFixPartInitFuncArray[index](work); } } work.proc_update = (AppMain.MPP_VOID_GMS_FIX_PART_WORK)null; }
private static void gmFixVirtualPadPartInit(AppMain.GMS_FIX_MGR_WORK mgr_work) { CPadVirtualPad cpadVirtualPad = CPadVirtualPad.CreateInstance(); if (!cpadVirtualPad.IsValid()) { return; } AppMain.MPP_VOID_OBS_OBJECT_WORK[] voidObsObjectWorkArray = new AppMain.MPP_VOID_OBS_OBJECT_WORK[4] { new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixVirtualPadOutClassGMD_FIX_MGR_FLAG_HIDE_VIRTUAL_PAD_PART_SUPER_SONIC.OutFunc), new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixVirtualPadOutClassGMD_FIX_MGR_FLAG_HIDE_VIRTUAL_PAD_PART_PAUSE.OutFunc), new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixVirtualPadOutClassGMD_FIX_MGR_FLAG_HIDE_VIRTUAL_PAD_PART_ACTION.OutFunc), new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmFixVirtualPadOutClassGMD_FIX_MGR_FLAG_HIDE_VIRTUAL_PAD_PART_MOVE_PAD.OutFunc) }; AppMain.GMS_FIX_PART_WORK partVirtualPad = (AppMain.GMS_FIX_PART_WORK)mgr_work.part_virtual_pad; AppMain.gmFixRegisterPart(mgr_work, partVirtualPad, 4); partVirtualPad.proc_update = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixVirtualPadPartProcUpdateMain); partVirtualPad.proc_disp = new AppMain.MPP_VOID_GMS_FIX_PART_WORK(AppMain.gmFixVirtualPadPartProcDispMain); int index1 = 0; for (int index2 = 4; index1 < index2; ++index1) { if (AppMain.gm_fix_virtual_pad_act_id_tbl[AppMain.gmFixGetPlan()][index1] < 0) { ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).sub_parts[index1] = (AppMain.GMS_COCKPIT_2D_WORK)null; } else { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_COCKPIT_CREATE_WORK((AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_COCKPIT_2D_WORK()), (AppMain.OBS_OBJECT_WORK)null, (ushort)0, "FIX_VIRTUAL_PAD"); AppMain.GMS_COCKPIT_2D_WORK gmsCockpit2DWork = (AppMain.GMS_COCKPIT_2D_WORK)work; work.ppOut = voidObsObjectWorkArray[index1]; AppMain.ObjObjectAction2dAMALoadSetTexlist(work, gmsCockpit2DWork.obj_2d, (AppMain.OBS_DATA_WORK)null, (string)null, AppMain.gm_fix_ama_amb_idx_tbl[AppMain.GsEnvGetLanguage()][0], AppMain.GmGameDatGetCockpitData(), AppMain.AoTexGetTexList(AppMain.gm_fix_textures[0]), (uint)AppMain.gm_fix_virtual_pad_act_id_tbl[AppMain.gmFixGetPlan()][index1], 0); AppMain.amFlagOff(ref work.disp_flag, 32U); AppMain.gmFixSetFrameStatic(work, 0.0f); if (1 == index1) { if (AppMain.gmFixIsSpecialStage()) { work.pos.x += AppMain.FX_F32_TO_FX32(400f); } else if (AppMain.gmFixIsTimeAttack()) { work.pos.x += AppMain.FX_F32_TO_FX32(200f); } } ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).sub_parts[index1] = (AppMain.GMS_COCKPIT_2D_WORK)work; } } switch (AppMain.GsEnvGetLanguage()) { case 3: case 5: ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).pause_icon_frame[0] = 2f; ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).pause_icon_frame[1] = 3f; break; default: ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).pause_icon_frame[0] = 0.0f; ((AppMain.GMS_FIX_PART_VIRTUAL_PAD)partVirtualPad).pause_icon_frame[1] = 1f; break; } AppMain.amFlagOff(ref partVirtualPad.flag, 2U); }