On some locales (e.g. Japanese) MSVC will fail to build Furnace
because it makes an incorrect assumption about the encoding of
source files. In particular, string literals in engine.cpp cause
compile errors. This probably doesn't show up in CI because of
the difference in locale.
This patch adds the `/source-charset:utf-8` compiler flag for MSVC,
which tells it the encoding of the source files.
With this change, MSVC appears to build Furnace properly. Tested
with Visual Studio Professional 2022.
* Improve devendoring
* Add warning flags for own C++ code
For https://github.com/tildearrow/furnace/pull/12#issuecomment-1017330467.
* Document new CMake options
* pkg-config stuff
* Warnings stuff for MSVC yay
* Use more specific linking vars & functions
* Fix Linux icon location
* DEPENDENCIES_LEGACY_LDFLAGS for JACK too
partially related to an issue when displaying non-Latin characters
however a true fix isn't coming yet as I haven't figured out a way
to load glyphs during run-time as needed
- added `25xx` and `26xx` effects in Neo Geo platform for
envelope period slides
- added `3xxx` and `4xxx` effects in C64 for fine duty/cutoff control
- made home/end keys work
- deleting a single note will delete related instrument value as well
- fix instrument value input when there are less than 16 instruments
- added `Cxxx` effect for mid-song Hz change
- possibly fix a hang when using multiple sound chips
- reduce PC Engine CPU usage
- all-new Furnace file format
- ability to add multiple sound chips in a single song!
- made more buttons work
- revamped instrument editor
- revamped wavetable editor with custom width/height
- C64 duty/filter macros may now be absolute
- finally! an icon!
after this release, the focus will be on adding features, fixing bugs
and adding new platforms. enjoy!