@shockpkg/dir-projector
Version:
Package for creating Shockwave Director projectors
152 lines (151 loc) • 4.12 kB
TypeScript
import { IProjectorOptions, Projector } from '../projector';
import { IRceditOptionsVersionStrings } from '../util';
export interface IProjectorWindowsOptions extends IProjectorOptions {
/**
* 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.
*
* @default false
*/
patchShockwave3dInstalledDisplayDriversSize?: boolean;
/**
* Icon file, requires Windows or Wine.
*
* @default null
*/
iconFile?: string | null;
/**
* Version strings, requires Windows or Wine.
*
* @default null
*/
fileVersion?: string | null;
/**
* Product version, requires Windows or Wine.
*
* @default null
*/
productVersion?: string | null;
/**
* Version strings, requires Windows or Wine.
*
* @default null
*/
versionStrings?: IRceditOptionsVersionStrings | null;
}
/**
* ProjectorWindows constructor.
*
* @param options Options object.
*/
export declare class ProjectorWindows extends Projector {
/**
* 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.
*
* @default false
*/
patchShockwave3dInstalledDisplayDriversSize: boolean;
/**
* Icon file, requires Windows or Wine.
*
* @default null
*/
iconFile: string | null;
/**
* Version strings, requires Windows or Wine.
*
* @default null
*/
fileVersion: string | null;
/**
* Product version, requires Windows or Wine.
*
* @default null
*/
productVersion: string | null;
/**
* Version strings, requires Windows or Wine.
*
* @default null
*/
versionStrings: IRceditOptionsVersionStrings | null;
constructor(options: IProjectorWindowsOptions);
/**
* Projector file extension.
*
* @returns File extension.
*/
readonly projectorExtension: string;
/**
* Config file newline characters.
*
* @returns Newline characters.
*/
readonly configNewline: string;
/**
* Config file newline characters.
*
* @returns Newline characters.
*/
readonly lingoNewline: string;
/**
* Newline characters.
*
* @returns Newline characters.
*/
readonly newline: string;
/**
* Splash image file extension.
*
* @returns File extension.
*/
readonly splashImageExtension: string;
/**
* Get the SKL name.
*
* @returns File name.
*/
readonly sklName: string;
/**
* Write out the projector.
*
* @param path Save path.
* @param name Save name.
*/
write(path: string, name: string): Promise<void>;
/**
* Write the projector skeleton from archive.
*
* @param path Save path.
* @param name Save name.
*/
protected _writeSkeleton(path: string, name: string): Promise<void>;
/**
* Patch projector.
*
* @param path Save path.
* @param name Save name.
*/
protected _patch(path: string, name: string): Promise<void>;
/**
* Patch projector, Shockwave 3D InstalledDisplayDrivers size.
*
* @param path Save path.
* @param name Save name.
*/
protected _patchShockwave3dInstalledDisplayDriversSize(path: string, name: string): Promise<void>;
/**
* Update projector Windows resources.
*
* @param path Save path.
* @param name Save name.
*/
protected _updateResources(path: string, name: string): Promise<void>;
}