コード例 #1
0
 // Token: 0x0600028E RID: 654 RVA: 0x00015560 File Offset: 0x00013760
 public static void gmEneHaroExit(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.OBS_OBJECT_WORK   p = AppMain.mtTaskGetTcbWork(tcb);
     AppMain.GMS_ENE_HARO_WORK gms_ENE_HARO_WORK = (AppMain.GMS_ENE_HARO_WORK)p;
     AppMain.GmEneUtilExitNodeMatrix(gms_ENE_HARO_WORK.node_work);
     AppMain.GmEnemyDefaultExit(tcb);
 }
コード例 #2
0
ファイル: GmBoss4Chibi.cs プロジェクト: uwx/Sonic4Episode1
 private static void gmBoss4ChibiExit(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.GMS_BOSS4_CHIBI_WORK tcbWork = (AppMain.GMS_BOSS4_CHIBI_WORK)AppMain.mtTaskGetTcbWork(tcb);
     AppMain.GmBoss4DecObjCreateCount();
     AppMain.GmBoss4UtilExitNodeMatrix(tcbWork.node_work);
     AppMain.GmEnemyDefaultExit(tcb);
 }
コード例 #3
0
 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));
 }
コード例 #4
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;
 }
コード例 #5
0
ファイル: GmMain.cs プロジェクト: uwx/Sonic4Episode1
 private static void gmMainDataFlushExitFinalClearObjWait(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain._bossFinishThread = true;
     if (!AppMain.ObjObjectCheckClearAllObject())
     {
         return;
     }
     AppMain.GsSoundReset();
     AppMain.GSF_TASK_PROCEDURE proc;
     if (AppMain.GmMainDatLoadBossBattleLoadCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalWait);
         AppMain.GmGameDatLoadBossBattleExit();
         AppMain.GmGameDatReleaseBossBattleStart(AppMain.g_gm_main_system.boss_load_no);
     }
     else if (AppMain.GmMainDatLoadBossBattleLoadNowCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalLoadWait);
     }
     else if (AppMain.GmMainDatReleaseBossBattleReleaseNowCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitFinalWait);
         AppMain.GmGameDatLoadBossBattleExit();
     }
     else
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainDataFlushExitWait);
         AppMain.GmGameDatReleaseBossBattleExit();
     }
     AppMain.mtTaskChangeTcbProcedure(tcb, proc);
 }
コード例 #6
0
ファイル: GmMain.cs プロジェクト: uwx/Sonic4Episode1
 private static void gmMainObjectReleaseFinalClearObjWait(AppMain.MTS_TASK_TCB tcb)
 {
     if (!AppMain.ObjObjectCheckClearAllObject())
     {
         return;
     }
     AppMain.GSF_TASK_PROCEDURE proc;
     if (AppMain.GmMainDatLoadBossBattleLoadCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalWait);
         AppMain.GmGameDatLoadBossBattleExit();
         AppMain.GmGameDatReleaseBossBattleStart(AppMain.g_gm_main_system.boss_load_no);
     }
     else if (AppMain.GmMainDatLoadBossBattleLoadNowCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalLoadWait);
     }
     else if (AppMain.GmMainDatReleaseBossBattleReleaseNowCheck())
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseFinalWait);
         AppMain.GmGameDatLoadBossBattleExit();
     }
     else
     {
         proc = new AppMain.GSF_TASK_PROCEDURE(AppMain.gmMainObjectReleaseWait);
         AppMain.GmGameDatReleaseBossBattleExit();
         AppMain.g_obj.flag |= 1073741824U;
         AppMain.ObjExit();
     }
     AppMain.mtTaskChangeTcbProcedure(tcb, proc);
 }
