示例#1
0
 // Token: 0x06000286 RID: 646 RVA: 0x00014F40 File Offset: 0x00013140
 private static void gmGmkBeltConveyorStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_BELTC_WORK gms_GMK_BELTC_WORK = (AppMain.GMS_GMK_BELTC_WORK)obj_work;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.flag     |= 134217728U;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.width     = ( ushort )gms_GMK_BELTC_WORK.width;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x    = ( short )((gms_GMK_BELTC_WORK.vect == 0) ? 0 : (-gms_GMK_BELTC_WORK.width));
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.height    = 8;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y    = -16;
     if ((((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 16) != 0)
     {
         AppMain.OBS_COLLISION_OBJ obj_col = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col.width += 16;
         AppMain.OBS_COLLISION_OBJ obj_col2 = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col2.ofst_x -= 16;
     }
     if ((((AppMain.GMS_ENEMY_COM_WORK)obj_work).eve_rec.flag & 32) != 0)
     {
         AppMain.OBS_COLLISION_OBJ obj_col3 = gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col3.width += 16;
     }
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.dir   = 0;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.flag |= 32U;
     gms_GMK_BELTC_WORK.gmk_work.ene_com.col_work.obj_col.attr  = 1;
     gms_GMK_BELTC_WORK.last_under = false;
     gms_GMK_BELTC_WORK.tex_u      = 0f;
     obj_work.ppFunc = AppMain.gmGmkBeltConveyorStay;
 }
 // Token: 0x06000571 RID: 1393 RVA: 0x0002EC7C File Offset: 0x0002CE7C
 public static void gmGmkLandMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.OBS_COLLISION_OBJ obj_col           = obj_work.col_work.obj_col;
     if (obj_work.user_work < 30U)
     {
         AppMain.gmGmkLandMove(obj_work);
     }
     if (obj_col.rider_obj != null && obj_col.rider_obj.ride_obj == obj_work)
     {
         gms_ENEMY_3D_WORK.ene_com.enemy_flag |= 1U;
         if ((obj_work.disp_flag & 2U) != 0U)
         {
             obj_work.ofst.y = -4096;
         }
         else
         {
             obj_work.ofst.y = 4096;
         }
     }
     if ((gms_ENEMY_3D_WORK.ene_com.enemy_flag & 1U) != 0U)
     {
         if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 64) != 0)
         {
             obj_work.user_work += 1U;
             if (obj_work.user_work == 30U)
             {
                 obj_work.move_flag   &= 4294959103U;
                 obj_work.move_flag   |= 128U;
                 obj_work.prev_pos.x   = obj_work.pos.x;
                 obj_work.prev_pos.y   = obj_work.pos.y;
                 obj_work.spd_fall_max = 30720;
                 if (gms_ENEMY_3D_WORK.ene_com.eve_rec.id == 83)
                 {
                     obj_work.move_flag &= 4294967039U;
                     obj_work.move_flag |= 1024U;
                     obj_work.ppFunc     = AppMain._gmGmkLandColFall;
                 }
                 else
                 {
                     obj_work.ppFunc = null;
                 }
             }
         }
         if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 4) != 0)
         {
             obj_work.user_flag |= 65536U;
         }
     }
 }
 // Token: 0x06001557 RID: 5463 RVA: 0x000B968C File Offset: 0x000B788C
 private static void gmGmkSsGoalMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_COLLISION_OBJ obj_col         = obj_work.col_work.obj_col;
     AppMain.GMS_PLAYER_WORK   gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
     if ((AppMain.GmSplStageGetWork().flag & 4U) != 0U)
     {
         obj_work.flag |= 4U;
         return;
     }
     obj_work.dir.z = AppMain.GmMainGetObjectRotation();
     if (obj_col.toucher_obj == gms_PLAYER_WORK.obj_work && obj_col.toucher_obj.touch_obj == obj_work && (AppMain.g_gm_main_system.game_flag & 131072U) == 0U)
     {
         AppMain.g_gm_main_system.game_flag |= 131072U;
         AppMain.GmSoundPlaySE("Special4");
     }
 }
