--- np2/win9x/sysmng.cpp 2004/06/14 13:35:40 1.8 +++ np2/win9x/sysmng.cpp 2005/03/20 13:12:49 1.11 @@ -1,5 +1,6 @@ #include "compiler.h" #include "np2.h" +#include "oemtext.h" #include "dosio.h" #include "sysmng.h" #include "cpucore.h" @@ -11,8 +12,8 @@ // ---- -static char title[512]; -static char clock[64]; +static OEMCHAR title[512]; +static OEMCHAR clock[64]; static struct { UINT32 tick; @@ -45,51 +46,58 @@ BOOL sysmng_workclockrenewal(void) { return(TRUE); } -void sysmng_updatecaption(BYTE flag) { +void sysmng_updatecaption(UINT8 flag) { - char work[512]; + OEMCHAR work[512]; if (flag & 1) { title[0] = '\0'; if (fdd_diskready(0)) { - milstr_ncat(title, " FDD1:", sizeof(title)); - milstr_ncat(title, file_getname((char *)fdd_diskname(0)), - sizeof(title)); + milstr_ncat(title, OEMTEXT(" FDD1:"), NELEMENTS(title)); + milstr_ncat(title, file_getname(fdd_diskname(0)), + NELEMENTS(title)); } if (fdd_diskready(1)) { - milstr_ncat(title, " FDD2:", sizeof(title)); - milstr_ncat(title, file_getname((char *)fdd_diskname(1)), - sizeof(title)); + milstr_ncat(title, OEMTEXT(" FDD2:"), NELEMENTS(title)); + milstr_ncat(title, file_getname(fdd_diskname(1)), + NELEMENTS(title)); } } if (flag & 2) { clock[0] = '\0'; if (np2oscfg.DISPCLK & 2) { if (workclock.fps) { - SPRINTF(clock, " - %u.%1uFPS", + OEMSPRINTF(clock, OEMTEXT(" - %u.%1uFPS"), workclock.fps / 10, workclock.fps % 10); } else { - milstr_ncpy(clock, " - 0FPS", sizeof(clock)); + milstr_ncpy(clock, OEMTEXT(" - 0FPS"), NELEMENTS(clock)); } } if (np2oscfg.DISPCLK & 1) { - SPRINTF(work, " %2u.%03uMHz", + OEMSPRINTF(work, OEMTEXT(" %2u.%03uMHz"), workclock.khz / 1000, workclock.khz % 1000); if (clock[0] == '\0') { - milstr_ncpy(clock, " -", sizeof(clock)); + milstr_ncpy(clock, OEMTEXT(" -"), NELEMENTS(clock)); } milstr_ncat(clock, work, sizeof(clock)); #if 0 - SPRINTF(work, " (debug: OPN %d / PSG %s)", opngen.playing, - (psg1.mixer & 0x3f)?"ON":"OFF"); - milstr_ncat(clock, work, sizeof(clock)); + OEMSPRINTF(work, OEMTEXT(" (debug: OPN %d / PSG %s)"), + opngen.playing, + (psg1.mixer & 0x3f)?OEMTEXT("ON"):OEMTEXT("OFF")); + milstr_ncat(clock, work, NELEMENTS(clock)); #endif } } - milstr_ncpy(work, np2oscfg.titles, sizeof(work)); - milstr_ncat(work, title, sizeof(work)); - milstr_ncat(work, clock, sizeof(work)); + milstr_ncpy(work, np2oscfg.titles, NELEMENTS(work)); + milstr_ncat(work, title, NELEMENTS(work)); + milstr_ncat(work, clock, NELEMENTS(work)); +#if defined(OSLANG_UTF8) + TCHAR tchr[512]; + oemtotchar(tchr, NELEMENTS(tchr), work, -1); + SetWindowText(hWndMain, tchr); +#else SetWindowText(hWndMain, work); +#endif }