--- np2/win9x/dialog/d_about.cpp 2003/10/30 12:45:38 1.3 +++ np2/win9x/dialog/d_about.cpp 2006/12/24 13:21:38 1.13 @@ -1,61 +1,73 @@ #include "compiler.h" #include "resource.h" #include "np2.h" +#include "oemtext.h" #include "np2class.h" -#include "np2info.h" #include "dialog.h" #include "dialogs.h" +#include "np2ver.h" #include "pccore.h" +#include "np2info.h" static SIZE aboutsize; -static const char str_np2title[] = "Neko Project II "; -static const char np2infostr[] = \ - "CPU: !CPU !CLOCK\r\n" \ - "MEM: !MEM1\r\n" \ - "GDC: !GDC\r\n" \ - "TEXT: !TEXT\r\n" \ - "GRPH: !GRPH\r\n" \ - "SOUND: !EXSND\r\n" \ - "\r\n" \ - "BIOS: !BIOS\r\n" \ - "RHYTHM: !RHYTHM\r\n" \ - "\r\n" \ - "SCREEN: !DISP"; +static const OEMCHAR str_np2title[] = OEMTEXT(PROJECTNAME) \ + OEMTEXT(PROJECTSUBNAME) \ + OEMTEXT(" "); +static const OEMCHAR np2infostr[] = OEMTEXT("CPU: %CPU% %CLOCK%\nMEM: %MEM1%\nGDC: %GDC%\n %GDC2%\nTEXT: %TEXT%\nGRPH: %GRPH%\nSOUND: %EXSND%\n\nBIOS: %BIOS%\nRHYTHM: %RHYTHM%\n\nSCREEN: %DISP%"); static void about_init(HWND hWnd) { - char work[128]; - RECT rect; + OEMCHAR work[128]; + RECT rectwindow; + RECT rectclient; POINT pt; RECT parent; - milstr_ncpy(work, str_np2title, sizeof(work)); - milstr_ncat(work, np2version, sizeof(work)); + milstr_ncpy(work, str_np2title, NELEMENTS(work)); + milstr_ncat(work, np2version, NELEMENTS(work)); +#if defined(NP2VER_WIN9X) + milstr_ncat(work, NP2VER_WIN9X, NELEMENTS(work)); +#endif +#if defined(OSLANG_UTF8) + TCHAR tchr[128]; + oemtotchar(tchr, NELEMENTS(tchr), work, -1); + SetDlgItemText(hWnd, IDC_NP2VER, tchr); +#else SetDlgItemText(hWnd, IDC_NP2VER, work); - GetWindowRect(hWnd, &rect); - aboutsize.cx = rect.right - rect.left; - aboutsize.cy = rect.bottom - rect.top; +#endif + GetWindowRect(hWnd, &rectwindow); + GetClientRect(hWnd, &rectclient); + aboutsize.cx = rectwindow.right - rectwindow.left; + aboutsize.cy = rectwindow.bottom - rectwindow.top; pt.x = 0; pt.y = 0; ClientToScreen(GetParent(hWnd), &pt); GetClientRect(GetParent(hWnd), &parent); np2class_move(hWnd, pt.x + ((parent.right - parent.left - aboutsize.cx) / 2), - pt.y + ((parent.bottom - parent.top - 84) / 2), - aboutsize.cx, 84); + pt.y + ((parent.bottom - parent.top - aboutsize.cy) / 2), + aboutsize.cx, + aboutsize.cy + 60 - (rectclient.bottom - rectclient.top)); + SetFocus(GetDlgItem(hWnd, IDOK)); } static void about_more(HWND hWnd) { - char infostr[1024]; + OEMCHAR infostr[1024]; RECT rect; - np2info(infostr, np2infostr, sizeof(infostr)); + np2info(infostr, np2infostr, NELEMENTS(infostr), NULL); +#if defined(OSLANG_UTF8) + TCHAR tchr[1024]; + oemtotchar(tchr, NELEMENTS(tchr), infostr, -1); + SetDlgItemText(hWnd, IDC_NP2INFO, tchr); +#else SetDlgItemText(hWnd, IDC_NP2INFO, infostr); +#endif EnableWindow(GetDlgItem(hWnd, IDC_MORE), FALSE); GetWindowRect(hWnd, &rect); np2class_move(hWnd, rect.left, rect.top, aboutsize.cx, aboutsize.cy);