/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// // Startup file. // // This file is the first resource file loaded by the Shark 3D player. // Job of this file is to define global components which are used both // by the server and client, and to define the server and client actors. // The server is loaded from "server/actor/server.s3d_actor_run", // the client is loaded from "client/actor/client.s3d_actor_run". // Scope name of the global namespace. // This name is used to display error messages if an actor is not found. scope "root" // Name of the root actor. See in the docu for the actor ident "kit.root". // This actor can perform commands like "quit". name "root" // Name of the actor delegating commands to. // This can be used if C++ components outside the actor tree // want to send commands to the actor tree, // for example from a script within a HTML page. deleg_target "dispatch_export" // Type of the child actor. // In this case, the root actor is a group actor, containing several // child actors. The ident "kit_base.group" means to search the actor // of ident "group" in the DLL which was registered under the name "core", // see "example.cfg". child_ident "kit_base.group" // Parameters of the child actor. The kind of parameters which are understood // depends on the type of the actor. In this case the type of the actor // is "kit_base.group", which understands the parameter "child_array". // See the actor reference in the programmer reference in the documentation. // This reference contains a list of all actor types and its parameters. child_param { // Delegate action calls to the children. active 1 // List of child actors of this group actor. // Each child actor again is described by its type and parameters. // See the actor reference in the programmer reference in the // documentation. This reference contains a list of all actor types // and its parameters. child_array { ident "kit_base.dispatch" param { name "dispatch_export" entry_array { cmds "report_note" "res_refresh" "refresh_all_res" targets "root" } } } { // Actor managing the cfguration data from the cfguration file, // for example from "run_win32.cfg". ident "kit_snk.data" param { name "cfg" // The cfguration data from the cfg-file can be retrieved // from the actor root: src_actor "root" src_cmd "get_cfg" } } { ident "kit_base.extern" param { // Delegate action calls to the child: active 1 deleg_name "common" res "main/actor/common.s3d_actor_run" } } { // Create a CAS access server is enabled. ident "kit_snk.childif" param { // Name of the actor containing the cfguration data. extcfg_actor "cfg" // Check for this entry of the cfguration file. extcfg_entry_switch "cas.enabled" // Type of the child actor. // In this case, the child actor loads another dsc-file. then_child_ident "kit_base.extern" // Parameters of the child actor. then_child_param { // Delegate action calls to the child: active 1 deleg_name "cas" res "main/actor/cas.s3d_actor_run" } } } { // Create a server is enabled. This actor only creates a child actor // if a particular cfguration entry is present. ident "kit_snk.childif" param { // Name of the actor containing the cfguration data. extcfg_actor "cfg" // Check for this entry of the cfguration file. extcfg_entry_switch "server.enabled" // Type of the child actor. // In this case, the child actor loads another dsc-file. then_child_ident "kit_base.extern" // Parameters of the child actor. then_child_param { // Delegate action calls to the child: active 1 // Name of this extern actor. name "server_extern" // Name to send commands for the server to. deleg_name "server" // Name of the description file describing the server: res "server/actor/server.s3d_actor_run" } } } { // Create a client is enabled. // Works in the same way as for the server. ident "kit_snk.childif" param { extcfg_actor "cfg" extcfg_entry_switch "client.enabled" then_child_ident "kit_base.extern" then_child_param { // Delegate action calls to the child: active 1 // Name of this extern actor. name "client_extern" // Name to send commands for the client to. deleg_name "client" // Name of the description file describing the client: res "client/actor/client.s3d_actor_run" } } } { // Second client. ident "kit_snk.childif" param { extcfg_actor "cfg" extcfg_entry_switch "client.enabled" then_child_ident "kit_base.extern" then_child_param { // Delegate action calls to the child: active 1 name "client_sec_extern" deleg_name "client_sec" res "" } } } }