Files
gamer147 a1c0c2d312 feat(battle-engine): CRI/Unity overload + generated base-ctor fixes (1586->1556)
CRI: CriAtomExPlayer.AttachFader, CriAtomCueSheet.acb, CriAtomExCategory static.
Unity overload gaps (CS7036): Transform.Translate/Rotate(float,float), Vector4(3/2-arg)
ctors, Vector3 instance Scale. Parameterless ctors for generated Vfx bases (ForecastIcon
VfxBase/ShowChantCountVfx/EvolveVfx) whose derived stubs' implicit base() failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 22:38:02 -04:00

109 lines
4.0 KiB
C#

// AUTHORED SHIM (not copied). CRI ADX2 (Atom) audio + CRI Mana (movie) middleware.
// A precompiled SDK with no decompiled source, referenced by the copied audio/movie
// engine files (Cute/AudioManager.cs, Voice.cs, Se.cs, Effect.cs, MoviePlayer.cs).
// Pure cosmetic surface — never on the battle-resolution path; every member is a no-op
// returning a safe default. Signatures mirror the real CRI API as exercised by the
// decomp (arg counts/types taken from the call sites) so the copied code compiles.
using System;
namespace CriWare
{
// ---- CRI Atom (audio) ----
public class CriAtomExPlayer
{
public void SetFadeOutTime(int ms) { }
public void SetFadeInTime(int ms) { }
public void SetFadeInStartOffset(int ms) { }
public void SetStartTime(long ms) { }
public void ResetFaderParameters() { }
public void Update(CriAtomExPlayback playback) { }
public void AttachFader() { }
}
public static class CriAtomExCategory
{
public static void Mute(string categoryName, bool mute) { }
public static void Pause(string categoryName, bool sw) { }
public static void SetVolume(string categoryName, float volume) { }
}
public struct CriAtomExPlayback
{
public bool GetNumPlayedSamples(out long numSamples, out int samplingRate)
{ numSamples = 0L; samplingRate = 0; return false; }
}
public class CriAtomExAcb : IDisposable
{
public void Dispose() { }
public bool GetCueInfo(int index, out CriAtomEx.CueInfo cueInfo)
{ cueInfo = default; return false; }
}
public static class CriAtomEx
{
public struct CueInfo { public long length; }
}
public class CriAtomCueSheet { public CriAtomExAcb acb => null; }
public class CriAtomSource : UnityEngine.MonoBehaviour
{
public enum Status { Stop, Prep, Playing, PlayEnd, Removed, Removing, Error }
public Status status => Status.Stop;
public CriAtomExPlayer player { get; } = new CriAtomExPlayer();
public bool loop;
public bool playOnStart;
public float volume;
public bool use3dPositioning;
public string cueSheet;
public string cueName;
public CriAtomExPlayback Play() => default;
public CriAtomExPlayback Play(int cueId) => default;
public CriAtomExPlayback Play(string cue) => default;
public CriAtomExPlayback Play(string sheet, string cue) => default;
public void Stop() { }
public void Pause(bool sw) { }
public void Pause() { }
public void SetAisacControl(string name, float value) { }
public void SetAisacControl(uint id, float value) { }
}
public static class CriAtom
{
public static CriAtomCueSheet AddCueSheet(string name, string acbPath, string awbPath) => null;
public static CriAtomCueSheet GetCueSheet(string name) => null;
public static void RemoveCueSheet(string name) { }
public static CriAtomExAcb GetAcb(string acbName) => null;
public static void AttachDspBusSetting(string name) { }
}
// ---- CRI Mana (movie) ---- (CriManaMovieMaterial lives in External/SdkStubs.cs)
public class CriFsBinder { }
}
namespace CriWare.CriMana
{
public struct MovieInfo
{
public uint framerateN;
public uint totalFrames;
}
public class Player
{
public enum Status { Stop, Decheader, WaitPrep, Prep, Ready, Playing, PlayEnd, Error, StopProcessing }
public Status status => Status.Stop;
public MovieInfo movieInfo => default;
public long GetTime() => 0L;
public bool IsPaused() => false;
public void Pause(bool sw) { }
public void Prepare() { }
public void Start() { }
public void Stop() { }
public void SetFile(CriFsBinder binder, string moviePath) { }
public void SetSeekPosition(int frameNumber) { }
public void SetVolume(float volume) { }
}
}