From f28dcec68331e01ea7fce870d6cdb8eca4bf7a86 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 May 2024 15:16:55 -0500 Subject: [PATCH] release v0.6.3 --- CMakeLists.txt | 3 +- android/app/build.gradle | 4 +-- android/app/src/main/AndroidManifest.xml | 4 +-- demos/misc/brokenspace-msm5232.fur | Bin 0 -> 1179 bytes demos/misc/cavedotwave-msm5232.fur | Bin 0 -> 1071 bytes demos/virtualboy/wavetablehell4-vb.fur | Bin 0 -> 3738 bytes papers/clipboard-format.md | 2 +- papers/format.md | 1 + res/Info.plist | 6 ++-- res/docpdf/make_paper.py | 4 +-- res/releaseReadme/stable-linux.txt | 2 +- res/releaseReadme/stable-mac.txt | 2 +- res/releaseReadme/stable-win.txt | 2 +- src/engine/engine.h | 6 ++-- src/gui/about.cpp | 1 + src/gui/gui.cpp | 42 +++++++++++------------ src/gui/gui.h | 22 +++++++++--- src/gui/settings.cpp | 14 ++++---- src/gui/tutorial.cpp | 4 +++ src/main.cpp | 8 ++++- 20 files changed, 76 insertions(+), 51 deletions(-) create mode 100644 demos/misc/brokenspace-msm5232.fur create mode 100644 demos/misc/cavedotwave-msm5232.fur create mode 100644 demos/virtualboy/wavetablehell4-vb.fur diff --git a/CMakeLists.txt b/CMakeLists.txt index b3226ac8fd..df850c42bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_PROJECT_VERSION_MAJOR 0) set(CMAKE_PROJECT_VERSION_MINOR 6) -set(CMAKE_PROJECT_VERSION_PATCH 2) +set(CMAKE_PROJECT_VERSION_PATCH 3) set(BUILD_GUI_DEFAULT ON) set(USE_SDL2_DEFAULT ON) @@ -166,6 +166,7 @@ if (WIN32) # support Windows XP if (SUPPORT_XP) list(APPEND DEPENDENCIES_DEFINES "_WIN32_WINNT=0x0501") + list(APPEND DEPENDENCIES_DEFINES "SUPPORT_XP") endif() endif() diff --git a/android/app/build.gradle b/android/app/build.gradle index 1b6e1c72d5..646701c5a6 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,8 +15,8 @@ android { } minSdkVersion 21 targetSdkVersion 26 - versionCode 197 - versionName "0.6.2" + versionCode 201 + versionName "0.6.3" externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON" diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b48b1e92d8..205477d697 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/demos/misc/brokenspace-msm5232.fur b/demos/misc/brokenspace-msm5232.fur new file mode 100644 index 0000000000000000000000000000000000000000..cb4ef6a3050ad4fdc74d5796e23a9d449c45b9b1 GIT binary patch literal 1179 zcmV;M1Z4YooaI-|ZyQAvf9vtCQ#)TEm4diLoIp@;>^PwZtGHUmt@GXPDm_}5+v`-0&j>hELIp8b$ z_wmvp;}AOCXNP$_+;PdVH+iK{#TGq1UzpFN(ka_nFRfQh>lrFo>!ott+M6?-63kj*{R-TFROW7Xa<~|YFcyt6)+M5RZ?pt0 zq6Fp-6=Aw;Rw~>YS3*h&X(dc3A)|yzB}^&d#a2aS`^I{GjdQD3x69@Z-?JM|O&rCF z>8v>1+_Wn&!Eyg0sXZ6}qH6mi()j!Hn)fZ=#Qnflq;%x!lV);afDT*G#Ly zliBoztK4W=w?{(_zMmFk>dnI2mS~>M}NP0k)_gjV&~o%49n9@qnHR=;?qy5zsRMeKMd=NquL1 za3i`3 z*NPkS1JR4em(y%*hj@RO zEmv)C)s}SIquU-m#9>?J-|o5IPk{Dzh##KgFQ>g7@~5jNS8LvCP10)~z2?zF9O^QE zz2|yA0ovOkK8B9J9GU+^@_)tIqFi0{Ru?6G$)hiM^oQ;s3)+(fX(v*UEI@v?i(iz# zr8*{6)bj`9I$P86Bvu5}d|j7*UrRq+EVgXyYhN(SIA9wFb)xjd2@Fj%b&ZgCEwSUJlV<*vK1yblXJ!DTbl z@-6yy!C4FVb!O>|RTZgPt?UA~{kbzbmvyNuDuQh6J=s{4yq((xcKrFRfc~KCV!r90 z+uOcucdTznxqZ*{?t7*m@t*0Y=bq`O^`7bfrF&+y?wKJz1;it^%oflu>p(Q12XU&_ tVSC}qfh)-U&f8tbSvCzn)R8}$d2i-@ z_syH}+A}NdX5HR$%w2E0?K(4uL}b!YD_2&oeI_t4427ui<`PYiHhqTYo(DhB)7#Q1 z?UZo(R-Crt*|sgaH%4>|)WLo5Blrz0px|GDpTT1= zn-@#vCd>l_3$zI^us;X(aZWvKc3aR3M)l`X^h}uc(YIW1!!M&>0otEj} zYdEIgw72eJ#$2MfK=Px-wNg3vE`1#-TzjW%MpdUxyXn}s5}XB79R1Tk0V)tc13EB328@9-APdI91egS8!4x10 z5Fa2uKzxAs0Pz9h1H=c24-g+9K0thc_yF+%;seCX*mx60qEQa}cpGehm8+$|obzeUg=5Zk%lCGdU2p4d(aLT+e!K2q zP;Gkc#^rj)Dt=_UEoW%Y7X4=1$u{h!zu~#PQT8<{cb*P>G#9hWO>x$Ec;=?$us zCaGL+VVAp3-8U^-EzQfjIXxK2?L0Sz$zjOePx8;BrL@FQyC6 zLiiO3#{yHafD#KR|4~3s3Rvj^c?i4+fjEwmnO{kdn?u}8q9n%1TV+_1q~67o^1N{vihy6MYj)LSHcAcI7D2V?mD5#Zi4R#puyPB;cTQZTB))!sS0ehOXdl>hG z2ln9efD7(m&W-#XjYVE&5mi1z|3cgWp8h$;5-ierQJELvTPeD5KGI1%K)=sDo{T;m zllYY9d+gumIb;PpTr(8B&Vo9HsqRH7#p$)!rlG%?vL>7-?p>Z|;l=QWfHNh2y5s>P zvp5hBIlH5|hrE+vW@8ln6e{1beI>jCGE*$_b=jlH7>9kI{T;T6{T}yy(d3@k{!s5l zdhfFy*P9Qd7iBN|a7VI_{a(aY-_sr%8PXGX>KUh>L8p{9x literal 0 HcmV?d00001 diff --git a/demos/virtualboy/wavetablehell4-vb.fur b/demos/virtualboy/wavetablehell4-vb.fur new file mode 100644 index 0000000000000000000000000000000000000000..48fe36ee6d1bd41e2a26f93e1ac9f66d53fe6921 GIT binary patch literal 3738 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 6.0 CFBundleLongVersionString - 0.6.2 + 0.6.3 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6.2 + 0.6.3 CFBundleSignature ???? CFBundleVersion - 0.6.2 + 0.6.3 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/res/docpdf/make_paper.py b/res/docpdf/make_paper.py index 1dcfe389ca..968600e90d 100644 --- a/res/docpdf/make_paper.py +++ b/res/docpdf/make_paper.py @@ -325,7 +325,7 @@ def fix_headings(match):

