示例#1
0
 // Token: 0x06001B24 RID: 6948 RVA: 0x000F7C18 File Offset: 0x000F5E18
 private static void gmGmkPressWallForceZ4_Stop(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] > 0f)
     {
         gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] -= 0.015625f;
         gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[1] -= 0.015625f;
         gms_GMK_PWALL_WORK.mat_timer += 1U;
         if (gms_GMK_PWALL_WORK.mat_timer > gms_GMK_PWALL_WORK.mat_timer_line)
         {
             obj_work.disp_flag &= 4294963199U;
             gms_GMK_PWALL_WORK.mat_timer_line = gms_GMK_PWALL_WORK.mat_timer;
             gms_GMK_PWALL_WORK.mat_timer      = 0U;
         }
         else
         {
             obj_work.disp_flag |= 4096U;
         }
         if (gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] <= 0f)
         {
             gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] = 0f;
             gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[1] = 0f;
             obj_work.disp_flag |= 4096U;
             AppMain.gmGmkPressWallSeStop(obj_work);
         }
     }
 }
示例#2
0
 private static void gmGmkPressWallForceZ4_Hit(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (((int)AppMain.g_gm_main_system.ply_work[0].player_flag & 1024) != 0)
     {
         gmsGmkPwallWork.ply_death  = true;
         gmsGmkPwallWork.wall_speed = 0;
         AppMain.gmGmkPressWallSeStop(obj_work);
     }
     gmsGmkPwallWork.wall_brake -= gmsGmkPwallWork.wall_speed / 64;
     if (gmsGmkPwallWork.wall_brake <= 0 || gmsGmkPwallWork.wall_speed == 0)
     {
         gmsGmkPwallWork.wall_brake = 0;
         obj_work.ppFunc            = gmsGmkPwallWork.ply_death || gmsGmkPwallWork.wall_speed == 0 ? new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForceZ4_Stop) : new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForceZ4_Hit_100);
     }
     if ((double)gmsGmkPwallWork.gmk_work.obj_3d.speed[0] > 0.0)
     {
         gmsGmkPwallWork.gmk_work.obj_3d.speed[0] -= 1f / 64f;
         gmsGmkPwallWork.gmk_work.obj_3d.speed[1] -= 1f / 64f;
         ++gmsGmkPwallWork.mat_timer;
         if (gmsGmkPwallWork.mat_timer > gmsGmkPwallWork.mat_timer_line)
         {
             obj_work.disp_flag            &= 4294963199U;
             gmsGmkPwallWork.mat_timer_line = gmsGmkPwallWork.mat_timer;
             gmsGmkPwallWork.mat_timer      = 0U;
         }
         else
         {
             obj_work.disp_flag |= 4096U;
         }
     }
     obj_work.pos.x += gmsGmkPwallWork.wall_brake;
 }
示例#3
0
 private static void gmGmkPressWall_ppOut(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     obj_work.pos.y  = gmsGmkPwallWork.master_posy;
     obj_work.pos.y += obj_work.user_timer;
     if (gmsGmkPwallWork.wall_height == 0)
     {
         while (obj_work.pos.y + 786432 < AppMain.g_obj.camera[0][1])
         {
             obj_work.pos.y += 786432;
         }
         while (obj_work.pos.y > AppMain.g_obj.camera[0][1])
         {
             obj_work.pos.y -= 786432;
         }
         for (int index = obj_work.pos.y - AppMain.g_obj.camera[0][1]; index < 1048576; index += 786432)
         {
             AppMain.ObjDrawActionSummary(obj_work);
             obj_work.pos.y += 786432;
         }
     }
     else
     {
         for (int index = 0; index < gmsGmkPwallWork.wall_height; index += 786432)
         {
             AppMain.ObjDrawActionSummary(obj_work);
             obj_work.pos.y += 786432;
         }
     }
     obj_work.pos.y = AppMain.g_obj.camera[0][1];
 }
