Skip to content

Commit 0dc62f3

Browse files
committed
Improved cStar, cStarRecord, cEllipticalOrbit, cSolarSystem and cCelestialBody, adding some methods that generate the solar system view.
1 parent e620fc6 commit 0dc62f3

31 files changed

+967
-467
lines changed

Spore ModAPI/SourceCode/DLL/AddressesSimulator.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
#include <Spore\Simulator\cTurretFlakWeapon.h>
4545
#include <Spore\Simulator\cVehicle.h>
4646
#include <Spore\Simulator\cSimPlanetHighLOD.h>
47+
#include <Spore\Simulator\cSolarSystem.h>
48+
#include <Spore\Simulator\cStar.h>
4749
#include <Spore\Simulator\cMissionManager.h>
4850
#include <Spore\Simulator\Serialization.h>
4951
#include <Spore\Simulator\SubSystem\cRelationshipManager.h>
@@ -284,6 +286,7 @@ namespace Simulator
284286
namespace Addresses(cPlanet)
285287
{
286288
DefineAddress(GetTemperatureScore, SelectAddress(0xC6FD80, NO_ADDRESS, 0xC70BC0));
289+
DefineAddress(SetRepresentationMode, SelectAddress(0xC70CD0, , 0xC71B70));
287290
}
288291

289292
namespace Addresses(cPlayerInventory)
@@ -336,6 +339,7 @@ namespace Simulator
336339
namespace Addresses(cStarRecord)
337340
{
338341
DefineAddress(GetPlanetRecord, SelectAddress(0xBB9B40, NO_ADDRESS, 0xBBABD0));
342+
DefineAddress(GetPlanetRecords, SelectAddress(0xBB9870, , 0xBBA900));
339343
}
340344

341345
namespace Addresses(cToolStrategy)
@@ -593,5 +597,18 @@ namespace Simulator
593597
{
594598
DefineAddress(GetTribeArchetype, SelectAddress(0xC8E060, , 0xC8EC00));
595599
}
600+
601+
namespace Addresses(cSolarSystem)
602+
{
603+
DefineAddress(Load, SelectAddress(0xC85AC0, , 0xC868F0));
604+
DefineAddress(GenerateGraphics, SelectAddress(0xC85FD0, , 0xC86E00));
605+
DefineAddress(CreateStarEffect, SelectAddress(0xC82FF0, , 0xC83E80));
606+
DefineAddress(GenerateCelestialBodiesEffects, SelectAddress(0xC83920, , 0xC847B0));
607+
}
608+
609+
namespace Addresses(cStar)
610+
{
611+
DefineAddress(GetSolarSystem, SelectAddress(0xC8AA90, , 0xC8B900));
612+
}
596613
}
597614
#endif

Spore ModAPI/SourceCode/Simulator/Planets.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,7 @@ namespace Simulator
4848
}
4949
return nullptr;
5050
}
51+
52+
auto_METHOD_VOID(cPlanet, SetRepresentationMode, Args(PlanetRepresentationMode mode), Args(mode));
5153
}
5254
#endif

Spore ModAPI/SourceCode/Simulator/SolarSystem.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1919
****************************************************************************/
2020
#include <Spore\Simulator\cHitSphere.h>
21+
#include <Spore\Simulator\cStarRecord.h>
22+
#include <Spore\Simulator\cSolarSystem.h>
2123

2224
namespace Simulator
2325
{
@@ -26,5 +28,14 @@ namespace Simulator
2628
SetPosition(origin);
2729
mRadius = radius;
2830
}
31+
32+
auto_METHOD_VOID(cSolarSystem, Load, Args(cStar* pStar), Args(pStar));
33+
auto_METHOD_VOID(cSolarSystem, GenerateGraphics, Args(bool create), Args(create));
34+
auto_METHOD_VOID(cSolarSystem, GenerateCelestialBodiesEffects,
35+
Args(bool create, float scale), Args(create, scale));
36+
37+
auto_STATIC_METHOD_VOID(cSolarSystem, CreateStarEffect,
38+
Args(IEffectPtr& dst, Swarm::IEffectWorld* pEffectWorld, StarType starType),
39+
Args(dst, pEffectWorld, starType));
2940
}
3041
#endif

