ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sysdef.h
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 modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (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, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef WATCHMAKER_SYSDEF_H
23 #define WATCHMAKER_SYSDEF_H
24 
25 namespace Watchmaker {
26 
27 #define WM_INIT_PACK_FILENAME "Data.wm" // file con le strutture di gioco
28 #define WM_GAMEDATA_PACK_FILENAME "GameData.wm" // t3d,bnd,cam,tmaps,etc
29 
30 // STRUTTURE DI GIOCO
31 #define MAX_ROOMS 75 // stanze del gioco
32 #define MAX_OBJS 1624 // oggetti del gioco
33 #define MAX_ANIMS 1360 // animazioni
34 #define MAX_ACTIONS 3 // numero di azioni in tutto il gioco
35 #define MAX_ICONS 86 // oggetti d'inventario
36 #define MAX_SOUNDS 1120 // numero massimo di sample nel gioco
37 #define MAX_MUSICS 24 // numero massimo di musiche nel gioco
38 #define MAX_DIALOGS 114 // numero dialoghi e full-motion
39 #define MAX_DIARIES 44 // numero di diari dei personaggi
40 #define MAX_DLG_MENUS 100 // numero di menu e sotto menu per i dialoghi
41 #define MAX_DLG_ITEMS 341 // numero massimo item per dialoghi
42 #define MAX_PLAYERS 2 // numero personaggi principali giocanti
43 #define MAX_ENVIRONMENTS 32 // numero massimo di environments presenti
44 #define MAX_MODIFIED_MESH 1536 // numero mesh modifiers
45 
46 #define MAX_OBJS_IN_ROOM 99 // oggetti in stanza
47 #define MAX_ANIMS_IN_ROOM 10 // numero di animazioni per stanza
48 #define MAX_ACTIONS_IN_ROOM 2 // numero di azioni per stanza
49 #define MAX_SOUNDS_IN_ROOM 15 // suoni per stanza
50 #define MAX_ICONS_IN_INV 100 // icone nell'inventario
51 #define MAX_SHOWN_ICONS 24 // icone visibili nell'inventario
52 
53 #define MAX_IC_PER_DLG_ITEM 200 // numero massimo di item commands associate ad un item dei dialoghi
54 #define MAX_ALTERNATES 3 // numero massimo alternate nei dialoghi
55 #define MAX_ALT_ANIMS 16 // numero massimo animazioni alternative nei dialoghi per ogni alternate
56 #define MAX_DIARY_ITEMS 20 // numero massimo di elementi per ogni diario
57 #define MAX_ANIMS_PER_DIARY_ITEM 20 // numero massimo di animazioni per elemento diario
58 
59 #define MAX_D3D_RECTS 20 // numero massimo rettangoli 3D visualizzati
60 #define MAX_D3D_TRIANGLES 20 // numero massimo triangoli 3D visualizzati
61 #define MAX_D3D_BITMAPS 20 // numero massimo bitmaps 3D visualizzate
62 #define MAX_DD_BITMAPS 200 // numero massimo bitmaps 2D visualizzati
63 #define MAX_DD_TEXTS 50 // numero massimo testi 2D visualizzati
64 #define MAX_REND_TEXTS MAX_DD_TEXTS+10 // numero massimo testi prerenderizzati
65 
66 #define INV_MARG_UP 88 // posizione superiore della barra dell'inventario
67 #define INV_MARG_DOWN INV_MARG_UP+ICON_DY*MAX_SHOWN_ICONS // posizione inferiore della barra dell'inventario
68 #define INV_MARG_SX 42 // posizione sinistra della barra dell'inventario
69 #define INV_MARG_DX 200 // posizione destra della barra dell'inventario
70 #define ICON_DY 20 // altezza di una casella icona
71 
72 #define DIAG1_MARG_SX 20 // posizione sinistra della barra 1 del dialogo
73 #define DIAG1_MARG_UP 391 // posizione superiore della barra 1 del dialogo
74 #define DIAG1_MARG_DX 182 // posizione destra della barra 1 del dialogo
75 #define DIAG1_MARG_DOWN 315 // posizione inferiore della barra 1 del dialogo
76 #define DIAG2_MARG_SX 248 // posizione sinistra della barra 2 del dialogo
77 #define DIAG2_MARG_UP 527 // posizione superiore della barra 2 del dialogo
78 #define DIAG2_MARG_DX 736 // posizione destra della barra 2 del dialogo
79 #define DIAG2_MARG_DOWN 550 // posizione inferiore della barra 2 del dialogo
80 #define MAX_DIAG1_ITEMS 9 // numero massimo di elementi possibili in diag1
81 #define MAX_DIAG2_ITEMS 3 // numero massimo di elementi possibili in diag2
82 #define DIAG_DY 22 // Spaziatura dialogo
83 #define DIAG2_DY 18 // Spaziatura dialogo
84 #define MAX_SAVE_SLOTS 16 // numero massimo di save
85 
86 #define MAX_OBJ_USER_SENTS 5 // numero sent aggiuntive per oggetto
87 #define MAX_ICON_USER_SENTS 4 // numero sent aggiuntive per icona
88 #define MAX_OBJ_MESHLINKS 16 // link oggetto -> mesh
89 #define MAX_SUBANIMS 30 // link anim -> mesh
90 #define MAX_SOUND_MESHLINKS 16 // link suono -> mesh
91 #define MAX_SUB_MUSICS 10 // sotto musiche
92 
93 #define MAX_ATFRAMES 24 // numero di atframe
94 #define MAX_ATF_DO 80 // numero di eventi particolari
95 
96 #define MAX_SCRIPTS 100 // numero di script
97 #define MAX_SCRIPT_FRAMES 500 // numero di frames per script
98 
99 #define MAX_MESSAGES 255 // numero messaggi eventi
100 
101 #define TEXT_BUCKET_SIZE 512000L // massima occupazione tutte le stringhe di WM
102 #define MAX_OBJ_NAMES 1400 // numero di nomi oggetto
103 #define MAX_SENTENCES 5000 // numero di frasi per oggetti
104 #define MAX_SYS_SENTS 100 // numero frasi di sistema
105 #define MAX_TOOLTIP_SENTS 100 // numero frasi per i tooltips del 2D
106 #define MAX_PDALOGS 128 // numero massimo di log del PDA
107 #define MAX_PDA_LINES 3 // numero di righe che puo' occupare un log nel PDA
108 #define MAX_PDA_INFO 5 // numero massimo info nel pda item
109 #define MAX_STRING_LEN 400 // lunghezza massima stringa
110 
111 #define MAX_TEXT_LINES 10 // numero massimo di linee per la formattazione
112 #define MAX_TEXT_CHARS 160 // numero massimo di caratteri per linea per la formattazione
113 
114 
115 // GESTIONE DELL'USA CON..
116 #define USED 0
117 #define WITH 1
118 #define UW_OFF 0
119 #define UW_ON 1
120 #define UW_USEDI 2
121 #define UW_WITHI 4
122 // GESTIONE DELL'INVENTARIO
123 #define INV_OFF 0 // Inventario spento
124 #define INV_ON 1 // Inventario attivo
125 #define INV_MODE1 2 // Inventario con selettore icone a sinistra
126 #define INV_MODE2 4 // Inventario fullscreen con icona grossa
127 #define INV_MODE3 8 // Inventario con icona piccola in basso
128 #define INV_MODE4 16 // Inventario in swap mode
129 #define INV_MODE5 32 // Inventario in save mode
130 
131 #define SCREEN_RES_X 800 // Screen resolution X
132 #define SCREEN_RES_Y 600 // Screen resolution Y
133 
134 #define FRAME_PER_SECOND 76 // A quanto dovrebbe girare tutto il gioco
135 #define BACK_BUFFER 0 // Identificativo del backbuffer
136 #define PLAYER_IDLE_TIME 10000L // Dopo quanto tempo parte animazione di idle
137 // Altezze Darrell predefinite
138 #define MAX_HEIGHT 450.0f // Altezza predefinita omino
139 #define EYES_HEIGHT 420.0f // Altezza predefinita occhi
140 #define SHOULDERS_HEIGHT 350.0f // Altezza predefinita spalla
141 #define CHEST_HEIGHT 240.0f // Altezza predefinita ombelico
142 #define KNEE_HEIGHT 130.0f // Altezza predefinita ginocchio
143 #define ONE_STEP 173.0f // Lunghezza predefinita un passo
144 #define HALF_STEP 60.0f // Lunghezza predefinita mezzo passo
145 // Limiti di movimento e di velocita' della testa
146 #define MAX_HEAD_ANGLE_X 30.0f
147 #define MAX_HEAD_ANGLE_Y 30.0f
148 #define MAX_HEAD_SPEED 90.0f/FRAME_PER_SECOND
149 // Aperture predefinite della camera
150 #define CAMERA_FOV 58.0f
151 #define CAMERA_FOV_1ST 74.0f
152 #define CAMERA_FOV_ICON 50.0f
153 // Colori predefiniti del font
154 enum FontColor {
155  WHITE_FONT = 0,
156  RED_FONT = 1,
157  GREEN_FONT = 2,
158  BLUE_FONT = 3,
159  CYAN_FONT = 4,
160  MAGENTA_FONT = 5,
161  YELLOW_FONT = 6,
162  GRAY_FONT = 7,
163  BLACK_FONT = 8,
164  MAX_FONT_COLORS = 9
165 };
166 
167 enum class FontKind {
168  Standard,
169  Computer,
170  PDA
171 };
172 
173 #define MAX_GOPHERS 3
174 
175 } // End of namespace Watchmaker
176 
177 #endif // WATCHMAKER_SYSDEF_H
Definition: 2d_stuff.h:30