コード例 #7
0
    // Token: 0x060018CB RID: 6347 RVA: 0x000E22AC File Offset: 0x000E04AC
    private void dmTitleOpDataFlushMain(AppMain.MTS_TASK_TCB tcb)
    {
        bool flag = true;

        AppMain.AOS_TEXTURE[] array = AppMain.dm_titleop_aos_tex;
        for (int i = 0; i < 1; i++)
        {
            if (!AppMain.AoTexIsReleased(array[i]))
            {
                flag = false;
            }
        }
        if (!AppMain.GmGameDBuildCheckFlushModel())
        {
            flag = false;
        }
        if (!flag)
        {
            return;
        }
        for (int j = 0; j < AppMain.dm_titleop_aos_tex.Length; j++)
        {
            AppMain.dm_titleop_aos_tex[j] = null;
        }
        AppMain.dm_titleop_aos_tex        = null;
        this.dm_titleop_obj_3d_list       = null;
        this.dm_titleop_water_obj_3d_list = null;
        AppMain.mtTaskClearTcb(tcb);
        AppMain.dm_titleop_build_state = false;
    }
コード例 #8
0
 // Token: 0x060018CF RID: 6351 RVA: 0x000E23EC File Offset: 0x000E05EC
 private void dmTitleOpMgrMain(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.DMS_TITLEOP_MGR_WORK dms_TITLEOP_MGR_WORK = (AppMain.DMS_TITLEOP_MGR_WORK)tcb.work;
     if ((dms_TITLEOP_MGR_WORK.flag & 536870912U) != 0U)
     {
         this.dmTitleOpEndStart(tcb);
         return;
     }
     dms_TITLEOP_MGR_WORK.frame++;
     if (dms_TITLEOP_MGR_WORK.frame == 30)
     {
         dms_TITLEOP_MGR_WORK.flag |= 111U;
     }
     if (dms_TITLEOP_MGR_WORK.frame == 75)
     {
         dms_TITLEOP_MGR_WORK.flag |= 16U;
     }
     else if (dms_TITLEOP_MGR_WORK.frame >= 105)
     {
         dms_TITLEOP_MGR_WORK.flag |= 1073741824U;
     }
     if ((dms_TITLEOP_MGR_WORK.flag & 268435456U) != 0U)
     {
         AppMain.dm_titleop_scrl_x_ofst += -128;
         int num = AppMain.dm_titleop_scrl_x_ofst / 3145728;
         AppMain.dm_titleop_scrl_x_ofst -= num * 3145728;
     }
     AppMain.ObjDraw3DNNUserFunc(AppMain._dmTitleOpPreDrawDT, null, 0, 0U);
     AppMain.ObjDraw3DNNUserFunc(AppMain._dmTitleOpFallShaderPreRenderUserFunc, null, 0, 2U);
     AppMain.amDrawSetFog(0U, 1);
     AppMain.amDrawSetFogColor(0U, 0.7f, 0.95f, 1f);
     AppMain.amDrawSetFogRange(0U, 1f, 500f);
     AppMain.amDrawSetFog(4U, 0);
 }
コード例 #9
0
 // Token: 0x06000986 RID: 2438 RVA: 0x00055BE8 File Offset: 0x00053DE8
 private static void dmSaveProcMain(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.DMS_SAVE_MAIN_WORK dms_SAVE_MAIN_WORK = (AppMain.DMS_SAVE_MAIN_WORK)tcb.work;
     if ((dms_SAVE_MAIN_WORK.flag & 1U) != 0U)
     {
         AppMain.mtTaskClearTcb(tcb);
         AppMain.dm_save_disp_flag     = 0U;
         AppMain.dm_save_is_draw_state = 0U;
         AppMain.dm_save_win_mode      = 0;
         AppMain.dm_save_is_task_draw  = false;
         for (int i = 0; i < 2; i++)
         {
             AppMain.dm_save_win_size_rate[i] = 0f;
         }
         AppMain.dm_save_mgr_p = null;
     }
     if ((dms_SAVE_MAIN_WORK.flag & 2147483648U) != 0U && !AppMain.AoAccountIsCurrentEnable())
     {
         dms_SAVE_MAIN_WORK.proc_menu_update = new AppMain._saveproc_input_update(AppMain.dmSaveProcStopDraw);
         dms_SAVE_MAIN_WORK.proc_input       = null;
         dms_SAVE_MAIN_WORK.proc_draw        = null;
         AppMain.dm_save_draw_reserve        = false;
         dms_SAVE_MAIN_WORK.flag            &= 2147483647U;
         return;
     }
     if (dms_SAVE_MAIN_WORK.proc_menu_update != null)
     {
         dms_SAVE_MAIN_WORK.proc_menu_update(dms_SAVE_MAIN_WORK);
     }
     if (dms_SAVE_MAIN_WORK.proc_draw != null && !AppMain.AoSysMsgIsShow())
     {
         dms_SAVE_MAIN_WORK.proc_draw();
     }
 }
