コード例 #1
0
    // Token: 0x06000086 RID: 134 RVA: 0x00007790 File Offset: 0x00005990
    private static void GmEveMgrCreateEventLcd(uint flag)
    {
        int num  = AppMain._g_obj.clip_camera[0] >> 12;
        int num2 = AppMain._g_obj.clip_camera[1] >> 12;
        int num3 = (int)AppMain._g_obj.clip_lcd_size[0];
        int num4 = (int)AppMain._g_obj.clip_lcd_size[1];

        AppMain.lcd_rect[0] = num;
        AppMain.lcd_rect[2] = num + num3;
        AppMain.lcd_rect[1] = num2;
        AppMain.lcd_rect[3] = num2 + num4;
        AppMain.lcd_rect[0] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[0], 0, ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1));
        AppMain.lcd_rect[1] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[1], 0, ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1));
        AppMain.lcd_rect[2] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[2], 0, ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1));
        AppMain.lcd_rect[3] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[3], 0, ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1));
        for (int i = 0; i < 3; i++)
        {
            AppMain._eve_func_ eve_func_ = AppMain.gm_evemgr_create_eve_func_tbl[i];
            int num5 = (int)AppMain.gm_evemgr_create_size_tbl[i];
            AppMain.ev_rect[0]    = AppMain.lcd_rect[0];
            AppMain.ev_rect[2]    = AppMain.lcd_rect[2];
            AppMain.ev_rect[1]    = AppMain.lcd_rect[1];
            AppMain.ev_rect[3]    = AppMain.lcd_rect[3];
            AppMain.block_rect[0] = AppMain.ev_rect[0] - 16 - num5 - 255 >> 8;
            AppMain.block_rect[2] = AppMain.ev_rect[2] + 16 + num5 + 255 >> 8;
            AppMain.block_rect[1] = AppMain.ev_rect[1] - 16 - num5 - 255 >> 8;
            AppMain.block_rect[3] = AppMain.ev_rect[3] + 16 + num5 + 255 >> 8;
            if (AppMain.block_rect[0] < 0)
            {
                AppMain.block_rect[0] = 0;
            }
            if (AppMain.block_rect[2] >= ( int )AppMain.gm_eve_data.width)
            {
                AppMain.block_rect[2] = ( int )(AppMain.gm_eve_data.width - 1);
            }
            if (AppMain.block_rect[1] < 0)
            {
                AppMain.block_rect[1] = 0;
            }
            if (AppMain.block_rect[3] >= ( int )AppMain.gm_eve_data.height)
            {
                AppMain.block_rect[3] = ( int )(AppMain.gm_eve_data.height - 1);
            }
            for (ushort num6 = ( ushort )AppMain.block_rect[1]; num6 <= ( ushort )AppMain.block_rect[3]; num6 += 1)
            {
                for (ushort num7 = ( ushort )AppMain.block_rect[0]; num7 <= ( ushort )AppMain.block_rect[2]; num7 += 1)
                {
                    eve_func_(flag, num7, num6, AppMain.ev_rect, AppMain.lcd_rect);
                }
            }
        }
    }
