]> icculus.org git repositories - btb/d2x.git/blob - main/songs.h
make descent.cfg items into cvars, and exec the file to read config
[btb/d2x.git] / main / songs.h
1 /* $Id: songs.h,v 1.3 2004-08-28 23:17:45 schaffner Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Header for songs.c
18  *
19  */
20
21 #ifndef _SONGS_H
22 #define _SONGS_H
23
24 #include "cvar.h"
25
26 typedef struct song_info {
27         char    filename[16];
28         char    melodic_bank_file[16];
29         char    drum_bank_file[16];
30 } song_info;
31
32 extern song_info Songs[];
33
34 #define SONG_TITLE              0
35 #ifdef MACINTOSH
36 #define SONG_BRIEFING           3       // endgame and briefing the same
37 #else
38 #define SONG_BRIEFING           1
39 #endif
40 #define SONG_ENDLEVEL           2
41 #define SONG_ENDGAME            3
42 #define SONG_CREDITS            4
43 #define SONG_FIRST_LEVEL_SONG   5
44
45
46 #ifdef MACINTOSH
47 #define MAX_NUM_SONGS           9
48 #define Num_songs               9
49 #else
50 #define MAX_NUM_SONGS           30
51 extern int Num_songs;   //how many MIDI songs
52 #endif
53
54 //whether or not redbook audio should be played
55 extern cvar_t Redbook_enabled;
56 extern int Redbook_playing;     // track that is currently playing
57
58 void songs_play_song( int songnum, int repeat );
59 void songs_play_level_song( int levelnum );
60
61 // stop the redbook, so we can read off the CD
62 void songs_stop_redbook(void);
63
64 // stop any songs - midi or redbook - that are currently playing
65 void songs_stop_all(void);
66
67 // this should be called regularly to check for redbook restart
68 void songs_check_redbook_repeat(void);
69
70 #endif /* _SONGS_H */