#:stdconfig:0.1:

/*

name:		Standard 3D default configuration
filename:	defaults/std3d

start date:	2006-153-12000 (2006-06-03 03:20:00) AEST,
		2018-101-81234 (2018-04-12 22:33:54) AEST

author:		Mark Skinner
email:		marks@cinfinity.info
website:	https://www.cinfinity.info/

project:	Standard 3D is an open-source 3D editor and game engine.
		It allows the user to view, edit, design and play 3D game maps,
		and view 3D model files. It aims to eventually replace the
		functionality of every 3D game program that has ever existed.
file purpose:	Standard Config file that provides compiled in default options,
		for the Standard 3D application.


Copyright 2024, Mark J. Skinner.


	This file is part of Standard 3D.

	Standard 3D is "free software": you may redistribute it and/or modify it
	under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License,
	or (at your discretion) any later version.

	Standard 3D is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	See the GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with Standard 3D. If not, see: "http://www.gnu.org/licenses/".

*/



### windows ###


map-image-size				1024, 633; # Golden Ratio
initial-drawmodes			"ortho", "textured";

toolbar-style				"icons";
toolbar-buttons				"new-window", "open", "save", "",
					"capture-image", "capture-video", "",
					"preferences", "map-preferences", "",
					"undo", "redo", "",
					"cut", "copy", "paste", "delete";

tooltips				1;

iconify					0;


angle-style				"degrees";
point-east				1;


undo-levels				100;


cmdtitle				"Standard 3D";

about-author				"Mark J. Skinner";
about-urls				"https://www.cinfinity.info/\n"
					"https://www.cinfinity.tech/";

verbose					0;


### graphics ###


fonts-dir				"/usr/share/fonts/TTF";

main-font				"";
mono-font				"";
console-font				"";


default-image-file			"";
extra-crosshair-files			"";

gui-images-size				512;

map-model-scale				1.0;

obj-models-y-up				0;
use-lwo-model-layers			0;


fov					90;
model-fov				90;

default-crosshair			2;
default-crosshair-size			24;

wireframe-crosshair			1;
wireframe-crosshair-size		16;

beziers-subdiv				16;

quake-skybox-subdiv			24;
quake-skysphere-subdiv			32;


capture-twice				1;
capture-alpha				0;

capture-per-game			0;


autozoom-mag				10.0;

autozoom-in-time			0.5;
autozoom-out-time			0.25;


max-framerate				120.0;

quality-vsync				1;
quality-fsaa				1;
quality-aniso				1;

models-animation-speed			1.0;
models-rotation-speed			0.1;


light-color				"white";
light-power				50000.0;

light-shininess				0.2;
light-ambience				0.05;

light-follows-camera			1;
light-rotation				0;

light-origin				0.0, 0.0, 0.0;
light-rotation-origin			0.0, 100.0, 0.0;

light-rotation-speed			0.5;
light-rotation-axis			0.0, 0.0, 1.0;


camera-bounding-box			16.0, 16.0, 16.0, -16.0, -16.0, -16.0;


### sound ###


alsa-device				"default";
alsa-freq				44100;

cd-music-prefix				"cd-track_";


volume					100;

music-volume				25;
world-volume				100;

ui-volume				100;
chat-volume				100;

browser-volume				50;


### files ###


format					"quake2";

system-modules-dir			"";
system-data-dir				"";

user-data-dir				"";

default-archive				"std3d-data.zip";

texture-cache-dir			"texture-cache";
model-cache-dir				"model-cache";


background-loading			0;
background-loading-wait			0.0;

auto-reload				1;

trim-wolf3d-maps			1;
stretch-wolf3d-maps			1;


### input ###


invert-mouse				0;

mouse-sensitivity			1.0, 0.5;
mouse-pixels				1024, 1024;

mouse-invert				0;
mouse-filter-weight			0.1;

digital-analogue-joystick		0;
digital-analogue-gamepad		0;

analogue-joystick-threshold		0.1;
digital-joystick-threshold		0.1;

analogue-gamepad-threshold		0.1;
digital-gamepad-threshold		0.1;

control-display-delay			0.5;


keyboard-name				"";
mouse-name				"";

joystick-name				"";
gamepad-name				"";


### console ###


