Fix old map array tunnel head conversion
[openttd/fttd.git] / src / sound / sound_driver.hpp
blobac870a3426693c938e0e7e0d9ba2ac3daafc0f24
1 /* $Id$ */
3 /*
4 * This file is part of OpenTTD.
5 * OpenTTD 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, version 2.
6 * OpenTTD 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.
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 */
10 /** @file sound_driver.hpp Base for all sound drivers. */
12 #ifndef SOUND_SOUND_DRIVER_HPP
13 #define SOUND_SOUND_DRIVER_HPP
15 #include "../driver.h"
17 /** Base for all sound drivers. */
18 class SoundDriver : public Driver, public SharedDriverSystem <SoundDriver> {
19 public:
20 static char *ini; ///< The sound driver as stored in the configuration file.
22 /** Get the name of this type of driver. */
23 static CONSTEXPR const char *GetSystemName (void)
25 return "sound";
28 /** Called once every tick */
29 virtual void MainLoop() {}
32 /** Sound driver factory. */
33 template <class D>
34 class SoundDriverFactory : DriverFactory <SoundDriver, D> {
35 public:
36 /**
37 * Construct a new SoundDriverFactory.
38 * @param priority The priority within the driver class.
39 * @param name The name of the driver.
40 * @param description A long-ish description of the driver.
42 SoundDriverFactory (int priority, const char *name, const char *description)
43 : DriverFactory <SoundDriver, D> (priority, name, description)
48 #endif /* SOUND_SOUND_DRIVER_HPP */