Furnace
User Manual

- for version 0.6.2 + for version 0.6.3
@@ -348,7 +348,7 @@ def fix_headings(match):

this documentation is under the Creative Commons Attribution 3.0 Unported license.

you may reproduce, modify and/or distribute this documentation provided this copyright notice (including license and attribution) is present and any necessary disclaimers whether modifications have been made.

this documentation is provided as-is and without warranty of any kind.

-

this manual is written for version 0.6.2 of Furnace.
it may not necessarily apply to previous or future versions.

+

this manual is written for version 0.6.3 of Furnace.
it may not necessarily apply to previous or future versions.

%s diff --git a/res/releaseReadme/stable-linux.txt b/res/releaseReadme/stable-linux.txt index e11717c9e8..b7e90809db 100644 --- a/res/releaseReadme/stable-linux.txt +++ b/res/releaseReadme/stable-linux.txt @@ -18,7 +18,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - discussion: https://github.com/tildearrow/furnace/discussions - Furnace on Discord: https://discord.gg/EfrwT2wq7z - Furnace on Revolt: https://rvlt.gg/GRPS6tmc -- online manual: https://tildearrow.org/furnace/doc/v0.6.2/ +- online manual: https://tildearrow.org/furnace/doc/v0.6.3/ # notes diff --git a/res/releaseReadme/stable-mac.txt b/res/releaseReadme/stable-mac.txt index a62dd792dc..331a214101 100644 --- a/res/releaseReadme/stable-mac.txt +++ b/res/releaseReadme/stable-mac.txt @@ -28,7 +28,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - discussion: https://github.com/tildearrow/furnace/discussions - Furnace on Discord: https://discord.gg/EfrwT2wq7z - Furnace on Revolt: https://rvlt.gg/GRPS6tmc -- online manual: https://tildearrow.org/furnace/doc/v0.6.2/ +- online manual: https://tildearrow.org/furnace/doc/v0.6.3/ # notes diff --git a/res/releaseReadme/stable-win.txt b/res/releaseReadme/stable-win.txt index 92e15e5abd..7939587bde 100644 --- a/res/releaseReadme/stable-win.txt +++ b/res/releaseReadme/stable-win.txt @@ -18,7 +18,7 @@ if you find issues (e.g. bugs or annoyances), report them. links below. - discussion: https://github.com/tildearrow/furnace/discussions - Furnace on Discord: https://discord.gg/EfrwT2wq7z - Furnace on Revolt: https://rvlt.gg/GRPS6tmc -- online manual: https://tildearrow.org/furnace/doc/v0.6.2/ +- online manual: https://tildearrow.org/furnace/doc/v0.6.3/ # notes diff --git a/src/engine/engine.h b/src/engine/engine.h index fe16734030..fa01495d14 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -52,10 +52,10 @@ class DivWorkPool; #define EXTERN_BUSY_BEGIN_SOFT e->softLocked=true; e->isBusy.lock(); #define EXTERN_BUSY_END e->isBusy.unlock(); e->softLocked=false; -#define DIV_UNSTABLE +//#define DIV_UNSTABLE -#define DIV_VERSION "dev200" -#define DIV_ENGINE_VERSION 200 +#define DIV_VERSION "0.6.3" +#define DIV_ENGINE_VERSION 201 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 572e5386e1..facea8e232 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -157,6 +157,7 @@ const char* aboutLine[]={ "scooblee", "sheffield^2", "sillygoose", + "Slightly Large NC", "smaybius", "SnugglyBun", "Spinning Square Waves", diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index b988fd143b..168bf614d8 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -6966,19 +6966,18 @@ bool FurnaceGUI::init() { logV("window size: %dx%d",scrW,scrH); if (!initRender()) { - if (settings.renderBackend!="SDL") { - settings.renderBackend="SDL"; - e->setConf("renderBackend","SDL"); + if (settings.renderBackend!="Software") { + settings.renderBackend="Software"; + e->setConf("renderBackend","Software"); + e->saveConf(); + lastError=fmt::sprintf("could not init renderer!\r\nfalling back to software renderer. please restart Furnace."); + } else if (settings.renderBackend=="SDL") { + lastError=fmt::sprintf("could not init renderer! %s\r\nfalling back to software renderer. please restart Furnace.",SDL_GetError()); + settings.renderBackend="Software"; + e->setConf("renderBackend","Software"); e->saveConf(); - lastError=fmt::sprintf("could not init renderer!\r\nthe render backend has been set to a safe value. please restart Furnace."); } else { - lastError=fmt::sprintf("could not init renderer! %s",SDL_GetError()); - if (!settings.renderDriver.empty()) { - settings.renderDriver=""; - e->setConf("renderDriver",""); - e->saveConf(); - lastError+=fmt::sprintf("\r\nthe render driver has been set to a safe value. please restart Furnace."); - } + lastError=fmt::sprintf("could not init renderer!"); } return false; } @@ -7068,19 +7067,18 @@ bool FurnaceGUI::init() { logD("starting render backend..."); if (!rend->init(sdlWin,settings.vsync)) { logE("it failed..."); - if (settings.renderBackend!="SDL") { - settings.renderBackend="SDL"; - e->setConf("renderBackend","SDL"); + if (settings.renderBackend!="Software") { + settings.renderBackend="Software"; + e->setConf("renderBackend","Software"); + e->saveConf(); + lastError=fmt::sprintf("could not init renderer!\r\nfalling back to software renderer. please restart Furnace."); + } else if (settings.renderBackend=="SDL") { + lastError=fmt::sprintf("could not init renderer! %s\r\nfalling back to software renderer. please restart Furnace.",SDL_GetError()); + settings.renderBackend="Software"; + e->setConf("renderBackend","Software"); e->saveConf(); - lastError=fmt::sprintf("could not init renderer!\r\nthe render backend has been set to a safe value. please restart Furnace."); } else { - lastError=fmt::sprintf("could not init renderer! %s",SDL_GetError()); - if (!settings.renderDriver.empty()) { - settings.renderDriver=""; - e->setConf("renderDriver",""); - e->saveConf(); - lastError+=fmt::sprintf("\r\nthe render driver has been set to a safe value. please restart Furnace."); - } + lastError=fmt::sprintf("could not init renderer!"); } return false; } diff --git a/src/gui/gui.h b/src/gui/gui.h index fc7bedb95b..07938ba540 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -117,12 +117,22 @@ enum FurnaceGUIRenderBackend { #define GUI_HEIGHT_DEFAULT 600 #define GUI_MAIN_FONT_DEFAULT 3 #define GUI_PAT_FONT_DEFAULT 3 +#define GUI_FONT_SIZE_DEFAULT 13 +#define GUI_ICON_SIZE_DEFAULT 12 +#define GUI_OVERSAMPLE_DEFAULT 1 +#define GUI_FONT_ANTIALIAS_DEFAULT 0 +#define GUI_FONT_HINTING_DEFAULT 1 #define GUI_DECORATIONS_DEFAULT 0 #else #define GUI_WIDTH_DEFAULT 1280 #define GUI_HEIGHT_DEFAULT 800 #define GUI_MAIN_FONT_DEFAULT 0 #define GUI_PAT_FONT_DEFAULT 0 +#define GUI_FONT_SIZE_DEFAULT 18 +#define GUI_ICON_SIZE_DEFAULT 16 +#define GUI_OVERSAMPLE_DEFAULT 2 +#define GUI_FONT_ANTIALIAS_DEFAULT 1 +#define GUI_FONT_HINTING_DEFAULT 0 #define GUI_DECORATIONS_DEFAULT 1 #endif @@ -1905,10 +1915,10 @@ class FurnaceGUI { Settings(): settingsChanged(false), - mainFontSize(18), - patFontSize(18), + mainFontSize(GUI_FONT_SIZE_DEFAULT), + patFontSize(GUI_FONT_SIZE_DEFAULT), headFontSize(27), - iconSize(16), + iconSize(GUI_ICON_SIZE_DEFAULT), audioEngine(DIV_AUDIO_SDL), audioQuality(0), audioHiPass(1), @@ -2115,7 +2125,7 @@ class FurnaceGUI { fontBitmap(0), fontAutoHint(1), fontAntiAlias(1), - fontOversample(2), + fontOversample(GUI_OVERSAMPLE_DEFAULT), selectAssetOnLoad(1), basicColors(1), playbackTime(1), @@ -2150,7 +2160,11 @@ class FurnaceGUI { bool introPlayed; bool protoWelcome; Tutorial(): +#ifdef SUPPORT_XP + introPlayed(true), +#else introPlayed(false), +#endif protoWelcome(false) { } } tutorial; diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index ad8714a35b..83ce9ede09 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -44,7 +44,7 @@ #endif #ifdef HAVE_FREETYPE -#define FONT_BACKEND_DEFAULT 0 +#define FONT_BACKEND_DEFAULT 1 #else #define FONT_BACKEND_DEFAULT 0 #endif @@ -4256,10 +4256,10 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { } if (groups&GUI_SETTINGS_FONT) { - settings.mainFontSize=conf.getInt("mainFontSize",18); + settings.mainFontSize=conf.getInt("mainFontSize",GUI_FONT_SIZE_DEFAULT); settings.headFontSize=conf.getInt("headFontSize",27); - settings.patFontSize=conf.getInt("patFontSize",18); - settings.iconSize=conf.getInt("iconSize",16); + settings.patFontSize=conf.getInt("patFontSize",GUI_FONT_SIZE_DEFAULT); + settings.iconSize=conf.getInt("iconSize",GUI_ICON_SIZE_DEFAULT); settings.mainFont=conf.getInt("mainFont",GUI_MAIN_FONT_DEFAULT); settings.headFont=conf.getInt("headFont",0); @@ -4275,11 +4275,11 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) { settings.loadFallback=conf.getInt("loadFallback",1); settings.fontBackend=conf.getInt("fontBackend",FONT_BACKEND_DEFAULT); - settings.fontHinting=conf.getInt("fontHinting",0); + settings.fontHinting=conf.getInt("fontHinting",GUI_FONT_HINTING_DEFAULT); settings.fontBitmap=conf.getInt("fontBitmap",0); settings.fontAutoHint=conf.getInt("fontAutoHint",1); - settings.fontAntiAlias=conf.getInt("fontAntiAlias",1); - settings.fontOversample=conf.getInt("fontOversample",2); + settings.fontAntiAlias=conf.getInt("fontAntiAlias",GUI_FONT_ANTIALIAS_DEFAULT); + settings.fontOversample=conf.getInt("fontOversample",GUI_OVERSAMPLE_DEFAULT); } if (groups&GUI_SETTINGS_APPEARANCE) { diff --git a/src/gui/tutorial.cpp b/src/gui/tutorial.cpp index b72fbb0747..690cff7bdf 100644 --- a/src/gui/tutorial.cpp +++ b/src/gui/tutorial.cpp @@ -497,7 +497,11 @@ static const char* cvText[]={ }; void FurnaceGUI::syncTutorial() { +#ifdef SUPPORT_XP + tutorial.introPlayed=e->getConfBool("tutIntroPlayed",true); +#else tutorial.introPlayed=e->getConfBool("tutIntroPlayed",false); +#endif tutorial.protoWelcome=e->getConfBool("tutProtoWelcome2",false); } diff --git a/src/main.cpp b/src/main.cpp index a971ffa741..06183444e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -42,6 +42,12 @@ typedef HRESULT (WINAPI *SPDA)(PROCESS_DPI_AWARENESS); struct sigaction termsa; #endif +#ifdef SUPPORT_XP +#define TUT_INTRO_PLAYED true +#else +#define TUT_INTRO_PLAYED false +#endif + #include "cli/cli.h" #ifdef HAVE_GUI @@ -582,7 +588,7 @@ int main(int argc, char** argv) { e.setAudio(DIV_AUDIO_DUMMY); } - if (!fileName.empty() && ((!e.getConfBool("tutIntroPlayed",false)) || e.getConfInt("alwaysPlayIntro",0)!=3 || consoleMode || benchMode || infoMode || outName!="" || vgmOutName!="" || cmdOutName!="")) { + if (!fileName.empty() && ((!e.getConfBool("tutIntroPlayed",TUT_INTRO_PLAYED)) || e.getConfInt("alwaysPlayIntro",0)!=3 || consoleMode || benchMode || infoMode || outName!="" || vgmOutName!="" || cmdOutName!="")) { logI("loading module..."); FILE* f=ps_fopen(fileName.c_str(),"rb"); if (f==NULL) {