コード例 #10
0
    public static void gmStartMsgMain(AppMain.MTS_TASK_TCB tcb)
    {
        int language = AppMain.GsEnvGetLanguage();

        AppMain.GMS_SMSG_MGR_WORK work = (AppMain.GMS_SMSG_MGR_WORK)tcb.work;
        if (work.func != null)
        {
            work.func(work);
        }
        if (((int)work.flag & (int)AppMain.GMD_SMSG_FLAG_END) != 0)
        {
            AppMain.GmStartMsgExit();
            AppMain.GmPlySeqChangeFw(AppMain.g_gm_main_system.ply_work[0]);
            AppMain.g_gm_main_system.ply_work[0].no_key_timer = 32768;
            AppMain.ObjObjectPauseOut();
            AppMain.g_gm_main_system.game_flag |= 3072U;
        }
        else
        {
            if (((int)work.flag & (int)AppMain.GMD_SMSG_FLAG_WIN_DISP) == 0)
            {
                return;
            }
            AppMain.ObjDraw3DNNUserFunc(new AppMain.OBF_DRAW_USER_DT_FUNC(AppMain.gmStartMsgDrawWindowPre_DT), (object)null, 0, 13U);
            AppMain.AoWinSysDrawState(0, AppMain.AoTexGetTexList(AppMain.gm_start_msg_aos_tex[1]), 0U, AppMain.gm_start_msg_win_size_tbl[work.msg_type][language][0], AppMain.gm_start_msg_win_size_tbl[work.msg_type][language][1], (AppMain.gm_start_msg_win_size_tbl[work.msg_type][language][2] - 32f) * work.win_per, (float)(((double)AppMain.gm_start_msg_win_size_tbl[work.msg_type][language][3] - 32.0) * (double)work.win_per * 0.899999976158142 - 16.0), 13U);
        }
    }
コード例 #11
0
 internal void Clear()
 {
     this.tcb_pre_draw  = (AppMain.MTS_TASK_TCB)null;
     this.tcb_draw      = (AppMain.MTS_TASK_TCB)null;
     this.tcb_post_draw = (AppMain.MTS_TASK_TCB)null;
     this.camera.Clear();
 }
コード例 #12
0
 // Token: 0x060016D7 RID: 5847 RVA: 0x000C741C File Offset: 0x000C561C
 public static AppMain.MTS_TASK_TCB mtTaskMake(AppMain.GSF_TASK_PROCEDURE proc, AppMain.GSF_TASK_PROCEDURE dest, uint flag, ushort pause_level, uint prio, int group, AppMain.TaskWorkFactoryDelegate work_size, string name)
 {
     if ((flag & 2147483648U) == 0U && group >= 15)
     {
         group = 14;
     }
     AppMain.AMS_TCB ams_TCB = AppMain.amTaskMake(AppMain._mtTaskProcedure, AppMain._mtTaskDestructor, prio, 1U << group, 2U, name);
     ams_TCB.work = new AppMain.MTS_TASK_TCB();
     AppMain.MTS_TASK_TCB mts_TASK_TCB = (AppMain.MTS_TASK_TCB)AppMain.amTaskGetWork(ams_TCB);
     mts_TASK_TCB.am_tcb      = ams_TCB;
     mts_TASK_TCB.proc        = proc;
     mts_TASK_TCB.dest        = dest;
     mts_TASK_TCB.pause_level = pause_level;
     if ((flag & 1U) != 0U)
     {
         mts_TASK_TCB.pause_level = ushort.MaxValue;
     }
     mts_TASK_TCB.work = null;
     if (work_size != null)
     {
         mts_TASK_TCB.work = work_size();
     }
     AppMain.amTaskStart(ams_TCB);
     return(mts_TASK_TCB);
 }
