diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 2daba109e1..920af9afa8 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -19,6 +19,8 @@ #include "pce.h" #include "../engine.h" +// TODO: move this away +#include "../../src/gui/furIcons.h" #include //#define rWrite(a,v) pendingWrites[a]=v; @@ -512,6 +514,18 @@ unsigned short DivPlatformPCE::getPan(int ch) { return ((chan[ch].pan&0xf0)<<4)|(chan[ch].pan&15); } +DivChannelModeHints DivPlatformPCE::getModeHints(int ch) { + DivChannelModeHints ret; + if (ch<4) return ret; + ret.count=1; + ret.hint[0]=ICON_FUR_NOISE; + ret.type[0]=0; + + if (chan[ch].noise) ret.type[0]=4; + + return ret; +} + DivSamplePos DivPlatformPCE::getSamplePos(int ch) { if (ch>=6) return DivSamplePos(); if (!chan[ch].pcm) return DivSamplePos(); diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index 2436453e4d..c2649eb052 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -83,6 +83,7 @@ class DivPlatformPCE: public DivDispatch { void* getChanState(int chan); DivMacroInt* getChanMacroInt(int ch); unsigned short getPan(int chan); + DivChannelModeHints getModeHints(int chan); DivSamplePos getSamplePos(int ch); DivDispatchOscBuffer* getOscBuffer(int chan); unsigned char* getRegisterPool();