Skip to content

Loaded archives ​

Group archives · 3 exports · from forks/gamexueren/scripthook.h (framework 1.0-beta7-wildm1, SH_API_VERSION 2)

What this session read, not what is on disk.

ExportSummary
ShForgeReadCountHow many distinct .forge archives the engine has READ so far.
ShForgeReadNameFile name of the index-th read archive, without its folder: "DataPC.forge", "DataPC_GRN_WorldMap.forge".
ShForgeReadSeen1 when any read archive's file name contains name, case insensitive - so "WorldMap" and "DataPC_GRN_WorldMap.forge" both work.

ShForgeReadCount ​

c
SH_API int ShForgeReadCount(void);

How many distinct .forge archives the engine has READ so far. Read, not opened: an archive opened and never read is not loaded. The list is kept by the forge I/O layer (scripthook_forge_io.c), which has to resolve every read handle to a path anyway, and it is installed for this alone - [forgemod] ledger=1 by default - even when nothing is being modded. 0 until the first archive is read.

It is worth asking because a mode that mounts an archive of its own reads a file the other modes never touch: a session that read it cannot have been in the other mode. The engine reads its archives rather than mapping them (measured: 47 opens, 646 reads, not one CreateFileMapping or MapViewOfFile on a .forge), so a mapped file name would have missed every one of them.

scripthook.h, line 2032

ShForgeReadName ​

c
SH_API const char *ShForgeReadName(int index);

File name of the index-th read archive, without its folder: "DataPC.forge", "DataPC_GRN_WorldMap.forge". "" for an index out of range. The order is the order the archives were first read in.

scripthook.h, line 2038

ShForgeReadSeen ​

c
SH_API int ShForgeReadSeen(const char *name);

1 when any read archive's file name contains name, case insensitive - so "WorldMap" and "DataPC_GRN_WorldMap.forge" both work. This is the cheap question: it does not name a mode by itself (every mode reads archives every mode reads), but an archive only one mode reads settles which mode this is.

scripthook.h, line 2046

WildM is an independent community project. It is not affiliated with or endorsed by Ubisoft. Ghost Recon Wildlands is a trademark of Ubisoft Entertainment.