コード例 #13
0
    // Token: 0x060007C4 RID: 1988 RVA: 0x00044B9C File Offset: 0x00042D9C
    private void dmLogoSegaDataBuildMain(AppMain.MTS_TASK_TCB tcb)
    {
        bool flag = true;

        if (!AppMain.GmGameDBuildCheckBuildModel())
        {
            flag = false;
        }
        AppMain.ArrayPointer <AppMain.AOS_TEXTURE> pointer = AppMain.dm_logo_sega_aos_tex;
        int i = 0;

        while (i < 2)
        {
            if (!AppMain.AoTexIsLoaded(pointer))
            {
                flag = false;
            }
            i++;
            pointer = ++pointer;
        }
        for (i = 0; i < 2; i++)
        {
            if (AppMain.dm_logo_sega_efct_mdl_state[i] != -1 && !AppMain.amDrawIsRegistComplete(AppMain.dm_logo_sega_efct_mdl_state[i]))
            {
                flag = false;
                AppMain.dm_logo_sega_efct_mdl_state[i] = -1;
            }
        }
        if (!flag)
        {
            return;
        }
        AppMain.mtTaskClearTcb(tcb);
        AppMain.dm_logo_sega_build_state = true;
    }
コード例 #14
0
ファイル: GmSound.cs プロジェクト: uwx/Sonic4Episode1
 private static void gmSoundBGMFadeFunc(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.GMS_SOUND_BGM_FADE_MGR_WORK work = (AppMain.GMS_SOUND_BGM_FADE_MGR_WORK)tcb.work;
     AppMain.GMS_SOUND_BGM_FADE_WORK     next;
     for (AppMain.GMS_SOUND_BGM_FADE_WORK fade_work = work.head; fade_work != null; fade_work = next)
     {
         next = fade_work.next;
         fade_work.now_vol += fade_work.fade_spd;
         --fade_work.frame;
         if (fade_work.frame <= 0)
         {
             fade_work.now_vol = fade_work.end_vol;
         }
         AppMain.GsSoundScbSetVolume(fade_work.snd_scb, fade_work.now_vol);
         if (fade_work.frame <= 0 || AppMain.GsSoundIsBgmStop(fade_work.snd_scb))
         {
             if ((double)fade_work.now_vol > 0.0)
             {
                 AppMain.GsSoundScbSetSeqMute(fade_work.snd_scb, false);
             }
             else
             {
                 AppMain.GsSoundScbSetSeqMute(fade_work.snd_scb, true);
             }
             AppMain.gmSoundBGMFadeDetachList(work, fade_work);
         }
     }
     if (work.num > 0)
     {
         return;
     }
     AppMain.mtTaskClearTcb(tcb);
 }
コード例 #15
0
 // Token: 0x060017BA RID: 6074 RVA: 0x000D25F4 File Offset: 0x000D07F4
 private static void dmManualProcMain(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.DMS_MANUAL_MAIN_WORK dms_MANUAL_MAIN_WORK = (AppMain.DMS_MANUAL_MAIN_WORK)tcb.work;
     if ((dms_MANUAL_MAIN_WORK.flag & 1U) != 0U)
     {
         AppMain.DmManualExit();
     }
     if ((dms_MANUAL_MAIN_WORK.flag & 2147483648U) != 0U && !AppMain.AoAccountIsCurrentEnable())
     {
         dms_MANUAL_MAIN_WORK.proc_update = new AppMain.DMS_MANUAL_MAIN_WORK._proc_update_(AppMain.dmManualProcFadeOut);
         dms_MANUAL_MAIN_WORK.flag       &= 2147483647U;
         if (AppMain.dm_manual_is_pause_maingame)
         {
             AppMain.IzFadeInitEasyColor(0, 32767, 61439, 18U, 1U, 1U, 32f, true);
         }
         else
         {
             AppMain.IzFadeInitEasy(1U, 1U, 32f);
         }
         dms_MANUAL_MAIN_WORK.flag      &= 4294967291U;
         dms_MANUAL_MAIN_WORK.flag      &= 4294967293U;
         dms_MANUAL_MAIN_WORK.proc_input = null;
     }
     if (dms_MANUAL_MAIN_WORK.proc_update != null)
     {
         dms_MANUAL_MAIN_WORK.proc_update(dms_MANUAL_MAIN_WORK);
     }
     if (dms_MANUAL_MAIN_WORK.proc_draw != null)
     {
         dms_MANUAL_MAIN_WORK.proc_draw(dms_MANUAL_MAIN_WORK);
     }
 }
