arx-level-generator
Version:
A tool for creating Arx Fatalis maps
114 lines (113 loc) • 4.34 kB
TypeScript
import { ArxTextureContainer } from 'arx-convert/types';
import { Expand } from 'arx-convert/utils';
import { Texture as ThreeJsTextue } from 'three';
import { Settings } from './Settings.js';
export type TextureConstructorProps = {
filename: string;
/**
* whether the texture is from the main game or a custom added file
*
* default value is true (meaning that the texture is from the game)
*/
isNative?: boolean;
width?: number;
height?: number;
size?: number;
/**
* this path is relative to the project's "assets" folder
*
* default value is "graph/obj3d/texture"
*/
sourcePath?: string;
/**
* default value is false
*/
isInternalAsset?: boolean;
};
export declare const SIZE_UNKNOWN = -1;
export declare const NO_TEXTURE_CONTAINER = 0;
export declare class Texture extends ThreeJsTextue {
static targetPath: string;
alreadyMadeTileable: boolean;
filename: string;
isNative: boolean;
_width: number;
_height: number;
sourcePath?: string;
isInternalAsset: boolean;
constructor(props: TextureConstructorProps);
clone(): this;
static fromCustomFile(props: Expand<Omit<TextureConstructorProps, 'isNative'>>): Texture;
static fromArxTextureContainer(texture: ArxTextureContainer): Texture;
private getFilename;
getWidth(settings: Settings): Promise<number>;
getHeight(settings: Settings): Promise<number>;
/**
* this also gives value to this._width and this._height
* if any of them is SIZE_UNKNOWN
*/
isTileable(settings: Settings): Promise<boolean>;
/**
* default value for needsToBeTileable is false
*/
exportSourceAndTarget(settings: Settings, needsToBeTileable?: boolean, _dontCatchTheError?: boolean): Promise<[string, string]>;
private makeCopy;
private makeTileable;
/**
* compares filenames of textures without the extensions
* comparision is case insensitive
*
* For example:
* - texture.jpg == TEXTURE.JPG
* - texture.bmp == texture.jpg
*/
equals(texture: Texture | string): boolean;
equalsAny(textures: (Texture | string)[]): boolean;
static get alpha(): Texture;
static get stoneHumanPaving(): Texture;
static get stoneHumanPaving1(): Texture;
static get aliciaRoomMur01(): Texture;
static get aliciaRoomMur02(): Texture;
static get waterCavewater(): Texture;
static get l1DragonStoneGround01(): Texture;
static get l1DragonIceGround08(): Texture;
static get l1DragonSpideLime1Nocol(): Texture;
static get l1PrisonStoneGridl02(): Texture;
static get l1PrisonSandGround01(): Texture;
static get l1TempleStoneWall03(): Texture;
static get l2CavesRustyItem01(): Texture;
static get l2TrollStoneGround04(): Texture;
static get l2TrollWoodPillar08(): Texture;
static get l2GobelStoneFloor02(): Texture;
static get l2GobelStoneCenter(): Texture;
static get l3DissidWetGround01(): Texture;
static get l3DissidStoneGround09(): Texture;
static get l3DissidStoneGround10(): Texture;
static get l3DissidIronWall02(): Texture;
static get l3DissidStoneWall03(): Texture;
static get l3DissidStoneTrans01(): Texture;
static get l3DissidWoodFabric03(): Texture;
static get l3DissidWoodFabric04(): Texture;
static get l4YlsideStoneGround01(): Texture;
static get l4DwarfIronBoard02(): Texture;
static get l4DwarfWoodBoard02(): Texture;
static get l5CavesGravelGround05(): Texture;
static get l6RatmenFleshWall03(): Texture;
static get l7DwarfMetalPlate10(): Texture;
static get stoneHumanStoneWall(): Texture;
static get stoneHumanStoneWall1(): Texture;
static get stoneHumanStoneWall2(): Texture;
static get stoneHumanAkbaa2F(): Texture;
static get stoneHumanAkbaa4F(): Texture;
static get stoneHumanPriest4(): Texture;
static get itemFishingPole2(): Texture;
static get itemRope(): Texture;
static get fixinterHeavyCatacombDoor(): Texture;
static get stoneGroundCavesWet05(): Texture;
static get glassGlass01(): Texture;
static get itemCheese(): Texture;
static get itemRuneAam(): Texture;
static get missingTexture(): Texture;
static get uvDebugTexture(): Texture;
static get missingInventoryIcon(): Texture;
}