console-command-logfile			"console-commands.log";
console-command-history			1024;

console-scrollback			100000;
console-prompt				"> ";


console-font-size			24.0;

console-cursor-time			1.0;

console-depth				0.5;
console-stretch				0;
console-sticky-cmdline			0;

console-down-time			0.25;
console-up-time				0.25;


### colors ###


bg-color				"Light Steel Blue";
sky-color				"Sky Blue";

main-color				"black";
model-color				"Medium Spring Green";
skeleton-color				"Orchid";
selection-color				"Deep Pink";

handle-color				"Indian Red";
facehandle-color			"Forest Green";
selected-facehandle-color		"Medium Spring Green";
vertex-color				"Forest Green";
selected-vertex-color			"Medium Spring Green";
selectrect-color			"Purple";

entity-color				"Medium Blue";
entity-name-color			"black";
entity-link-color			"Dark Cyan";

info-entity-color			"Lime Green";
light-entity-color			"yellow";
speaker-entity-color			"Dark Grey";
item-entity-color			"Dark Violet";
actor-entity-color			0.815686, 0, 0;
dead-actor-entity-color			"Brown";

camera-color				"Forest Green";
hitscan-color				"Purple";
test-light-color			"yellow";
bbox-color				"Orange";
bsphere-color				"Dark Orange";
outline-color				"white";

axis-grid-color				"yellow";
major-grid-color			"Gold";
minor-grid-color			"Goldenrod";


edit-hud-color				0.5, 0.5, 0.5;

zoom-hud-color				0.5, 0.5, 0.65;
grid-hud-color				0.5, 0.5, 0.65;

camera-hud-color			0.5, 0.5, 0.65;
pointer-hud-color			0.6, 0.5, 0.5;
target-hud-color			0.6, 0.5, 0.5;
target-desc-hud-color			0.6, 0.5, 0.5;

health-hud-color			0.3, 0.7, 0.2;
armor-hud-color				0.9, 0.45, 0.2;
kills-hud-color				0.7, 0.2, 0.1;
treasure-hud-color			0.5, 0.5, 0.1;

ftime-hud-color				0.5, 0.5, 0.5;
fps-hud-color				0.5, 0.5, 0.5;

render-stats-hud-color			"white";

gpu-memory-hud-color			1, 0.2, 0.1;

input-cmd-hud-color			"white";
input-control-hud-color			"white";

tmp-hud-color				0.1, 0.3, 1;

debug-hud-color				0.5, 0.5, 0.5;


default-color				"Grey";

default-image-color-1			"black";
default-image-color-2			1, 0.08, 0.576;

default-crosshair-color			1, 0, 0.5;
wireframe-crosshair-color		"green";


console-bg-color			"black";
console-fg-color			"#CC4DB3";

console-cursor-color			"#33994D";
console-selection-color			"Dark Blue";


texture-editor-bg-color			"black";

texture-browser-bg-color		"black";
model-viewer-bg-color			"#505068";


test-color				"Salmon";


color-selector-colors_01		"black";
color-selector-colors_02		"white";
color-selector-colors_03		0.498039, 0.498039, 0.498039, 1;
color-selector-colors_04		"red";
color-selector-colors_05		0.501961, 0, 0.501961, 1;
color-selector-colors_06		"blue";
color-selector-colors_07		"Light Blue";
color-selector-colors_08		0, 0.501961, 0, 1;
color-selector-colors_09		"yellow";
color-selector-colors_10		"Orange";
color-selector-colors_11		"Lavender";
color-selector-colors_12		"Brown";
color-selector-colors_13		0.545098, 0.411765, 0.0784314, 1;
color-selector-colors_14		"Dodger Blue";
color-selector-colors_15		"Pink";
color-selector-colors_16		1, 0.45098, 0.729412, 1;
color-selector-colors_17		"Light Green";
color-selector-colors_18		0.301961, 0.301961, 0.301961, 1;
color-selector-colors_19		0.74902, 0.74902, 0.74902, 1;
color-selector-colors_20		0.898039, 0.898039, 0.898039, 1;


### networking ###


maxclients				16;

server					0;
port					24576;

client					0;

connect					"localhost";
connect-ip				"127.0.0.1";
connect-port				24576;

username				"Player";



helpdesc				"view, edit and play one or more "
					"3D game map or model files";


