1 /* ResidualVM - A 3D game interpreter 2 * 3 * ResidualVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the AUTHORS 5 * file distributed with this source distribution. 6 * 7 * Additional copyright for this file: 8 * Copyright (C) 1999-2000 Revolution Software Ltd. 9 * This code is based on source code created by Revolution Software, 10 * used with permission. 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License 14 * as published by the Free Software Foundation; either version 2 15 * of the License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 25 * 26 */ 27 28 #ifndef ICB_GLOBAL_SWITCHES_H 29 #define ICB_GLOBAL_SWITCHES_H 30 31 #include "engines/icb/common/px_common.h" 32 33 namespace ICB { 34 35 enum _display_mode { 36 THREED, // full stage draw with voxels 37 NETHACK, // top down plan view 38 TEMP_NETHACK // net hack that swaps back to THREED when a set can be displayed - i.e. as soon as possible 39 }; 40 41 class c_global_switches { 42 public: 43 c_global_switches(); 44 45 uint32 px_fps; // 0 normal/default 46 //! 0 24fps/alternate fps scheme 47 48 _display_mode display_mode; // nethack or full voxel 49 50 int32 actorShadows; // -1 = top down shadows only, 0 - no actors shadows 51 int32 current_cd; 52 int32 antialiasedActorLevel; // 0 = none, 1 = edges only, 2 = edge + actor blend 53 int32 missionTimeout; // how many game cycles to run a mission for ( <=0 - means forever) 54 55 bool8 nicos_displayed; // yes or no 56 bool8 frag_help; // display set fragments 57 bool8 lighting; // actor lighting manual overide 58 bool8 cross_hair; // development 59 60 bool8 los_enabled; // turn los on/off 61 bool8 shadow_los; // Line of sight- players in shadows 62 bool8 debugging_and_console; 63 bool8 recordingVideo; // true each frame is recorded, false no recording is done 64 65 bool8 on_screen_text; // text on screen or not 66 bool8 mega_hilite; 67 bool8 texturedActors; 68 bool8 litActors; 69 bool8 polyActors; 70 bool8 wireframeActors; 71 72 bool8 speechLineNumbers; 73 bool8 joystickVibration; 74 bool8 socket_watch; 75 76 bool8 semitransparencies; // On or off 77 bool8 mega_timer; 78 bool8 logic_timing; // so we know when to exlude resman 79 bool8 prop_hilite; 80 81 bool8 game_completed; // Set by gamescript marker - unlocks title screen bonuses 82 }; 83 84 extern c_global_switches *g_px; 85 86 } // End of namespace ICB 87 88 #endif 89