コード例 #16
0
ファイル: DmLogoSega.cs プロジェクト: uwx/Sonic4Episode1
    private void dmLogoSegaDataBuildMain(AppMain.MTS_TASK_TCB tcb)
    {
        bool flag = true;

        if (!AppMain.GmGameDBuildCheckBuildModel())
        {
            flag = false;
        }
        AppMain.ArrayPointer <AppMain.AOS_TEXTURE> dmLogoSegaAosTex = (AppMain.ArrayPointer <AppMain.AOS_TEXTURE>)AppMain.dm_logo_sega_aos_tex;
        int num = 0;

        while (num < 2)
        {
            if (!AppMain.AoTexIsLoaded((AppMain.AOS_TEXTURE)dmLogoSegaAosTex))
            {
                flag = false;
            }
            ++num;
            ++dmLogoSegaAosTex;
        }
        for (int index = 0; index < 2; ++index)
        {
            if (AppMain.dm_logo_sega_efct_mdl_state[index] != -1 && !AppMain.amDrawIsRegistComplete(AppMain.dm_logo_sega_efct_mdl_state[index]))
            {
                flag = false;
                AppMain.dm_logo_sega_efct_mdl_state[index] = -1;
            }
        }
        if (!flag)
        {
            return;
        }
        AppMain.mtTaskClearTcb(tcb);
        AppMain.dm_logo_sega_build_state = true;
    }
コード例 #17
0
 // Token: 0x06000042 RID: 66 RVA: 0x0000464C File Offset: 0x0000284C
 private static void gmPauseDest(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.GMS_PAUSE_WORK gms_PAUSE_WORK = (AppMain.GMS_PAUSE_WORK)tcb.work;
     AppMain.g_gm_main_system.game_flag |= (gms_PAUSE_WORK.time_count_flag_save & 3072U);
     AppMain.g_gm_main_system.game_flag &= 4294967231U;
     AppMain.gm_pause_tcb = null;
 }
コード例 #18
0
ファイル: DmManual.cs プロジェクト: uwx/Sonic4Episode1
 private static void dmManualProcMain(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.DMS_MANUAL_MAIN_WORK work = (AppMain.DMS_MANUAL_MAIN_WORK)tcb.work;
     if (((int)work.flag & 1) != 0)
     {
         AppMain.DmManualExit();
     }
     if (((int)work.flag & int.MinValue) != 0 && !AppMain.AoAccountIsCurrentEnable())
     {
         work.proc_update = new AppMain.DMS_MANUAL_MAIN_WORK._proc_update_(AppMain.dmManualProcFadeOut);
         work.flag       &= (uint)int.MaxValue;
         if (AppMain.dm_manual_is_pause_maingame)
         {
             AppMain.IzFadeInitEasyColor(0, (ushort)short.MaxValue, (ushort)61439, 18U, 1U, 1U, 32f, true);
         }
         else
         {
             AppMain.IzFadeInitEasy(1U, 1U, 32f);
         }
         work.flag      &= 4294967291U;
         work.flag      &= 4294967293U;
         work.proc_input = (AppMain.DMS_MANUAL_MAIN_WORK._proc_input_)null;
     }
     if (work.proc_update != null)
     {
         work.proc_update(work);
     }
     if (work.proc_draw == null)
     {
         return;
     }
     work.proc_draw(work);
 }
コード例 #19
0
ファイル: DmTitleOp.cs プロジェクト: uwx/Sonic4Episode1
 private void dmTitleOpEndStart(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.DMS_TITLEOP_MGR_WORK work = (AppMain.DMS_TITLEOP_MGR_WORK)tcb.work;
     this.dmTitleOpPreEnd(ref work);
     work.frame = 0;
     AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(this.dmTitleOpPreEndWait));
 }
