A simple options data class for importing RenderWare animation (.anm/.an5). It stores sampling FPS and a base clip name used when generating clip names for single- or multi-take files.
#nullable enable annotations
using System;
using System.Collections.Generic;
using System.Numerics;
using HumanoidRetargeter.Core.Maths;
using HumanoidRetargeter.Core.Skeleton;
namespace HumanoidRetargeter.Core.Formats.Renderware;
using Vector3 = System.Numerics.Vector3; // s&box compat: shadow engine's global-namespace Vector3 (see Code/HumanoidRetargeter/Assembly.cs)
/// <summary>Options for <see cref="RwAnmImporter.Import"/>.</summary>
public sealed class RwAnmImportOptions
{
/// <summary>Fixed resampling rate for the motion data, frames per second.</summary>
public float SampleFps { get; init; } = 30f;
/// <summary>
/// Base clip name. RenderWare animations carry no take names, so a single-take file
/// yields one clip named exactly this and a multi-take bank (.an5) yields
/// <c><base>_1</c>, <c><base>_2</c>, … The pipeline passes the source file
/// stem here. Default "motion" (the BVH importer's convention — the facade's clip
/// naming then substitutes the file stem).
/// </summary>
public string ClipNameBase { get; init; } = "motion";
}