// 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); } } }
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; }
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]; }
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); }
// 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; } }
// 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; }
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; }
// 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; } }
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; }
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); }
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; }
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); }
// 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; }
// 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); }
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); } }
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); }
// 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); } }
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; } }
// 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; }
// 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; }
// 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); }
// 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); } }
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); }