arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
46 lines (45 loc) • 1.24 kB
TypeScript
import { BinaryIO } from './BinaryIO.js';
type ColorMode = 'abgr' | 'bgra' | 'rgb';
/**
* Color containing red, green, blue and alpha channels
*
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/graphics/GraphicsFormat.h#L29
*/
export type ArxColor = {
/**
* red channel, integer between 0 and 255
*
* - 0 = darkest, lowest intensity
* - 255 = brightest, most intensity
*/
r: number;
/**
* green channel, integer between 0 and 255
*
* - 0 = darkest, lowest intensity
* - 255 = brightest, most intensity
*/
g: number;
/**
* blue channel, integer between 0 and 255
*
* - 0 = darkest, lowest intensity
* - 255 = brightest, most intensity
*/
b: number;
/**
* alpha channel, float between 0.0 and 1.0
*
* - 0.0 = fully transparent
* - 1.0 = fully opaque
*/
a: number;
};
export declare class Color {
static readFrom(binary: BinaryIO<ArrayBufferLike>, mode: ColorMode): ArxColor;
static accumulateFrom({ r, g, b, a }: ArxColor, mode: ColorMode): ArrayBuffer;
static sizeOf(mode: ColorMode): number;
static get black(): ArxColor;
static get transparent(): ArxColor;
}
export {};