Fable: The Lost Chapters Mod Scene
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Fable TLC » Discussion » Graphics Editing » Effects Discussion
Effects Discussion [message #60542] Wed, 01 December 2010 06:19 Go to previous message
Keshire is currently offline  Keshire
Messages: 1266
Registered: July 2005

Administrator
Tearing myself away from minecraft for a few minutes....

04[05:13] <JohnDoe> Hey Kesh, at your convenience I'd love to see what you've got labeled with those effect structs.


I cleaned up the spec you gave me a bit for ease of reading.


I noticed that the unknowns that range from 0-1000 are percentages. value/10. So 1000 = 100%

The ones I messed with caused the sprite to blur, movexyz, and rotate. Just not sure which ones are which since I didn't have time to single them out.

typedef struct CPSCRenderSprite 
{

	zstring		CPSCRenderSprite;
	dword		SectionCRC; 

ubyte Boolean15;

	dword		SpriteName;
	dword		TrailName;

	ubyte		StartColourBGRA[4];
	ubyte		MidColourBGRA[4];
	ubyte		EndColourBGRA[4];

	dword		SpriteType;

//These dwords are percentages for sprite effects. 0-1000
dword Unknown5;
dword Unknown6;
dword Unknown7;
dword Unknown8;
dword Unknown9;
dword Unknown10;
dword Unknown11;
dword Unknown12;
dword Unknown13;
dword Unknown14;
dword Unknown15;
dword Unknown16;

//Sounds??
dword Unknown17;
dword Unknown18;
dword Unknown19;
dword Unknown20;
dword Unknown21;
dword Unknown22;

ubyte Boolean;
ubyte Boolean;
ubyte Boolean;
ubyte Boolean;
ubyte Boolean;
ubyte Boolean;
ubyte Boolean;


	ubyte		SectionTerminator1;

}CPSCRenderSprite;

struct CPSCSpline 
{
	zstring		CPSCSpline;
	dword		CRC2;

ubyte Boolean23;
ubyte Boolean24;
ubyte Boolean25;
float Unknown23;

	dword		SplineUserPointsArraySize;
	float		SplineUserPointsArray[SplineUserPointsArraySize*3];

ubyte Boolean26;

	ubyte		UseSplinePoints; //Not sure

ubyte Boolean28;

	dword		SplineConnectedEndPoints;
	dword 		CRC[SplineConnectedEndPoints];

	ubyte		SectionTerminator2;

}CPSCSpline;

struct CPSCEmitterGeneric 
{
	zstring		CPSCEmitterGeneric;
	dword		CRC;
ubyte Boolean29;
	dword		CRC; //Emitter Type
dword Unknown25;
dword Unknown26;
dword Unknown27;
dword Unknown28;
ubyte Boolean30;
ubyte Boolean31;
ubyte Boolean32;
ubyte Boolean33;
ubyte Boolean34;
ubyte Boolean35;
ubyte Boolean36;
ubyte Boolean37;
ubyte Boolean38;
ubyte Boolean39;
dword Unknown29;
dword Unknown30;
dword Unknown31;
dword Unknown32;
dword Unknown33;
dword Unknown34;
ubyte Boolean40;
ubyte Boolean41;
dword Unknown35;
dword Unknown36;
dword Unknown37;
ubyte Boolean42;
dword Unknown38;
dword Unknown39;
dword Unknown40;
dword Unknown41;
dword Unknown42;
dword Unknown43;
ubyte Boolean43;

	switch(Boolean43)
	{
		case 1:
			float		Unknown44;
			dword		UnknownCount2;
			dword		Unknown45[UnknownCount2*3];
					break;
		default:
					break;
	};

ubyte		SectionTerminator3;
}CPSCEmitterGeneric;

struct CPSCUpdateNormal 
{
zstring CPSCUpdateNormal;
dword CRC4;
ubyte Boolean44;
dword Unknown46;
dword Unknown47;
ubyte Boolean45;
ubyte Boolean46;
ubyte Boolean47;
ubyte Boolean48;
ubyte Boolean49;
ubyte Boolean50;
ubyte Boolean51;
ubyte Boolean52;
ubyte Boolean53;
ubyte Boolean54;
ubyte Boolean55;
ubyte Boolean56;
ubyte Boolean57;
ubyte Boolean58;
ubyte Boolean59;
ubyte Boolean60;
ubyte Boolean61;
ubyte Boolean62;
ubyte Boolean63;
float Unknown48;
float Unknown49;
float Unknown50;
float Unknown51;
float Unknown52;
float Unknown53;
float Unknown54;
float Unknown55;
float Unknown56;
float Unknown57;
float Unknown58;
float Unknown59;
float Unknown60;
float Unknown61;
float Unknown62;
float Unknown63;
float Unknown64;
float Unknown65;
float Unknown66;
float Unknown67;
float Unknown68;
float Unknown69;
float Unknown70;
float Unknown71;
float Unknown72;
float Unknown73;
float Unknown74;
float Unknown75;
float Unknown76;
float Unknown77;
float Unknown78;
float Unknown79;
ubyte SectionTerminator4;
ubyte EffectsTerminator;
}CPSCUpdateNormal;


//32bit switch is BROKEN!!
typedef struct Section
{
	//zstring		SectionName;
	dword		SectionCRC; 

	switch	(SectionCRC)
	{
		case 2362561053:
					CPSCRenderSprite	CPSC;
								break;

		default:
								break;
	};


}Section;



struct header 
{
	dword		Unknown1;
	zstring		EffectName;
	ubyte		Booleans[7];
	float		Floats[3];

	dword		Unknown2;
	dword		Unknown3;
	dword		Unknown4;

	ubyte		Booleans[5];


	dword		effectcount;
}header;

struct effect 
{
	zstring		EffectName;

	ubyte		Booleans[2];

	float		ScaleXYZ[3];

	dword		SectionCount;
}effect;



Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.

[Updated on: Wed, 01 December 2010 06:22]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Help testing a mesh
Next Topic: Changing where the snow falls.
Goto Forum:
  


Current Time: Thu May 09 13:22:52 PDT 2024

Total time taken to generate the page: 0.01990 seconds