Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainCore module · function

Native::

LoadJoin

Experimental

Load the joiner's world from the stream's save at S (FTerrainSerialization::LoadFromFile: paged when the world has a page store, so codes still on their way stay cold), check StateHash and SyncHash against the head, hold the save's next feature id to the head's, then set the record position to S.

Declaration

EJoinLoad LoadJoin(FTerrainWorld& World, const FJoinStreamReader& Reader, ELoadResult* OutLoad = nullptr,
                                           FTerrainFileLoadInfo* OutInfo = nullptr);
Header
#include "Native/Net/NetJoin.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrainCore"); in your module’s Build.cs.
Stability
Experimental: supported, may change in a minor version, with a changelog line.
Thread
Game thread.

Description

The load reads the reader's file from memory; once it loaded, the file lets each run go as it reaches the reader's store. First it adds the stream's brush masks (FJoinStreamReader::Masks) to the world's FBrushMaskRegistry, which keeps them after the load.

Parameters

NameTypeDefaultMeaning
WorldFTerrainWorld&——
Readerconst FJoinStreamReader&——
OutLoadELoadResult*nullptr—
OutInfoFTerrainFileLoadInfo*nullptr—
Note.

Game thread. O(world) once (the hashes). Keep feeding the reader after a paged load: the world's cold pages read the codes from its file as they arrive (IoError until then, retried).