A C++ library that allows you to create advanced mods for Spore (user interface, shaders,...)
Bot releases are hidden (Show)
Published by emd4600 about 1 year ago
Some changes by @Tenderi4 :
ImportPNG()
to Thumbnail_cImportExport
cScenarioPlayMode
Published by emd4600 over 1 year ago
NPCTickAI()
and AvatarTickAI()
to cCreatureAnimal
.CreaturePersonality
for cHerd
Published by emd4600 over 1 year ago
cEditorSkin::HasFinishedPainting()
to IsPainting()
.ColorSwatchUI::Hide()
cCameraDescription
, cDistributeDescription
, cCameraEffect
, cDistributeEffect
, ICameraManager
to Swarm
.cScenarioPlayMode
Published by emd4600 over 1 year ago
Added ConfigManager
, App::GetPreferences()
, Resource::SaveNamedResource()
Published by emd4600 over 1 year ago
Added support for App::cArithmeticaResource
(the representation of .arth
files)
Published by emd4600 over 1 year ago
Pollinator::cAchievementsManager
Simulator::cSimulatorUniverse
Published by emd4600 over 1 year ago
cSporeApp
, cAppSystem
, Canvas
, CommandLine
to App
.Resource::Paths::CreateSaveAreaDirectoryDatabase()
Published by emd4600 over 1 year ago
PlayAnimation()
and GetModelKeyForCellResource()
to Simulator::Cell
CellAnimations
cCellObjectData
cCellUI::ShowHealthRollover()
Published by emd4600 over 1 year ago
GetDamageAmount()
, FindCellsInRadius()
to Simulator::Cell
.InstanceEffectOnCell()
, GetVisibleBackgroundBBox()
, GetFrustumCull()
to cCellGFX
.cCellQueryLinkedPool
.cCellGame
and into Simulator::Cell
.You can check the updated cell documentation with some code examples at https://emd4600.github.io/Spore-ModAPI/namespace_simulator_1_1_cell.html
Published by emd4600 over 1 year ago
App::cMouseCamera
, which represents most cameras in the game.cObjectPool
to return the specific type directlySimulator::Cell::cCellObjectData
Graphics::cFrustumCull
Resource::Paths::CreateTempFile()
Editors::EditorPlayMode
addressesPublished by emd4600 over 1 year ago
Improved support for the Editor play mode.
Published by emd4600 over 1 year ago
Simulator::cCreatureDisplayStrategy
.Published by emd4600 over 1 year ago
Added classes Simulator::cCreatureGameData
and App::cCreatureModeStrategy
.
Published by emd4600 over 1 year ago
rasterDelta
and GetShaderData()
to Graphics::ActiveState
PaletteCategoryUI::GetSelectedRigblockPaint()
Published by emd4600 almost 2 years ago
JumpToAct()
and Initialize()
to cScenarioPlayMode
(@Tenderi4)CommonIDs.h
(@0KepOnline)Published by emd4600 almost 2 years ago
Skinner
namespace.Editors::cEditorAnimEvent
, which allows you to make the creature play certain animations while editing (the movements it does when putting a part, applying a paint, etc).Editors::cEditorAnimWorld
, related to creature animations in the editor.SetActiveMode()
, SetCreatureToNeutralPose()
, AddCreature()
, HandleMessage()
to the class Editors::cEditor
SetActiveCategory()
to Palettes::PaletteUI
Editors::cCreatureDataResource
Editors::CreatureWalkController
to Editors::EditorCreatureController
App::IMessageManager
, most importantly PostMSG()
to MessageSend()
(to avoid confusions with MessagePost()
!)Published by emd4600 almost 2 years ago
Bugfix to missing cResourceManager
addresses.
Published by emd4600 almost 2 years ago
Big changes to the Resources
namespace. This update introduces the concept of Database
, which is a generalization of a .package
file; this is because Spore actually supports two kinds of databases: packages (DatabasePackedFile
) and disk folders, which are now support in the class DatabaseDirectoryFiles
.
Additionally, some methods have been added to access existing databases: check the Resource::Paths namespace. For example:
// This returns EditorSaves.package
auto database = Resource::Paths::GetSaveArea(Resource::SaveAreaID::Creatures);
// This returns the path to the Spore folder in appdata
auto appdataPath = Resource::Paths::GetDirFromID(Resource::PathID::AppData);
Also refactored the ResourceManager
and PropManager
classes.
Published by emd4600 almost 2 years ago
Completed many graphics classes and renamed many of them, based on some information found in a SimCity executable. Completed:
IEffectsManager
IEffectsWorld
IVisualEffect
ISurface
IModelManager
IModelWorld
ILightingWorld
IShadowWorld
IRenderer
Renamed:
SwarmManager
-> EffectsManager
IEffect
-> IVisualEffect
IEffectWorld
-> IEffectsWorld
RenderManager
-> Renderer
IRenderable
-> ILayer
ModelAsset
-> cMWModelInternal
ModelMesh
-> cModelInstance
Published by emd4600 about 2 years ago
Terrain update! This update improves and adds many terrain classes like cTerrainSphere
, cTerrainSphereQuad
and cTerrainShaderMgr
, including some of their rendering methods, like cTerrainSphereQuad::RenderWater
. This update also completes the TextureManager
class and improves the RenderTargetManager
, allowing you to do more complex rendering.
And there's even more! To make modding the terrain easier, I've reconstructed some terrain rendering methods' source code: https://emd4600.github.io/Spore-ModAPI/_source_code-_terrain.html
For those interested in adding new star types, some star-related functions have also been reconstructed: https://emd4600.github.io/Spore-ModAPI/_source_code-_simulator.html
Added the following classes:
Terrain::cTerrainShaderMgr
Graphics::cBufferDraw
, a convenience class that can be used to draw rectangles (for example, to draw textures)Graphics::RenderStatistics
Graphics::cImageDataRaw
Improved the following classes:
Terrain::cTerrainSphere
and Terrain::cTerrainSphereQuad
, both with many rendering functions that can be detoured.Simulator::cCelestialBody
can be instantiated nowGraphics::ITextureManager
, now it's completely finished!Graphics:I:RenderTargetManager
Terrain::cTerrainStateMgr::TerrainTextures
Added new functions:
Terrain
namespace, related with rendering.App::cViewer
: SetViewWindow()
, SetViewOffset()
, SetViewport()
, SetPerspectiveProjection()
, SetParallelProjection()
, Dispose()
Graphics::Texture
: IsLoaded()
, GetLoadedRaster()
Simulator::cBadgeManager
: AddToBadgeProgress()
Simulator::cPlanetRecord
: GetPerihelion()
Simulator::cSolarSystem
: LoadBinaryStar()
, LoadAsteroids()
Simulator::cStar
: GetStarType()
, IsBinaryStar()
, IsStarOrBinaryStar()
, GetName()
Math
: IntRectangle