Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions Spore ModAPI/SourceCode/DLL/AddressesEditors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <Spore\Editors\cEditorAnimWorld.h>
#include <Spore\Editors\cEditorSkinMesh.h>
#include <Spore\Editors\cCreatureDataResource.h>
#include <Spore\Editors\VerbIconData.h>

#ifdef SDK_TO_GHIDRA
namespace Editors
Expand Down Expand Up @@ -82,9 +83,13 @@ namespace Editors
DefineAddress(HandleMessage, SelectAddress(0x591C80, 0x591FA0));


DefineAddress(GetEditorForAssetType, SelectAddress(0x00433010, 0x004333e0));
DefineAddress(GetNameForAssetType, SelectAddress(0x004badc0, 0x004bba50));
DefineAddress(GetTypeIDForAssetType, SelectAddress(0x004bb110, 0x004bbda0));
DefineAddress(GetEditorForAssetType, SelectAddress(0x433010, 0x4333e0));
DefineAddress(GetNameForAssetType, SelectAddress(0x4badc0, 0x4bba50));
DefineAddress(GetTypeIDForAssetType, SelectAddress(0x4bb110, 0x4bbda0));

DefineAddress(ComputeCreatureVerbIcons, SelectAddress(0x4e2a50, 0x4e8860));

DefineAddress(LoadCreatureData, SelectAddress(0x4b5760, 0x4bb500));
}

namespace Addresses(EditorCamera)
Expand Down Expand Up @@ -250,5 +255,19 @@ namespace Editors
DefineAddress(SetWindowVisible, SelectAddress(0x635450, 0x635750));
DefineAddress(FindWindowByID, SelectAddress(0x634AB0, 0x634DB0));
}

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));
}
}
#endif
26 changes: 26 additions & 0 deletions Spore ModAPI/SourceCode/DLL/AddressesGraphics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,32 @@ namespace Graphics

namespace Addresses(IThumbnailManager) {
DefineAddress(Get, SelectAddress(0x67DED0, 0x67DD70));
DefineAddress(AddRef, SelectAddress(0xfee650, 0x671f20));
DefineAddress(Release, SelectAddress(0xf1aae0, 0xae0620));
DefineAddress(Dispose, SelectAddress(0x794410, 0x7b6df0));
DefineAddress(Init, SelectAddress(0x79e020, 0x7c14c0));
DefineAddress(Shutdown, SelectAddress(0x79ad90, 0x7bdef0));
DefineAddress(FrameBoundingBoxPalette, SelectAddress(0x792a90, 0x7b53d0));
DefineAddress(GetThumbRectID, SelectAddress(0x7903c0, 0x7b2740));
DefineAddress(CapturePaletteThumbnail, SelectAddress(0x79b3a0, 0x7be500));
DefineAddress(CaptureEditorsThumbnail, SelectAddress(0x79b8e0, 0x7bead0));
DefineAddress(CaptureCSAPhotos, SelectAddress(0x79bc20, 0x7bee80));
DefineAddress(CaptureGameThumbnail, SelectAddress(0x79c120, 0x7bf3d0));
DefineAddress(func2ch, SelectAddress(0x794c10, 0x7b7600));
DefineAddress(func30h, SelectAddress(0x793240, 0x7b5b80));
DefineAddress(RenderPlanetThumbnail, SelectAddress(0x797430, 0x7ba180));
DefineAddress(CaptureBESplatter, SelectAddress(0x79e790, 0x7c1ce0));
DefineAddress(CaptureAO, SelectAddress(0x79cc40, 0x7bffb0));
DefineAddress(CaptureAOCE, SelectAddress(0x79d430, 0x7c0850));
DefineAddress(func44h, SelectAddress(0x7988a0, 0x7bb740));
DefineAddress(GenerateTimelineImages, SelectAddress(0x79cc30, 0x7bff80));
DefineAddress(FrameBoundingBoxThumbnail, SelectAddress(0x792d60, 0x7b56a0));
DefineAddress(FrameBBoxes, SelectAddress(0x794950, 0x7b7340));
DefineAddress(DownsampleGIF, SelectAddress(0x7972c0, 0x7ba000));
DefineAddress(DownSampleRT, SelectAddress(0x796be0, 0x7b98a0));
DefineAddress(func5Ch, SelectAddress(0x796d80, 0x7b9a60));
DefineAddress(TerrainBlurFilterDraw, SelectAddress(0x7923b0, 0x7b4bd0));
DefineAddress(GatherAOPasses, SelectAddress(0x7940f0, 0x7b69b0));
}