示例#4
0
 private static void gmGmkPressWallForceZ4_Stop(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if ((double)gmsGmkPwallWork.gmk_work.obj_3d.speed[0] <= 0.0)
     {
         return;
     }
     gmsGmkPwallWork.gmk_work.obj_3d.speed[0] -= 1f / 64f;
     gmsGmkPwallWork.gmk_work.obj_3d.speed[1] -= 1f / 64f;
     ++gmsGmkPwallWork.mat_timer;
     if (gmsGmkPwallWork.mat_timer > gmsGmkPwallWork.mat_timer_line)
     {
         obj_work.disp_flag            &= 4294963199U;
         gmsGmkPwallWork.mat_timer_line = gmsGmkPwallWork.mat_timer;
         gmsGmkPwallWork.mat_timer      = 0U;
     }
     else
     {
         obj_work.disp_flag |= 4096U;
     }
     if ((double)gmsGmkPwallWork.gmk_work.obj_3d.speed[0] > 0.0)
     {
         return;
     }
     gmsGmkPwallWork.gmk_work.obj_3d.speed[0] = 0.0f;
     gmsGmkPwallWork.gmk_work.obj_3d.speed[1] = 0.0f;
     obj_work.disp_flag |= 4096U;
     AppMain.gmGmkPressWallSeStop(obj_work);
 }
示例#5
0
 // Token: 0x06001B21 RID: 6945 RVA: 0x000F787C File Offset: 0x000F5A7C
 private static void gmGmkPressWallForce_200(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (gms_GMK_PWALL_WORK != AppMain.pwall)
     {
         obj_work.flag |= 8U;
         gms_GMK_PWALL_WORK.gmk_work.ene_com.enemy_flag |= 65536U;
     }
 }
示例#6
0
 // Token: 0x06001B2D RID: 6957 RVA: 0x000F81F8 File Offset: 0x000F63F8
 private static void gmGmkPressWallRail(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PRESSWALL_PARTS gms_GMK_PRESSWALL_PARTS = (AppMain.GMS_GMK_PRESSWALL_PARTS)obj_work;
     AppMain.GMS_GMK_PWALL_WORK      gms_GMK_PWALL_WORK      = (AppMain.GMS_GMK_PWALL_WORK)obj_work.parent_obj;
     obj_work.pos.x = obj_work.parent_obj.pos.x;
     obj_work.pos.y = gms_GMK_PWALL_WORK.master_posy;
     obj_work.pos.y = obj_work.pos.y + obj_work.parent_obj.user_timer;
     obj_work.pos.y = obj_work.pos.y + gms_GMK_PRESSWALL_PARTS.ofst_y;
 }
示例#7
0
 private static void gmGmkPressWallRail(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PRESSWALL_PARTS gmkPresswallParts = (AppMain.GMS_GMK_PRESSWALL_PARTS)obj_work;
     AppMain.GMS_GMK_PWALL_WORK      parentObj         = (AppMain.GMS_GMK_PWALL_WORK)obj_work.parent_obj;
     obj_work.pos.x  = obj_work.parent_obj.pos.x;
     obj_work.pos.y  = parentObj.master_posy;
     obj_work.pos.y += obj_work.parent_obj.user_timer;
     obj_work.pos.y += gmkPresswallParts.ofst_y;
 }
示例#8
0
 // Token: 0x06001B26 RID: 6950 RVA: 0x000F7D84 File Offset: 0x000F5F84
 private static void gmGmkPressWallSeStop(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (gms_GMK_PWALL_WORK.se_handle != null)
     {
         GsSound.StopSeHandle(gms_GMK_PWALL_WORK.se_handle);
         GsSound.FreeSeHandle(gms_GMK_PWALL_WORK.se_handle);
         gms_GMK_PWALL_WORK.se_handle = null;
     }
 }
示例#9
0
 private static void gmGmkPressWallForce_200(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (gmsGmkPwallWork == AppMain.pwall)
     {
         return;
     }
     obj_work.flag |= 8U;
     gmsGmkPwallWork.gmk_work.ene_com.enemy_flag |= 65536U;
 }
