Skip to content

Latest commit

 

History

History
381 lines (289 loc) · 16.5 KB

7.0_changes.md

File metadata and controls

381 lines (289 loc) · 16.5 KB

Last updated as of: 1d445129411133f89df8002b7a89438ceae76cc7

Github Copilot Chat prompt used: The following should be written in bullet points and only need to say what has changed without explanations each file should have sub bullet points

General

  • Massive rewrite of the generator code used for FixedSizeArray no longer generating the fields as ItemsSpan and instead exposes a span as Items
  • Inheritance is now a thing and such fields have been moved around and don't need AtkResNode.X in to get the X value in AtkImageNode
  • Massive rewrite of STD containers to allow for IEnumerable methods better
  • All instances of Obsolete fields before 2024-06-21 has been removed
  • Changed Capitalization cases around between Acronyms and Abbreviations. Certain improper cases still remain due to RTTI info
  • Removed most Unk fields from project
  • Changed around ObjectId to EntityId where it represents the Entity and not Object
  • Changed around some uint and int types to correctly respond to their respective data
  • Changed around some ulong and long types to correctly respond to their respective data
  • Some field enum types have been changed to represent
  • Removed a few helper functions

Specific

  • Several structs related to RaptureHotbarModule have been wrapped into its namespace: HotBar HotBarSlot HotBarSlotType HotBarUiIntermediate SavedHotBar
  • Changed and added some names to InfoProxyId enum
  • Moved two structs out of nested AgentReadyCheck: ReadyCheckEntry ReadyCheckStatus
  • Changed InfoProxySearchComment to InfoProxyDetail
  • Renamed RouletteController to InstanceContent

Client

ActionManager

  • The QueueType field's type has been changed from uint to UseActionMode.
  • The UseAction method has been updated with new parameter names: extraParam, mode, comboRouteId, and outOptAreaTargeted.
  • The UseActionLocation method has been updated with new parameter names: actionId, targetId, location, and extraParam.
  • The GetAdjustedRecastTime method has been updated with a new parameter name: applyClassMechanics.
  • The GetAdjustedCastTime method has been updated with new parameter names: applyProcs, and outOptProc.
  • Changed return type of StartCooldown from nint to void.

Camera

  • The LobbyExcelSheet field's type has been changed from void* to ExcelSheet*.

Character

  • The Companion, Ornament, ActionTimelineManager, Gaze, and CharacterSetup fields have been renamed to CompanionData, OrnamentData, Timeline, LookAt, and CharacterSetupContainer respectively.
  • The GetTargetId method's return type has been changed from ulong to GameObjectId.
  • In the CastInfo struct:
    • The Unk_08 field has been renamed to SourceSequence.
    • The CastTargetID field has been renamed to TargetId and CastLocation to TargetLocation.
    • The Unk_30 field has been renamed to Rotation.
    • The UsedActionId and UsedActionType fields have been renamed to ResponseSpellId and ResponseActionType respectively.
    • The ActionRecipientsCount field has been renamed to ResponseTargetCount.
    • The TotalCastTime and AdjustedTotalCastTime fields have been renamed to BaseCastTime and TotalCastTime respectively.
    • A new field ResponseFlags has been added.
  • In the ForayInfo struct:
    • The ForayRank field has been renamed to Level.
    • The Element field's type has been changed from EurekaElement to byte.

CharacterManager

  • Renamed LookupBattleCharaByObjectId to LookupBattleCharaByEntityId.

DrawDataContainer

  • Added EquipmentModelIds field.
  • Removed individual EquipmentModelId fields for equipment parts.

WeaponModelId

  • Changed Stain to Stain0.
  • Added Stain1 field.

EquipmentModelId

  • Changed Stain to Stain0.
  • Added Stain1 field.
  • Changed Value field type from uint to ulong.

EmoteController

  • Changed parameter type in GetAvailablePoses from int to PoseType.

TimelineContainer

  • The ActionTimelineManager struct has been renamed to TimelineContainer.
  • The namespace of TimelineContainer has been changed from FFXIVClientStructs.FFXIV.Client.Game to FFXIVClientStructs.FFXIV.Client.Game.Character.