コード例 #2
0
ファイル: GmEventManager.cs プロジェクト: uwx/Sonic4Episode1
    private static void GmEveMgrCreateEventLcd(uint flag)
    {
        int num1 = AppMain._g_obj.clip_camera[0] >> 12;
        int num2 = AppMain._g_obj.clip_camera[1] >> 12;
        int num3 = (int)AppMain._g_obj.clip_lcd_size[0];
        int num4 = (int)AppMain._g_obj.clip_lcd_size[1];

        AppMain.lcd_rect[0] = num1;
        AppMain.lcd_rect[2] = num1 + num3;
        AppMain.lcd_rect[1] = num2;
        AppMain.lcd_rect[3] = num2 + num4;
        AppMain.lcd_rect[0] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[0], 0, (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1);
        AppMain.lcd_rect[1] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[1], 0, (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1);
        AppMain.lcd_rect[2] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[2], 0, (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1);
        AppMain.lcd_rect[3] = AppMain.MTM_MATH_CLIP(AppMain.lcd_rect[3], 0, (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1);
        for (int index = 0; index < 3; ++index)
        {
            AppMain._eve_func_ eveFunc = AppMain.gm_evemgr_create_eve_func_tbl[index];
            int num5 = (int)AppMain.gm_evemgr_create_size_tbl[index];
            AppMain.ev_rect[0]    = AppMain.lcd_rect[0];
            AppMain.ev_rect[2]    = AppMain.lcd_rect[2];
            AppMain.ev_rect[1]    = AppMain.lcd_rect[1];
            AppMain.ev_rect[3]    = AppMain.lcd_rect[3];
            AppMain.block_rect[0] = AppMain.ev_rect[0] - 16 - num5 - (int)byte.MaxValue >> 8;
            AppMain.block_rect[2] = AppMain.ev_rect[2] + 16 + num5 + (int)byte.MaxValue >> 8;
            AppMain.block_rect[1] = AppMain.ev_rect[1] - 16 - num5 - (int)byte.MaxValue >> 8;
            AppMain.block_rect[3] = AppMain.ev_rect[3] + 16 + num5 + (int)byte.MaxValue >> 8;
            if (AppMain.block_rect[0] < 0)
            {
                AppMain.block_rect[0] = 0;
            }
            if (AppMain.block_rect[2] >= (int)AppMain.gm_eve_data.width)
            {
                AppMain.block_rect[2] = (int)AppMain.gm_eve_data.width - 1;
            }
            if (AppMain.block_rect[1] < 0)
            {
                AppMain.block_rect[1] = 0;
            }
            if (AppMain.block_rect[3] >= (int)AppMain.gm_eve_data.height)
            {
                AppMain.block_rect[3] = (int)AppMain.gm_eve_data.height - 1;
            }
            for (ushort by = (ushort)AppMain.block_rect[1]; (int)by <= (int)(ushort)AppMain.block_rect[3]; ++by)
            {
                for (ushort bx = (ushort)AppMain.block_rect[0]; (int)bx <= (int)(ushort)AppMain.block_rect[2]; ++bx)
                {
                    eveFunc(flag, bx, by, AppMain.ev_rect, AppMain.lcd_rect);
                }
            }
        }
    }
コード例 #3
0
ファイル: GmEventManager.cs プロジェクト: uwx/Sonic4Episode1
 private static void GmEventMgrCreateEventInRect(
     ushort left,
     ushort top,
     ushort right,
     ushort bottom)
 {
     int[]    r_on     = new int[4];
     ushort[] numArray = new ushort[4];
     r_on[0] = (int)left;
     if (r_on[0] > (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1)
     {
         r_on[0] = (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1;
     }
     r_on[1] = (int)top;
     if (r_on[1] > (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1)
     {
         r_on[1] = (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1;
     }
     r_on[2] = (int)right;
     if (r_on[2] > (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1)
     {
         r_on[2] = (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1;
     }
     r_on[3] = (int)bottom;
     if (r_on[3] > (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1)
     {
         r_on[3] = (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1;
     }
     numArray[0] = (ushort)(r_on[0] - (int)byte.MaxValue >> 8);
     numArray[2] = (ushort)(r_on[2] + (int)byte.MaxValue >> 8);
     numArray[1] = (ushort)(r_on[1] - (int)byte.MaxValue >> 8);
     numArray[3] = (ushort)(r_on[3] + (int)byte.MaxValue >> 8);
     for (int index = 0; index < 3; ++index)
     {
         AppMain._eve_func_ eveFunc = AppMain.gm_evemgr_create_eve_func_tbl[index];
         for (ushort by = numArray[1]; (int)by <= (int)numArray[3]; ++by)
         {
             for (ushort bx = numArray[0]; (int)bx <= (int)numArray[2]; ++bx)
             {
                 eveFunc(1U, bx, by, r_on, (int[])null);
             }
         }
     }
 }
コード例 #4
0
 // Token: 0x0600008D RID: 141 RVA: 0x00007E74 File Offset: 0x00006074
 private static void GmEveMgrCreateEventAll()
 {
     int[] array = new int[4];
     array[0] = 0;
     array[2] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1);
     array[1] = 0;
     array[3] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1);
     for (int i = 0; i < 3; i++)
     {
         AppMain._eve_func_ eve_func_ = AppMain.gm_evemgr_create_eve_func_tbl[i];
         for (ushort num = 0; num < AppMain.gm_eve_data.height; num += 1)
         {
             for (ushort num2 = 0; num2 < AppMain.gm_eve_data.width; num2 += 1)
             {
                 eve_func_(0U, num2, num, array, null);
             }
         }
     }
 }
コード例 #5
0
 // Token: 0x0600008C RID: 140 RVA: 0x00007D34 File Offset: 0x00005F34
 private static void GmEventMgrCreateEventInRect(ushort left, ushort top, ushort right, ushort bottom)
 {
     int[]    array  = new int[4];
     ushort[] array2 = new ushort[4];
     array[0] = ( int )left;
     if (array[0] > ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1))
     {
         array[0] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1);
     }
     array[1] = ( int )top;
     if (array[1] > ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1))
     {
         array[1] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1);
     }
     array[2] = ( int )right;
     if (array[2] > ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1))
     {
         array[2] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[0] - 1);
     }
     array[3] = ( int )bottom;
     if (array[3] > ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1))
     {
         array[3] = ( int )(AppMain.g_gm_eve_mgr_work.map_size[1] - 1);
     }
     array2[0] = ( ushort )(array[0] - 255 >> 8);
     array2[2] = ( ushort )(array[2] + 255 >> 8);
     array2[1] = ( ushort )(array[1] - 255 >> 8);
     array2[3] = ( ushort )(array[3] + 255 >> 8);
     for (int i = 0; i < 3; i++)
     {
         AppMain._eve_func_ eve_func_ = AppMain.gm_evemgr_create_eve_func_tbl[i];
         for (ushort num = array2[1]; num <= array2[3]; num += 1)
         {
             for (ushort num2 = array2[0]; num2 <= array2[2]; num2 += 1)
             {
                 eve_func_(1U, num2, num, array, null);
             }
         }
     }
 }
コード例 #6
0
ファイル: GmEventManager.cs プロジェクト: uwx/Sonic4Episode1
 private static void GmEveMgrCreateEventAll()
 {
     int[] r_on = new int[4]
     {
         0,
         0,
         (int)AppMain.g_gm_eve_mgr_work.map_size[0] - 1,
         0
     };
     r_on[1] = 0;
     r_on[3] = (int)AppMain.g_gm_eve_mgr_work.map_size[1] - 1;
     for (int index = 0; index < 3; ++index)
     {
         AppMain._eve_func_ eveFunc = AppMain.gm_evemgr_create_eve_func_tbl[index];
         for (ushort by = 0; (int)by < (int)AppMain.gm_eve_data.height; ++by)
         {
             for (ushort bx = 0; (int)bx < (int)AppMain.gm_eve_data.width; ++bx)
             {
                 eveFunc(0U, bx, by, r_on, (int[])null);
             }
         }
     }
 }