This is only to overload createEnumerationCodec to work with uint32[L] codecs (which are Long)
</p></div></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#createLongIntEnumCodec"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="createLongIntEnumCodec[E<:enumeratum.values.IntEnumEntry](enum:enumeratum.values.IntEnum[E],storageCodec:scodec.Codec[Long]):scodec.Codec[E]"></a><aid="createLongIntEnumCodec[E<:IntEnumEntry](IntEnum[E],Codec[Long]):Codec[E]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#createLongIntEnumCodec[E<:enumeratum.values.IntEnumEntry](enum:enumeratum.values.IntEnum[E],storageCodec:scodec.Codec[Long]):scodec.Codec[E]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">createLongIntEnumCodec</span><spanclass="tparams">[<spanname="E">E <: <spanname="enumeratum.values.IntEnumEntry"class="extype">IntEnumEntry</span></span>]</span><spanclass="params">(<spanname="enum">enum: <spanname="enumeratum.values.IntEnum"class="extype">IntEnum</span>[<spanname="net.psforever.packet.PacketHelpers.createLongIntEnumCodec.E"class="extype">E</span>]</span>, <spanname="storageCodec">storageCodec: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Long"class="extype">Long</span>]</span>)</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="net.psforever.packet.PacketHelpers.createLongIntEnumCodec.E"class="extype">E</span>]</span></span></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#emptyCodec"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="emptyCodec[T](instance:T):scodec.Codec[T]"></a><aid="emptyCodec[T](T):Codec[T]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#emptyCodec[T](instance:T):scodec.Codec[T]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">emptyCodec</span><spanclass="tparams">[<spanname="T">T</span>]</span><spanclass="params">(<spanname="instance">instance: <spanname="net.psforever.packet.PacketHelpers.emptyCodec.T"class="extype">T</span></span>)</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="net.psforever.packet.PacketHelpers.emptyCodec.T"class="extype">T</span>]</span></span><pclass="shortcomment cmt">Used in certain instances where Codec defintions are stubbed out</p></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#encodedString"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="encodedString:scodec.Codec[String]"></a><aid="encodedString:Codec[String]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#encodedString:scodec.Codec[String]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">encodedString</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Predef.String"class="extype">String</span>]</span></span><pclass="shortcomment cmt">Codec for how PlanetSide represents strings on the wire</p></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#encodedStringAligned"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="encodedStringAligned(adjustment:Int):scodec.Codec[String]"></a><aid="encodedStringAligned(Int):Codec[String]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#encodedStringAligned(adjustment:Int):scodec.Codec[String]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">encodedStrin
will byte align after decoding the string lenght, but BEFORE the string itself. Scodec doesn't like this
variability and there doesn't appear to be a way to fix this issue.</p></div><dlclass="paramcmts block"><dtclass="param">adjustment</dt><ddclass="cmt"><p>The adjustment amount in bits</p></dd><dt>returns</dt><ddclass="cmt"><p>Generated string decoding codec with adjustment</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#encodedStringSize"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="encodedStringSize:scodec.Codec[Int]"></a><aid="encodedStringSize:Codec[Int]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#encodedStringSize:scodec.Codec[Int]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">encodedStringSize</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Int"class="extype">Int</span>]</span></span><pclass="shortcomment cmt">Common codec for how PlanetSide stores string sizes</p><divclass="fullcomment"><divclass="comment cmt"><p>Common codec for how PlanetSide stores string sizes</p><p>When the first bit of the byte is set, the size can be between [0, 127].
Otherwise, it is between [128, 32767] and two bytes are used for encoding.
The magic in this is next level (read as: SCodec makes things hard to understand)
</p></div></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#encodedWideString"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="encodedWideString:scodec.Codec[String]"></a><aid="encodedWideString:Codec[String]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#encodedWideString:scodec.Codec[String]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">encodedWideString</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Predef.String"class="extype">String</span>]</span></span><pclass="shortcomment cmt">Common codec for PlanetSide wchar_t strings (wide strings, UTF-16)</p><divclass="fullcomment"><divclass="comment cmt"><p>Common codec for PlanetSide wchar_t strings (wide strings, UTF-16)</p><p>An encoded *wide* string is twice the length of the given encoded size and half of the length of the
input string. We use xmap to transform the <ahref="#encodedString:scodec.Codec[String]"name="net.psforever.packet.PacketHelpers#encodedString"id="net.psforever.packet.PacketHelpers#encodedString"class="extmbr">encodedString</a> codec as this change is just a division and multiply
</p></div></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#encodedWideStringAligned"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="encodedWideStringAligned(adjustment:Int):scodec.Codec[String]"></a><aid="encodedWideStringAligned(Int):Codec[String]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#encodedWideStringAligned(adjustment:Int):scodec.Codec[String]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">encodedWideStringAligned</span><spanclass="params">(<spanname="adjustment">adjustment: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Predef.String"class="extype">String</span>]</span></span><pclass="shortcomment cmt">Same as <ahref="#encodedWideString:scodec.Codec[String]"name="net.psforever.packet.PacketHelpers#encodedWideString"id="net.psforever.packet.PacketHelpers#encodedWideString"class="extmbr">encodedWideString</a> but with a bit alignment after the decoded size
This function is copied almost verbatim from its source, with exception of swapping the normal <code>ListCodec</code> for a new <code>AlignedListCodec</code>.</p><divclass="fullcomment"><divclass="comment cmt"><p>Encode and decode a byte-aligned <code>List</code>.<br>
<br>
This function is copied almost verbatim from its source, with exception of swapping the normal <code>ListCodec</code> for a new <code>AlignedListCodec</code>.</p></div><dlclass="paramcmts block"><dtclass="tparam">A</dt><ddclass="cmt"><p>the type of the <code>List</code> contents</p></dd><dtclass="param">countCodec</dt><ddclass="cmt"><p>the codec that represents the prefixed size of the <code>List</code></p></dd><dtclass="param">alignment</dt><ddclass="cmt"><p>the number of bits padded between the <code>List</code> size and the <code>List</code> contents</p></dd><dtclass="param">valueCodec</dt><ddclass="cmt"><p>a codec that describes each of the contents of the <code>List</code></p></dd><dt>returns</dt><ddclass="cmt"><p>a codec that works on a List of A</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p>codec\package.scala, listOfN</p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#listOfNSized"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="listOfNSized[A](size:Long,codec:scodec.Codec[A]):scodec.Codec[List[A]]"></a><aid="listOfNSized[A](Long,Codec[A]):Codec[List[A]]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#listOfNSized[A](size:Long,codec:scodec.Codec[A]):scodec.Codec[List[A]]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">listOfNSized</span><spanclass="tparams">[<spanname="A">A</span>]</span><spanclass="params">(<spanname="size">size: <spanname="scala.Long"class="extype">Long</span></span>, <spanname="codec">codec: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="net.psforever.packet.PacketHelpers.listOfNSized.A"class="extype">A</span>]</span>)</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.List"class="extype">List</span>[<spanname="net.psforever.packet.PacketHelpers.listOfNSized.A"class="extype">A</span>]]</span></span><pclass="shortcomment cmt">Codec that encodes/decodes a list of <code>n</code> elements, where <code>n</code> is known at compile time.<br>
<br>
This function is copied almost verbatim from its source, with exception of swapping the parameter that is normally a <code>Nat</code><code>literal</code>.</p><divclass="fullcomment"><divclass="comment cmt"><p>Codec that encodes/decodes a list of <code>n</code> elements, where <code>n</code> is known at compile time.<br>
<br>
This function is copied almost verbatim from its source, with exception of swapping the parameter that is normally a <code>Nat</code><code>literal</code>.
The modified function takes a normal unsigned <code>Integer</code> and assures that the parameter is non-negative before further processing.</p></div><dlclass="paramcmts block"><dtclass="tparam">A</dt><ddclass="cmt"><p>the type of the <code>List</code> contents</p></dd><dtclass="param">size</dt><ddclass="cmt"><p>the known size of the <code>List</code></p></dd><dtclass="param">codec</dt><ddclass="cmt"><p>a codec that describes each of the contents of the <code>List</code></p></dd><dt>returns</dt><ddclass="cmt"><p>a codec that works on a List of A but excludes the size from the encoding</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p>codec\package.scala, sizedList</p></span><spanclass="cmt"><p>codec\package.scala, listOfN</p></span><spanclass="cmt"><p>codec\package.scala, provides</p></span></dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#ne"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ne(x$1:AnyRef):Boolean"></a><aid="ne(AnyRef):Boolean"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#ne(x$1:AnyRef):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">ne</span><spanclass="params">(<spanname="arg0">arg0: <spanname="scala.AnyRef"class="extype">AnyRef</span></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#notify"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="notify():Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#notify():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">notify</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><spanclass="name">@native</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#notifyAll"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="notifyAll():Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#notifyAll():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">notifyAll</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><spanclass="name">@native</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#peek"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="peek[A](target:scodec.Codec[A]):scodec.Codec[A]"></a><aid="peek[A](Codec[A]):Codec[A]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#peek[A](target:scodec.Codec[A]):scodec.Codec[A]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">peek</span><spanclass="tparams">[<spanname="A">A</span>]</span><spanclass="params">(<spanname="target">target: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="net.psforever.packet.PacketHelpers.peek.A"class="extype">A</span>]</span>)</span><spa
Decoding <code>Codec[A]</code> from the input vector emits a value but reverts to the prior read position.
Encoding <code>Codec[A]</code> to the input vector appends no new data to the input vector.
In effect, <code>peek</code> is a harmless meta-<code>Codec</code> that processes a value and introduces no changes to the input/output vector.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>codec that decodes the value</p></dd><dt>returns</dt><ddclass="cmt"><p><code>Codec</code> that behaves the same as <code>target</code> but resets the contents of the vector as if <code>Codec</code> were never applied</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>scodec.codecs.peek</code> or <code>codecs/package.scala:peek</code></p></span></dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#synchronized"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="synchronized[T0](x$1:=>T0):T0"></a><aid="synchronized[T0](=>T0):T0"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#synchronized[T0](x$1:=>T0):T0"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">synchronized</span><spanclass="tparams">[<spanname="T0">T0</span>]</span><spanclass="params">(<spanname="arg0">arg0: =><spanname="java.lang.AnyRef.synchronized.T0"class="extype">T0</span></span>)</span><spanclass="result">: <spanname="java.lang.AnyRef.synchronized.T0"class="extype">T0</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#toString"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="toString():String"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#toString():String"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">toString</span><spanclass="params">()</span><spanclass="result">: <ahref="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String"name="java.lang.String"id="java.lang.String"class="extype">String</a></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><liclass="indented0 "name="net.psforever.packet.PacketHelpers#utf16"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="utf16:scodec.Codec[String]"></a><aid="utf16:Codec[String]"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#utf16:scodec.Codec[String]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">val</span></span><spanclass="symbol"><spanclass="name">utf16</span><spanclass="result">: <spanname="scodec.Codec"class="extype">Codec</span>[<spanname="scala.Predef.String"class="extype">String</span>]</span></span><pclass="shortcomment cmt">Variable for the charset that PlanetSide uses for unicode (2 byte unicode)</p></li><liclass="indented0 "name="scala.AnyRef#wait"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="wait():Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/packet/PacketHelpers$.html#wait():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">wait</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><spanclass="name">@throws</span><spanclass="args">(<span><spanclass="defval">classOf[java.lang.InterruptedException]</span></span>)</span></dd></dl></div></li><liclass="indented0 "name="scala