示例#10
0
 private static AppMain.OBS_OBJECT_WORK GmGmkPressWallInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.UNREFERENCED_PARAMETER((object)type);
     AppMain.GMS_GMK_PWALL_WORK work           = (AppMain.GMS_GMK_PWALL_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_PWALL_WORK()), "Gmk_PressWall");
     AppMain.OBS_OBJECT_WORK    obj_work       = (AppMain.OBS_OBJECT_WORK)work;
     AppMain.GMS_ENEMY_3D_WORK  gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work;
     if (AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id] == 2)
     {
         AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_presswall_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
         obj_work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWall_ppOut);
         if (eve_rec.height == (byte)0)
         {
             work.wall_height = 0;
             obj_work.pos.y  -= 524288;
         }
         else
         {
             work.wall_height = (int)eve_rec.height * 64 * 4096;
             obj_work.pos.y  -= work.wall_height;
         }
         obj_work.pos.z = 913408;
     }
     else
     {
         AppMain.ObjObjectCopyAction3dNNModel(obj_work, AppMain.gm_gmk_presswall_obj_3d_list[0], gmsEnemy3DWork.obj_3d);
         obj_work.ppOut = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWall_ppOut);
         AppMain.ObjAction3dNNMaterialMotionLoad(obj_work.obj_3d, 0, (AppMain.OBS_DATA_WORK)null, (string)null, 1, (AppMain.AMS_AMB_HEADER)AppMain.ObjDataGet(895).pData);
         AppMain.ObjDrawObjectActionSet3DNNMaterial(obj_work, 0);
         obj_work.disp_flag |= 4U;
         if (eve_rec.height == (byte)0)
         {
             work.wall_height = 0;
             obj_work.pos.y  -= 786432;
         }
         else
         {
             work.wall_height = (int)eve_rec.height * 192 * 4096;
             obj_work.pos.y  -= work.wall_height;
         }
         obj_work.pos.z = 1044480;
     }
     obj_work.move_flag |= 8448U;
     obj_work.disp_flag |= 4194304U;
     obj_work.flag      |= 2U;
     work.wall_speed     = eve_rec.width == (byte)0 ? 4096 : (int)eve_rec.width * 4096 / 10;
     AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkPressWallExit));
     work.se_handle = (AppMain.GSS_SND_SE_HANDLE)null;
     AppMain.gmGmkPressWallStart(obj_work);
     return(obj_work);
 }
示例#11
0
 private static void gmGmkPressWallSeStop(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (gmsGmkPwallWork.se_handle == null)
     {
         return;
     }
     AppMain.GsSoundStopSeHandle(gmsGmkPwallWork.se_handle);
     AppMain.GsSoundFreeSeHandle(gmsGmkPwallWork.se_handle);
     gmsGmkPwallWork.se_handle = (AppMain.GSS_SND_SE_HANDLE)null;
 }
示例#12
0
 private static void gmGmkPressWallStart(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     AppMain.pwall  = gmsGmkPwallWork;
     obj_work.flag |= 16U;
     gmsGmkPwallWork.wall_vibration          = (short)0;
     gmsGmkPwallWork.wall_effect_build_timer = (short)0;
     gmsGmkPwallWork.master_posy             = obj_work.pos.y;
     AppMain.pwall.stop_wall = false;
     obj_work.disp_flag     |= 32U;
     obj_work.ppFunc         = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallStay);
 }
示例#13
0
 // Token: 0x06001B27 RID: 6951 RVA: 0x000F7DC0 File Offset: 0x000F5FC0
 private static void gmGmkPressWallStart(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     AppMain.pwall  = gms_GMK_PWALL_WORK;
     obj_work.flag |= 16U;
     gms_GMK_PWALL_WORK.wall_vibration          = 0;
     gms_GMK_PWALL_WORK.wall_effect_build_timer = 0;
     gms_GMK_PWALL_WORK.master_posy             = obj_work.pos.y;
     AppMain.pwall.stop_wall = false;
     obj_work.disp_flag     |= 32U;
     obj_work.ppFunc         = AppMain.gmGmkPressWallStay;
 }
示例#14
0
 // Token: 0x06001B20 RID: 6944 RVA: 0x000F77F4 File Offset: 0x000F59F4
 private static void gmGmkPressWallForce_100(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     gms_GMK_PWALL_WORK.wall_brake -= gms_GMK_PWALL_WORK.wall_speed / 20;
     obj_work.pos.x = obj_work.pos.x + gms_GMK_PWALL_WORK.wall_brake;
     if (gms_GMK_PWALL_WORK.wall_vibration < 20)
     {
         obj_work.user_timer = AppMain.wall_vib[( int )gms_GMK_PWALL_WORK.wall_vibration];
         AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK2 = gms_GMK_PWALL_WORK;
         gms_GMK_PWALL_WORK2.wall_vibration += 1;
         return;
     }
     obj_work.ppFunc = AppMain.gmGmkPressWallForce_200;
     AppMain.gmGmkPressWallSeStop(obj_work);
 }
