Sentinel hotfix: System.Exception #1

Merged
epistemophiliac merged 1 commit from sentinel/hotfix-674c05d5 into main 2026-07-23 13:00:32 +00:00

Summary

Automated Sentinel hotfix for BugSink project AexoLoader.

Issues

  • 674c05d5-4965-4e5a-8870-6f74285b4395

Agent notes

Hotfix summary — 674c05d5

Issue: QuantumSpriteLibrary.drawProjectiles → empty ProjectileAsset.framesIList.get_Item / InternalArray__get_Item (animated via AnimationHelper.getSpriteFromList; static via frames[0]).

Change (v1.7.10):

  • Added src/Compat/QuantumSpriteGuard.cs — Harmony finalizer on drawProjectiles (swallows IndexOutOfRange / ArgumentOutOfRange / NRE); prefix on AnimationHelper.getSpriteFromList skips null/empty frame lists.
  • Wired into HarmonyPatches.Apply(); bumped version in csproj + bootstrap/telemetry strings.

Risk: Low — matches existing *Guard soft-fail pattern. Bad projectile assets skip that draw; rest of MapBox.Update continues. Animated path may leave a sprite unset for that projectile for one frame.

Verify: Load with combat/projectiles (esp. modded assets with missing frames); confirm no BugSink recurrence and Player.log may show QuantumSpriteGuard: skip/swallowed once.

Notes

  • Do not auto-resolve BugSink from this PR — manage in BugSink UI.
  • Agent: agent-b84f7728-8888-4ff8-b9a7-099d158ef09d run: run-f8a611b6-5e58-4da7-b169-42d979f938b2
## Summary Automated Sentinel hotfix for BugSink project `AexoLoader`. ### Issues - `674c05d5-4965-4e5a-8870-6f74285b4395` ### Agent notes ## Hotfix summary — `674c05d5` **Issue:** `QuantumSpriteLibrary.drawProjectiles` → empty `ProjectileAsset.frames` → `IList.get_Item` / `InternalArray__get_Item` (animated via `AnimationHelper.getSpriteFromList`; static via `frames[0]`). **Change (v1.7.10):** - Added `src/Compat/QuantumSpriteGuard.cs` — Harmony finalizer on `drawProjectiles` (swallows `IndexOutOfRange` / `ArgumentOutOfRange` / NRE); prefix on `AnimationHelper.getSpriteFromList` skips null/empty frame lists. - Wired into `HarmonyPatches.Apply()`; bumped version in csproj + bootstrap/telemetry strings. **Risk:** Low — matches existing `*Guard` soft-fail pattern. Bad projectile assets skip that draw; rest of `MapBox.Update` continues. Animated path may leave a sprite unset for that projectile for one frame. **Verify:** Load with combat/projectiles (esp. modded assets with missing frames); confirm no BugSink recurrence and Player.log may show `QuantumSpriteGuard: skip/swallowed` once. ### Notes - Do **not** auto-resolve BugSink from this PR — manage in BugSink UI. - Agent: `agent-b84f7728-8888-4ff8-b9a7-099d158ef09d` run: `run-f8a611b6-5e58-4da7-b169-42d979f938b2`
## Hotfix summary — `674c05d5`

**Issue:** `QuantumSpriteLibrary.drawProjectiles` → empty `ProjectileAsset.frames` → `IList.get_Item` / `InternalArray__get_Item` (animated via `AnimationHelper.getSpriteFromList`; static via `frames[0]`).

**Change (v1.7.10):**
- Added `src/Compat/QuantumSpriteGuard.cs` — Harmony finalizer on `drawProjectiles` (swallows `IndexOutOfRange` / `ArgumentOutOfRange` / NRE); prefix on `AnimationHelper.getSpriteFromList` skips null/empty frame lists.
- Wired into `Harmon
epistemophiliac force-pushed sentinel/hotfix-674c05d5 from 35e1d9b557 to ba5aa2442c
Some checks failed
AexoLoader/pipeline/head There was a failure building this commit
2026-07-23 13:00:14 +00:00
Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
epistemophiliac/worldboxmodmanager!1
No description provided.