PSF-LoginServer/net/psforever/packet/game/PlayerStateMessage.html

29 lines
145 KiB
HTML
Raw Normal View History

<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.packet.game.PlayerStateMessage</title><meta content="PSF - LoginServer - master - net.psforever.packet.game.PlayerStateMessage" name="description"/><meta content="PSF LoginServer master net.psforever.packet.game.PlayerStateMessage" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left">&lt;</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.packet" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="packet"></a><a id="packet:packet"></a> <span class="permalink"><a href="../../../../net/psforever/packet/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">packet</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.packet.game" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="game"></a><a id="game:game"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">game</span></a></span><div class="fullcomme
<br>
This packet instructs the basic aspects of how the player character is positioned and how the player character moves.
Each client keeps track of where a character "currently" is according to that client.
<code>pos</code> reflects an update in regards to where the character should be moved.
Data between this "currently" and "new" are interpolated over a fixed time interval.
Position and velocity data is standard to normal PlanetSide ranges.
All angles follow the convention that every <code>0x1</code> is about 2.8125 degrees; so, <code>0x10</code> is 45.0 degrees.<br>
<br>
The avatar model normally moves from where it "currently" is to <code>pos</code>.
When <code>vel</code> is defined, <code>pos</code> is treated as where the avatar model starts its animation.
In that case, it appears to teleport to <code>pos</code> to carry out the interpolated movement according to <code>vel</code>.
After the move, it remains at essentially <code>pos + vel * t</code>.
The repositioning always takes the same amount of time.
The player model is left in a walking/running animation (in place) until directed otherwise.<br>
<br>
If the model must interact with the environment during a velocity-driven move, it copes with local physics.
A demonstration of this is what happens when one player "runs past"/"into" another player running up stairs.
The climbing player is frequently reported by the other to appear to bounce over that player's head.
If the other player is off the ground, passing too near to the observer can cause a rubber band effect on trajectory.
This effect is entirely client-side to the observer and affects the moving player in no way.</p></div><dl class="paramcmts block"><dt class="param">guid</dt><dd class="cmt"><p>the avatar's guid</p></dd><dt class="param">pos</dt><dd class="cmt"><p>the position of the avatar in the world environment (in three coordinates)</p></dd><dt class="param">vel</dt><dd class="cmt"><p>an optional velocity</p></dd><dt class="param">facingYaw</dt><dd class="cmt"><p>a "yaw" angle</p></dd><dt class="param">facingPitch</dt><dd class="cmt"><p>a "pitch" angle</p></dd><dt class="param">facingYawUpper</dt><dd class="cmt"><p>a "yaw" angle that represents the angle of the avatar's upper body with respect to its forward-facing direction;
this number is normally 0 for forward facing;
the range is limited between approximately 61 degrees of center turned to left or right</p></dd><dt class="param">timestamp</dt><dd class="cmt"><p>A sequential counter</p></dd><dt class="param">is_crouching</dt><dd class="cmt"><p>avatar is crouching</p></dd><dt class="param">is_jumping</dt><dd class="cmt"><p>avatar is jumping;
must remain flagged for jump to maintain animation</p></dd><dt class="param">jump_thrust</dt><dd class="cmt"><p>provide a measure of vertical stability when really close to the avatar character</p></dd><dt class="param">is_cloaked</dt><dd class="cmt"><p>avatar is cloaked by virtue of an Infiltration Suit</p></dd></dl><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/packet/game/PlayerStateMessage.scala" target="_blank">PlayerStateMessage.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.Product" class="extype">Product</span>, <span name="scala.Equals" class="extype">Equals</span>, <a href="../PlanetSideGamePacket.html" name="net.psforever.packet.PlanetSideGamePacket" id="net.psforever.packet.PlanetSideGamePacket" class="extype">PlanetSideGamePacket</a>, <a href="../PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable" name="java.io.Serializable" id="java.io.Serializable" class="extype">Serializable</a>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.packet.game.PlayerStateMessage"><span>PlayerStateMessage</span></li><li class="in" name="scala.Product"><span>Product</span></li><li class="in" name="scala.Equals"><span>Equals</span></li><li class="in" name="net.psforever.packet.PlanetSideGamePacket"><span>PlanetSideGamePacket</span></li><li class="in" name="net.psforever.packet.PlanetSidePacket"><span>PlanetSidePacket</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="net.psforever.packet.game.PlayerStateMessage#&lt;init&gt;" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="&lt;init&gt;(guid:net.psforever.types.PlanetSideGUID,pos:net.psforever.types.Vector3,vel:Option[net.psforever.types.Vector3],facingYaw:Float,facingPitch:Float,facingYawUpper:Float,timestamp:Int,is_crouching:Boolean,is_jumping:Boolean,jump_thrust:Boolean,is_cloaked:Boolean):net.psforever.packet.game.PlayerStateMessage"></a><a id="&lt;init&gt;:PlayerStateMessage"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html#&lt;init&gt;(guid:net.psforever.types.PlanetSideGUID,pos:net.psforever.types.Vector3,vel:Option[net.psforever.types.Vector3],facingYaw:Float,facingPitch:Float,facingYawUpper:Float,timestamp:Int,is_crouching:Boolean,is_jumping:Boolean,jump_thrust:Boolean,is_cloaked:Boolean):net.psforever.packet.game.PlayerStateMessage" title="Per
this number is normally 0 for forward facing;
the range is limited between approximately 61 degrees of center turned to left or right</p></dd><dt class="param">timestamp</dt><dd class="cmt"><p>A sequential counter</p></dd><dt class="param">is_crouching</dt><dd class="cmt"><p>avatar is crouching</p></dd><dt class="param">is_jumping</dt><dd class="cmt"><p>avatar is jumping;
must remain flagged for jump to maintain animation</p></dd><dt class="param">jump_thrust</dt><dd class="cmt"><p>provide a measure of vertical stability when really close to the avatar character</p></dd><dt class="param">is_cloaked</dt><dd class="cmt"><p>avatar is cloaked by virtue of an Infiltration Suit</p></dd></dl></div></li></ol></div><div id="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="net.psforever.packet.game.PlayerStateMessage.Packet" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Packet=net.psforever.packet.game.PlayerStateMessage"></a><a id="Packet:Packet"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html#Packet=net.psforever.packet.game.PlayerStateMessage" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">type</span></span> <span class="symbol"><span class="name">Packet</span><span class="result alias"> = <a href="" name="net.psforever.packet.game.PlayerStateMessage" id="net.psforever.packet.game.PlayerStateMessage" class="extype">PlayerStateMessage</a></span></span></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/PlayerStateMessage.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span>