ActionTimelineSequencer

  • The ActionTimelineDriver struct has been renamed to ActionTimelineSequencer.
  • The namespace of ActionTimelineSequencer has been changed from FFXIVClientStructs.FFXIV.Client.Game to FFXIVClientStructs.FFXIV.Client.Game.Control.

TargetSystem

  • Renamed GetCurrentTargetId to GetTargetObjectId.
  • Renamed GetCurrentTarget to GetTargetObject.
  • The GetTargetObjectId method's return type has been changed from ulong to GameObjectId.

EventHandler

  • The Type field has been renamed to ContentId.

GcArmyManager

  • Changed Stain fields to Stain0 for equipment parts.
  • Added Stain1 fields for equipment parts.

GroupManager

  • Replaced multiple fields with MainGroup and ReplayGroup structures.
  • Removed several methods related to party and alliance member management. exists inside of the structures mentioned above
  • Added GetGroup method.

GoldSaucerManager

  • The namespace of GoldSaucerManager has been changed from FFXIVClientStructs.FFXIV.Client.Game to FFXIVClientStructs.FFXIV.Client.Game.GoldSaucer.

HousingManager

  • The namespace of HousingManager has been changed from FFXIVClientStructs.FFXIV.Client.Game.Housing to FFXIVClientStructs.FFXIV.Client.Game.
  • The HousingOutdoorTerritory, HousingTerritory, and HousingWorkshopTerritory fields have been renamed to OutdoorTerritory, IndoorTerritory, and WorkshopTerritory respectively.

InventoryManager

  • Changed Stain field to a fixed size array Stains.
  • Changed GetStain method to accept an index parameter.

MirageManager

  • Added Stain1 spans.
  • Renamed Stain to Stain0.

PublicContentBozja

  • Two new fields State and StateInitialized have been added.
  • The CurrentExperience and NeededExperience fields have been moved to a new struct BozjaState.

PublicContentDirector

  • The parameter packet of the HandleEnterContentInfoPacket method has been renamed to EnterContentInfoPacket.

GameObject

  • The ObjectKind field's type has been changed from byte to ObjectKind.
  • The GetObjectID method has been renamed to GetGameObjectId.
  • The GetObjectKind method has been renamed to GetObjectKind and its return type has been changed from byte to ObjectKind.
  • The GetNpcID method has been renamed to GetNameId.
  • Renamed Rotate method to SetRotation.

GameObjectManager

  • A new field NextUpdateIndex has been added. This field is used for rate limiting updates per frame.
  • The ObjectList, ObjectListFiltered and ObjectList3 fields, which was a fixed array of longs has been replaced with Objects of type ObjectArrays.
  • A new nested struct ObjectArrays has been introduced. This struct contains the new span fields, GameObjectIdSortedCount and EntityIdSortedCount.
  • Two new member functions have been added to the ObjectArrays struct: GetObjectByGameObjectId and GetObjectByEntityId for binary search. These functions are used to retrieve objects by their respective identifiers.
  • Removed GetGameObjectByIndex method.

CompanionInfo

  • The Mounted field's type has been changed from byte to bool.

LimitBreakController

  • The CurrentValue field has been renamed to CurrentUnits.
  • The BarValue field's type has been changed from uint to ushort and renamed to BarUnits.
  • A new field IsPvP of type bool.

StatusManager

  • Changed Flags1 and Flags2 fields to a fixed size array Flags.

Telepo

  • The return type of the UpdateAetheryteList method has been changed from void* to StdVector<TeleportInfo>*.
  • Changed signature of GetTeleportCost.

UIState

  • The TradeMultiple field has been renamed to MateriaTrade.
  • The AreaInstance field has been renamed to PublicInstance.
  • The TitleController field's type has been changed from void* to TitleController.
  • The RouletteController field has been renamed to InstanceContent.

BoneSimulator

  • The PhysicsGroup field's type has been changed from uint to PhysicsGroup and renamed to Group.

Framework

  • The FrameDeltaTimeOverride2 field has been renamed to NextFrameDeltaTimeOverride.

ActionTimelineManager

  • The PreloadActionTmbByKey method has been renamed to PreloadActionTmb. The parameter type has also been changed from byte** to PreloadActionTmbInfo*.

