arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
25 lines (24 loc) • 813 B
TypeScript
import type { ArxQuaternion, ArxVector3 } from '../common/types.js';
import { type ArxNewKeyFrame } from './NewKeyFrame.js';
import { type ArxOldKeyFrame } from './OldKeyFrame.js';
import { type ArxTeaHeader } from './TeaHeader.js';
/**
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/animation/AnimationFormat.h#L124
*/
export type ArxTheaSample = {
name: string;
size: number;
};
export type ArxKeyFrame = (ArxNewKeyFrame | ArxOldKeyFrame) & {
translate?: ArxVector3;
quat?: ArxQuaternion;
sample?: ArxTheaSample;
};
export type ArxTEA = {
header: Omit<ArxTeaHeader, 'numberOfKeyFrames' | 'numberOfGroups'>;
keyframes: ArxKeyFrame[];
};
export declare class TEA {
static load(decompressedFile: ArrayBufferLike): ArxTEA;
static save(json: ArxTEA): ArrayBuffer;
}