コード例 #20
0
ファイル: MtTask.cs プロジェクト: uwx/Sonic4Episode1
 public static AppMain.MTS_TASK_TCB mtTaskMake(
     AppMain.GSF_TASK_PROCEDURE proc,
     AppMain.GSF_TASK_PROCEDURE dest,
     uint flag,
     ushort pause_level,
     uint prio,
     int group,
     AppMain.TaskWorkFactoryDelegate work_size,
     string name)
 {
     if (((int)flag & int.MinValue) == 0 && (uint)group >= 15U)
     {
         group = 14;
     }
     AppMain.AMS_TCB amsTcb = AppMain.amTaskMake(AppMain._mtTaskProcedure, AppMain._mtTaskDestructor, prio, (uint)(1 << group), 2U, name);
     amsTcb.work = (object)new AppMain.MTS_TASK_TCB();
     AppMain.MTS_TASK_TCB work = (AppMain.MTS_TASK_TCB)AppMain.amTaskGetWork(amsTcb);
     work.am_tcb      = amsTcb;
     work.proc        = proc;
     work.dest        = dest;
     work.pause_level = pause_level;
     if (((int)flag & 1) != 0)
     {
         work.pause_level = ushort.MaxValue;
     }
     work.work = (object)null;
     if (work_size != null)
     {
         work.work = work_size();
     }
     AppMain.amTaskStart(amsTcb);
     return(work);
 }
コード例 #21
0
ファイル: DmTitleOp.cs プロジェクト: uwx/Sonic4Episode1
    private void dmTitleOpDataFlushMain(AppMain.MTS_TASK_TCB tcb)
    {
        bool flag = true;

        AppMain.AOS_TEXTURE[] dmTitleopAosTex = AppMain.dm_titleop_aos_tex;
        for (int index = 0; index < 1; ++index)
        {
            if (!AppMain.AoTexIsReleased(dmTitleopAosTex[index]))
            {
                flag = false;
            }
        }
        if (!AppMain.GmGameDBuildCheckFlushModel())
        {
            flag = false;
        }
        if (!flag)
        {
            return;
        }
        for (int index = 0; index < AppMain.dm_titleop_aos_tex.Length; ++index)
        {
            AppMain.dm_titleop_aos_tex[index] = (AppMain.AOS_TEXTURE)null;
        }
        AppMain.dm_titleop_aos_tex        = (AppMain.AOS_TEXTURE[])null;
        this.dm_titleop_obj_3d_list       = (AppMain.OBS_ACTION3D_NN_WORK[])null;
        this.dm_titleop_water_obj_3d_list = (AppMain.OBS_ACTION3D_NN_WORK[])null;
        AppMain.mtTaskClearTcb(tcb);
        AppMain.dm_titleop_build_state = false;
    }
コード例 #22
0
 // Token: 0x0600084E RID: 2126 RVA: 0x00048915 File Offset: 0x00046B15
 private static void gmSoundBGMWinBossDest(AppMain.MTS_TASK_TCB tcb)
 {
     if (tcb == AppMain.gm_sound_bgm_win_boss_tcb)
     {
         AppMain.gm_sound_bgm_win_boss_tcb = null;
     }
 }
コード例 #23
0
 // Token: 0x06000849 RID: 2121 RVA: 0x0004862C File Offset: 0x0004682C
 private static void gmSoundBGMFadeFunc(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.GMS_SOUND_BGM_FADE_MGR_WORK gms_SOUND_BGM_FADE_MGR_WORK = (AppMain.GMS_SOUND_BGM_FADE_MGR_WORK)tcb.work;
     AppMain.GMS_SOUND_BGM_FADE_WORK     next;
     for (AppMain.GMS_SOUND_BGM_FADE_WORK gms_SOUND_BGM_FADE_WORK = gms_SOUND_BGM_FADE_MGR_WORK.head; gms_SOUND_BGM_FADE_WORK != null; gms_SOUND_BGM_FADE_WORK = next)
     {
         next = gms_SOUND_BGM_FADE_WORK.next;
         gms_SOUND_BGM_FADE_WORK.now_vol += gms_SOUND_BGM_FADE_WORK.fade_spd;
         gms_SOUND_BGM_FADE_WORK.frame--;
         if (gms_SOUND_BGM_FADE_WORK.frame <= 0)
         {
             gms_SOUND_BGM_FADE_WORK.now_vol = gms_SOUND_BGM_FADE_WORK.end_vol;
         }
         AppMain.GsSoundScbSetVolume(gms_SOUND_BGM_FADE_WORK.snd_scb, gms_SOUND_BGM_FADE_WORK.now_vol);
         if (gms_SOUND_BGM_FADE_WORK.frame <= 0 || AppMain.GsSoundIsBgmStop(gms_SOUND_BGM_FADE_WORK.snd_scb))
         {
             if (gms_SOUND_BGM_FADE_WORK.now_vol > 0f)
             {
                 AppMain.GsSoundScbSetSeqMute(gms_SOUND_BGM_FADE_WORK.snd_scb, false);
             }
             else
             {
                 AppMain.GsSoundScbSetSeqMute(gms_SOUND_BGM_FADE_WORK.snd_scb, true);
             }
             AppMain.gmSoundBGMFadeDetachList(gms_SOUND_BGM_FADE_MGR_WORK, gms_SOUND_BGM_FADE_WORK);
         }
     }
     if (gms_SOUND_BGM_FADE_MGR_WORK.num <= 0)
     {
         AppMain.mtTaskClearTcb(tcb);
     }
 }
