| version 1.1, 2003/10/16 17:58:58 | version 1.8, 2004/03/23 18:34:05 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
 | #include        "resource.h" | #include        "resource.h" | 
 | #include        "np2.h" | #include        "np2.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"; |  | 
 |  |  | 
 |  | static const char str_np2title[] = "Neko Project II  "; | 
 |  | static const char np2infostr[] =                                                                        \ | 
 |  | "CPU: %CPU% %CLOCK%\n"                                          \ | 
 |  | "MEM: %MEM1%\n"                                                         \ | 
 |  | "GDC: %GDC%\n"                                                          \ | 
 |  | "TEXT: %TEXT%\n"                                                        \ | 
 |  | "GRPH: %GRPH%\n"                                                        \ | 
 |  | "SOUND: %EXSND%\n"                                                      \ | 
 |  | "\n"                                                                            \ | 
 |  | "BIOS: %BIOS%\n"                                                        \ | 
 |  | "RHYTHM: %RHYTHM%\n"                                            \ | 
 |  | "\n"                                                                            \ | 
 |  | "SCREEN: %DISP%"; | 
 |  |  | 
 | // ---- |  | 
 |  |  | 
 | static void about_init(HWND hWnd) { | static void about_init(HWND hWnd) { | 
 |  |  | 
 | char    work[128]; | char    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, sizeof(work)); | 
|  | milstr_ncat(work, np2version, sizeof(work)); | 
|  | #if defined(NP2VER_WIN9X) | 
|  | milstr_ncat(work, NP2VER_WIN9X, sizeof(work)); | 
 | #endif | #endif | 
 | SetDlgItemText(hWnd, IDC_NP2VER, work); | SetDlgItemText(hWnd, IDC_NP2VER, work); | 
| GetWindowRect(hWnd, &aboutrct); | GetWindowRect(hWnd, &rectwindow); | 
| MoveWindow(hWnd, aboutrct.left, aboutrct.top, | GetClientRect(hWnd, &rectclient); | 
| aboutrct.right - aboutrct.left, 84, TRUE); | 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]; | char    infostr[1024]; | 
 |  | RECT    rect; | 
 |  |  | 
| np2info(infostr, np2infostr, sizeof(infostr)); | np2info(infostr, np2infostr, sizeof(infostr), NULL); | 
 | SetDlgItemText(hWnd, IDC_NP2INFO, infostr); | SetDlgItemText(hWnd, IDC_NP2INFO, infostr); | 
 | 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 74  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 82  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); | 
 | } | } |