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:
10
SVSim.BattleEngine/Shim/External/CriShim.cs
vendored
10
SVSim.BattleEngine/Shim/External/CriShim.cs
vendored
@@ -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
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
13
SVSim.BattleEngine/Shim/View/VfxBaseCtors.cs
Normal file
13
SVSim.BattleEngine/Shim/View/VfxBaseCtors.cs
Normal 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() { } }
|
||||
}
|
||||
Reference in New Issue
Block a user