Skip to content

Commit

Permalink
Merge pull request #105 from psiberx/master
Browse files Browse the repository at this point in the history
Fix addresses for 2.11
  • Loading branch information
wopss authored Jan 31, 2024
2 parents 5260968 + b4fce5d commit 1792731
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 27 deletions.
4 changes: 2 additions & 2 deletions include/RED4ext/Addresses.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ constexpr uintptr_t ISerializable_sub_C0 = 0x1406CBEE4 - ImageBase; // 40 53 48
#pragma endregion

#pragma region JobDispatcher
constexpr uintptr_t JobDispatcher = 0x143372C58 - ImageBase; // 48 89 05 ? ? ? ? 48 83 C4 ? 5F C3, expected: 6, index: 2, offset: 3
constexpr uintptr_t JobDispatcher = 0x1433844E0 - ImageBase; // 48 89 05 ? ? ? ? 48 83 C4 ? 5F C3, expected: 6, index: 4, offset: 3
constexpr uintptr_t JobDispatcher_DispatchJob = 0x14013E140 - ImageBase; // 48 8B C4 48 89 58 ? 48 89 68 ? 48 89 70 ? 44 88 40 ? 57 41 54 41 55, expected: 2, index: 0
#pragma endregion

Expand Down Expand Up @@ -169,7 +169,7 @@ constexpr uintptr_t ResourceDepot = 0x1448345D8 - ImageBase; // 48 89 05 ? ? ? ?
#pragma endregion

#pragma region ResourceLoader
constexpr uintptr_t ResourceLoader = 0x143731060 - ImageBase; // 48 89 05 ? ? ? ? 48 83 C4 ? 5F C3, expected: 6, index: 3, offset: 3
constexpr uintptr_t ResourceLoader = 0x143372C58 - ImageBase; // 48 89 05 ? ? ? ? 48 83 C4 ? 5F C3, expected: 6, index: 2, offset: 3
constexpr uintptr_t ResourceLoader_FindTokenFast = 0x1401388DC - ImageBase; // 48 8B C4 4C 89 40 ? 53 48 83 EC ? 48 8B DA 4C 8D 40 ?, expected: 2, index: 0
constexpr uintptr_t ResourceLoader_LoadAsync = 0x1401A3204 - ImageBase; // 48 89 5C 24 ? 55 48 8B EC 48 83 EC ? 83 4D E8 ? 33 C0, expected: 1, index: 0
#pragma endregion
Expand Down
48 changes: 25 additions & 23 deletions include/RED4ext/Scripting/Natives/gameITransactionSystem.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,13 @@ struct ITransactionSystem : IGameSystem
static constexpr const char* NAME = "gameITransactionSystem";
static constexpr const char* ALIAS = "ITransactionSystem";