コード例 #24
0
ファイル: SyEventSystem.cs プロジェクト: uwx/Sonic4Episode1
 private static void syEvtSys(AppMain.MTS_TASK_TCB tcb)
 {
     if (AppMain.sy_evt_info.flag != 1U)
     {
         return;
     }
     AppMain.SYS_EVT_DATA curEvtData1 = AppMain.sy_evt_info.cur_evt_data;
     if (curEvtData1.exit_func != null)
     {
         curEvtData1.exit_func();
     }
     if (curEvtData1.exit_sys_func != null)
     {
         curEvtData1.exit_sys_func();
     }
     AppMain.sy_evt_info.old_evt_id   = AppMain.sy_evt_info.cur_evt_id;
     AppMain.sy_evt_info.cur_evt_id   = AppMain.sy_evt_info.req_evt_id;
     AppMain.sy_evt_info.cur_evt_data = AppMain.sy_evt_info.evt_data[(int)AppMain.sy_evt_info.cur_evt_id];
     AppMain.SYS_EVT_DATA curEvtData2 = AppMain.sy_evt_info.cur_evt_data;
     AppMain.sy_evt_info.req_evt_id = (short)-1;
     if (!AppMain.SYM_CHECK_EVT_DATA_BRUNCH(curEvtData2))
     {
         AppMain.sy_evt_info.req_evt_id = curEvtData2.next_evt_id[0];
         AppMain.syDecideNextEvt();
     }
     AppMain.syEvtSysOvlCallBack();
 }
