diff options
author | Paul Gilbert | 2018-12-08 11:37:37 -0800 |
---|---|---|
committer | Paul Gilbert | 2018-12-08 19:05:59 -0800 |
commit | 0cbd51641b0bc1b205f90324399eca6b08a75c32 (patch) | |
tree | dd0a8f90993b7e3eb3332d07a3302d7f7db79cb7 /engines/glk/glk_api.cpp | |
parent | 3661fc61ec319752a767e5981581ded026a57dd1 (diff) | |
download | scummvm-rg350-0cbd51641b0bc1b205f90324399eca6b08a75c32.tar.gz scummvm-rg350-0cbd51641b0bc1b205f90324399eca6b08a75c32.tar.bz2 scummvm-rg350-0cbd51641b0bc1b205f90324399eca6b08a75c32.zip |
GLK: FROTZ: Further sound handling
Diffstat (limited to 'engines/glk/glk_api.cpp')
-rw-r--r-- | engines/glk/glk_api.cpp | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/engines/glk/glk_api.cpp b/engines/glk/glk_api.cpp index 11047893ef..c24d452a50 100644 --- a/engines/glk/glk_api.cpp +++ b/engines/glk/glk_api.cpp @@ -975,7 +975,11 @@ schanid_t GlkAPI::glk_schannel_create(glui32 rock) { } void GlkAPI::glk_schannel_destroy(schanid_t chan) { - delete chan; + if (chan) { + delete chan; + } else { + warning("schannel_dest roy: invalid ref"); + } } schanid_t GlkAPI::glk_schannel_iterate(schanid_t chan, glui32 *rockptr) { @@ -983,21 +987,38 @@ schanid_t GlkAPI::glk_schannel_iterate(schanid_t chan, glui32 *rockptr) { } glui32 GlkAPI::glk_schannel_get_rock(schanid_t chan) { - return chan->_rock; + if (chan) { + return chan->_rock; + } else { + warning("schannel_get_rock: invalid ref"); + return 0; + } } glui32 GlkAPI::glk_schannel_play(schanid_t chan, glui32 snd) { - // TODO - return 0; + if (chan) { + return chan->play(snd); + } else { + warning("schannel_play_ext: invalid ref"); + return 0; + } } glui32 GlkAPI::glk_schannel_play_ext(schanid_t chan, glui32 snd, glui32 repeats, glui32 notify) { - // TODO - return 0; + if (chan) { + chan->play(snd, repeats, notify); + } else { + warning("schannel_play_ext: invalid ref"); + return 0; + } } void GlkAPI::glk_schannel_stop(schanid_t chan) { - // TODO + if (chan) { + chan->stop(); + } else { + warning("schannel_stop: invalid ref"); + } } void GlkAPI::glk_schannel_set_volume(schanid_t chan, glui32 vol) { @@ -1005,17 +1026,17 @@ void GlkAPI::glk_schannel_set_volume(schanid_t chan, glui32 vol) { } void GlkAPI::glk_sound_load_hint(glui32 snd, glui32 flag) { - // TODO + // No implementation } schanid_t GlkAPI::glk_schannel_create_ext(glui32 rock, glui32 volume) { - // TODO + // No implementation return nullptr; } glui32 GlkAPI::glk_schannel_play_multi(schanid_t *chanarray, glui32 chancount, glui32 *sndarray, glui32 soundcount, glui32 notify) { - // TODO + // No implementation return 0; } |