### windows ###


helpdesc_map-image-size			"minimum width, height of map windows";
helpdesc_initial-drawmodes		"a map window's initial drawing modes: "
					"\"persp\" or \"ortho\", "
					"\"textured\" or \"wireframe\"\n";

helpdesc_toolbar-style			"style of map windows' toolbars: "
					"none, icons, text, or both\n";
helpdesc_toolbar-buttons		"names of the buttons on "
					"a map window's toolbar "
					"(\"\" for a separator)\n";

helpdesc_tooltips			"whether to display tool tips\n";

helpdesc_iconify			"iconify the initial windows\n\n";


helpdesc_angle-style			"units used to display angles: "
					"revs, degrees or radians\n\n";


helpdesc_undo-levels			"levels of undo/redo\n\n";


helpdesc_verbose			"track the inner workings "
					"of the program";
helpdesc_verbose-inventory		"display the current player's "
					"inventory on the terminal\n\n";


### graphics ###


helpdesc_fonts-dir			"directory used to load font files\n";

helpdesc_main-font			"main Truetype font file";
helpdesc_mono-font			"monospaced Truetype font file";
helpdesc_console-font			"console Truetype font file\n\n";


helpdesc_default-image-file		"file used as the default image";
helpdesc_crosshair-files		"extra crosshair image files\n";

helpdesc_gui-images-size		"size of the image used to render "
					"GUI displays\n";

helpdesc_map-model-scale		"scale factor for models loaded "
					"as maps\n";

helpdesc_obj-models-y-up		"interpret the Y axis as up, "
					"in Wavefront Object models";
helpdesc_use-lwo-model-layers		"when loading Lightwave Object (LWO) "
					"models, include all layers\n\n";


helpdesc_fov				"(horizontal) field of view for "
					"map windows";
helpdesc_model-fov			"(horizontal) field of view for "
					"the model viewer and file browser\n";

helpdesc_default-crosshair		"default crosshair number";
helpdesc_default-crosshair-size		"size of the default crosshair\n";

helpdesc_wireframe-crosshair		"number of the crosshair "
					"used in wireframe draw mode";
helpdesc_wireframe-crosshair-size	"size of the wireframe crosshair\n\n";


helpdesc_beziers-subdiv			"number of subdivisions used to draw "
					"beziers\n";

helpdesc_quake-skybox-subdiv		"number of subdivisions used to "
					"display a Quake style skybox";
helpdesc_quake-skysphere-subdiv		"number of subdivisions used to "
					"display a Quake style skysphere\n\n";


helpdesc_capture-twice			"capture map windows twice: "
					"before and after drawing the UI";
helpdesc_capture-alpha			"store captured images with an alpha "
					"channel (useful with transparent sky)"
					"\n";

helpdesc_capture-per-game		"store window captures "
					"(\"screenshots\") in game format "
					"directories\n\n";


helpdesc_autozoom-mag			"auto-zoom magnification\n";

helpdesc_autozoom-in-time		"time taken to auto-zoom in";
helpdesc_autozoom-out-time		"time taken to auto-zoom out\n\n";


helpdesc_max-framerate			"maximum refresh frame rate\n";

helpdesc_quality-vsync			"activate vertical sync";
helpdesc_quality-fsaa			"activate full-scene antialiasing";
helpdesc_quality-aniso			"activate anisotropic filtering\n";

helpdesc_models-animation-speed		"animation speed (relative to normal) "
					"of models in the model viewer";
helpdesc_models-rotation-speed		"rotation rate "
					"of models the model viewer\n\n";


helpdesc_light-color			"color of the test light";
helpdesc_light-power			"brightness of the test light\n";

helpdesc_light-shininess		"shininess of the test light";
helpdesc_light-ambience			"ambience of the test light\n";

helpdesc_light-follows-camera		"whether test light constantly "
					"moves to the location of the camera";
helpdesc_light-rotation			"whether light rotates "
					"(around light-origin)\n";

helpdesc_light-origin			"origin of the test light "
					"(if not following the camera)";
helpdesc_light-rotation-origin		"starting position relative to "
					"light-origin for rotation "
					"of the test light\n";

helpdesc_light-rotation-speed		"rotation speed (Hz) of the test light";
helpdesc_light-rotation-axis		"rotation axis of the test light\n\n";