namespace Addresses(IGraphicsManager) {
Expand Down
39 changes: 39 additions & 0 deletions Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@
#include <Spore\Simulator\SubSystem\GamePlantManager.h>
#include <Spore\Simulator\SubSystem\UIAssetDiscoveryManager.h>
#include <Spore\Simulator\SubSystem\ObstacleManager.h>
#include <Spore\Simulator\SubSystem\cSpeciesRelationshipManager.h>
#include <Spore\Simulator\NounClassFactories.h>

namespace Addresses(Simulator)
Expand Down Expand Up @@ -1214,6 +1215,44 @@ namespace Simulator
namespace Addresses(cNpcTribeController) {
DefineAddress(Get, SelectAddress(0xCC8330, 0xCC8C90));
}

namespace Addresses(IGonzagoSubsystem) {
DefineAddress(AddRef, SelectAddress(0xebb180, 0x76e620));
DefineAddress(Release, SelectAddress(0x74f1a0, 0xb0bc60));
DefineAddress(InitGonzagoSubsystem, SelectAddress(0xb78fc0, 0xba3160));
DefineAddress(ShutdownGonzagoSubsystem, SelectAddress(0xb78640, 0xba28a0));
DefineAddress(GetGonzagoSubsystemName, SelectAddress(0xb78670, 0xba28e0));
DefineAddress(PreGameModeTransition, SelectAddress(0xb31a40, 0xb5ba40));
DefineAddress(PostGameModeTransition, SelectAddress(0xb31a10, 0xb5ba10));
DefineAddress(GetPreModeTransitionState, SelectAddress(0x69f450, 0xfc7e10));
DefineAddress(GetPostModeTransitionState, SelectAddress(0xf5c360, 0x7f55c0));
DefineAddress(CheckGonzagoSubsystemInitState, SelectAddress(0x100b4a0, 0xba28d0));
DefineAddress(Write, SelectAddress(0xb78560, 0xba27c0));
DefineAddress(Read, SelectAddress(0xb785d0, 0xba2830));
DefineAddress(PostLoad, SelectAddress(0x105fec0, 0x1082a20));
DefineAddress(DisposeAttributeToXML, SelectAddress(0xb79920, 0xba3980));
DefineAddress(PreUpdateTick, SelectAddress(0xb32f60, 0xb267d0));
DefineAddress(PostUpdateTick, SelectAddress(0xb32f60, 0xb267d0));
DefineAddress(BeginPreGameModeTransition, SelectAddress(0xb31990, 0xb5b990));
DefineAddress(BeginPostGameModeTransition, SelectAddress(0xb319b0, 0xb5b9b0));
DefineAddress(EndPreGameModeTransition, SelectAddress(0xb319d0, 0xb5b9d0));
DefineAddress(EndPostGameModeTransition, SelectAddress(0xb319f0, 0xb5b9f0));
}

namespace Addresses(cSpeciesRelationshipManager) {
DefineAddress(Get, SelectAddress(0xb141b0, 0xb3d5c0));

DefineAddress(Dispose, SelectAddress(0xb7a0d0, 0xba40c0));
DefineAddress(HandleMessage, SelectAddress(0xb78b00, 0xba2dc0));
DefineAddress(AddRef, SelectAddress(0xfee650, 0x671f20));
DefineAddress(Release, SelectAddress(0xf1aae0, 0xae0620));
DefineAddress(GetType, SelectAddress(0xb78500, 0xba2760));
DefineAddress(GetFieldValue, SelectAddress(0xb78520, 0xba2780));
DefineAddress(GetClassID, SelectAddress(0xb78680, 0xba28f0));
}
namespace Addresses(cSpeciesRelationshipManagerDispose) {
DefineAddress(Dispose, SelectAddress(0xb7a0d0, 0xba40c0));
}
}

