diff --git a/BrawlLib/SSBB/ResourceNodes/ItmParamNode.cs b/BrawlLib/SSBB/ResourceNodes/ItmParamNode.cs index 39563a849..8b2aa4732 100644 --- a/BrawlLib/SSBB/ResourceNodes/ItmParamNode.cs +++ b/BrawlLib/SSBB/ResourceNodes/ItmParamNode.cs @@ -1103,8 +1103,9 @@ public bool SpawnedByCharacter } } - [Category("Unknown")] - public bool Unknown0xB5g + [Category("Item Parameters")] + [DisplayName("Disable Z-Drop")] + public bool DisableZDrop { get => Data._flags0xB5[6]; set @@ -1475,24 +1476,43 @@ public bool BlinkBeforeDisappearing } } - [Category("Unknown")] - public int Unknown0xC8 + public enum CameraFocusTypes : int { - get => Data._unknown0xC8; + Never = 0, + Always = 1, + OnCreation = 2, + UnknownAlways = 3, + UnknownOnCreation = 4 + } + + [Category("Item Parameters")] + [Description("Controls when and if the object takes camera focus")] + public CameraFocusTypes CameraFocus + { + get => (CameraFocusTypes)(int)Data._cameraFocus; set { - Data._unknown0xC8 = value; + Data._cameraFocus = (int)value; SignalPropertyChange(); } } - [Category("Unknown")] - public int Unknown0xCC + + public enum OffensiveCollisionInteractionTypes : int { - get => Data._unknown0xCC; + NoHitstunNoKnockback = 0, + HitstunNoKnockback = 1, + HitstunKnockback = 2, + HitstunHorizontalKnockback = 3 + } + + [Category("Item Parameters")] + public OffensiveCollisionInteractionTypes KnockbackType + { + get => (OffensiveCollisionInteractionTypes)(int)Data._offensiveCollisionInteraction; set { - Data._unknown0xCC = value; + Data._offensiveCollisionInteraction = (int)value; SignalPropertyChange(); } } @@ -1508,13 +1528,20 @@ public bool CanReflect } } - [Category("Unknown")] - public int Unknown0xD4 + public enum DefensiveCollisionInteractionTypes : int + { + NoBounce = 0, + SelfDelete = 1, + Bounce = 2 + } + + [Category("Item Parameters")] + public DefensiveCollisionInteractionTypes DefensiveCollisionInteraction { - get => Data._unknown0xD4; + get => (DefensiveCollisionInteractionTypes)(int)Data._defensiveCollisionInteraction; set { - Data._unknown0xD4 = value; + Data._defensiveCollisionInteraction = (int)value; SignalPropertyChange(); } } diff --git a/BrawlLib/SSBB/Types/ItmParam.cs b/BrawlLib/SSBB/Types/ItmParam.cs index eb6095201..d2faff55d 100644 --- a/BrawlLib/SSBB/Types/ItmParam.cs +++ b/BrawlLib/SSBB/Types/ItmParam.cs @@ -64,10 +64,10 @@ public struct ItmParamEntry public bool32 _unknown0xBC; public bint _unknown0xC0; public bool32 _blinkBeforeDisappearing; - public bint _unknown0xC8; - public bint _unknown0xCC; + public bint _cameraFocus; + public bint _offensiveCollisionInteraction; public bool32 _canReflect; - public bint _unknown0xD4; + public bint _defensiveCollisionInteraction; public bint _blastzoneDespawn; public bool32 _suffersHitstun; public bint _unknown0xE0;