AddonActionCross

  • The RootNode field has been renamed to AACRootNode.
  • The DisplayPetBar field has been renamed to DisplayPetBarCross.

AddonGSInfoEmj

  • The MatchesPlayed, CurrentRating, HighestRating, Rank, NextRankPoints, and Points fields have been replaced with MGPAmountDisplay, TournamentMatches, TournamentWins, TournamentPoints, and TournamentInfo of type AtkComponentBase*.
  • The ResetRankButton field has been replaced with TournamentResults of type AtkResNode*.

AddonWeeklyBingo

  • Replaced generic void* pointers with specific AddonWeeklyBingo* pointers in several structs.
  • The affected structs are DutySlotList, StringThing, StickerSlotList, and StickerSlot.

AgentActionMenu

  • The ExtraCommandExcelSheet field has been changed from void* to ExcelSheet*
  • Combined ClassActionList and JobActionList into ClassJobActionList.

AgentArchiveItem

  • The ViewArchiveItem method's return type has been changed from void* to void

AgentBannerEditor

  • The FrameCountdown field has been changed from uint to float
  • Changed StainIds to Stain0Ids
  • Added Stain1Ids.

AgentBannerInterface

  • The AtkTexture field in CharacterData has been removed
  • The CharaView field has been changed from void* to CharaViewPortrait

AgentContentsFinder

  • The OpenRegularDuty and OpenRouletteDuty methods has been updated with a new parameter name: hideIfShown
  • The OpenRegularDuty and OpenRouletteDuty methods return type has been changed from void* to void

AgentContext

  • The void* handler parameters in AddMenuItem and AddMenuItem2 methods have been replaced with AtkEventInterface* handler.

AgentDeepDungeonInspect

  • Renamed method parameter from objectId to entityId.
  • Changed RequestObjectId and CurrentObjectId to RequestEntityId and CurrentEntityId.

AgentFreeCompany

  • The InfoProxy0 field have been renamed to InfoProxyFreeCompany and changed type to InfoProxyFreeCompany*.
  • The InfoProxy1 field have been renamed to InfoProxyFreeCompanyMember and changed type to InfoProxyFreeCompanyMember*.

AgentHousingPlant

  • The InventoryId field in SelectedItem and SelectableItem has been changed from uint to InventoryType
  • The ItemCache field in SelectableItem has been changed from void* to RaptureAtkModule.ItemCache*

AgentItemComp

  • Updated CompareItem method to include stain0Id and stain1Id.

AgentMap

  • The OpenMapByMapId method has been updated to include two additional optional parameters: uint territoryId and bool a4.

AgentMJIAnimalManagement

  • Renamed PendingReleaseObjectId to PendingReleaseEntityId.

AgentMJICraftSchedule

  • Removed OpenRecipeResultItemContextMenu.

AgentMiragePrismPrismBox

  • The AgentCabinet field has been changed from void* to AgentCabinet*
  • Changed Stain to Stains.

AgentRecipeMaterialList

  • Removed OpenRecipeResultItemContextMenu.

AgentSalvage

  • The ItemListRefresh method's return type has been changed from void* to void.
  • The ItemListAdd method's return type has been changed from void* to void.

AgentTryon

  • Updated TryOn method with new default parameters and applyCompanyCrest flag.

InfoProxyCrossRealm

  • Changed GetMemberByObjectId to GetMemberByEntityId.

InfoProxyCrossWorldLinkshell

  • The CWLSEntry struct has been renamed to CrossWorldLinkshellEntry.

InfoProxyFreeCompany

  • Updated RequestDataForCharacter to use entityId

InfoProxyInterface

  • Removed RemoveData.

InfoProxyItemSearch

  • Simplified ProcessItemHistory method and added new fields to MarketBoardListing.

InfoProxyLinkShell

  • The GetLinkshellInfo method's return type has been changed from ulong* to Entry*.
  • The GetLinkshellName method's parameter type has been changed from ulong* info to ulong id.

BannerModule

  • Removed methods related to banner creation and deletion.
  • Updated GenerateChecksum to include glassesIds.

CharaViewPortrait

  • The CharacterDataCopied field has been renamed to CharaViewPortraitCharacterDataCopied.
  • The CharacterLoaded field has been renamed to CharaViewPortraitCharacterLoaded.
  • Updated Initialize and SetItemSlotData methods with new parameters.