示例#15
0
 private static void gmGmkPressWallForce_100(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     gmsGmkPwallWork.wall_brake -= gmsGmkPwallWork.wall_speed / 20;
     obj_work.pos.x             += gmsGmkPwallWork.wall_brake;
     if (gmsGmkPwallWork.wall_vibration < (short)20)
     {
         obj_work.user_timer = AppMain.wall_vib[(int)gmsGmkPwallWork.wall_vibration];
         ++gmsGmkPwallWork.wall_vibration;
     }
     else
     {
         obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForce_200);
         AppMain.gmGmkPressWallSeStop(obj_work);
     }
 }
示例#16
0
 private static void gmGmkPressWallStay(AppMain.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))
     {
         return;
     }
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.obj       = obj_work;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.diff_data = AppMain.g_gm_default_col;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.width     = (ushort)192;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.ofst_x    = (short)-192;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.height    = (ushort)256;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.ofst_y    = (short)0;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.flag     |= 134217824U;
     gmsGmkPwallWork.gmk_work.ene_com.col_work.obj_col.attr     &= (ushort)65534;
     obj_work.disp_flag &= 4294967263U;
     if (AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id] == 2 && gmsGmkPwallWork.wall_height > 0)
     {
         AppMain.gmGmkPressWallCreateRail(obj_work, gmsGmkPwallWork.wall_height, gmsGmkPwallWork.master_posy);
     }
     if (AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id] == 3)
     {
         AppMain.gmGmkPressWallCreateParts(obj_work, gmsGmkPwallWork.master_posy, gmsGmkPwallWork.wall_height);
         gmsGmkPwallWork.gmk_work.ene_com.rect_work[2].flag &= 4294967291U;
         gmsGmkPwallWork.gmk_work.ene_com.rect_work[0].flag &= 4294967291U;
         gmsGmkPwallWork.gmk_work.ene_com.rect_work[1].flag |= 4U;
         AppMain.OBS_RECT_WORK pRec = gmsGmkPwallWork.gmk_work.ene_com.rect_work[1];
         AppMain.ObjRectWorkZSet(pRec, (short)-16, (short)0, (short)-32, (short)0, (short)192, (short)32);
         pRec.flag     |= 4U;
         pRec.flag     |= 1024U;
         obj_work.flag &= 4294967293U;
         pRec.ppHit     = new AppMain.OBS_RECT_WORK_Delegate1(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 = (object)null;
     }
     else
     {
         AppMain.GMM_PAD_VIB_MID_TIME(60f);
         gmsGmkPwallWork.se_handle = AppMain.GsSoundAllocSeHandle();
         AppMain.GmSoundPlaySEForce("MovingWall", gmsGmkPwallWork.se_handle);
     }
     gmsGmkPwallWork.efct_obj = (AppMain.OBS_OBJECT_WORK)null;
     obj_work.ppFunc          = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForce);
     AppMain.gmGmkPressWallForce(obj_work);
 }
示例#17
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);
     }
 }
示例#18
0
 private static void gmGmkPressWallForceZ4_Hit_100(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (((int)AppMain.g_gm_main_system.ply_work[0].player_flag & 1024) != 0)
     {
         gmsGmkPwallWork.ply_death  = true;
         gmsGmkPwallWork.wall_speed = 0;
         obj_work.ppFunc            = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForceZ4_Stop);
     }
     else
     {
         gmsGmkPwallWork.wall_brake += gmsGmkPwallWork.wall_speed / 64;
         if (gmsGmkPwallWork.wall_brake >= gmsGmkPwallWork.wall_speed)
         {
             gmsGmkPwallWork.wall_brake = gmsGmkPwallWork.wall_speed;
             gmsGmkPwallWork.gmk_work.obj_3d.speed[0] = 1f;
             gmsGmkPwallWork.gmk_work.obj_3d.speed[1] = 1f;
             gmsGmkPwallWork.mat_timer      = 0U;
             gmsGmkPwallWork.mat_timer_line = 0U;
             obj_work.disp_flag            &= 4294963199U;
             obj_work.flag            &= 4294967293U;
             gmsGmkPwallWork.ply_death = false;
             obj_work.ppFunc           = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForce);
         }
         if ((double)gmsGmkPwallWork.gmk_work.obj_3d.speed[0] < 1.0)
         {
             gmsGmkPwallWork.gmk_work.obj_3d.speed[0] += 1f / 64f;
             gmsGmkPwallWork.gmk_work.obj_3d.speed[1] += 1f / 64f;
             ++gmsGmkPwallWork.mat_timer;
             if (gmsGmkPwallWork.mat_timer > gmsGmkPwallWork.mat_timer_line)
             {
                 obj_work.disp_flag            |= 4096U;
                 gmsGmkPwallWork.mat_timer_line = gmsGmkPwallWork.mat_timer;
                 gmsGmkPwallWork.mat_timer      = 0U;
             }
             else
             {
                 obj_work.disp_flag &= 4294963199U;
             }
         }
         obj_work.pos.x += gmsGmkPwallWork.wall_brake;
     }
 }
