diff --git a/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in b/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in index 3d40dc4bb..297dad1e7 100644 --- a/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in +++ b/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in @@ -10,7 +10,7 @@ Emulation - + diff --git a/include/build_timestamp.h b/include/build_timestamp.h index dd3b53ef0..fe6f25658 100644 --- a/include/build_timestamp.h +++ b/include/build_timestamp.h @@ -1,4 +1,4 @@ /*auto-generated*/ -#define UPDATED_STR "Aug 1, 2022 8:43:17am" -#define GIT_COMMIT_HASH "f6ddb01" +#define UPDATED_STR "Aug 20, 2022 7:31:49pm" +#define GIT_COMMIT_HASH "28bf4ed" #define COPYRIGHT_END_YEAR "2022" diff --git a/src/hardware/vga_memory.cpp b/src/hardware/vga_memory.cpp index b6ee63152..2f524d57f 100644 --- a/src/hardware/vga_memory.cpp +++ b/src/hardware/vga_memory.cpp @@ -2486,8 +2486,8 @@ void VGA_SetupHandlers(void) { break; } // Workaround for ETen Chinese DOS system (e.g. ET24VA) - if ((dos.loaded_codepage == 950 || dos.loaded_codepage == 951) && strlen(RunningProgram) > 3 && !strncmp(RunningProgram, "ET", 2)) enveten = true; - runeten = !vga_fill_inactive_ram && enveten && (dos.loaded_codepage == 950 || dos.loaded_codepage == 951) && ((strlen(RunningProgram) > 3 && !strncmp(RunningProgram, "ET", 2)) || !TTF_using()); + if ((dos.loaded_codepage == 936 || dos.loaded_codepage == 950 || dos.loaded_codepage == 951) && strlen(RunningProgram) > 3 && !strncmp(RunningProgram, "ET", 2)) enveten = true; + runeten = !vga_fill_inactive_ram && enveten && (dos.loaded_codepage == 936 || dos.loaded_codepage == 950 || dos.loaded_codepage == 951) && ((strlen(RunningProgram) > 3 && !strncmp(RunningProgram, "ET", 2)) || !TTF_using()); switch ((vga.gfx.miscellaneous >> 2) & 3) { case 0: vgapages.base = VGA_PAGE_A0; diff --git a/src/output/output_tools.cpp b/src/output/output_tools.cpp index 46ae57a33..ea3621836 100644 --- a/src/output/output_tools.cpp +++ b/src/output/output_tools.cpp @@ -39,11 +39,18 @@ void d3d_init(void); void resetFontSize(); #endif -void res_init(void), refreshExtChar(void), RENDER_Reset(void), UpdateOverscanMenu(void), GFX_SetTitle(int32_t cycles, int frameskip, Bits timing, bool paused); +void res_init(void), RENDER_Reset(void), UpdateOverscanMenu(void), GFX_SetTitle(int32_t cycles, int frameskip, Bits timing, bool paused); extern int initgl, posx, posy; extern bool rtl, gbk, chinasea, window_was_maximized, dpi_aware_enable, isVirtualBox; +void refreshExtChar() { + mainMenu.get_item("ttf_extcharset").enable(TTF_using()&&!IS_PC98_ARCH&&!IS_JEGA_ARCH&&enable_dbcs_tables); + if (dos.loaded_codepage == 936) mainMenu.get_item("ttf_extcharset").check(gbk).refresh_item(mainMenu); + else if (dos.loaded_codepage == 950 || dos.loaded_codepage == 951) mainMenu.get_item("ttf_extcharset").check(chinasea).refresh_item(mainMenu); + else mainMenu.get_item("ttf_extcharset").check(gbk&&chinasea).refresh_item(mainMenu); +} + std::string GetDefaultOutput() { static std::string output = "surface"; #if defined(USE_TTF) diff --git a/src/output/output_ttf.cpp b/src/output/output_ttf.cpp index ba95a425e..fd35c24bd 100644 --- a/src/output/output_ttf.cpp +++ b/src/output/output_ttf.cpp @@ -119,7 +119,7 @@ static bool blinkstate = false; bool colorChanged = false, justChanged = false, staycolors = false, firstsize = true, ttfswitch=false, switch_output_from_ttf=false; int menuwidth_atleast(int width), FileDirExistCP(const char *name), FileDirExistUTF8(std::string &localname, const char *name); -void AdjustIMEFontSize(void), initcodepagefont(void), change_output(int output), drawmenu(Bitu val), KEYBOARD_Clear(void), RENDER_Reset(void), DOSBox_SetSysMenu(void), GetMaxWidthHeight(unsigned int *pmaxWidth, unsigned int *pmaxHeight), SetWindowTransparency(int trans), resetFontSize(void), RENDER_CallBack( GFX_CallBackFunctions_t function ); +void AdjustIMEFontSize(void),refreshExtChar(void), initcodepagefont(void), change_output(int output), drawmenu(Bitu val), KEYBOARD_Clear(void), RENDER_Reset(void), DOSBox_SetSysMenu(void), GetMaxWidthHeight(unsigned int *pmaxWidth, unsigned int *pmaxHeight), SetWindowTransparency(int trans), resetFontSize(void), RENDER_CallBack( GFX_CallBackFunctions_t function ); bool isDBCSCP(void), InitCodePage(void), CodePageGuestToHostUTF16(uint16_t *d/*CROSS_LEN*/,const char *s/*CROSS_LEN*/), systemmessagebox(char const * aTitle, char const * aMessage, char const * aDialogType, char const * aIconType, int aDefaultButton); std::string GetDOSBoxXPath(bool withexe=false); @@ -489,13 +489,6 @@ void CheckTTFLimit() { } } -void refreshExtChar() { - mainMenu.get_item("ttf_extcharset").enable(TTF_using()&&!IS_PC98_ARCH&&!IS_JEGA_ARCH&&enable_dbcs_tables); - if (dos.loaded_codepage == 936) mainMenu.get_item("ttf_extcharset").check(gbk).refresh_item(mainMenu); - else if (dos.loaded_codepage == 950 || dos.loaded_codepage == 951) mainMenu.get_item("ttf_extcharset").check(chinasea).refresh_item(mainMenu); - else mainMenu.get_item("ttf_extcharset").check(gbk&&chinasea).refresh_item(mainMenu); -} - int setTTFMap(bool changecp) { char text[2]; uint16_t uname[4], wcTest[256];