source: GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/Shark3D/demo_v5x0x7_t164x31u_enterpr_kwin32/bin/res/level/actor/main.s3d_actor_run @ 2330

Revision 2330, 10.7 KB checked in by igarcia, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2007 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14// Define a local namespace for the level.
15// All actors within the capsule can access each other without restrictions.
16// All foreign actors outside the capsule cannot access actors
17// within the capsule. Instead, foreign can only send commands
18// to the capsule itself. The capsule delegates the commands
19// in a controlled way, see below.
20actor_ident "kit_base.capsule"
21actor_param
22{
23    // Delegate the action calls to all children:
24    active 1
25    // Scope string used for reporting errors:
26    scope "level"
27    // Name of the capsule actor within its own namespace.
28    // Actors within the capsule can access the capsule actor itself
29    // by this name.
30    local_name "capsule"
31    // Delegate commands from outside the capsule to this dispatcher.
32    // The dispatcher handles the commands from outside in a controlled way.
33    deleg_target "dispatch_export"
34    // Define a group of actors contained in the capsule actor.
35    // Formally, a capsule can only have a single member,
36    // but by using a group actor, it can contain any number of members.
37    child_ident "kit_base.group"
38    child_param
39    {
40        active 1
41        child_array
42        {
43            // Dispatcher for commands from outside the level.
44            // Commands coming from outside the capsule are delegated
45            // to this dispatcher. This dispatcher then decides
46            // which commands are understood, and which are the target actors.
47            ident "kit_base.dispatch"
48            param
49            {
50                // Name of the actor.
51                name "dispatch_export"
52                entry_array
53                {
54                    // Utility, to get a simple access to the level admin.
55                    cmds "get_level"
56                    targets "capsule"
57                    newcmd "get_admin"
58                }
59                {
60                    cmds "produce_player"
61                    targets "playerproducer"
62                    newcmd "produce"
63                }
64                {
65                    cmds "fetch_player"
66                    targets "player_set"
67                    newcmd "search_noinform"
68                }
69                {
70                    cmds "net_traverse"
71                    targets "dispatch_content"
72                }
73            }
74        }
75        {
76            ident "kit_base.deleg"
77            param
78            {
79                name ""
80                deleg_name "env"
81                deleg_target "^env"
82                allow_no_target 0
83                enabled 1
84            }
85        }
86        {
87            ident "kit_base.deleg"
88            param
89            {
90                name ""
91                deleg_name "perchmgr"
92                deleg_target "^perchmgr"
93                allow_no_target 0
94                enabled 1
95            }
96        }
97        {
98            ident "kit_engbase.gfxmgr"
99            param
100            {
101                name "gfxmgr"
102                ident "eng_base.gfxmgr"
103            }
104        }
105        {
106            ident "kit_base.obj"
107            param
108            {
109                name "gfxsuppl"
110                obj_suppl "^envcompsuppl"
111                obj_ident "eng_base.gfxsuppl"
112                obj_param
113                {
114                    env "env"
115                    child_suppl "^basesuppl"
116                }
117            }
118        }
119        {
120            ident "kit_engbase.gfxassign"
121            param
122            {
123                obj "gfxsuppl"
124                gfxmgr "gfxmgr"
125            }
126        }
127        {
128            ident "kit_engbase.sndmgr"
129            param
130            {
131                name "sndmgr"
132                ident "eng_base.sndmgr"
133            }
134        }
135        {
136            ident "kit_base.obj"
137            param
138            {
139                name "stdsuppl"
140                obj_suppl "^envcompsuppl"
141                obj_ident "eng_base.sndsuppl"
142                obj_param
143                {
144                    env "env"
145                    child_suppl "gfxsuppl"
146                }
147            }
148        }
149        {
150            ident "kit_engbase.sndassign"
151            param
152            {
153                obj "stdsuppl"
154                sndmgr "sndmgr"
155            }
156        }
157        {
158            ident "kit_engbase.clock"
159            param
160            {
161                active 1
162                name "clock"
163                clock_suppl "stdsuppl"
164                clock_ident "clock:"
165            }
166        }
167        {
168            ident "kit_engbase.state"
169            param
170            {
171                name "state_world"
172                obj_suppl "stdsuppl"
173                obj_ident "state:"
174            }
175        }
176        {
177            ident "kit_engbase.state"
178            param
179            {
180                name "state_sky"
181                obj_suppl "stdsuppl"
182                obj_ident "state:"
183            }
184        }
185        {
186            ident "kit_base.obj"
187            param
188            {
189                name "sensorstate_world"
190                obj_suppl "stdsuppl"
191                obj_ident "stdsensorstate:"
192                obj_param
193                {
194                    env "env"
195                    insp_geo_ident "showsensorgeo"
196                    insp_bound_ident "showsensorbound"
197                    insp_geo_color 0.0 0.0 1.0
198                    insp_bound_color 0.0 0.0 1.0
199                }
200            }
201        }
202        {
203            ident "kit_engobj.sim"
204            param
205            {
206                name "sim_world"
207                sim_suppl "stdsuppl"
208                sim_ident "sim:"
209                sim_param
210                {
211                    env "env"
212                    // When changing the step, you should change the erp
213                    // by the same factor:
214                    step 0.02
215                    subiter 0
216                    gravity 0.0 0.0 -10.0
217                    erp 0.5
218                    cfm 1e-4
219                    max_correcting_vel 1000.0
220                    overlap 0.001
221                    damp 0.05
222                    max_vel 10.0
223                    max_spin 10.0
224                    settled_pos_eps 0.01
225                    settled_rot_eps 0.01
226                    settled_period 1.0
227                    settled_dist 1e3
228                    insp_geo_ident "showphysgeo"
229                    insp_bound_ident "showphysbound"
230                    insp_contact_ident "showphyscontact"
231                    insp_pas_geo_color 0.0 0.0 1.0
232                    insp_pas_bound_color 0.0 0.0 1.0
233                    insp_deact_geo_color 0.0 1.0 0.0
234                    insp_deact_bound_color 0.0 1.0 0.0
235                    insp_act_geo_color 1.0 0.0 0.0
236                    insp_act_bound_color 1.0 0.0 0.0
237                    insp_slave_geo_color 1.0 0.0 1.0
238                    insp_slave_bound_color 1.0 0.0 1.0
239                    insp_contact_extralen 0.2
240                    insp_contact_pre_color 1.0 0.0 1.0
241                    insp_contact_mid_color 0.0 0.0 1.0
242                    insp_contact_post_color 0.0 1.0 1.0
243                }
244                clock "clock"
245            }
246        }
247        {
248            // Event queue.
249            // This actor manages delayed commands.
250            // Define this actor after the 3d state
251            // to avoid unnecessary delays.
252            ident "kit_base.evtmgr"
253            param
254            {
255                // Name of the event queue actor:
256                name "evtmgr"
257                active 1
258                extcfg_actor "^cfg"
259                extcfg_entry_log "log.evtmgr"
260            }
261        }
262        {
263            ident "kit_base.extern"
264            param
265            {
266                name "content_extern"
267                res "level/actor/content.s3d_actor_run"
268                watch_target "content_extern"
269                watch_cmd "load_current"
270                active 1
271            }
272        }
273        {
274            // Actor containing all active players.
275            ident "kit_base.producer"
276            param
277            {
278                name "playerproducer"
279                deleg_name "player_set"
280                active 1
281                ident "kit_base.capsule"
282                param
283                {
284                    scope "levelplayer"
285                    local_name "capsule"
286                    local_deleg_name "capsule_deleg"
287                    deleg_target "dispatch_rawexport"
288                    active 1
289                    child_ident "kit_base.group"
290                    child_param
291                    {
292                        active 1
293                        child_array
294                        {
295                            ident "kit_base.dispatch"
296                            param
297                            {
298                                name "dispatch_rawexport"
299                                allow_other 1
300                                other_target "dispatch_export"
301                                entry_array
302                            }
303                        }
304                        {
305                            // Include the character actors for this level.
306                            // It is defined after the character bag
307                            // since this dsc file refers the bag actor.
308                            ident "kit_base.extern"
309                            param
310                            {
311                                // Delegate action calls to the child:
312                                name "levelplayerbasis_extern"
313                                res "level/actor/"
314                                        & "levelplayerbasis.s3d_actor_run"
315                                watch_target "levelplayerbasis_extern"
316                                watch_cmd "load_current"
317                                active 1
318                            }
319                        }
320                    }
321                }
322            }
323        }
324        {
325            // Ignore level load time.
326            ident "kit_base.oninit"
327            param
328            {
329                target "^outside"
330                cmd "ignore_frmtime"
331            }
332        }
333    }
334}
Note: See TracBrowser for help on using the repository browser.