示例#19
0
    // Token: 0x06001B23 RID: 6947 RVA: 0x000F7A44 File Offset: 0x000F5C44
    private static void gmGmkPressWallForceZ4_Hit_100(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
        GMS_PLAYER_WORK            gms_PLAYER_WORK    = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];

        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            gms_GMK_PWALL_WORK.ply_death  = true;
            gms_GMK_PWALL_WORK.wall_speed = 0;
            obj_work.ppFunc = AppMain.gmGmkPressWallForceZ4_Stop;
            return;
        }
        gms_GMK_PWALL_WORK.wall_brake += gms_GMK_PWALL_WORK.wall_speed / 64;
        if (gms_GMK_PWALL_WORK.wall_brake >= gms_GMK_PWALL_WORK.wall_speed)
        {
            gms_GMK_PWALL_WORK.wall_brake = gms_GMK_PWALL_WORK.wall_speed;
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] = 1f;
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[1] = 1f;
            gms_GMK_PWALL_WORK.mat_timer      = 0U;
            gms_GMK_PWALL_WORK.mat_timer_line = 0U;
            obj_work.disp_flag          &= 4294963199U;
            obj_work.flag               &= 4294967293U;
            gms_GMK_PWALL_WORK.ply_death = false;
            obj_work.ppFunc              = AppMain.gmGmkPressWallForce;
        }
        if (gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] < 1f)
        {
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] += 0.015625f;
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[1] += 0.015625f;
            gms_GMK_PWALL_WORK.mat_timer += 1U;
            if (gms_GMK_PWALL_WORK.mat_timer > gms_GMK_PWALL_WORK.mat_timer_line)
            {
                obj_work.disp_flag |= 4096U;
                gms_GMK_PWALL_WORK.mat_timer_line = gms_GMK_PWALL_WORK.mat_timer;
                gms_GMK_PWALL_WORK.mat_timer      = 0U;
            }
            else
            {
                obj_work.disp_flag &= 4294963199U;
            }
        }
        obj_work.pos.x = obj_work.pos.x + gms_GMK_PWALL_WORK.wall_brake;
    }
示例#20
0
    // Token: 0x06001B22 RID: 6946 RVA: 0x000F78C4 File Offset: 0x000F5AC4
    private static void gmGmkPressWallForceZ4_Hit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
        GMS_PLAYER_WORK            gms_PLAYER_WORK    = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];

        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            gms_GMK_PWALL_WORK.ply_death  = true;
            gms_GMK_PWALL_WORK.wall_speed = 0;
            AppMain.gmGmkPressWallSeStop(obj_work);
        }
        gms_GMK_PWALL_WORK.wall_brake -= gms_GMK_PWALL_WORK.wall_speed / 64;
        if (gms_GMK_PWALL_WORK.wall_brake <= 0 || gms_GMK_PWALL_WORK.wall_speed == 0)
        {
            gms_GMK_PWALL_WORK.wall_brake = 0;
            if (!gms_GMK_PWALL_WORK.ply_death && gms_GMK_PWALL_WORK.wall_speed != 0)
            {
                obj_work.ppFunc = AppMain.gmGmkPressWallForceZ4_Hit_100;
            }
            else
            {
                obj_work.ppFunc = AppMain.gmGmkPressWallForceZ4_Stop;
            }
        }
        if (gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] > 0f)
        {
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[0] -= 0.015625f;
            gms_GMK_PWALL_WORK.gmk_work.obj_3d.speed[1] -= 0.015625f;
            gms_GMK_PWALL_WORK.mat_timer += 1U;
            if (gms_GMK_PWALL_WORK.mat_timer > gms_GMK_PWALL_WORK.mat_timer_line)
            {
                obj_work.disp_flag &= 4294963199U;
                gms_GMK_PWALL_WORK.mat_timer_line = gms_GMK_PWALL_WORK.mat_timer;
                gms_GMK_PWALL_WORK.mat_timer      = 0U;
            }
            else
            {
                obj_work.disp_flag |= 4096U;
            }
        }
        obj_work.pos.x = obj_work.pos.x + gms_GMK_PWALL_WORK.wall_brake;
    }
