BattletechModders / ConcreteJungle

MIT License
2 stars 0 forks source link

NRE before ConcreteJungle.Patches.Building_KillLinkedUnits.Prefix #8

Open IceRaptor opened 4 years ago

IceRaptor commented 4 years ago

From rogueticket-552-closed:

Fmnatic06/24/2020
Game hung in urban environment. log says  CRITICAL ERROR, PLEASE REPORT: so creating this.
Attachment file type: archive
RogueLogs.zip
14.12 MB
Delegate AddStackSequence - Standard for message type AddSequenceToStackMessage failed with exception 
Object reference not set to an instance of an object
  at BattleTech.MapEncounterLayerDataCell.get_HasBuilding () [0x00026] in <4184af8dbeb44635831353f4d349631c>:0
If its relevant for the first time i had some flamer platoon buildings on the mission, and i wrecked 3 of them before this happened.
Harkonnen06/24/2020
@FrostRaptor as i understand, there was an NRE before in ConcreteJungle.Patches.Building_KillLinkedUnits.Prefix, that left a building in an undefined state, and it caused LoS calculations to crash
IceRaptor commented 4 years ago

Stacktrace:

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)

Uploading Crash Report
NullReferenceException: Object reference not set to an instance of an object
  at BattleTech.MapEncounterLayerDataCell.get_HasBuilding () [0x00026] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.MapEncounterLayerDataCell.HasSpecifiedBuilding (System.String buildingGuid) [0x00000] in <4184af8dbeb44635831353f4d349631c>:0 
  at (wrapper dynamic-method) BattleTech.LineOfSight.bresenhamHeightTest_Patch1(object,BattleTech.Point,single,BattleTech.Point,single,string,BattleTech.Point&)
  at BattleTech.LineOfSight.HasLineOfFire (UnityEngine.Vector3 begin, UnityEngine.Vector3 end, System.String targetedBuildingGuid, System.Single maxDistance, UnityEngine.Vector3& collisionWorldPos) [0x0007b] in <4184af8dbeb44635831353f4d349631c>:0 
  at (wrapper dynamic-method) BattleTech.LineOfSight.GetLineOfFireUncached_Patch1(object,BattleTech.AbstractActor,UnityEngine.Vector3,BattleTech.ICombatant,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3&)
  at (wrapper dynamic-method) LOFCache.GetLineOfFire_Patch2(object,BattleTech.AbstractActor,UnityEngine.Vector3,BattleTech.ICombatant,UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3&)
  at BattleTech.LineOfSight.GetLineOfFire (BattleTech.AbstractActor source, UnityEngine.Vector3 sourcePosition, BattleTech.ICombatant target, UnityEngine.Vector3 targetPosition, UnityEngine.Quaternion targetRotation, UnityEngine.Vector3& collisionWorldPos) [0x0000b] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.LineOfSight.GetLineOfFire (BattleTech.AbstractActor source, BattleTech.ICombatant target, UnityEngine.Vector3& collisionWorldPos) [0x00015] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.VisibilityCache.CalcVisValueToTarget (BattleTech.ICombatant livingTarget) [0x00029] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.VisibilityCache.UpdateCacheReciprocal (System.Collections.Generic.List`1[T] allLivingCombatants) [0x00045] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.AbstractActor.UpdateVisibilityCache (System.Collections.Generic.List`1[T] allLivingCombatants) [0x00006] in <4184af8dbeb44635831353f4d349631c>:0 
  at (wrapper dynamic-method) BattleTech.AbstractActor.OnMovePhaseComplete_Patch1(object,System.Collections.Generic.List`1<BattleTech.DesignMaskDef>)
  at BattleTech.Mech.OnMovePhaseComplete (System.Collections.Generic.List`1[T] remainingMasksToApply) [0x00145] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.Mech.OnAnyMovementComplete (System.Single distMoved, UnityEngine.Vector3 finalPosition, UnityEngine.Quaternion finalHeading, System.Int32 stackItemUID, System.Collections.Generic.List`1[T] remainingMasks) [0x00045] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.Mech.OnJumpComplete (UnityEngine.Vector3 finalPosition, UnityEngine.Quaternion finalHeading, System.Int32 sequenceUID) [0x00014] in <4184af8dbeb44635831353f4d349631c>:0 
  at (wrapper dynamic-method) BattleTech.MechJumpSequence.CompleteOrders_Patch1(object)
  at (wrapper dynamic-method) BattleTech.OrderSequence.OnUpdate_Patch1(object)
  at BattleTech.MechJumpSequence.OnUpdate () [0x00000] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.StackManager.Update () [0x0012f] in <4184af8dbeb44635831353f4d349631c>:0 
  at (wrapper dynamic-method) BattleTech.CombatGameState.Update_Patch1(object)
  at BattleTech.GameInstance.Update (System.Single deltaTime) [0x0000e] in <4184af8dbeb44635831353f4d349631c>:0 
  at BattleTech.UnityGameInstance.Update () [0x00013] in <4184af8dbeb44635831353f4d349631c>:0