From fee3f500c5b4c2a32222c7c11a35cd0ee024a393 Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Wed, 17 Aug 2022 22:59:56 +0200 Subject: [PATCH] Some cleanup --- Penumbra.GameData/Structs/CharacterEquip.cs | 5 +++-- Penumbra.GameData/Structs/CharacterWeapon.cs | 8 ++++++++ .../Interop/Resolver/PathResolver.AnimationState.cs | 12 ++++++------ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Penumbra.GameData/Structs/CharacterEquip.cs b/Penumbra.GameData/Structs/CharacterEquip.cs index c354cd8a..a8744fff 100644 --- a/Penumbra.GameData/Structs/CharacterEquip.cs +++ b/Penumbra.GameData/Structs/CharacterEquip.cs @@ -104,9 +104,10 @@ public readonly unsafe struct CharacterEquip }; } - public void Write( IntPtr target ) + + public void Load( CharacterEquip source ) { - Functions.MemCpyUnchecked( ( void* )target, _armor, sizeof( CharacterArmor ) * 10 ); + Functions.MemCpyUnchecked( _armor, source._armor, sizeof( CharacterArmor ) * 10 ); } public bool Equals( CharacterEquip other ) diff --git a/Penumbra.GameData/Structs/CharacterWeapon.cs b/Penumbra.GameData/Structs/CharacterWeapon.cs index 62752ed1..0c25d66f 100644 --- a/Penumbra.GameData/Structs/CharacterWeapon.cs +++ b/Penumbra.GameData/Structs/CharacterWeapon.cs @@ -32,6 +32,14 @@ public readonly struct CharacterWeapon : IEquatable< CharacterWeapon > Stain = stain; } + public CharacterWeapon( ulong value ) + { + Set = ( SetId )value; + Type = ( WeaponType )( value >> 16 ); + Variant = ( ushort )( value >> 32 ); + Stain = ( StainId )( value >> 48 ); + } + public static readonly CharacterWeapon Empty = new(0, 0, 0, 0); public bool Equals( CharacterWeapon other ) diff --git a/Penumbra/Interop/Resolver/PathResolver.AnimationState.cs b/Penumbra/Interop/Resolver/PathResolver.AnimationState.cs index b7ba3617..b24bb84c 100644 --- a/Penumbra/Interop/Resolver/PathResolver.AnimationState.cs +++ b/Penumbra/Interop/Resolver/PathResolver.AnimationState.cs @@ -124,7 +124,7 @@ public unsafe partial class PathResolver } finally { - ret = _loadTimelineResourcesHook!.Original( timeline ); + ret = _loadTimelineResourcesHook.Original( timeline ); } _animationLoadCollection = old; @@ -145,7 +145,7 @@ public unsafe partial class PathResolver var last = _animationLoadCollection; _animationLoadCollection = _drawObjectState.LastCreatedCollection ?? ( FindParent( drawObject, out var collection ) != null ? collection : Penumbra.CollectionManager.Default ); - _characterBaseLoadAnimationHook!.Original( drawObject ); + _characterBaseLoadAnimationHook.Original( drawObject ); _animationLoadCollection = last; } @@ -159,7 +159,7 @@ public unsafe partial class PathResolver { var last = _animationLoadCollection; _animationLoadCollection = IdentifyCollection( ( GameObject* )gameObject ); - var ret = _loadSomeAvfxHook!.Original( a1, gameObject, gameObject2, unk1, unk2, unk3 ); + var ret = _loadSomeAvfxHook.Original( a1, gameObject, gameObject2, unk1, unk2, unk3 ); _animationLoadCollection = last; return ret; } @@ -184,7 +184,7 @@ public unsafe partial class PathResolver } } - _loadSomePapHook!.Original( a1, a2, a3, a4 ); + _loadSomePapHook.Original( a1, a2, a3, a4 ); _animationLoadCollection = last; } @@ -196,7 +196,7 @@ public unsafe partial class PathResolver { var last = _animationLoadCollection; _animationLoadCollection = IdentifyCollection( ( GameObject* )gameObject ); - _someActionLoadHook!.Original( gameObject ); + _someActionLoadHook.Original( gameObject ); _animationLoadCollection = last; } @@ -208,7 +208,7 @@ public unsafe partial class PathResolver var last = _animationLoadCollection; var gameObject = ( GameObject* )( unk - 0x8B0 ); _animationLoadCollection = IdentifyCollection( gameObject ); - _someOtherAvfxHook!.Original( unk ); + _someOtherAvfxHook.Original( unk ); _animationLoadCollection = last; } }