/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// // This file configures the Shark 3D runtime engine. // // File syntax: Snake File Format, see documentation for details. // Each field has a name and none, one or more values of type integer, // float, string or chunk. // // = Comment until end of line. // /* xxx */ = Long comment // { xxx } = Chunk containing fields again. // & = Concat strings (to split strings over more than one line). // // File content: See comments below and source code of the player. // - Keybord mapping see near the end of this file. // - The startup resource of the project is defined in the entry "startup". /////////////////////////////////////////////////////////////////////////////// // Configuration parameters: // Avoid storing information // needed for reporting notes and error messages. // Especially avoid storing info strings. // This is useful to save memory on consoles. // Warning! This makes error messages basically useless! // Only set this parameter to 1 for final builds(!) on consoles(!). bare 0 // Automatically save configuration changes back into this file. // Warning! Enabling destroys all formating and deletes all comments. save 0 /////////////////////////////////////////////////////////////////////////////// // Logging parameters: // Print into standard out: stdout 1 stderr 1 // Flush after writing a line to stdandard out: stdout_line_flush 1 stderr_line_flush 1 // File name and format the main message handler logs into. // In the file path, the character "$" is replaced by the current time stamp. // Use the "$" character if you want a separate log file per run. logfile_format "utf8" logfile_path "log_main.log" // If the log file is larger than the size limit, rename the previous log file // into the old log file name and start a new log file. // This mechanism can be used to avoid an unlimited growing log file. // The previous old log file is deleted. // The the file path, the character "$" is replaced by the current time stamp. logfile_size_limit 20000000 logfile_old_path "log_main_old.log" // If enabled, flush the log stream after every line. // This option may help to analyse crashes. // Warning! This slows down the engine noticeable! // Should be enabled only temporarily for debuggung purposes! logfile_line_flush 0 // If enabled, send main logging also to the debugger interface. // Warning! This costs performance even if no debugger is connected! debugout 1 // If enabled, open a message box for errors. error_msg_box 0 // If enabled, open a message box on fatal errors. fatal_error_msg_box 1 // Format for file positions: textstream_pos_templ "" // If enabled, in case of an error immediately abort the application. instant_abort_after_error 0 // If enabled, after an error abort the application at a suitable time. opportune_abort_after_error 0 // File name to log debugging output to. //syslog_path "log_dbg.log" // File name to redirect stdout/stderr to. //redirect_stdout_path "log_out.log" //redirect_stderr_path "log_err.log" /////////////////////////////////////////////////////////////////////////////// // Time parameters: // Maximal time step of each iteration. max_deltatime 0.2 // Delta time used for every frame independent of the real time. //exact_deltatime 0.0 // Time in seconds which the program sleeps each frame. // This can be used for example to avoid that a dedicated server // takes all system power. sleeptime 0.0 // Minimal frame time in seconds. // If the frame (including the sleep time) would be less, // the process sleeps for the rest of this time. min_frmtime 0.0 /////////////////////////////////////////////////////////////////////////////// // Application specific parameters: app { max { unused_time_limit 2.0 unused_sleep_time 0.2 } } /////////////////////////////////////////////////////////////////////////////// // Modules: // List of DLLs containing components to be loaded by the player. // // Each DLL factory is registered under the specified name. // For example, if "shark3d_kit_base.dll" is registerd // under the name "kit_base", an actor ident "kit_base.group" means // to search the component class "group" in the DLL "shark3d_kit_base.dll". // // Meaning of additional parameters: // If 'load_immediately' is set to 0, the DLL is loaded at the time // when a component of the module is requested for the first time. // If 'load_immediately' is set to 1, the DLL is loaded at the beginning. // If 'continue_if_loading_failed' is set to 0, then the engine aborts // with an fatal error if the DLL couldn't be loaded. // If 'continue_if_loading_failed' is set to 1, then the engine continues // even if the DLL couldn't be loaded. modules // Driver modules: { name "drv_winctx" path "shark3d_drv_winctx.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_gfxselect" path "shark3d_drv_gfxselect.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_gfxverify" path "shark3d_drv_gfxverify.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_gfxtargetrect" path "shark3d_drv_gfxtargetrect.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_gfxprotect" path "shark3d_drv_gfxprotect.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_opengl" path "shark3d_drv_opengl.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_openal" path "shark3d_drv_openal.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_d3d9" path "..\\bin\\win32_vc7x1\\release\\shark3d_drv_clodd3d9.dll" // path "shark3d_drv_d3d9.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_dsnd" path "shark3d_drv_dsnd.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_wav" path "shark3d_drv_wav.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_stdinput" path "shark3d_drv_stdinput.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_wininput" path "shark3d_drv_wininput.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_dinput" path "shark3d_drv_dinput.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_netcompr" path "shark3d_drv_netcompr.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_tcp" path "shark3d_drv_tcp.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_udp" path "shark3d_drv_udp.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_commsgeval" path "shark3d_drv_commsgeval.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_stdres" path "shark3d_drv_stdres.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_packres" path "shark3d_drv_packres.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_comres" path "shark3d_drv_comres.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_stdbitmap" path "shark3d_drv_stdbitmap.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_plibbitmap" path "shark3d_drv_plibbitmap.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_dshowvid" path "shark3d_drv_dshowvid.dll" load_immediately 0 continue_if_loading_failed 0 } { name "drv_univprog_std" path "shark3d_drv_univprog_std.dll" load_immediately 0 continue_if_loading_failed 0 } // Engine foundation modules: { name "eng_base" path "shark3d_eng_base.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_pos_std" path "shark3d_eng_pos_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_shader_std" path "shark3d_eng_shader_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_shader_special" path "shark3d_eng_shader_special.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_shader_shvol" path "shark3d_eng_shader_shvol.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_model_std" path "shark3d_eng_model_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_model_special" path "shark3d_eng_model_special.dll" load_immediately 0 continue_if_loading_failed 0 } { name "shark_mesh_loader" // path "shark3d_eng_model_std.dll" path "..\\bin\\win32_vc7x1\\release\\shark_mesh_loader.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_geo_std" path "shark3d_eng_geo_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_visib_pvs" path "shark3d_eng_visib_pvs.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_phys_std" path "shark3d_eng_phys_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_sensor_std" path "shark3d_eng_sensor_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_font_std" path "shark3d_eng_font_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_tex_std" path "shark3d_eng_tex_std.dll" load_immediately 0 continue_if_loading_failed 0 } { name "eng_wave_std" path "shark3d_eng_wave_std.dll" load_immediately 0 continue_if_loading_failed 0 } // Framework modules: { name "kit_base" path "shark3d_kit_base.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_io" path "shark3d_kit_io.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_engbase" path "shark3d_kit_engbase.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_engobj" path "shark3d_kit_engobj.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_special" path "shark3d_kit_special.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_com" path "shark3d_kit_com.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_snk" path "shark3d_kit_snk.dll" load_immediately 0 continue_if_loading_failed 0 } { name "kit_perch" path "shark3d_kit_perch.dll" load_immediately 0 continue_if_loading_failed 0 } /////////////////////////////////////////////////////////////////////////////// // Log into TCP server: msgeval_ident "drv_commsgeval.msgeval" msgeval_param { env "env" addrport_conv "addr_conv" addrport "[comaddrport]" } /////////////////////////////////////////////////////////////////////////////// // Resource manager: resmgr_ident "drv_stdres.resmgr_dispatch" resmgr_param { env "env" log_enabled 0 entry_array { prefix "" ident "drv_stdres.resmgr_select" param { env "env" // Select a resource manager: // "normal" -> Reading from file and using DRU. // "packfile" -> Reading from a packfile. select "normal" entry_array { // Default: Advanced file resource manager. name "normal" ident "drv_comres.resmgr" param { env "env" addrport_conv "addr_conv" addrport "[comaddrport]" ignore_socket_errors 1 com_buf_size 0 request_timeout 0.0 request_waitsleep 0.0 child_ident "drv_stdres.resmgr_file" child_param { env "env" // Prefix added to the resource name for // infos and errors: name_prefix "res:" // Location to load the files from: ref_dir "[homedir]bin/res/" // Convertor for the ref_dir, for replacing // placeholders. ref_dir_conv "path_conv" // Don't allow resource names to start // with ".." or "/": allow_any_path 0 // Case sensitive file name on Win32 platform. // Should be enabled to avoid problems // with non-Win32 platforms, packfiles or DRU. non_strict_path 0 // Cache size not too large to avoid stuttering: file_cache_size 4096 // Log all file accesses: log_enabled 1 } } } { name "packfile" ident "drv_packres.resmgr_pack" param { env "env" child_ident "drv_stdres.resmgr_file" child_param { env "env" name_prefix "" ref_dir "" ref_dir_conv "" allow_any_path 0 non_strict_path 0 file_cache_size 4096 log_enabled 1 } entry_array { prefix "" pack_res "packfile.s3d_pack" name_prefix "res:" } journal_file_path "packfile.s3d_packjournal" journal_file_format "utf8" index_cache_size 4096 res_cache_size 4096 } } } } { // Prefix "file:": Open as file. prefix "file:" ident "drv_stdres.resmgr_file" param { env "env" ref_dir "" ref_dir_conv "" allow_any_path 1 non_strict_path 0 file_cache_size 4096 // Not too large to avoid stuttering log_enabled 1 } } } /////////////////////////////////////////////////////////////////////////////// // Startup resource: // Name of the startup resource. // This resources describes the first actor created by the player. startup "main/actor/main.s3d_actor_run" /////////////////////////////////////////////////////////////////////////////// // Application configuration: // The parameters of the following chunk are evaluated by the application. // // All these parameter can be also changed by the application. // However, depending on the parameter it may have only effect // after restarting the application. // Other parameters may take effect by re-initializing a part // of the runtime system. For example, the "reload_io" command // re-initializes input, graphics, and sound. // cfg { // Network engine. network { // Enable/disable networking. enabled 1 // Component type. ident "drv_netcompr.neteng" param { env "env" // Log runtime network statistic in message handler: log_enabled 0 // Compression level (0 for disabling) compr_level 9 // Child driver TCP: child_ident "drv_tcp.neteng" child_param { env "env" // Send buffer ring size. buffer_size 65536 // Log runtime network statistic in message handler: log_enabled 0 // Enable/disable Nagle algorithm. no_delay 0 // When connecting, try "connect_retry_count" times // with a pause of "connect_retry_delay" seconds // between each try. //connect_retry_count 10 //connect_retry_delay 1.0 } // Child driver UDP: /* child_ident "drv_udp.neteng" child_param { // Maximal packet size. Larger data blocks are divided. // Smaller packet sizes may give smoother transfer rates. max_msg_size 256 // Timeout after which a alive ping is send if no data arrives. alive_period 1.0 // Timeout after which an fatal error is generated. timeout 30.0 } */ } } // Server configuration. server { // Enable/disable the server. // Disable the server if you connect to a extern server. enabled 1 // Port number the server is listening on. // If empty, no client can connect via network. addr "0.0.0.0:33300" } // Client configuration. client { // Enable/disable the client. // Disable it for a dedicated server. enabled 1 // Format: ":" // If empty, the client is connected to a local server. addr "" //addr "127.0.0.1:33300" //addr "192.168.0.1:33300" // Define a extra rotation on client side, // for example for cave applications. extratransf { axis_x 0.0 axis_y 0.0 axis_z 1.0 degree 0.0 offset_x 0.0 offset_y 0.0 offset_z 0.0 } } // Bitmap file format drivers: bitmapparser { ident "drv_stdbitmap.bitmapparser_dispatch" param { env "env" entry_array { ident "drv_stdbitmap.bitmapparser_std" param { } } { ident "drv_plibbitmap.bitmapparser_plib" param { } } } } // Video format drivers: videoparser { ident "drv_dshowvid.videoparser" param { env "env" // Prefix for loading videos: prefix "file://bin/res/" // During two rendering frames, or if a video is not visible, // then wait this time in seconds before decompressing // the next frame. wait_continue 1.0 } } // Sound file format drivers: waveparser { ident "drv_wav.waveparser" param { } } // IO context configuration. // The context is the link between gfx-output, input and sound. // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. context { // Component type. Empty string creates default component of DLL. ident "drv_winctx.ctx" param { env "env" caption "Shark 3D" // Window is always on the top: topmost 0 // If set to one, the given size is not the client area size, // but the total window size. size_is_window_size 0 // Disable ALT-TAB and ALT-RETURN in fullsceen mode. fullscreen_disable_hotkeys 1 // File name pattern for screenshots. // Screenshots can be triggered by the command "store_screenshot". // See the key bindings below. // Note that alternatively you can also use the standard // windows screenshot mechanism: // Alt-PrintScreen copies a screenshot into the clipboard. screenshot_filepat "shot####.bmp" // Store a screenshot each frame: auto_screenshot 0 // Sleep time in seconds each frame if the window is deactive: //deactive_sleep_time 0.0 deactive_sleep_time 0.05 } } // Graphics engine configuration. // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. gfxeng { // 3D driver DLL. If empty, use internal factory. // Select one of the following drivers: // Auto detection: ident "drv_gfxselect.gfxmgr" param { env "env" // Driver selection: // "d3d9" -> Direct3D9 // "opengl" -> OpenGL. // Note: For OpenGL you have to compile the resources differently, // see the notes in "utility/buildres/tool_prep_win32.cfg". // Note: OpenGL support of v5 is not stable and not finished yet. select "d3d9" //select "opengl" entry_array { name "d3d9" ident "drv_d3d9.gfxmgr" param { env "env" univprog_suppl "envcompsuppl" univprog_given_array { item "env" given_ident "env" } default_outparam { // Log all Direct3D calls. Very slow. log_dx_calls 0 // Use software reference driver. ref_driver 0 tripple_buffering 0 force_sw_vertexbuf 0 force_hw_vertexbuf 0 prefer_idxbuf32 0 pure_device 1 // Don't preserve FPU state. May help improve // performance, but may cause fp precision problems. disable_fpu_preserve 0 // Binary logarithm of the minimal texture width. // 5 -> 32 to avoid problems with NVidia drivers: min_lb_tex_width 5 // Binary logarithm of the minimal texture height. // 5 -> 32 to avoid problems with NVidia drivers: min_lb_tex_height 5 // Binary logarithm of the minimal volume texture // extension. min_lb_vol_tex_ext 5 // Don't use dynamic VB, only static VB and UP. no_dynamic_vertexbuf 0 // If enabled dummy blend weights and indices are put // into same vertexbuffer as other vertex data. // If disabled a small 16 byte application global // vertexbuffer will be used for dummy data. no_dummybone_vertexbuf 1 // Use DrawIndexedPrimitiveUP() for dynamic VBs // instead of DrawIndexedPrimitive() use_draw_indexed_primitive_up 1 // If non-zero, flush cmdbuffer every idxcnt idx_flush_cnt 0 // If hw does not support this vertex shader version, // use sw: req_vert_shad_ver "0x0" // Use faked fullscreen mode: faked_fullscreen 0 // If true d3d shader debug is possible for asm and // hlsl shaders pure_device needs to be 0 and // force_sw_vertexbuf needs to be 1 for pixelshader // debugging enable ref_driver shader_debug 0 // Report creation and destruction information report_batch 1 report_buf 1 report_tex 1 report_prog 1 // compress textures that are greater than // 'min_texcompress_width' and 'min_texcompress_height' // 0 = dont override compression flag min_texcompress_width 0 min_texcompress_height 0 // use at most 'max_miplevels' for textures // 0 = automatic mip level count max_miplevels 0 // <= 1: disable anisotropic texture filtering max_anisotropy 4 // disable special nvidia depth texture nvdepthtex_enabled 0 // Preload d3d textures, vertex and indexbuffers preload_resources 0 // if enabled, vertprog declaration will be checked // against vertexbuffer declaration each frame. // Useful while shaderprog development. validate_prog_buf 1 gamma_2x2_enabled 0 srgb_tex_enabled 0 srgb_write_enabled 0 // Multisampling: // 0 := Auto select. // 1 := Disable multisampling // n := Selects multisample multisample 0 // Enable info output for D3D PIX pix_enabled 0 } } enum_param { } } { name "opengl" ident "drv_opengl.gfxmgr" param { env "env" univprog_suppl "envcompsuppl" univprog_given_array { item "env" given_ident "env" } default_outparam { // Disable OpenGL extensions by the combination of the // lower-case renderer string and lower-case extension // name: // "@" forbid_pat "" //& "|*geforce*@gl_arb_vertex_buffer_object" & "|*@gl_ext_compiled_vertex_array" & "|*radeon 9000*@gl_arb_vertex_buffer_object" & "|*radeon 9000*@//display_list" // <= 1: disable anisotropic texture filtering max_anisotropy 4 } } enum_param { } } } enum_param { } enum_enabled 1 // Write fullscreen modes into log. } // Graphics output configuration. // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. gfxout { // Select a display device. Empty string for default device. // Different gfx backends support different device strings. // In case of Direct3D, "0", "1", "2" selects a Direct3D adapter. // See the log file for a list of devices and fullscreen modi. // This may include for example the Nvidia PerfHUD adapter. device "" // Window position, use -1 for default window position left 0 top 0 // Resolution and color depth: width 640 height 480 //width 1024 //height 768 depth 32 frequency 0 gamma 1.0 1.0 1.0 fullscreen 0 nostencil 0 // Don't allocate a stencil buffer. nobatch 0 // Don't use batch objects (e.g. display lists) // Other graphics parameter: reportinfo 0 // Report driver allocations (textures etc.). quality 0 // Prefer rendering quality instead of speed. software 0 // Use software emulation. singlebuffer 0 // Don't use double-buffering. synch 0 // Wait for vertical refresh. noextensions 0 // Don't use API extensions (e.g. OpenGL ext.) abort_if_no_gfxout 1 // Fatal error if initialization failed. } // 3D projection information: // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. proj_world { // Define the opening angles. open_x 1.0 // Slope of the left and right clipping plane. open_y 0.75 // Slope of the top and bottom clipping plane. //open_x 1.119 // Slope of the left and right clipping plane. //open_y 0.629 // Slope of the top and bottom clipping plane. center_x 0.0 center_y 0.0 } proj_display { // Define the opening angles. open_x 1.0 // Size of the left and right clipping plane. open_y 0.75 // Size of the top and bottom clipping plane. //open_x 1.119 // Slope of the left and right clipping plane. //open_y 0.629 // Slope of the top and bottom clipping plane. center_x 0.0 center_y 0.0 } // Stereo rendering parameters: eyedist { world 0.1 // World eye disteance for stereo rendering. display 0.1 // Display eye distance for stereo rendering. } // 3D gfxport configuration: gfxport { // Other gfxport parameters: cull_pix 10.0 // Minimal object screen size for culling mesh_pix 5.0 // Minimal geometry screen presision visib_mesh_pix 5.0 // Geom. scr. prec. for glow visib. test // Debugging parameters: texaux_inspect_scale_x 0.0 texaux_inspect_scale_y 0.0 //texaux_inspect_scale_x 0.05 // Debug output of rendertargets //texaux_inspect_scale_y 0.05 } // Other view options: // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. view { // Shader system: If the batches are static, // don't evaluate the mesh data every frame anymore. economise 1 // Shader system: If the mesh data is not needed anymore, // reduce the model: reduce 1 } // Sound configuration. // // These parameters may be also changed by the application, // and then take effect by a "reload_io" command, // see the keyboard configuration below. snd { // Enable/disable sound. enabled 1 // Component type. Empty string creates default component of DLL. ident "drv_dsnd.sndeng" param { ctx "ctx" // Ignore all DirectSound errors. ignore_ds_errors 0 // As default, all mono wave files are played as 3d sound, // and all stereo wave files are played conventionally. no3d_always 0 no3d_pan_scale 1.0 no3d_back_down 0.0 // Sound device: device_index 0 // DirectSound Cooperative Level. //coop_level "exclusive" //coop_level "normal" coop_level "priority" // Needed to set the primary buffer format //coop_level "writeprimary" // Sound buffer len used for each sound source. buffer_len 2.0 // Pre-load seconds for each wave file. preload_sec 0.0 // Maximal change of the volume of each sound source per frame. // Setting this parameter to an non-zero value // may help avoiding cracking. // For example, a value of 0.1 means that a sound source is not // stopped immediately, but fade down during a period // of maximal 10 frames. max_volume_change_per_frame 0.1 // Requested format for the primary buffer: // If a value is null, the current value is kept. primary_bits_per_sample 16 primary_channels 2 primary_samples_per_sec 44100 // Requested format for wave files since some formats give // a ugly performance on some sound cards. // If a value is 0, a wave file may have any value, // but the sound cards must convert on the fly. wave_bits_per_sample 16 wave_channels 1 wave_samples_per_sec 44100 // Number of sound buffers to reserve at initialization: wave_buffer_reserve 4 } /* ident "drv_openal.sndeng" param { // Ignore all DirectSound errors. ignore_errors 0 // As default, all mono wave files are played as 3d sound, // and all stereo wave files are played conventionally. no3d_always 0 no3d_pan_scale 1.0 no3d_back_down 0.0 // Sound buffer len used for each sound source. buffer_size 88200 // Pre-load seconds for each wave file. preload_sec 0.0 // Maximal change of the volume of each sound source per frame. // Setting this parameter to an non-zero value // may help avoiding cracking. // For example, a value of 0.1 means that a sound source is not // stopped immediately, but fade down during a period of 10 frames. max_volume_change_per_frame 0.1 // Requested format for wave files since some formats give // a ugly performance on some sound cards. wave_bits_per_sample 16 wave_channels 1 wave_samples_per_sec 44100 // Number of sound buffers to reserve at initialization: wave_buffer_reserve 4 } */ } // List of feature strings. // These strings can be tested for example by shaders, // to select between different shader variants: feature_set "dummy1" "dummy2" // Actor logging switches. // Note that other components like drivers may have further switches. log { evtmgr 1 // Log events of event queues. stat 0 // Log the statistical information of each frame. } // Statistical information display configuration. insp { // Info paint offset and character size: paint { offs_x_pix 0.0 offs_y_pix 0.0 char_size_x_pix 0.0 char_size_y_pix 0.0 } // Enable particular statistical information items: general 0 // General information (including engine version). frmtime 0 // Frametime. mem 0 // Memory gfxport 0 // Gfxport rendering statistics. gfxbase 0 // Graphics basic information. gfxstat 0 // Graphics driver statistics. cursor 0 // Cursor statistics msg 0 // Show messages. // File to log the frametime into. frmtime_logfile "" //frmtime_logfile "log_frametime.log" // Maximal number of message lines: msg_limit 8 // Also include non-errors: msg_alsoinfo 0 } // Input configuration: input { // Player control smooth time for movements and rotating. // May be for example useful when creating demo videos. smooth_move 0.0 smooth_rot 0.0 // Position device dead zone. deadzone 0.0 // Drivers: mgr // Select these entries for using DirectInput: { inputmgr_ident "drv_stdinput.inputmgr_multi" inputmgr_param { env "env" ctx "ctx" entry_array // DirectInput: { ctx_pattern "application" ident "drv_dinput.inputmgr" param { env "env" ctx "ctx" handle_keyboard 1 handle_mouse 0 handle_ctrl 1 // For example joysticks ignore_di_errors 0 attached_only 0 // Work around for DirectInput bug: // If the keyboard is not polled for this number // of seconds, assume the keyboard to be reset. reset_time_limit 1.0 // If not zero, joystick devices are polled within // a thread every thread_period seconds. thread_period 0.1 } } // Select these entries for using the Windows message queue: { ctx_pattern "application" ident "drv_wininput.inputmgr" param { env "env" ctx "ctx" handle_keyboard 0 handle_mouse 1 catch_mouse 0 // Can be toggled by the "c" key. } } // Used for ActiveX controls and Max player: { ctx_pattern "activex|maxplayer" ident "drv_wininput.inputmgr" param { env "env" ctx "ctx" catch_mouse 0 // Can be toggled by the "c" key. } } } } // Input mapping configuration. // Format: // : Kind of device: // trigger: A key generating events when being pressed. // button: A key generating events when being pressed and released. // motion: A device generating relative motions, e.g. mouse. // position: A device having an absolute position, e.g. joystick. // : Device name. May contain wild cards like "*". // : Event name. // : Command sent to the engine. mapping { // Syntax: mode device event command trigger "Keyboard" "0" "goto_level0" trigger "Keyboard" "1" "goto_level1" trigger "Keyboard" "2" "goto_level2" trigger "Keyboard" "3" "goto_level3" trigger "Keyboard" "4" "goto_level4" trigger "Keyboard" "5" "goto_level5" trigger "Keyboard" "6" "goto_level6" trigger "Keyboard" "7" "goto_level7" trigger "Keyboard" "8" "goto_level8" trigger "Keyboard" "9" "goto_level9" trigger "Keyboard" "F1" "goto_level10" trigger "Keyboard" "F2" "goto_level11" trigger "Keyboard" "F3" "goto_level12" trigger "Keyboard" "F4" "goto_level13" trigger "Keyboard" "F5" "goto_level14" trigger "Keyboard" "F6" "goto_level15" trigger "Keyboard" "F7" "goto_level16" trigger "Keyboard" "F8" "goto_level17" trigger "Keyboard" "F9" "goto_level18" trigger "Keyboard" "F10" "goto_level19" trigger "Keyboard" "F11" "goto_level20" trigger "Keyboard" "F12" "goto_level21" trigger "Keyboard" "A" "" trigger "Keyboard" "B" "toggle_showgfxbound" trigger "Keyboard" "C" "toggle_catch_mouse" trigger "Keyboard" "D" "toggle_showphyscontact" trigger "Keyboard" "E" "reset_msg" trigger "Keyboard" "F" "toggle_frmtime" trigger "Keyboard" "G" "god" trigger "Keyboard" "H" "toggle_showphysgeo" trigger "Keyboard" "I" "store_screenshot" trigger "Keyboard" "J" "toggle_stat" trigger "Keyboard" "K" "reset_stat" trigger "Keyboard" "L" "load_file_default" trigger "Keyboard" "M" "toggle_showgfxmesh" trigger "Keyboard" "N" "toggle_showgfxocclmesh" trigger "Keyboard" "O" "reload_io" trigger "Keyboard" "P" "toggle_showsensorgeo" trigger "Keyboard" "Q" "toggle_showsensorbound" trigger "Keyboard" "R" "refresh_all_res" trigger "Keyboard" "S" "store_file_default" trigger "Keyboard" "T" "toggle_showphysbound" trigger "Keyboard" "U" "toggle_shownoise" trigger "Keyboard" "V" "toggle_showgfxocclwire" trigger "Keyboard" "W" "toggle_showgfxwire" trigger "Keyboard" "X" "" trigger "Keyboard" "Y" "toggle_fullscreen" trigger "Keyboard" "Z" "extra" trigger "Keyboard" "Escape" "quit" trigger "Keyboard" "Space" "" trigger "Keyboard" "Return" "" button "Keyboard" "Up" "switch_vel_pos_y" button "Keyboard" "Down" "switch_vel_neg_y" button "Keyboard" "Left" "switch_vel_neg_x" button "Keyboard" "Right" "switch_vel_pos_x" button "Keyboard" "Page Up" "switch_spin_pos_x" button "Keyboard" "Page Down" "switch_spin_neg_x" trigger "Mouse" "Left Button" "" trigger "Mouse" "Right Button" "" motion "Mouse" "X Axis" "apply_rot_pos_z" motion "Mouse" "Y Axis" "apply_rot_pos_x" motion "Mouse" "X Axis" "move_cursor_x" motion "Mouse" "Y Axis" "move_cursor_y" position "Mouse" "X Axis" "set_cursor_x" position "Mouse" "Y Axis" "set_cursor_y" position "*joystick*" "X Axis" "assign_spin_pos_z" position "*joystick*" "Y Axis" "assign_vel_pos_y" trigger "*joystick*" "Button 0" "" trigger "*joystick*" "Button 1" "" } } mediaplay { prefix "bin/res/" } // Configuration of communication channels to external applications. cas { // Enable cas shell: enabled 1 // TCP port of the CAS (component access shell) terminal. addrport "0.0.0.0:33301" // Echo input of the CAS terminal. // Should be set to 1 when using a TELNET client. echo 1 // Emulate the telnet protocol. // Should be set to 1 when using a TELNET client. // If set to 0, the raw lines are sent. telnet 1 } } /////////////////////////////////////////////////////////////////////////////// // End of file.