release v0.6.3

This commit is contained in:
tildearrow 2024-05-01 15:16:55 -05:00
parent 0f0cccc2b6
commit f28dcec683
20 changed files with 76 additions and 51 deletions

View file

@ -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

View file

@ -157,6 +157,7 @@ const char* aboutLine[]={
"scooblee",
"sheffield^2",
"sillygoose",
"Slightly Large NC",
"smaybius",
"SnugglyBun",
"Spinning Square Waves",

View file

@ -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;
}

View file

@ -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;

View file

@ -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) {

View file

@ -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);
}

View file

@ -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) {