|
|
|
@ -54,11 +54,12 @@ Function PrepareNPC(Actor akMoveActor, Bool bOnlyGhost = False) |
|
|
|
|
EndFunction |
|
|
|
|
|
|
|
|
|
Function _RegisterDisabledNPC(Actor akMoveActor) |
|
|
|
|
int iSlot = nRegisteredDisabledNPCs |
|
|
|
|
if iSlot + 1 <= 128 |
|
|
|
|
nRegisteredDisabledNPCs += 1 |
|
|
|
|
nRegisteredDisabledNPCs += 1 |
|
|
|
|
; In case an actor slips in here, RegisteredDisabledNPCs may have an empty slot in the middle, and it's fine |
|
|
|
|
int iSlot = nRegisteredDisabledNPCs - 1 |
|
|
|
|
if iSlot <= 127 |
|
|
|
|
RegisteredDisabledNPCs[iSlot] = akMoveActor |
|
|
|
|
Debug.Trace("Registered disabled " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) |
|
|
|
|
;Debug.Trace("Registered disabled " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) |
|
|
|
|
else |
|
|
|
|
; Added overflow to the ghosted |
|
|
|
|
_RegisterGhostedNPC(akMoveActor) |
|
|
|
@ -66,11 +67,11 @@ Function _RegisterDisabledNPC(Actor akMoveActor) |
|
|
|
|
EndFunction |
|
|
|
|
|
|
|
|
|
Function _RegisterGhostedNPC(Actor akMoveActor) |
|
|
|
|
int iSlot = nRegisteredGhostedNPCs |
|
|
|
|
if iSlot + 1 <= 128 |
|
|
|
|
nRegisteredGhostedNPCs += 1 |
|
|
|
|
nRegisteredGhostedNPCs += 1 |
|
|
|
|
int iSlot = nRegisteredGhostedNPCs - 1 |
|
|
|
|
if iSlot <= 127 |
|
|
|
|
RegisteredGhostedNPCs[iSlot] = akMoveActor |
|
|
|
|
Debug.Trace("Registered ghosted " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) |
|
|
|
|
;Debug.Trace("Registered ghosted " + akMoveActor.GetBaseObject().GetName() + " " + (akMoveActor as String)) |
|
|
|
|
else |
|
|
|
|
; oh well |
|
|
|
|
endif |
|
|
|
@ -86,7 +87,7 @@ Function ReEnableNPCs() |
|
|
|
|
Actor akActor = RegisteredDisabledNPCs[Index] |
|
|
|
|
if akActor != None && ( ! bSKSE || akActor.GetEnableParent() == None ) |
|
|
|
|
akActor.EnableNoWait() |
|
|
|
|
Debug.Trace("Re-enabled: " + akActor.GetActorBase().GetName()) |
|
|
|
|
;Debug.Trace("Re-enabled: " + akActor.GetActorBase().GetName()) |
|
|
|
|
RegisteredDisabledNPCs[Index] = None |
|
|
|
|
endif |
|
|
|
|
EndWhile |
|
|
|
@ -102,7 +103,7 @@ Function ReEnableNPCs() |
|
|
|
|
akActor.EnableNoWait() |
|
|
|
|
endif |
|
|
|
|
akActor.SetGhost(False) |
|
|
|
|
Debug.Trace("Unghosted: " + akActor.GetActorBase().GetName()) |
|
|
|
|
;Debug.Trace("Unghosted: " + akActor.GetActorBase().GetName()) |
|
|
|
|
RegisteredGhostedNPCs[Index] = None |
|
|
|
|
endif |
|
|
|
|
EndWhile |
|
|
|
|