Swarm namespace
Swarm is the effects system in Spore
This namespace contains all the necessary classes needed for working with the Swarm effect system. The main class is the Swarm::ISwarmManager, which is used to control everything related with the system. Swarm::IEffect classes are instances of the effects which can be sued to display and transform effects in the game.
Namespaces
- namespace Components
Classes
- class cCameraDescription
- class cCameraEffect
- class cComponentBase
- class cDescription
- class cDistributeDescription
- class cDistributeEffect
- struct cEffectInfo
- class cEffectMapBase
- class cEffectsManager
- class cEffectsWorld
- class cGlobalParams
- class CollectionResource
- A Resource object used to retrieve an effect collection (that is, an EffectDirectory, .effdir file).
- class cSkinpaintDistributeDescription
- class cSkinpaintDistributeEffect
- class cSkinpaintParticleDescription
- class cSkinpaintParticleEffect
- class cSkinpaintSettingsDescription
- class cSkinpaintSettingsEffect
- struct cSurfaceInfo
- struct cSurfaceRec
- class cTextureSlot
- class cVisualEffect
- struct cVisualEffectDescription
- class EffectDirectory
- An EffectDirectory is a file that contains one or multiple effect declarations.
- class ICameraManager
- class IComponent
- class IEffectDirectory
- class IEffectMap
- Effect maps are one of the way effects can react to environment information from the game.
- class IEffectsManager
- This class is the main manager of the Swarm effects system.
- class IEffectsWorld
- An effects world is a space in the game which contains effects.
- class IModelParticleStreamer
- class ISurface
- class ITextureParticleStreamer
- class IVisualEffect
- An instance of an effect in the game.
Enums
-
enum class DrawMode: uint8_
t { Decal = 0, DecalInvertDepth = 1, DecalIgnoreDepth = 2, DepthDecal = 3, DecalDepth = 3, Additive = 4, AdditiveInvertDepth = 5, AdditiveIgnoreDepth = 6, Modulate = 7, NormalMap = 8, DepthNormalMap = 9, NormalMapDepth = 9, AlphaTestDissolve = 0xA, User1 = 0xB, User2 = 0xC, User3 = 0xD, User4 = 0xE, None = 0xF } - enum AppFlags { kAppFlagDeepWater, kAppFlagShallowWater, kAppFlagLowerAtmosphere, kAppFlagUpperAtmosphere, kAppFlagEnglish, kAppFlagPlanetHasWater, kAppFlagCinematics, kAppFlagCellGameMode, kAppFlagCreatureGameMode, kAppFlagTribeGameMode, kAppFlagGGEMode, kAppFlagCivGameMode, kAppFlagSpaceGameMode, kAppFlagAtmoLow, kAppFlagAtmoMed, kAppFlagAtmoHigh, kAppFlagEditorMode, kAppFlagSpaceGameOutOfUFO, kAppFlagSpaceGameGalaxyMode, kAppFlagSpaceGameSolarMode, kAppFlagSpaceGamePlanetMode, kAppFlagIsNight, kAppFlagIsRaining, kAppFlagWeatherIce, kAppFlagWeatherCold, kAppFlagWeatherWarm, kAppFlagWeatherHot, kAppFlagWeatherLava }
- enum EffectTypes { kEffectTypeParticles = 0x01, kEffectTypeMetaParticles = 0x02, kEffectTypeDecal = 0x03, kEffectTypeSequence = 0x04, kEffectTypeSound = 0x05, kEffectTypeShake = 0x06, kEffectTypeCamera = 0x07, kEffectTypeModel = 0x08, kEffectTypeScreen = 0x09, kEffectTypeLight = 0x0A, kEffectTypeGame = 0x0B, kEffectTypeFastParticle = 0x0C, kEffectTypeDistribute = 0x0D, kEffectTypeRibbon = 0x0E, kEffectTypeBrush = 0x20, kEffectTypeTerrainScript = 0x21, kEffectTypeSkinpaintSettings = 0x22, kEffectTypeSkinpaintDistribute = 0x23, kEffectTypeGamemodel = 0x25, kEffectTypeSkinpaintParticle = 0x26, kEffectTypeSkinpaintFlood = 0x27, kEffectTypeVolume = 0x28, kEffectTypeSplitController = 0x29, kEffectTypeTerrainDistribute = 0x2A, kEffectTypeCloud = 0x2B, kEffectTypeGroundCover = 0x2C, kEffectTypeMixEvent = 0x2D, kEffectTypeText = 0x2F }
- enum class SwarmState { Active = 0, Paused = 1, Suspended = 2, Hidden = 3, Manual = 4, Shutdown = 5 }
- An enum to represent the current state of an effect world and the Swarm manager.
- enum IntParams { kParamModelOverride = 0, kParamTextureOverride = 1, kParamSelectFrame = 2, kParamSelectState = 3, kParamDistID = 4, kParamDistUpdate = 5, kParamIntUser1 = 6, kParamIntUser2 = 7, kParamIntUser3 = 8, kParamIntUser4 = 9 }
- enum FloatParams { kParamEmitStrength = 0, kParamParticleSizeScale = 1, kParamParticleLifeScale = 2, kParamEmitScale = 3, kParamTransparency = 4, kParamColor = 5, kParamColorList = 6, kParamTargetPoint = 7, kParamExplosionLocation = 8, kParamAttractorLocation = 9, kParamAttractorIntensity = 10, kParamViewRay = 11, kParamEmissionVolume = 12, kParamPath = 13, kParamShaderParams = 14, kParamVolume = 15, kParamHeightRange = 16, kParamSubdivWindow = 17, kParamMapForceScale = 18, kParamLodDistanceScale = 19, kParamDistributeSizeScale = 20, kParamFloatUser1 = 21, kParamFloatUser2 = 22, kParamFloatUser3 = 23, kParamFloatUser4 = 24 }
- enum ObjectParams { kParamNone = 0 }
Typedefs
- using VisualEffectCallback_t = void(*)(IVisualEffect*, void*)
Functions
- ASSERT_SIZE(cCameraEffect, 0x6C)
- ASSERT_SIZE(cDistributeEffect, 0x1B0)
- ASSERT_SIZE(cEffectsManager, 0x258)
- auto Addresses(cSwarmManager) -> namespace
- auto Addresses(cEffectsManager) -> namespace
- ASSERT_SIZE(cEffectsWorld, 0xA4)
- ASSERT_SIZE(cGlobalParams, 0x120)
- ASSERT_SIZE(CollectionResource, 0x18)
- ASSERT_SIZE(cCameraDescription, 0xB0)
- ASSERT_SIZE(cDistributeDescription, 0x180)
- ASSERT_SIZE(cTextureSlot, 0x20)
- ASSERT_SIZE(cSkinpaintDistributeDescription, 0x54)
- ASSERT_SIZE(cSkinpaintDistributeEffect, 0x30)
- ASSERT_SIZE(cSkinpaintParticleDescription, 0xB8)
- ASSERT_SIZE(cSkinpaintParticleEffect, 0x50)
- ASSERT_SIZE(cSkinpaintSettingsDescription, 0x70)
- ASSERT_SIZE(cSkinpaintSettingsEffect, 0x14)
- auto Addresses(cSkinpaintSettingsEffect) -> namespace
- ASSERT_SIZE(cVisualEffectDescription, 0x58)
- ASSERT_SIZE(cSurfaceInfo, 0x58)
- ASSERT_SIZE(cVisualEffect, 0x188)
- ASSERT_SIZE(EffectDirectory, 0x9C)
- ASSERT_SIZE(cComponentBase, 0xC)
- ASSERT_SIZE(cEffectMapBase, 0xC)
- auto Addresses(ISwarmManager) -> namespace
- auto Addresses(IEffectsManager) -> namespace
- ASSERT_SIZE(cEffectInfo, 0x24)
- ASSERT_SIZE(cSurfaceRec, 0x18)
Enum documentation
enum Swarm:: AppFlags
enum Swarm:: EffectTypes
enum class Swarm:: SwarmState
An enum to represent the current state of an effect world and the Swarm manager.
enum Swarm:: IntParams
Enumerators | |
---|---|
kParamModelOverride |
Set an override model. This requires two parameters: |
kParamTextureOverride |
Set an override texture. This requires two parameters: |
kParamSelectFrame |
Select the given particle texture frame. |
kParamSelectState |
Select the given effect state (Swarm:: |
kParamDistID |
Used in Distribute effects, expects a ResourceID*. |
kParamDistUpdate |
|
kParamIntUser1 |
|
kParamIntUser2 |
|
kParamIntUser3 |
|
kParamIntUser4 |
|
enum Swarm:: FloatParams
Enumerators | |
---|---|
kParamEmitStrength |
|
kParamParticleSizeScale |
|
kParamParticleLifeScale |
|
kParamEmitScale |
|
kParamTransparency |
|
kParamColor |
Expects a ColorRGB. |
kParamColorList |
Expects a list of ColorRGBs. |
kParamTargetPoint |
Expects a Vector3. |
kParamExplosionLocation |
Expects a Vector3. |
kParamAttractorLocation |
Expects a Vector3. |
kParamAttractorIntensity |
|
kParamViewRay |
Expects two Vector3s: position and direction. |
kParamEmissionVolume |
|
kParamPath |
Expects a list of Vector3s. |
kParamShaderParams |
|
kParamVolume |
Controls the volume of sound effects. |
kParamHeightRange |
Expects two floats. |
kParamSubdivWindow |
|
kParamMapForceScale |
|
kParamLodDistanceScale |
|
kParamDistributeSizeScale |
|
kParamFloatUser1 |
|
kParamFloatUser2 |
|
kParamFloatUser3 |
|
kParamFloatUser4 |
|
enum Swarm:: ObjectParams
Typedef documentation
typedef void(*Swarm:: VisualEffectCallback_t)(IVisualEffect*, void*)
Function documentation
Swarm:: ASSERT_SIZE(cCameraEffect,
0x6C)
Swarm:: ASSERT_SIZE(cDistributeEffect,
0x1B0)
Swarm:: ASSERT_SIZE(cEffectsManager,
0x258)
namespace Swarm:: Addresses(cSwarmManager)
namespace Swarm:: Addresses(cEffectsManager)
Swarm:: ASSERT_SIZE(cEffectsWorld,
0xA4)
Swarm:: ASSERT_SIZE(cGlobalParams,
0x120)
Swarm:: ASSERT_SIZE(CollectionResource,
0x18)
Swarm:: ASSERT_SIZE(cCameraDescription,
0xB0)
Swarm:: ASSERT_SIZE(cDistributeDescription,
0x180)
Swarm:: ASSERT_SIZE(cTextureSlot,
0x20)
Swarm:: ASSERT_SIZE(cSkinpaintParticleEffect,
0x50)
Swarm:: ASSERT_SIZE(cSkinpaintSettingsEffect,
0x14)
Swarm:: ASSERT_SIZE(cVisualEffectDescription,
0x58)
Swarm:: ASSERT_SIZE(cSurfaceInfo,
0x58)
Swarm:: ASSERT_SIZE(cVisualEffect,
0x188)
Swarm:: ASSERT_SIZE(EffectDirectory,
0x9C)
Swarm:: ASSERT_SIZE(cComponentBase,
0xC)
Swarm:: ASSERT_SIZE(cEffectMapBase,
0xC)
namespace Swarm:: Addresses(ISwarmManager)
namespace Swarm:: Addresses(IEffectsManager)
Swarm:: ASSERT_SIZE(cEffectInfo,
0x24)
Swarm:: ASSERT_SIZE(cSurfaceRec,
0x18)