On this page
liveupdate
Functions and constants to access resources.
Functions
liveupdate.get_mounts(): Record<string | number, unknown>
Get an array of the current mounts This can be used to determine if a new mount is needed or not
// Output the current resource mounts
pprint("MOUNTS", liveupdate.get_mounts());
// Give an output like:
// DEBUG:SCRIPT: MOUNTS,
// {
// 1 = {
// name = "liveupdate",
// uri = "zip:/device/path/to/acchives/liveupdate.zip",
// priority = 5
// },
// 2 = {
// name = "_base",
// uri = "archive:build/default/game.dmanifest",
// priority = -10
// }
// }
Returns
mounts:Record<string | number, unknown>— Array of mounts
liveupdate.add_mount(name: string, uri: string, priority: number, callback: (...args: unknown[]) => unknown): number
Adds a resource mount to the resource system. The mounts are persisted between sessions. After the mount succeeded, the resources are available to load. (i.e. no reboot required)
// Add multiple mounts. Higher priority takes precedence.
liveupdate.add_mount("common", "zip:/path/to/common_stuff.zip", 10, (result) => {}); // base pack
liveupdate.add_mount("levelpack_1", "zip:/path/to/levels_1_to_20.zip", 20, (result) => {}); // level pack
liveupdate.add_mount("season_pack_1", "zip:/path/to/easter_pack_1.zip", 30, (result) => {}); // season pack, overriding content in the other packs
Parameters
name:string— Unique name of the mounturi:string— The uri of the mount, including the scheme. Currently supported schemes are 'zip' and 'archive'.priority:number— Priority of mount. Larger priority takes prescedencecallback:(...args: unknown[]) => unknown— Callback after the asynchronous request completed
Returns
result:number— The result of the request
liveupdate.remove_mount(name: string): number
Remove a mount the resource system. The remaining mounts are persisted between sessions. Removing a mount does not affect any loaded resources.
// Add multiple mounts. Higher priority takes precedence.
liveupdate.remove_mount("season_pack_1");
Parameters
name:string— Unique name of the mount
Returns
result:number— The result of the call
Constants
liveupdate.LIVEUPDATE_OK
LIVEUPDATE_OK
liveupdate.LIVEUPDATE_INVALID_HEADER
The handled resource is invalid.
liveupdate.LIVEUPDATE_MEM_ERROR
Memory wasn't allocated
liveupdate.LIVEUPDATE_INVALID_RESOURCE
The header of the resource is invalid.
liveupdate.LIVEUPDATE_VERSION_MISMATCH
Mismatch between manifest expected version and actual version.
liveupdate.LIVEUPDATE_ENGINE_VERSION_MISMATCH
Mismatch between running engine version and engine versions supported by manifest.
liveupdate.LIVEUPDATE_SIGNATURE_MISMATCH
Mismatch between expected and actual integrity data for legacy liveupdate verification.
liveupdate.LIVEUPDATE_SCHEME_MISMATCH
Mismatch between scheme used to load resources. Resources are loaded with a different scheme than from manifest, for example over HTTP or directly from file. This is typically the case when running the game directly from the editor instead of from a bundle.
liveupdate.LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH
Mismatch between between expected bundled resources and actual bundled resources. The manifest expects a resource to be in the bundle, but it was not found in the bundle. This is typically the case when a non-excluded resource was modified between publishing the bundle and publishing the manifest.
liveupdate.LIVEUPDATE_FORMAT_ERROR
Failed to parse manifest data buffer. The manifest was probably produced by a different engine version.
liveupdate.LIVEUPDATE_IO_ERROR
I/O operation failed
liveupdate.LIVEUPDATE_INVAL
Argument was invalid
liveupdate.LIVEUPDATE_UNKNOWN
Unspecified error