diff --git a/FFXIVClientStructs/CExportIgnore.cs b/FFXIVClientStructs/CExportIgnore.cs index 0d70a7e96..2d8a95111 100644 --- a/FFXIVClientStructs/CExportIgnore.cs +++ b/FFXIVClientStructs/CExportIgnore.cs @@ -1,9 +1,3 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace FFXIVClientStructs; [AttributeUsage(AttributeTargets.Field)] diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Character/BattleChara.cs b/FFXIVClientStructs/FFXIV/Client/Game/Character/BattleChara.cs index 12df03d8d..21fc61583 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Character/BattleChara.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Character/BattleChara.cs @@ -11,16 +11,7 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.Character; public unsafe partial struct BattleChara { [FieldOffset(0x0)] public Character Character; - [Obsolete("Use GetStatusManager", true)] - [FieldOffset(0x1C10)] public StatusManager StatusManager; - - [Obsolete("Use GetCastInfo", true)] - [FieldOffset(0x1F00)] public Character.CastInfo SpellCastInfo; - - //[FieldOffset(0x2070)] public fixed byte IncomingEffects[0xF00]; - - [Obsolete("Use GetForayInfo", true)] - [FieldOffset(0x2F70)] public Character.ForayInfo Foray; + //[FieldOffset(0x1E60)] public fixed byte UnkBattleCharaStruct[0xF00]; public StatusManager* GetStatusManager => Character.GetStatusManager(); public Character.CastInfo* GetCastInfo => Character.GetCastInfo(); diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Character/Character.cs b/FFXIVClientStructs/FFXIV/Client/Game/Character/Character.cs index 3215fae10..374968b7d 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Character/Character.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Character/Character.cs @@ -18,74 +18,17 @@ public unsafe partial struct Character { [FieldOffset(0x1A0)] public CharacterData CharacterData; - #region This is inside a new 0x48 byte class at offset 0x1A8 - - [FieldOffset(0x1B0), Obsolete("Use CharacterData.ModelScale", true)] - public float ModelScale; - [FieldOffset(0x1B4), Obsolete("Use CharacterData.ModelCharaId", true)] - public int ModelCharaId; - [FieldOffset(0x1B8), Obsolete("Use CharacterData.ModelSkeletonId", true)] - public int ModelSkeletonId; - [FieldOffset(0x1BC), Obsolete("Use CharacterData.ModelCharaId_2", true)] - public int ModelCharaId_2; // == -1 -> return ModelCharaId - [FieldOffset(0x1C0), Obsolete("Use CharacterData.ModelSkeletonId_2", true)] - public int ModelSkeletonId_2; // == 0 -> return ModelSkeletonId - - [FieldOffset(0x1C4), Obsolete("Use CharacterData.Health", true)] - public uint Health; - [FieldOffset(0x1C8), Obsolete("Use CharacterData.MaxHealth", true)] - public uint MaxHealth; - [FieldOffset(0x1CC), Obsolete("Use CharacterData.Mana", true)] - public uint Mana; - [FieldOffset(0x1D0), Obsolete("Use CharacterData.MaxMana", true)] - public uint MaxMana; - [FieldOffset(0x1D4), Obsolete("Use CharacterData.GatheringPoints", true)] - public ushort GatheringPoints; - [FieldOffset(0x1D6), Obsolete("Use CharacterData.MaxGatheringPoints", true)] - public ushort MaxGatheringPoints; - [FieldOffset(0x1D8), Obsolete("Use CharacterData.CraftingPoints", true)] - public ushort CraftingPoints; - [FieldOffset(0x1DA), Obsolete("Use CharacterData.MaxCraftingPoints", true)] - public ushort MaxCraftingPoints; - [FieldOffset(0x1DC), Obsolete("Use CharacterData.TransformationId", true)] - public short TransformationId; - [FieldOffset(0x1DE), Obsolete("Use CharacterData.StatusEffectVFXId", true)] - public short StatusEffectVFXId; // outdated since TitleID moved here - [FieldOffset(0x1DE), Obsolete("Use CharacterData.TitleID", true)] - public ushort TitleID; - - [FieldOffset(0x1E2), Obsolete("Use CharacterData.ClassJob", true)] - public byte ClassJob; - [FieldOffset(0x1E3), Obsolete("Use CharacterData.Level", true)] - public byte Level; - - [FieldOffset(0x1ED), Obsolete("Use CharacterData.ShieldValue", true)] - public byte ShieldValue; - - [FieldOffset(0x1EF), Obsolete("Use CharacterData.OnlineStatus", true)] - public byte OnlineStatus; - - #endregion - [FieldOffset(0x210)] public fixed byte Movement[0x420]; - [FieldOffset(0x630)] public EmoteController EmoteController; - [FieldOffset(0x630 + 0x21), Obsolete("Use EmoteController.CPoseState", true)] public byte CPoseState; + [FieldOffset(0x670)] public MountContainer Mount; [FieldOffset(0x6D8)] public CompanionContainer Companion; [FieldOffset(0x6F8)] public DrawDataContainer DrawData; - [Obsolete($"Use {nameof(DrawData)}", true), FieldOffset(0x6F8 + 0x148)] public fixed byte EquipSlotData[4 * 10]; - [Obsolete($"Use {nameof(DrawData)}.CustomizeData", true), FieldOffset(0x6F8 + 0x170)] public fixed byte CustomizeData[0x1A]; - [FieldOffset(0x8A0)] public OrnamentContainer Ornament; [FieldOffset(0x918)] public ReaperShroudContainer ReaperShroud; [FieldOffset(0x970)] public ActionTimelineManager ActionTimelineManager; - - [Obsolete($"Use {nameof(LookTargetId)} instead.", true)] - [FieldOffset(0xCB0)] public uint PlayerTargetObjectID; // offset not updated for 6.5 - /// /// The current target for this character's gaze. Can be set independently of soft or hard targets, and may be set /// by NPCs or minions. For players, an action cast will generally target the LookTarget (which generally will be @@ -98,16 +41,6 @@ public unsafe partial struct Character { [FieldOffset(0x12F0)] public VfxContainer Vfx; - [Obsolete("Use Vfx.VfxData", true)] - [FieldOffset(0x12F0 + 0x18)] public VfxData* VfxData; - [Obsolete("Use Vfx.VfxData2", true)] - [FieldOffset(0x12F0 + 0x20)] public VfxData* VfxData2; - [Obsolete("Use Vfx.Omen", true)] - [FieldOffset(0x12F0 + 0x48)] public VfxData* Omen; - - [Obsolete("Use Vfx.VoiceId", true)] - [FieldOffset(0x13C0)] public ushort VoiceId; - [FieldOffset(0x1410)] public byte StatusFlags4; [FieldOffset(0x1418)] public CharacterSetup CharacterSetup; @@ -117,12 +50,6 @@ public unsafe partial struct Character { [FieldOffset(0x1B30)] public Companion* CompanionObject; // minion [FieldOffset(0x1B40)] public fixed byte FreeCompanyTag[6]; - [Obsolete("Use CharacterData.CombatTaggerId instead.", true)] - [FieldOffset(0x1AB0)] public GameObjectID CombatTaggerId; // offset not updated for 6.5 - - [Obsolete($"Use {nameof(TargetId)} instead.", true)] - [FieldOffset(0x1B58)] public ulong TargetObjectID; - /// /// The current (hard) target for this Character. This will not be set for the LocalPlayer. /// @@ -152,9 +79,6 @@ public unsafe partial struct Character { [FieldOffset(0x1BB6)] public CharacterModes Mode; [FieldOffset(0x1BB7)] public byte ModeParam; // Different purpose depending on mode. See CharacterModes for more info. - [Obsolete("Use CharacterData.CombatTagType instead.", true)] - [FieldOffset(0x1B31)] public byte CombatTagType; // offset not updated for 6.5 - // Note: These 2 status flags might be just an ushort instead of 2 separate bytes. // 0x1 = WeaponDrawn @@ -199,11 +123,6 @@ public bool IsGPoseWet { [MemberFunction("E8 ?? ?? ?? ?? B8 ?? ?? ?? ?? 4C 3B F0")] public partial void SetSoftTargetId(GameObjectID id); - [Obsolete("Use CharacterSetup.CopyFromCharacter", true)] - public ulong CopyFromCharacter(Character* source, CharacterSetup.CopyFlags flags) => CharacterSetup.CopyFromCharacter(source, flags); - - [Obsolete("Use CopyFromCharacter(Character*, CopyFlags)", true)] - public ulong CopyFromCharacter(Character* source, uint flags) => CopyFromCharacter(source, (CharacterSetup.CopyFlags)flags); public bool IsMounted() { // inlined as of 6.5 return this.Mount.MountId != 0; @@ -212,9 +131,6 @@ public bool IsMounted() { [MemberFunction("E8 ?? ?? ?? ?? 48 8B 4F ?? E8 ?? ?? ?? ?? 48 8B 4C 24 ??")] public partial void SetMode(CharacterModes mode, byte modeParam); - [Obsolete("Use CharacterSetup.SetupBNpc", true)] - public void SetupBNpc(uint bNpcBaseId, uint bNpcNameId = 0) => CharacterSetup.SetupBNpc(bNpcBaseId, bNpcNameId); - /// Can only be used for Mounts, Minions, and Ornaments. Literally just checks if the game object at index - 1 is a character and returns that. [MemberFunction("E8 ?? ?? ?? ?? 48 85 C0 48 0F 45 F8")] public partial Character* GetParentCharacter(); diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Character/CharacterManager.cs b/FFXIVClientStructs/FFXIV/Client/Game/Character/CharacterManager.cs index b932faa88..e8ef299e4 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Character/CharacterManager.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Character/CharacterManager.cs @@ -2,8 +2,6 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.Character; [StructLayout(LayoutKind.Explicit, Size = 0x338)] public unsafe partial struct CharacterManager { - [Obsolete("Use BattleCharaListSpan", true)] - [FieldOffset(0x00)] public fixed long BattleCharaArray[100]; [FixedSizeArray>(100)] [FieldOffset(0x00)] public fixed byte BattleCharaList[100 * 8]; [FieldOffset(0x320)] public BattleChara* BattleCharaMemory; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Character/DrawDataContainer.cs b/FFXIVClientStructs/FFXIV/Client/Game/Character/DrawDataContainer.cs index 0491d653c..1032a5330 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Character/DrawDataContainer.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Character/DrawDataContainer.cs @@ -16,31 +16,6 @@ public ref DrawObjectData Weapon(WeaponSlot which) { return ref ((DrawObjectData*)ptr)[(int)which]; } - [Obsolete("Use Weapon(WeaponSlot.MainHand).ModelId", true)] - [FieldOffset(0x010)] public WeaponModelId MainHandModel; - [Obsolete("Use Weapon(WeaponSlot.MainHand).State", true)] - [FieldOffset(0x06C)] public byte MainHandState; - [Obsolete("Use Weapon(WeaponSlot.MainHand).Flags1", true)] - [FieldOffset(0x072)] public ushort MainHandFlags1; - [Obsolete("Use Weapon(WeaponSlot.MainHand).Flags2", true)] - [FieldOffset(0x074)] public byte MainHandFlags2; - - [Obsolete("Use Weapon(WeaponSlot.OffHand).ModelId", true)] - [FieldOffset(0x080)] public WeaponModelId OffHandModel; - [Obsolete("Use Weapon(WeaponSlot.OffHand).State", true)] - [FieldOffset(0x0DC)] public byte OffHandState; - [Obsolete("Use Weapon(WeaponSlot.OffHand).Flags1", true)] - [FieldOffset(0x0E2)] public ushort OffHandFlags1; - [Obsolete("Use Weapon(WeaponSlot.OffHand).Flags2", true)] - [FieldOffset(0x0E4)] public byte OffHandFlags2; - - [Obsolete("Use Weapon(WeaponSlot.Unk).ModelId", true)] - [FieldOffset(0x0F0)] public WeaponModelId UnkE0Model; - [Obsolete("Use Weapon(WeaponSlot.Unk).Flags1", true)] - [FieldOffset(0x152)] public ushort Unk144Flags1; - [Obsolete("Use Weapon(WeaponSlot.Unk).Flags2", true)] - [FieldOffset(0x154)] public byte Unk144Flags2; - [FieldOffset(0x010 + 3 * DrawObjectData.Size + 0x00)] public EquipmentModelId Head; [FieldOffset(0x010 + 3 * DrawObjectData.Size + 0x04)] public EquipmentModelId Top; [FieldOffset(0x010 + 3 * DrawObjectData.Size + 0x08)] public EquipmentModelId Arms; @@ -120,18 +95,6 @@ public bool IsVisorToggled { get => (Flags2 & 0x10) == 0x10; set => Flags2 = (byte)(value ? Flags2 | 0x10 : Flags2 & ~0x10); } - - [Obsolete("Use WeaponSpan[0].IsHidden", true)] - public bool IsMainHandHidden { - get => (Weapon(WeaponSlot.MainHand).State & 0x02) == 0x02; - set => Weapon(WeaponSlot.MainHand).State = (byte)(value ? Weapon(WeaponSlot.MainHand).State | 0x02 : Weapon(WeaponSlot.MainHand).State & ~0x02); - } - - [Obsolete("Use WeaponSpan[1].IsHidden", true)] - public bool IsOffHandHidden { - get => (Weapon(WeaponSlot.OffHand).State & 0x02) == 0x02; - set => Weapon(WeaponSlot.OffHand).State = (byte)(value ? Weapon(WeaponSlot.OffHand).State | 0x02 : Weapon(WeaponSlot.OffHand).State & ~0x02); - } } diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingManager.cs b/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingManager.cs index 013e8c5d9..977cb3b54 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingManager.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingManager.cs @@ -6,9 +6,7 @@ public unsafe partial struct HousingManager { public static partial HousingManager* Instance(); [FieldOffset(0x00)] public HousingTerritory* CurrentTerritory; - [Obsolete("Use HousingOutdoorTerritory", true)] - [FieldOffset(0x08)] public HousingTerritory* OutdoorTerritory; - [FieldOffset(0x08)] public HousingOutdoorTerritory* HousingOutdoorTerritory; + [FieldOffset(0x08)] public HousingOutdoorTerritory* OutdoorTerritory; [FieldOffset(0x10)] public HousingTerritory* IndoorTerritory; [FieldOffset(0x18)] public HousingWorkshopTerritory* WorkshopTerritory; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingWorkshopTerritory.cs b/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingWorkshopTerritory.cs index 0298aaf81..f2a7b8e7e 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingWorkshopTerritory.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Housing/HousingWorkshopTerritory.cs @@ -32,7 +32,6 @@ public unsafe partial struct HousingWorkshopSubmersibleData { [StructLayout(LayoutKind.Explicit, Size = 0x1C0)] public unsafe partial struct HousingWorkshopAirshipSubData { - [FieldOffset(0x0), Obsolete("Cast to byte instead", true)] public fixed byte Data[0x1C0]; [FieldOffset(0x4)] public uint RegisterTime; [FieldOffset(0xC)] public byte RankId; [FieldOffset(0x10)] public uint ReturnTime; @@ -91,7 +90,6 @@ public unsafe partial struct HousingWorkshopAirshipGathered { [StructLayout(LayoutKind.Explicit, Size = 0x2320)] public unsafe partial struct HousingWorkshopSubmersibleSubData { [FieldOffset(0x0)] public HousingWorkshopSubmersibleData* Parent; - [FieldOffset(0x0), Obsolete("Wrong mapping stop using this", true)] public HousingWorkshopSubmersibleSubData* Self; [FieldOffset(0xE)] public byte RankId; [FieldOffset(0x10)] public uint RegisterTime; [FieldOffset(0x14)] public uint ReturnTime; @@ -118,7 +116,6 @@ public unsafe partial struct HousingWorkshopSubmersibleSubData { [FieldOffset(0x58)] public ushort SpeedBonus; [FieldOffset(0x5A)] public ushort RangeBonus; [FieldOffset(0x5C)] public ushort FavorBonus; - [FieldOffset(0x60), Obsolete("Use SubmarineRating", true)] public byte Rating; [FieldOffset(0x60)] public SubmarineRating SubmarineRating; [FieldOffset(0x62)] public ushort LogSpeed; @@ -162,14 +159,6 @@ public struct HousingWorkshopSubmarineGathered { [FieldOffset(0x1D)] public bool ItemHQAdditional; [FieldOffset(0x1E)] public byte UnknownPrimary; [FieldOffset(0x1F)] public byte UnknownAdditional; - - [FieldOffset(0x20), Obsolete("Use SurveyLinePrimary", true)] public uint UnknownPrimary1; - [FieldOffset(0x24), Obsolete("Use SurveyLineAdditional", true)] public uint UnknownAdditional1; - [FieldOffset(0x28), Obsolete("Use YieldLinePrimary", true)] public uint UnknownPrimary2; - [FieldOffset(0x2C), Obsolete("Use YieldLineAdditional", true)] public uint UnknownAdditional2; - [FieldOffset(0x30), Obsolete("Use DiscoveredLinePrimary", true)] public uint UnknownPrimary3; - [FieldOffset(0x34), Obsolete("Use DiscoveredLineAdditional", true)] public uint UnknownAdditional3; - [FieldOffset(0x20)] public uint SurveyLinePrimary; [FieldOffset(0x24)] public uint SurveyLineAdditional; [FieldOffset(0x28)] public uint YieldLinePrimary; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/InstanceContent/InstanceContentDirector.cs b/FFXIVClientStructs/FFXIV/Client/Game/InstanceContent/InstanceContentDirector.cs index 3a2b2b978..cf958461a 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/InstanceContent/InstanceContentDirector.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/InstanceContent/InstanceContentDirector.cs @@ -7,7 +7,6 @@ public unsafe struct InstanceContentDirector { /// /// The remaining time in seconds for the instance. /// - [FieldOffset(0xC08), Obsolete("Use ContentDirector.ContentTimeLeft", true)] public float TimeRemaining; [FieldOffset(0xCE4)] public InstanceContentType InstanceContentType; } diff --git a/FFXIVClientStructs/FFXIV/Client/Game/MJI/IslandState.cs b/FFXIVClientStructs/FFXIV/Client/Game/MJI/IslandState.cs index 19c9e8575..f4bb022ce 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/MJI/IslandState.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/MJI/IslandState.cs @@ -281,7 +281,4 @@ public struct MJIFarmPasture { [FieldOffset(0x01)] public byte HoursToCompletion; [FieldOffset(0x02)] public bool UnderConstruction; [FieldOffset(0x03)] public byte EligibleForCare; - - [Obsolete($"Renamed to {nameof(EligibleForCare)}")] - [FieldOffset(0x03)] public byte UNK_0x4; } diff --git a/FFXIVClientStructs/FFXIV/Client/Game/SavedAppearanceManager.cs b/FFXIVClientStructs/FFXIV/Client/Game/SavedAppearanceManager.cs index 5a0011730..f2c71716f 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/SavedAppearanceManager.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/SavedAppearanceManager.cs @@ -16,8 +16,6 @@ public unsafe partial struct SavedAppearanceManager { public unsafe partial struct SavedAppearanceSlot { [FieldOffset(0x00)] public uint Magic; // Should be 0x2013_FF14 [FieldOffset(0x04)] public uint Version; - [Obsolete("Use CustomizeData", true)] - [FieldOffset(0x10)] public fixed byte Customize[0x1A]; [FieldOffset(0x10)] public CustomizeData CustomizeData; [FieldOffset(0x30), FixedString("Label")] public fixed byte LabelBytes[0x40]; [FieldOffset(0x134)] public bool IsCreated; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/Cabinet.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/Cabinet.cs index fcb750296..eb8d42a7e 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/Cabinet.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/Cabinet.cs @@ -6,8 +6,6 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.UI; /// [StructLayout(LayoutKind.Explicit, Size = 0x84)] public unsafe partial struct Cabinet { - [Obsolete("Use State.", true)] - [FieldOffset(0x00)] public int CabinetLoaded; // This becomes 2 for some reason, unsure why or what it means. [FieldOffset(0x00)] public CabinetState State; [FieldOffset(0x04)] public fixed byte UnlockedItems[0x80]; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/ContentsFinder.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/ContentsFinder.cs index 7ba3ec0b1..0106336d4 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/ContentsFinder.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/ContentsFinder.cs @@ -8,24 +8,6 @@ public unsafe partial struct ContentsFinder { [FieldOffset(0x00)] public void* vtbl; [FieldOffset(0x18)] public LootRule LootRules; - [Obsolete("Use IsUnrestrictedParty boolean property instead", true)] - [FieldOffset(0x19)] public byte UnrestrictedParty; - - [Obsolete("Use IsMinimalIL boolean property instead", true)] - [FieldOffset(0x1A)] public byte MinimalIL; - - [Obsolete("Use IsSilenceEcho boolean property instead", true)] - [FieldOffset(0x1B)] public byte SilenceEcho; - - [Obsolete("Use IsExplorerMode boolean property instead", true)] - [FieldOffset(0x1C)] public byte ExplorerMode; - - [Obsolete("Use IsLevelSync boolean property instead", true)] - [FieldOffset(0x1D)] public byte LevelSync; - - [Obsolete("Use IsLimitedLevelingRoulette boolean property instead", true)] - [FieldOffset(0x1E)] public byte LimitedLevelingRoulette; - [FieldOffset(0x19)] public bool IsUnrestrictedParty; [FieldOffset(0x1A)] public bool IsMinimalIL; [FieldOffset(0x1B)] public bool IsSilenceEcho; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/Inspect.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/Inspect.cs index 085fc0d00..351392c53 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/Inspect.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/Inspect.cs @@ -1,15 +1,11 @@ using FFXIVClientStructs.FFXIV.Client.Game.Character; -using FFXIVClientStructs.FFXIV.Client.Game.Object; namespace FFXIVClientStructs.FFXIV.Client.Game.UI; [StructLayout(LayoutKind.Explicit, Size = 0x268)] public unsafe struct Inspect { - [FieldOffset(0xC), Obsolete("Improperly mapped use outside variables", true)] public GameObjectID ObjectId; - [FieldOffset(0xC)] public uint ObjectID; [FieldOffset(0x10)] public byte Type; - [FieldOffset(0x10), Obsolete("Not valid. Use CustomizeData.Sex", true)] public byte Sex; [FieldOffset(0x12)] public short WorldId; [FieldOffset(0x14)] public fixed byte Name[64]; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/MobHunt.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/MobHunt.cs index a919fc27d..9e3637998 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/MobHunt.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/MobHunt.cs @@ -28,12 +28,6 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.UI; /// [StructLayout(LayoutKind.Explicit, Size = 0x198)] public unsafe partial struct MobHunt { - [Obsolete("Use AvailableMarkId instead", true)] - [FieldOffset(0x8)] public fixed byte unkArray[18]; - - [Obsolete("Use ObtainedMarkId instead", true)] - [FieldOffset(0x1A)] public fixed byte MarkID[18]; - [FieldOffset(0x08)] public fixed byte AvailableMarkId[18]; [FieldOffset(0x1A)] public fixed byte ObtainedMarkId[18]; diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/PlayerState.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/PlayerState.cs index 2409b2874..e599dd6e0 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/PlayerState.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/PlayerState.cs @@ -138,9 +138,6 @@ public float GetDesynthesisLevel(uint classJobId) [MemberFunction("E8 ?? ?? ?? ?? BE ?? ?? ?? ?? 84 C0 75 0C")] public partial byte GetBeastTribeRank(byte beastTribeIndex); - [Obsolete("Use QuestManager.Instance()->GetBeastTribeAllowance() instead.", true)] - public static ulong GetBeastTribeAllowance() => QuestManager.Instance()->GetBeastTribeAllowance(); - /// /// Returns whether the player is possessing the maximum amount of specialized souls. /// diff --git a/FFXIVClientStructs/FFXIV/Client/Game/UI/WeaponState.cs b/FFXIVClientStructs/FFXIV/Client/Game/UI/WeaponState.cs index 1ad77103d..d4abf1570 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/UI/WeaponState.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/UI/WeaponState.cs @@ -2,7 +2,6 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.UI; [StructLayout(LayoutKind.Explicit, Size = 0x18)] public struct WeaponState { - [FieldOffset(0x00), Obsolete("Use IsUnsheathed instead.", true)] public byte WeaponUnsheathed; [FieldOffset(0x00)] public bool IsUnsheathed; [FieldOffset(0x04)] public float SheatheCooldown; [FieldOffset(0x08)] public float AutoSheathTimer; diff --git a/FFXIVClientStructs/FFXIV/Client/Graphics/Environment/EnvManager.cs b/FFXIVClientStructs/FFXIV/Client/Graphics/Environment/EnvManager.cs index a4deffc4a..a6b1d2efd 100644 --- a/FFXIVClientStructs/FFXIV/Client/Graphics/Environment/EnvManager.cs +++ b/FFXIVClientStructs/FFXIV/Client/Graphics/Environment/EnvManager.cs @@ -17,8 +17,6 @@ public unsafe partial struct EnvManager { [FieldOffset(0x30)] public EnvSpace* EnvSpace; [FieldOffset(0x50)] public EnvState EnvState; - [FieldOffset(0x17C), Obsolete("Use EnvState.Rain", true)] - public float Rain; // seems to be 1.0f when raining and 0.0f otherwise. [FieldOffset(0x388)] public EnvSoundState EnvSoundState; [FieldOffset(0x400)] public EnvSimulator EnvSimulator; [FieldOffset(0x750)] public ShadowCamera ShadowCamera; diff --git a/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/CharacterBase.cs b/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/CharacterBase.cs index 0fd5af0e3..b18b49026 100644 --- a/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/CharacterBase.cs +++ b/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/CharacterBase.cs @@ -21,8 +21,6 @@ public unsafe partial struct CharacterBase { [FieldOffset(0x98)] public int SlotCount; // model slots [FieldOffset(0xA0)] public Skeleton* Skeleton; // Client::Graphics::Render::Skeleton - [Obsolete("Use Models", true)] - [FieldOffset(0xA8)] public void** ModelArray; // array of Client::Graphics::Render::Model ptrs size = SlotCount [FieldOffset(0xA8)] public Model** Models; // size = SlotCount [FieldOffset(0x148)] public void* PostBoneDeformer; // Client::Graphics::Scene::PostBoneDeformer ptr @@ -46,8 +44,6 @@ public bool HasUmbrella { public BonePhysicsModule* BonePhysicsModule; // Client::Graphics::Physics::BonePhysicsModule ptr [FieldOffset(0x224)] public float VfxScale; - [Obsolete("Use CharacterDataCBuffer", true)] - [FieldOffset(0x240)] public void* CharacterDataCB; [FieldOffset(0x240)] public ConstantBuffer* CharacterDataCBuffer; // Size has been observed to be 0x50, contents may be InstanceParameter [FieldOffset(0x258)] public Texture** ColorTableTextures; // each one corresponds to a material, size = SlotCount * 4 @@ -60,28 +56,17 @@ public bool HasUmbrella { // next few fields are used temporarily when loading the render object and cleared after load [FieldOffset(0x2C8)] public uint HasModelInSlotLoaded; // tracks which slots have loaded models into staging - [FieldOffset(0x2CC)] - public uint HasModelFilesInSlotLoaded; // tracks which slots have loaded materials, etc into staging + [FieldOffset(0x2CC)] public uint HasModelFilesInSlotLoaded; // tracks which slots have loaded materials, etc into staging [FieldOffset(0x2D0)] public void* TempData; // struct with temporary data (size = 0x88) - [FieldOffset(0x2D8)] - public void* TempSlotData; // struct with temporary data for each slot (size = 0x88 * slot count) + [FieldOffset(0x2D8)] public void* TempSlotData; // struct with temporary data for each slot (size = 0x88 * slot count) - // - [Obsolete("Use Materials", true)] - [FieldOffset(0x2E8)] - public void** - MaterialArray; // array of Client::Graphics::Render::Material ptrs size = SlotCount * 4 (4 material per model max) - [FieldOffset(0x2E8)] - public Material** Materials; // size = SlotCount * 4 (4 material per model max) + [FieldOffset(0x2E8)] public Material** Materials; // size = SlotCount * 4 (4 material per model max) - [FieldOffset(0x2F0)] - public void* EID; // Client::System::Resource::Handle::ElementIdResourceHandle - EID file for base skeleton + [FieldOffset(0x2F0)] public void* EID; // Client::System::Resource::Handle::ElementIdResourceHandle - EID file for base skeleton - [FieldOffset(0x2F8)] - public void** - IMCArray; // array of Client::System::Resource::Handle::ImageChangeDataResourceHandle ptrs size = SlotCount - IMC file for model in slot + [FieldOffset(0x2F8)] public void** IMCArray; // array of Client::System::Resource::Handle::ImageChangeDataResourceHandle ptrs size = SlotCount - IMC file for model in slot public readonly Span> ModelsSpan => new(Models, SlotCount); diff --git a/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/Human.cs b/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/Human.cs index cd8557aac..e98f86760 100644 --- a/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/Human.cs +++ b/FFXIVClientStructs/FFXIV/Client/Graphics/Scene/Human.cs @@ -16,50 +16,18 @@ namespace FFXIVClientStructs.FFXIV.Client.Graphics.Scene; [StructLayout(LayoutKind.Explicit, Size = 0xA80)] public unsafe partial struct Human { [FieldOffset(0x0)] public CharacterBase CharacterBase; - [FieldOffset(0x8F0), Obsolete("Use Customize.Data", true)] public fixed byte CustomizeData[0x1A]; [FieldOffset(0x8F0)] public CustomizeData Customize; - [FieldOffset(0x8F0), Obsolete("Use Customize.Race", true)] public byte Race; - [FieldOffset(0x8F1), Obsolete("Use Customize.Sex", true)] public byte Sex; - [FieldOffset(0x8F2), Obsolete("Use Customize.BodyType", true)] public byte BodyType; - [FieldOffset(0x8F4), Obsolete("Use Customize.Clan", true)] public byte Clan; - [FieldOffset(0x904), Obsolete("Use Customize.LupColorFurPattern", true)] public byte LipColorFurPattern; [FieldOffset(0x90C)] public uint SlotNeedsUpdateBitfield; - [FieldOffset(0x910), Obsolete("Use specific equipment slot variables", true)] public fixed byte EquipSlotData[4 * 0xA]; [FieldOffset(0x910)] public EquipmentModelId Head; - [FieldOffset(0x910), Obsolete("Use Head.Id", true)] public short HeadSetID; - [FieldOffset(0x912), Obsolete("Use Head.Variant", true)] public byte HeadVariantID; - [FieldOffset(0x913), Obsolete("Use Head.Stain", true)] public byte HeadDyeID; [FieldOffset(0x914)] public EquipmentModelId Top; - [FieldOffset(0x914), Obsolete("Use Top.Id", true)] public short TopSetID; - [FieldOffset(0x916), Obsolete("Use Top.Variant", true)] public byte TopVariantID; - [FieldOffset(0x917), Obsolete("Use Top.Stain", true)] public byte TopDyeID; [FieldOffset(0x918)] public EquipmentModelId Arms; - [FieldOffset(0x918), Obsolete("Use Arms.Id", true)] public short ArmsSetID; - [FieldOffset(0x91A), Obsolete("Use Arms.Variant", true)] public byte ArmsVariantID; - [FieldOffset(0x91B), Obsolete("Use Arms.Stain", true)] public byte ArmsDyeID; [FieldOffset(0x91C)] public EquipmentModelId Legs; - [FieldOffset(0x91C), Obsolete("Use Legs.Id", true)] public short LegsSetID; - [FieldOffset(0x91E), Obsolete("Use Legs.Variant", true)] public byte LegsVariantID; - [FieldOffset(0x91F), Obsolete("Use Legs.Stain", true)] public byte LegsDyeID; [FieldOffset(0x920)] public EquipmentModelId Feet; - [FieldOffset(0x920), Obsolete("Use Feet.Id", true)] public short FeetSetID; - [FieldOffset(0x922), Obsolete("Use Feet.Variant", true)] public byte FeetVariantID; - [FieldOffset(0x923), Obsolete("Use Feet.Stain", true)] public byte FeetDyeID; [FieldOffset(0x924)] public EquipmentModelId Ear; - [FieldOffset(0x924), Obsolete("Use Ear.Id", true)] public short EarSetID; - [FieldOffset(0x926), Obsolete("Use Ear.Variant", true)] public byte EarVariantID; [FieldOffset(0x928)] public EquipmentModelId Neck; - [FieldOffset(0x928), Obsolete("Use Neck.Id", true)] public short NeckSetID; - [FieldOffset(0x92A), Obsolete("Use Neck.Variant", true)] public byte NeckVariantID; [FieldOffset(0x92C)] public EquipmentModelId Wrist; - [FieldOffset(0x92C), Obsolete("Use Wrist.Id", true)] public short WristSetID; - [FieldOffset(0x92E), Obsolete("Use Wrist.Variant", true)] public byte WristVariantID; [FieldOffset(0x930)] public EquipmentModelId RFinger; - [FieldOffset(0x930), Obsolete("Use RFinger.Id", true)] public short RFingerSetID; - [FieldOffset(0x932), Obsolete("Use RFinger.Variant", true)] public byte RFingerVariantID; [FieldOffset(0x934)] public EquipmentModelId LFinger; - [FieldOffset(0x934), Obsolete("Use LFinger.Id", true)] public short LFingerSetID; - [FieldOffset(0x936), Obsolete("Use LFinger.Variant", true)] public byte LFingerVariantID; [FieldOffset(0x938)] public ushort RaceSexId; // cXXXX ID (0101, 0201, etc) [FieldOffset(0x93A)] public ushort HairId; // hXXXX [FieldOffset(0x93C)] public ushort FaceId; // fXXXX ID diff --git a/FFXIVClientStructs/FFXIV/Client/System/Resource/Handle/ResourceHandle.cs b/FFXIVClientStructs/FFXIV/Client/System/Resource/Handle/ResourceHandle.cs index c198c4b71..f0a0a4528 100644 --- a/FFXIVClientStructs/FFXIV/Client/System/Resource/Handle/ResourceHandle.cs +++ b/FFXIVClientStructs/FFXIV/Client/System/Resource/Handle/ResourceHandle.cs @@ -11,13 +11,6 @@ public unsafe partial struct ResourceHandle { [FieldOffset(0x08)] public ResourceHandleType Type; - [Obsolete($"Use Type.Category instead", true)] - [FieldOffset(0x08)] public ResourceCategory Category; // First byte in SqPack name, but stored as ushort - [Obsolete($"Use Type.Unknown0A instead", true)] - [FieldOffset(0x0A)] public byte Unknown0A; // Third byte in SqPack name - [Obsolete($"Use Type.Expansion instead", true)] - [FieldOffset(0x0B)] public byte Expansion; // Second byte in SqPack name. Specifies SqPack folder: 0 = ffxiv, 1 = ex1, 2 = ex2, ... - [FieldOffset(0x0C)] public uint FileType; // "txt" "uld" etc from the header [FieldOffset(0x10)] public uint Id; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/AddonContextMenu.cs b/FFXIVClientStructs/FFXIV/Client/UI/AddonContextMenu.cs index aa45a19ec..2945b80ba 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/AddonContextMenu.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/AddonContextMenu.cs @@ -6,6 +6,4 @@ namespace FFXIVClientStructs.FFXIV.Client.UI; [StructLayout(LayoutKind.Explicit, Size = 0x2A0)] public struct AddonContextMenu { [FieldOffset(0x0)] public AtkUnitBase AtkUnitBase; - [FieldOffset(0x160), Obsolete("use AtkUnitBase.AtkValues", true)] public unsafe AtkValue* AtkValues; - [FieldOffset(0x1CA), Obsolete("use AtkUnitBase.AtkValuesCount", true)] public ushort AtkValuesCount; } diff --git a/FFXIVClientStructs/FFXIV/Client/UI/AddonFateReward.cs b/FFXIVClientStructs/FFXIV/Client/UI/AddonFateReward.cs index 468c352a1..4f7cb4bd9 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/AddonFateReward.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/AddonFateReward.cs @@ -1,4 +1,3 @@ -using FFXIVClientStructs.FFXIV.Client.System.String; using FFXIVClientStructs.FFXIV.Component.GUI; namespace FFXIVClientStructs.FFXIV.Client.UI; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/AddonJournalDetail.cs b/FFXIVClientStructs/FFXIV/Client/UI/AddonJournalDetail.cs index 76820c931..c465778a1 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/AddonJournalDetail.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/AddonJournalDetail.cs @@ -10,57 +10,6 @@ namespace FFXIVClientStructs.FFXIV.Client.UI; public unsafe struct AddonJournalDetail { [FieldOffset(0x0)] public AtkUnitBase AtkUnitBase; - [Obsolete("Use ScrollBar Instead", true)] - [FieldOffset(0x230)] public AtkComponentScrollBar* AtkComponentScrollBar230; - - [Obsolete("Use JournalCanvas Instead", true)] - [FieldOffset(0x238)] public AtkComponentGuildLeveCard* AtkComponentGuildLeveCard238; - - [Obsolete("Use DutyName Instead", true)] - [FieldOffset(0x240)] public AtkTextNode* AtkTextNode240; - - [Obsolete("Use DutyLevel Instead", true)] - [FieldOffset(0x248)] public AtkTextNode* AtkTextNode248; - - [Obsolete("Use DutyCategoryImage Instead", true)] - [FieldOffset(0x250)] public AtkImageNode* AtkImageNode250; - - [Obsolete("Use DutyCategoryBackgroundImage Instead", true)] - [FieldOffset(0x258)] public AtkImageNode* AtkImageNode258; - - [Obsolete("Use GuildLeveCardBackground Instead", true)] - [FieldOffset(0x260)] public AtkImageNode* AtkImageNode260; - - [Obsolete("Use RewardsReceivedResNode Instead", true)] - [FieldOffset(0x268)] public AtkResNode* AtkResNode268; - - [Obsolete("Use RewardsReceivedTextNode Instead", true)] - [FieldOffset(0x270)] public AtkTextNode* AtkTextNode270; - - [Obsolete("Use ButtonsResNode Instead", true)] - [FieldOffset(0x278)] public AtkResNode* AtkResNode278; - - [Obsolete("Use AcceptMapButton Instead", true)] - [FieldOffset(0x280)] public AtkComponentButton* AcceptButton; - - [Obsolete("Use InitiateButton Instead", true)] - [FieldOffset(0x288)] public AtkComponentButton* DeclineButton; - - [Obsolete("Use AbandonDeclineButton Instead", true)] - [FieldOffset(0x290)] public AtkComponentButton* AtkComponentButton290; - - [Obsolete("Use QuestImageNode Instead", true)] - [FieldOffset(0x2A0)] public AtkImageNode* AtkImageNode2A0; - - [Obsolete("Use RequirementsNotMetLabelTextNode Instead", true)] - [FieldOffset(0x2B0)] public AtkTextNode* AtkTextNode2B0; - - [Obsolete("Use RequirementsNotMetTextNode Instead", true)] - [FieldOffset(0x2B8)] public AtkTextNode* AtkTextNode2B8; - - [Obsolete("Use JournalCanvas Instead", true)] - [FieldOffset(0x2D0)] public AtkComponentJournalCanvas* AtkComponentJournalCanvas2D0; - [FieldOffset(0x230)] public AtkComponentScrollBar* ScrollBarNode; [FieldOffset(0x238)] public AtkComponentGuildLeveCard* GuildLeveCardNode; [FieldOffset(0x240)] public AtkTextNode* DutyNameTextNode; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/AddonWeeklyBingo.cs b/FFXIVClientStructs/FFXIV/Client/UI/AddonWeeklyBingo.cs index c28cc4a8f..c17b05063 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/AddonWeeklyBingo.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/AddonWeeklyBingo.cs @@ -37,12 +37,6 @@ public unsafe struct DutySlotList { [FieldOffset(0x13D8)] public DutySlot DutySlot15; [FieldOffset(0x1540)] public DutySlot DutySlot16; - //These overrun the size and are marked with error obsolete due to it - [FieldOffset(0x18C8), Obsolete("Overrun struct size do not use", true)] public AtkComponentButton* SecondChanceButton; - [FieldOffset(0x18D0), Obsolete("Overrun struct size do not use", true)] public AtkComponentButton* CancelButton; - [FieldOffset(0x18D8), Obsolete("Overrun struct size do not use", true)] public AtkTextNode* SecondChancesRemaining; - [FieldOffset(0x18E0), Obsolete("Overrun struct size do not use", true)] public AtkResNode* DutyContainer; - public DutySlot this[int index] => index switch { 0 => DutySlot1, 1 => DutySlot2, diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentCharaCard.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentCharaCard.cs index 7783ab271..d03adc578 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentCharaCard.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentCharaCard.cs @@ -32,9 +32,7 @@ public unsafe partial struct AgentCharaCard { public struct Storage { [FieldOffset(0x58)] public Utf8String Name; [FieldOffset(0xD8)] public Utf8String FreeCompany; - [FieldOffset(0x140), Obsolete("Use SearchComment1", true)] public Utf8String UnkString1; [FieldOffset(0x140)] public Utf8String SearchComment1; - [FieldOffset(0x1A8), Obsolete("Use SearchComment2", true)] public Utf8String UnkString2; [FieldOffset(0x1A8)] public Utf8String SearchComment2; // One of these is probably the raw one without formatting [FieldOffset(0x250)] public uint Activity1IconId; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContentsFinder.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContentsFinder.cs index 9eb102035..7d2a7de87 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContentsFinder.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContentsFinder.cs @@ -13,15 +13,6 @@ public unsafe partial struct AgentContentsFinder { [FieldOffset(0x38)] public Utf8String Description; - [FieldOffset(0x86), Obsolete("Use Description instead", true)] public byte* DescriptionString; // null-terminated cstring representing the currently displayed duty description - - [FieldOffset(0x1B8), Obsolete("Poorly mapped", true)] public ContentsFinderRewards Reward; - [FieldOffset(0x408), Obsolete("Poorly mapped", true)] public ContentsFinderRewards BonusReward; - - // These seem to be duplicates of the above reward structs - [FieldOffset(0x5C8), Obsolete("Poorly mapped", true)] public ContentsFinderRewards Reward2; - [FieldOffset(0x810), Obsolete("Poorly mapped", true)] public ContentsFinderRewards BonusReward2; - // TODO split into 3 separate arrays, (8F0, EE0, 14D0), each with 5 entries, 8F0 seems to be the top row of rewards while 14D0 is the bottom row, EE0 is unknown [FixedSizeArray(15)] [FieldOffset(0x8F0)] public fixed byte ItemRewardArray[0x130 * 15]; // E8 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? 89 5E 2C diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContext.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContext.cs index 011d6292a..6ce1359c0 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContext.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentContext.cs @@ -1,5 +1,4 @@ using System.Drawing; -using System.Text; using FFXIVClientStructs.FFXIV.Client.Game.Object; using FFXIVClientStructs.FFXIV.Client.System.String; using FFXIVClientStructs.FFXIV.Component.GUI; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentFreeCompany.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentFreeCompany.cs index 76ff508be..3131891bb 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentFreeCompany.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentFreeCompany.cs @@ -1,5 +1,3 @@ -using System.Text; -using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.System.String; using FFXIVClientStructs.FFXIV.Client.UI.Misc; using FFXIVClientStructs.FFXIV.Component.GUI; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentLobby.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentLobby.cs index 1341af893..8de003636 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentLobby.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentLobby.cs @@ -20,8 +20,6 @@ public unsafe partial struct AgentLobby { [FieldOffset(0x10E0)] public sbyte ServiceAccountIndex; [FieldOffset(0x10E1)] public sbyte SelectedCharacterIndex; // index in CharaSelectCharacterList - [Obsolete("Renamed to SelectedCharacterContentId", true)] - [FieldOffset(0x10E8)] public ulong SelectedCharacterId; [FieldOffset(0x10E8)] public ulong SelectedCharacterContentId; [FieldOffset(0x10F0)] public byte DataCenter; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentScreenLog.cs b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentScreenLog.cs index 83e1aa66b..a5ef6d4ac 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentScreenLog.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Agent/AgentScreenLog.cs @@ -1,4 +1,3 @@ -using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.Game.Character; using FFXIVClientStructs.FFXIV.Client.Game.Object; using FFXIVClientStructs.FFXIV.Client.System.String; @@ -19,7 +18,6 @@ public Character* [FieldOffset(0xE0)] public float CameraDistance; [FieldOffset(0xE4)] public int BalloonId; // matches BalloonCounter when the balloon is made [FieldOffset(0xE8)] public ushort ParentBone; - [FieldOffset(0xE8), Obsolete("Wrong mapping", true)] public BalloonType Type; [FieldOffset(0xE9), CExportIgnore] public byte Slot; // Does not exist at current offset or was removed [FieldOffset(0xEA)] public byte UnknownByteEA; [FieldOffset(0xEB)] public byte UnknownByteEB; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Info/InfoProxyCrossRealm.cs b/FFXIVClientStructs/FFXIV/Client/UI/Info/InfoProxyCrossRealm.cs index 0ce2f6529..a6a9fe9f7 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Info/InfoProxyCrossRealm.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Info/InfoProxyCrossRealm.cs @@ -19,15 +19,6 @@ public unsafe partial struct InfoProxyCrossRealm { [FixedSizeArray(6)] [FieldOffset(0x3A0)] public fixed byte CrossRealmGroupArray[6 * 0x2C8]; - [Obsolete("Use CrossRealmGroupArraySpan", true)] - public ReadOnlySpan CrossRealmGroupSpan { - get { - fixed (byte* gp = CrossRealmGroupArray) { - return new ReadOnlySpan(gp, GroupCount); - } - } - } - [MemberFunction("E8 ?? ?? ?? ?? 80 B8 ?? ?? ?? ?? ?? 74 5D")] public static partial InfoProxyCrossRealm* Instance(); @@ -64,15 +55,6 @@ public unsafe partial struct CrossRealmGroup { [FieldOffset(0x00)] public byte GroupMemberCount; [FixedSizeArray(8)] [FieldOffset(0x08)] public fixed byte GroupMembers[8 * 0x58]; - - [Obsolete("Use GroupMembersSpan and make sure not to iterate further than GroupMemberCount, GroupMembersSpan now includes invalid members and residual data from people that left the group", true)] - public ReadOnlySpan GroupMemberSpan { - get { - fixed (byte* gp = GroupMembers) { - return new ReadOnlySpan(gp, GroupMemberCount); - } - } - } } [StructLayout(LayoutKind.Explicit, Size = 0x58)] diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Misc/CharaView.cs b/FFXIVClientStructs/FFXIV/Client/UI/Misc/CharaView.cs index 0f018370e..89aa81d03 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Misc/CharaView.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Misc/CharaView.cs @@ -43,66 +43,6 @@ public unsafe partial struct CharaView : ICreatable { public static CharaView* Create() => IMemorySpace.GetUISpace()->Create(); - #region old struct - [Obsolete("Use State", true)] - [FieldOffset(0x008)] public uint Unk8; - [Obsolete("Use ClientObjectId", true)] - [FieldOffset(0x00C)] public uint CutsceneActorIndex; // 40 to 47 - [Obsolete("Use ClientObjectIndex", true)] - [FieldOffset(0x010)] public uint ScreenActorIndex; // 0 to 7, not 240 to 247 - [Obsolete("Use CameraType", true)] - [FieldOffset(0x014)] public uint Unk14; - [Obsolete("Use Camera", true)] - [FieldOffset(0x020)] public void* Unk20; - - [Obsolete("Unknown", true)] - [FieldOffset(0x0C0)] public uint UnkC0; - [Obsolete("Use Agent", true)] - [FieldOffset(0x030)] public ulong Unk30; - [Obsolete("Unknown", true)] - [FieldOffset(0x038)] public ulong Unk38; - - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x0D0)] public UnkStruct UnkD0; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x0F0)] public UnkStruct UnkF0; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x110)] public UnkStruct Unk110; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x130)] public UnkStruct Unk130; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x150)] public UnkStruct Unk150; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x170)] public UnkStruct Unk170; - [Obsolete("Use ItemsSpan", true)] - [FieldOffset(0x190)] public UnkStruct Unk190; - - [Obsolete("Use CharacterDataCopied and CharacterLoaded", true)] - [FieldOffset(0x2B8)] public ushort Unk2B8; - [Obsolete("Unknown", true)] - [FieldOffset(0x290)] public ulong Unk290; - [Obsolete("Unknown", true)] - [FieldOffset(0x298)] public ulong Unk298; - [Obsolete("Unknown", true)] - [FieldOffset(0x2A0)] public ulong Unk2A0; - [Obsolete("Unknown", true)] - [FieldOffset(0x2A8)] public ulong Unk2A8; - [Obsolete("Unknown", true)] - [FieldOffset(0x2B0)] public ulong Unk2B0; - - [Obsolete("Use CharaViewItem", true)] - [StructLayout(LayoutKind.Explicit, Size = 0x20)] - public struct UnkStruct // related to equipped/glamoured items - { - [FieldOffset(0x00)] public ushort Unk0; - [FieldOffset(0x03)] public byte Unk1; - [FieldOffset(0x04)] public byte Unk2; - [FieldOffset(0x08)] public ulong Unk3; // ItemID - [FieldOffset(0x10)] public ulong Unk4; - [FieldOffset(0x18)] public ulong Unk5; - } - #endregion - [MemberFunction("E8 ?? ?? ?? ?? 41 80 A6 ?? ?? ?? ?? ?? 48 8D 05")] public readonly partial void Ctor(); diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Misc/ConfigModule.cs b/FFXIVClientStructs/FFXIV/Client/UI/Misc/ConfigModule.cs index 68e9fc1cc..7b0f97fa0 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Misc/ConfigModule.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Misc/ConfigModule.cs @@ -1,6 +1,5 @@ using System.Text; using FFXIVClientStructs.FFXIV.Client.System.Framework; -using FFXIVClientStructs.FFXIV.Component.GUI; namespace FFXIVClientStructs.FFXIV.Client.UI.Misc; @@ -19,114 +18,6 @@ public unsafe partial struct ConfigModule { [FieldOffset(0x5C38)] private fixed byte values[0x10 * ConfigOptionCount]; - [MemberFunction("E8 ?? ?? ?? ?? C6 47 4D 00")] - [Obsolete("Use Framework.SystemConfig functions.", true)] - public partial bool SetOption(uint index, int value, int a4 = 2, bool a5 = true, bool a6 = false); - - [MemberFunction("E8 ?? ?? ?? ?? 48 8B 35 ?? ?? ?? ?? 33 DB")] - [Obsolete("Use Framework.SystemConfig functions.", true)] - public partial int GetIntValue(uint index, int a3 = 2); - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public uint? GetIndex(ConfigOption option) { - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->OptionID != option) continue; - return i; - } - - return null; - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public void SetOption(ConfigOption option, int value) { - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->OptionID != option) continue; - SetOption(i, value); - return; - } - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public void SetOptionById(short optionId, int value) { - SetOption((ConfigOption)optionId, value); - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public Option* GetOption(string name) { - if (string.IsNullOrEmpty(name)) return null; - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->GetName() == name) { - return o; - } - } - - return null; - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public Option* GetOption(uint index) { - fixed (byte* p = options) { - var o = (Option*)p; - return o + index; - } - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public Option* GetOption(ConfigOption option) { - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->OptionID == option) return o; - } - - return null; - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public Option* GetOptionById(short optionId) { - return GetOption((ConfigOption)optionId); - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public AtkValue* GetValue(uint index) { - fixed (byte* p = values) { - var v = (AtkValue*)p; - return v + index; - } - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public AtkValue* GetValue(ConfigOption option) { - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->OptionID == option) return GetValue(i); - } - - return null; - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public AtkValue* GetValueById(short optionId) { - return GetValue((ConfigOption)optionId); - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public int GetIntValue(ConfigOption option) { - for (uint i = 0; i < ConfigOptionCount; i++) { - var o = GetOption(i); - if (o->OptionID == option) return GetIntValue(i); - } - - return 0; - } - - [Obsolete("Use Framework.SystemConfig functions.", true)] - public int GetIntValue(short optionId) { - return GetIntValue((ConfigOption)optionId); - } - [StructLayout(LayoutKind.Explicit, Size = Size)] public struct Option { public const int Size = 0x20; diff --git a/FFXIVClientStructs/FFXIV/Client/UI/Misc/ItemOrderModule.cs b/FFXIVClientStructs/FFXIV/Client/UI/Misc/ItemOrderModule.cs index e2837ea19..31db0cde4 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/Misc/ItemOrderModule.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/Misc/ItemOrderModule.cs @@ -47,11 +47,6 @@ public unsafe struct ItemOrderModuleSorter { [FieldOffset(0x40)] public StdVector SortFunctions; [FieldOffset(0x58)] public ItemOrderModuleSorterPreviousOrderEntry* PreviousOrderArray; // [FieldOffset(0x60)] public bool UnkBool; Set to true, only when it's the InventorySorter? - - [Obsolete("Use Items.Size()", true)] - public long ItemCount => (long)Items.Size(); - [Obsolete("Use SortFunctions.Size()", true)] - public long SortFunctionCount => (long)SortFunctions.Size(); } [StructLayout(LayoutKind.Explicit, Size = 0xC)] diff --git a/FFXIVClientStructs/FFXIV/Client/UI/RaptureAtkModule.cs b/FFXIVClientStructs/FFXIV/Client/UI/RaptureAtkModule.cs index 7a99620a9..8083088ef 100644 --- a/FFXIVClientStructs/FFXIV/Client/UI/RaptureAtkModule.cs +++ b/FFXIVClientStructs/FFXIV/Client/UI/RaptureAtkModule.cs @@ -21,8 +21,6 @@ public unsafe partial struct RaptureAtkModule { [FieldOffset(0x11C20)] public RaptureAtkUnitManager RaptureAtkUnitManager; - [FieldOffset(0x1B8A8), Obsolete("Use RaptureAtkUnitManager.Flags", true)] public RaptureAtkModuleFlags Flags; // TODO: this is actually at RaptureAtkUnitManager + 0x9C88 - [FieldOffset(0x1BBB8)] public int NameplateInfoCount; [FieldOffset(0x1BBC0)] public NamePlateInfo NamePlateInfoArray; // 0-50, &NamePlateInfoArray[i] diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkArrayData.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkArrayData.cs index e7076c467..c6556959a 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkArrayData.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkArrayData.cs @@ -14,13 +14,4 @@ public unsafe struct AtkArrayData { /// [FieldOffset(0x1E)] public byte UpdateState; [FieldOffset(0x1F)] public sbyte RefCount; // initialized to -1, used by Agents - - [Obsolete("Use AtkArrayData.SubscribedAddonsCount", true)] - [FieldOffset(0x1D)] public byte Unk1D; - - [Obsolete("Use AtkArrayData.UpdateState", true)] - [FieldOffset(0x1E)] public bool HasModifiedData; - - [Obsolete("Use AtkArrayData.RefCount", true)] - [FieldOffset(0x1F)] public byte Unk1F; } diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkCursor.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkCursor.cs index 77b56118e..1ff96caa3 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkCursor.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkCursor.cs @@ -7,9 +7,6 @@ public partial struct AtkCursor { [FieldOffset(0x0C)] public CursorType Type; [FieldOffset(0x1A)] public bool IsVisible; - [Obsolete("Use IsVisible", true)] - [FieldOffset(0x1A)] public byte Visible; - [MemberFunction("48 83 EC ?? 80 79 ?? ?? 74 ?? C6 41")] public partial void Hide(); diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkImageNode.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkImageNode.cs index a7f711f5b..e30cdf391 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkImageNode.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkImageNode.cs @@ -1,4 +1,3 @@ -using System.Text; using FFXIVClientStructs.FFXIV.Client.System.Memory; namespace FFXIVClientStructs.FFXIV.Component.GUI; diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkLinkedList.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkLinkedList.cs deleted file mode 100644 index bc429c6aa..000000000 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkLinkedList.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace FFXIVClientStructs.FFXIV.Component.GUI; - -[StructLayout(LayoutKind.Sequential, Size = 0x18)] -[Obsolete("Use StdLinkedList", true)] -public unsafe struct AtkLinkedList where T : unmanaged { - [StructLayout(LayoutKind.Sequential)] - public struct Node { - public T Value; - public Node* Next; - public Node* Previous; - } - - public Node* End; - public Node* Start; - public uint Count; -} diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkResNode.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkResNode.cs index 7e01fd64f..c31637865 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkResNode.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkResNode.cs @@ -67,7 +67,6 @@ public unsafe partial struct AtkResNode : ICreatable { [FieldOffset(0x4C)] public float ScaleX; [FieldOffset(0x50)] public float ScaleY; [FieldOffset(0x54)] public float Rotation; // radians (file is degrees) - [FieldOffset(0x58), Obsolete("Use Transform or ScreenX, ScreenY", true)] public fixed float UnkMatrix[3 * 2]; [FieldOffset(0x58)] public Matrix2x2 Transform; [FieldOffset(0x68)] public float ScreenX; [FieldOffset(0x6C)] public float ScreenY; @@ -98,10 +97,7 @@ public unsafe partial struct AtkResNode : ICreatable { // asm accesses these fields together so this is one 32bit field with priority+flags [FieldOffset(0x9C)] public ushort Priority; - [Obsolete("Use NodeFlags", true)] - [FieldOffset(0x9E)] public short Flags; [FieldOffset(0x9E)] public NodeFlags NodeFlags; - [FieldOffset(0xA0), Obsolete("Use DrawFlags", true)] public uint Flags_2; // bit 1 = has changes, ClipCount is bits 10-17, idk its a mess [FieldOffset(0xA0)] public uint DrawFlags; public bool IsVisible => NodeFlags.HasFlag(NodeFlags.Visible); diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextNode.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextNode.cs index 10035a688..3c227ac5e 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextNode.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextNode.cs @@ -1,4 +1,3 @@ -using System.Text; using FFXIVClientStructs.FFXIV.Client.Graphics; using FFXIVClientStructs.FFXIV.Client.System.Memory; using FFXIVClientStructs.FFXIV.Client.System.String; diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTexture.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTexture.cs index d8465f488..4124b22f2 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTexture.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTexture.cs @@ -22,9 +22,6 @@ public unsafe partial struct AtkTexture : ICreatable { [FieldOffset(0x8)] public void* Crest; [FieldOffset(0x8)] public Texture* KernelTexture; [FieldOffset(0x10)] public TextureType TextureType; - [FieldOffset(0x11)] public bool TextureReady; // Use IsTextureReady() instead - [Obsolete("Use IsTextureReady()", true)] - [FieldOffset(0x11)] public byte UnkBool_2; [MemberFunction("E8 ?? ?? ?? ?? 48 8B 87 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 4C 89 BF")] public partial void Ctor(); diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextureResource.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextureResource.cs index cc3435186..0bb2a69cc 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextureResource.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkTextureResource.cs @@ -12,11 +12,7 @@ public unsafe struct AtkTextureResource { [FieldOffset(0x10)] public Texture* KernelTextureObject; // Client::Graphics::Kernel::Texture, renderer texture obj - [Obsolete("Use Count", true)] - [FieldOffset(0x18)] public ushort Count_1; [FieldOffset(0x18)] public ushort Count; - [Obsolete("Use Version", true)] - [FieldOffset(0x1A)] public byte Count_2; [FieldOffset(0x1A)] public byte Version; [FieldOffset(0x1B)] public byte ShareCount; } diff --git a/FFXIVClientStructs/FFXIV/Component/GUI/AtkUldManager.cs b/FFXIVClientStructs/FFXIV/Component/GUI/AtkUldManager.cs index f61827c5f..9dc628c99 100644 --- a/FFXIVClientStructs/FFXIV/Component/GUI/AtkUldManager.cs +++ b/FFXIVClientStructs/FFXIV/Component/GUI/AtkUldManager.cs @@ -41,8 +41,6 @@ public struct DuplicateObjectList { [FieldOffset(0x42)] public ushort NodeListCount; [FieldOffset(0x48)] public void* AtkResourceRendererManager; [FieldOffset(0x50)] public AtkResNode** NodeList; - [FieldOffset(0x58), Obsolete("Use DuplicateObjectsList", true)] - public AtkLinkedList> DuplicateObjects; [FieldOffset(0x58)] public StdLinkedList> DuplicateObjectsList; // linked list of lists of duplicates [FieldOffset(0x78)] public AtkResNode* RootNode; [FieldOffset(0x80)] public ushort RootNodeWidth; @@ -54,9 +52,6 @@ public struct DuplicateObjectList { [MemberFunction("F6 81 ?? ?? ?? ?? ?? 44 8B CA")] public partial AtkResNode* SearchNodeById(uint id); - [Obsolete("Use CreateAtkNode", true)] - public AtkResNode* CreateNodeByType(uint type) => CreateAtkNode((NodeType)type); - [MemberFunction("48 89 5C 24 ?? 57 48 83 EC ?? 8B FA 33 DB E8")] public partial AtkComponentBase* CreateAtkComponent(ComponentType type); diff --git a/FFXIVClientStructs/Interop/Resolver.cs b/FFXIVClientStructs/Interop/Resolver.cs index 23933d7d7..adf220643 100644 --- a/FFXIVClientStructs/Interop/Resolver.cs +++ b/FFXIVClientStructs/Interop/Resolver.cs @@ -1,7 +1,5 @@ using System.Collections.Concurrent; using System.Diagnostics; -using System.Reflection; -using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Serialization; using Serilog;