gm-docs-parser 1.0.0

A collection of typings for GameMaker Studio 2 manual pages
Documentation
<?xml version="1.0" encoding="utf-8" ?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head>

  <script type="text/javascript" language="JavaScript">
    //<![CDATA[
    function reDo() {
      if (innerWidth != origWidth || innerHeight != origHeight)
        location.reload();
    }
    if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
      origWidth = innerWidth;
      origHeight = innerHeight;
      onresize = reDo;
    }
    onerror = null;
  //]]>
  </script>
  <style type="text/css">/*<![CDATA[*/

    < !-- div.WebHelpPopupMenu {
      position: absolute;
      left: 0px;
      top: 0px;
      z-index: 4;
      visibility: hidden;
    }

    p.WebHelpNavBar {
      text-align: right;
    }

    -->
  
/*]]>*/</style>

  <script type="text/javascript">//<![CDATA[

    gRootRelPath = "../../..";
    gCommonRootRelPath = "../../..";
    gTopicId = "9.2.17.0_9";
  
//]]></script>

  <script type="text/javascript" src="../../../template/scripts/rh.min.js"></script>
  <script type="text/javascript" src="../../../template/scripts/common.min.js"></script>
  <script type="text/javascript" src="../../../template/scripts/topic.min.js"></script>
  <script type="text/javascript" src="../../../template/scripts/topicwidgets.min.js"></script>
<script type="text/javascript" src="../../../whxdata/projectsettings.js"></script>
  <link rel="stylesheet" type="text/css" href="../../../template/styles/topic.min.css"/>
  <link rel="stylesheet" type="text/css" href="../../../template/Charcoal_Grey/topicheader.css"/>
  <meta name="topic-status" content="Draft"/>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>buffer_seek</title>
  <meta name="generator" content="Adobe RoboHelp 2019"/>
  <link rel="stylesheet" href="../../../assets/css/default.css" type="text/css"/>
  <meta name="rh-authors" content="Mark Alexander"/>
  <meta name="topic-comment" content="Reference page for buffer_seek"/>
  <meta name="rh-index-keywords" content="buffer_seek,buffer_seek_start,buffer_seek_relative,buffer_seek_end"/>
  <meta name="search-keywords" content="buffer_seek,buffer_seek_start,buffer_seek_relative,buffer_seek_end"/>
</head>

<body>
  <div class="topic-header rh-hide" id="rh-topic-header" onclick="rh._.goToFullLayout()">
    <div class="logo">
    </div>
    <div class="nav">
      <div class="title" title="buffer_seek">
        <span>buffer_seek</span>
      </div>
      <div class="gotohome" title="Click here to see this page in full context">
        <span>Click here to see this page in full context</span>
      </div>
    </div>
  </div>
  <div class="topic-header-shadow rh-hide" id="rh-topic-header-shadow"></div>



  <!--<div class="body-scroll" style="top: 150px;">-->
  <h1>buffer_seek</h1>
  <p>This function can be used to move through a buffer, finding the start, the end, or a position relative to that which was last used when reading or writing data. The &quot;offset&quot; value is the offset (in bytes) to add to the given seek position,
    for example, if the base is relative and the offset is 4, then the buffer position will move along 4 bytes from its current position. Please note the following:</p>
  <ul class="colour">
    <li>You can use negative values for the offset to seek back through the buffer as well as positive values.</li>
    <li>If the buffer is of the &quot;wrap&quot; type and you offset past the end of the buffer, the seek position will also wrap.</li>
    <li>If the buffer is not of the &quot;wrap&quot; type, the seek will clamp to the beginning or end of the buffer, even when the offset would take the seek outside of the buffer limits.</li>
  </ul>
  <p>The following constants are accepted as the &quot;base&quot; argument for seeking to:</p>
  <p> </p>
  <table>
    <tbody>
      <tr>
        <th>Constant</th>
        <th>Description</th>
      </tr>
      <tr>
        <td>buffer_seek_start</td>
        <td>The start of the buffer</td>
      </tr>
      <tr>
        <td>buffer_seek_relative</td>
        <td>A position relative to the current read/write position</td>
      </tr>
      <tr>
        <td>buffer_seek_end</td>
        <td>The end of the buffer</td>
      </tr>
    </tbody>
  </table>
  <p> </p>
  <p> </p>
  <h4>Syntax:</h4>
  <p class="code">buffer_seek(buffer, base, offset);</p>
  <table>
    <tbody>
      <tr>
        <th>Argument</th>
        <th>Description</th>
      </tr>
      <tr>
        <td>buffer</td>
        <td>The index of the buffer to use.</td>
      </tr>
      <tr>
        <td>base</td>
        <td>The base position to seek.</td>
      </tr>
      <tr>
        <td>offset</td>
        <td>The data offset value.</td>
      </tr>
    </tbody>
  </table>
  <p> </p>
  <h4>Returns:</h4>
  <p class="code">N/A</p>
  <p> </p>
  <h4>Example:</h4>
  <p class="code">buffer_seek(buff, buffer_seek_start, 0);<br/> buffer_write(buff, buffer_s16, 0);<br/> buffer_write(buff, buffer_s16, x);<br/> buffer_write(buff, buffer_s16, y);</p>
  <p>The above code finds the start of the buffer with the id stored in the variable &quot;buff&quot; them writes a series of signed 16bit integer values to it.</p>
  <p> </p>
  <p> </p>
  <p> </p>
  <div class="footer">
    <div class="buttons">
      <div class="clear">
        <div style="float:left">Back: <a href="Buffers.htm">Buffers</a></div>
        <div style="float:right">Next: <a href="buffer_tell.htm">buffer_tell</a></div>
      </div>
    </div>
    <h5>© Copyright YoYo Games Ltd. 2020 All Rights Reserved</h5>
  </div>
  <!-- KEYWORDS
buffer_seek
buffer_seek_start
buffer_seek_relative
buffer_seek_end
-->
  <!-- TAGS
buffer_seek
-->

</body></html>