This commit is contained in:
Ottermandias 2024-11-17 14:27:14 +01:00
parent 2ce8076e9a
commit fe028e5ec7
9 changed files with 13 additions and 13 deletions

View file

@ -333,7 +333,7 @@ public unsafe class FunModule : IDisposable
=> actor.IsCharacter
&& actor.AsObject->ObjectKind is ObjectKind.Pc
&& !actor.IsTransformed
&& actor.AsCharacter->CharacterData.ModelCharaId == 0;
&& actor.AsCharacter->ModelContainer.ModelCharaId == 0;
private static void KeepOldArmor(Actor actor, EquipSlot slot, ref CharacterArmor armor)
=> armor = actor.Model.Valid ? actor.Model.GetArmor(slot) : armor;

View file

@ -593,7 +593,7 @@ public class StateListener : IDisposable
private unsafe UpdateState UpdateBaseData(Actor actor, ActorState state, uint modelId, nint customizeData, nint equipData)
{
// Model ID does not agree between game object and new draw object => Transformation.
if (modelId != (uint)actor.AsCharacter->CharacterData.ModelCharaId)
if (modelId != (uint)actor.AsCharacter->ModelContainer.ModelCharaId)
return UpdateState.Transformed;
// Model ID did not change to stored state.

View file

@ -114,14 +114,14 @@ public sealed class StateManager(
// Model ID is only unambiguously contained in the game object.
// The draw object only has the object type.
// TODO reverse search model data to get model id from model.
if (!_humans.IsHuman((uint)actor.AsCharacter->CharacterData.ModelCharaId))
if (!_humans.IsHuman((uint)actor.AsCharacter->ModelContainer.ModelCharaId))
{
ret.LoadNonHuman((uint)actor.AsCharacter->CharacterData.ModelCharaId, *(CustomizeArray*)&actor.AsCharacter->DrawData.CustomizeData,
ret.LoadNonHuman((uint)actor.AsCharacter->ModelContainer.ModelCharaId, *(CustomizeArray*)&actor.AsCharacter->DrawData.CustomizeData,
(nint)Unsafe.AsPointer(ref actor.AsCharacter->DrawData.EquipmentModelIds[0]));
return ret;
}
ret.ModelId = (uint)actor.AsCharacter->CharacterData.ModelCharaId;
ret.ModelId = (uint)actor.AsCharacter->ModelContainer.ModelCharaId;
ret.IsHuman = true;
CharacterWeapon main;