#ifdef SDK_TO_GHIDRA
Expand Down
21 changes: 21 additions & 0 deletions Spore ModAPI/SourceCode/DLL/AddressesSporepedia.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#include <Spore\Sporepedia\AssetData.h>
#include <Spore\Sporepedia\ObjectTemplateDB.h>
#include <Spore\Sporepedia\AssetViewManager.h>
#include <Spore\Sporepedia\cSPUILargeAssetView.h>
#include <Spore\Sporepedia\ISPUILargeAssetView.h>

namespace Sporepedia
{
Expand Down Expand Up @@ -78,6 +80,25 @@ namespace Sporepedia
DefineAddress(Get, SelectAddress(0x67CC90, 0x67CB00));
}
}

namespace Addresses(ISPUILargeAssetView)
{
DefineAddress(AddRef, SelectAddress(0x734c00, 0xf11ae0));
DefineAddress(Release, SelectAddress(0x734c10, 0x7505f0));
DefineAddress(Dispose, SelectAddress(0x6623c0, 0x66ccd0));
DefineAddress(AsInterface, SelectAddress(0x661490, 0x66bce0));
DefineAddress(GetPriority, SelectAddress(0xce9820, 0xe310c0));
DefineAddress(GetEventMask, SelectAddress(0xdb8a50, 0x5f0e70));
DefineAddress(func18h, SelectAddress(0xdb8a50, 0x66d400));
DefineAddress(LoadAssetViewLarge, SelectAddress(0x664630, 0x66efb0));
}
namespace Addresses(cSPUILargeAssetViewSmh)
{
DefineAddress(Dispose, SelectAddress(0x661ab0, 0x66c310));
DefineAddress(func04h, SelectAddress(0x661c00, 0x66c460));
DefineAddress(AddRef, SelectAddress(0x6023b0, 0xeb2890));
DefineAddress(Release, SelectAddress(0x6023a0, 0xeb28a0));
}
}

namespace Addresses(Sporepedia)
Expand Down
6 changes: 6 additions & 0 deletions Spore ModAPI/SourceCode/DLL/AddressesUI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <Spore\UI\GameSettings.h>
#include <Spore\UI\EditorNamePanel.h>
#include <Spore\UI\SimulatorRollovers.h>
#include <Spore\UI\cSPUIPropertyLayout.h>

namespace UI
{
Expand Down Expand Up @@ -46,6 +47,11 @@ namespace UI
DefineAddress(Initialize, SelectAddress(0x835800, 0x835080));
}

namespace Addresses(cSPUIPropertyLayout)
{
DefineAddress(SetProperty, SelectAddress(0x801640, 0x828d10));
}

