| version 1.1.1.1, 2003/10/16 17:58:58 | version 1.12, 2005/03/20 13:12:49 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
 | #include        "resource.h" | #include        "resource.h" | 
 | #include        "np2.h" | #include        "np2.h" | 
 |  | #include        "oemtext.h" | 
 |  | #include        "np2class.h" | 
 | #include        "dialog.h" | #include        "dialog.h" | 
 | #include        "dialogs.h" | #include        "dialogs.h" | 
| #include        "np2info.h" | #include        "np2ver.h" | 
 | #include        "pccore.h" | #include        "pccore.h" | 
 |  | #include        "np2info.h" | 
 |  |  | 
 |  |  | 
| static  RECT    aboutrct; | static  SIZE    aboutsize; | 
| 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"; |  | 
 |  |  | 
 |  | #if !defined(SUPPORT_PC9821) | 
 |  | static const OEMCHAR str_np2title[] = OEMTEXT("Neko Project II  "); | 
 |  | #else | 
 |  | static const OEMCHAR str_np2title[] = OEMTEXT("Neko Project 21  "); | 
 |  | #endif | 
 |  | 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) { | static void about_init(HWND hWnd) { | 
 |  |  | 
| char    work[128]; | OEMCHAR work[128]; | 
|  | RECT    rectwindow; | 
| strcpy(work, "Neko Project II  "); | RECT    rectclient; | 
| strcat(work, np2version); | POINT   pt; | 
| #ifdef NEW286 | RECT    parent; | 
| strcat(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 | #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); | SetDlgItemText(hWnd, IDC_NP2VER, work); | 
| GetWindowRect(hWnd, &aboutrct); | #endif | 
| MoveWindow(hWnd, aboutrct.left, aboutrct.top, | GetWindowRect(hWnd, &rectwindow); | 
| aboutrct.right - aboutrct.left, 84, TRUE); | 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 - aboutsize.cy) / 2), | 
|  | aboutsize.cx, | 
|  | aboutsize.cy + 60 - (rectclient.bottom - rectclient.top)); | 
|  |  | 
 | SetFocus(GetDlgItem(hWnd, IDOK)); | SetFocus(GetDlgItem(hWnd, IDOK)); | 
 | } | } | 
 |  |  | 
 | static void about_more(HWND hWnd) { | 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); | SetDlgItemText(hWnd, IDC_NP2INFO, infostr); | 
 |  | #endif | 
 | EnableWindow(GetDlgItem(hWnd, IDC_MORE), FALSE); | EnableWindow(GetDlgItem(hWnd, IDC_MORE), FALSE); | 
| MoveWindow(hWnd, aboutrct.left, aboutrct.top, | GetWindowRect(hWnd, &rect); | 
| aboutrct.right - aboutrct.left, | np2class_move(hWnd, rect.left, rect.top, aboutsize.cx, aboutsize.cy); | 
| aboutrct.bottom - aboutrct.top, TRUE); |  | 
 | SetFocus(GetDlgItem(hWnd, IDOK)); | SetFocus(GetDlgItem(hWnd, IDOK)); | 
 | } | } | 
 |  |  | 
| Line 57  LRESULT CALLBACK AboutDialogProc(HWND hW | Line 80  LRESULT CALLBACK AboutDialogProc(HWND hW | 
 |  |  | 
 | switch (msg) { | switch (msg) { | 
 | case WM_INITDIALOG: | case WM_INITDIALOG: | 
 | ShowWindow(GetDlgItem(hWnd, IDC_EXTICON), SW_HIDE); |  | 
 | about_init(hWnd); | about_init(hWnd); | 
 | return(FALSE); | return(FALSE); | 
 |  |  | 
| Line 66  LRESULT CALLBACK AboutDialogProc(HWND hW | Line 88  LRESULT CALLBACK AboutDialogProc(HWND hW | 
 | case IDOK: | case IDOK: | 
 | EndDialog(hWnd, IDOK); | EndDialog(hWnd, IDOK); | 
 | break; | break; | 
 |  |  | 
 | case IDC_MORE: | case IDC_MORE: | 
 | about_more(hWnd); | about_more(hWnd); | 
 | break; | break; | 
 |  |  | 
 | default: | default: | 
 | return(FALSE); | return(FALSE); | 
 | } | } |