EmoteHistoryModule

  • Renamed SetFavoriteEmote to SetFavorite.

RaptureHotbarModule

  • Corrected struct names to Hotbar, HotbarSlot, HotbarUiIntermediate, SavedHotbarGroup, SavedHotbar, and SavedHotbarSlot.

FieldMarkerModule

  • The fields A, B, C, D, One, Two, Three, Four have been replaced with Markers.
  • The field Reserved has been removed.
  • Two new methods IsMarkerActive and SetMarkerActive have been added.

RaptureAtkModule

  • The AddonNames field has been changed from Utf8String* to StdVector<Utf8String>

RaptureLogModule

  • Updated AddMsgSourceEntry to include accountId.

RaptureTextModule

  • Updated method names and parameters for formatting addon text.

RaptureUiDataModule

  • Renamed MJI_SetWorkshopPreset to MjiCreateWorkshopPreset.

RecommendEquipModule

  • Commented out SetupFromPlayerState.

Common

ChangeEventInterface

  • The field Next has been renamed to NextInterface.

TimePoint

  • The type of TimeStamp has been changed to int.
  • The name of TimeStamp has been corrected to Timestamp.

Component

ExdModule

  • Renamed GetEntryByIndex to GetRowBySheetAndRowId.
  • Changed parameter type in GetRowBySheetAndRowIndex from void* to ExcelSheet*.
  • Added GetRowBySheetIndexAndRowId.
  • Added GetRowBySheetIndexAndRowIndex.
  • Added GetRowCountBySheet.
  • Added GetRowCountBySheetIndex.
  • Added GetRowCountBySheetName.
  • Added GetSheetByIndex.
  • Added GetSheetByName.
  • Added IsColumnRsv.

AtkComponentBase

  • Changed return type of SetEnabledState from void* to void.
  • Removed PlayTimelineAnimation.

AtkComponentList

  • Renamed parameter dispatchEvent37 to dispatchEvent in SelectItem.

AtkComponentTextInput

  • Renamed fields UnkText1 through UnkText5 to UnkText01 through UnkText05.

AtkComponentTextNineGrid

  • Renamed field OwnerNode to ParentNode.

AtkCounterNode

  • Renamed field Width to CounterWidth.

AtkModule

  • Changed type of RaptureAtkUnitManager to AtkUnitManager.

AtkResNode

  • Changed IsVisible from a property to a method.
  • Renamed GetX to GetXFloat.
  • Renamed GetY to GetYFloat.
  • Renamed SetX to SetXFloat.
  • Renamed SetY to SetYFloat.
  • Added GetXShort.
  • Added GetYShort.
  • Added SetXShort.
  • Added SetYShort.

AtkStage

  • Renamed GetSingleton to Instance.

AtkTooltipManager

  • Renamed AddTooltip to AttachTooltip.
  • Renamed RemoveTooltip to DetachTooltip.
  • Added DetachTooltipByAddonId.

AtkUldManager

  • Changed type of AtkResourceRendererManager from void* to AtkResourceRendererManager*.
  • Removed InitializeResourceRendererManager.

AtkUnitBase

  • Changed field Flags from byte at offset 0x182 to uint Flags180 at offset 0x180.
  • Changed DepthLayer from an int property to a uint property.
  • Changed parameter names in OnSetup and OnRefresh from numValues to valueCount.
  • Changed return type of OnRefresh from void to bool.
  • Field offsets for Flags180, Flags188, UnkFlags189, Flags18A, and Flags18D have been changed to Flags190, Flags198, Flags199, Flags19A, and Flags19D respectively.

NumberArrayData

  • Changed default values of parameters in SetValue and renamed parameter silent to suppressUpdates.

StringArrayData

  • Changed parameters in SetValue and SetValueForced, adding default values.
  • Changed parameter silent to suppressUpdates in SetValue

SteamApi

  • Removed DumpEnteredGamepadText.

ReferencedUtf8String

  • Removed Create.

TextParameter

  • Removed SetReferencedUtf8String.
  • Removed SetString.
  • Removed SetInteger.

Localize

  • Changed types of ExcelModuleInterface and ExcelSheet from void* to their respective types.