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  */
22 
23 #ifndef TINSEL_SCN_H	// prevent multiple includes
24 #define TINSEL_SCN_H
25 
26 #include "tinsel/dw.h"
27 
28 namespace Tinsel {
29 
30 // chunk identifier numbers
31 
32 // V2 chunks
33 
34 #define	CHUNK_STRING			0x33340001L	// same in V1 and V2
35 #define	CHUNK_BITMAP			0x33340002L	// same in V1 and V2
36 #define	CHUNK_CHARPTR			0x33340003L	// not used!
37 #define	CHUNK_CHARMATRIX		0x33340004L	// not used!
38 #define	CHUNK_PALETTE			0x33340005L	// not used!
39 #define	CHUNK_IMAGE				0x33340006L	// not used!
40 #define	CHUNK_ANI_FRAME			0x33340007L	// not used!
41 #define	CHUNK_FILM				0x33340008L	// not used!
42 #define	CHUNK_FONT				0x33340009L	// not used!
43 #define	CHUNK_PCODE				0x3334000AL
44 #define	CHUNK_ENTRANCE			0x3334000BL	// not used!
45 #define	CHUNK_POLYGONS			0x3334000CL	// not used!
46 #define	CHUNK_ACTORS			0x3334000DL	// not used!
47 
48 #define CHUNK_PROCESSES			0x3334000EL // Tinsel 2 only
49 
50 // Following chunk Ids should be decremented by 1 for Tinsel 1
51 #define	CHUNK_SCENE				0x3334000FL
52 #define	CHUNK_TOTAL_ACTORS		0x33340010L
53 #define	CHUNK_TOTAL_GLOBALS		0x33340011L
54 #define	CHUNK_TOTAL_OBJECTS		0x33340012L
55 #define	CHUNK_OBJECTS			0x33340013L
56 #define	CHUNK_MIDI				0x33340014L	// not used!
57 #define	CHUNK_SAMPLE			0x33340015L	// not used!
58 #define	CHUNK_TOTAL_POLY		0x33340016L
59 
60 // Following chunks are Tinsel 2 only
61 #define CHUNK_NUM_PROCESSES		0x33340017L	// Master scene only
62 #define CHUNK_MASTER_SCRIPT		0x33340018L
63 #define CHUNK_CDPLAY_FILENUM	0x33340019L
64 #define CHUNK_CDPLAY_HANDLE		0x3334001AL
65 #define CHUNK_CDPLAY_FILENAME	0x3334001BL
66 #define CHUNK_MUSIC_FILENAME	0x3334001CL
67 #define CHUNK_MUSIC_SCRIPT		0x3334001DL
68 #define CHUNK_MUSIC_SEGMENT		0x3334001EL
69 #define CHUNK_SCENE_HOPPER		0x3334001FL	// Hopper file only
70 #define CHUNK_SCENE_HOPPER2		0x33340030L	// Hopper file only
71 #define CHUNK_TIME_STAMPS		0x33340020L
72 
73 // This single chunk is common to all Tinsel versions
74 #define	CHUNK_MBSTRING			0x33340022L
75 
76 // This is a base, subsequent numbers may also get used
77 #define CHUNK_GRAB_NAME			0x33340100L
78 
79 byte *FindChunk(SCNHANDLE handle, uint32 chunk);
80 
81 } // End of namespace Tinsel
82 
83 #endif /* TINSEL_SCN_H */
84