Spore ModAPI/Spore ModAPI.vcxproj

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@
309309
<ClInclude Include="Spore\App\cLocaleManager.h" />
310310
<ClInclude Include="Spore\App\cStringDetokenizer.h" />
311311
<ClInclude Include="Spore\App\FileDrop.h" />
312+
<ClInclude Include="Spore\App\GameSpace.h" />
312313
<ClInclude Include="Spore\App\ITokenTranslator.h" />
313314
<ClInclude Include="Spore\App\Thumbnail_cImportExport.h" />
314315
<ClInclude Include="Spore\BasicIncludes.h" />
@@ -348,12 +349,14 @@
348349
<ClInclude Include="Spore\Pollinator\cAssetMetadata.h" />
349350
<ClInclude Include="Spore\Simulator\cAnimalCargoInfo.h" />
350351
<ClInclude Include="Spore\Simulator\cBuildingEntertainment.h" />
351-
<ClInclude Include="Spore\Simulator\cBuildingHall.h" />
352+
<ClInclude Include="Spore\Simulator\cBuildingCityHall.h" />
352353
<ClInclude Include="Spore\Simulator\cBuildingHouse.h" />
353354
<ClInclude Include="Spore\Simulator\cBuildingIndustry.h" />
355+
<ClInclude Include="Spore\Simulator\cCombatSimulator.h" />
354356
<ClInclude Include="Spore\Simulator\cCommodityNode.h" />
355357
<ClInclude Include="Spore\Simulator\cCreatureCitizen.h" />
356358
<ClInclude Include="Spore\Simulator\cEgg.h" />
359+
<ClInclude Include="Spore\Simulator\cEllipticalOrbit.h" />
357360
<ClInclude Include="Spore\Simulator\cGamePlant.h" />
358361
<ClInclude Include="Spore\Simulator\cGameplayMarker.h" />
359362
<ClInclude Include="Spore\Simulator\cHerd.h" />
@@ -363,7 +366,9 @@
363366
<ClInclude Include="Spore\Simulator\cNest.h" />
364367
<ClInclude Include="Spore\Simulator\cObjectInstanceInventoryItem.h" />
365368
<ClInclude Include="Spore\Simulator\cPlantCargoInfo.h" />
369+
<ClInclude Include="Spore\Simulator\cResourceProjectile.h" />
366370
<ClInclude Include="Spore\Simulator\cSimPlanetHighLOD.h" />
371+
<ClInclude Include="Spore\Simulator\cSolarHitSphere.h" />
367372
<ClInclude Include="Spore\Simulator\cTimeOfDay.h" />
368373
<ClInclude Include="Spore\Simulator\cTotemPole.h" />
369374
<ClInclude Include="Spore\Simulator\cTribe.h" />
@@ -375,6 +380,8 @@
375380
<ClInclude Include="Spore\Simulator\ICityMusic.h" />
376381
<ClInclude Include="Spore\Simulator\cBadgeManager.h" />
377382
<ClInclude Include="Spore\Simulator\cMissionManager.h" />
383+
<ClInclude Include="Spore\Simulator\IProjectile.h" />
384+
<ClInclude Include="Spore\Simulator\SimulatorEnums.h" />
378385
<ClInclude Include="Spore\Simulator\SubSystem\AnimalSpeciesManager.h" />
379386
<ClInclude Include="Spore\Simulator\SubSystem\PlantSpeciesManager.h" />
380387
<ClInclude Include="Spore\Sporepedia\AssetViewManager.h" />
@@ -545,7 +552,6 @@
545552
<ClInclude Include="Spore\Simulator\cStar.h" />
546553
<ClInclude Include="Spore\Simulator\cStarRecord.h" />
547554
<ClInclude Include="Spore\Simulator\cVisiblePlanet.h" />
548-
<ClInclude Include="Spore\Simulator\GameNounIDs.h" />
549555
<ClInclude Include="Spore\Simulator\GoalCard.h" />
550556
<ClInclude Include="Spore\Simulator\cCombatant.h" />
551557
<ClInclude Include="Spore\Simulator\cGonzagoTimer.h" />
@@ -903,6 +909,7 @@
903909
<ClCompile Include="SourceCode\Simulator\SimulatorSpaceGame.cpp" />
904910
<ClCompile Include="SourceCode\Simulator\SimulatorSystem.cpp" />
905911
<ClCompile Include="SourceCode\Simulator\cStarRecord.cpp" />
912+
<ClCompile Include="SourceCode\Simulator\SolarSystem.cpp" />
906913
<ClCompile Include="SourceCode\Simulator\SpaceInventory.cpp" />
907914
<ClCompile Include="SourceCode\Simulator\SpacePlayerData.cpp" />
908915
<ClCompile Include="SourceCode\Simulator\StarManager.cpp" />

