source: GTP/trunk/App/Demos/Geom/Shark3D/clod_head_demo_win32/win32_run.cfg @ 2236

Revision 2236, 44.4 KB checked in by gumbau, 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
14// This file configures the Shark 3D runtime engine.
15//
16// File syntax: Snake File Format, see documentation for details.
17// Each field has a name and none, one or more values of type integer,
18// float, string or chunk.
19//   //         = Comment until end of line.
20//   /* xxx */  = Long comment
21//   { xxx }    = Chunk containing fields again.
22//   &          = Concat strings (to split strings over more than one line).
23//
24// File content: See comments below and source code of the player.
25// - Keybord mapping see near the end of this file.
26// - The startup resource of the project is defined in the entry "startup".
27
28///////////////////////////////////////////////////////////////////////////////
29// Configuration parameters:
30
31// Avoid storing information
32// needed for reporting notes and error messages.
33// Especially avoid storing info strings.
34// This is useful to save memory on consoles.
35// Warning! This makes error messages basically useless!
36// Only set this parameter to 1 for final builds(!) on consoles(!).
37bare 0
38
39// Automatically save configuration changes back into this file.
40// Warning! Enabling destroys all formating and deletes all comments.
41save 0
42
43///////////////////////////////////////////////////////////////////////////////
44// Logging parameters:
45
46// Print into standard out:
47stdout 1
48stderr 1
49
50// Flush after writing a line to stdandard out:
51stdout_line_flush 1
52stderr_line_flush 1
53
54// File name and format the main message handler logs into.
55// In the file path, the character "$" is replaced by the current time stamp.
56// Use the "$" character if you want a separate log file per run.
57logfile_format "utf8"
58logfile_path "log_main.log"
59
60// If the log file is larger than the size limit, rename the previous log file
61// into the old log file name and start a new log file.
62// This mechanism can be used to avoid an unlimited growing log file.
63// The previous old log file is deleted.
64// The the file path, the character "$" is replaced by the current time stamp.
65logfile_size_limit 20000000
66logfile_old_path "log_main_old.log"
67
68// If enabled, flush the log stream after every line.
69// This option may help to analyse crashes.
70// Warning! This slows down the engine noticeable!
71// Should be enabled only temporarily for debuggung purposes!
72logfile_line_flush 0
73
74// If enabled, send main logging also to the debugger interface.
75// Warning! This costs performance even if no debugger is connected!
76debugout 1
77
78// If enabled, open a message box for errors.
79error_msg_box 0
80
81// If enabled, open a message box on fatal errors.
82fatal_error_msg_box 1
83
84// Format for file positions:
85textstream_pos_templ ""
86
87// If enabled, in case of an error immediately abort the application.
88instant_abort_after_error 0
89
90// If enabled, after an error abort the application at a suitable time.
91opportune_abort_after_error 0
92
93// File name to log debugging output to.
94//syslog_path "log_dbg.log"
95
96// File name to redirect stdout/stderr to.
97//redirect_stdout_path "log_out.log"
98//redirect_stderr_path "log_err.log"
99
100///////////////////////////////////////////////////////////////////////////////
101// Time parameters:
102
103// Maximal time step of each iteration.
104max_deltatime 0.2
105
106// Delta time used for every frame independent of the real time.
107//exact_deltatime 0.0
108
109// Time in seconds which the program sleeps each frame.
110// This can be used for example to avoid that a dedicated server
111// takes all system power.
112sleeptime 0.0
113
114// Minimal frame time in seconds.
115// If the frame (including the sleep time) would be less,
116// the process sleeps for the rest of this time.
117min_frmtime 0.0
118
119///////////////////////////////////////////////////////////////////////////////
120// Application specific parameters:
121
122app
123{
124    max
125    {
126        unused_time_limit 2.0
127        unused_sleep_time 0.2
128    }
129}
130
131///////////////////////////////////////////////////////////////////////////////
132// Modules:
133
134// List of DLLs containing components to be loaded by the player.
135//
136// Each DLL factory is registered under the specified name.
137// For example, if "shark3d_kit_base.dll" is registerd
138// under the name "kit_base", an actor ident "kit_base.group" means
139// to search the component class "group" in the DLL "shark3d_kit_base.dll".
140//
141// Meaning of additional parameters:
142// If 'load_immediately' is set to 0, the DLL is loaded at the time
143// when a component of the module is requested for the first time.
144// If 'load_immediately' is set to 1, the DLL is loaded at the beginning.
145// If 'continue_if_loading_failed' is set to 0, then the engine aborts
146// with an fatal error if the DLL couldn't be loaded.
147// If 'continue_if_loading_failed' is set to 1, then the engine continues
148// even if the DLL couldn't be loaded.
149modules
150// Driver modules:
151{
152    name "drv_winctx"
153    path "shark3d_drv_winctx.dll"
154    load_immediately 0
155    continue_if_loading_failed 0
156}
157{
158    name "drv_gfxselect"
159    path "shark3d_drv_gfxselect.dll"
160    load_immediately 0
161    continue_if_loading_failed 0
162}
163{
164    name "drv_gfxverify"
165    path "shark3d_drv_gfxverify.dll"
166    load_immediately 0
167    continue_if_loading_failed 0
168}
169{
170    name "drv_gfxtargetrect"
171    path "shark3d_drv_gfxtargetrect.dll"
172    load_immediately 0
173    continue_if_loading_failed 0
174}
175{
176    name "drv_gfxprotect"
177    path "shark3d_drv_gfxprotect.dll"
178    load_immediately 0
179    continue_if_loading_failed 0
180}
181{
182    name "drv_opengl"
183    path "shark3d_drv_opengl.dll"
184    load_immediately 0
185    continue_if_loading_failed 0
186}
187{
188    name "drv_openal"
189    path "shark3d_drv_openal.dll"
190    load_immediately 0
191    continue_if_loading_failed 0
192}
193{
194    name "drv_d3d9"
195    path "..\\bin\\win32_vc7x1\\release\\shark3d_drv_clodd3d9.dll"
196//    path "shark3d_drv_d3d9.dll"
197    load_immediately 0
198    continue_if_loading_failed 0
199}
200{
201    name "drv_dsnd"
202    path "shark3d_drv_dsnd.dll"
203    load_immediately 0
204    continue_if_loading_failed 0
205}
206{
207    name "drv_wav"
208    path "shark3d_drv_wav.dll"
209    load_immediately 0
210    continue_if_loading_failed 0
211}
212{
213    name "drv_stdinput"
214    path "shark3d_drv_stdinput.dll"
215    load_immediately 0
216    continue_if_loading_failed 0
217}
218{
219    name "drv_wininput"
220    path "shark3d_drv_wininput.dll"
221    load_immediately 0
222    continue_if_loading_failed 0
223}
224{
225    name "drv_dinput"
226    path "shark3d_drv_dinput.dll"
227    load_immediately 0
228    continue_if_loading_failed 0
229}
230{
231    name "drv_netcompr"
232    path "shark3d_drv_netcompr.dll"
233    load_immediately 0
234    continue_if_loading_failed 0
235}
236{
237    name "drv_tcp"
238    path "shark3d_drv_tcp.dll"
239    load_immediately 0
240    continue_if_loading_failed 0
241}
242{
243    name "drv_udp"
244    path "shark3d_drv_udp.dll"
245    load_immediately 0
246    continue_if_loading_failed 0
247}
248{
249    name "drv_commsgeval"
250    path "shark3d_drv_commsgeval.dll"
251    load_immediately 0
252    continue_if_loading_failed 0
253}
254{
255    name "drv_stdres"
256    path "shark3d_drv_stdres.dll"
257    load_immediately 0
258    continue_if_loading_failed 0
259}
260{
261    name "drv_packres"
262    path "shark3d_drv_packres.dll"
263    load_immediately 0
264    continue_if_loading_failed 0
265}
266{
267    name "drv_comres"
268    path "shark3d_drv_comres.dll"
269    load_immediately 0
270    continue_if_loading_failed 0
271}
272{
273    name "drv_stdbitmap"
274    path "shark3d_drv_stdbitmap.dll"
275    load_immediately 0
276    continue_if_loading_failed 0
277}
278{
279    name "drv_plibbitmap"
280    path "shark3d_drv_plibbitmap.dll"
281    load_immediately 0
282    continue_if_loading_failed 0
283}
284{
285    name "drv_dshowvid"
286    path "shark3d_drv_dshowvid.dll"
287    load_immediately 0
288    continue_if_loading_failed 0
289}
290{
291    name "drv_univprog_std"
292    path "shark3d_drv_univprog_std.dll"
293    load_immediately 0
294    continue_if_loading_failed 0
295}
296// Engine foundation modules:
297{
298    name "eng_base"
299    path "shark3d_eng_base.dll"
300    load_immediately 0
301    continue_if_loading_failed 0
302}
303{
304    name "eng_pos_std"
305    path "shark3d_eng_pos_std.dll"
306    load_immediately 0
307    continue_if_loading_failed 0
308}
309{
310    name "eng_shader_std"
311    path "shark3d_eng_shader_std.dll"
312    load_immediately 0
313    continue_if_loading_failed 0
314}
315{
316    name "eng_shader_special"
317    path "shark3d_eng_shader_special.dll"
318    load_immediately 0
319    continue_if_loading_failed 0
320}
321{
322    name "eng_shader_shvol"
323    path "shark3d_eng_shader_shvol.dll"
324    load_immediately 0
325    continue_if_loading_failed 0
326}
327{
328    name "eng_model_std"
329    path "shark3d_eng_model_std.dll"
330    load_immediately 0
331    continue_if_loading_failed 0
332}
333{
334    name "eng_model_special"
335    path "shark3d_eng_model_special.dll"
336    load_immediately 0
337    continue_if_loading_failed 0
338}
339{
340    name "shark_mesh_loader"
341//    path "shark3d_eng_model_std.dll"
342    path "..\\bin\\win32_vc7x1\\release\\shark_mesh_loader.dll"
343    load_immediately 0
344    continue_if_loading_failed 0
345}
346{
347    name "eng_geo_std"
348    path "shark3d_eng_geo_std.dll"
349    load_immediately 0
350    continue_if_loading_failed 0
351}
352{
353    name "eng_visib_pvs"
354    path "shark3d_eng_visib_pvs.dll"
355    load_immediately 0
356    continue_if_loading_failed 0
357}
358{
359    name "eng_phys_std"
360    path "shark3d_eng_phys_std.dll"
361    load_immediately 0
362    continue_if_loading_failed 0
363}
364{
365    name "eng_sensor_std"
366    path "shark3d_eng_sensor_std.dll"
367    load_immediately 0
368    continue_if_loading_failed 0
369}
370{
371    name "eng_font_std"
372    path "shark3d_eng_font_std.dll"
373    load_immediately 0
374    continue_if_loading_failed 0
375}
376{
377    name "eng_tex_std"
378    path "shark3d_eng_tex_std.dll"
379    load_immediately 0
380    continue_if_loading_failed 0
381}
382{
383    name "eng_wave_std"
384    path "shark3d_eng_wave_std.dll"
385    load_immediately 0
386    continue_if_loading_failed 0
387}
388// Framework modules:
389{
390    name "kit_base"
391    path "shark3d_kit_base.dll"
392    load_immediately 0
393    continue_if_loading_failed 0
394}
395{
396    name "kit_io"
397    path "shark3d_kit_io.dll"
398    load_immediately 0
399    continue_if_loading_failed 0
400}
401{
402    name "kit_engbase"
403    path "shark3d_kit_engbase.dll"
404    load_immediately 0
405    continue_if_loading_failed 0
406}
407{
408    name "kit_engobj"
409    path "shark3d_kit_engobj.dll"
410    load_immediately 0
411    continue_if_loading_failed 0
412}
413{
414    name "kit_special"
415    path "shark3d_kit_special.dll"
416    load_immediately 0
417    continue_if_loading_failed 0
418}
419{
420    name "kit_com"
421    path "shark3d_kit_com.dll"
422    load_immediately 0
423    continue_if_loading_failed 0
424}
425{
426    name "kit_snk"
427    path "shark3d_kit_snk.dll"
428    load_immediately 0
429    continue_if_loading_failed 0
430}
431{
432    name "kit_perch"
433    path "shark3d_kit_perch.dll"
434    load_immediately 0
435    continue_if_loading_failed 0
436}
437
438///////////////////////////////////////////////////////////////////////////////
439// Log into TCP server:
440
441msgeval_ident "drv_commsgeval.msgeval"
442msgeval_param
443{
444    env "env"
445    addrport_conv "addr_conv"
446    addrport "[comaddrport]"
447}
448
449///////////////////////////////////////////////////////////////////////////////
450// Resource manager:
451
452resmgr_ident "drv_stdres.resmgr_dispatch"
453resmgr_param
454{
455    env "env"
456    log_enabled 0
457    entry_array
458    {
459        prefix ""
460        ident "drv_stdres.resmgr_select"
461        param
462        {
463            env "env"
464            // Select a resource manager:
465            // "normal" -> Reading from file and using DRU.
466            // "packfile" -> Reading from a packfile.
467            select "normal"
468           
469            entry_array
470            {
471                // Default: Advanced file resource manager.
472                name "normal"
473                ident "drv_comres.resmgr"
474                param
475                {
476                    env "env"
477                    addrport_conv "addr_conv"
478                    addrport "[comaddrport]"
479                    ignore_socket_errors 1
480                    com_buf_size 0
481                    request_timeout 0.0
482                    request_waitsleep 0.0
483                    child_ident "drv_stdres.resmgr_file"
484                    child_param
485                    {
486                        env "env"
487                        // Prefix added to the resource name for
488                        // infos and errors:
489                        name_prefix "res:"
490                        // Location to load the files from:
491                        ref_dir "[homedir]bin/res/"
492                        // Convertor for the ref_dir, for replacing
493                        // placeholders.
494                        ref_dir_conv "path_conv"
495                        // Don't allow resource names to start
496                        // with ".." or "/":
497                        allow_any_path 0
498                        // Case sensitive file name on Win32 platform.
499                        // Should be enabled to avoid problems
500                        // with non-Win32 platforms, packfiles or DRU.
501                        non_strict_path 0
502                        // Cache size not too large to avoid stuttering:
503                        file_cache_size 4096
504                        // Log all file accesses:
505                        log_enabled 1
506                    }
507                }
508            }
509            {
510                name "packfile"
511                ident "drv_packres.resmgr_pack"
512                param
513                {
514                    env "env"
515                    child_ident "drv_stdres.resmgr_file"
516                    child_param
517                    {
518                        env "env"
519                        name_prefix ""
520                        ref_dir ""
521                        ref_dir_conv ""
522                        allow_any_path 0
523                        non_strict_path 0
524                        file_cache_size 4096
525                        log_enabled 1
526                    }
527                    entry_array
528                    {
529                        prefix ""
530                        pack_res "packfile.s3d_pack"
531                        name_prefix "res:"
532                    }
533                    journal_file_path "packfile.s3d_packjournal"
534                    journal_file_format "utf8"
535                    index_cache_size 4096
536                    res_cache_size 4096
537                }
538            }
539        }
540    }
541    {
542        // Prefix "file:": Open as file.
543        prefix "file:"
544        ident "drv_stdres.resmgr_file"
545        param
546        {
547            env "env"
548            ref_dir ""
549            ref_dir_conv ""
550            allow_any_path 1
551            non_strict_path 0
552            file_cache_size 4096    // Not too large to avoid stuttering
553            log_enabled 1
554        }
555    }
556}
557
558///////////////////////////////////////////////////////////////////////////////
559// Startup resource:
560
561// Name of the startup resource.
562// This resources describes the first actor created by the player.
563startup "main/actor/main.s3d_actor_run"
564
565///////////////////////////////////////////////////////////////////////////////
566// Application configuration:
567
568// The parameters of the following chunk are evaluated by the application.
569//
570// All these parameter can be also changed by the application.
571// However, depending on the parameter it may have only effect
572// after restarting the application.
573// Other parameters may take effect by re-initializing a part
574// of the runtime system. For example, the "reload_io" command
575// re-initializes input, graphics, and sound.
576//
577cfg
578{
579    // Network engine.
580    network
581    {
582        // Enable/disable networking.
583        enabled 1
584
585        // Component type.
586        ident "drv_netcompr.neteng"
587        param
588        {
589            env "env"
590           
591            // Log runtime network statistic in message handler:
592            log_enabled 0
593
594            // Compression level (0 for disabling)
595            compr_level 9
596
597            // Child driver TCP:
598            child_ident "drv_tcp.neteng"
599            child_param
600            {
601                env "env"
602               
603                // Send buffer ring size.
604                buffer_size 65536
605
606                // Log runtime network statistic in message handler:
607                log_enabled 0
608
609                // Enable/disable Nagle algorithm.
610                no_delay 0
611
612                // When connecting, try "connect_retry_count" times
613                // with a pause of "connect_retry_delay" seconds
614                // between each try.
615                //connect_retry_count 10
616                //connect_retry_delay 1.0
617            }
618
619            // Child driver UDP:
620            /*
621            child_ident "drv_udp.neteng"
622            child_param
623            {
624                // Maximal packet size. Larger data blocks are divided.
625                // Smaller packet sizes may give smoother transfer rates.
626                max_msg_size 256
627
628                // Timeout after which a alive ping is send if no data arrives.
629                alive_period 1.0
630
631                // Timeout after which an fatal error is generated.
632                timeout 30.0
633            }
634            */
635        }
636    }
637
638    // Server configuration.
639    server
640    {
641        // Enable/disable the server.
642        // Disable the server if you connect to a extern server.
643        enabled 1
644
645        // Port number the server is listening on.
646        // If empty, no client can connect via network.
647        addr "0.0.0.0:33300"
648    }
649
650    // Client configuration.
651    client
652    {
653        // Enable/disable the client.
654        // Disable it for a dedicated server.
655        enabled 1
656       
657        // Format: "<host>:<port>"
658        // If empty, the client is connected to a local server.
659        addr ""
660        //addr "127.0.0.1:33300"
661        //addr "192.168.0.1:33300"
662
663        // Define a extra rotation on client side,
664        // for example for cave applications.
665        extratransf
666        {
667            axis_x 0.0
668            axis_y 0.0
669            axis_z 1.0
670            degree 0.0
671            offset_x 0.0
672            offset_y 0.0
673            offset_z 0.0
674        }
675    }
676
677    // Bitmap file format drivers:
678    bitmapparser
679    {
680        ident "drv_stdbitmap.bitmapparser_dispatch"
681        param
682        {
683            env "env"
684            entry_array
685            {
686                ident "drv_stdbitmap.bitmapparser_std"
687                param
688                {
689                }
690            }
691            {
692                ident "drv_plibbitmap.bitmapparser_plib"
693                param
694                {
695                }
696            }
697        }
698    }
699   
700    // Video format drivers:
701    videoparser
702    {
703        ident "drv_dshowvid.videoparser"
704        param
705        {
706            env "env"
707            // Prefix for loading videos:
708            prefix "file://bin/res/"
709            // During two rendering frames, or if a video is not visible,
710            // then wait this time in seconds before decompressing
711            // the next frame.
712            wait_continue 1.0
713        }
714    }
715
716    // Sound file format drivers:
717    waveparser
718    {
719        ident "drv_wav.waveparser"
720        param
721        {
722        }
723    }
724
725    // IO context configuration.
726    // The context is the link between gfx-output, input and sound.
727    //
728    // These parameters may be also changed by the application,
729    // and then take effect by a "reload_io" command,
730    // see the keyboard configuration below.
731    context
732    {
733        // Component type. Empty string creates default component of DLL.
734        ident "drv_winctx.ctx"
735        param
736        {
737            env "env"
738            caption "Shark 3D"
739            // Window is always on the top:
740            topmost 0
741            // If set to one, the given size is not the client area size,
742            // but the total window size.
743            size_is_window_size 0
744            // Disable ALT-TAB and ALT-RETURN in fullsceen mode.
745            fullscreen_disable_hotkeys 1
746            // File name pattern for screenshots.
747            // Screenshots can be triggered by the command "store_screenshot".
748            // See the key bindings below.
749            // Note that alternatively you can also use the standard
750            // windows screenshot mechanism:
751            // Alt-PrintScreen copies a screenshot into the clipboard.
752            screenshot_filepat "shot####.bmp"
753            // Store a screenshot each frame:
754            auto_screenshot 0
755            // Sleep time in seconds each frame if the window is deactive:
756            //deactive_sleep_time 0.0
757            deactive_sleep_time 0.05
758        }
759    }
760
761    // Graphics engine configuration.
762    //
763    // These parameters may be also changed by the application,
764    // and then take effect by a "reload_io" command,
765    // see the keyboard configuration below.
766    gfxeng
767    {
768        // 3D driver DLL. If empty, use internal factory.
769        // Select one of the following drivers:
770        // Auto detection:
771        ident "drv_gfxselect.gfxmgr"
772        param
773        {
774            env "env"
775           
776            // Driver selection:
777            // "d3d9" -> Direct3D9
778            // "opengl" -> OpenGL.
779            // Note: For OpenGL you have to compile the resources differently,
780            // see the notes in "utility/buildres/tool_prep_win32.cfg".
781            // Note: OpenGL support of v5 is not stable and not finished yet.
782            select "d3d9"
783            //select "opengl"
784           
785            entry_array
786            {
787                name "d3d9"
788                ident "drv_d3d9.gfxmgr"
789                param
790                {
791                    env "env"
792                    univprog_suppl "envcompsuppl"
793                    univprog_given_array
794                    {
795                        item "env"
796                        given_ident "env"
797                    }
798                    default_outparam
799                    {
800                        // Log all Direct3D calls. Very slow.
801                        log_dx_calls 0
802                        // Use software reference driver.
803                        ref_driver 0
804                        tripple_buffering 0
805                        force_sw_vertexbuf 0
806                        force_hw_vertexbuf 0
807                        prefer_idxbuf32 0
808                        pure_device 1
809                        // Don't preserve FPU state. May help improve
810                        // performance, but may cause fp precision problems.
811                        disable_fpu_preserve 0
812                        // Binary logarithm of the minimal texture width.
813                        // 5 -> 32 to avoid problems with NVidia drivers:
814                        min_lb_tex_width 5
815                        // Binary logarithm of the minimal texture height.
816                        // 5 -> 32 to avoid problems with NVidia drivers:
817                        min_lb_tex_height 5
818                        // Binary logarithm of the minimal volume texture
819                        // extension.
820                        min_lb_vol_tex_ext 5
821                        // Don't use dynamic VB, only static VB and UP.
822                        no_dynamic_vertexbuf 0
823                        // If enabled dummy blend weights and indices are put
824                        // into same vertexbuffer as other vertex data.
825                        // If disabled a small 16 byte application global
826                        // vertexbuffer will be used for dummy data.
827                        no_dummybone_vertexbuf 1
828                        // Use DrawIndexedPrimitiveUP() for dynamic VBs
829                        // instead of DrawIndexedPrimitive()
830                        use_draw_indexed_primitive_up 1
831                        // If non-zero, flush cmdbuffer every idxcnt
832                        idx_flush_cnt 0
833                        // If hw does not support this vertex shader version,
834                        // use sw:
835                        req_vert_shad_ver "0x0"
836                        // Use faked fullscreen mode:
837                        faked_fullscreen 0
838                        // If true d3d shader debug is possible for asm and
839                        // hlsl shaders pure_device needs to be 0 and
840                        // force_sw_vertexbuf needs to be 1 for pixelshader
841                        // debugging enable ref_driver
842                        shader_debug 0
843                        // Report creation and destruction information
844                        report_batch 1
845                        report_buf 1
846                        report_tex 1
847                        report_prog 1
848                        // compress textures that are greater than
849                        // 'min_texcompress_width' and 'min_texcompress_height'
850                        // 0 = dont override compression flag
851                        min_texcompress_width 0
852                        min_texcompress_height 0
853                        // use at most 'max_miplevels' for textures
854                        // 0 = automatic mip level count
855                        max_miplevels 0
856                        // <= 1: disable anisotropic texture filtering
857                        max_anisotropy 4
858                        // disable special nvidia depth texture
859                        nvdepthtex_enabled 0
860                        // Preload d3d textures, vertex and indexbuffers
861                        preload_resources 0
862                        // if enabled, vertprog declaration will be checked
863                        // against vertexbuffer declaration each frame.
864                        // Useful while shaderprog development.
865                        validate_prog_buf 1
866                        gamma_2x2_enabled 0
867                        srgb_tex_enabled 0
868                        srgb_write_enabled 0
869                        // Multisampling:
870                        // 0 := Auto select.
871                        // 1 := Disable multisampling
872                        // n := Selects multisample
873                        multisample 0
874                        // Enable info output for D3D PIX
875                        pix_enabled 0
876                    }
877                }
878                enum_param
879                {
880                }
881            }
882            {
883                name "opengl"
884                ident "drv_opengl.gfxmgr"
885                param
886                {
887                    env "env"
888                    univprog_suppl "envcompsuppl"
889                    univprog_given_array
890                    {
891                        item "env"
892                        given_ident "env"
893                    }
894                    default_outparam
895                    {
896                        // Disable OpenGL extensions by the combination of the
897                        // lower-case renderer string and lower-case extension
898                        // name:
899                        // "<lower-case-renderer>@<lower-case-extension>"
900                        forbid_pat ""
901                                //& "|*geforce*@gl_arb_vertex_buffer_object"
902                                & "|*@gl_ext_compiled_vertex_array"
903                                & "|*radeon 9000*@gl_arb_vertex_buffer_object"
904                                & "|*radeon 9000*@//display_list"
905                        // <= 1: disable anisotropic texture filtering
906                        max_anisotropy 4
907                    }
908                }
909                enum_param
910                {
911                }
912            }
913        }
914        enum_param
915        {
916        }
917        enum_enabled 1     // Write fullscreen modes into log.
918    }
919   
920    // Graphics output configuration.
921    //
922    // These parameters may be also changed by the application,
923    // and then take effect by a "reload_io" command,
924    // see the keyboard configuration below.
925    gfxout
926    {
927        // Select a display device. Empty string for default device.
928        // Different gfx backends support different device strings.
929        // In case of Direct3D, "0", "1", "2" selects a Direct3D adapter.
930        // See the log file for a list of devices and fullscreen modi.
931        // This may include for example the Nvidia PerfHUD adapter.
932        device ""
933
934        // Window position, use -1 for default window position
935        left 0
936        top 0
937        // Resolution and color depth:
938        width 640
939        height 480
940        //width 1024
941        //height 768
942        depth 32
943        frequency 0
944        gamma 1.0 1.0 1.0
945        fullscreen 0
946        nostencil 0             // Don't allocate a stencil buffer.
947        nobatch 0               // Don't use batch objects (e.g. display lists)
948
949        // Other graphics parameter:
950        reportinfo 0            // Report driver allocations (textures etc.).
951        quality 0               // Prefer rendering quality instead of speed.
952        software 0              // Use software emulation.
953        singlebuffer 0          // Don't use double-buffering.
954        synch 0                 // Wait for vertical refresh.
955        noextensions 0          // Don't use API extensions (e.g. OpenGL ext.)
956        abort_if_no_gfxout 1    // Fatal error if initialization failed.
957    }
958
959    // 3D projection information:
960    //
961    // These parameters may be also changed by the application,
962    // and then take effect by a "reload_io" command,
963    // see the keyboard configuration below.
964    proj_world
965    {
966        // Define the opening angles.
967        open_x 1.0      // Slope of the left and right clipping plane.
968        open_y 0.75     // Slope of the top and bottom clipping plane.
969        //open_x 1.119     // Slope of the left and right clipping plane.
970        //open_y 0.629     // Slope of the top and bottom clipping plane.
971        center_x 0.0
972        center_y 0.0
973    }
974    proj_display
975    {
976        // Define the opening angles.
977        open_x 1.0      // Size of the left and right clipping plane.
978        open_y 0.75     // Size of the top and bottom clipping plane.
979        //open_x 1.119     // Slope of the left and right clipping plane.
980        //open_y 0.629     // Slope of the top and bottom clipping plane.
981        center_x 0.0
982        center_y 0.0
983    }
984
985    // Stereo rendering parameters:
986    eyedist
987    {
988        world 0.1       // World eye disteance for stereo rendering.
989        display 0.1     // Display eye distance for stereo rendering.
990    }
991
992    // 3D gfxport configuration:
993    gfxport
994    {
995        // Other gfxport parameters:
996        cull_pix 10.0           // Minimal object screen size for culling
997        mesh_pix 5.0            // Minimal geometry screen presision
998        visib_mesh_pix 5.0      // Geom. scr. prec. for glow visib. test
999       
1000        // Debugging parameters:
1001        texaux_inspect_scale_x 0.0
1002        texaux_inspect_scale_y 0.0
1003        //texaux_inspect_scale_x 0.05 // Debug output of rendertargets
1004        //texaux_inspect_scale_y 0.05
1005    }
1006
1007    // Other view options:
1008    //
1009    // These parameters may be also changed by the application,
1010    // and then take effect by a "reload_io" command,
1011    // see the keyboard configuration below.
1012    view
1013    {
1014        // Shader system: If the batches are static,
1015        // don't evaluate the mesh data every frame anymore.
1016        economise 1
1017        // Shader system: If the mesh data is not needed anymore,
1018        // reduce the model:
1019        reduce 1
1020    }
1021
1022    // Sound configuration.
1023    //
1024    // These parameters may be also changed by the application,
1025    // and then take effect by a "reload_io" command,
1026    // see the keyboard configuration below.
1027    snd
1028    {
1029        // Enable/disable sound.
1030        enabled 1
1031
1032        // Component type. Empty string creates default component of DLL.
1033        ident "drv_dsnd.sndeng"
1034        param
1035        {
1036            ctx "ctx"
1037           
1038            // Ignore all DirectSound errors.
1039            ignore_ds_errors 0
1040
1041            // As default, all mono wave files are played as 3d sound,
1042            // and all stereo wave files are played conventionally.
1043            no3d_always 0
1044            no3d_pan_scale 1.0
1045            no3d_back_down 0.0
1046
1047            // Sound device:
1048            device_index 0
1049
1050            // DirectSound Cooperative Level.
1051            //coop_level "exclusive"
1052            //coop_level "normal"
1053            coop_level "priority"   // Needed to set the primary buffer format
1054            //coop_level "writeprimary"
1055
1056            // Sound buffer len used for each sound source.
1057            buffer_len 2.0
1058
1059            // Pre-load seconds for each wave file.
1060            preload_sec 0.0
1061
1062            // Maximal change of the volume of each sound source per frame.
1063            // Setting this parameter to an non-zero value
1064            // may help avoiding cracking.
1065            // For example, a value of 0.1 means that a sound source is not
1066            // stopped immediately, but fade down during a period
1067            // of maximal 10 frames.
1068            max_volume_change_per_frame 0.1
1069
1070            // Requested format for the primary buffer:
1071            // If a value is null, the current value is kept.
1072            primary_bits_per_sample 16
1073            primary_channels 2
1074            primary_samples_per_sec 44100
1075
1076            // Requested format for wave files since some formats give
1077            // a ugly performance on some sound cards.
1078            // If a value is 0, a wave file may have any value,
1079            // but the sound cards must convert on the fly.
1080            wave_bits_per_sample 16
1081            wave_channels 1
1082            wave_samples_per_sec 44100
1083
1084            // Number of sound buffers to reserve at initialization:
1085            wave_buffer_reserve 4
1086
1087        }
1088        /*
1089        ident "drv_openal.sndeng"
1090        param
1091        {
1092            // Ignore all DirectSound errors.
1093            ignore_errors 0
1094
1095            // As default, all mono wave files are played as 3d sound,
1096            // and all stereo wave files are played conventionally.
1097            no3d_always 0
1098            no3d_pan_scale 1.0
1099            no3d_back_down 0.0
1100
1101            // Sound buffer len used for each sound source.
1102            buffer_size 88200
1103
1104            // Pre-load seconds for each wave file.
1105            preload_sec 0.0
1106
1107            // Maximal change of the volume of each sound source per frame.
1108            // Setting this parameter to an non-zero value
1109            // may help avoiding cracking.
1110            // For example, a value of 0.1 means that a sound source is not
1111            // stopped immediately, but fade down during a period of 10 frames.
1112            max_volume_change_per_frame 0.1
1113
1114            // Requested format for wave files since some formats give
1115            // a ugly performance on some sound cards.
1116            wave_bits_per_sample 16
1117            wave_channels 1
1118            wave_samples_per_sec 44100
1119            // Number of sound buffers to reserve at initialization:
1120            wave_buffer_reserve 4
1121        }
1122        */
1123    }
1124
1125    // List of feature strings.
1126    // These strings can be tested for example by shaders,
1127    // to select between different shader variants:
1128    feature_set "dummy1" "dummy2"
1129
1130    // Actor logging switches.
1131    // Note that other components like drivers may have further switches.
1132    log
1133    {
1134        evtmgr 1            // Log events of event queues.
1135        stat 0              // Log the statistical information of each frame.
1136    }
1137
1138    // Statistical information display configuration.
1139    insp
1140    {
1141        // Info paint offset and character size:
1142        paint
1143        {
1144            offs_x_pix 0.0
1145            offs_y_pix 0.0
1146            char_size_x_pix 0.0
1147            char_size_y_pix 0.0
1148        }
1149
1150        // Enable particular statistical information items:
1151        general 0           // General information (including engine version).
1152        frmtime 0           // Frametime.
1153        mem 0               // Memory
1154        gfxport 0           // Gfxport rendering statistics.
1155        gfxbase 0           // Graphics basic information.
1156        gfxstat 0           // Graphics driver statistics.
1157        cursor 0            // Cursor statistics
1158        msg 0               // Show messages.
1159
1160        // File to log the frametime into.
1161        frmtime_logfile ""
1162        //frmtime_logfile "log_frametime.log"
1163        // Maximal number of message lines:
1164        msg_limit 8
1165        // Also include non-errors:
1166        msg_alsoinfo 0
1167    }
1168
1169    // Input configuration:
1170    input
1171    {
1172        // Player control smooth time for movements and rotating.
1173        // May be for example useful when creating demo videos.
1174        smooth_move 0.0
1175        smooth_rot 0.0
1176        // Position device dead zone.
1177        deadzone 0.0
1178
1179        // Drivers:
1180        mgr
1181        // Select these entries for using DirectInput:
1182        {
1183            inputmgr_ident "drv_stdinput.inputmgr_multi"
1184            inputmgr_param
1185            {
1186                env "env"
1187                ctx "ctx"
1188                entry_array
1189                // DirectInput:
1190                {
1191                    ctx_pattern "application"
1192                    ident "drv_dinput.inputmgr"
1193                    param
1194                    {
1195                        env "env"
1196                        ctx "ctx"
1197                       
1198                        handle_keyboard 1
1199                        handle_mouse 0
1200                        handle_ctrl 1   // For example joysticks
1201                       
1202                        ignore_di_errors 0
1203                        attached_only 0
1204                        // Work around for DirectInput bug:
1205                        // If the keyboard is not polled for this number
1206                        // of seconds, assume the keyboard to be reset.
1207                        reset_time_limit 1.0
1208                        // If not zero, joystick devices are polled within
1209                        // a thread every thread_period seconds.
1210                        thread_period 0.1
1211                    }
1212                }
1213                // Select these entries for using the Windows message queue:
1214                {
1215                    ctx_pattern "application"
1216                    ident "drv_wininput.inputmgr"
1217                    param
1218                    {
1219                        env "env"
1220                        ctx "ctx"
1221                       
1222                        handle_keyboard 0
1223                        handle_mouse 1
1224                       
1225                        catch_mouse 0   // Can be toggled by the "c" key.
1226                    }
1227                }
1228                // Used for ActiveX controls and Max player:
1229                {
1230                    ctx_pattern "activex|maxplayer"
1231                    ident "drv_wininput.inputmgr"
1232                    param
1233                    {
1234                        env "env"
1235                        ctx "ctx"
1236                        catch_mouse 0   // Can be toggled by the "c" key.
1237                    }
1238                }
1239            }
1240        }
1241
1242        // Input mapping configuration.
1243        // Format: <kind> <device> <event> <command>
1244        // <kind>: Kind of device:
1245        //   trigger: A key generating events when being pressed.
1246        //   button: A key generating events when being pressed and released.
1247        //   motion: A device generating relative motions, e.g. mouse.
1248        //   position: A device having an absolute position, e.g. joystick.
1249        // <device>: Device name. May contain wild cards like "*".
1250        // <event>: Event name.
1251        // <command>: Command sent to the engine.
1252        mapping
1253        {
1254            // Syntax: mode device event command
1255           
1256            trigger "Keyboard" "0" "goto_level0"
1257            trigger "Keyboard" "1" "goto_level1"
1258            trigger "Keyboard" "2" "goto_level2"
1259            trigger "Keyboard" "3" "goto_level3"
1260            trigger "Keyboard" "4" "goto_level4"
1261            trigger "Keyboard" "5" "goto_level5"
1262            trigger "Keyboard" "6" "goto_level6"
1263            trigger "Keyboard" "7" "goto_level7"
1264            trigger "Keyboard" "8" "goto_level8"
1265            trigger "Keyboard" "9" "goto_level9"
1266
1267            trigger "Keyboard" "F1" "goto_level10"
1268            trigger "Keyboard" "F2" "goto_level11"
1269            trigger "Keyboard" "F3" "goto_level12"
1270            trigger "Keyboard" "F4" "goto_level13"
1271            trigger "Keyboard" "F5" "goto_level14"
1272            trigger "Keyboard" "F6" "goto_level15"
1273            trigger "Keyboard" "F7" "goto_level16"
1274            trigger "Keyboard" "F8" "goto_level17"
1275            trigger "Keyboard" "F9" "goto_level18"
1276            trigger "Keyboard" "F10" "goto_level19"
1277            trigger "Keyboard" "F11" "goto_level20"
1278            trigger "Keyboard" "F12" "goto_level21"
1279
1280            trigger "Keyboard" "A" ""
1281            trigger "Keyboard" "B" "toggle_showgfxbound"
1282            trigger "Keyboard" "C" "toggle_catch_mouse"
1283            trigger "Keyboard" "D" "toggle_showphyscontact"
1284            trigger "Keyboard" "E" "reset_msg"
1285            trigger "Keyboard" "F" "toggle_frmtime"
1286            trigger "Keyboard" "G" "god"
1287            trigger "Keyboard" "H" "toggle_showphysgeo"
1288            trigger "Keyboard" "I" "store_screenshot"
1289            trigger "Keyboard" "J" "toggle_stat"
1290            trigger "Keyboard" "K" "reset_stat"
1291            trigger "Keyboard" "L" "load_file_default"
1292            trigger "Keyboard" "M" "toggle_showgfxmesh"
1293            trigger "Keyboard" "N" "toggle_showgfxocclmesh"
1294            trigger "Keyboard" "O" "reload_io"
1295            trigger "Keyboard" "P" "toggle_showsensorgeo"
1296            trigger "Keyboard" "Q" "toggle_showsensorbound"
1297            trigger "Keyboard" "R" "refresh_all_res"
1298            trigger "Keyboard" "S" "store_file_default"
1299            trigger "Keyboard" "T" "toggle_showphysbound"
1300            trigger "Keyboard" "U" "toggle_shownoise"
1301            trigger "Keyboard" "V" "toggle_showgfxocclwire"
1302            trigger "Keyboard" "W" "toggle_showgfxwire"
1303            trigger "Keyboard" "X" ""
1304            trigger "Keyboard" "Y" "toggle_fullscreen"
1305            trigger "Keyboard" "Z" "extra"
1306
1307            trigger "Keyboard" "Escape" "quit"
1308            trigger "Keyboard" "Space" ""
1309            trigger "Keyboard" "Return" ""
1310
1311            button "Keyboard" "Up" "switch_vel_pos_y"
1312            button "Keyboard" "Down" "switch_vel_neg_y"
1313            button "Keyboard" "Left" "switch_vel_neg_x"
1314            button "Keyboard" "Right" "switch_vel_pos_x"
1315            button "Keyboard" "Page Up" "switch_spin_pos_x"
1316            button "Keyboard" "Page Down" "switch_spin_neg_x"
1317
1318            trigger "Mouse" "Left Button" ""
1319            trigger "Mouse" "Right Button" ""
1320            motion "Mouse" "X Axis" "apply_rot_pos_z"
1321            motion "Mouse" "Y Axis" "apply_rot_pos_x"
1322            motion "Mouse" "X Axis" "move_cursor_x"
1323            motion "Mouse" "Y Axis" "move_cursor_y"
1324            position "Mouse" "X Axis" "set_cursor_x"
1325            position "Mouse" "Y Axis" "set_cursor_y"
1326
1327            position "*joystick*" "X Axis" "assign_spin_pos_z"
1328            position "*joystick*" "Y Axis" "assign_vel_pos_y"
1329            trigger "*joystick*" "Button 0" ""
1330            trigger "*joystick*" "Button 1" ""
1331        }
1332    }
1333
1334    mediaplay
1335    {
1336        prefix "bin/res/"
1337    }
1338
1339    // Configuration of communication channels to external applications.
1340    cas
1341    {
1342        // Enable cas shell:
1343        enabled 1
1344
1345        // TCP port of the CAS (component access shell) terminal.
1346        addrport "0.0.0.0:33301"
1347
1348        // Echo input of the CAS terminal.
1349        // Should be set to 1 when using a TELNET client.
1350        echo 1
1351
1352        // Emulate the telnet protocol.
1353        // Should be set to 1 when using a TELNET client.
1354        // If set to 0, the raw lines are sent.
1355        telnet 1
1356    }
1357}
1358
1359///////////////////////////////////////////////////////////////////////////////
1360// End of file.
Note: See TracBrowser for help on using the repository browser.