namespace Addresses(GameSettings)
{
DefineAddress(Show, SelectAddress(0x603430, 0x603670));
Expand Down
40 changes: 23 additions & 17 deletions Spore ModAPI/SourceCode/Editors/Editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,20 @@ namespace Editors
: mnRefCount(0)
, mKey()
, mRigblocks()
, field_2C()
, field_30()
, field_34()
, field_38()
, field_3C()
, field_40(-2.0f)
, field_44(2.0f)
, field_48()
, field_4C()
, field_4D()
, field_4E(true)
, field_4F()
, field_50()
, field_51()
, mbAllBlocksLoaded()
, mPhysicsWorld()
, mUseDynamics()
, mBounds()
, mFeetBounds()
, mMinHeight(-2.0f)
, mMaxHeight(2.0f)
, mMinimumLeglessCreatureHeight()
, mShowHiddenHandles()
, mShowBoneLengthHandles()
, mUseBoundsForDelete(true)
, mUsingSymmetry()
, mSkinNeedsUpdating()
, mChanged()
, mTranslationOptions()
, mModelType()
, mName()
Expand All @@ -81,7 +81,7 @@ namespace Editors
, mSkinEffectIDs()
, mSkinEffectSeeds{1234, 1234, 1234}
, mColors {ColorRGB(1.0f, 1.0f, 1.0f), ColorRGB(1.0f, 1.0f, 1.0f), ColorRGB(1.0f, 1.0f, 1.0f)}
, field_C8()
, mBBoxesOverride()
{
}

Expand All @@ -90,8 +90,8 @@ namespace Editors
Dispose();

// field_30 is a pointer, but I don't know what kind so we manually Release it
if (field_30 != 0) {
int* pointer = (int*)field_30;
if (mPhysicsWorld != 0) {
int* pointer = (int*)mPhysicsWorld;
pointer[1]--;
if (pointer[1] == 0) {
pointer[1] = 1;
Expand Down Expand Up @@ -198,5 +198,11 @@ namespace Editors
auto_STATIC_METHOD(cEditor, uint32_t, GetTypeIDForAssetType, Args(uint32_t assetTypeID), Args(assetTypeID));

auto_STATIC_METHOD(cEditor, const char16_t*, GetNameForAssetType, Args(uint32_t assetTypeID), Args(assetTypeID));

auto_STATIC_METHOD_VOID(cEditor, ComputeCreatureVerbIcons, Args(cCreatureDataResource* creatureData, cSPVerbTrayCollection* VerbTrayCollection, int brainLevel, float param_4), Args(creatureData, VerbTrayCollection, brainLevel, param_4));


auto_STATIC_METHOD(cEditor, bool, LoadCreatureData,Args(ResourceKey* creation, cCreatureDataResource** dst), Args(creation, dst));

}
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#ifndef MODAPI_DLL_EXPORT
#include <Spore\Simulator\SubSystem\cSpeciesRelationshipManager.h>

namespace Simulator
{
auto_STATIC_METHOD_(cSpeciesRelationshipManager, cSpeciesRelationshipManager*, Get);
}
#endif
10 changes: 10 additions & 0 deletions Spore ModAPI/SourceCode/UI/cSPUIPropertyLayout.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#ifndef MODAPI_DLL_EXPORT
#include <Spore\UI\cSPUIPropertyLayout.h>

namespace UI
{
auto_METHOD(cSPUIPropertyLayout, bool, SetProperty,
Args(uint32_t windowID, App::Property* setProperty, uint32_t unk, int* unk2),
Args(windowID, setProperty, unk, unk2));
}
#endif
24 changes: 22 additions & 2 deletions Spore ModAPI/Spore ModAPI.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,17 @@
<ClInclude Include="Spore\App\IDGenerator.h" />
<ClInclude Include="Spore\App\JobManager.h" />
<ClInclude Include="Spore\App\Thumbnail_cImportExport.h" />
<ClInclude Include="Spore\Graphics\LayerSequence.h" />
<ClInclude Include="Spore\OpenSSL.h" />
<ClInclude Include="Spore\Editors\cSPEditorVerbTrayCollection.h" />
<ClInclude Include="Spore\Editors\cSPEditorVerbIcon.h" />
<ClInclude Include="Spore\Editors\cSPEditorVerbIconTray.h" />
<ClInclude Include="Spore\UI\cSPUIPropertyLayout.h" />
<ClInclude Include="Spore\Editors\cSPVerbIconRollover.h" />
<ClInclude Include="Spore\Editors\cSPVerbTrayCollection.h" />
<ClInclude Include="Spore\Editors\VerbIconEnums.h" />
<ClInclude Include="Spore\Editors\VerbIconStructs.h" />
<ClInclude Include="Spore\Graphics\cThumbnailManager.h" />
<ClInclude Include="Spore\Graphics\LayerSequence.h" />
<ClInclude Include="Spore\OpenSSL.h" />
<ClInclude Include="Spore\Resource\FakeRecord.h" />
<ClInclude Include="Spore\Simulator\cBaseSimulatorInputStrategy.h" />
<ClInclude Include="Spore\Simulator\cObstacle.h" />
Expand All @@ -338,6 +347,10 @@
<ClInclude Include="Spore\Simulator\cTribeToolData.h" />
<ClInclude Include="Spore\Simulator\SubSystem\BundleManager.h" />
<ClInclude Include="Spore\Simulator\SubSystem\CinematicManager.h" />
<ClInclude Include="Spore\Simulator\SubSystem\cSpeciesRelationshipManager.h">
<SubType>
</SubType>
</ClInclude>
<ClInclude Include="Spore\Simulator\SubSystem\GamePlantManager.h" />
<ClInclude Include="Spore\Simulator\SubSystem\ObstacleManager.h" />
<ClInclude Include="Spore\Simulator\SubSystem\UIAssetDiscoveryManager.h" />
Expand Down Expand Up @@ -504,6 +517,8 @@
<ClInclude Include="Spore\Skinner\cSkinPainterJobCopyTex1AlphaToTex0.h" />
<ClInclude Include="Spore\Skinner\cSkinPainterJob.h" />
<ClInclude Include="Spore\Sporepedia\AssetViewManager.h" />
<ClInclude Include="Spore\Sporepedia\cSPUILargeAssetView.h" />
<ClInclude Include="Spore\Sporepedia\ISPUILargeAssetView.h" />
<ClInclude Include="Spore\Sporepedia\ObjectTemplateDB.h" />
<ClInclude Include="Spore\Sporepedia\OTDBParameters.h" />
<ClInclude Include="Spore\Simulator\cCivilization.h" />
Expand Down Expand Up @@ -1068,6 +1083,7 @@
<ClCompile Include="SourceCode\Swarm\SwarmManager.cpp" />
<ClCompile Include="SourceCode\Clock.cpp" />
<ClCompile Include="SourceCode\Terrain\Terrain.cpp" />
<ClCompile Include="SourceCode\UI\cSPUIPropertyLayout.cpp" />
<ClCompile Include="SourceCode\UI\HintManager.cpp" />
<ClCompile Include="SourceCode\UI\LayerManager.cpp" />
<ClCompile Include="SourceCode\UI\ScrollFrame.cpp" />
Expand All @@ -1094,6 +1110,10 @@
<ClCompile Include="SourceCode\Object.cpp" />
<ClCompile Include="SourceCode\ResourceKey.cpp" />
<ClCompile Include="SourceCode\UTFWin\WindowManager.cpp" />
<ClCompile Include="SourceCode\Simulator\cSpeciesRelationshipManager.cpp">
<SubType>
</SubType>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Natvis Include="EASTL.natvis" />
Expand Down
42 changes: 42 additions & 0 deletions Spore ModAPI/Spore ModAPI.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -2250,6 +2250,42 @@
<ClInclude Include="Spore\UTFWin\cSPUIBehaviorEventBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Sporepedia\cSPUILargeAssetView.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\cSPVerbTrayCollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Sporepedia\ISPUILargeAssetView.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Graphics\cThumbnailManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Simulator\SubSystem\cSpeciesRelationshipManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\cSPEditorVerbIconTray.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\cSPEditorVerbIcon.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\cSPEditorVerbTrayCollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\VerbIconEnums.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\VerbIconStructs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\Editors\cSPVerbIconRollover.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Spore\UI\cSPUIPropertyLayout.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SourceCode\Allocator.cpp">
Expand Down Expand Up @@ -2738,6 +2774,12 @@
<ClCompile Include="SourceCode\OpenSSL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SourceCode\Simulator\cSpeciesRelationshipManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SourceCode\UI\cSPUIPropertyLayout.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Natvis Include="EASTL.natvis" />
Expand Down
Loading
Loading