示例#21
0
    // Token: 0x06001B18 RID: 6936 RVA: 0x000F6C7C File Offset: 0x000F4E7C
    private static OBS_OBJECT_WORK GmGmkPressWallInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
    {
        AppMain.UNREFERENCED_PARAMETER(type);
        AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_PWALL_WORK(), "Gmk_PressWall");
        OBS_OBJECT_WORK            obs_OBJECT_WORK    = (OBS_OBJECT_WORK)gms_GMK_PWALL_WORK;

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)gms_GMK_PWALL_WORK;
        if (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 2)
        {
            AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_presswall_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
            obs_OBJECT_WORK.ppOut = AppMain.gmGmkPressWall_ppOut;
            if (eve_rec.height == 0)
            {
                gms_GMK_PWALL_WORK.wall_height = 0;
                OBS_OBJECT_WORK obs_OBJECT_WORK2 = obs_OBJECT_WORK;
                obs_OBJECT_WORK2.pos.y = obs_OBJECT_WORK2.pos.y - 524288;
            }
            else
            {
                gms_GMK_PWALL_WORK.wall_height = ( int )(eve_rec.height * 64) * 4096;
                OBS_OBJECT_WORK obs_OBJECT_WORK3 = obs_OBJECT_WORK;
                obs_OBJECT_WORK3.pos.y = obs_OBJECT_WORK3.pos.y - gms_GMK_PWALL_WORK.wall_height;
            }
            obs_OBJECT_WORK.pos.z = 913408;
        }
        else
        {
            AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_presswall_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d);
            obs_OBJECT_WORK.ppOut = AppMain.gmGmkPressWall_ppOut;
            AppMain.ObjAction3dNNMaterialMotionLoad(obs_OBJECT_WORK.obj_3d, 0, null, null, 1, ( AMS_AMB_HEADER )AppMain.ObjDataGet(895).pData);
            AppMain.ObjDrawObjectActionSet3DNNMaterial(obs_OBJECT_WORK, 0);
            obs_OBJECT_WORK.disp_flag |= 4U;
            if (eve_rec.height == 0)
            {
                gms_GMK_PWALL_WORK.wall_height = 0;
                OBS_OBJECT_WORK obs_OBJECT_WORK4 = obs_OBJECT_WORK;
                obs_OBJECT_WORK4.pos.y = obs_OBJECT_WORK4.pos.y - 786432;
            }
            else
            {
                gms_GMK_PWALL_WORK.wall_height = ( int )(eve_rec.height * 192) * 4096;
                OBS_OBJECT_WORK obs_OBJECT_WORK5 = obs_OBJECT_WORK;
                obs_OBJECT_WORK5.pos.y = obs_OBJECT_WORK5.pos.y - gms_GMK_PWALL_WORK.wall_height;
            }
            obs_OBJECT_WORK.pos.z = 1044480;
        }
        obs_OBJECT_WORK.move_flag |= 8448U;
        obs_OBJECT_WORK.disp_flag |= 4194304U;
        obs_OBJECT_WORK.flag      |= 2U;
        if (eve_rec.width != 0)
        {
            gms_GMK_PWALL_WORK.wall_speed = ( int )eve_rec.width * 4096 / 10;
        }
        else
        {
            gms_GMK_PWALL_WORK.wall_speed = 4096;
        }
        AppMain.mtTaskChangeTcbDestructor(obs_OBJECT_WORK.tcb, AppMain.gmGmkPressWallExit);
        gms_GMK_PWALL_WORK.se_handle = null;
        AppMain.gmGmkPressWallStart(obs_OBJECT_WORK);
        return(obs_OBJECT_WORK);
    }