示例#4
0
 // Token: 0x06001B1E RID: 6942 RVA: 0x000F7274 File Offset: 0x000F5474
 private static void gmGmkPressWallStay(OBS_OBJECT_WORK obj_work)
 {
     if (AppMain.g_obj.camera[0][0] >= obj_work.pos.x || (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 2 && obj_work.user_flag != 0U))
     {
         AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.width     = 192;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x    = -192;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.height    = 256;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y    = 0;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col.flag     |= 134217824U;
         AppMain.OBS_COLLISION_OBJ obj_col = gms_GMK_PWALL_WORK.gmk_work.ene_com.col_work.obj_col;
         obj_col.attr       &= 65534;
         obj_work.disp_flag &= 4294967263U;
         if (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 2 && gms_GMK_PWALL_WORK.wall_height > 0)
         {
             AppMain.gmGmkPressWallCreateRail(obj_work, gms_GMK_PWALL_WORK.wall_height, gms_GMK_PWALL_WORK.master_posy);
         }
         if (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 3)
         {
             AppMain.gmGmkPressWallCreateParts(obj_work, gms_GMK_PWALL_WORK.master_posy, gms_GMK_PWALL_WORK.wall_height);
             gms_GMK_PWALL_WORK.gmk_work.ene_com.rect_work[2].flag &= 4294967291U;
             gms_GMK_PWALL_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
             gms_GMK_PWALL_WORK.gmk_work.ene_com.rect_work[1].flag |= 4U;
             AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_PWALL_WORK.gmk_work.ene_com.rect_work[1];
             AppMain.ObjRectWorkZSet(obs_RECT_WORK, -16, 0, -32, 0, 192, 32);
             obs_RECT_WORK.flag |= 4U;
             obs_RECT_WORK.flag |= 1024U;
             obj_work.flag      &= 4294967293U;
             obs_RECT_WORK.ppHit = AppMain.gmGmkPressWallZ4Hit;
         }
         if (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 2 && obj_work.user_flag != 0U)
         {
             obj_work.user_flag_OBJECT = null;
         }
         else
         {
             AppMain.GMM_PAD_VIB_MID_TIME(60f);
             gms_GMK_PWALL_WORK.se_handle = GsSound.AllocSeHandle();
             GmSound.PlaySEForce("MovingWall", gms_GMK_PWALL_WORK.se_handle);
         }
         gms_GMK_PWALL_WORK.efct_obj = null;
         obj_work.ppFunc             = AppMain.gmGmkPressWallForce;
         AppMain.gmGmkPressWallForce(obj_work);
     }
 }
示例#5
0
 public static void gmGmkLandMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.OBS_COLLISION_OBJ objCol         = obj_work.col_work.obj_col;
     if (obj_work.user_work < 30U)
     {
         AppMain.gmGmkLandMove(obj_work);
     }
     if (objCol.rider_obj != null && objCol.rider_obj.ride_obj == obj_work)
     {
         gmsEnemy3DWork.ene_com.enemy_flag |= 1U;
         obj_work.ofst.y = ((int)obj_work.disp_flag & 2) == 0 ? 4096 : -4096;
     }
     if (((int)gmsEnemy3DWork.ene_com.enemy_flag & 1) == 0)
     {
         return;
     }
     if (((int)gmsEnemy3DWork.ene_com.eve_rec.flag & 64) != 0)
     {
         ++obj_work.user_work;
         if (obj_work.user_work == 30U)
         {
             obj_work.move_flag   &= 4294959103U;
             obj_work.move_flag   |= 128U;
             obj_work.prev_pos.x   = obj_work.pos.x;
             obj_work.prev_pos.y   = obj_work.pos.y;
             obj_work.spd_fall_max = 30720;
             if (gmsEnemy3DWork.ene_com.eve_rec.id == (ushort)83)
             {
                 obj_work.move_flag &= 4294967039U;
                 obj_work.move_flag |= 1024U;
                 obj_work.ppFunc     = AppMain._gmGmkLandColFall;
             }
             else
             {
                 obj_work.ppFunc = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
             }
         }
     }
     if (((int)gmsEnemy3DWork.ene_com.eve_rec.flag & 4) == 0)
     {
         return;
     }
     obj_work.user_flag |= 65536U;
 }
 // Token: 0x0600076F RID: 1903 RVA: 0x00041A58 File Offset: 0x0003FC58
 private static void gmGmkSsEnduranceWait(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_COLLISION_OBJ obj_col         = obj_work.col_work.obj_col;
     AppMain.GMS_PLAYER_WORK   gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];
     if ((AppMain.GmSplStageGetWork().flag & 4U) != 0U)
     {
         obj_work.flag |= 4U;
         return;
     }
     if (obj_col.toucher_obj == gms_PLAYER_WORK.obj_work)
     {
         obj_work.ppFunc      = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSsEnduranceDamage);
         obj_work.user_timer |= 30;
         AppMain.GmSoundPlaySE("Special3");
     }
     AppMain.gmGmkSsEnduranceUpdateUVTimer(obj_work);
     AppMain.GmGmkSsSquareBounce(obj_work);
 }
