Mercurial > audlegacy
annotate Plugins/Input/adplug/core/adl.h @ 1594:44f67f556b60 trunk
[svn] - precision in title format is regarded as character count, not byte count.
author | yaz |
---|---|
date | Thu, 24 Aug 2006 23:08:22 -0700 |
parents | fd943ec96935 |
children |
rev | line source |
---|---|
1280
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
1 /* |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
2 * Adplug - Replayer for many OPL2/OPL3 audio file formats. |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
3 * Copyright (C) 1999 - 2006 Simon Peter, <dn.tlp@gmx.net>, et al. |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
4 * |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
5 * adl.h - ADL player adaption by Simon Peter <dn.tlp@gmx.net> |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
6 */ |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
7 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
8 #ifndef H_ADPLUG_ADLPLAYER |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
9 #define H_ADPLUG_ADLPLAYER |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
10 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
11 #include <inttypes.h> |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
12 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
13 #include "player.h" |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
14 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
15 class AdlibDriver; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
16 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
17 class CadlPlayer: public CPlayer |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
18 { |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
19 public: |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
20 static CPlayer *factory(Copl *newopl); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
21 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
22 CadlPlayer(Copl *newopl); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
23 ~CadlPlayer(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
24 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
25 bool load(const std::string &filename, const CFileProvider &fp); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
26 bool update(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
27 void rewind(int subsong); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
28 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
29 // refresh rate is fixed at 72Hz |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
30 float getrefresh() |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
31 { |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
32 return 72.0f; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
33 } |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
34 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
35 unsigned int getsubsongs(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
36 std::string gettype() { return std::string("Westwood ADL"); } |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
37 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
38 private: |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
39 int numsubsongs, cursubsong; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
40 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
41 AdlibDriver *_driver; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
42 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
43 uint8_t _trackEntries[120]; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
44 uint8_t *_soundDataPtr; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
45 int _sfxPlayingSound; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
46 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
47 uint8_t _sfxPriority; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
48 uint8_t _sfxFourthByteOfSong; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
49 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
50 int _numSoundTriggers; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
51 const int *_soundTriggers; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
52 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
53 static const int _kyra1NumSoundTriggers; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
54 static const int _kyra1SoundTriggers[]; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
55 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
56 bool init(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
57 void process(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
58 void playTrack(uint8_t track); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
59 void playSoundEffect(uint8_t track); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
60 void play(uint8_t track); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
61 void unk1(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
62 void unk2(); |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
63 }; |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
64 |
6ad7eb96dd26
[svn] Sync with upstream. This adds Westwood ADL format support.
chainsaw
parents:
diff
changeset
|
65 #endif |