コード例 #1
0
    // Token: 0x06000088 RID: 136 RVA: 0x00007B1C File Offset: 0x00005D1C
    private static void gmEveMgrCreateEventBlkDecorate(uint flag, ushort bx, ushort by, int[] r_on, int[] r_off)
    {
        uint num = (uint)(bx + AppMain.gm_deco_data.width * by);

        AppMain.GMS_EVE_DATA_DC_LIST gms_EVE_DATA_DC_LIST = AppMain.gm_deco_data.dc_list[(int)((UIntPtr)num)];
        ushort dec_num = gms_EVE_DATA_DC_LIST.dec_num;

        AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE> pointer = new AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE>(gms_EVE_DATA_DC_LIST.dec_data);
        int num2 = (int)bx << 8;
        int num3 = (int)by << 8;
        int i    = 0;

        while (i < ( int )dec_num)
        {
            if (pointer[0].pos_x != 255)
            {
                int num4 = (int)pointer[0].pos_x + num2;
                int num5 = (int)pointer[0].pos_y + num3;
                int num6 = (int)AppMain.g_gm_decorate_size_tbl[(int)pointer[0].id];
                int num7 = num6 + 16 + 32;
                if ((flag & 1U) == 0U || (num4 >= r_on[0] - num7 && num4 <= r_on[2] + num7 && num5 >= r_on[1] - num7 && num5 <= r_on[3] + num7))
                {
                    int num8 = num6 + 16;
                    if (((flag & 2U) == 0U || num4 <= r_off[0] - num8 || num4 >= r_off[2] + num8 || num5 <= r_off[1] - num8 || num5 >= r_off[3] + num8) && pointer[0].id < 184 && AppMain.g_gm_decorate_tbl[( int )pointer[0].id] != null)
                    {
                        AppMain.g_gm_decorate_tbl[( int )pointer[0].id](pointer, num4 << 12, num5 << 12, 0);
                    }
                }
            }
            i++;
            pointer = ++pointer;
        }
    }
コード例 #2
0
ファイル: GmEventManager.cs プロジェクト: uwx/Sonic4Episode1
    private static void gmEveMgrCreateEventBlkDecorate(
        uint flag,
        ushort bx,
        ushort by,
        int[] r_on,
        int[] r_off)
    {
        uint num1 = (uint)bx + (uint)AppMain.gm_deco_data.width * (uint)by;

        AppMain.GMS_EVE_DATA_DC_LIST dc = AppMain.gm_deco_data.dc_list[(int)num1];
        ushort decNum = dc.dec_num;

        AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE> arrayPointer = new AppMain.ArrayPointer <AppMain.GMS_EVE_RECORD_DECORATE>(dc.dec_data);
        int num2 = (int)bx << 8;
        int num3 = (int)by << 8;
        int num4 = 0;

        while (num4 < (int)decNum)
        {
            if (arrayPointer[0].pos_x != byte.MaxValue)
            {
                int num5 = (int)arrayPointer[0].pos_x + num2;
                int num6 = (int)arrayPointer[0].pos_y + num3;
                int num7 = (int)AppMain.g_gm_decorate_size_tbl[(int)arrayPointer[0].id];
                int num8 = num7 + 16 + 32;
                if (((int)flag & 1) == 0 || num5 >= r_on[0] - num8 && num5 <= r_on[2] + num8 && (num6 >= r_on[1] - num8 && num6 <= r_on[3] + num8))
                {
                    int num9 = num7 + 16;
                    if ((((int)flag & 2) == 0 || num5 <= r_off[0] - num9 || (num5 >= r_off[2] + num9 || num6 <= r_off[1] - num9) || num6 >= r_off[3] + num9) && (arrayPointer[0].id < (ushort)184 && AppMain.g_gm_decorate_tbl[(int)arrayPointer[0].id] != null))
                    {
                        AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.g_gm_decorate_tbl[(int)arrayPointer[0].id]((AppMain.GMS_EVE_RECORD_DECORATE)arrayPointer, num5 << 12, num6 << 12, (byte)0);
                    }
                }
            }
            ++num4;
            ++arrayPointer;
        }
    }