diff --git a/demos/virtualboy/4_dimensionnal_goddess_of_existance.fur b/demos/virtualboy/4_dimensionnal_goddess_of_existance.fur index ce49008f5..fe5279389 100644 Binary files a/demos/virtualboy/4_dimensionnal_goddess_of_existance.fur and b/demos/virtualboy/4_dimensionnal_goddess_of_existance.fur differ diff --git a/demos/virtualboy/Double_Puzzle_Trouble.fur b/demos/virtualboy/Double_Puzzle_Trouble.fur index aac93eeaa..002b00685 100644 Binary files a/demos/virtualboy/Double_Puzzle_Trouble.fur and b/demos/virtualboy/Double_Puzzle_Trouble.fur differ diff --git a/demos/virtualboy/LN2StreetLoader-VB.fur b/demos/virtualboy/LN2StreetLoader-VB.fur index b0018cc0c..f94601279 100644 Binary files a/demos/virtualboy/LN2StreetLoader-VB.fur and b/demos/virtualboy/LN2StreetLoader-VB.fur differ diff --git a/demos/virtualboy/No_Such_Thing.fur b/demos/virtualboy/No_Such_Thing.fur index 6794595fe..a26fdbfba 100644 Binary files a/demos/virtualboy/No_Such_Thing.fur and b/demos/virtualboy/No_Such_Thing.fur differ diff --git a/demos/virtualboy/honeydippedkiwis.fur b/demos/virtualboy/honeydippedkiwis.fur index 213eaa587..5897ed677 100644 Binary files a/demos/virtualboy/honeydippedkiwis.fur and b/demos/virtualboy/honeydippedkiwis.fur differ diff --git a/demos/virtualboy/LastNinja-SewersLoader.fur b/demos/virtualboy/lastninja-sewersloader.fur similarity index 100% rename from demos/virtualboy/LastNinja-SewersLoader.fur rename to demos/virtualboy/lastninja-sewersloader.fur diff --git a/demos/virtualboy/needforspeed2semainmenu.fur b/demos/virtualboy/needforspeed2semainmenu.fur index 51fdcb8ab..8b650664a 100644 Binary files a/demos/virtualboy/needforspeed2semainmenu.fur and b/demos/virtualboy/needforspeed2semainmenu.fur differ diff --git a/demos/virtualboy/red_joke.fur b/demos/virtualboy/red_joke.fur index 63882cefb..f2afeb53d 100644 Binary files a/demos/virtualboy/red_joke.fur and b/demos/virtualboy/red_joke.fur differ diff --git a/demos/virtualboy/virtual_namachuukei_pennant_race.fur b/demos/virtualboy/virtual_namachuukei_pennant_race.fur index 27bbfa9b8..e407c2b73 100644 Binary files a/demos/virtualboy/virtual_namachuukei_pennant_race.fur and b/demos/virtualboy/virtual_namachuukei_pennant_race.fur differ diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index b5414c7de..6c30c6656 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -23,6 +23,7 @@ #include #include #include "../pch.h" +#include "blip_buf.h" #include "config.h" #include "chipUtils.h" #include "defines.h" @@ -587,6 +588,14 @@ class DivDispatch { */ virtual void acquire(short** buf, size_t len); + /** + * fill a buffer with sound data (direct access to blip_buf). + * @param bb pointers to blip_buf instances. + * @param the offset to the first sample (use this when calling blip_add_delta). + * @param len the amount of samples to fill. + */ + virtual void acquireDirect(blip_buffer_t** bb, size_t off, size_t len); + /** * fill a write stream with data (e.g. for software-mixed PCM). * @param stream the write stream. @@ -777,6 +786,12 @@ class DivDispatch { */ virtual bool getWantPreNote(); + /** + * check whether acquireDirect is available. + * @return whether it is. + */ + virtual bool hasAcquireDirect(); + /** * get minimum chip clock. * @return clock in Hz, or 0 if custom clocks are not supported. diff --git a/src/engine/platform/abstract.cpp b/src/engine/platform/abstract.cpp index 5750ee568..73abebc30 100644 --- a/src/engine/platform/abstract.cpp +++ b/src/engine/platform/abstract.cpp @@ -23,6 +23,9 @@ void DivDispatch::acquire(short** buf, size_t len) { } +void DivDispatch::acquireDirect(blip_buffer_t** bb, size_t off, size_t len) { +} + void DivDispatch::fillStream(std::vector& stream, int sRate, size_t len) { } @@ -127,6 +130,10 @@ bool DivDispatch::getDCOffRequired() { return false; } +bool DivDispatch::hasAcquireDirect() { + return false; +} + bool DivDispatch::getWantPreNote() { return false; }