Talk:SNP (File Format)

stEmitter holds the actual data from an .snp file, it seems. then, stEmitterPtcl is a child class of that? It has a stEmitter at the beginning of its structure, basically. stEmitterParamLineIP has the actual functions that use the .snp files. Each specific effect is a class (eg, sfEfctWeed), and their constructor will add functions from the stEmitterParamLineIP. Their field at 0x8 seems to be a stEmitterParamLineIP. this class useful documentation as function names, but it only reads some select fields.

stParticleMgr::init reads more fields - ctx past 80234838 is a pointer to the .snp file. stEmitterPtclMgr is also useful. 0xb6 read at 8023c4ec, 80235b50, 80231694, 80235e90. Appears to be done kind of bitfields, with useful values associated with 0x0400, 0x2000, and 0x0200 seemingly enabling stuff. 0xb8 read at 80234838 (debug ntsc-u). some kind of cKindTevMode enum. "valid" values are ints [0-5] 0xb9 read at 80234848. ints [0-2] do stuff, 3+ is the generic case. 0 stores (4,5); 1 stores (4,1); 2 stores (2,0); default stores nothing 0xbb read at 802348b0. A check is done to see if it is less than 3. if it is greater than 3, it gets stored as 0

-tarsa129