virtual void sub_1A8() = 0; // 1A8
virtual void sub_1B0() = 0; // 1B0
virtual void sub_1B8() = 0; // 1B8
virtual void sub_1C0() = 0; // 1C0
virtual CName* GetItemAppearance(CName& aAppearance, IScriptable* aOwner, const ItemID& aItemID) = 0; // 1C8
virtual void ResetItemAppearance(IScriptable* aOwner, const ItemID& aItemID) = 0; // 1D0
virtual void sub_1D8() = 0; // 1D8
virtual void sub_1E0() = 0; // 1E0
virtual void sub_1C8() = 0; // 1C8
virtual void sub_1D0() = 0; // 1D0
virtual CName* GetItemAppearance(CName& aAppearance, IScriptable* aOwner, const ItemID& aItemID) = 0; // 1D8
virtual void ResetItemAppearance(IScriptable* aOwner, const ItemID& aItemID) = 0; // 1E0
virtual void sub_1E8() = 0; // 1E8
virtual void sub_1F0() = 0; // 1F0
virtual void sub_1F8() = 0; // 1F8
Expand Down Expand Up @@ -84,43 +83,46 @@ struct ITransactionSystem : IGameSystem
virtual void sub_3A0() = 0; // 3A0
virtual void sub_3A8() = 0; // 3A8
virtual void sub_3B0() = 0; // 3B0
virtual bool IsSlotEmpty(IScriptable* aOwner, TweakDBID aSlotID) = 0; // 3B8
virtual bool IsSlotSpawning(IScriptable* aOwner, TweakDBID aSlotID) = 0; // 3C0
virtual void sub_3C8() = 0; // 3C8
virtual void sub_3D0() = 0; // 3D0
virtual void sub_3B8() = 0; // 3B8
virtual void sub_3C0() = 0; // 3C0
virtual bool IsSlotEmpty(IScriptable* aOwner, TweakDBID aSlotID) = 0; // 3C8
virtual bool IsSlotSpawning(IScriptable* aOwner, TweakDBID aSlotID) = 0; // 3D0
virtual void sub_3D8() = 0; // 3D8
virtual void sub_3E0() = 0; // 3E0
virtual void sub_3E8() = 0; // 3E8
virtual void sub_3F0() = 0; // 3F0
virtual void sub_3F8() = 0; // 3F8
virtual void sub_400() = 0; // 400
virtual bool GetItemInSlot(IScriptable* aOwner, TweakDBID aSlotID, const Handle<IScriptable>& aItem) = 0; // 408
virtual void sub_408() = 0; // 408
virtual void sub_410() = 0; // 410
virtual void GetSlotDataList(IScriptable* aOwner, DynArray<AttachmentSlotData>& aList) = 0; // 418
virtual void sub_418() = 0; // 418
virtual void sub_420() = 0; // 420
virtual void sub_428() = 0; // 428
virtual AttachmentSlotData* FindSlotData(IScriptable* aOwner, AttachmentSlotDataPredicate&& aPredicate) = 0; // 430
virtual void sub_438() = 0; // 438
virtual bool GetItemInSlot(IScriptable* aOwner, TweakDBID aSlotID, Handle<IScriptable>& aItem) = 0; // 428
virtual void sub_430() = 0; // 430
virtual void GetSlotDataList(IScriptable* aOwner, DynArray<AttachmentSlotData>& aList) = 0; // 438
virtual void sub_440() = 0; // 440
virtual void sub_448() = 0; // 448
virtual AttachmentSlotData* FindSlotData(IScriptable* aOwner, AttachmentSlotDataPredicate&& aPredicate) = 0; // 448
virtual void sub_450() = 0; // 450
virtual void sub_458() = 0; // 458
virtual void sub_460() = 0; // 460
virtual void sub_468() = 0; // 468
virtual void sub_470() = 0; // 470
virtual void RegisterSlotListener(IScriptable* aOwner, Handle<IAttachmentSlotsListener> aListener) = 0; // 478
virtual void UnregisterSlotListener(IScriptable* aOwner, Handle<IAttachmentSlotsListener> aListener) = 0; // 480
virtual void sub_478() = 0; // 478
virtual void sub_480() = 0; // 480
virtual void sub_488() = 0; // 488
virtual void sub_490() = 0; // 490
virtual void sub_498() = 0; // 498
virtual void sub_4A0() = 0; // 4A0
virtual void RegisterSlotListener(IScriptable* aOwner, Handle<IAttachmentSlotsListener> aListener) = 0; // 498
virtual void UnregisterSlotListener(IScriptable* aOwner, Handle<IAttachmentSlotsListener> aListener) = 0; // 4A0
virtual void sub_4A8() = 0; // 4A8
virtual void sub_4B0() = 0; // 4B0
virtual void sub_4B8() = 0; // 4B8
virtual void sub_4C0() = 0; // 4C0
virtual void sub_4C8() = 0; // 4C8
virtual bool MatchVisualTagByItemID(const ItemID& aItemID, const Handle<IScriptable>& aOwner,
CName aTag) = 0; // 4B8
virtual bool MatchVisualTag(const Handle<IScriptable>& aItem, CName aTag, bool aUseDefaultAppearance) = 0; // 4C0
virtual void sub_4C8() = 0; // 4C8
virtual void sub_4D0() = 0; // 4D0
CName aTag) = 0; // 4D0
virtual bool MatchVisualTag(const Handle<IScriptable>& aItem, CName aTag, bool aUseDefaultAppearance) = 0; // 4D8
virtual void sub_4E0() = 0; // 4E0
virtual void sub_4E8() = 0; // 4E8
};
RED4EXT_ASSERT_SIZE(ITransactionSystem, 0x48);
} // namespace game
Expand Down
4 changes: 2 additions & 2 deletions scripts/patterns.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ def get_groups() -> List[Group]:
]),

Group(name='JobDispatcher', pointers=[
Item(pattern='48 89 05 ? ? ? ? 48 83 C4 ? 5F C3', offset=3, expected=6, index=2)
Item(pattern='48 89 05 ? ? ? ? 48 83 C4 ? 5F C3', offset=3, expected=6, index=4)
],
functions=[
Item(name='DispatchJob', pattern='48 8B C4 48 89 58 ? 48 89 68 ? 48 89 70 ? 44 88 40 ? 57 41 54 41 55', expected=2, index=0)
Expand Down Expand Up @@ -194,7 +194,7 @@ def get_groups() -> List[Group]:
]),

Group(name='ResourceLoader', pointers=[
Item(pattern='48 89 05 ? ? ? ? 48 83 C4 ? 5F C3', offset=3, expected=6, index=3)
Item(pattern='48 89 05 ? ? ? ? 48 83 C4 ? 5F C3', offset=3, expected=6, index=2)
],
functions=[
Item(name='FindTokenFast', pattern='48 8B C4 4C 89 40 ? 53 48 83 EC ? 48 8B DA 4C 8D 40 ?', expected=2, index=0),
Expand Down

0 comments on commit 1792731

Please sign in to comment.