@shockpkg/dir-projector
Version:
Package for creating Shockwave Director projectors
85 lines (84 loc) • 2.16 kB
TypeScript
import { IFilePatch, ProjectorOtto } from '../otto.ts';
/**
* ProjectorOttoWindows object.
*/
export declare class ProjectorOttoWindows extends ProjectorOtto {
/**
* Icon file.
*/
iconFile: string | null;
/**
* Icon data.
*/
iconData: Readonly<Uint8Array> | (() => Readonly<Uint8Array>) | (() => Promise<Readonly<Uint8Array>>) | null;
/**
* Version strings.
*/
versionStrings: Readonly<{
[key: string]: string;
}> | null;
/**
* Patch the Shockave 3D Xtra to have a larger buffer to avoid a crash.
* The buffer for resolving InstalledDisplayDrivers to a path is small.
* Changes to the values stored in InstalledDisplayDrivers cause issues.
* The value is now supposed to hold full paths on modern Windows.
* In particular, Nvidia drivers which do this need this patch.
*/
patch3dDisplayDriversSize: boolean;
/**
* ProjectorOttoWindows constructor.
*
* @param path Output path.
*/
constructor(path: string);
/**
* @inheritdoc
*/
get extension(): string;
/**
* @inheritdoc
*/
get configNewline(): string;
/**
* @inheritdoc
*/
get lingoNewline(): string;
/**
* @inheritdoc
*/
get splashImageExtension(): string;
/**
* Get the SKL name.
*
* @returns File name.
*/
get sklName(): string;
/**
* Get icon data if any specified, from data or file.
*
* @returns Icon data or null.
*/
getIconData(): Promise<Readonly<Uint8Array> | null>;
/**
* @inheritdoc
*/
protected _writeSkeleton(skeleton: string): Promise<void>;
/**
* Get patches to apply.
*
* @returns Patches list.
*/
protected _getPatches(): Promise<IFilePatch[]>;
/**
* Get patch for main file resources.
*
* @returns Patch spec.
*/
protected _getPatchResources(): Promise<IFilePatch | null>;
/**
* Get patch for Shockwave 3D InstalledDisplayDrivers size.
*
* @returns Patch spec.
*/
protected _getPatch3dDisplayDriversSize(): IFilePatch | null;
}