This shows you the differences between two versions of the page.
file_formats:effect [2006/12/07 03:05] |
file_formats:effect [2006/12/07 03:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Very rough notes on the effect format. | ||
+ | <code> | ||
+ | struct CPSCRenderMesh | ||
+ | { | ||
+ | char cpcsrendermesh[15]; | ||
+ | dword StringChecksum_MeshRenderer; | ||
+ | byte unk2; | ||
+ | dword meshID; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk1; | ||
+ | dword unk1; | ||
+ | byte bools[5]; | ||
+ | byte terminator; | ||
+ | }; | ||
+ | |||
+ | |||
+ | struct CPSCRendeSprite | ||
+ | { | ||
+ | char CPSCRenderSprite[17]; | ||
+ | dword CRC; //Sprite Renderer | ||
+ | byte Boolean; | ||
+ | dword TextureID; | ||
+ | dword TrailID; | ||
+ | dword Unknown; //Radius/Scale?? | ||
+ | dword Unknown; //Radius/Scale?? | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; //StartRenderSize Y? | ||
+ | dword unk1; //StartRenderSize Z? | ||
+ | dword unk1; //EndRenderSize Y? | ||
+ | dword unk1; //EndRenderSize Z? | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | byte bools[7]; | ||
+ | byte terminator; | ||
+ | }; | ||
+ | |||
+ | |||
+ | struct CPSCSingleSprite | ||
+ | { | ||
+ | char CPSCSingleSprite[17]; | ||
+ | dword CRC; //Single Sprite | ||
+ | byte Boolean; | ||
+ | dword TextureID; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | float unk1; | ||
+ | float unk1; | ||
+ | float unk1; | ||
+ | float unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | float unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | byte bools[10]; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk1; | ||
+ | byte terminator; | ||
+ | }; | ||
+ | |||
+ | |||
+ | struct CPSCUpdateNormal | ||
+ | { | ||
+ | char CPSCUpdateNormal[17]; | ||
+ | dword CRC; //"Generic Particle System" String | ||
+ | byte Boolean; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk1; | ||
+ | dword unk1; | ||
+ | byte unk1; | ||
+ | dword unk1; | ||
+ | float floats[32]; | ||
+ | byte terminator; | ||
+ | }; | ||
+ | |||
+ | struct OrbitDimension | ||
+ | { | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | float Radius; // ?? | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | float float1; // doesnt do shit? always 5? | ||
+ | float RadiusAgain; // ?? always 1? | ||
+ | float float3; // always 0 ? | ||
+ | float AngularVelocity; // value*Pi rps | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | }OrbitDimension; | ||
+ | |||
+ | struct CPSCOrbit | ||
+ | { | ||
+ | char CPSCOrbit[10]; | ||
+ | dword CRC; //"Orbit" String | ||
+ | byte Boolean; | ||
+ | dword CRC; //"System Offset" String | ||
+ | OrbitDimension XOrbit; // North/South | ||
+ | OrbitDimension YOrbit; // up/down | ||
+ | OrbitDimension ZOrbit; | ||
+ | byte Terminator; | ||
+ | }; | ||
+ | |||
+ | struct CPSCEmitterGeneric | ||
+ | { | ||
+ | char CPSCEmitterGeneric[19]; | ||
+ | dword CRC; //"Generic Emitter" String | ||
+ | byte Boolean; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | byte bools[10]; //?? | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | word unk3; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | byte unk2; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | dword unk1; | ||
+ | byte unk2; | ||
+ | byte terminator; | ||
+ | }; | ||
+ | |||
+ | struct CPSCAttractor | ||
+ | { | ||
+ | char CPSCAttractor[14]; | ||
+ | dword CRC; //"Attractor" String | ||
+ | byte Boolean; | ||
+ | word Unknown; | ||
+ | dword Unknown; | ||
+ | dword Unknown; //Maybe Float?? | ||
+ | float Floats[3]; | ||
+ | dword FloatArray; //3 floats per | ||
+ | float Floats[FloatArray*3]; | ||
+ | byte Terminator | ||
+ | }; | ||
+ | |||
+ | struct CPSCSpline | ||
+ | { | ||
+ | char CPSCSpline[11]; | ||
+ | dword CRC; //"Spline" String | ||
+ | byte Boolean; | ||
+ | word Unknown; | ||
+ | float Unknown; | ||
+ | dword FloatArray; //3 floats per | ||
+ | float Floats[FloatArray*3]; | ||
+ | word Unknown; | ||
+ | byte Terminator; | ||
+ | }; | ||
+ | |||
+ | struct CPSCLight | ||
+ | { | ||
+ | char CPSCLight[10]; | ||
+ | dword CRC; //"Light" String | ||
+ | byte Boolean; | ||
+ | dword CRC; //"System Offset" String | ||
+ | float Floats[6]; | ||
+ | dword Unknown[5]; | ||
+ | word Unknown; | ||
+ | byte Unknown[3]; | ||
+ | word Unknown; | ||
+ | dword Unknown[4]; | ||
+ | byte Terminator; | ||
+ | }; | ||
+ | |||
+ | struct CPSCDecalRenderer | ||
+ | { | ||
+ | char CPSCDecalRenderer[18]; | ||
+ | dword CRC; //"Decal Renderer" String | ||
+ | byte Boolean; | ||
+ | float Unknown; | ||
+ | dword TextureID; | ||
+ | dword Unknown[13]; | ||
+ | byte Unknown; | ||
+ | word Unknown; | ||
+ | byte Unknown; | ||
+ | word Unknown; | ||
+ | dword Unknown[3]; | ||
+ | byte Unknown; | ||
+ | dword Unknown; | ||
+ | byte Unknown[4]; | ||
+ | float Unknown; | ||
+ | byte Unknown; | ||
+ | float Unknown; | ||
+ | byte Unknown; | ||
+ | float Unknown; | ||
+ | byte Unknown; | ||
+ | float Unknown; | ||
+ | dword Unknown; | ||
+ | byte Terminator; | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | Misc CRC strings pulled from the main executable: | ||
+ | |||
+ | CPSCRenderSprite? | ||
+ | <code> | ||
+ | TrailWidth <--- seems odd in IDA / used? | ||
+ | FlickerBias | ||
+ | FlickerSpeed | ||
+ | EndRenderSize | ||
+ | StartRenderSize | ||
+ | AnimationTimeSecs | ||
+ | SizeFadeMinimum | ||
+ | AlphaFadeMinimum | ||
+ | TrailLengthInteger | ||
+ | FlickerMinSizeInteger | ||
+ | FlickerMinAlphaInteger | ||
+ | FlickerEnable | ||
+ | SizeFadeEnable | ||
+ | AlphaFadeEnable | ||
+ | FadeOutBeginInteger | ||
+ | FadeInEndInteger | ||
+ | NoCrossedSprites | ||
+ | TrailBlendOp | ||
+ | TrailBlendMode | ||
+ | BlendOp | ||
+ | BlendMode | ||
+ | EndColour | ||
+ | MidColour | ||
+ | StartColour | ||
+ | UseEndColour | ||
+ | UseMidColour | ||
+ | UseStartColour | ||
+ | ForceAnimationTime | ||
+ | SpriteAlignment | ||
+ | SelfIlluminating | ||
+ | RotateAroundCentre | ||
+ | CrossedSprites | ||
+ | FaceMe3D | ||
+ | FaceMe2D | ||
+ | SpriteFlags | ||
+ | TrailName | ||
+ | SpriteName | ||
+ | EEngineGraphic | ||
+ | </code> | ||
+ | |||
+ | CPSCRenderMesh? | ||
+ | <code> | ||
+ | EndRenderSizeZ | ||
+ | EndRenderSizeY | ||
+ | StartRenderSizeZ | ||
+ | StartRenderSizeY | ||
+ | TrailUseEndColour | ||
+ | TrailUseMidColour | ||
+ | TrailUseStartColour | ||
+ | CentredOnPos | ||
+ | UseRenderSizeParam | ||
+ | TrailEndColour | ||
+ | TrailMidColour | ||
+ | TrailStartColour | ||
+ | EndMeshAlpha | ||
+ | MidMeshAlpha | ||
+ | StartMeshAlpha | ||
+ | RenderSizeParam | ||
+ | BankIndexName | ||
+ | EMeshType2 | ||
+ | </code> | ||
+ | |||
+ | CPSCAttractor? | ||
+ | <code> | ||
+ | AttractorUserPointsArray | ||
+ | AttractorUserPointsArraySize | ||
+ | AttractorInfluenceFallOffType | ||
+ | AttractorInfluenceForce | ||
+ | AttractorInfluenceRadius | ||
+ | AttractorPositionParamName | ||
+ | AttractorPositionParam | ||
+ | AttractorUseParamPosition | ||
+ | AttractorEnabled | ||
+ | </code> | ||
+ | |||
+ | CPSCLight? | ||
+ | <code> | ||
+ | LightUserPointsArray | ||
+ | LightUserPointsArraySize | ||
+ | LightTimelineSecs | ||
+ | LightStartTime | ||
+ | LightUseTimelineSecs | ||
+ | LightEndColour | ||
+ | LightMidColour | ||
+ | LightStartColour | ||
+ | LightUseEndColour | ||
+ | LightUseMidColour | ||
+ | LightUseStartColour | ||
+ | LightColourFadeMinimum | ||
+ | LightColourFadeEnable | ||
+ | LightUseFadeColour | ||
+ | LightWorldRadiusFadeMinimum | ||
+ | LightWorldRadiusFadeEnable | ||
+ | LightFadeOutBeginInteger | ||
+ | LightFadeInEndInteger | ||
+ | LightAttenuationFactor | ||
+ | LightEndRenderWorldRadius | ||
+ | LightStartRenderWorldRadius | ||
+ | LightRespawnDelaySecs | ||
+ | LightRespawns | ||
+ | LightLifeSecs | ||
+ | LightUseLifeSecs | ||
+ | LightPositionParam | ||
+ | LightEnabled | ||
+ | </code> | ||
+ | |||
+ | CPSCSpline | ||
+ | <code> | ||
+ | SplinePosOffsetLimit | ||
+ | EmitterSplineTension | ||
+ | SplinePosOffsetSpeed | ||
+ | SplineTension | ||
+ | UseSplinePoints | ||
+ | EmitterSplineUserPointsArray | ||
+ | SplineUserPointsArray | ||
+ | SplinePosOffsetLimitsSize | ||
+ | ScaleSplineSpeed | ||
+ | EmitterSplineUserPointsArraySize | ||
+ | EmitterSplineUserPointsArraySize_BugFixed ?? | ||
+ | SplineConnectedEndPoints | ||
+ | MaintainSplineShape | ||
+ | SplinePosParamSize | ||
+ | SplineBounce | ||
+ | SplineAnimSpeed | ||
+ | SplineUserPointsArraySize | ||
+ | SplineUserPointsArraySize_BugFixed ?? | ||
+ | </code> |