Mercurial > audlegacy
annotate Plugins/Input/adplug/core/dmo.h @ 1653:a6e6d3500c13 trunk
[svn] - revert back to r2216
author | nenolod |
---|---|
date | Thu, 07 Sep 2006 22:26:54 -0700 |
parents | 705d4c089fce |
children |
rev | line source |
---|---|
359 | 1 /* |
2 Adplug - Replayer for many OPL2/OPL3 audio file formats. | |
1376
c71e2ef2dcf4
[svn] Security fixes from AdPlug CVS (their July 7 commit shortly before the secunia announcement).
chainsaw
parents:
359
diff
changeset
|
3 Copyright (C) 1999 - 2006 Simon Peter, <dn.tlp@gmx.net>, et al. |
359 | 4 |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
1459 | 17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
359 | 18 |
19 dmo.cpp - TwinTeam loader by Riven the Mage <riven@ok.ru> | |
20 */ | |
21 | |
22 #include "s3m.h" | |
23 | |
24 class CdmoLoader: public Cs3mPlayer | |
25 { | |
26 public: | |
27 static CPlayer *factory(Copl *newopl); | |
28 | |
29 CdmoLoader(Copl *newopl) : Cs3mPlayer(newopl) { }; | |
30 | |
31 bool load(const std::string &filename, const CFileProvider &fp); | |
32 | |
33 std::string gettype(); | |
34 std::string getauthor(); | |
35 | |
36 private: | |
37 | |
38 class dmo_unpacker { | |
39 public: | |
40 bool decrypt(unsigned char *buf, long len); | |
1376
c71e2ef2dcf4
[svn] Security fixes from AdPlug CVS (their July 7 commit shortly before the secunia announcement).
chainsaw
parents:
359
diff
changeset
|
41 long unpack(unsigned char *ibuf, unsigned char *obuf, |
c71e2ef2dcf4
[svn] Security fixes from AdPlug CVS (their July 7 commit shortly before the secunia announcement).
chainsaw
parents:
359
diff
changeset
|
42 unsigned long outputsize); |
359 | 43 |
44 private: | |
45 unsigned short brand(unsigned short range); | |
46 short unpack_block(unsigned char *ibuf, long ilen, unsigned char *obuf); | |
1376
c71e2ef2dcf4
[svn] Security fixes from AdPlug CVS (their July 7 commit shortly before the secunia announcement).
chainsaw
parents:
359
diff
changeset
|
47 |
359 | 48 unsigned long bseed; |
1376
c71e2ef2dcf4
[svn] Security fixes from AdPlug CVS (their July 7 commit shortly before the secunia announcement).
chainsaw
parents:
359
diff
changeset
|
49 unsigned char *oend; |
359 | 50 }; |
51 }; |