File: sysdef.h

package info (click to toggle)
scummvm 2.9.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 450,268 kB
  • sloc: cpp: 4,297,604; asm: 28,322; python: 12,901; sh: 11,219; java: 8,477; xml: 7,843; perl: 2,633; ansic: 2,465; yacc: 1,670; javascript: 1,020; makefile: 933; lex: 578; awk: 275; objc: 82; sed: 11; php: 1
file content (177 lines) | stat: -rw-r--r-- 10,190 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * 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, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef WATCHMAKER_SYSDEF_H
#define WATCHMAKER_SYSDEF_H

namespace Watchmaker {

#define WM_INIT_PACK_FILENAME           "Data.wm"           // file con le strutture di gioco
#define WM_GAMEDATA_PACK_FILENAME       "GameData.wm"       // t3d,bnd,cam,tmaps,etc

// STRUTTURE DI GIOCO
#define MAX_ROOMS                   75              // stanze del gioco
#define MAX_OBJS                    1624        // oggetti del gioco
#define MAX_ANIMS                   1360            // animazioni
#define MAX_ACTIONS                 3               // numero di azioni in tutto il gioco
#define MAX_ICONS                   86              // oggetti d'inventario
#define MAX_SOUNDS                  1120            // numero massimo di sample nel gioco
#define MAX_MUSICS                  24              // numero massimo di musiche nel gioco
#define MAX_DIALOGS                 114             // numero dialoghi e full-motion
#define MAX_DIARIES                 44              // numero di diari dei personaggi
#define MAX_DLG_MENUS               100             // numero di menu e sotto menu per i dialoghi
#define MAX_DLG_ITEMS               341             // numero massimo item per dialoghi
#define MAX_PLAYERS                 2               // numero personaggi principali giocanti
#define MAX_ENVIRONMENTS            32              // numero massimo di environments presenti
#define MAX_MODIFIED_MESH           1536            // numero mesh modifiers

#define MAX_OBJS_IN_ROOM            99              // oggetti in stanza
#define MAX_ANIMS_IN_ROOM           10              // numero di animazioni per stanza
#define MAX_ACTIONS_IN_ROOM         2               // numero di azioni per stanza
#define MAX_SOUNDS_IN_ROOM          15              // suoni per stanza
#define MAX_ICONS_IN_INV            100             // icone nell'inventario
#define MAX_SHOWN_ICONS             24              // icone visibili nell'inventario

#define MAX_IC_PER_DLG_ITEM         200             // numero massimo di item commands associate ad un item dei dialoghi
#define MAX_ALTERNATES              3               // numero massimo alternate nei dialoghi
#define MAX_ALT_ANIMS               16              // numero massimo animazioni alternative nei dialoghi per ogni alternate
#define MAX_DIARY_ITEMS             20              // numero massimo di elementi per ogni diario
#define MAX_ANIMS_PER_DIARY_ITEM    20              // numero massimo di animazioni per elemento diario

#define MAX_D3D_RECTS               20              // numero massimo rettangoli 3D visualizzati
#define MAX_D3D_TRIANGLES           20              // numero massimo triangoli 3D visualizzati
#define MAX_D3D_BITMAPS             20              // numero massimo bitmaps 3D visualizzate
#define MAX_DD_BITMAPS              200             // numero massimo bitmaps 2D visualizzati
#define MAX_DD_TEXTS                50              // numero massimo testi 2D visualizzati
#define MAX_REND_TEXTS              MAX_DD_TEXTS+10 // numero massimo testi prerenderizzati

#define INV_MARG_UP                 88              // posizione superiore della barra dell'inventario
#define INV_MARG_DOWN               INV_MARG_UP+ICON_DY*MAX_SHOWN_ICONS // posizione inferiore della barra dell'inventario
#define INV_MARG_SX                 42              // posizione sinistra della barra dell'inventario
#define INV_MARG_DX                 200             // posizione destra della barra dell'inventario
#define ICON_DY                     20              // altezza di una casella icona

#define DIAG1_MARG_SX               20              // posizione sinistra della barra 1 del dialogo
#define DIAG1_MARG_UP               391             // posizione superiore della barra 1 del dialogo
#define DIAG1_MARG_DX               182             // posizione destra della barra 1 del dialogo
#define DIAG1_MARG_DOWN             315             // posizione inferiore della barra 1 del dialogo
#define DIAG2_MARG_SX               248             // posizione sinistra della barra 2 del dialogo
#define DIAG2_MARG_UP               527             // posizione superiore della barra 2 del dialogo
#define DIAG2_MARG_DX               736             // posizione destra della barra 2 del dialogo
#define DIAG2_MARG_DOWN             550             // posizione inferiore della barra 2 del dialogo
#define MAX_DIAG1_ITEMS             9               // numero massimo di elementi possibili in diag1
#define MAX_DIAG2_ITEMS             3               // numero massimo di elementi possibili in diag2
#define DIAG_DY                     22              // Spaziatura dialogo
#define DIAG2_DY                    18              // Spaziatura dialogo
#define MAX_SAVE_SLOTS              16              // numero massimo di save

#define MAX_OBJ_USER_SENTS          5               // numero sent aggiuntive per oggetto
#define MAX_ICON_USER_SENTS         4               // numero sent aggiuntive per icona
#define MAX_OBJ_MESHLINKS           16              // link oggetto -> mesh
#define MAX_SUBANIMS                30              // link anim -> mesh
#define MAX_SOUND_MESHLINKS         16              // link suono -> mesh
#define MAX_SUB_MUSICS              10              // sotto musiche

#define MAX_ATFRAMES                24              // numero di atframe
#define MAX_ATF_DO                  80              // numero di eventi particolari

#define MAX_SCRIPTS                 100             // numero di script
#define MAX_SCRIPT_FRAMES           500             // numero di frames per script

#define MAX_MESSAGES                255             // numero messaggi eventi

#define TEXT_BUCKET_SIZE            512000L         // massima occupazione tutte le stringhe di WM
#define MAX_OBJ_NAMES               1400            // numero di nomi oggetto
#define MAX_SENTENCES               5000            // numero di frasi per oggetti
#define MAX_SYS_SENTS               100             // numero frasi di sistema
#define MAX_TOOLTIP_SENTS           100             // numero frasi per i tooltips del 2D
#define MAX_PDALOGS                 128             // numero massimo di log del PDA
#define MAX_PDA_LINES               3               // numero di righe che puo' occupare un log nel PDA
#define MAX_PDA_INFO                5               // numero massimo info nel pda item
#define MAX_STRING_LEN              400             // lunghezza massima stringa

#define MAX_TEXT_LINES              10              // numero massimo di linee per la formattazione
#define MAX_TEXT_CHARS              160             // numero massimo di caratteri per linea per la formattazione


// GESTIONE DELL'USA CON..
#define USED                        0
#define WITH                        1
#define UW_OFF                      0
#define UW_ON                       1
#define UW_USEDI                    2
#define UW_WITHI                    4
// GESTIONE DELL'INVENTARIO
#define INV_OFF                     0               // Inventario spento
#define INV_ON                      1               // Inventario attivo
#define INV_MODE1                   2               // Inventario con selettore icone a sinistra
#define INV_MODE2                   4               // Inventario fullscreen con icona grossa
#define INV_MODE3                   8               // Inventario con icona piccola in basso
#define INV_MODE4                   16              // Inventario in swap mode
#define INV_MODE5                   32              // Inventario in save mode

#define SCREEN_RES_X        800                     // Screen resolution X
#define SCREEN_RES_Y        600                     // Screen resolution Y

#define FRAME_PER_SECOND            76              // A quanto dovrebbe girare tutto il gioco
#define BACK_BUFFER                 0               // Identificativo del backbuffer
#define PLAYER_IDLE_TIME            10000L          // Dopo quanto tempo parte animazione di idle
// Altezze Darrell predefinite
#define MAX_HEIGHT                  450.0f          // Altezza predefinita omino
#define EYES_HEIGHT                 420.0f          // Altezza predefinita occhi
#define SHOULDERS_HEIGHT            350.0f          // Altezza predefinita spalla
#define CHEST_HEIGHT                240.0f          // Altezza predefinita ombelico
#define KNEE_HEIGHT                 130.0f          // Altezza predefinita ginocchio
#define ONE_STEP                    173.0f          // Lunghezza predefinita un passo
#define HALF_STEP                   60.0f           // Lunghezza predefinita mezzo passo
// Limiti di movimento e di velocita' della testa
#define MAX_HEAD_ANGLE_X            30.0f
#define MAX_HEAD_ANGLE_Y            30.0f
#define MAX_HEAD_SPEED              90.0f/FRAME_PER_SECOND
// Aperture predefinite della camera
#define CAMERA_FOV                  58.0f
#define CAMERA_FOV_1ST              74.0f
#define CAMERA_FOV_ICON             50.0f
// Colori predefiniti del font
enum FontColor {
	WHITE_FONT = 0,
	RED_FONT = 1,
	GREEN_FONT = 2,
	BLUE_FONT = 3,
	CYAN_FONT = 4,
	MAGENTA_FONT = 5,
	YELLOW_FONT = 6,
	GRAY_FONT = 7,
	BLACK_FONT = 8,
	MAX_FONT_COLORS = 9
};

enum class FontKind {
	Standard,
	Computer,
	PDA
};

#define MAX_GOPHERS                 3

} // End of namespace Watchmaker

#endif // WATCHMAKER_SYSDEF_H