From e5ae41af65a1955c18526776869ef84fcf32ce53 Mon Sep 17 00:00:00 2001 From: 0KepOnline <78259495+0KepOnline@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:33:35 +0300 Subject: [PATCH] Fix multiple DVD addresses TODO: review 03013c6ee0ee2d6fcd9545db55955313ddc1209c further --- Spore ModAPI/SourceCode/DLL/AddressesApp.cpp | 4 +- .../SourceCode/DLL/AddressesEditors.cpp | 38 ++--- Spore ModAPI/SourceCode/DLL/AddressesIO.cpp | 120 +++++++------- .../SourceCode/DLL/AddressesMovie.cpp | 40 ++--- .../SourceCode/DLL/AddressesSimulator.cpp | 148 +++++++++--------- .../SourceCode/DLL/AddressesTerrain.cpp | 12 +- Spore ModAPI/SourceCode/DLL/AddressesUI.cpp | 4 +- 7 files changed, 183 insertions(+), 183 deletions(-) diff --git a/Spore ModAPI/SourceCode/DLL/AddressesApp.cpp b/Spore ModAPI/SourceCode/DLL/AddressesApp.cpp index 518db8b3..aef4824b 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesApp.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesApp.cpp @@ -416,8 +416,8 @@ namespace App namespace Addresses(PngEncoder) { - DefineAddress(ReadImageData, SelectAddress(0x682470, 0x68eb40)); - DefineAddress(WriteImageToStream, SelectAddress(0x68E660, 0x68e190)); + DefineAddress(ReadImageData, SelectAddress(0x68F010, 0x68EB40)); + DefineAddress(WriteImageToStream, SelectAddress(0x68E660, 0x68E190)); DefineAddressAlias(EncodePNG, WriteImageToStream); } diff --git a/Spore ModAPI/SourceCode/DLL/AddressesEditors.cpp b/Spore ModAPI/SourceCode/DLL/AddressesEditors.cpp index cdad94b8..5f32c452 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesEditors.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesEditors.cpp @@ -83,21 +83,21 @@ namespace Editors DefineAddress(HandleMessage, SelectAddress(0x591C80, 0x591FA0)); - DefineAddress(GetEditorForAssetType, SelectAddress(0x433010, 0x4333e0)); - DefineAddress(GetNameForAssetType, SelectAddress(0x4badc0, 0x4bba50)); - DefineAddress(GetTypeIDForAssetType, SelectAddress(0x4bb110, 0x4bbda0)); + DefineAddress(GetEditorForAssetType, SelectAddress(0x433010, 0x4333E0)); + DefineAddress(GetNameForAssetType, SelectAddress(0x4BADC0, 0x4BBA50)); + DefineAddress(GetTypeIDForAssetType, SelectAddress(0x4BB110, 0x4BBDA0)); - DefineAddress(ComputeCreatureVerbIcons, SelectAddress(0x4e2a50, 0x4e8860)); + DefineAddress(ComputeCreatureVerbIcons, SelectAddress(0x4E8270, 0x4E8860)); - DefineAddress(LoadCreatureData, SelectAddress(0x4b5760, 0x4bb500)); + DefineAddress(LoadCreatureData, SelectAddress(0x4BA870, 0x4BB500)); } namespace Addresses(EditorModel) { - DefineAddress(GetSkinEffect, SelectAddress(0x4a8790, 0x4ae180)); - DefineAddress(SetSkinEffect, SelectAddress(0x4a8820, 0x4ae210)); - DefineAddress(GetSkinEffectSeed, SelectAddress(0x4a87b0, 0x4ae1a0)); - DefineAddress(SetSkinEffectSeed, SelectAddress(0x4a8840, 0x4ae230)); + DefineAddress(GetSkinEffect, SelectAddress(0x4ADB20, 0x4AE180)); + DefineAddress(SetSkinEffect, SelectAddress(0x4ADBB0, 0x4AE210)); + DefineAddress(GetSkinEffectSeed, SelectAddress(0x4ADB40, 0x4AE1A0)); + DefineAddress(SetSkinEffectSeed, SelectAddress(0x4ADBD0, 0x4AE230)); } namespace Addresses(EditorCamera) @@ -266,16 +266,16 @@ namespace Editors namespace Addresses(VerbIconData) { - DefineAddress(AddRef, SelectAddress(0x6520a0, 0xc6ab00)); - DefineAddress(Release, SelectAddress(0x5cd9f0, 0x7b87b0)); - DefineAddress(Dispose, SelectAddress(0x597710, 0x59eff0)); - DefineAddress(Cast, SelectAddress(0x5db940, 0x5e4d70)); - DefineAddress(Init, SelectAddress(0x5dc070, 0x5e54a0)); - DefineAddress(Shutdown, SelectAddress(0x5dc4f0, 0x5e5920)); - DefineAddress(SetArrayIndex, SelectAddress(0x5db960, 0x5e4d90)); - DefineAddress(SetHotKey, SelectAddress(0x5dc800, 0x5e5c30)); - DefineAddress(GetIconName, SelectAddress(0x5dc880, 0x5e5cb0)); - DefineAddress(GetIconDescription, SelectAddress(0x5dc940, 0x5e5d70)); + DefineAddress(AddRef, SelectAddress(0xAE9150, 0xC6AB00)); + DefineAddress(Release, SelectAddress(0x5Bf860, 0x7B87B0)); + DefineAddress(Dispose, SelectAddress(0x59ED50, 0x59EFF0)); + DefineAddress(Cast, SelectAddress(0x5E4C40, 0x5E4D70)); + DefineAddress(Init, SelectAddress(0x5E5370, 0x5E54A0)); + DefineAddress(Shutdown, SelectAddress(0x5E57F0, 0x5E5920)); + DefineAddress(SetArrayIndex, SelectAddress(0x5E4C60, 0x5E4D90)); + DefineAddress(SetHotKey, SelectAddress(0x5E5B00, 0x5E5C30)); + DefineAddress(GetIconName, SelectAddress(0x5E5B80, 0x5E5CB0)); + DefineAddress(GetIconDescription, SelectAddress(0x5E5C40, 0x5E5D70)); } } #endif diff --git a/Spore ModAPI/SourceCode/DLL/AddressesIO.cpp b/Spore ModAPI/SourceCode/DLL/AddressesIO.cpp index f80b7591..c20cef95 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesIO.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesIO.cpp @@ -225,24 +225,24 @@ namespace IO namespace Addresses(StreamCompressionZLib) { - DefineAddress(AddRef, SelectAddress(0x614940, 0x7685A0)); - DefineAddress(Release, SelectAddress(0x707F90, 0x67D9F0)); - DefineAddress(GetType, SelectAddress(0x672FC0, 0x67DAB0)); - DefineAddress(GetAccessFlags, SelectAddress(0x672850, 0x67D2C0)); - DefineAddress(GetState, SelectAddress(0x672860, 0x67D2D0)); - DefineAddress(Close, SelectAddress(0x672C70, 0x67D6E0)); - DefineAddress(GetSize, SelectAddress(0x672A70, 0x67D3A0)); - DefineAddress(SetSize, SelectAddress(0x9F8EB0, 0xDDE930)); - DefineAddress(GetPosition, SelectAddress(0x672930, 0x67D3B0)); - DefineAddress(SetPosition, SelectAddress(0x7A4230, 0x950E00)); - DefineAddress(GetAvailable, SelectAddress(0x60C030, 0xE21A90)); - DefineAddress(Read, SelectAddress(0xF95C60, 0x1097390)); - DefineAddress(Flush, SelectAddress(0xC65B10, 0xB1FB30)); - DefineAddress(Write, SelectAddress(0x672BD0, 0x67D640)); - DefineAddress(SetCompressedFormat, SelectAddress(0x6727D0, 0x67D240)); - DefineAddress(SetBufferSize, SelectAddress(0x6727F0, 0x67D260)); - DefineAddress(SetCompressionHint, SelectAddress(0x672830, 0x67D2A0)); - DefineAddress(Open, SelectAddress(0x672AA0, 0x67D510)); + DefineAddress(AddRef, SelectAddress(0x947080, 0x7685A0)); + DefineAddress(Release, SelectAddress(0x57CB00, 0x67D9F0)); + DefineAddress(GetType, SelectAddress(0x67DC10, 0x67DAB0)); + DefineAddress(GetAccessFlags, SelectAddress(0x67D450, 0x67D2C0)); + DefineAddress(GetState, SelectAddress(0x67D460, 0x67D2D0)); + DefineAddress(Close, SelectAddress(0x67D870, 0x67D6E0)); + DefineAddress(GetSize, SelectAddress(0x67D670, 0x67D3A0)); + DefineAddress(SetSize, SelectAddress(0x101B0F0, 0xDDE930)); + DefineAddress(GetPosition, SelectAddress(0x67d530, 0x67D3B0)); + DefineAddress(SetPosition, SelectAddress(0x951320, 0x950E00)); + DefineAddress(GetAvailable, SelectAddress(0x671860, 0xE21A90)); + DefineAddress(Read, SelectAddress(0xA205C0, 0x1097390)); + DefineAddress(Flush, SelectAddress(0xA37650, 0xB1FB30)); + DefineAddress(Write, SelectAddress(0x67D7D0, 0x67D640)); + DefineAddress(SetCompressedFormat, SelectAddress(0x67D3D0, 0x67D240)); + DefineAddress(SetBufferSize, SelectAddress(0x67D3f0, 0x67D260)); + DefineAddress(SetCompressionHint, SelectAddress(0x67D430, 0x67D2A0)); + DefineAddress(Open, SelectAddress(0x67D6A0, 0x67D510)); // destructor; private for ModAPI DefineAddress(_dtor, SelectAddress(0x67DC30, 0x67DAD0)); DefineAddressAlias(Dispose, _dtor); @@ -250,23 +250,23 @@ namespace IO namespace Addresses(StreamDecompressionZLib) { - DefineAddress(AddRef, SelectAddress(0x614940, 0x7685A0)); - DefineAddress(Release, SelectAddress(0x707F90, 0x67D9F0)); - DefineAddress(GetType, SelectAddress(0x672DA0, 0x67D830)); - DefineAddress(GetAccessFlags, SelectAddress(0x6729A0, 0x67D420)); - DefineAddress(GetState, SelectAddress(0x6729B0, 0x67D430)); - DefineAddress(Close, SelectAddress(0x672F40, 0x67D9D0)); - DefineAddress(GetSize, SelectAddress(0x672A70, 0x67D3A0)); - DefineAddress(SetSize, SelectAddress(0x9F8EB0, 0xDDE930)); - DefineAddress(GetPosition, SelectAddress(0x672A80, 0x67D4F0)); - DefineAddress(SetPosition, SelectAddress(0x7A4230, 0x950E00)); - DefineAddress(GetAvailable, SelectAddress(0x60C030, 0xE21A90)); - DefineAddress(Read, SelectAddress(0x672E90, 0x67D920)); - DefineAddress(Flush, SelectAddress(0xAF5C80, 0xB1E410)); - DefineAddress(Write, SelectAddress(0x7A4230, 0x950E00)); - DefineAddress(SetCompressedFormat, SelectAddress(0x672950, 0x67D3D0)); - DefineAddress(SetBufferSize, SelectAddress(0x672960, 0x67D3E0)); - DefineAddress(Open, SelectAddress(0x672DC0, 0x67D850)); + DefineAddress(AddRef, SelectAddress(0x947080, 0x7685A0)); + DefineAddress(Release, SelectAddress(0x57CB00, 0x67D9F0)); + DefineAddress(GetType, SelectAddress(0x67D9C0, 0x67D830)); + DefineAddress(GetAccessFlags, SelectAddress(0x67D5A0, 0x67D420)); + DefineAddress(GetState, SelectAddress(0x67D5B0, 0x67D430)); + DefineAddress(Close, SelectAddress(0x67DB60, 0x67D9D0)); + DefineAddress(GetSize, SelectAddress(0x67D670, 0x67D3A0)); + DefineAddress(SetSize, SelectAddress(0x101B0F0, 0xDDE930)); + DefineAddress(GetPosition, SelectAddress(0x67D680, 0x67D4F0)); + DefineAddress(SetPosition, SelectAddress(0x951320, 0x950E00)); + DefineAddress(GetAvailable, SelectAddress(0x671860, 0xE21A90)); + DefineAddress(Read, SelectAddress(0x67DAB0, 0x67D920)); + DefineAddress(Flush, SelectAddress(0x66AD60, 0xB1E410)); + DefineAddress(Write, SelectAddress(0x951320, 0x950E00)); + DefineAddress(SetCompressedFormat, SelectAddress(0x67D550, 0x67D3D0)); + DefineAddress(SetBufferSize, SelectAddress(0x67D560, 0x67D3E0)); + DefineAddress(Open, SelectAddress(0x67D9E0, 0x67D850)); // destructor; private for ModAPI DefineAddress(_dtor, SelectAddress(0x67DCE0, 0x67DB80)); DefineAddressAlias(Dispose, _dtor); @@ -274,32 +274,32 @@ namespace IO namespace Addresses(IniFile) { - DefineAddress(GetOption, SelectAddress(0x90c410, 0x932fc0)); - DefineAddress(SetOption, SelectAddress(0x90c430, 0x932fe0)); - DefineAddress(GetPath, SelectAddress(0x959f70, 0x6e6560)); - DefineAddress(SetPath, SelectAddress(0x90c460, 0x933010)); - DefineAddress(GetStream, SelectAddress(0x90c4d0, 0x933080)); - DefineAddress(SetStream, SelectAddress(0x90c4e0, 0x933090)); - DefineAddress(Close, SelectAddress(0x90e5a0, 0x934ff0)); - DefineAddress(ReadEntry, SelectAddress(0x90cc10, 0x933820)); - DefineAddress(ReadEntryToBuffer, SelectAddress(0x90d410, 0x933eb0)); - DefineAddress(ReadEntryFormatted, SelectAddress(0x90cca0, 0x9338b0)); - DefineAddress(WriteEntry, SelectAddress(0x90d9d0, 0x934420)); - DefineAddress(WriteEntryFormatted, SelectAddress(0x90c810, 0x9333c0)); - DefineAddress(ReadBinary, SelectAddress(0x90c8f0, 0x9334a0)); - DefineAddress(WriteBinary, SelectAddress(0x90ca60, 0x933610)); - DefineAddress(EnumSections, SelectAddress(0x90e220, 0x934c70)); - DefineAddress(EnumEntries, SelectAddress(0x90ea80, 0x9354d0)); - DefineAddress(SectionExists, SelectAddress(0x90d6d0, 0x934170)); - DefineAddress(Open, SelectAddress(0x90c540, 0x9330f0)); - DefineAddress(GetEncoding, SelectAddress(0x90c670, 0x933220)); - DefineAddress(LoadSectionNames, SelectAddress(0x90e610, 0x935060)); - DefineAddress(GetFileLine8To8, SelectAddress(0x90cfb0, 0x933b40)); - DefineAddress(GetFileLine16To16, SelectAddress(0x90d0c0, 0x933c50)); - DefineAddress(GetFileLine, SelectAddress(0x90cdc0, 0x933950)); - DefineAddress(ConvertAndWriteStream, SelectAddress(0x90cb20, 0x9336d0)); + DefineAddress(GetOption, SelectAddress(0x933530, 0x932FC0)); + DefineAddress(SetOption, SelectAddress(0x933550, 0x932FE0)); + DefineAddress(GetPath, SelectAddress(0x766FC0, 0x6E6560)); + DefineAddress(SetPath, SelectAddress(0x933580, 0x933010)); + DefineAddress(GetStream, SelectAddress(0x9335F0, 0x933080)); + DefineAddress(SetStream, SelectAddress(0x933600, 0x933090)); + DefineAddress(Close, SelectAddress(0x935590, 0x934FF0)); + DefineAddress(ReadEntry, SelectAddress(0x933D90, 0x933820)); + DefineAddress(ReadEntryToBuffer, SelectAddress(0x934400, 0x933EB0)); + DefineAddress(ReadEntryFormatted, SelectAddress(0x933E20, 0x9338B0)); + DefineAddress(WriteEntry, SelectAddress(0x9349C0, 0x934420)); + DefineAddress(WriteEntryFormatted, SelectAddress(0x933930, 0x9333C0)); + DefineAddress(ReadBinary, SelectAddress(0x933A10, 0x9334A0)); + DefineAddress(WriteBinary, SelectAddress(0x933B80, 0x933610)); + DefineAddress(EnumSections, SelectAddress(0x935210, 0x934C70)); + DefineAddress(EnumEntries, SelectAddress(0x935A70, 0x9354D0)); + DefineAddress(SectionExists, SelectAddress(0x9346C0, 0x934170)); + DefineAddress(Open, SelectAddress(0x933660, 0x9330F0)); + DefineAddress(GetEncoding, SelectAddress(0x933790, 0x933220)); + DefineAddress(LoadSectionNames, SelectAddress(0x935600, 0x935060)); + DefineAddress(GetFileLine8To8, SelectAddress(0x934090, 0x933B40)); + DefineAddress(GetFileLine16To16, SelectAddress(0x9341A0, 0x933C50)); + DefineAddress(GetFileLine, SelectAddress(0x933EA0, 0x933950)); + DefineAddress(ConvertAndWriteStream, SelectAddress(0x933C40, 0x9336D0)); // stub - DefineAddress(_vftable, SelectAddress(0x1407fc8, 0x143e980)); + DefineAddress(_vftable, SelectAddress(0x1442b50, 0x143E980)); } } #endif diff --git a/Spore ModAPI/SourceCode/DLL/AddressesMovie.cpp b/Spore ModAPI/SourceCode/DLL/AddressesMovie.cpp index bfa947df..63176346 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesMovie.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesMovie.cpp @@ -7,32 +7,32 @@ namespace Movie { namespace Addresses(cMovieLetterbox) { - DefineAddress(Initialize, SelectAddress(0xFAB930, 0xFD7730)); + DefineAddress(Initialize, SelectAddress(0xFD7E80, 0xFD7730)); } namespace Addresses(MovieSystem) { - DefineAddress(Get, SelectAddress(0x672070, 0x67CAD0)); + DefineAddress(Get, SelectAddress(0x67CC60, 0x67CAD0)); - DefineAddress(DrawLayer, SelectAddress(0xFAB430, 0xFD7240)); + DefineAddress(DrawLayer, SelectAddress(0xFD7970, 0xFD7240)); - DefineAddress(Init, SelectAddress(0xFAD2D0, 0xFD90D0)); - DefineAddress(Shutdown, SelectAddress(0xFAB9E0, 0xFD77E0)); - DefineAddress(Update, SelectAddress(0xFABF60, 0xFD7D60)); - DefineAddress(PlayMovie, SelectAddress(0xFAC9A0, 0xFD87A0)); - DefineAddress(MovieIsPlaying, SelectAddress(0xFAB740, 0xFD7550)); - DefineAddress(PauseMovie, SelectAddress(0xFAB750, 0xFD7560)); - DefineAddress(ContinueMovie, SelectAddress(0xFAB760, 0xFD7570)); - DefineAddress(StopMovie, SelectAddress(0xFABBC0, 0xFD79C0)); - DefineAddress(CheckEscape, SelectAddress(0xFAB770, 0xFD7580)); - DefineAddress(func28h, SelectAddress(0xFAB7E0, 0xFD75F0)); - DefineAddress(RecordMovie, SelectAddress(0xFAC370, 0xFD8170)); - DefineAddress(MovieIsRecording, SelectAddress(0xFAB830, 0xA1AEE0)); - DefineAddress(GetRecordingMovieName, SelectAddress(0xFABC70, 0xFD7A70)); - DefineAddress(StopRecordingMovie, SelectAddress(0xFAC160, 0xFD7F60)); - DefineAddress(func3Ch, SelectAddress(0x5D3460, 0x5DC490)); - DefineAddress(func40h, SelectAddress(0xFAB820, 0xFD7630)); - DefineAddress(func44h, SelectAddress(0xFAC8D0, 0xFD86D0)); + DefineAddress(Init, SelectAddress(0xFD97F0, 0xFD90D0)); + DefineAddress(Shutdown, SelectAddress(0xFD7F30, 0xFD77E0)); + DefineAddress(Update, SelectAddress(0xFD84B0, 0xFD7D60)); + DefineAddress(PlayMovie, SelectAddress(0xFD8EF0, 0xFD87A0)); + DefineAddress(MovieIsPlaying, SelectAddress(0xFD7C80, 0xFD7550)); + DefineAddress(PauseMovie, SelectAddress(0xFD7C90, 0xFD7560)); + DefineAddress(ContinueMovie, SelectAddress(0xFD7CA0, 0xFD7570)); + DefineAddress(StopMovie, SelectAddress(0xFD8110, 0xFD79C0)); + DefineAddress(CheckEscape, SelectAddress(0xFD7CB0, 0xFD7580)); + DefineAddress(func28h, SelectAddress(0xFD7D20, 0xFD75F0)); + DefineAddress(RecordMovie, SelectAddress(0xFD88C0, 0xFD8170)); + DefineAddress(MovieIsRecording, SelectAddress(0xFD7D80, 0xA1AEE0)); + DefineAddress(GetRecordingMovieName, SelectAddress(0xFD81C0, 0xFD7A70)); + DefineAddress(StopRecordingMovie, SelectAddress(0xFD86B0, 0xFD7F60)); + DefineAddress(func3Ch, SelectAddress(0xFD7D60, 0x5DC490)); + DefineAddress(func40h, SelectAddress(0xFD7D70, 0xFD7630)); + DefineAddress(func44h, SelectAddress(0xFD8E20, 0xFD86D0)); } } #endif diff --git a/Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp b/Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp index 7518c0fc..08d84a28 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp @@ -683,103 +683,103 @@ namespace Simulator namespace Addresses(COMSerializer) { - DefineAddress(Open, SelectAddress(0x6902d0, 0x69dfc0)); - DefineAddress(Close, SelectAddress(0x691910, 0x69f940)); - DefineAddress(LoadClassObjects, SelectAddress(0x691240, 0x69f1d0)); - DefineAddress(SaveClassObjects, SelectAddress(0x691af0, 0x69fb90)); - DefineAddress(Write, SelectAddress(0x692440, 0x6a05f0)); - DefineAddress(Read, SelectAddress(0x6924f0, 0x6a06a0)); + DefineAddress(Open, SelectAddress(0x69E200, 0x69DFC0)); + DefineAddress(Close, SelectAddress(0x69FB90, 0x69F940)); + DefineAddress(LoadClassObjects, SelectAddress(0x69F420, 0x69F1D0)); + DefineAddress(SaveClassObjects, SelectAddress(0x69FDE0, 0x69FB90)); + DefineAddress(Write, SelectAddress(0x6A0840, 0x6A05F0)); + DefineAddress(Read, SelectAddress(0x6A08f0, 0x6A06A0)); - DefineAddress(GetCRC, SelectAddress(0x690d40, 0x69ec20)); - DefineAddress(reset, SelectAddress(0x6911d0, 0x69f160)); - DefineAddress(onSetSPSerializable, SelectAddress(0x691ff0, 0x6a0110)); - DefineAddress(onGetSPSerializable, SelectAddress(0x690bb0, 0x69e9e0)); - DefineAddress(loadSingleObject, SelectAddress(0x6921e0, 0x6a0360)); + DefineAddress(GetCRC, SelectAddress(0x69EE70, 0x69EC20)); + DefineAddress(reset, SelectAddress(0x69F3B0, 0x69F160)); + DefineAddress(onSetSPSerializable, SelectAddress(0x6A0360, 0x6A0110)); + DefineAddress(onGetSPSerializable, SelectAddress(0x69EC30, 0x69E9E0)); + DefineAddress(loadSingleObject, SelectAddress(0x6A05B0, 0x6A0360)); } namespace Addresses(SerializerDatabase) { - DefineAddress(AsDatabase, SelectAddress(0x8fac50, 0x7f3190)); - DefineAddress(GetCOMSerializer, SelectAddress(0x5a6210, 0x985d70)); - DefineAddress(OpenReadStream, SelectAddress(0x690640, 0x69e3a0)); - DefineAddress(CloseReadStream, SelectAddress(0x68f6e0, 0x69d2c0)); - DefineAddress(LoadClassObjects, SelectAddress(0x690190, 0x69de80)); - DefineAddress(OpenWriteStream, SelectAddress(0x6906d0, 0x69e470)); - DefineAddress(CloseWriteStream, SelectAddress(0x68f6e0, 0x69d2c0)); - DefineAddress(SaveClassObjects, SelectAddress(0x6901b0, 0x69dea0)); - DefineAddress(HasKey, SelectAddress(0x6907d0, 0x69e5d0)); - DefineAddress(GetPercentageCompletion, SelectAddress(0x109ffe0, 0xc06490)); - DefineAddress(SetPercentageCompletion, SelectAddress(0x68f710, 0x69d2f0)); - DefineAddress(OpenAsSerializer, SelectAddress(0x690230, 0x69df20)); - - DefineAddress(Initialize, SelectAddress(0x6901d0, 0x69dec0)); - DefineAddress(Dispose, SelectAddress(0x6901e0, 0x69ded0)); - DefineAddress(GetDatabaseType, SelectAddress(0x6900a0, 0x69dd90)); - DefineAddress(GetRefCount, SelectAddress(0x68f800, 0x69d3f0)); - DefineAddress(Lock, SelectAddress(0x6900b0, 0x69dda0)); - DefineAddress(Open, SelectAddress(0x6900c0, 0x69ddb0)); - DefineAddress(Close, SelectAddress(0x6902a0, 0x69df90)); - DefineAddress(GetAccessFlags, SelectAddress(0x6900d0, 0x69ddc0)); - DefineAddress(Flush, SelectAddress(0x6900f0, 0x69dde0)); - DefineAddress(GetLocation, SelectAddress(0x690100, 0x69ddf0)); - DefineAddress(SetLocation, SelectAddress(0x690110, 0x69de00)); - DefineAddress(GetKeyList, SelectAddress(0x690120, 0x69de10)); - DefineAddress(OpenRecord, SelectAddress(0x690130, 0x69de20)); - DefineAddress(GetOpenCount, SelectAddress(0x690140, 0x69de30)); - DefineAddress(CloseRecord, SelectAddress(0x690150, 0x69de40)); - DefineAddress(DeleteRecord, SelectAddress(0x690160, 0x69de50)); - DefineAddress(Attach, SelectAddress(0x690170, 0x69de60)); - DefineAddress(GetAllocator, SelectAddress(0x690180, 0x69de70)); + DefineAddress(AsDatabase, SelectAddress(0x7F36C0, 0x7F3190)); + DefineAddress(GetCOMSerializer, SelectAddress(0x5AC900, 0x985D70)); + DefineAddress(OpenReadStream, SelectAddress(0x69E5F0, 0x69E3A0)); + DefineAddress(CloseReadStream, SelectAddress(0x69D510, 0x69D2C0)); + DefineAddress(LoadClassObjects, SelectAddress(0x69E0C0, 0x69DE80)); + DefineAddress(OpenWriteStream, SelectAddress(0x69E6C0, 0x69E470)); + DefineAddress(CloseWriteStream, SelectAddress(0x69D510, 0x69D2C0)); + DefineAddress(SaveClassObjects, SelectAddress(0x69E0E0, 0x69DEA0)); + DefineAddress(HasKey, SelectAddress(0x69E820, 0x69E5D0)); + DefineAddress(GetPercentageCompletion, SelectAddress(0xFD9B40, 0xC06490)); + DefineAddress(SetPercentageCompletion, SelectAddress(0x69D540, 0x69D2F0)); + DefineAddress(OpenAsSerializer, SelectAddress(0x69E160, 0x69DF20)); + + DefineAddress(Initialize, SelectAddress(0x69E100, 0x69DEC0)); + DefineAddress(Dispose, SelectAddress(0x69E110, 0x69DED0)); + DefineAddress(GetDatabaseType, SelectAddress(0x69DFD0, 0x69DD90)); + DefineAddress(GetRefCount, SelectAddress(0x69D630, 0x69D3F0)); + DefineAddress(Lock, SelectAddress(0x69DFE0, 0x69DDA0)); + DefineAddress(Open, SelectAddress(0x69DFF0, 0x69DDB0)); + DefineAddress(Close, SelectAddress(0x69E1D0, 0x69DF90)); + DefineAddress(GetAccessFlags, SelectAddress(0x69E000, 0x69DDC0)); + DefineAddress(Flush, SelectAddress(0x69E020, 0x69DDE0)); + DefineAddress(GetLocation, SelectAddress(0x69E030, 0x69DDF0)); + DefineAddress(SetLocation, SelectAddress(0x69E040, 0x69DE00)); + DefineAddress(GetKeyList, SelectAddress(0x69E050, 0x69DE10)); + DefineAddress(OpenRecord, SelectAddress(0x69E060, 0x69DE20)); + DefineAddress(GetOpenCount, SelectAddress(0x69E070, 0x69DE30)); + DefineAddress(CloseRecord, SelectAddress(0x69E080, 0x69DE40)); + DefineAddress(DeleteRecord, SelectAddress(0x69E090, 0x69DE50)); + DefineAddress(Attach, SelectAddress(0x69E0A0, 0x69DE60)); + DefineAddress(GetAllocator, SelectAddress(0x69E0B0, 0x69DE70)); } namespace Addresses(SerializerReadStream) { - DefineAddress(Open, SelectAddress(0x6903b0, 0x69e090)); - DefineAddress(Close, SelectAddress(0x68f860, 0x69d480)); - DefineAddress(IsOpen, SelectAddress(0x68f8b0, 0x69d4d0)); - DefineAddress(IsGood, SelectAddress(0x5a2c00, 0x950190)); - DefineAddress(GetRecord, SelectAddress(0x69f450, 0xfc7910)); - DefineAddress(GetDatabase, SelectAddress(0xf5c360, 0x7f55c0)); - DefineAddress(ReadObjectPointer, SelectAddress(0x690450, 0x69e170)); - DefineAddress(ReadPointer, SelectAddress(0x68f8d0, 0x69d4f0)); - DefineAddress(ReadProperty, SelectAddress(0x68f920, 0x69d540)); - DefineAddress(ReadRawData, SelectAddress(0x68fbb0, 0x69d830)); - DefineAddress(ReadPropertyByID, SelectAddress(0x68f5e0, 0x69d1d0)); - DefineAddress(GetSerializationVersion, SelectAddress(0x95a4f0, 0x93b630)); - DefineAddress(SetSerializationVersion, SelectAddress(0x1054390, 0xfcc100)); + DefineAddress(Open, SelectAddress(0x69E2E0, 0x69E090)); + DefineAddress(Close, SelectAddress(0x69D6C0, 0x69D480)); + DefineAddress(IsOpen, SelectAddress(0x69D710, 0x69D4D0)); + DefineAddress(IsGood, SelectAddress(0xF03310, 0x950190)); + DefineAddress(GetRecord, SelectAddress(0x80E390, 0xFC7910)); + DefineAddress(GetDatabase, SelectAddress(0x6BD860, 0x7F55C0)); + DefineAddress(ReadObjectPointer, SelectAddress(0x69E3C0, 0x69E170)); + DefineAddress(ReadPointer, SelectAddress(0x69D730, 0x69D4F0)); + DefineAddress(ReadProperty, SelectAddress(0x69D780, 0x69D540)); + DefineAddress(ReadRawData, SelectAddress(0x69DA70, 0x69D830)); + DefineAddress(ReadPropertyByID, SelectAddress(0x69D410, 0x69D1D0)); + DefineAddress(GetSerializationVersion, SelectAddress(0x923C40, 0x93B630)); + DefineAddress(SetSerializationVersion, SelectAddress(0x980680, 0xFCC100)); - DefineAddress(Skip, SelectAddress(0x68f620, 0x69d210)); + DefineAddress(Skip, SelectAddress(0x69D450, 0x69D210)); } namespace Addresses(SerializerWriteStream) { - DefineAddress(Open, SelectAddress(0x690540, 0x69e260)); - DefineAddress(Close, SelectAddress(0x68fc30, 0x69d8e0)); - DefineAddress(IsOpen, SelectAddress(0x68fc80, 0x69d930)); - DefineAddress(IsGood, SelectAddress(0x68f690, 0xab2ff0)); - DefineAddress(GetRecord, SelectAddress(0x959a00, 0xfcc1d0)); - DefineAddress(GetDatabase, SelectAddress(0x95a4f0, 0x93b630)); - DefineAddress(WriteObjectPointer, SelectAddress(0x68fca0, 0x69d950)); - DefineAddress(WritePointer, SelectAddress(0x68fcd0, 0x69d980)); - DefineAddress(WriteProperty, SelectAddress(0x68fd20, 0x69d9d0)); - DefineAddress(WriteRawData, SelectAddress(0x68ffb0, 0x69dc60)); - DefineAddress(WritePropertyWithID, SelectAddress(0x68f6a0, 0x69d280)); + DefineAddress(Open, SelectAddress(0x69E4B0, 0x69E260)); + DefineAddress(Close, SelectAddress(0x69DB20, 0x69D8E0)); + DefineAddress(IsOpen, SelectAddress(0x69DB70, 0x69D930)); + DefineAddress(IsGood, SelectAddress(0x69D4C0, 0xAB2FF0)); + DefineAddress(GetRecord, SelectAddress(0x985FB0, 0xFCC1D0)); + DefineAddress(GetDatabase, SelectAddress(0x923C40, 0x93B630)); + DefineAddress(WriteObjectPointer, SelectAddress(0x69DB90, 0x69D950)); + DefineAddress(WritePointer, SelectAddress(0x69DBC0, 0x69D980)); + DefineAddress(WriteProperty, SelectAddress(0x69DC10, 0x69D9D0)); + DefineAddress(WriteRawData, SelectAddress(0x69DEA0, 0x69DC60)); + DefineAddress(WritePropertyWithID, SelectAddress(0x69D4D0, 0x69D280)); } namespace Addresses(SerializerReadStreamPrivate) { - DefineAddress(IsOpen, SelectAddress(0x685e30, 0x692e60)); - DefineAddress(SetSerializationVersion, SelectAddress(0x685e10, 0x692e80)); - DefineAddress(GetSerializationVersion, SelectAddress(0x685e20, 0x692e90)); + DefineAddress(IsOpen, SelectAddress(0x6930D0, 0x692E60)); + DefineAddress(SetSerializationVersion, SelectAddress(0x692E80, 0x692E80)); + DefineAddress(GetSerializationVersion, SelectAddress(0x6930C0, 0x692E90)); - DefineAddress(openStream, SelectAddress(0x686770, 0x6938d0)); + DefineAddress(openStream, SelectAddress(0x693A10, 0x6938D0)); } namespace Addresses(SerializerWriteStreamPrivate) { - DefineAddress(IsOpen, SelectAddress(0x685e30, 0x692e60)); + DefineAddress(IsOpen, SelectAddress(0x6930D0, 0x692E60)); - DefineAddress(openStream, SelectAddress(0x686890, 0x693a70)); + DefineAddress(openStream, SelectAddress(0x693BB0, 0x693A70)); } namespace Addresses(cGameData) @@ -913,7 +913,7 @@ namespace Simulator namespace Addresses(cScenarioAsset) { - DefineAddress(GetThumbnail, SelectAddress(0xEF92F0, 0xF24FE0)); + DefineAddress(GetThumbnail, SelectAddress(0xF253C0, 0xF24FE0)); } namespace Addresses(cScenarioData) diff --git a/Spore ModAPI/SourceCode/DLL/AddressesTerrain.cpp b/Spore ModAPI/SourceCode/DLL/AddressesTerrain.cpp index 23afca8a..f68109ba 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesTerrain.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesTerrain.cpp @@ -71,12 +71,12 @@ namespace Terrain } namespace Addresses(cTerrainSphereDecal) { - DefineAddress(Initialize, SelectAddress(0xF82DD0, 0xFAEC20)); - DefineAddress(Shutdown, SelectAddress(0xF81C20, 0xFADA70)); - DefineAddress(UpdateDecal, SelectAddress(0xF82960, 0xFAE7B0)); - DefineAddress(DispatchStaticDecal, SelectAddress(0xF816B0, 0xFAD500)); - DefineAddress(GetBBoxForFace, SelectAddress(0xF812A0, 0xFAD0F0)); - DefineAddress(SetFaceInfoArray, SelectAddress(0xF81D80, 0xFADBD0)); + DefineAddress(Initialize, SelectAddress(0xFAF2C0, 0xFAEC20)); + DefineAddress(Shutdown, SelectAddress(0xFAE110, 0xFADA70)); + DefineAddress(UpdateDecal, SelectAddress(0xFAEE50, 0xFAE7B0)); + DefineAddress(DispatchStaticDecal, SelectAddress(0xFADBA0, 0xFAD500)); + DefineAddress(GetBBoxForFace, SelectAddress(0xFAD790, 0xFAD0F0)); + DefineAddress(SetFaceInfoArray, SelectAddress(0xFAE270, 0xFADBD0)); } } namespace Addresses(Terrain) diff --git a/Spore ModAPI/SourceCode/DLL/AddressesUI.cpp b/Spore ModAPI/SourceCode/DLL/AddressesUI.cpp index 79689206..6804ff31 100644 --- a/Spore ModAPI/SourceCode/DLL/AddressesUI.cpp +++ b/Spore ModAPI/SourceCode/DLL/AddressesUI.cpp @@ -39,7 +39,7 @@ namespace UI namespace Addresses(ScrollFrameVertical) { DefineAddress(Create, SelectAddress(0x807C40, 0x8076F0)); - DefineAddress(Update, SelectAddress(0x7E04D0, 0x807780)); + DefineAddress(Update, SelectAddress(0x807CD0, 0x807780)); } namespace Addresses(cSPUITextZoom) @@ -50,7 +50,7 @@ namespace UI namespace Addresses(cSPUIPropertyLayout) { - DefineAddress(SetProperty, SelectAddress(0x801640, 0x828d10)); + DefineAddress(SetProperty, SelectAddress(0x8291F0, 0x828D10)); } namespace Addresses(GameSettings)