示例#7
0
 private static void gmGmkSsGoalMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_COLLISION_OBJ objCol        = obj_work.col_work.obj_col;
     AppMain.GMS_PLAYER_WORK   gmsPlayerWork = AppMain.g_gm_main_system.ply_work[0];
     if (((int)AppMain.GmSplStageGetWork().flag & 4) != 0)
     {
         obj_work.flag |= 4U;
     }
     else
     {
         obj_work.dir.z = AppMain.GmMainGetObjectRotation();
         if (objCol.toucher_obj != gmsPlayerWork.obj_work || objCol.toucher_obj.touch_obj != obj_work || ((int)AppMain.g_gm_main_system.game_flag & 131072) != 0)
         {
             return;
         }
         AppMain.g_gm_main_system.game_flag |= 131072U;
         AppMain.GmSoundPlaySE("Special4");
     }
 }
示例#8
0
 // Token: 0x0600100D RID: 4109 RVA: 0x0008BB94 File Offset: 0x00089D94
 private static void gmGmkCapsuleSwitchMain(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.OBS_COLLISION_OBJ obj_col = obj_work.col_work.obj_col;
     if (obj_col.rider_obj != null)
     {
         obj_work.ofst.y = 24576;
         if ((obj_work.user_flag & 1U) == 0U)
         {
             AppMain.g_gm_main_system.game_flag &= 4294966271U;
             AppMain.g_gm_main_system.game_flag |= 1048576U;
             AppMain.GMS_EFFECT_3DES_WORK efct_3des = AppMain.GmEfctCmnEsCreate(obj_work, 23);
             AppMain.GmEffect3DESSetDispOffset(efct_3des, 0f, 24f, 40f);
             AppMain.gmGmkCapsuleAnimalMake(obj_work);
             obj_work.user_timer = 1;
             AppMain.GmGmkCamScrLimitSet(new AppMain.GMS_EVE_RECORD_EVENT
             {
                 flag   = 7,
                 left   = -96,
                 top    = -104,
                 width  = 192,
                 height = 112
             }, obj_work.pos.x, obj_work.pos.y);
             AppMain.GMM_PAD_VIB_SMALL();
             AppMain.GmSoundPlaySE("Capsule");
             AppMain.GmPlySeqChangeBossGoal(AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)], obj_work.pos.x, obj_work.pos.y);
         }
         obj_work.user_flag |= 1U;
     }
     else
     {
         obj_work.ofst.y = 0;
     }
     if (obj_work.user_timer != 0)
     {
         obj_work.user_timer++;
         if (obj_work.user_timer == 420)
         {
             AppMain.g_gm_main_system.game_flag |= 4U;
         }
     }
 }
示例#9
0
 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;
     }
 }
