source: GTP/trunk/App/Demos/Illum/Shark3D/version164x12u/IllumDemo/bin/res/main/actor/common.s3d_actor_run @ 2196

Revision 2196, 26.2 KB checked in by szirmay, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2006 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14actor_ident "kit_base.group"
15actor_param
16{
17    // Delegate action calls to the children.
18    active 1
19    child_array
20    {
21        ident "kit_base.env"
22        param
23        {
24            name "env"
25        }
26    }
27    {
28        ident "kit_base.envcompsuppl"
29        param
30        {
31            name "envcompsuppl"
32        }
33    }
34   
35    // Forward declaration of the base suppl:
36    {
37        // A kind of forward declaration of the main generic suppl
38        // named "basesuppl".
39        ident "kit_base.obj"
40        param
41        {
42            name "basesuppl"
43            obj_suppl "envcompsuppl"
44            obj_ident "eng_base.delegsuppl"
45            obj_param
46            {
47                env "env"
48                target "rawsuppl"
49            }
50        }
51    }
52   
53    // Bitmap parser:
54    {
55        // Actor containing the bitmap parser.
56        // A bitmap parser is necessary to load different bitmap file formats.
57        ident "kit_base.extobj"
58        param
59        {
60            name "bitmapparser"
61            // Get parameters from the actor "cfg", which is defined above.
62            obj_suppl "envcompsuppl"
63            extcfg_actor "cfg"
64            // Get the parameters from the "bitmapparser" entry.
65            extcfg_entry_ident "bitmapparser.ident"
66            extcfg_entry_param "bitmapparser.param"
67            given_array
68            {
69                item "env"
70                given_ident "env"
71            }
72        }
73    }
74   
75    // Video parser:
76    {
77        // Actor containing the bitmap parser.
78        // A video parser is necessary to load different video file formats.
79        ident "kit_base.extobj"
80        param
81        {
82            name "videoparser"
83            obj_suppl "envcompsuppl"
84            // Get parameters from the actor "cfg", which is defined above.
85            extcfg_actor "cfg"
86            // Get the parameters from the "videoparser" entry.
87            extcfg_entry_ident "videoparser.ident"
88            extcfg_entry_param "videoparser.param"
89            given_array
90            {
91                item "env"
92                given_ident "env"
93            }
94        }
95    }
96   
97    // Standard model suppl:
98    {
99        ident "kit_base.obj"
100        param
101        {
102            name "stdmodelsupplraw"
103            obj_suppl "envcompsuppl"
104            obj_ident "eng_model_std.modelsuppl"
105            obj_param
106            {
107                env "env"
108               
109            }
110        }
111    }
112    {
113        ident "kit_base.obj"
114        param
115        {
116            name "stdmodelsupplindiv"
117            obj_suppl "envcompsuppl"
118            obj_ident "eng_base.indivsuppl"
119            obj_param
120            {
121                env "env"
122                child_suppl "stdmodelsupplraw"
123            }
124        }
125    }
126    {
127        ident "kit_base.obj"
128        param
129        {
130            name "stdmodelsuppl"
131            obj_suppl "envcompsuppl"
132            obj_ident "eng_base.uniquesuppl"
133            obj_param
134            {
135                env "env"
136                child_suppl "stdmodelsupplindiv"
137            }
138        }
139    }
140   
141    // Rectangle model suppl:
142    {
143        ident "kit_base.obj"
144        param
145        {
146            name "rectmodelsupplraw"
147            obj_suppl "envcompsuppl"
148            obj_ident "eng_model_special.rectmodelsuppl"
149            obj_param
150            {
151                env "env"
152            }
153        }
154    }
155    {
156        ident "kit_base.obj"
157        param
158        {
159            name "rectmodelsupplindiv"
160            obj_suppl "envcompsuppl"
161            obj_ident "eng_base.indivsuppl"
162            obj_param
163            {
164                env "env"
165                child_suppl "rectmodelsupplraw"
166            }
167        }
168    }
169    {
170        ident "kit_base.obj"
171        param
172        {
173            name "rectmodelsuppl"
174            obj_suppl "envcompsuppl"
175            obj_ident "eng_base.uniquesuppl"
176            obj_param
177            {
178                env "env"
179                child_suppl "rectmodelsupplindiv"
180            }
181        }
182    }
183   
184    // Geo suppl:
185    {
186        ident "kit_base.obj"
187        param
188        {
189            name "geosupplraw"
190            obj_suppl "envcompsuppl"
191            obj_ident "eng_geo_std.geosuppl"
192            obj_param
193            {
194                env "env"
195                modelsuppl "stdmodelsuppl"
196                max_tri_cnt 1000
197                usage "geo"
198            }
199        }
200    }
201    {
202        ident "kit_base.obj"
203        param
204        {
205            name "geosuppl"
206            obj_suppl "envcompsuppl"
207            obj_ident "eng_base.uniquesuppl"
208            obj_param
209            {
210                env "env"
211                child_suppl "geosupplraw"
212            }
213        }
214    }
215   
216    // Path suppl:
217    {
218        ident "kit_base.obj"
219        param
220        {
221            name "pathsupplraw"
222            obj_suppl "envcompsuppl"
223            obj_ident "eng_pos_std.pathsuppl"
224            obj_param
225            {
226                env "env"
227            }
228        }
229    }
230    {
231        ident "kit_base.obj"
232        param
233        {
234            name "pathsuppl"
235            obj_suppl "envcompsuppl"
236            obj_ident "eng_base.uniquesuppl"
237            obj_param
238            {
239                env "env"
240                child_suppl "pathsupplraw"
241            }
242        }
243    }
244   
245    // Bone-anim suppl:
246    {
247        ident "kit_base.obj"
248        param
249        {
250            name "boneanimsupplraw"
251            obj_suppl "envcompsuppl"
252            obj_ident "eng_pos_std.boneanimsuppl"
253            obj_param
254            {
255                env "env"
256            }
257        }
258    }
259    {
260        ident "kit_base.obj"
261        param
262        {
263            name "boneanimsuppl"
264            obj_suppl "envcompsuppl"
265            obj_ident "eng_base.uniquesuppl"
266            obj_param
267            {
268                env "env"
269                child_suppl "boneanimsupplraw"
270            }
271        }
272    }
273   
274    // Bone-motion suppl:
275    {
276        ident "kit_base.obj"
277        param
278        {
279            name "bonemotionsuppl"
280            obj_suppl "envcompsuppl"
281            obj_ident "eng_pos_std.bonemotionsuppl"
282            obj_param
283            {
284                env "env"
285                gensuppl "basesuppl"
286            }
287        }
288    }
289   
290    // PVS suppl:
291    {
292        ident "kit_base.obj"
293        param
294        {
295            name "visibpvssuppl"
296            obj_suppl "envcompsuppl"
297            obj_ident "eng_visib_pvs.pvssuppl"
298            obj_param
299            {
300                env "env"
301            }
302        }
303    }
304
305    // Cube texture suppl:
306    {
307        ident "kit_base.obj"
308        param
309        {
310            name "cubetexsupplraw"
311            obj_suppl "envcompsuppl"
312            obj_ident "eng_tex_std.cubetexsuppl"
313            obj_param
314            {
315                env "env"
316                bitmapparser "bitmapparser"
317                scale 0.0
318                char_taildelim "#"
319                char_cubejoker "§"
320                patexp_scalable "*scalable*"
321                patexp_restrusage "*rect*"
322                patexp_mipmap "!*nomipmap*"
323                patexp_compress "*compress*"
324                patexp_dynamic "*dynamic*"
325                patexp_signed "*signed*"
326                patexp_comp1 "*comp1*"
327                patexp_comp2 "*comp2*"
328                patexp_comp3 "*comp3*"
329                patexp_comp4 "*comp4*"
330                cube_face_negx "negx"
331                cube_face_posx "posx"
332                cube_face_negy "negy"
333                cube_face_posy "posy"
334                cube_face_negz "negz"
335                cube_face_posz "posz"
336            }
337        }
338    }
339    {
340        ident "kit_base.obj"
341        param
342        {
343            name "cubetexsuppl"
344            obj_suppl "envcompsuppl"
345            obj_ident "eng_base.uniquesuppl"
346            obj_param
347            {
348                env "env"
349                child_suppl "cubetexsupplraw"
350            }
351        }
352    }
353
354    // Standard texture suppls:
355    {
356        ident "kit_base.obj"
357        param
358        {
359            name "identtexsupplraw"
360            obj_suppl "envcompsuppl"
361            obj_ident "eng_tex_std.identtexsuppl"
362            obj_param
363            {
364                env "env"
365                char_taildelim "#"
366                patexp_scalable "*scalable*"
367                patexp_restrusage "*rect*"
368                patexp_mipmap "!*nomipmap*"
369                patexp_compress "*compress*"
370                patexp_dynamic "*dynamic*"
371                patexp_signed "*signed*"
372                patexp_comp1 "*comp1*"
373                patexp_comp2 "*comp2*"
374                patexp_comp3 "*comp3*"
375                patexp_comp4 "*comp4*"
376            }
377        }
378    }
379    {
380        ident "kit_base.obj"
381        param
382        {
383            name "identtexsuppl"
384            obj_suppl "envcompsuppl"
385            obj_ident "eng_base.uniquesuppl"
386            obj_param
387            {
388                env "env"
389                child_suppl "identtexsupplraw"
390            }
391        }
392    }
393
394    // Static texture suppl:
395    {
396        ident "kit_base.obj"
397        param
398        {
399            name "statictexsupplraw"
400            obj_suppl "envcompsuppl"
401            obj_ident "eng_tex_std.statictexsuppl"
402            obj_param
403            {
404                env "env"
405                bitmapparser "bitmapparser"
406                scale 0.0
407                char_taildelim "#"
408                patexp_scalable "*scalable*"
409                patexp_restrusage "*rect*"
410                patexp_mipmap "!*nomipmap*"
411                patexp_compress "*compress*"
412                patexp_dynamic "*dynamic*"
413                patexp_signed "*signed*"
414                patexp_comp1 "*comp1*"
415                patexp_comp2 "*comp2*"
416                patexp_comp3 "*comp3*"
417                patexp_comp4 "*comp4*"
418            }
419        }
420    }
421    {
422        ident "kit_base.obj"
423        param
424        {
425            name "statictexsuppl"
426            obj_suppl "envcompsuppl"
427            obj_ident "eng_base.uniquesuppl"
428            obj_param
429            {
430                env "env"
431                child_suppl "statictexsupplraw"
432            }
433        }
434    }
435   
436    // Video texture suppl:
437    {
438        ident "kit_base.obj"
439        param
440        {
441            name "videotexsupplraw"
442            obj_suppl "envcompsuppl"
443            obj_ident "eng_tex_std.videotexsuppl"
444            obj_param
445            {
446                env "env"
447                videoparser "videoparser"
448                char_taildelim "#"
449                patexp_scalable "*scalable*"
450                patexp_restrusage "*rect*"
451                patexp_mipmap "!*nomipmap*"
452                patexp_compress "*compress*"
453                patexp_dynamic "*dynamic*"
454                patexp_signed "*signed*"
455                patexp_comp1 "*comp1*"
456                patexp_comp2 "*comp2*"
457                patexp_comp3 "*comp3*"
458                patexp_comp4 "*comp4*"
459            }
460        }
461    }
462    {
463        ident "kit_base.obj"
464        param
465        {
466            name "videotexsuppl"
467            obj_suppl "envcompsuppl"
468            obj_ident "eng_base.uniquesuppl"
469            obj_param
470            {
471                env "env"
472                child_suppl "videotexsupplraw"
473            }
474        }
475    }
476
477    // Font texture suppl:
478    {
479        ident "kit_base.obj"
480        param
481        {
482            name "fontsupplindiv"
483            obj_suppl "envcompsuppl"
484            obj_ident "eng_font_std.rastfontsuppl"
485            obj_param
486            {
487                env "env"
488            }
489        }
490    }
491    {
492        ident "kit_base.obj"
493        param
494        {
495            name "fontsuppl"
496            obj_suppl "envcompsuppl"
497            obj_ident "eng_base.uniquesuppl"
498            obj_param
499            {
500                env "env"
501                child_suppl "fontsupplindiv"
502            }
503        }
504    }
505    {
506        ident "kit_base.obj"
507        param
508        {
509            name "fonttexsupplindiv"
510            obj_suppl "envcompsuppl"
511            obj_ident "eng_font_std.texsuppl"
512            obj_param
513            {
514                env "env"
515            }
516        }
517    }
518    {
519        ident "kit_base.obj"
520        param
521        {
522            name "fonttexsuppl"
523            obj_suppl "envcompsuppl"
524            obj_ident "eng_base.uniquesuppl"
525            obj_param
526            {
527                env "env"
528                child_suppl "fonttexsupplindiv"
529            }
530        }
531    }
532    // Shader suppl:
533    {
534        ident "kit_base.obj"
535        param
536        {
537            name "gfxbatchmgr"
538            obj_suppl "envcompsuppl"
539            obj_ident "eng_base.gfxbatchmgr"
540            obj_param
541            {
542                env "env"
543            }
544        }
545    }
546    {
547        ident "kit_base.obj"
548        param
549        {
550            name "gfxprogmgr"
551            obj_suppl "envcompsuppl"
552            obj_ident "eng_base.gfxprogmgr"
553            obj_param
554            {
555                env "env"
556            }
557        }
558    }
559    {
560        ident "kit_base.obj"
561        param
562        {
563            name "texpool"
564            obj_suppl "envcompsuppl"
565            obj_ident "eng_base.texpool"
566            obj_param
567            {
568                env "env"
569            }
570        }
571    }
572    {
573        ident "kit_engbase.shaderenv"
574        param
575        {
576            name "shaderenv"
577            childshadersuppl "envcompsuppl"
578            bitmapparser "bitmapparser"
579            gensuppl "basesuppl"
580            texpool "texpool"
581            gfxprogmgr "gfxprogmgr"
582            gfxbatchmgr "gfxbatchmgr"
583            extcfg_actor "cfg"
584            extcfg_entry_economise "view.economise"
585            extcfg_entry_reduce "view.reduce"
586        }
587    }
588    {
589        ident "kit_base.obj"
590        param
591        {
592            name "shadersupplraw"
593            obj_suppl "envcompsuppl"
594            obj_ident "eng_base.shadersuppl"
595            obj_param
596            {
597                shaderenv "shaderenv"
598                given_array
599                {
600                    item "shaderenv"
601                    given_ident "shaderenv"
602                }
603            }
604        }
605    }
606    {
607        ident "kit_base.obj"
608        param
609        {
610            name "shadersuppl"
611            obj_suppl "envcompsuppl"
612            obj_ident "eng_base.uniquesuppl"
613            obj_param
614            {
615                env "env"
616                child_suppl "shadersupplraw"
617            }
618        }
619    }
620   
621    // Wave suppl:
622    {
623        // Actor managing a wave file parser.
624        ident "kit_base.extobj"
625        param
626        {
627            name "waveparser"
628            // Get parameters from the actor "cfg", which is defined above.
629            obj_suppl "envcompsuppl"
630            extcfg_actor "cfg"
631            // Get the parameters from the "waveparser" entry.
632            extcfg_entry_ident "waveparser.ident"
633            extcfg_entry_param "waveparser.param"
634            given_array
635            {
636                item "env"
637                given_ident "env"
638            }
639        }
640    }
641    {
642        ident "kit_base.obj"
643        param
644        {
645            name "stdwavesupplraw"
646            obj_suppl "envcompsuppl"
647            obj_ident "eng_wave_std.wavesuppl"
648            obj_param
649            {
650                env "env"
651                waveparser "waveparser"
652            }
653        }
654    }
655    {
656        ident "kit_base.obj"
657        param
658        {
659            name "stdwavesuppl"
660            obj_suppl "envcompsuppl"
661            obj_ident "eng_base.uniquesuppl"
662            obj_param
663            {
664                env "env"
665                child_suppl "stdwavesupplraw"
666            }
667        }
668    }
669   
670    // Main suppl:
671    {
672        ident "kit_base.obj"
673        param
674        {
675            name "rawsuppl"
676            obj_suppl "envcompsuppl"
677            obj_ident "eng_base.prefixsuppl"
678            obj_param
679            {
680                env "env"
681                entry_array
682                {
683                    prefix "direct:"
684                    new_suppl "envcompsuppl"
685                    new_ident ""
686                    new_append 1
687                    // Main component suppl:
688                }
689                {
690                    prefix "clock:"
691                    new_suppl "envcompsuppl"
692                    new_ident "eng_base.clock"
693                    new_append 0
694                }
695                {
696                    prefix "state:"
697                    new_suppl "envcompsuppl"
698                    new_ident "eng_base.state"
699                    new_append 0
700                }
701                {
702                    prefix "group:"
703                    new_suppl "envcompsuppl"
704                    new_ident "eng_base.group"
705                    new_append 0
706                }
707                {
708                    prefix "simplepos:"
709                    new_suppl "envcompsuppl"
710                    new_ident "eng_base.simplepos"
711                    new_append 0
712                }
713                {
714                    prefix "concatpos:"
715                    new_suppl "envcompsuppl"
716                    new_ident "eng_base.concatpos"
717                    new_append 0
718                }
719                {
720                    prefix "rectmodel:"
721                    new_suppl "rectmodelsuppl"
722                    new_ident ""
723                    new_append 1
724                }
725                {
726                    prefix "geo:"
727                    new_suppl "geosuppl"
728                    new_ident ""
729                    new_append 1
730                }
731                {
732                    prefix "tex:"
733                    new_suppl "statictexsuppl"
734                    new_ident ""
735                    new_append 1
736                }
737                {
738                    prefix "cubetex:"
739                    new_suppl "cubetexsuppl"
740                    new_ident ""
741                    new_append 1
742                }
743                {
744                    prefix "identtex:"
745                    new_suppl "identtexsuppl"
746                    new_ident ""
747                    new_append 1
748                }
749                {
750                    prefix "statictex:"
751                    new_suppl "statictexsuppl"
752                    new_ident ""
753                    new_append 1
754                }
755                {
756                    prefix "videotex:"
757                    new_suppl "videotexsuppl"
758                    new_ident ""
759                    new_append 1
760                }
761                {
762                    prefix "fonttex:"
763                    new_suppl "fonttexsuppl"
764                    new_ident ""
765                    new_append 1
766                }
767                {
768                    prefix "wave:"
769                    new_suppl "stdwavesuppl"
770                    new_ident ""
771                    new_append 1
772                }
773                {
774                    prefix "speaker:"
775                    new_suppl "envcompsuppl"
776                    new_ident "eng_base.speaker"
777                    new_append 0
778                }
779                {
780                    prefix "font:"
781                    new_suppl "fontsuppl"
782                    new_ident ""
783                    new_append 1
784                }
785                {
786                    prefix "actulin:"
787                    new_suppl "envcompsuppl"
788                    new_ident "eng_base.actulin"
789                    new_append 0
790                }
791                {
792                    prefix "actucyc:"
793                    new_suppl "envcompsuppl"
794                    new_ident "eng_base.actucyc"
795                    new_append 0
796                }
797                {
798                    prefix "visibpvs:"
799                    new_suppl "visibpvssuppl"
800                    new_ident ""
801                    new_append 1
802                }
803                {
804                    prefix "sim:"
805                    new_suppl "envcompsuppl"
806                    new_ident "eng_phys_std.sim"
807                    new_append 0
808                }
809                {
810                    prefix "noise:"
811                    new_suppl "envcompsuppl"
812                    new_ident "eng_base.noise"
813                    new_append 0
814                }
815                {
816                    prefix "boneanim:"
817                    new_suppl "boneanimsuppl"
818                    new_ident ""
819                    new_append 1
820                }
821                {
822                    prefix "bonemotion:"
823                    new_suppl "bonemotionsuppl"
824                    new_ident ""
825                    new_append 1
826                }
827                // Standard suppls:
828                {
829                    prefix "stdmodel:"
830                    new_suppl "stdmodelsuppl"
831                    new_ident ""
832                    new_append 1
833                }
834                {
835                    prefix "stdgeo:"
836                    new_suppl "geosuppl"
837                    new_ident ""
838                    new_append 1
839                }
840                {
841                    prefix "stdtex:"
842                    new_suppl "statictexsuppl"
843                    new_ident ""
844                    new_append 1
845                }
846                {
847                    prefix "stdshader:"
848                    new_suppl "shadersuppl"
849                    new_ident ""
850                    new_append 1
851                }
852                {
853                    prefix "stdsimplepos:"
854                    new_suppl "envcompsuppl"
855                    new_ident "eng_base.simplepos"
856                    new_append 0
857                }
858                {
859                    prefix "stdconcatpos:"
860                    new_suppl "envcompsuppl"
861                    new_ident "eng_base.concatpos"
862                    new_append 0
863                }
864                {
865                    prefix "stdpath:"
866                    new_suppl "pathsuppl"
867                    new_ident ""
868                    new_append 1
869                }
870                {
871                    prefix "stdskin:"
872                    new_suppl "envcompsuppl"
873                    new_ident "eng_pos_std.combine"
874                    new_append 0
875                }
876                {
877                    prefix "stdskel:"
878                    new_suppl "envcompsuppl"
879                    new_ident "eng_pos_std.boneskel"
880                    new_append 0
881                }
882                {
883                    prefix "stdbonesel:"
884                    new_suppl "envcompsuppl"
885                    new_ident "eng_pos_std.pick"
886                    new_append 0
887                }
888                {
889                    prefix "stdgear:"
890                    new_suppl "envcompsuppl"
891                    new_ident "eng_phys_std.gear"
892                    new_append 0
893                }
894                {
895                    prefix "stdbody:"
896                    new_suppl "envcompsuppl"
897                    new_ident "eng_phys_std.body"
898                    new_append 0
899                }
900                {
901                    prefix "stdfixed:"
902                    new_suppl "envcompsuppl"
903                    new_ident "eng_phys_std.fixed"
904                    new_append 0
905                }
906                {
907                    prefix "stddisjunct:"
908                    new_suppl "envcompsuppl"
909                    new_ident "eng_phys_std.disjunct"
910                    new_append 0
911                }
912                {
913                    prefix "stdconstrstand:"
914                    new_suppl "envcompsuppl"
915                    new_ident "eng_phys_std.constrstand"
916                    new_append 0
917                }
918                {
919                    prefix "stdconstrball:"
920                    new_suppl "envcompsuppl"
921                    new_ident "eng_phys_std.constrball"
922                    new_append 0
923                }
924                {
925                    prefix "stdconstrhinge:"
926                    new_suppl "envcompsuppl"
927                    new_ident "eng_phys_std.constrhinge"
928                    new_append 0
929                }
930                {
931                    prefix "stdconstrhingetwo:"
932                    new_suppl "envcompsuppl"
933                    new_ident "eng_phys_std.constrhingetwo"
934                    new_append 0
935                }
936                {
937                    prefix "stdconstrslider:"
938                    new_suppl "envcompsuppl"
939                    new_ident "eng_phys_std.constrslider"
940                    new_append 0
941                }
942                {
943                    prefix "stdconstrattach:"
944                    new_suppl "envcompsuppl"
945                    new_ident "eng_phys_std.constrattach"
946                    new_append 0
947                }
948                {
949                    prefix "stdinst:"
950                    new_suppl "envcompsuppl"
951                    new_ident "eng_base.inst"
952                    new_append 0
953                }
954                {
955                    prefix "stdsensorstate:"
956                    new_suppl "envcompsuppl"
957                    new_ident "eng_sensor_std.sensorstate"
958                    new_append 0
959                }
960                {
961                    prefix "stdsensor:"
962                    new_suppl "envcompsuppl"
963                    new_ident "eng_sensor_std.sensorvol"
964                    new_append 0
965                }
966            }
967        }
968    }
969}
Note: See TracBrowser for help on using the repository browser.