// 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); } }
// Token: 0x06000670 RID: 1648 RVA: 0x00039260 File Offset: 0x00037460 public static void gmGmkTruckMain(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_TRUCK_WORK gms_GMK_TRUCK_WORK = (AppMain.GMS_GMK_TRUCK_WORK)obj_work; if (gms_GMK_TRUCK_WORK.target_player == null) { AppMain.gmGmkTruckInitDeathFall(obj_work, null); obj_work.ppFunc(obj_work); return; } if ((gms_GMK_TRUCK_WORK.target_player.player_flag & 262144U) == 0U) { AppMain.gmGmkTruckInitFree(obj_work, gms_GMK_TRUCK_WORK.target_player); obj_work.ppFunc(obj_work); return; } if ((gms_GMK_TRUCK_WORK.target_player.gmk_flag2 & 64U) != 0U) { AppMain.gmGmkTruckInitDeathFall(obj_work, gms_GMK_TRUCK_WORK.target_player); obj_work.ppFunc(obj_work); return; } if ((gms_GMK_TRUCK_WORK.target_player.player_flag & 1024U) != 0U) { obj_work.pos.z = 983040; } GMS_PLAYER_WORK target_player = gms_GMK_TRUCK_WORK.target_player; obj_work.prev_pos = obj_work.pos; obj_work.pos.x = target_player.obj_work.pos.x; obj_work.pos.y = target_player.obj_work.pos.y; obj_work.move.x = obj_work.pos.x - obj_work.prev_pos.x; obj_work.move.y = obj_work.pos.y - obj_work.prev_pos.y; obj_work.move.z = obj_work.pos.z - obj_work.prev_pos.z; obj_work.dir = target_player.obj_work.dir; obj_work.dir.z = ( ushort )(obj_work.dir.z + target_player.obj_work.dir_fall); obj_work.vib_timer = target_player.obj_work.vib_timer; obj_work.disp_flag &= 4294967279U; if ((target_player.obj_work.move_flag & 1U) != 0U) { gms_GMK_TRUCK_WORK.tire_dir_spd = target_player.obj_work.spd_m; } else { gms_GMK_TRUCK_WORK.tire_dir_spd = AppMain.ObjSpdDownSet(gms_GMK_TRUCK_WORK.tire_dir_spd, 128); } AppMain.GMS_GMK_TRUCK_WORK gms_GMK_TRUCK_WORK2 = gms_GMK_TRUCK_WORK; gms_GMK_TRUCK_WORK2.tire_dir += ( ushort )AppMain.FX_Div(gms_GMK_TRUCK_WORK.tire_dir_spd, 65536); int num = -1; uint num2 = 0U; if ((0 <= target_player.act_state && target_player.act_state <= 7) || target_player.act_state == 69 || target_player.act_state == 70 || target_player.act_state == 74 || target_player.act_state == 76 || target_player.act_state == 75) { num = 3; num2 = 4U; } else if (71 <= target_player.act_state && target_player.act_state <= 72) { num = 0; num2 = 4U; } else if ((target_player.obj_work.move_flag & 1U) == 0U) { num = 1; num2 = 4U; } else if ((target_player.obj_work.move_flag & 1U) != 0U && (target_player.obj_work.move_flag & 4194304U) == 0U) { num = 2; } else if (obj_work.obj_3d.act_id[0] == 2 && (obj_work.disp_flag & 8U) != 0U) { if (target_player.obj_work.spd_m != 0) { num = 0; } else { num = 3; } num2 = 4U; } else if (11 <= target_player.act_state && target_player.act_state <= 16 && (obj_work.obj_3d.act_id[0] != 2 || (obj_work.disp_flag & 8U) != 0U)) { num = 3; num2 = 4U; } if (num != -1 && obj_work.obj_3d.act_id[0] != num) { AppMain.ObjDrawObjectActionSet3DNNBlend(obj_work, num); obj_work.disp_flag |= num2; } if (obj_work.obj_3d.act_id[0] != 3 && (11 > target_player.act_state || target_player.act_state > 16 || obj_work.obj_3d.act_id[0] != 2)) { obj_work.obj_3d.frame[0] = target_player.obj_work.obj_3d.frame[0]; } gms_GMK_TRUCK_WORK.slope_f_y_dir = 0; gms_GMK_TRUCK_WORK.slope_f_z_dir = 0; gms_GMK_TRUCK_WORK.slope_z_dir = 0; float num3; float num4; float num5; if ((target_player.player_flag & 4U) == 0U) { num3 = 0f; num4 = 8f; num5 = -5f; } else { num3 = 0f; num4 = 8f; num5 = 5f; } AppMain.nnMakeUnitMatrix(obj_work.obj_3d.user_obj_mtx_r); AppMain.nnTranslateMatrix(obj_work.obj_3d.user_obj_mtx_r, obj_work.obj_3d.user_obj_mtx_r, gms_GMK_TRUCK_WORK.trans_r.x, gms_GMK_TRUCK_WORK.trans_r.y, gms_GMK_TRUCK_WORK.trans_r.z); if ((target_player.gmk_flag & 262144U) != 0U && target_player.gmk_work3 != 0) { NNS_MATRIX nns_MATRIX = GlobalPool <NNS_MATRIX> .Alloc(); gms_GMK_TRUCK_WORK.slope_z_dir = ( ushort )target_player.gmk_work3; gms_GMK_TRUCK_WORK.slope_f_z_dir = ( ushort )(AppMain.MTM_MATH_ABS(target_player.gmk_work3) >> 2); gms_GMK_TRUCK_WORK.slope_f_y_dir = ( ushort )(target_player.gmk_work3 >> 2); AppMain.nnMakeUnitMatrix(nns_MATRIX); AppMain.nnTranslateMatrix(nns_MATRIX, nns_MATRIX, -num3, -num4, -num5); AppMain.nnRotateXMatrix(nns_MATRIX, nns_MATRIX, ( int )gms_GMK_TRUCK_WORK.slope_z_dir); AppMain.nnRotateYMatrix(nns_MATRIX, nns_MATRIX, ( int )gms_GMK_TRUCK_WORK.slope_f_y_dir); AppMain.nnRotateZMatrix(nns_MATRIX, nns_MATRIX, ( int )gms_GMK_TRUCK_WORK.slope_f_z_dir); AppMain.nnTranslateMatrix(nns_MATRIX, nns_MATRIX, num3, num4, num5); AppMain.nnMultiplyMatrix(obj_work.obj_3d.user_obj_mtx_r, obj_work.obj_3d.user_obj_mtx_r, nns_MATRIX); GlobalPool <NNS_MATRIX> .Release(nns_MATRIX); } if ((target_player.obj_work.move_flag & 1U) != 0U && AppMain.MTM_MATH_ABS(target_player.obj_work.spd_m) >= AppMain.GMD_GMK_TRUCK_SPARK_EFCT_SMALL_MIN_SPD && (gms_GMK_TRUCK_WORK.efct_f_spark == null || gms_GMK_TRUCK_WORK.efct_b_spark == null)) { AppMain.gmGmkTruckCreateSparkEfct(gms_GMK_TRUCK_WORK, 27); } if (gms_GMK_TRUCK_WORK.h_snd_lorry.au_player.sound == null || gms_GMK_TRUCK_WORK.h_snd_lorry.au_player.sound[0] == null) { gms_GMK_TRUCK_WORK.h_snd_lorry = GsSound.AllocSeHandle(); gms_GMK_TRUCK_WORK.h_snd_lorry.au_player.SetAisac("Speed", 0f); GmSound.PlaySEForce("Lorry", gms_GMK_TRUCK_WORK.h_snd_lorry, true); } AppMain.gmGmkTruckSetMoveSeParam(obj_work, gms_GMK_TRUCK_WORK.h_snd_lorry, target_player, ((target_player.player_flag & 16777216U) != 0U) ? 1 : 0); }