示例#22
0
    // Token: 0x06001B1F RID: 6943 RVA: 0x000F7558 File Offset: 0x000F5758
    private static void gmGmkPressWallForce(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
        GMS_PLAYER_WORK            gms_PLAYER_WORK    = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];

        if ((gms_PLAYER_WORK.player_flag & 1024U) != 0U)
        {
            gms_GMK_PWALL_WORK.ply_death  = true;
            gms_GMK_PWALL_WORK.wall_speed = 0;
            AppMain.gmGmkPressWallSeStop(obj_work);
        }
        if (AppMain.g_gm_gamedat_zone_type_tbl[( int )AppMain.g_gs_main_sys_info.stage_id] == 2)
        {
            if (gms_GMK_PWALL_WORK.wall_speed == 0 || gms_GMK_PWALL_WORK.ply_death)
            {
                AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK2 = gms_GMK_PWALL_WORK;
                gms_GMK_PWALL_WORK2.wall_vibration &= 3;
                AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK3 = gms_GMK_PWALL_WORK;
                gms_GMK_PWALL_WORK3.wall_vibration += 3;
                gms_GMK_PWALL_WORK.wall_brake       = gms_GMK_PWALL_WORK.wall_speed;
                obj_work.ppFunc = AppMain.gmGmkPressWallForce_100;
                AppMain.gmGmkPressWallForce_100(obj_work);
                return;
            }
            obj_work.pos.x      = obj_work.pos.x + gms_GMK_PWALL_WORK.wall_speed;
            obj_work.user_timer = AppMain.wall_vib[( int )(gms_GMK_PWALL_WORK.wall_vibration & 7)];
            AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK4 = gms_GMK_PWALL_WORK;
            gms_GMK_PWALL_WORK4.wall_vibration += 1;
            if (gms_GMK_PWALL_WORK.wall_effect_build_timer == 0)
            {
                OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)AppMain.GmEfctZoneEsCreate(null, 2, 32);
                obs_OBJECT_WORK.pos.x = obj_work.pos.x;
                obs_OBJECT_WORK.pos.y = AppMain.g_obj.camera[0][1];
                obs_OBJECT_WORK.pos.z = obj_work.pos.z;
                obs_OBJECT_WORK.spd.x = gms_GMK_PWALL_WORK.wall_speed;
                gms_GMK_PWALL_WORK.wall_effect_build_timer = ( short )((AppMain.mtMathRand() & 63) + 90);
            }
            AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK5 = gms_GMK_PWALL_WORK;
            gms_GMK_PWALL_WORK5.wall_effect_build_timer -= 1;
            obj_work.pos.y = AppMain.g_obj.camera[0][1];
        }
        else
        {
            obj_work.pos.x = obj_work.pos.x + gms_GMK_PWALL_WORK.wall_speed;
            if (gms_GMK_PWALL_WORK.ply_death || gms_GMK_PWALL_WORK.wall_speed == 0)
            {
                if (gms_GMK_PWALL_WORK.efct_obj != null)
                {
                    AppMain.ObjDrawKillAction3DES(gms_GMK_PWALL_WORK.efct_obj);
                    gms_GMK_PWALL_WORK.efct_obj = null;
                    gms_GMK_PWALL_WORK.wall_effect_build_timer = 0;
                }
                obj_work.ppFunc = AppMain.gmGmkPressWallForceZ4_Stop;
            }
            else if ((obj_work.user_flag & 1U) != 0U || gms_GMK_PWALL_WORK.ply_death)
            {
                gms_GMK_PWALL_WORK.wall_brake = gms_GMK_PWALL_WORK.wall_speed;
                obj_work.user_flag           &= 4294967294U;
                obj_work.ppFunc = AppMain.gmGmkPressWallForceZ4_Hit;
                if (gms_GMK_PWALL_WORK.efct_obj != null)
                {
                    AppMain.ObjDrawKillAction3DES(gms_GMK_PWALL_WORK.efct_obj);
                    gms_GMK_PWALL_WORK.efct_obj = null;
                    gms_GMK_PWALL_WORK.wall_effect_build_timer = 0;
                }
            }
            else
            {
                AppMain.GMS_GMK_PWALL_WORK gms_GMK_PWALL_WORK6 = gms_GMK_PWALL_WORK;
                gms_GMK_PWALL_WORK6.wall_effect_build_timer -= 1;
            }
        }
        if (gms_GMK_PWALL_WORK != AppMain.pwall)
        {
            obj_work.flag |= 8U;
            gms_GMK_PWALL_WORK.gmk_work.ene_com.enemy_flag |= 65536U;
            AppMain.gmGmkPressWallSeStop(obj_work);
        }
    }
