file_id.diz
::::::::
Demo/PLM-3D/BootScript.txt
::::::::
<MAIN> krunbootscript | 0 | 1 </MAIN>
<KSCRIPT>
<ID> krunbootscript </ID>
<PLAY> krunbootpart | 500 | 0 | 1 </PLAY>
</KSCRIPT>
<KRECT> krunred | 0 | 0.4 | 1 | 0.6 | | 0 | 0 | 1 | 1 | </KRECT>
<KRECT> krunblack | 0.01 | 0.41 | 0.99 | 0.59 | | 0.01 | 0.41 | .99 | 0.59 | </KRECT>
<KRECT> krunprogbar | 0.02 | 0.42 | 0.98 | 0.58 | | 0 | 0 | 1 | 1 | </KRECT>
<KIMG> krunimagelabel | krundata/loading.iff </KIMG>
<ktable> krunfrom0to100 | 0,0.02 | 500,0.98 </ktable>
<KPART>
<ID> krunbootpart </ID>
<Fx>
<Pa> SetPalette </Pa>
<Pa> krunimagelabel </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunred </Pa>
<Pa> CTE | 4 </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunblack </Pa>
<Pa> CTE | 0 </Pa>
</Fx>
<Fx>
<Pa> SetRect </Pa>
<Pa> krunprogbar </Pa>
<Pa> 2CTE | 0.02 | 0.42 </Pa>
<Pa> AFT | krunfrom0to100 | 0 | 0 </Pa>
<Pa> CTE | 0.58 </Pa>
<Pa> 4CTE | 0 | 0 | 1 | 1 </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunprogbar </Pa>
<Pa> CTE | 5 </Pa>
</Fx>
<Fx>
<Pa> Sprite </Pa>
<Pa> krunblack </Pa>
<Pa> krunimagelabel </Pa>
<Pa> 4CTE | 0 | 0 | 1 | 1 </Pa>
</Fx>
</KPART>::::::::
Demo/PLM-3D/krundata/s_boot1.txt
::::::::
<MAIN> krunbootscript | 0 | 1 </MAIN>
<KSCRIPT>
<ID> krunbootscript </ID>
<PLAY> krunbootpart | 500 | 0 | 1 </PLAY>
</KSCRIPT>
<KRECT> krunred | 0 | 0.4 | 1 | 0.6 | | 0 | 0 | 1 | 1 | </KRECT>
<KRECT> krunblack | 0.01 | 0.41 | 0.99 | 0.59 | | 0.01 | 0.41 | .99 | 0.59 | </KRECT>
<KRECT> krunprogbar | 0.02 | 0.42 | 0.98 | 0.58 | | 0 | 0 | 1 | 1 | </KRECT>
<KIMG> krunimagelabel | krundata/loading.iff </KIMG>
<ktable> krunfrom0to100 | 0,0.02 | 500,0.98 </ktable>
<KPART>
<ID> krunbootpart </ID>
<Fx>
<Pa> SetPalette </Pa>
<Pa> krunimagelabel </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunred </Pa>
<Pa> CTE | 4 </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunblack </Pa>
<Pa> CTE | 0 </Pa>
</Fx>
<Fx>
<Pa> SetRect </Pa>
<Pa> krunprogbar </Pa>
<Pa> 2CTE | 0.02 | 0.42 </Pa>
<Pa> AFT | krunfrom0to100 | 0 | 0 </Pa>
<Pa> CTE | 0.58 </Pa>
<Pa> 4CTE | 0 | 0 | 1 | 1 </Pa>
</Fx>
<Fx>
<Pa> FillRC </Pa>
<Pa> krunprogbar </Pa>
<Pa> CTE | 5 </Pa>
</Fx>
<Fx>
<Pa> Sprite </Pa>
<Pa> krunblack </Pa>
<Pa> krunimagelabel </Pa>
<Pa> 4CTE | 0 | 0 | 1 | 1 </Pa>
</Fx>
</KPART>::::::::
Demo/PLM-3D/Script.txt
::::::::
<MAIN> kscript_main | 0 | 1 </MAIN>
< INCLUDE> data/Splash/Splash.k </INCLUDE>
We include debug tools
< INCLUDE> data/debug/debug.k </INCLUDE>
<INCLUDE> red_dot.k </INCLUDE>
<INCLUDE> blue_dot.k </INCLUDE>
<KRECT> rect_foreground | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | 1 | </KRECT>
<KSCRIPT>
<ID> kscript_main </ID>
<PLAY> kpart_init | 100 | 0 | 1 </PLAY>
<PLAY> kpart_3DTest | 8300 | 0 | 1 </PLAY>
</KSCRIPT>
<KPART>
<ID> kpart_init </ID>
<FX>
<PA> SetPalette </PA>
<PA> image_3DTest_palette </PA>
</FX>
<FX>
<PA> FillRC </PA>
<PA> </PA>
<PA> CTE | 0 </PA>
</FX>
</KPART>
<KPART>
<ID> kpart_3DTest </ID>
We need colors in this part !
<KIMG> image_3DTest_palette | Palette3D.iff </KIMG>
As we will use transparency, we need a astonishing colortable, with 50% transparency, and fade to black
<KCOLORTABLE> ct_3DTest_0 | ColorTable3D.iff | 0 | 0 | 0 | 0 </KCOLORTABLE>
And, just for the sake of it, and to enflate the loading time... (Also, 1 is the only type that works)
<KCOLORTABLE> ct_3DTest_1 | ColorTable3D.iff | 1 | 255 | 255 | 255 </KCOLORTABLE>
We will use a basic color per eye, so let's start with left eye :
< T3DFLAT> t3df_left | 159 | ct_3DTest_1 </T3DFLAT>
< T3DFLAT> t3df_right | 223 | ct_3DTest_1 </T3DFLAT>
<KIMG> image_3DTest_lightmap_left | lightmapred64.iff </KIMG>
<KIMG> image_3DTest_lightmap_right | lightmapblue64.iff </KIMG>
<T3DFLATLIGHTMAP> t3df_left | image_3DTest_lightmap_left | ct_3DTest_1 </T3DFLATLIGHTMAP>
<T3DFLATLIGHTMAP> t3df_right | image_3DTest_lightmap_right | ct_3DTest_1 </T3DFLATLIGHTMAP>
This is a 3D part in 3D, we need one world per eye
<WORLD3D> world_3DTest_left </WORLD3D>
<WORLD3D> world_3DTest_right </WORLD3D>
And another world (he, see what I did here ?) for the
<WORLD3D> world_3DTest_invisible </WORLD3D>
We should have at least one camera for this scene !
<KCAM> kcam_3DTest | 0 | 0 | 0 | 0 | 0 | 0 | 1 </KCAM>
And we need one rectangle per eye !
<KRECT> rect_left | 0 | 0 | 1 | 1 | rect_foreground | -0.005 | -0.001 | 0.995 | 0.999 | </KRECT>
<KRECT> rect_right | 0 | 0 | 1 | 1 | rect_foreground | 0.005 | 0.001 | 1.005 | 1.001 | </KRECT>
<CUBE> cube_3Dtest0_left | world_3DTest_left |
0 | 0 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
| | | | | </CUBE>
<CUBE> cube_3Dtest0_right | world_3DTest_right |
0 | 0 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
| | | | | </CUBE>
Introducing Leonardo Di Caprio as Cude De Gauche !
<CUBE> cube_3Dtest_left | cube_3DTest0_left |
0 | 0 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
t3df_left | t3df_left | t3df_left | t3df_left | t3df_left | t3df_left </CUBE>
And Kate Blanchet as Cube De Droite
<CUBE> cube_3Dtest_right | cube_3DTest0_right |
0 | 0 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
t3df_right | t3df_right | t3df_right | t3df_right | t3df_right | t3df_right </CUBE>
<LWO3D> object_3DTest_left | cube_3DTest0_left | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAlllow.lwo | 1 | t3df_left </LWO3D>
<LWO3D> object_3DTest_right | cube_3DTest0_right | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAlllow.lwo | 1 | t3df_right </LWO3D>
<LWO3D> object_3DTest2_left | object_3DTest_left | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAll.lwo | 1 | t3df_left </LWO3D>
<LWO3D> object_3DTest2_right | object_3DTest_right | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAll.lwo | 1 | t3df_right </LWO3D>
<LWO3D> object_beveledLow | world_3DTest_invisible | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAllLow.lwo | 1 | t3df_left </LWO3D>
<LWO3D> object_beveledAll | world_3DTest_invisible | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | BeveledAll.lwo | 1 | t3df_left </LWO3D>
So, let's simulate gravity, he is my friend
<KTABLE> gravity_vert | 0,0 | 50,-4 | 100,-2.5 | 150,-4 | 200,-3 | 250,-4 </KTABLE>
<KTABLE> gravity_horz | 0,0 | 50,0.8 | 100,1.6 | 150,2.4 | 200,3.2 | 250,4 </KTABLE>
THE PART BEGINS !!
A little color please...
<FX>
<PA> SetPalette </PA>
<PA> image_3DTest_Palette </PA>
</FX>
We empty the whole screen...
<FX>
<PA> FillRC </PA>
<PA> rect_foreground </PA>
<PA> CTE | 0 </PA>
</FX>
We put something in the background ! How silly will that sound ?
<FX>
<PA> PlayScript </PA>
<PA> BackgroundTexturing </PA>
<PA> AFF | 0 | 1 </PA>
</FX>
We place the camera...
<FX>
<Pa> SetCamTarget </PA>
<PA> kcam_3DTest </PA>
<PA> 3CTE | 0 | 0 | 15 </Pa> Pos
< PA> 2CTE | 0 | 0 </Pa> Pos
< PA> AFF | 0 | 0.1 </PA> Pos
<PA> 3CTE | 0 | 0 | 0 </Pa> lookat
<PA> CTE | 1 </PA> 01 Flip
<PA> CTE | 1 </PA> FOV
</FX>
<FX>
<PA> InteractScript </PA>
<PA> Interactive </PA>
<PA> AFF | 0 | 1 </PA>
<PA> CTE | 0 </PA>
</FX>
We move the objects (Kate, please ondulate your body !)
<FX>
<PA> PlayPart </PA>
<PA> Set3DObjects_left </PA>
<PA> AFF | 0 | 1 </PA>
</FX>
<FX>
<PA> PlayPart </PA>
<PA> Set3DObjects_right </PA>
<PA> AFF | 0 | 1 </PA>
</FX>
We put some fancy texts, they are so fancy !
Pixels are 2/320 wide, and 2/240 tall, they're HEAVY !
<KIMG> title_left | credits_title_red_32x11.iff </KIMG>
<KIMG> title_right | credits_title_blue_32x11.iff </KIMG>
<KIMG> us_left | credits_us_red_20x41.iff </KIMG>
<KIMG> us_right | credits_us_blue_20x41.iff </KIMG>
<KIMG> them_left | credits_them_red_47x47.iff </KIMG>
<KIMG> them_right | credits_them_blue_47x47.iff </KIMG>
<KIMG> place_left | credits_place_red_56x5.iff </KIMG>
<KIMG> place_right | credits_place_blue_56x5.iff </KIMG>
<KIMG> star_left | belett_red.iff </KIMG>
<KIMG> star_right | belett_blue.iff </KIMG>
<IMGEMPTY> image_3DTest_star_left_inv | 256 | 256 | 0 </IMGEMPTY>
<IMGEMPTY> image_3DTest_star_right_inv | 256 | 256 | 0 </IMGEMPTY>
<AUXRECT> rect_3DTest_star_left_inv | image_3DTest_star_left_inv </AUXRECT>
<AUXRECT> rect_3DTest_star_right_inv | image_3DTest_star_right_inv </AUXRECT>
<IMGEMPTY> image_3DTest_star_left | 256 | 256 | 0 </IMGEMPTY>
<IMGEMPTY> image_3DTest_star_right | 256 | 256 | 0 </IMGEMPTY>
<AUXRECT> rect_3DTest_star_left | image_3DTest_star_left </AUXRECT>
<AUXRECT> rect_3DTest_star_right | image_3DTest_star_right </AUXRECT>
</KPART>
<KSCRIPT>
<ID> BackgroundTexturing </ID>
<PLAY> kpart_BT_Nothing | 500 | 0 | 1 </PLAY>
<PLAY> kpart_BT_Appearing | 12 | 0 | 4 </PLAY>
<PLAY> kpart_BT_Appearing | 25 | 50 | -2 </PLAY>
<PLAY> kpart_BT_Appearing | 50 | 0 | 1 </PLAY>
<PLAY> kpart_BT_Sin | 50 | 0 | 1 </PLAY>
<PLAY> kpart_BT_Scroll | 500 | 0 | 1 </PLAY>
<PLAY> kpart_BT_SinScroll | 500 | 0 | 1 </PLAY>
<PLAY> kpart_BT_Twirl | 500 | 0 | 1 </PLAY>
<PLAY> kpart_BT_SinScroll | 500 | 500 | 1 </PLAY>
<PLAY> kpart_BT_Twirl | 500 | 500 | 1 </PLAY>
<PLAY> kpart_BT_SinScroll_morph | 500 | 1500 | 1 </PLAY>
<PLAY> kpart_BT_Twirl_morph | 9000 | 1500 | 1 </PLAY>
<PLAY> kpart_BT_Appearing | 9999 | 500 | 0 </PLAY>
</KSCRIPT>
We are going to have some sort of background, for the characters to standout !
We will put a animated texture, but don't tell anyone, it's will be still in the beginning, then it will move ! How amazing !
<BMFONT> ai_3DTest_morphingtexture | ImageStyles64.iff | 256 | 256 | 12 | abcdefghijkl </BMFONT>
<KTEXT> txt_3DTest_morphing | bbbbbbbbbbcdefghijkllllllllll </KTEXT>
<KTEXT> txt_3DTest_not | b </KTEXT>
<IMGEMPTY> image_3DTest_morphingtexture | 256 | 256 | 0 </IMGEMPTY>
<AUXRECT> rect_3DTest_morphingtexture | image_3DTest_morphingtexture </AUXRECT>
<KRECT> rect_square | 0.125 | 0.05 | 0.875 | 0.95 | rect_foreground | 0.125 | 0 | 0.875 | 1 | </KRECT>
<KPART>
<ID> kpart_BT_Nothing </ID>
Well... nothing...
</KPART>
<KPART>
<ID> kpart_BT_Appearing </ID>
<FX>
<PA> SpriteLight </PA>
<PA> rect_square </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_not | 20000 | 0 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> AFCLIP | 0 | 0.02 | 0 | 49 </PA>
</FX>
</KPART>
<KPART>
<ID> kpart_BT_Sin </ID>
<FX>
<PA> SpriteLight </PA>
<PA> rect_square </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_not | 20000 | 0 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.4 | 117 | 0.3 </PA>
</FX>
</KPART>
<KPART>
<ID> kpart_BT_Scroll </ID>
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> CTE | 0 </PA>
</FX>
<FX>
<PA> SpriteLight </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_not | 20000 | 0 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.2 | 457 | 0.1 </PA>
</FX>
<FX>
<PA> Twirl </PA>
<PA> rect_square </PA>
<PA> image_3DTest_morphingtexture </PA>
<PA> AFCLIP | 0 | 0.001 | 1000 | 9999</PA>
<PA> AFF | 0 | 0.002 </PA>
<PA> 3CTE | 0 | 0 | 0 </PA> Rotation
<PA> 3CTE | 0 | 0 | 0 </PA> Zoom
<PA> CTE | 0 </PA> mapping type
</FX>
</KPART>
<KPART>
<ID> kpart_BT_SinScroll </ID>
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> CTE | 0 </PA>
</FX>
<FX>
<PA> SpriteLight </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_not | 20000 | 0 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.3 | 457 | 0.05 </PA>
</FX>
<FX>
<PA> Twirl </PA>
<PA> rect_square </PA>
<PA> image_3DTest_morphingtexture </PA>
<PA> COS | 0 | 0.3 | 0.3 </PA>
<PA> SIN | 0 | 0.1 | 0.4 </PA>
<PA> 3CTE | 0 | 0 | 0 </PA> Rotation
<PA> 3CTE | 0 | 0 | 0 </PA> Zoom
<PA> CTE | 0 </PA> mapping type
</FX>
</KPART>
<KPART>
<ID> kpart_BT_Twirl </ID>
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> CTE | 0 </PA>
</FX>
<FX>
<PA> SpriteLight </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_not | 20000 | 0 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.35 | 457 | 0.02 </PA>
</FX>
<FX>
<PA> Twirl </PA>
<PA> rect_square </PA>
<PA> image_3DTest_morphingtexture </PA>
<PA> COS | 0 | 0.3 | 0.3 </PA>
<PA> SIN | 0 | 0.1 | 0.4 </PA>
<PA> SIN | 0 | 0.1 | 1 </PA> Rotation
<PA> 2CTE | 0 | 0 </PA>
<PA> CTE | 0 </PA> Zoom
<PA> SIN | 0 | 0.6 | 0.5 </PA>
<PA> COS | 0 | 0.2 | 32 </PA>
<PA> CTE | 0 </PA> mapping type
</FX>
</KPART>
<KPART>
<ID> kpart_BT_SinScroll_morph </ID>
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> CTE | 0 </PA>
</FX>
<FX>
<PA> SpriteLight </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_morphing | 5 | 2 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.5 | 457 | 0.3 </PA>
</FX>
<FX>
<PA> Twirl </PA>
<PA> rect_square </PA>
<PA> image_3DTest_morphingtexture </PA>
<PA> COS | 0 | 0.3 | 0.3 </PA>
<PA> SIN | 0 | 0.1 | 0.4 </PA>
<PA> 3CTE | 0 | 0 | 0 </PA> Rotation
<PA> 3CTE | 0 | 0 | 0 </PA> Zoom
<PA> CTE | 0 </PA> mapping type
</FX>
</KPART>
<KPART>
<ID> kpart_BT_Twirl_morph </ID>
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> CTE | 0 </PA>
</FX>
<FX>
<PA> SpriteLight </PA>
<PA> rect_3DTest_morphingtexture </PA>
<PA> imanimtext | ai_3DTest_morphingtexture | txt_3DTest_morphing | 5 | 2 </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> ct_3DTest_1 </PA>
<PA> SIN | 0.4 | 457 | 0.25 </PA>
</FX>
<FX>
<PA> Twirl </PA>
<PA> rect_square </PA>
<PA> image_3DTest_morphingtexture </PA>
<PA> COS | 0 | 0.3 | 0.3 </PA>
<PA> SIN | 0 | 0.1 | 0.4 </PA>
<PA> SIN | 0 | 0.1 | 1 </PA> Rotation
<PA> 2CTE | 0 | 0 </PA>
<PA> CTE | 0 </PA> Zoom
<PA> SIN | 0 | 0.6 | 0.5 </PA>
<PA> COS | 0 | 0.2 | 32 </PA>
<PA> CTE | 0 </PA> mapping type
</FX>
</KPART>
<KSCRIPT>
<ID> Interactive </ID>
<PLAY> SetRects | 20000 | 0 | 1 </PLAY>
<PLAY> SetRect_left | 20000 | 0 | 1 </PLAY>
<PLAY> SetRect_right | 20000 | 0 | 1 </PLAY>
<PLAY> SetRect_active | 20000 | 0 | 1 </PLAY>
</KSCRIPT>
<KPART>
<ID> SetRects </ID>
<FX>
<PA> SetRect </PA>
<PA> rect_left </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | -0.005 | -0.001 | 0.995 | 0.999 </PA>
</FX>
<FX>
<PA> SetRect </PA>
<PA> rect_right </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | 0.005 | 0.001 | 1.005 | 1.001 </PA>
</FX>
</KPART>
<KPART>
<ID> SetRect_left </ID>
<FX>
<PA> SetRect </PA>
<PA> rect_left </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | -0.005 | -0.001 | 0.995 | 0.999 </PA>
</FX>
<FX>
<PA> SetRect </PA>
<PA> rect_right </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | 2.005 | 2.001 | 3.005 | 3.001 </PA>
</FX>
</KPART>
<KPART>
<ID> SetRect_right </ID>
<FX>
<PA> SetRect </PA>
<PA> rect_left </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | -2.005 | -2.001 | -1.995 | -1.999 </PA>
</FX>
<FX>
<PA> SetRect </PA>
<PA> rect_right </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> 4CTE | 0.005 | 0.001 | 1.005 | 1.001 </PA>
</FX>
</KPART>
<KPART>
<ID> SetRect_active </ID>
<FX>
<PA> SetRect </PA>
<PA> rect_left </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -0.005 | -2.005 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -0.001 | -2.001 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | 0.995 | -1.995 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | 0.999 | -1.999 </PA>
</FX>
<FX>
<PA> SetRect </PA>
<PA> rect_right </PA>
<PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -2.005 | 0.005 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -2.001 | 0.001 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -1.995 | 1.005 </PA>
<PA> BOUNCEON | 0 | 1 | 2 | -1.999 | 1.001 </PA>
</FX>
</KPART>
<KPART>
<ID> Set3DObjects_left </ID>
Let's put some dots here !
<FX>
<PA> PlayPart </PA>
<PA> dot_left </PA>
<PA> AFCLIP | 0 | 1 | 4000 | 9000 </PA>
</FX>
We move the objects (Kate, please ondulate your body !)
<FX>
<PA> Set3DObject </PA>
<PA> cube_3DTest0_left </PA> l'objet maitre invisible
<PA> SPL | gravity_horz | -3000 | 0 </PA> position X
<PA> SPL | gravity_vert | -3000 | 0 </PA> position Y
<PA> SPL | gravity_horz | -3000 | 0 </PA> position Z
<PA> 3CTE | 0 | 0 | 0 </PA> rotations
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> cube_3DTest_left </PA> le cube simple
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFCLIP | 0 | 0.0 | 500 | 5000 </PA> rotation autour de l'axe des Z
<PA> AFCLIP | 0 | 0.03 | 400 | 5000 </PA> rotation autour de l'axe des X
<PA> AFCLIP | 0 | 0.01 | 600 | 5000 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 1 | 1 | 1 </PA>
<PA> BOUNCE | 980 | 990 | 60000 | 1 | 0 </PA>
<PA> BOUNCE | 980 | 990 | 60000 | 1 | 0 </PA>
<PA> BOUNCE | 980 | 990 | 60000 | 1 | 0 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> object_3DTest_left </PA> la sphere
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFF | 0 | 0.0 </PA> rotation autour de l'axe des Z
<PA> AFF | 0 | 0.03 </PA> rotation autour de l'axe des X
<PA> AFF | 0 | 0.01 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 0 | 0 | 0 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> object_3DTest2_left </PA> l'objet plein d'extrusions
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFF | 0 | 0.0 </PA> rotation autour de l'axe des Z
<PA> AFF | 0 | 0.03 </PA> rotation autour de l'axe des X
<PA> AFF | 0 | 0.01 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 0 | 0 | 0 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
</FX>
We draw the worlds, one per eye, it's amazing !
<FX>
<PA> Draw3dWorld </PA>
<PA> rect_left </PA>
<PA> world_3DTest_left </PA>
<PA> kcam_3DTest </PA>
<PA> 3CTE | 0 | 0.01 | 200 </PA>
</FX>
We put some fancy texts, they are so fancy !
<FX>
<PA> SpriteTable </PA>
<PA> rect_left </PA>
<PA> title_left </PA> le titre, au centre a gauche
< PA> 4CTE | 0.0625 | 0.45416 | 0.2625 | 0.54583 </PA>
<PA> CTE | 0.0625 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.40833 | 0.45416 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.4625 | 0.2625 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.59166 | 0.54583 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_left </PA>
<PA> us_left </PA> nous, c'est nous, apparait en haut a gauche
<PA > 4CTE | 0.0625 | 0.05 | 0.1875 | 0.39166 </PA>
<PA> CTE | 0.0625 </PA>
<PA> BOUNCE | 1400 | 1500 | 2100 | -0.39166 | 0.05 </PA>
<PA> CTE | 0.1875 </PA>
<PA> BOUNCE | 1400 | 1500 | 2100 | -0.05 | 0.39166 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_left </PA>
<PA> them_left </PA> eux, c'est les autres, apparait a gauche en haut
<PA > 4CTE | 0.0625 | 0.05 | 0.35625 | 0.44166 </PA>
<PA> BOUNCE | 2400 | 2500 | 3000 | -0.35625 | 0.0625 </PA>
<PA> CTE | 0.05 </PA>
<PA> BOUNCE | 2400 | 2500 | 3000 | -0.0625 | 0.35625 </PA>
<PA> CTE | 0.44166 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_left </PA>
<PA> place_left </PA> ici, c'est l'alchimie, en bas a gauche
<PA> 4CTE | 0.0625 | 0.90833 | 0.4125 | 0.95 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
And, the main role of this f$ck!ng blockbuster ! In glorious 145x203 resolution !
Un premier rendu : on pose la tete de belett dans un rectangle aux
On commence par vider les rectangles
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_star_left_inv </PA>
<PA> CTE | 0 </PA>
</FX>
On pose la tete au centre en respectant les ratios
<FX>
<PA> SpritePlain </PA>
<PA> rect_3DTest_star_left_inv </PA>
<PA> star_left </PA>
<PA> 4CTE | 0.2734375 | 0.07708333333 | 0.7265625 | 0.92291666667 </PA>
</FX>
On deforme la texture creee a l'etape precedante dans un autre rectangle aux
On commence par vider les rectangles
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_star_left </PA>
<PA> CTE | 0 </PA>
</FX>
On pose un effet de flanc
<fx>
<pa> maprectsprite </pa>
<pa> rect_3DTest_star_left </pa>
<pa> image_3DTest_star_left_inv </pa>
<pa> 4cte | 0 | 0 | 1 | 1 </pa>
<pa> sin | 20 | 03 | 15 </pa>
<pa> cos | 20 | 05 | 15 </pa>
<pa> sin | 235 | 04 | -15 </pa>
<pa> cos | 20 | 02 | 15 </pa>
<pa> sin | 20 | 05 | -15 </pa>
<pa> cos | 235 | 04 | -15 </pa>
<pa> sin | 235 | 02 | 15 </pa>
<pa> cos | 235 | 03 | -15 </pa>
</fx>
On pose les images associees aux rectangles contenant les effets de flan, en transparence, dans les rectangles finaux
<FX>
<PA> SpriteTable </PA>
<PA> rect_left </PA>
<PA> image_3DTest_star_left </PA>
< PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.25 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.25 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.75 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.75 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
</KPART>
<KPART>
<ID> Set3DObjects_right </ID>
Let's put some dots here !
<FX>
<PA> PlayPart </PA>
<PA> dot_right </PA>
<PA> AFCLIP | 0 | 1 | 4000 | 9000 </PA>
</FX>
We move the objects (Kate, please ondulate your body !)
<FX>
<PA> Set3DObject </PA>
<PA> cube_3DTest0_right </PA> l'objet maitre invisible
<PA> SPL | gravity_horz | -3000 | 0 </PA> position X
<PA> SPL | gravity_vert | -3000 | 0 </PA> position Y
<PA> SPL | gravity_horz | -3000 | 0 </PA> position Z
<PA> 3CTE | 0 | 0 | 0 </PA> rotations
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
<PA> BOUNCEON | 50 | 55 | 95 | 1 | 1.2 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> cube_3DTest_right </PA> le cube simple
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFCLIP | 0 | 0.0 | 500 | 5000 </PA> rotation autour de l'axe des Z
<PA> AFCLIP | 0 | 0.03 | 400 | 5000 </PA> rotation autour de l'axe des X
<PA> AFCLIP | 0 | 0.01 | 600 | 5000 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 1 | 1 | 1 </PA>
<PA> BOUNCE | 990 | 1000 | 60000 | 1 | 0 </PA>
<PA> BOUNCE | 990 | 1000 | 60000 | 1 | 0 </PA>
<PA> BOUNCE | 990 | 1000 | 60000 | 1 | 0 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> object_3DTest_right </PA> la sphere
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFF | 0 | 0.0 </PA> rotation autour de l'axe des Z
<PA> AFF | 0 | 0.03 </PA> rotation autour de l'axe des X
<PA> AFF | 0 | 0.01 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 0 | 0 | 0 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
<PA> BOUNCEON | 990 | 1000 | 4500 | 0 | 1 </PA>
</FX>
<FX>
<PA> Set3DObject </PA>
<PA> object_3DTest2_right </PA> l'objet plein d'extrusions
<PA> 3CTE | 0 | 0 | 0 </PA>
<PA> AFF | 0 | 0.0 </PA> rotation autour de l'axe des Z
<PA> AFF | 0 | 0.03 </PA> rotation autour de l'axe des X
<PA> AFF | 0 | 0.01 </PA> rotation autour de l'axe des Y
< PA> 3CTE | 0 | 0 | 0 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
<PA> BOUNCEON | 100 | 110 | 190 | 0 | 1 </PA>
</FX>
We draw the worlds, one per eye, it's amazing !
<FX>
<PA> Draw3dWorld </PA>
<PA> rect_right </PA>
<PA> world_3DTest_right </PA>
<PA> kcam_3DTest </PA>
<PA> 3CTE | 0 | 0.01 | 200 </PA>
</FX>
We put some fancy texts, they are so fancy !
<FX>
<PA> SpriteTable </PA>
<PA> rect_right </PA>
<PA> title_right </PA> le titre, au centre a gauche
< PA> 4CTE | 0.0625 | 0.45416 | 0.2625 | 0.54583 </PA>
<PA> CTE | 0.0625 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.40833 | 0.45416 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.4625 | 0.2625 </PA>
<PA> BOUNCE | 200 | 250 | 4750 | 0.59166 | 0.54583 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_right </PA>
<PA> us_right </PA> nous, c'est nous, apparait en haut a gauche
<PA > 4CTE | 0.0625 | 0.05 | 0.1875 | 0.39166 </PA>
<PA> CTE | 0.0625 </PA>
<PA> BOUNCE | 1400 | 1500 | 2100 | -0.39166 | 0.05 </PA>
<PA> CTE | 0.1875 </PA>
<PA> BOUNCE | 1400 | 1500 | 2100 | -0.05 | 0.39166 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_right </PA>
<PA> them_right </PA> eux, c'est les autres, apparait a gauche en haut
<PA> BOUNCE | 2400 | 2500 | 3000 | -0.35625 | 0.0625 </PA>
<PA> CTE | 0.05 </PA>
<PA> BOUNCE | 2400 | 2500 | 3000 | -0.0625 | 0.35625 </PA>
<PA> CTE | 0.44166 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
<FX>
<PA> SpriteTable </PA>
<PA> rect_right </PA>
<PA> place_right </PA> ici, c'est l'alchimie, en bas a gauche
<PA> 4CTE | 0.0625 | 0.90833 | 0.4125 | 0.95 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
And, the main role of this f$ck!ng blockbuster ! In glorious 145x203 resolution !
Un premier rendu : on pose la tete de belett dans un rectangle aux
On commence par vider les rectangles
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_star_right_inv </PA>
<PA> CTE | 0 </PA>
</FX>
On pose la tete au centre en respectant les ratios
<FX>
<PA> SpritePlain </PA>
<PA> rect_3DTest_star_right_inv </PA>
<PA> star_right </PA>
<PA> 4CTE | 0.2734375 | 0.07708333333 | 0.7265625 | 0.92291666667 </PA>
</FX>
On deforme la texture creee a l'etape precedante dans un autre rectangle aux
On commence par vider les rectangles
<FX>
<PA> FillRC </PA>
<PA> rect_3DTest_star_right </PA>
<PA> CTE | 0 </PA>
</FX>
On pose un effet de flanc
<fx>
<pa> maprectsprite </pa>
<pa> rect_3DTest_star_right </pa>
<pa> image_3DTest_star_right_inv </pa>
<pa> 4cte | 0 | 0 | 1 | 1 </pa>
<pa> sin | 20 | 03 | 15 </pa>
<pa> cos | 20 | 05 | 15 </pa>
<pa> sin | 235 | 04 | -15 </pa>
<pa> cos | 20 | 02 | 15 </pa>
<pa> sin | 20 | 05 | -15 </pa>
<pa> cos | 235 | 04 | -15 </pa>
<pa> sin | 235 | 02 | 15 </pa>
<pa> cos | 235 | 03 | -15 </pa>
</fx>
On pose les images associees aux rectangles contenant les effets de flan, en transparence, dans les rectangles finaux
<FX>
<PA> SpriteTable </PA>
<PA> rect_right </PA>
<PA> image_3DTest_star_right </PA>
< PA> 4CTE | 0 | 0 | 1 | 1 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.25 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.25 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.75 </PA>
<PA> BOUNCE | 5520 | 5620 | 19999 | 0.5 | 0.75 </PA>
<PA> ct_3DTest_1 </PA>
</FX>
</KPART>