// Token: 0x0600053F RID: 1343 RVA: 0x0002C71C File Offset: 0x0002A91C private static void gmGmkTarzanRopeUpdatePlayerMotion(OBS_OBJECT_WORK obj_work, int angle_target, int angle_current) { AppMain.UNREFERENCED_PARAMETER(obj_work); GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; OBS_OBJECT_WORK obj_work2 = gms_PLAYER_WORK.obj_work; AppMain.OBS_ACTION3D_NN_WORK obj_3d = obj_work2.obj_3d; float num = 34f; int num2 = AppMain.MTM_MATH_ABS(angle_target); int num3 = AppMain.MTM_MATH_ABS(angle_current); if (num2 < 1792 && num3 < 1792) { int a = AppMain.gmGmkTarzanRopeGetGimmickRotZ(gms_PLAYER_WORK); if (gms_PLAYER_WORK.act_state != 64 && AppMain.MTM_MATH_ABS(a) < 208) { GmPlayer.ActionChange(gms_PLAYER_WORK, 64); obj_work2.disp_flag |= 4U; } return; } if (gms_PLAYER_WORK.act_state == 64) { GmPlayer.ActionChange(gms_PLAYER_WORK, 63); obj_work2.disp_flag |= 4U; return; } if ((obj_work2.disp_flag & 1U) != 0U) { if (angle_target > 0 && angle_current > 0) { if (obj_3d.frame[0] > num) { obj_work2.disp_flag |= 16U; return; } } else if (angle_target < 0 && angle_current < 0 && obj_3d.frame[0] < num) { obj_work2.disp_flag |= 16U; return; } } else if (angle_target > 0 && angle_current > 0) { if (obj_3d.frame[0] < num) { obj_work2.disp_flag |= 16U; return; } } else if (angle_target < 0 && angle_current < 0 && obj_3d.frame[0] > num) { obj_work2.disp_flag |= 16U; } }
// Token: 0x06001B0B RID: 6923 RVA: 0x000F62C4 File Offset: 0x000F44C4 private static void gmGmkPulleyMove(OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; GMS_PLAYER_WORK gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)]; if (gms_PLAYER_WORK.gmk_obj != obj_work) { AppMain.gmGmkPulleySecedeSet(obj_work, 0); obj_work.flag |= 2U; obj_work.user_timer = 36; return; } if (obj_work.spd.x > 0) { obj_work.spd.x = obj_work.spd.x - 64; if (obj_work.spd.x < 0) { obj_work.spd.x = 0; } } else { obj_work.spd.x = obj_work.spd.x + 64; if (obj_work.spd.x > 0) { obj_work.spd.x = 0; } } if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 2) != 0) { if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 1) != 0) { obj_work.spd.x = obj_work.spd.x - 128; } else { obj_work.spd.x = obj_work.spd.x + 128; } } if ((AppMain.g_gs_main_sys_info.game_flag & 1U) != 0U) { int num = AppMain.MTM_MATH_CLIP(GmPlayer.KeyGetGimmickRotZ(gms_PLAYER_WORK), -24576, 24576); num = num * 160 / 24576; obj_work.spd.x = obj_work.spd.x + num; } else { int num2 = AppMain.MTM_MATH_CLIP(gms_PLAYER_WORK.key_rot_z, -24576, 24576); num2 = num2 * 160 / 24576; obj_work.spd.x = obj_work.spd.x + num2; } if (gms_PLAYER_WORK.act_state != 59 && obj_work.spd.x > -256 && obj_work.spd.x < 256) { obj_work.user_flag |= 32768U; } if ((gms_PLAYER_WORK.act_state != 59 && gms_PLAYER_WORK.act_state != 66) || (gms_PLAYER_WORK.obj_work.disp_flag & 8U) != 0U) { int num3; int id; if ((gms_PLAYER_WORK.obj_work.disp_flag & 1U) != 0U) { num3 = 56; id = 0; } else { num3 = 56; id = 0; } if ((obj_work.spd.x < -256 || obj_work.spd.x > 256) && (obj_work.user_flag & 32768U) != 0U) { GmPlayer.ActionChange(gms_PLAYER_WORK, 59); AppMain.ObjDrawObjectActionSet3DNN(obj_work, 4, 0); obj_work.user_flag = ( uint )(( ulong )obj_work.user_flag & 18446744073709518847UL); } else if (gms_PLAYER_WORK.act_state != num3) { GmPlayer.ActionChange(gms_PLAYER_WORK, num3); gms_PLAYER_WORK.obj_work.disp_flag |= 4U; AppMain.ObjDrawObjectActionSet3DNN(obj_work, id, 0); obj_work.disp_flag |= 4U; } } obj_work.dir.z = ( ushort )AppMain.MTM_MATH_CLIP(( int )(( short )(obj_work.spd.x / 4)), -10240, 10240); gms_ENEMY_3D_WORK.ene_com.target_dp_dir.z = obj_work.dir.z; int num4; int num5; if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 1) != 0) { num4 = gms_ENEMY_3D_WORK.ene_com.born_pos_x - ( int )(gms_ENEMY_3D_WORK.ene_com.eve_rec.left * 64) * 4096; num5 = gms_ENEMY_3D_WORK.ene_com.born_pos_x; } else { num4 = gms_ENEMY_3D_WORK.ene_com.born_pos_x; num5 = gms_ENEMY_3D_WORK.ene_com.born_pos_x + ( int )(gms_ENEMY_3D_WORK.ene_com.eve_rec.left * 64) * 4096; } if (obj_work.pos.x < num4) { if (gms_PLAYER_WORK.obj_work.pos.x > num4 + 32768) { gms_PLAYER_WORK.obj_work.pos.x = num4 + 32768; } AppMain.gmGmkPulleySonicTakeOffSet(gms_PLAYER_WORK, obj_work.spd.x); AppMain.gmGmkPulleySecedeSet(obj_work, num4); obj_work.user_timer = 0; } else if (obj_work.pos.x > num5) { if (gms_PLAYER_WORK.obj_work.pos.x < num5 - 32768) { gms_PLAYER_WORK.obj_work.pos.x = num5 - 32768; } AppMain.gmGmkPulleySonicTakeOffSet(gms_PLAYER_WORK, obj_work.spd.x); AppMain.gmGmkPulleySecedeSet(obj_work, num5); obj_work.user_timer = 0; } if (obj_work.ppFunc == AppMain.gmGmkPulleyMove && AppMain.MTM_MATH_ABS(obj_work.spd.x) > 4096) { AppMain.gmGmkPulleySparkInit(obj_work); } else { AppMain.gmGmkPulleySparkKill(obj_work); } AppMain.ObjObjectMove(obj_work); if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 2) != 0) { int num6 = AppMain.MTM_MATH_ABS(gms_ENEMY_3D_WORK.ene_com.born_pos_x - obj_work.pos.x); num6 /= 2; obj_work.pos.y = gms_ENEMY_3D_WORK.ene_com.born_pos_y + num6; } }