Spore ModAPI/Spore ModAPI.vcxproj.filters

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -972,9 +972,6 @@
972972
<ClInclude Include="Spore\Simulator\cGameData.h">
973973
<Filter>Header Files</Filter>
974974
</ClInclude>
975-
<ClInclude Include="Spore\Simulator\GameNounIDs.h">
976-
<Filter>Header Files</Filter>
977-
</ClInclude>
978975
<ClInclude Include="Spore\GameCiv\GameCiv.h">
979976
<Filter>Header Files</Filter>
980977
</ClInclude>
@@ -1806,7 +1803,7 @@
18061803
<ClInclude Include="Spore\Simulator\cEgg.h">
18071804
<Filter>Header Files</Filter>
18081805
</ClInclude>
1809-
<ClInclude Include="Spore\Simulator\cBuildingHall.h">
1806+
<ClInclude Include="Spore\Simulator\cBuildingCityHall.h">
18101807
<Filter>Header Files</Filter>
18111808
</ClInclude>
18121809
<ClInclude Include="Spore\Simulator\cBuildingIndustry.h">
@@ -1827,6 +1824,27 @@
18271824
<ClInclude Include="Spore\Simulator\cInterCityRoad.h">
18281825
<Filter>Header Files</Filter>
18291826
</ClInclude>
1827+
<ClInclude Include="Spore\Simulator\cResourceProjectile.h">
1828+
<Filter>Header Files</Filter>
1829+
</ClInclude>
1830+
<ClInclude Include="Spore\Simulator\IProjectile.h">
1831+
<Filter>Header Files</Filter>
1832+
</ClInclude>
1833+
<ClInclude Include="Spore\Simulator\cCombatSimulator.h">
1834+
<Filter>Header Files</Filter>
1835+
</ClInclude>
1836+
<ClInclude Include="Spore\App\GameSpace.h">
1837+
<Filter>Header Files</Filter>
1838+
</ClInclude>
1839+
<ClInclude Include="Spore\Simulator\cEllipticalOrbit.h">
1840+
<Filter>Header Files</Filter>
1841+
</ClInclude>
1842+
<ClInclude Include="Spore\Simulator\cSolarHitSphere.h">
1843+
<Filter>Header Files</Filter>
1844+
</ClInclude>
1845+
<ClInclude Include="Spore\Simulator\SimulatorEnums.h">
1846+
<Filter>Header Files</Filter>
1847+
</ClInclude>
18301848
</ItemGroup>
18311849
<ItemGroup>
18321850
<ClCompile Include="SourceCode\Allocator.cpp">
@@ -2291,6 +2309,9 @@
22912309
<ClCompile Include="SourceCode\Simulator\cTribe.cpp">
22922310
<Filter>Source Files</Filter>
22932311
</ClCompile>
2312+
<ClCompile Include="SourceCode\Simulator\SolarSystem.cpp">
2313+
<Filter>Source Files</Filter>
2314+
</ClCompile>
22942315
</ItemGroup>
22952316
<ItemGroup>
22962317
<Natvis Include="EASTL.natvis" />

