1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 * System variable handling. 22 */ 23 24 #ifndef TINSEL_SYSVAR_H // prevent multiple includes 25 #define TINSEL_SYSVAR_H 26 27 namespace Tinsel { 28 29 typedef enum { SV_DEFAULT_INV, 30 31 SV_CONV_TOPY, // Y-offset of Conversation(TOP) 32 SV_CONV_BOTY, // Y-offset of Conversation(BOT) 33 SV_CONV_MINX, // Minimum distance from side 34 SV_CONV_MINY, // Minimum distance from top 35 SV_CONV_ABOVE_Y, // Distance above actor 36 SV_CONV_BELOW_Y, // Distance below actor 37 38 SV_LANGUAGE, 39 SV_SAMPLE_LANGUAGE, 40 SV_SUBTITLES, 41 SV_SAVED_GAME_EXISTS, 42 43 SV_CONVERSATIONWAITS, // } Do they wait for 44 SV_SPEECHWAITS, // } scrolls to complete? 45 46 SV_ENABLEPOINTTAG, // Enable PointTag() 47 SV_ENABLEPRINTCURSOR, // Enable cursor with PrintCursor() 48 49 SV_SCROLL_XTRIGGER, // } 50 SV_SCROLL_XDISTANCE, // } 51 SV_SCROLL_XSPEED, // } Scroll parameters! 52 SV_SCROLL_YTRIGGERTOP, // } 53 SV_SCROLL_YTRIGGERBOT, // } 54 SV_SCROLL_YDISTANCE, // } 55 SV_SCROLL_YSPEED, // } 56 57 SV_SPEECHDELAY, // Delay 'twixt text/animation and sample 58 SV_MUSICDIMFACTOR, // dimVolume = volume - volume/SV_MDF 59 60 SV_TAGCOLOR, // if set, default actor's text color gets poked in here 61 62 SV_USER1, 63 SV_USER2, 64 SV_USER3, 65 SV_USER4, 66 SV_USER5, 67 SV_USER6, 68 69 SV_MinimumXoffset, 70 SV_MaximumXoffset, 71 SV_MinimumYoffset, 72 SV_MaximumYoffset, 73 // dimVolume = volume - volume/DF 74 SYS_DefaultFxDimFactor, // To this at start of scene 75 SYS_SceneFxDimFactor, // Alter within scene 76 77 SYS_HighlightRGB, 78 SYS_Platform, // Hardware platform **READ ONLY** 79 SYS_Debug, // TRUE for debug build/'cheat'**READ ONLY** 80 81 ISV_DIVERT_ACTOR, 82 ISV_NO_BLOCKING, 83 ISV_GHOST_ACTOR, 84 ISV_GHOST_BASE, 85 ISV_GHOST_COLOR, 86 87 88 SV_TOPVALID } SYSVARS; 89 90 typedef enum { 91 92 // Main Menu 93 SS_LOAD_OPTION, // 94 SS_SAVE_OPTION, // 95 SS_RESTART_OPTION, // 96 SS_SOUND_OPTION, // 97 SS_CONTROL_OPTION, // 98 SS_SUBTITLES_OPTION, // 99 SS_QUIT_OPTION, // 100 SS_RESUME_OPTION, // 101 102 SS_LOAD_HEADING, 103 SS_SAVE_HEADING, 104 SS_RESTART_HEADING, 105 SS_QUIT_HEADING, 106 107 SS_MVOL_SLIDER, 108 SS_SVOL_SLIDER, 109 SS_VVOL_SLIDER, 110 111 SS_DCLICK_SLIDER, 112 SS_DCLICK_TEST, 113 SS_SWAP_TOGGLE, 114 115 SS_TSPEED_SLIDER, 116 SS_STITLE_TOGGLE, 117 118 SS_HOPPER1, // Hopper scene menu heading 119 120 SS_SOUND_HEADING, 121 SS_CONTROLS_HEADING, 122 SS_LANGUAGE_SELECT, 123 124 SS_MAX_VALID 125 } BOLLOX; 126 127 void InitSysVars(); 128 129 void SetSysVar(int varId, int newValue); 130 131 int SysVar(int varId); 132 133 void SaveSysVars(int *pSv); 134 void RestoreSysVars(int *pSv); 135 136 void SetSysString(int number, SCNHANDLE hString); 137 138 SCNHANDLE SysString(int number); 139 140 bool GetNoBlocking(); 141 142 void SetNoBlocking(bool flag); 143 144 } // End of namespace Tinsel 145 146 #endif 147