VGM export: prepare to fix NES DPCM
This commit is contained in:
parent
82bead2fe4
commit
1cabe743d6
5 changed files with 18 additions and 4 deletions
|
|
@ -202,8 +202,10 @@ void FurnaceGUI::drawExportVGM(bool onWindow) {
|
|||
}
|
||||
ImGui::Text(_("chips to export:"));
|
||||
bool hasOneAtLeast=false;
|
||||
bool hasNES=false;
|
||||
for (int i=0; i<e->song.systemLen; i++) {
|
||||
int minVersion=e->minVGMVersion(e->song.system[i]);
|
||||
if (e->song.system[i]==DIV_SYSTEM_NES) hasNES=true;
|
||||
ImGui::BeginDisabled(minVersion>vgmExportVersion || minVersion==0);
|
||||
ImGui::Checkbox(fmt::sprintf("%d. %s##_SYSV%d",i+1,getSystemName(e->song.system[i]),i).c_str(),&willExport[i]);
|
||||
ImGui::EndDisabled();
|
||||
|
|
@ -220,6 +222,17 @@ void FurnaceGUI::drawExportVGM(bool onWindow) {
|
|||
}
|
||||
}
|
||||
ImGui::Text(_("select the chip you wish to export, but only up to %d of each type."),(vgmExportVersion>=0x151)?2:1);
|
||||
|
||||
if (hasNES) {
|
||||
ImGui::Text(_("NES DPCM bank switch method:"));
|
||||
if (ImGui::RadioButton(_("data blocks"),!vgmExportDPCM07)) {
|
||||
vgmExportDPCM07=false;
|
||||
}
|
||||
if (ImGui::RadioButton(_("RAM write commands"),vgmExportDPCM07)) {
|
||||
vgmExportDPCM07=true;
|
||||
}
|
||||
}
|
||||
|
||||
if (hasOneAtLeast) {
|
||||
if (onWindow) {
|
||||
ImGui::Separator();
|
||||
|
|
|
|||
|
|
@ -5645,7 +5645,7 @@ bool FurnaceGUI::loop() {
|
|||
break;
|
||||
}
|
||||
case GUI_FILE_EXPORT_VGM: {
|
||||
SafeWriter* w=e->saveVGM(willExport,vgmExportLoop,vgmExportVersion,vgmExportPatternHints,vgmExportDirectStream,vgmExportTrailingTicks);
|
||||
SafeWriter* w=e->saveVGM(willExport,vgmExportLoop,vgmExportVersion,vgmExportPatternHints,vgmExportDirectStream,vgmExportTrailingTicks,vgmExportDPCM07);
|
||||
if (w!=NULL) {
|
||||
FILE* f=ps_fopen(copyOfName.c_str(),"wb");
|
||||
if (f!=NULL) {
|
||||
|
|
@ -8427,6 +8427,7 @@ FurnaceGUI::FurnaceGUI():
|
|||
displayExporting(false),
|
||||
vgmExportLoop(true),
|
||||
vgmExportPatternHints(false),
|
||||
vgmExportDPCM07(false),
|
||||
vgmExportDirectStream(false),
|
||||
displayInsTypeList(false),
|
||||
portrait(false),
|
||||
|
|
|
|||
|
|
@ -1668,7 +1668,7 @@ class FurnaceGUI {
|
|||
std::vector<String> availRenderDrivers;
|
||||
std::vector<String> availAudioDrivers;
|
||||
|
||||
bool quit, warnQuit, willCommit, edit, editClone, isPatUnique, modified, displayError, displayExporting, vgmExportLoop, vgmExportPatternHints;
|
||||
bool quit, warnQuit, willCommit, edit, editClone, isPatUnique, modified, displayError, displayExporting, vgmExportLoop, vgmExportPatternHints, vgmExportDPCM07;
|
||||
bool vgmExportDirectStream, displayInsTypeList, displayWaveSizeList;
|
||||
bool portrait, injectBackUp, mobileMenuOpen, warnColorPushed;
|
||||
bool wantCaptureKeyboard, oldWantCaptureKeyboard, displayMacroMenu;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue