EvilEngine/PIPT

The pipeline information table contains additional material information for level objects. The asset consists of an array of entries, each with rendering information for an entire MODL asset or a single mesh within it.

Format
The file starts with an int which defines the amount of entries, then each entry has the following layout, being 0x0C bytes long in BFBB and 0x10 in Movie:

Battle for Bikini Bottom The SpongeBob SquarePants Movie - Ratatouille Prototype

RwBlendFunction

 * 0 - N/A
 * 1 - Zero
 * 2 - One
 * 3 - Source Color
 * 4 - Inverse Source Color
 * 5 - Source Alpha
 * 6 - Inverse Source Alpha
 * 7 - Destination Alpha
 * 8 - Inverse Destination Alpha
 * 9 - Destination Color
 * 10 - Inverse Destination Color
 * 11 - Source Alpha Saturated

LayerType
00 - FIRST               Draw first 01 - PREPICKUP           Draw before pickups 02 - POSTPICKUP          Draw just after pickups 03 - PREOOB              Draw before the OOB object 04 - POSTOOB             Draw just after the OOB object 05 - PRECUTSCENE         Draw before cutscene objects 06 - POSTCUTSCENE        Draw just after cutscene objects 07 - PRENPC              Draw before NPC objects 08 - POSTNPC             Draw just after NPC objects 09 - PRESHADOW           Draw before shadows 10 - POSTSHADOW          Draw just after shadows 11 - PREFX               Draw before lightning, glares, etc. 12 - POSTFX               Draw after glares, etc. 13 - PREPARTICLES         Draw before particles 14 - POSTPARTICLES       Draw after particles 15 - PRENORMAL4          Draw before normal transparencies (4 stages) 16 - PRENORMAL3          Draw before normal transparencies (3 stages) 17 - PRENORMAL2          Draw before normal transparencies (2 stages) 18 - PRENORMAL           Draw before normal transparencies 19 - NORMAL              Draw in the normal position 20 - POSTNORMAL          Draw directly after transparencies 21 - POSTNORMAL2         Draw directly after transparencies (2 stages) 22 - POSTNORMAL3         Draw directly after transparencies (3 stages) 23 - POSTNORMAL4         Draw directly after transparencies (4 stages) 24 - PREPTANK            Draw before ptank effects 25 - POSTPTANK           Draw after ptank effects 26 - PREDECAL            Draw before decals 27 - POSTDECAL           Draw after decals 28 - PRELASTFX           Draw before lasers, etc. 29 - POSTLASTFX           Draw directly after lasers, etc. 30 - PRELAST              Draw before last 31 - LAST                Draw last

Movie Model Asset ID
One important detail in the PIPT asset in Movie Game is that, in some of the entries, the model Asset ID will be a hash of the model's name without the .dff extension at the end, being different from if it were hashed from the name with .dff. This can be noted in Industrial Park's PIPT editor in which some of the PIPT entries refer to the model's name without .dff at the end:



It's unknown why this was done this way and whether having the entry reference a hash with .dff at the end will work or not.