From f27e8762cbb6629373b96ebe043f743e2bd70070 Mon Sep 17 00:00:00 2001 From: Patryk Obara Date: Sat, 4 Jan 2020 01:28:22 +0100 Subject: [PATCH] Update NukedOPL::Handler to C++11 --- src/hardware/adlib.cpp | 37 +++++++++++++++++++++---------------- src/hardware/adlib.h | 3 +-- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/hardware/adlib.cpp b/src/hardware/adlib.cpp index 81f96f39..8cd35aaa 100644 --- a/src/hardware/adlib.cpp +++ b/src/hardware/adlib.cpp @@ -166,15 +166,20 @@ struct Handler : public Adlib::Handler { } namespace NukedOPL { + struct Handler : public Adlib::Handler { - opl3_chip chip; - Bit8u newm; - virtual void WriteReg( Bit32u reg, Bit8u val ) { + opl3_chip chip = {}; + Bit8u newm = 0; + + void WriteReg(Bit32u reg, Bit8u val) override + { OPL3_WriteRegBuffered(&chip, (Bit16u)reg, val); if (reg == 0x105) newm = reg & 0x01; } - virtual Bit32u WriteAddr( Bit32u port, Bit8u val ) { + + Bit32u WriteAddr(Bit32u port, Bit8u val) override + { Bit16u addr; addr = val; if ((port & 2) && (addr == 0x05 || newm)) { @@ -182,26 +187,26 @@ struct Handler : public Adlib::Handler { } return addr; } - virtual void Generate( MixerChannel* chan, Bitu samples ) { - Bit16s buf[1024*2]; - while( samples > 0 ) { - Bitu todo = samples > 1024 ? 1024 : samples; - samples -= todo; + + void Generate(MixerChannel *chan, Bitu samples) override + { + int16_t buf[1024 * 2]; + while (samples > 0) { + uint32_t todo = samples > 1024 ? 1024 : samples; OPL3_GenerateStream(&chip, buf, todo); - chan->AddSamples_s16( todo, buf ); + chan->AddSamples_s16(todo, buf); + samples -= todo; } } - virtual void Init( Bitu rate ) { + + void Init(Bitu rate) override + { newm = 0; OPL3_Reset(&chip, rate); } - ~Handler() { - } }; -} - - +} // namespace NukedOPL #define RAW_SIZE 1024 diff --git a/src/hardware/adlib.h b/src/hardware/adlib.h index 1300545b..140e6f04 100644 --- a/src/hardware/adlib.h +++ b/src/hardware/adlib.h @@ -103,8 +103,7 @@ public: virtual void Generate( MixerChannel* chan, Bitu samples ) = 0; //Initialize at a specific sample rate and mode virtual void Init( Bitu rate ) = 0; - virtual ~Handler() { - } + virtual ~Handler() = default; }; //The cache for 2 chips or an opl3