示例#23
0
 private static void gmGmkPressWallForce(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_PWALL_WORK gmsGmkPwallWork = (AppMain.GMS_GMK_PWALL_WORK)obj_work;
     if (((int)AppMain.g_gm_main_system.ply_work[0].player_flag & 1024) != 0)
     {
         gmsGmkPwallWork.ply_death  = true;
         gmsGmkPwallWork.wall_speed = 0;
         AppMain.gmGmkPressWallSeStop(obj_work);
     }
     if (AppMain.g_gm_gamedat_zone_type_tbl[(int)AppMain.g_gs_main_sys_info.stage_id] == 2)
     {
         if (gmsGmkPwallWork.wall_speed == 0 || gmsGmkPwallWork.ply_death)
         {
             gmsGmkPwallWork.wall_vibration &= (short)3;
             gmsGmkPwallWork.wall_vibration += (short)3;
             gmsGmkPwallWork.wall_brake      = gmsGmkPwallWork.wall_speed;
             obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForce_100);
             AppMain.gmGmkPressWallForce_100(obj_work);
             return;
         }
         obj_work.pos.x     += gmsGmkPwallWork.wall_speed;
         obj_work.user_timer = AppMain.wall_vib[(int)gmsGmkPwallWork.wall_vibration & 7];
         ++gmsGmkPwallWork.wall_vibration;
         if (gmsGmkPwallWork.wall_effect_build_timer == (short)0)
         {
             AppMain.OBS_OBJECT_WORK obsObjectWork = (AppMain.OBS_OBJECT_WORK)AppMain.GmEfctZoneEsCreate((AppMain.OBS_OBJECT_WORK)null, 2, 32);
             obsObjectWork.pos.x = obj_work.pos.x;
             obsObjectWork.pos.y = AppMain.g_obj.camera[0][1];
             obsObjectWork.pos.z = obj_work.pos.z;
             obsObjectWork.spd.x = gmsGmkPwallWork.wall_speed;
             gmsGmkPwallWork.wall_effect_build_timer = (short)(((int)AppMain.mtMathRand() & 63) + 90);
         }
         --gmsGmkPwallWork.wall_effect_build_timer;
         obj_work.pos.y = AppMain.g_obj.camera[0][1];
     }
     else
     {
         obj_work.pos.x += gmsGmkPwallWork.wall_speed;
         if (gmsGmkPwallWork.ply_death || gmsGmkPwallWork.wall_speed == 0)
         {
             if (gmsGmkPwallWork.efct_obj != null)
             {
                 AppMain.ObjDrawKillAction3DES(gmsGmkPwallWork.efct_obj);
                 gmsGmkPwallWork.efct_obj = (AppMain.OBS_OBJECT_WORK)null;
                 gmsGmkPwallWork.wall_effect_build_timer = (short)0;
             }
             obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForceZ4_Stop);
         }
         else if (((int)obj_work.user_flag & 1) != 0 || gmsGmkPwallWork.ply_death)
         {
             gmsGmkPwallWork.wall_brake = gmsGmkPwallWork.wall_speed;
             obj_work.user_flag        &= 4294967294U;
             obj_work.ppFunc            = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPressWallForceZ4_Hit);
             if (gmsGmkPwallWork.efct_obj != null)
             {
                 AppMain.ObjDrawKillAction3DES(gmsGmkPwallWork.efct_obj);
                 gmsGmkPwallWork.efct_obj = (AppMain.OBS_OBJECT_WORK)null;
                 gmsGmkPwallWork.wall_effect_build_timer = (short)0;
             }
         }
         else
         {
             --gmsGmkPwallWork.wall_effect_build_timer;
         }
     }
     if (gmsGmkPwallWork == AppMain.pwall)
     {
         return;
     }
     obj_work.flag |= 8U;
     gmsGmkPwallWork.gmk_work.ene_com.enemy_flag |= 65536U;
     AppMain.gmGmkPressWallSeStop(obj_work);
 }