Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrain module · member function

UOrreryTerrainSubsystem::

ApplySculptRecord

Blueprint

Apply one encoded sculpt record (a command or an undo/redo patch) received from the game's replication.

Declaration

UFUNCTION(BlueprintCallable, Category="Orrery|Terrain|Sculpt")
EOrreryTerrainSculptResult ApplySculptRecord(const TArray<uint8>& RecordBytes);
Blueprint Apply Sculpt Record
The graph as text
  1. Apply Sculpt Record (function call; Target is Orrery Terrain Subsystem)
    • In Target (self object): self
    • In Record Bytes (array of Byte): not connected
    • Out Return Value (EOrreryTerrainSculptResult): not connected
Header
#include "OrreryTerrainSubsystem.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrain"); in your module’s Build.cs.
Stability
Stable: changes within a major version only add.
Thread
Game thread.
Blueprint
Apply Sculpt Record, in Orrery › Terrain › Sculpt

Description

  • On the authority it is a client's request. A command is validated against the sculpt limits and re-stamped: its stroke id becomes the authority's (a BeginStroke request binds the client's id to the stroke it opens), and the step index is the authority's own. It is then applied and the authoritative record broadcast. A patch is a request to undo (UndoPatch) or redo (RedoPatch): only its version and kind are read, so EncodeSculptPatch of a patch without tiles is a valid request.

  • On a replica it is the authority's record. It is queued and applied in order by the tick, never skipped: a record over ground that is still loading holds the queue.

Parameters

NameTypeDefaultMeaning
RecordBytesconst TArray<uint8>&—

As OnSculptRecordBP (or a request encoder) delivered them.

Returns

What the record did; Pending on a replica means queued. Malformed bytes, Refused (outside the limits), ReadOnly (an editor world or a call from a listener).

Note.

Game thread. One open stroke at a time: requests of two clients interleave.