mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-16 01:35:07 +00:00
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
This commit is contained in:
commit
46bf69769b
15 changed files with 53 additions and 45 deletions
23
.github/workflows/build.yml
vendored
23
.github/workflows/build.yml
vendored
|
@ -89,6 +89,19 @@ jobs:
|
||||||
echo "::set-output name=id::${package_name}"
|
echo "::set-output name=id::${package_name}"
|
||||||
echo "::set-output name=filename::${package_name}${package_ext}"
|
echo "::set-output name=filename::${package_name}${package_ext}"
|
||||||
|
|
||||||
|
- name: Set build cores amount
|
||||||
|
id: build-cores
|
||||||
|
run: |
|
||||||
|
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
|
||||||
|
set amount=2
|
||||||
|
if [ '${{ runner.os }}' == 'macOS' ]; then
|
||||||
|
amount=3
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Amount of cores we can build with: ${amount}"
|
||||||
|
|
||||||
|
echo "::set-output name=amount::${amount}"
|
||||||
|
|
||||||
- name: Setup Toolchain [Windows MSVC]
|
- name: Setup Toolchain [Windows MSVC]
|
||||||
if: ${{ matrix.config.compiler == 'msvc' }}
|
if: ${{ matrix.config.compiler == 'msvc' }}
|
||||||
uses: seanmiddleditch/gha-setup-vsdevenv@v3
|
uses: seanmiddleditch/gha-setup-vsdevenv@v3
|
||||||
|
@ -125,9 +138,6 @@ jobs:
|
||||||
export CMAKE_EXTRA_ARGS=()
|
export CMAKE_EXTRA_ARGS=()
|
||||||
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
|
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
|
||||||
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
|
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
|
||||||
|
|
||||||
# FIXME We don't want all the MSVC warnings to cause errors yet
|
|
||||||
export USE_WAE=OFF
|
|
||||||
elif [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
|
elif [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
|
||||||
CMAKE_EXTRA_ARGS+=('-DCMAKE_TOOLCHAIN_FILE=scripts/Cross-MinGW-${{ steps.windows-identify.outputs.mingw-target }}.cmake')
|
CMAKE_EXTRA_ARGS+=('-DCMAKE_TOOLCHAIN_FILE=scripts/Cross-MinGW-${{ steps.windows-identify.outputs.mingw-target }}.cmake')
|
||||||
else
|
else
|
||||||
|
@ -159,7 +169,7 @@ jobs:
|
||||||
cmake \
|
cmake \
|
||||||
--build ${PWD}/build \
|
--build ${PWD}/build \
|
||||||
--config ${{ env.BUILD_TYPE }} \
|
--config ${{ env.BUILD_TYPE }} \
|
||||||
--parallel 2
|
--parallel ${{ steps.build-cores.outputs.amount }}
|
||||||
|
|
||||||
- name: Install (System Libraries)
|
- name: Install (System Libraries)
|
||||||
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' }}
|
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' }}
|
||||||
|
@ -180,9 +190,6 @@ jobs:
|
||||||
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
|
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
|
||||||
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
|
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
|
||||||
|
|
||||||
# FIXME We don't want all the MSVC warnings to cause errors yet
|
|
||||||
export USE_WAE=OFF
|
|
||||||
|
|
||||||
# Force static linking
|
# Force static linking
|
||||||
# 1. Make MSVC runtime configurable
|
# 1. Make MSVC runtime configurable
|
||||||
CMAKE_EXTRA_ARGS+=('-DCMAKE_POLICY_DEFAULT_CMP0091=NEW')
|
CMAKE_EXTRA_ARGS+=('-DCMAKE_POLICY_DEFAULT_CMP0091=NEW')
|
||||||
|
@ -211,7 +218,7 @@ jobs:
|
||||||
cmake \
|
cmake \
|
||||||
--build ${PWD}/build \
|
--build ${PWD}/build \
|
||||||
--config ${{ env.BUILD_TYPE }} \
|
--config ${{ env.BUILD_TYPE }} \
|
||||||
--parallel 2
|
--parallel ${{ steps.build-cores.outputs.amount }}
|
||||||
|
|
||||||
- name: Package [Windows]
|
- name: Package [Windows]
|
||||||
if: ${{ runner.os == 'Windows' || matrix.config.compiler == 'mingw' }}
|
if: ${{ runner.os == 'Windows' || matrix.config.compiler == 'mingw' }}
|
||||||
|
|
|
@ -177,6 +177,10 @@ else()
|
||||||
add_subdirectory(extern/SDL EXCLUDE_FROM_ALL)
|
add_subdirectory(extern/SDL EXCLUDE_FROM_ALL)
|
||||||
list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include)
|
list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include)
|
||||||
list(APPEND DEPENDENCIES_LIBRARIES SDL2-static)
|
list(APPEND DEPENDENCIES_LIBRARIES SDL2-static)
|
||||||
|
# Work around add_subdirectory'd SDL not propagating HAVE_LIBC to MSVC furnace build
|
||||||
|
if (MSVC)
|
||||||
|
list(APPEND DEPENDENCIES_COMPILE_OPTIONS "/DHAVE_LIBC")
|
||||||
|
endif()
|
||||||
message(STATUS "Using vendored SDL2")
|
message(STATUS "Using vendored SDL2")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -457,9 +461,13 @@ if (NOT MSVC)
|
||||||
list(APPEND WARNING_FLAGS -Werror)
|
list(APPEND WARNING_FLAGS -Werror)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# /wd4100 == -Wno-unused-parameter
|
add_compile_options("/utf-8")
|
||||||
add_compile_options("/source-charset:utf-8")
|
set(WARNING_FLAGS /W2 /D_CRT_SECURE_NO_WARNINGS)
|
||||||
set(WARNING_FLAGS /W4 /wd4100 /D_CRT_SECURE_NO_WARNINGS)
|
list(APPEND WARNING_FLAGS
|
||||||
|
/wd4244 # implicit type conversions
|
||||||
|
/wd4305 # truncations
|
||||||
|
/wd4309 # truncations of constant values
|
||||||
|
)
|
||||||
if (WARNINGS_ARE_ERRORS)
|
if (WARNINGS_ARE_ERRORS)
|
||||||
list(APPEND WARNING_FLAGS /WX)
|
list(APPEND WARNING_FLAGS /WX)
|
||||||
endif()
|
endif()
|
||||||
|
|
16
extern/pfd-fixed/portable-file-dialogs.h
vendored
16
extern/pfd-fixed/portable-file-dialogs.h
vendored
|
@ -1331,6 +1331,14 @@ inline std::string internal::file_dialog::select_folder_vista(IFileDialog *ifd,
|
||||||
|
|
||||||
// notify implementation
|
// notify implementation
|
||||||
|
|
||||||
|
#if _WIN32
|
||||||
|
inline BOOL WINAPI icon_enum_callback(HMODULE hModule, LPCTSTR lpType, LPTSTR lpName, LONG_PTR lParam)
|
||||||
|
{
|
||||||
|
((NOTIFYICONDATAW *)lParam)->hIcon = ::LoadIcon(GetModuleHandle(nullptr), lpName);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
inline notify::notify(std::string const &title,
|
inline notify::notify(std::string const &title,
|
||||||
std::string const &message,
|
std::string const &message,
|
||||||
icon _icon /* = icon::info */)
|
icon _icon /* = icon::info */)
|
||||||
|
@ -1383,14 +1391,8 @@ inline notify::notify(std::string const &title,
|
||||||
/* case icon::info: */ default: nid->dwInfoFlags = NIIF_INFO; break;
|
/* case icon::info: */ default: nid->dwInfoFlags = NIIF_INFO; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ENUMRESNAMEPROC icon_enum_callback = [](HMODULE, LPCTSTR, LPTSTR lpName, LONG_PTR lParam) -> BOOL WINAPI
|
|
||||||
{
|
|
||||||
((NOTIFYICONDATAW *)lParam)->hIcon = ::LoadIcon(GetModuleHandle(nullptr), lpName);
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
nid->hIcon = ::LoadIcon(nullptr, IDI_APPLICATION);
|
nid->hIcon = ::LoadIcon(nullptr, IDI_APPLICATION);
|
||||||
::EnumResourceNames(nullptr, RT_GROUP_ICON, icon_enum_callback, (LONG_PTR)nid.get());
|
::EnumResourceNames(nullptr, RT_GROUP_ICON, (ENUMRESNAMEPROC)icon_enum_callback, (LONG_PTR)nid.get());
|
||||||
|
|
||||||
nid->uTimeout = 5000;
|
nid->uTimeout = 5000;
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,6 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dataErrors.h"
|
|
||||||
#include "song.h"
|
|
||||||
#include <functional>
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
#include "instrument.h"
|
#include "instrument.h"
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
|
|
|
@ -123,7 +123,7 @@ void DivPlatformAY8930::acquire(short* bufL, short* bufR, size_t start, size_t l
|
||||||
}
|
}
|
||||||
while (!writes.empty()) {
|
while (!writes.empty()) {
|
||||||
QueuedWrite w=writes.front();
|
QueuedWrite w=writes.front();
|
||||||
if (bank!=(w.addr>>4)) {
|
if ((int)bank!=(w.addr>>4)) {
|
||||||
bank=w.addr>>4;
|
bank=w.addr>>4;
|
||||||
ay->address_w(0x0d);
|
ay->address_w(0x0d);
|
||||||
ay->data_w(0xa0|(bank<<4)|ayEnvMode[0]);
|
ay->data_w(0xa0|(bank<<4)|ayEnvMode[0]);
|
||||||
|
|
|
@ -118,7 +118,7 @@ void DivPlatformC64::acquire(short* bufL, short* bufR, size_t start, size_t len)
|
||||||
void DivPlatformC64::updateFilter() {
|
void DivPlatformC64::updateFilter() {
|
||||||
rWrite(0x15,filtCut&7);
|
rWrite(0x15,filtCut&7);
|
||||||
rWrite(0x16,filtCut>>3);
|
rWrite(0x16,filtCut>>3);
|
||||||
rWrite(0x17,(filtRes<<4)|(chan[2].filter<<2)|(chan[1].filter<<1)|(chan[0].filter));
|
rWrite(0x17,(filtRes<<4)|(chan[2].filter<<2)|(chan[1].filter<<1)|(int)(chan[0].filter));
|
||||||
rWrite(0x18,(filtControl<<4)|vol);
|
rWrite(0x18,(filtControl<<4)|vol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ void DivPlatformC64::tick() {
|
||||||
}
|
}
|
||||||
if (chan[i].std.hadWave) {
|
if (chan[i].std.hadWave) {
|
||||||
chan[i].wave=chan[i].std.wave;
|
chan[i].wave=chan[i].std.wave;
|
||||||
rWrite(i*7+4,(isMuted[i]?8:(chan[i].wave<<4))|(chan[i].ring<<2)|(chan[i].sync<<1)|chan[i].active);
|
rWrite(i*7+4,(isMuted[i]?8:(chan[i].wave<<4))|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active));
|
||||||
}
|
}
|
||||||
if (chan[i].std.hadEx1) {
|
if (chan[i].std.hadEx1) {
|
||||||
filtControl=chan[i].std.ex1&15;
|
filtControl=chan[i].std.ex1&15;
|
||||||
|
@ -232,7 +232,7 @@ int DivPlatformC64::dispatch(DivCommand c) {
|
||||||
rWrite(c.chan*7+3,chan[c.chan].duty>>8);
|
rWrite(c.chan*7+3,chan[c.chan].duty>>8);
|
||||||
}
|
}
|
||||||
if (chan[c.chan].insChanged) {
|
if (chan[c.chan].insChanged) {
|
||||||
chan[c.chan].wave=(ins->c64.noiseOn<<3)|(ins->c64.pulseOn<<2)|(ins->c64.sawOn<<1)|(ins->c64.triOn);
|
chan[c.chan].wave=(ins->c64.noiseOn<<3)|(ins->c64.pulseOn<<2)|(ins->c64.sawOn<<1)|(int)(ins->c64.triOn);
|
||||||
chan[c.chan].attack=ins->c64.a;
|
chan[c.chan].attack=ins->c64.a;
|
||||||
chan[c.chan].decay=(ins->c64.s==15)?0:ins->c64.d;
|
chan[c.chan].decay=(ins->c64.s==15)?0:ins->c64.d;
|
||||||
chan[c.chan].sustain=ins->c64.s;
|
chan[c.chan].sustain=ins->c64.s;
|
||||||
|
@ -245,7 +245,7 @@ int DivPlatformC64::dispatch(DivCommand c) {
|
||||||
if (ins->c64.initFilter) {
|
if (ins->c64.initFilter) {
|
||||||
filtCut=ins->c64.cut;
|
filtCut=ins->c64.cut;
|
||||||
filtRes=ins->c64.res;
|
filtRes=ins->c64.res;
|
||||||
filtControl=ins->c64.lp|(ins->c64.bp<<1)|(ins->c64.hp<<2)|(ins->c64.ch3off<<3);
|
filtControl=(int)(ins->c64.lp)|(ins->c64.bp<<1)|(ins->c64.hp<<2)|(ins->c64.ch3off<<3);
|
||||||
}
|
}
|
||||||
updateFilter();
|
updateFilter();
|
||||||
}
|
}
|
||||||
|
@ -330,7 +330,7 @@ int DivPlatformC64::dispatch(DivCommand c) {
|
||||||
break;
|
break;
|
||||||
case DIV_CMD_WAVE:
|
case DIV_CMD_WAVE:
|
||||||
chan[c.chan].wave=c.value;
|
chan[c.chan].wave=c.value;
|
||||||
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|chan[c.chan].active);
|
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active));
|
||||||
break;
|
break;
|
||||||
case DIV_CMD_LEGATO:
|
case DIV_CMD_LEGATO:
|
||||||
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value+((chan[c.chan].std.willArp && !chan[c.chan].std.arpMode)?(chan[c.chan].std.arp):(0)));
|
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value+((chan[c.chan].std.willArp && !chan[c.chan].std.arpMode)?(chan[c.chan].std.arp):(0)));
|
||||||
|
@ -411,11 +411,11 @@ int DivPlatformC64::dispatch(DivCommand c) {
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
chan[c.chan].ring=c.value;
|
chan[c.chan].ring=c.value;
|
||||||
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|chan[c.chan].active);
|
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active));
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
chan[c.chan].sync=c.value;
|
chan[c.chan].sync=c.value;
|
||||||
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|chan[c.chan].active);
|
rWrite(c.chan*7+4,(isMuted[c.chan]?8:(chan[c.chan].wave<<4))|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active));
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
filtControl&=7;
|
filtControl&=7;
|
||||||
|
@ -434,7 +434,7 @@ int DivPlatformC64::dispatch(DivCommand c) {
|
||||||
|
|
||||||
void DivPlatformC64::muteChannel(int ch, bool mute) {
|
void DivPlatformC64::muteChannel(int ch, bool mute) {
|
||||||
isMuted[ch]=mute;
|
isMuted[ch]=mute;
|
||||||
rWrite(ch*7+4,(isMuted[ch]?8:(chan[ch].wave<<4))|(chan[ch].ring<<2)|(chan[ch].sync<<1)|chan[ch].active);
|
rWrite(ch*7+4,(isMuted[ch]?8:(chan[ch].wave<<4))|(chan[ch].ring<<2)|(chan[ch].sync<<1)|(int)(chan[ch].active));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DivPlatformC64::forceIns() {
|
void DivPlatformC64::forceIns() {
|
||||||
|
|
|
@ -371,7 +371,7 @@ void DivPlatformOPL::tick() {
|
||||||
if (update4OpMask) {
|
if (update4OpMask) {
|
||||||
update4OpMask=false;
|
update4OpMask=false;
|
||||||
if (oplType==3) {
|
if (oplType==3) {
|
||||||
unsigned char opMask=chan[0].fourOp|(chan[2].fourOp<<1)|(chan[4].fourOp<<2)|(chan[6].fourOp<<3)|(chan[8].fourOp<<4)|(chan[10].fourOp<<5);
|
unsigned char opMask=(int)(chan[0].fourOp)|(chan[2].fourOp<<1)|(chan[4].fourOp<<2)|(chan[6].fourOp<<3)|(chan[8].fourOp<<4)|(chan[10].fourOp<<5);
|
||||||
immWrite(0x104,opMask);
|
immWrite(0x104,opMask);
|
||||||
//printf("updating opMask to %.2x\n",opMask);
|
//printf("updating opMask to %.2x\n",opMask);
|
||||||
}
|
}
|
||||||
|
|
|
@ -620,7 +620,7 @@ int DivPlatformOPLL::dispatch(DivCommand c) {
|
||||||
}
|
}
|
||||||
case DIV_CMD_FM_EXTCH:
|
case DIV_CMD_FM_EXTCH:
|
||||||
if (!properDrumsSys) break;
|
if (!properDrumsSys) break;
|
||||||
if (properDrums==c.value) break;
|
if ((int)properDrums==c.value) break;
|
||||||
if (c.value) {
|
if (c.value) {
|
||||||
properDrums=true;
|
properDrums=true;
|
||||||
immWrite(0x0e,0x20);
|
immWrite(0x0e,0x20);
|
||||||
|
|
|
@ -1120,7 +1120,7 @@ void ay8910_device::sound_stream_update(short** outputs, int outLen)
|
||||||
for (int chan = 0; chan < NUM_CHANNELS; chan++)
|
for (int chan = 0; chan < NUM_CHANNELS; chan++)
|
||||||
{
|
{
|
||||||
tone = &m_tone[chan];
|
tone = &m_tone[chan];
|
||||||
m_vol_enabled[chan] = (tone->output | tone_enable(chan)) & (noise_output() | noise_enable(chan));
|
m_vol_enabled[chan] = (tone->output | (unsigned char)tone_enable(chan)) & (noise_output() | (unsigned char)noise_enable(chan));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update envelope */
|
/* update envelope */
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS)
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,6 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "blip_buf.h"
|
|
||||||
#include "song.h"
|
|
||||||
#include "wavetable.h"
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include "dispatch.h"
|
#include "dispatch.h"
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
|
|
|
@ -1044,7 +1044,7 @@ void FurnaceGUI::drawFMEnv(unsigned char tl, unsigned char ar, unsigned char dr,
|
||||||
} \
|
} \
|
||||||
ImGui::SetNextItemWidth(availableWidth); \
|
ImGui::SetNextItemWidth(availableWidth); \
|
||||||
if (ImGui::InputText("##IMacroMML_" macroName,&mmlStr)) { \
|
if (ImGui::InputText("##IMacroMML_" macroName,&mmlStr)) { \
|
||||||
decodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroAMin,(bitfield)?((1<<macroAMax)-1):macroAMax,macroRel); \
|
decodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroAMin,(bitfield)?((1<<(bitfield?macroAMax:0))-1):macroAMax,macroRel); \
|
||||||
} \
|
} \
|
||||||
if (!ImGui::IsItemActive()) { \
|
if (!ImGui::IsItemActive()) { \
|
||||||
encodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroRel); \
|
encodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroRel); \
|
||||||
|
@ -1126,7 +1126,7 @@ void FurnaceGUI::drawFMEnv(unsigned char tl, unsigned char ar, unsigned char dr,
|
||||||
} \
|
} \
|
||||||
ImGui::SetNextItemWidth(availableWidth); \
|
ImGui::SetNextItemWidth(availableWidth); \
|
||||||
if (ImGui::InputText("##IOPMacroMML_" macroName,&mmlStr)) { \
|
if (ImGui::InputText("##IOPMacroMML_" macroName,&mmlStr)) { \
|
||||||
decodeMMLStr(mmlStr,macro,macroLen,macroLoop,0,bitfield?((1<<macroHeight)-1):(macroHeight),macroRel); \
|
decodeMMLStr(mmlStr,macro,macroLen,macroLoop,0,bitfield?((1<<(bitfield?macroHeight:0))-1):(macroHeight),macroRel); \
|
||||||
} \
|
} \
|
||||||
if (!ImGui::IsItemActive()) { \
|
if (!ImGui::IsItemActive()) { \
|
||||||
encodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroRel); \
|
encodeMMLStr(mmlStr,macro,macroLen,macroLoop,macroRel); \
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <SDL_timer.h>
|
|
||||||
#include <imgui.h>
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include "gui.h"
|
#include "gui.h"
|
||||||
#include "../ta-log.h"
|
#include "../ta-log.h"
|
||||||
|
|
|
@ -284,7 +284,7 @@ void FurnaceGUI::drawSysConf(int i) {
|
||||||
}
|
}
|
||||||
sysPal=flags&1;
|
sysPal=flags&1;
|
||||||
if (ImGui::Checkbox("PAL",&sysPal)) {
|
if (ImGui::Checkbox("PAL",&sysPal)) {
|
||||||
e->setSysFlags(i,(flags&(~1))|sysPal,restart);
|
e->setSysFlags(i,(flags&(~1))|(unsigned int)sysPal,restart);
|
||||||
updateWindowTitle();
|
updateWindowTitle();
|
||||||
}
|
}
|
||||||
bool bypassLimits=flags&4;
|
bool bypassLimits=flags&4;
|
||||||
|
|
Loading…
Reference in a new issue