示例#10
0
    // 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;
    }
    // Token: 0x0600056D RID: 1389 RVA: 0x0002E150 File Offset: 0x0002C350
    public static AppMain.OBS_OBJECT_WORK GmGmkLandInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        int num = AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id];

        AppMain.UNREFERENCED_PARAMETER(type);
        AppMain.OBS_OBJECT_WORK   obs_OBJECT_WORK   = AppMain.GMM_ENEMY_CREATE_RIDE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENEMY_3D_WORK(), "GMK_LAND");
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
        int    num2;
        ushort num3;

        if (eve_rec.id == 82)
        {
            num2 = 1;
            num3 = 1;
        }
        else if (eve_rec.id == 83)
        {
            num2 = 2;
            num3 = 2;
        }
        else
        {
            num2 = 0;
            num3 = 0;
        }
        int num4 = AppMain.gm_gmk_land_mdl_data[num][(int)num3];

        AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_land_obj_3d_list[num4], gms_ENEMY_3D_WORK.obj_3d);
        if (num == 1)
        {
            int id    = num4;
            int index = num4;
            AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, false, AppMain.ObjDataGet(805), null, 0, null);
            AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, id);
            AppMain.ObjAction3dNNMaterialMotionLoad(gms_ENEMY_3D_WORK.obj_3d, 0, null, null, index, (AppMain.AMS_AMB_HEADER)AppMain.ObjDataGet(806).pData);
            AppMain.ObjDrawObjectActionSet3DNNMaterial(obs_OBJECT_WORK, 0);
            obs_OBJECT_WORK.disp_flag |= 4U;
        }
        else if (num == 4)
        {
            int index2 = num4;
            AppMain.ObjAction3dNNMaterialMotionLoad(gms_ENEMY_3D_WORK.obj_3d, 0, null, null, index2, (AppMain.AMS_AMB_HEADER)AppMain.ObjDataGet(815).pData);
            AppMain.ObjDrawObjectActionSet3DNNMaterial(obs_OBJECT_WORK, 0);
            obs_OBJECT_WORK.disp_flag |= 16U;
            ((AppMain.NNS_MOTION_KEY_Class5[])obs_OBJECT_WORK.obj_3d.motion.mmtn[0].pSubmotion[0].pKeyList)[0].Value.y = 1f;
        }
        else if (AppMain.g_gs_main_sys_info.stage_id == 2 || AppMain.g_gs_main_sys_info.stage_id == 3)
        {
            gms_ENEMY_3D_WORK.obj_3d.use_light_flag &= 4294967294U;
            gms_ENEMY_3D_WORK.obj_3d.use_light_flag |= 2U;
            gms_ENEMY_3D_WORK.obj_3d.use_light_flag |= 65536U;
        }
        if (num == 2)
        {
            if (num4 == 0)
            {
                obs_OBJECT_WORK.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkLand3TvxDrawFunc);
            }
            else
            {
                obs_OBJECT_WORK.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkLand3TvxRDrawFunc);
            }
        }
        obs_OBJECT_WORK.pos.z = -131072;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.obj       = obs_OBJECT_WORK;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
        gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag     |= 134217728U;
        if ((eve_rec.flag & 128) == 0 && eve_rec.id != 83)
        {
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.attr = 1;
        }
        switch (AppMain.gm_gmk_land_col_type_tbl[num2])
        {
        default:
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = 48;
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 24;
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )(-gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width / 2);
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = -17;
            if ((gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.attr & 1) != 0)
            {
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 8;
                AppMain.OBS_COLLISION_OBJ obj_col = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col;
                obj_col.ofst_y += 1;
            }
            break;

        case 1:
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = 80;
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 24;
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )(-gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width / 2);
            gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = -17;
            if ((gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.attr & 1) != 0)
            {
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 8;
                AppMain.OBS_COLLISION_OBJ obj_col2 = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col;
                obj_col2.ofst_y += 1;
            }
            break;

        case 2:
            if (num != 2)
            {
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = 64;
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 64;
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )(-gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width / 2);
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = -31;
            }
            else
            {
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width  = 24;
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height = 32;
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x = ( short )(-gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width / 2);
                gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y = -15;
            }
            obs_OBJECT_WORK.field_rect[0] = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x;
            obs_OBJECT_WORK.field_rect[1] = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y;
            obs_OBJECT_WORK.field_rect[2] = ( short )(gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_x + ( short )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.width);
            obs_OBJECT_WORK.field_rect[3] = ( short )(( short )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.ofst_y + ( short )gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.height);
            break;
        }
        obs_OBJECT_WORK.move_flag |= 8448U;
        obs_OBJECT_WORK.disp_flag |= 4194304U;
        obs_OBJECT_WORK.flag      |= 2U;
        AppMain.gmGmkLandMoveInit(obs_OBJECT_WORK);
        return(obs_OBJECT_WORK);
    }