--[[ * * Singe 3 * Copyright (C) 2006-2026 Scott Duensing * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program 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 this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * * --]] -- settings.cfg: the options you would otherwise type on every command line. -- -- Copy this file to settings.cfg and uncomment what you want. Singe reads it -- from the same four places it reads controls.cfg, in this order, and a later -- one wins key by key: -- -- 1. the directory Singe was started in -- 2. the directory above the game's data directory -- 3. the game's data directory -- 4. the game's own script directory -- -- Every key is the long name of a command line option without the leading -- dashes, so there is no second vocabulary to learn, and the command line -- always wins over anything set here. A games.dat entry for the game does -- too, because what is here is a default and what is there describes the game. -- A key that is not an option, or one that names the game or a path, is an -- error naming this file and the key. -- -- Options that take no value on the command line take true or false here. -- Setting one to false is the same as leaving it out. -- -- The value shown against each key is its default, or an example where the -- default is worked out from your display or from the game. -- The window ------------------------------------------------------------ -- screen = 1 -- which display, counting from 1; without it, the primary one -- xresolution = 1280 -- window width in pixels; without it, one that fits the display -- yresolution = 960 -- window height in pixels; without it, one that fits the width -- aspect = "16:9" -- which window size table to pick from: 4:3, 16:9 or 16:10 -- fullscreen = false -- exclusive full screen at the desktop resolution -- fullscreen_window = false -- borderless window covering the desktop -- nologos = false -- skip the splash screens -- canvas = "720x480" -- world size for a game with no disc -- Where the picture sits ------------------------------------------------- -- stretch = false -- fill the window instead of keeping the video's shape -- scalefactor = 100 -- per cent of the window the picture fills, 25 to 100 -- shiftx = 0 -- move it inside the room scalefactor left, -100 to 100 -- shifty = 0 -- rotate = 0 -- turn the whole presentation clockwise: 0, 90, 180 or 270 -- linearscale = true -- smooth the overlay as the window scales it, or take the nearest pixel -- monochrome = false -- start with the disc picture in grey -- Cabinet artwork -------------------------------------------------------- -- bezel = "cabinet.png" -- artwork in the bezels folder, drawn around the picture -- bezeldir = "bezels" -- the folder holding it -- bezelflip = false -- draw the artwork in front of the picture instead of behind it -- sindenedge = "video" -- where a Sinden border sits: video, or window with artwork loaded -- Sound ------------------------------------------------------------------ -- nosound = false -- mute everything for the whole run -- startsilent = false -- start muted until the first input of any kind -- volume_vldp = 100 -- laserdisc volume in per cent -- volume_nonvldp = 100 -- sound effect and extra video volume in per cent -- audio = 0 -- which audio track of the disc video to play -- altaudio = "" -- play .ogg beside the disc video instead -- audiodelay = 0 -- milliseconds the audio is heard late (negative if early) -- Input ------------------------------------------------------------------ -- nomouse = false -- ignore mice and light guns -- nogamepad = false -- ignore gamepads -- nocrosshair = false -- ask the game not to draw its own crosshair -- haptic = 4 -- strongest rumble step a game may use; 0 turns rumble off -- keymapfile = "controls.cfg" -- read the mappings from this file and make no search -- sindengun = "10 5" -- the Sinden light gun border -- xratio = 0 -- gun coordinate scale a game reads with ratioGetX() -- yratio = 0 -- ... and ratioGetY() -- mapjoysticks = true -- write a gamepad mapping for a device SDL does not recognise -- gamepad_reorder = "3210" -- which pad fills which slot, as enumeration positions from 0 -- trigger_threshold = 0 -- per cent of full travel a trigger counts as pressed at; 0 uses DEAD_ZONE -- joymouse = false -- let the first gamepad's left stick drive the mouse cursor -- js_range = 5 -- how fast it drives it, 1 to 20 -- manymouse = false -- tell the mice apart whatever the game asks for -- absolutes_only = false -- keep only the mice that report absolute positions, which light guns do -- Cabinets and front ends ------------------------------------------------ -- idleexit = 0 -- quit after this many seconds with no input; 0 never does -- fvalue = 0 -- one number handed to the game, which reads it with getFValue() -- Working on a game ------------------------------------------------------ -- reload = false -- rerun the game when one of its loose script files changes -- program = false -- trace engine activity to trace.txt -- trace = false -- trace every Lua call to trace.txt -- showcalculated = false -- print the frame ranges of every framefile segment -- softwarevideo = false -- decode video in software even when the machine can do it in hardware -- deterministic = 15 -- testing only: ignore real time, run on a virtual clock stepped this -- many milliseconds a frame and seed the random generators with the same -- number, so a run repeats to the pixel. true takes the default 15. -- Audio and pacing are meaningless in this mode.