Spore ModAPI/Spore/App/GameSpace.h

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#pragma once
2+
3+
#include <Spore\App\IMessageListener.h>
4+
#include <Spore\App\IGameMode.h>
5+
#include <Spore\Input.h>
6+
#include <Spore\Clock.h>
7+
#include <Spore\Simulator\SubSystem\cStrategy.h>
8+
#include <Spore\Simulator\cSimulatorSpaceGame.h>
9+
10+
namespace App
11+
{
12+
class GameSpace
13+
/* 00h */ : public App::IGameMode
14+
/* 04h */ , public App::IMessageListener
15+
/* 08h */ , public Simulator::cStrategy
16+
{
17+
public:
18+
/* 24h */ bool field_24;
19+
/* 25h */ char _padding_25[0x68 - 0x25];
20+
/* 68h */ vector<int> field_68;
21+
/* 7Ch */ int field_7C;
22+
/* 80h */ int field_80;
23+
/* 84h */ int field_84;
24+
/* 88h */ bool field_88;
25+
/* 8Ch */ int field_8C;
26+
/* 90h */ int field_90;
27+
/* 94h */ int field_94;
28+
/* 98h */ int field_98;
29+
/* 9Ch */ int field_9C;
30+
/* A0h */ int field_A0;
31+
/* A8h */ Simulator::cGonzagoTimer mSpaceGameTime;
32+
/* C8h */ GameInput mInput;
33+
/* 110h */ Clock field_110;
34+
/* 128h */ int field_128; // not initialized
35+
/* 12Ch */ int field_12C; // not initialized
36+
/* 130h */ bool field_130; // not initialized
37+
/* 131h */ bool field_131;
38+
/* 134h */ int field_134;
39+
/* 138h */ int field_138; // not initialized
40+
/* 13Ch */ int field_13C; // not initialized
41+
/* 140h */ int field_140;
42+
/* 144h */ vector<int> field_144;
43+
/* 158h */ bool field_158;
44+
/* 15Ch */ cSimulatorSpaceGamePtr mpSimulator;
45+
/* 160h */ int field_160;
46+
/* 164h */ int field_164;
47+
/* 168h */ bool field_168; // not initialized
48+
/* 169h */ bool field_169;
49+
/* 16Ah */ bool field_16A; // true
50+
/* 16Ch */ int field_16C;
51+
/* 170h */ list<int> field_170;
52+
/* 17Ch */ list<int> field_17C;
53+
/* 188h */ ObjectPtr mEmpireGrowthSim;
54+
/* 18Ch */ bool field_18C;
55+
/* 18Dh */ bool field_18D;
56+
/* 18Eh */ bool field_18E;
57+
/* 18Fh */ bool field_18F;
58+
/* 190h */ bool field_190;
59+
/* 191h */ bool field_191;
60+
/* 192h */ bool field_192;
61+
/* 194h */ int field_194;
62+
};
63+
ASSERT_SIZE(GameSpace, 0x198);
64+
}

Spore ModAPI/Spore/Simulator.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
#include <Spore\Simulator\cGameData.h>
3838
#include <Spore\Simulator\cGonzagoSimulator.h>
39-
#include <Spore\Simulator\GameNounIDs.h>
39+
#include <Spore\Simulator\SimulatorEnums.h>
4040
#include <Spore\Simulator\cSpatialObject.h>
4141
#include <Spore\Simulator\cCombatant.h>
4242
#include <Spore\Simulator\cCity.h>
@@ -55,7 +55,13 @@
5555
#include <Spore\Simulator\cBuildingIndustry.h>
5656
#include <Spore\Simulator\cBuildingHouse.h>
5757
#include <Spore\Simulator\cBuildingEntertainment.h>
58-
#include <Spore\Simulator\cBuildingHall.h>
58+
#include <Spore\Simulator\cBuildingCityHall.h>
59+
#include <Spore\Simulator\cStar.h>
60+
#include <Spore\Simulator\cPlanet.h>
61+
#include <Spore\Simulator\cStarRecord.h>
62+
#include <Spore\Simulator\cPlanetRecord.h>
63+
#include <Spore\Simulator\cCelestialBody.h>
64+
#include <Spore\Simulator\cSolarSystem.h>
5965

6066
#include <Spore\Simulator\SimulatorMessages.h>
6167

0 commit comments

Comments
 (0)