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>
This commit is contained in:
gamer147
2026-06-05 22:38:02 -04:00
parent 4be630bd09
commit a1c0c2d312
4 changed files with 27 additions and 1 deletions

View File

@@ -17,6 +17,14 @@ namespace CriWare
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
@@ -37,7 +45,7 @@ namespace CriWare
public struct CueInfo { public long length; }
}
public class CriAtomCueSheet { }
public class CriAtomCueSheet { public CriAtomExAcb acb => null; }
public class CriAtomSource : UnityEngine.MonoBehaviour
{

View File

@@ -52,6 +52,7 @@ namespace UnityEngine
public static float Dot(Vector3 a, Vector3 b) => a.x * b.x + a.y * b.y + a.z * b.z;
public static Vector3 Cross(Vector3 a, Vector3 b) => new Vector3(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x);
public static Vector3 Scale(Vector3 a, Vector3 b) => new Vector3(a.x * b.x, a.y * b.y, a.z * b.z);
public void Scale(Vector3 s) { x *= s.x; y *= s.y; z *= s.z; }
public static Vector3 Lerp(Vector3 a, Vector3 b, float t) => new Vector3(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t, a.z + (b.z - a.z) * t);
public static Vector3 LerpUnclamped(Vector3 a, Vector3 b, float t) => Lerp(a, b, t);
public static Vector3 MoveTowards(Vector3 a, Vector3 b, float d) => b;

View File

@@ -11,6 +11,8 @@ namespace UnityEngine
{
public static Vector4 zero => default;
public static Vector4 one => new Vector4(1f, 1f, 1f, 1f);
public Vector4(float x, float y, float z) { this.x = x; this.y = y; this.z = z; this.w = 0f; }
public Vector4(float x, float y) { this.x = x; this.y = y; this.z = 0f; this.w = 0f; }
}
public partial class Transform
@@ -18,6 +20,8 @@ namespace UnityEngine
public bool hasChanged { get; set; }
public Matrix4x4 localToWorldMatrix => default;
public Matrix4x4 worldToLocalMatrix => default;
public void Translate(float x, float y) { }
public void Rotate(float x, float y) { }
}
public partial class LODGroup

View File

@@ -0,0 +1,13 @@
// AUTHORED SHIM (not copied). Parameterless ctors for generated Vfx BASE types whose
// decomp only declares parameterized ctors. A net-new generated derived stub's ctor is
// emitted as `{ }` with an implicit `base()` call (m1_stub_gen doesn't thread base args),
// so when the base lacks a parameterless ctor the derived fails CS7036. These no-op
// parameterless ctors satisfy the implicit base() — purely a compile aid, off battle path.
// (If this recurs broadly, teach m1_stub_gen to emit a guarded no-op parameterless ctor.)
namespace Wizard.Battle.View.Vfx
{
public partial class ForecastIconVfxBase { protected ForecastIconVfxBase() { } }
public partial class ShowChantCountVfx { public ShowChantCountVfx() { } }
public partial class EvolveVfx { public EvolveVfx() { } }
}