helpdesc_camera-bounding-box		"the bounding box surrounding "
					"the camera\n\n";


### sound ###


helpdesc_alsa-device			"name of the ALSA (sound) device";
helpdesc_alsa-freq			"playback frequency of the ALSA device"
					"\n";

helpdesc_cd-music-prefix		"filename prefix for accessing "
					"CD music tracks (by number)\n\n";


helpdesc_volume				"master volume\n";

helpdesc_music-volume			"volume of game music";
helpdesc_world-volume			"volume of world sounds\n";

helpdesc_ui-volume			"volume of user interface sounds";
helpdesc_chat-volume			"volume of in game voice chat\n";

helpdesc_browser-volume			"volume of sounds played in the "
					"file browser\n\n";


### files ###


helpdesc_format				"game format directory, containing a "
					"config file and resources, each in "
					"their own directories\n";

helpdesc_background-loading		"load files using a background thread";
helpdesc_background-loading-wait	"waiting time between file loads\n";

helpdesc_auto-reload			"automatically reload files when they "
					"change\n";

helpdesc_trim-wolf3d-maps		"remove excess tiles from around the "
					"outside of Wolfenstein 3D maps";
helpdesc_stretch-wolf3d-maps		"stretch Wolfenstein 3D maps "
					"vertically to match the original\n";


### input ###


helpdesc_invert-mouse			"invert vertical movement with "
					"the mouse";
helpdesc_lock-mouse-buttons		"ignore input with the mouse buttons\n";

helpdesc_mouse-sensitivity		"horizontal, vertical "
					"mouse sensitivity";
helpdesc_mouse-pixels			"screen pixels required to rotate "
					"horizontally, vertically "
					"in a full circle with the mouse\n";

helpdesc_mouse-invert			"invert vertical movement of the mouse";
helpdesc_mouse-filtering		"the amount (0.0-1.0) each mouse "
					"input value is repeated\n";

helpdesc_digital-analogue-joystick	"treat an analogue joystick as "
					"digital (with only on and off)";
helpdesc_digital-analogue-gamepad	"treat analogue gamepad controls as "
					"digital\n";

helpdesc_analogue-joystick-threshold	"minimum analogue joystick value";
helpdesc_digital-joystick-threshold	"value at which an analogue "
					"joystick control goes from off to on "
					"in digital analogue mode\n";

helpdesc_analogue-gamepad-threshold	"minimum analogue gamepad value";
helpdesc_digital-gamepad-threshold	"value at which an analogue "
					"gamepad control goes from off to on "
					"in digital analogue mode\n";

helpdesc_control-display-delay		"amount of time the name of an "
					"input control remains on the HUD\n\n";


helpdesc_keyboard-name			"name of the keyboard device";
helpdesc_mouse-name			"name of the mouse device";

helpdesc_joystick-name			"name of the joystick device";
helpdesc_gamepad-name			"name of the gamepad device\n\n";


### console ###


helpdesc_console-command-logfile	"logfile for the console's "
					"command history";
helpdesc_console-command-history	"length of the console's "
					"command history (in memory)\n";

helpdesc_console-scrollback		"lines of console text stored";
helpdesc_console-prompt			"console command line prompt text\n\n";


helpdesc_console-font-size		"size of console font\n";

helpdesc_console-cursor-time		"blink time of the console's cursor\n";

helpdesc_console-depth			"fraction of the window occupied by "
					"the console (0.0 - 1.0)";
helpdesc_console-stretch		"whether to lower the console by "
					"stretching (or by scrolling)";
helpdesc_console-sticky-cmdline		"always show console command line\n";

helpdesc_console-down-time		"time taken for the console to lower";
helpdesc_console-up-time		"time taken for the console to raise"
					"\n\n";


### networking ###


helpdesc_max-clients			"maximum number of clients\n";

helpdesc_server				"enable network synchronisation, "
					"as a server";
helpdesc_port				"port of local server\n";

helpdesc_client				"enable network synchronisation, "
					"as a client\n";

helpdesc_connect			"hostname of remote server";
helpdesc_connect-ip			"ip address of remote server";
helpdesc_connect-port			"port of remote server\n";

helpdesc_username			"the name of the player";


