buffer_seek

Move to a point within the buffer for reading/writing.

Syntax:

GML Code Example

buffer_seek(buffer, base, offset);


Argument Description
buffer The index of the buffer to use.
base The base position to seek.
offset The data offset value.


Returns: N/A


Description

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 "offset" 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:

  • You can use negative values for the offset to seek back through the buffer as well as positive values.

  • If the buffer is of the "wrap" type and you offset past the end of the buffer, the seek position will also wrap.

  • If the buffer is not of the "wrap" 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.

The following constants are accepted as the "base" argument for seeking to:

Constant Description
buffer_seek_start The start of the buffer
buffer_seek_relative A position relative to the current read/write position
buffer_seek_end The end of the buffer


Example:

GML Code Example

buffer_seek(buff, buffer_seek_start, 0);
 buffer_write(buff, buffer_s16, 0);
 buffer_write(buff, buffer_s16, x);
 buffer_write(buff, buffer_s16, y);
 

The above code finds the start of the buffer with the id stored in the variable "buff" them writes a series of signed 16bit integer values to it.


Back: Buffers



No Examples Submitted

Does this page need better examples? Be the first to Submit

No Edits Suggested

Is this page unclear or not descriptive enough? Suggest an edit to the page and with enough upvotes your changes will be made.

No Questions Have Been Ask

Do you have a question about this page? Ask it Here