Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrain module · struct

FOrreryTerrainNetHello

Experimental

The client's first message (ServerHello): what both sides must share before anything else travels.

Declaration

USTRUCT(BlueprintType)
struct FOrreryTerrainNetHello
Blueprint Make and Break Orrery Terrain Net Hello
The graph as text
  1. Break Orrery Terrain Net Hello (structure)
    • In Orrery Terrain Net Hello (OrreryTerrainNetHello): not connected
    • Out Net Version (Integer): not connected
    • Out Sculpt Record Version (Integer): not connected
    • Out Save Version (Integer): not connected
    • Out Natural Hash (Integer64): not connected
    • Out Grid Hash (Integer64): not connected
    • Out Held Masks (array of Integer64): not connected
    • Out Cached Save Hash (Integer64): not connected
Header
#include "Net/TerrainNetTypes.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrain"); in your module’s Build.cs.
Stability
Experimental: supported, may change in a minor version, with a changelog line.
Blueprint
“Orrery Terrain Net Hello”, a Blueprint type

Properties

NameTypeDefaultMeaning
NetVersionBlueprintReadOnlyint320—
SculptRecordVersionBlueprintReadOnlyint320—
SaveVersionBlueprintReadOnlyint320—
NaturalHashBlueprintReadOnlyint640

The natural ground's content hash (ITileSource::ContentHash): the ground never travels.

GridHashBlueprintReadOnlyint640

The grid's identity: origin, post spacing, edit subdivision.

HeldMasksBlueprintReadOnlyTArray<int64>—

The brush masks this side holds already (their ids, ascending; up to 1,024, net version 5): the server sends their BrushMask records as the hash only and leaves them out of the join's mask frames.

A resync's Hello refreshes it.

CachedSaveHashBlueprintReadOnlyint640

The file hash of the terrain save this client kept from an earlier join (net version 6); 0 when it holds none.

The server then sends only what that save does not hold. The client checks every byte it takes from it against the join's hashes.

Blueprint