コード例 #25
0
ファイル: DmLogoSega.cs プロジェクト: uwx/Sonic4Episode1
    private void dmLogoSegaMainFunc(AppMain.MTS_TASK_TCB tcb)
    {
        AppMain.DMS_LOGO_SEGA_WORK work = (AppMain.DMS_LOGO_SEGA_WORK)tcb.work;
        work.h_se.snd_ctrl_param.volume = !AppMain.GsSystemBgmIsPlay() ? 1f : 0.0f;
        if (AppMain.AoSysIsShowPlatformUI())
        {
            if (AppMain.IzFadeIsExe())
            {
                AppMain.IzFadeSetStopUpdate1Frame((AppMain.IZS_FADE_WORK)null);
            }
        }
        else
        {
            if (work.func != null)
            {
                work.func(work);
            }
            if (((int)work.flag & 1) != 0)
            {
                this.dmLogoSegaPreEnd(work);
                AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(this.gmLogoSegaPreEndWaitFunc));
                work.timer = 0;
                return;
            }
        }
        float frame = 0.0f;

        if (!AppMain.AoSysIsShowPlatformUI() && ((int)work.flag & 2) != 0)
        {
            frame = 1f;
        }
        AppMain.AoActSysSetDrawTaskPrio();
        for (int index = 0; index < 8; ++index)
        {
            AppMain.AoActSetTexture(AppMain.AoTexGetTexList(AppMain.dm_logo_sega_aos_tex[(int)AppMain.dm_logo_sega_tex_id_tbl[index]]));
            AppMain.AoActUpdate(work.act[index], frame);
            AppMain.AoActDraw(work.act[index]);
        }
        AppMain.NNS_RGBA diffuse = new AppMain.NNS_RGBA(1f, 1f, 1f, 1f);
        AppMain.NNS_RGB  ambient = new AppMain.NNS_RGB(1f, 1f, 1f);
        if (!AppMain.AoSysIsShowPlatformUI())
        {
            AppMain.amTrailEFUpdate((ushort)1);
        }
        if (AppMain.g_obj.glb_camera_id != -1)
        {
            AppMain.SNNS_VECTOR disp_pos   = new AppMain.SNNS_VECTOR();
            AppMain.SNNS_VECTOR snnsVector = new AppMain.SNNS_VECTOR();
            AppMain.SNNS_MATRIX dst        = new AppMain.SNNS_MATRIX();
            AppMain.nnMakeUnitMatrix(ref dst);
            AppMain.ObjDraw3DNNSetCameraEx(AppMain.g_obj.glb_camera_id, AppMain.g_obj.glb_camera_type, 0U);
            AppMain.ObjCameraDispPosGet(AppMain.g_obj.glb_camera_id, out disp_pos);
            AppMain.amVectorSet(ref snnsVector, -dst.M03, -dst.M13, -dst.M23);
            AppMain.nnAddVector(ref disp_pos, ref snnsVector, ref disp_pos);
            AppMain.amEffectSetCameraPos(ref disp_pos);
        }
        AppMain.nnSetPrimitive3DMaterial(ref diffuse, ref ambient, 1f);
        AppMain.amTrailEFDraw((ushort)1, AppMain.dm_logo_sega_aos_tex[0].texlist, 0U);
    }
コード例 #26
0
ファイル: DmTitleOp.cs プロジェクト: uwx/Sonic4Episode1
 private void dmTitleOpEndWait(AppMain.MTS_TASK_TCB tcb)
 {
     if (!AppMain.ObjObjectCheckClearAllObject() || AppMain.ObjIsExitWait())
     {
         return;
     }
     AppMain.mtTaskClearTcb(tcb);
 }
コード例 #27
0
 // Token: 0x060007C9 RID: 1993 RVA: 0x00044CEB File Offset: 0x00042EEB
 private void dmLogoSegaBuildWait(AppMain.MTS_TASK_TCB tcb)
 {
     if (this.DmLogoSegaBuildCheck())
     {
         AppMain.mtTaskClearTcb(tcb);
         this.dmLogoSegaStart();
     }
 }
コード例 #28
0
ファイル: GmSound.cs プロジェクト: uwx/Sonic4Episode1
 private static void gmSoundBGMWinBossDest(AppMain.MTS_TASK_TCB tcb)
 {
     if (tcb != AppMain.gm_sound_bgm_win_boss_tcb)
     {
         return;
     }
     AppMain.gm_sound_bgm_win_boss_tcb = (AppMain.MTS_TASK_TCB)null;
 }
コード例 #29
0
 // Token: 0x060005DE RID: 1502 RVA: 0x00034428 File Offset: 0x00032628
 private static void gmBoss4EggExit(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.OBS_OBJECT_WORK    p = AppMain.mtTaskGetTcbWork(tcb);
     AppMain.GMS_BOSS4_EGG_WORK gms_BOSS4_EGG_WORK = (AppMain.GMS_BOSS4_EGG_WORK)p;
     AppMain.GmBoss4DecObjCreateCount();
     AppMain.GmBoss4UtilExitNodeMatrix(gms_BOSS4_EGG_WORK.node_work);
     AppMain.GmEnemyDefaultExit(tcb);
 }
コード例 #30
0
 // Token: 0x060007C8 RID: 1992 RVA: 0x00044CC9 File Offset: 0x00042EC9
 private void dmLogoSegaLoadWait(AppMain.MTS_TASK_TCB tcb)
 {
     if (this.DmLogoSegaLoadCheck())
     {
         this.DmLogoSegaBuild();
         AppMain.mtTaskChangeTcbProcedure(tcb, new AppMain.GSF_TASK_PROCEDURE(this.dmLogoSegaBuildWait));
     }
 }