remove stuff we won't need
[pcsx_rearmed.git] / win32 / gui / CheatDlg.c
diff --git a/win32/gui/CheatDlg.c b/win32/gui/CheatDlg.c
deleted file mode 100644 (file)
index a09587a..0000000
+++ /dev/null
@@ -1,1021 +0,0 @@
-/*  Cheat Support for PCSX-Reloaded\r
- *  Copyright (C) 2009, Wei Mingzhi <whistler_wmz@users.sf.net>.\r
- *\r
- *  This program is free software; you can redistribute it and/or modify\r
- *  it under the terms of the GNU General Public License as published by\r
- *  the Free Software Foundation; either version 2 of the License, or\r
- *  (at your option) any later version.\r
- *\r
- *  This program is distributed in the hope that it will be useful,\r
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *  GNU General Public License for more details.\r
- *\r
- *  You should have received a copy of the GNU General Public License\r
- *  along with this program; if not, write to the Free Software\r
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA\r
- */\r
-\r
-#include <windows.h>\r
-#include <windowsx.h>\r
-#ifndef _WIN32_IE\r
-#define _WIN32_IE 0x0400\r
-#endif\r
-#include <commctrl.h>\r
-#include <stdio.h>\r
-#include "psxcommon.h"\r
-#include "psxmem.h"\r
-#include "cheat.h"\r
-#include "resource.h"\r
-#include "Win32.h"\r
-\r
-static void UpdateCheatDlg(HWND hW) {\r
-    HWND               List;\r
-    LV_ITEM            item;\r
-       int                     i;\r
-\r
-       List = GetDlgItem(hW, IDC_CODELIST);\r
-\r
-       ListView_DeleteAllItems(List);\r
-\r
-       for (i = 0; i < NumCheats; i++) {\r
-               memset(&item, 0, sizeof(item));\r
-\r
-               item.mask               = LVIF_TEXT;\r
-               item.iItem              = i;\r
-               item.pszText    = Cheats[i].Descr;\r
-               item.iSubItem   = 0;\r
-\r
-               SendMessage(List, LVM_INSERTITEM, 0, (LPARAM)&item);\r
-\r
-               item.pszText    = (Cheats[i].Enabled ? _("Yes") : _("No"));\r
-               item.iSubItem   = 1;\r
-\r
-               SendMessage(List, LVM_SETITEM, 0, (LPARAM)&item);\r
-       }\r
-}\r
-\r
-static int             iEditItem = -1;\r
-static char            szDescr[256], szCode[1024];\r
-\r
-static LRESULT WINAPI CheatEditDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       int             i;\r
-\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Edit Cheat"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_DESCR), _("Description:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_CODE), _("Cheat Code:"));\r
-                       Button_SetText(GetDlgItem(hW, IDOK), _("OK"));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("Cancel"));\r
-\r
-                       assert(iEditItem != -1 && iEditItem < NumCheats);\r
-\r
-                       Edit_SetText(GetDlgItem(hW, IDC_DESCR), Cheats[iEditItem].Descr);\r
-\r
-                       szCode[0] = '\0';\r
-                       for (i = Cheats[iEditItem].First; i < Cheats[iEditItem].First + Cheats[iEditItem].n; i++) {\r
-                               sprintf(szDescr, "%.8X %.4X\r\n", CheatCodes[i].Addr, CheatCodes[i].Val);\r
-                               strcat(szCode, szDescr);\r
-                       }\r
-                       Edit_SetText(GetDlgItem(hW, IDC_CODE), szCode);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDOK:\r
-                                       Edit_GetText(GetDlgItem(hW, IDC_DESCR), szDescr, 256);\r
-                                       Edit_GetText(GetDlgItem(hW, IDC_CODE), szCode, 1024);\r
-\r
-                                       if (EditCheat(iEditItem, szDescr, szCode) != 0) {\r
-                                               SysMessage(_("Invalid cheat code!"));\r
-                                       }\r
-                                       else {\r
-                        EndDialog(hW, TRUE);\r
-                        return TRUE;\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, FALSE);\r
-                                       return TRUE;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, FALSE);\r
-                       return TRUE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r
-\r
-static LRESULT WINAPI CheatAddDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Add New Cheat"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_DESCR), _("Description:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_CODE), _("Cheat Code:"));\r
-                       Button_SetText(GetDlgItem(hW, IDOK), _("OK"));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("Cancel"));\r
-                       Edit_SetText(GetDlgItem(hW, IDC_DESCR), szDescr);\r
-                       Edit_SetText(GetDlgItem(hW, IDC_CODE), szCode);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDOK:\r
-                                       Edit_GetText(GetDlgItem(hW, IDC_DESCR), szDescr, 256);\r
-                                       Edit_GetText(GetDlgItem(hW, IDC_CODE), szCode, 1024);\r
-\r
-                                       if (AddCheat(szDescr, szCode) != 0) {\r
-                                               SysMessage(_("Invalid cheat code!"));\r
-                                       }\r
-                                       else {\r
-                        EndDialog(hW, TRUE);\r
-                        return TRUE;\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, FALSE);\r
-                                       return TRUE;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, FALSE);\r
-                       return TRUE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r
-\r
-LRESULT WINAPI CheatDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       HWND                    List;\r
-       LV_COLUMN               col;\r
-       LV_ITEM                 item;\r
-       int                             i;\r
-       OPENFILENAME    ofn;\r
-       char                    szFileName[256];\r
-       char                    szFileTitle[256];\r
-       char                    szFilter[256];\r
-\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Edit Cheat Codes"));\r
-\r
-                       Button_SetText(GetDlgItem(hW, IDC_ADDCODE), _("&Add Code"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_EDITCODE), _("&Edit Code"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_REMOVECODE), _("&Remove Code"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_TOGGLECODE), _("&Enable/Disable"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_LOADCODE), _("&Load..."));\r
-                       Button_SetText(GetDlgItem(hW, IDC_SAVECODE), _("&Save As..."));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("&Close"));\r
-\r
-                       List = GetDlgItem(hW, IDC_CODELIST);\r
-\r
-            SendMessage(List, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT);\r
-\r
-                       memset(&col, 0, sizeof(col));\r
-\r
-                       col.mask        = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;\r
-                       col.fmt         = LVCFMT_LEFT;\r
-\r
-                       col.pszText             = _("Description");\r
-                       col.cx                  = 400;\r
-\r
-                       SendMessage(List, LVM_INSERTCOLUMN, 0, (LPARAM)&col);\r
-\r
-                       col.pszText             = _("Enabled");\r
-                       col.cx                  = 55;\r
-\r
-                       SendMessage(List, LVM_INSERTCOLUMN, 1, (LPARAM)&col);\r
-\r
-                       UpdateCheatDlg(hW);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, FALSE);\r
-                                       return TRUE;\r
-\r
-                               case IDC_ADDCODE:\r
-                                       i = NumCheats;\r
-                                       szDescr[0] = '\0';\r
-                                       szCode[0] = '\0';\r
-\r
-                                       DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CHEATEDIT), hW, (DLGPROC)CheatAddDlgProc);\r
-\r
-                                       if (NumCheats > i) {\r
-                                               // new cheat added\r
-                                               List = GetDlgItem(hW, IDC_CODELIST);\r
-                                               memset(&item, 0, sizeof(item));\r
-\r
-                                               item.mask               = LVIF_TEXT;\r
-                                               item.iItem              = i;\r
-                                               item.pszText    = Cheats[i].Descr;\r
-                                               item.iSubItem   = 0;\r
-\r
-                                               SendMessage(List, LVM_INSERTITEM, 0, (LPARAM)&item);\r
-\r
-                                               item.pszText    = (Cheats[i].Enabled ? _("Yes") : _("No"));\r
-                                               item.iSubItem   = 1;\r
-\r
-                                               SendMessage(List, LVM_SETITEM, 0, (LPARAM)&item);\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_EDITCODE:\r
-                                       List = GetDlgItem(hW, IDC_CODELIST);\r
-                                       iEditItem = ListView_GetSelectionMark(List);\r
-\r
-                                       if (iEditItem != -1) {\r
-                                               DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CHEATEDIT), hW, (DLGPROC)CheatEditDlgProc);\r
-\r
-                                               memset(&item, 0, sizeof(item));\r
-\r
-                                               item.mask               = LVIF_TEXT;\r
-                                               item.iItem              = iEditItem;\r
-                                               item.pszText    = Cheats[iEditItem].Descr;\r
-                                               item.iSubItem   = 0;\r
-\r
-                                               SendMessage(List, LVM_SETITEM, 0, (LPARAM)&item);\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_REMOVECODE:\r
-                                       List = GetDlgItem(hW, IDC_CODELIST);\r
-                                       i = ListView_GetSelectionMark(List);\r
-\r
-                                       if (i != -1) {\r
-                                               RemoveCheat(i);\r
-                                               ListView_DeleteItem(List, i);\r
-                                               ListView_SetSelectionMark(List, -1);\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_TOGGLECODE:\r
-                                       List = GetDlgItem(hW, IDC_CODELIST);\r
-                                       i = ListView_GetSelectionMark(List);\r
-\r
-                                       if (i != -1) {\r
-                                               Cheats[i].Enabled ^= 1;\r
-\r
-                                               memset(&item, 0, sizeof(item));\r
-\r
-                                               item.mask               = LVIF_TEXT;\r
-                                               item.iItem              = i;\r
-                                               item.pszText    = (Cheats[i].Enabled ? _("Yes") : _("No"));\r
-                                               item.iSubItem   = 1;\r
-\r
-                                               SendMessage(List, LVM_SETITEM, 0, (LPARAM)&item);\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_LOADCODE:\r
-                                       memset(&szFileName,  0, sizeof(szFileName));\r
-                                       memset(&szFileTitle, 0, sizeof(szFileTitle));\r
-                                       memset(&szFilter,    0, sizeof(szFilter));\r
-\r
-                                       strcpy(szFilter, _("PCSX Cheat Code Files"));\r
-                                       strcatz(szFilter, "*.*");\r
-\r
-                                       ofn.lStructSize                 = sizeof(OPENFILENAME);\r
-                                       ofn.hwndOwner                   = hW;\r
-                                       ofn.lpstrFilter                 = szFilter;\r
-                                       ofn.lpstrCustomFilter   = NULL;\r
-                                       ofn.nMaxCustFilter              = 0;\r
-                                       ofn.nFilterIndex                = 1;\r
-                                       ofn.lpstrFile                   = szFileName;\r
-                                       ofn.nMaxFile                    = 256;\r
-                                       ofn.lpstrInitialDir             = ".\\Cheats";\r
-                                       ofn.lpstrFileTitle              = szFileTitle;\r
-                                       ofn.nMaxFileTitle               = 256;\r
-                                       ofn.lpstrTitle                  = NULL;\r
-                                       ofn.lpstrDefExt                 = "CHT";\r
-                                       ofn.Flags                               = OFN_HIDEREADONLY | OFN_NOCHANGEDIR;\r
-\r
-                                       if (GetOpenFileName((LPOPENFILENAME)&ofn)) {\r
-                                               LoadCheats(szFileName);\r
-                                               UpdateCheatDlg(hW);\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_SAVECODE:\r
-                                       memset(&szFileName,  0, sizeof(szFileName));\r
-                                       memset(&szFileTitle, 0, sizeof(szFileTitle));\r
-                                       memset(&szFilter,    0, sizeof(szFilter));\r
-\r
-                                       strcpy(szFilter, _("PCSX Cheat Code Files"));\r
-                                       strcatz(szFilter, "*.*");\r
-\r
-                                       ofn.lStructSize                 = sizeof(OPENFILENAME);\r
-                                       ofn.hwndOwner                   = hW;\r
-                                       ofn.lpstrFilter                 = szFilter;\r
-                                       ofn.lpstrCustomFilter   = NULL;\r
-                                       ofn.nMaxCustFilter              = 0;\r
-                                       ofn.nFilterIndex                = 1;\r
-                                       ofn.lpstrFile                   = szFileName;\r
-                                       ofn.nMaxFile                    = 256;\r
-                                       ofn.lpstrInitialDir             = ".\\Cheats";\r
-                                       ofn.lpstrFileTitle              = szFileTitle;\r
-                                       ofn.nMaxFileTitle               = 256;\r
-                                       ofn.lpstrTitle                  = NULL;\r
-                                       ofn.lpstrDefExt                 = "CHT";\r
-                                       ofn.Flags                               = OFN_HIDEREADONLY | OFN_NOCHANGEDIR | OFN_OVERWRITEPROMPT;\r
-\r
-                                       if (GetOpenFileName((LPOPENFILENAME)&ofn)) {\r
-                                               SaveCheats(szFileName);\r
-                                       }\r
-                                       break;\r
-                       }\r
-                       break;\r
-\r
-               case WM_NOTIFY:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDC_CODELIST:\r
-                                       List = GetDlgItem(hW, IDC_CODELIST);\r
-                                       i = ListView_GetSelectionMark(List);\r
-\r
-                                       if (i != -1) {\r
-                                               Button_Enable(GetDlgItem(hW, IDC_EDITCODE), TRUE);\r
-                                               Button_Enable(GetDlgItem(hW, IDC_REMOVECODE), TRUE);\r
-                                               Button_Enable(GetDlgItem(hW, IDC_TOGGLECODE), TRUE);\r
-                                       }\r
-                                       else {\r
-                                               Button_Enable(GetDlgItem(hW, IDC_EDITCODE), FALSE);\r
-                                               Button_Enable(GetDlgItem(hW, IDC_REMOVECODE), FALSE);\r
-                                               Button_Enable(GetDlgItem(hW, IDC_TOGGLECODE), FALSE);\r
-                                       }\r
-\r
-                                       Button_Enable(GetDlgItem(hW, IDC_SAVECODE), (NumCheats > 0));\r
-                                       break;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, FALSE);\r
-                       return TRUE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r
-\r
-///////////////////////////////////////////////////////////////////////////////\r
-\r
-#define SEARCH_EQUALVAL                                0\r
-#define SEARCH_NOTEQUALVAL                     1\r
-#define SEARCH_RANGE                           2\r
-#define SEARCH_INCBY                           3\r
-#define SEARCH_DECBY                           4\r
-#define SEARCH_INC                                     5\r
-#define SEARCH_DEC                                     6\r
-#define SEARCH_DIFFERENT                       7\r
-#define SEARCH_NOCHANGE                                8\r
-\r
-#define SEARCHTYPE_8BIT                                0\r
-#define SEARCHTYPE_16BIT                       1\r
-#define SEARCHTYPE_32BIT                       2\r
-\r
-#define SEARCHBASE_DEC                         0\r
-#define SEARCHBASE_HEX                         1\r
-\r
-static char current_search                     = SEARCH_EQUALVAL;\r
-static char current_searchtype         = SEARCHTYPE_8BIT;\r
-static char current_searchbase         = SEARCHBASE_DEC;\r
-static uint32_t current_valuefrom      = 0;\r
-static uint32_t current_valueto                = 0;\r
-\r
-static void UpdateCheatSearchDlg(HWND hW) {\r
-       char            buf[256];\r
-       int                     i;\r
-\r
-       SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_RESETCONTENT, 0, 0);\r
-       SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_RESETCONTENT, 0, 0);\r
-\r
-       Button_Enable(GetDlgItem(hW, IDC_FREEZE), FALSE);\r
-       Button_Enable(GetDlgItem(hW, IDC_MODIFY), FALSE);\r
-       Button_Enable(GetDlgItem(hW, IDC_COPY), FALSE);\r
-\r
-       SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Equal Value"));\r
-       SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Not Equal Value"));\r
-       SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Range"));\r
-\r
-       if (prevM != NULL) {\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Increased By"));\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Decreased By"));\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Increased"));\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Decreased"));\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("Different"));\r
-               SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_ADDSTRING, 0, (LPARAM)_("No Change"));\r
-\r
-               ComboBox_Enable(GetDlgItem(hW, IDC_DATATYPE), FALSE);\r
-       }\r
-       else {\r
-               ComboBox_Enable(GetDlgItem(hW, IDC_DATATYPE), TRUE);\r
-       }\r
-\r
-       SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_SETCURSEL, (WPARAM)current_search, 0);\r
-\r
-       if (current_search == SEARCH_RANGE) {\r
-               ShowWindow(GetDlgItem(hW, IDC_LABEL_TO), SW_SHOW);\r
-               ShowWindow(GetDlgItem(hW, IDC_VALUETO), SW_SHOW);\r
-       }\r
-       else {\r
-               ShowWindow(GetDlgItem(hW, IDC_LABEL_TO), SW_HIDE);\r
-               ShowWindow(GetDlgItem(hW, IDC_VALUETO), SW_HIDE);\r
-       }\r
-\r
-       SendMessage(GetDlgItem(hW, IDC_DATATYPE), CB_SETCURSEL, (WPARAM)current_searchtype, 0);\r
-       SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_SETCURSEL, (WPARAM)current_searchbase, 0);\r
-\r
-       if (current_searchbase == SEARCHBASE_HEX) {\r
-               sprintf(buf, "%X", current_valuefrom);\r
-               SetWindowText(GetDlgItem(hW, IDC_VALUEFROM), buf);\r
-               sprintf(buf, "%X", current_valueto);\r
-               SetWindowText(GetDlgItem(hW, IDC_VALUETO), buf);\r
-       }\r
-       else {\r
-               sprintf(buf, "%u", current_valuefrom);\r
-               SetWindowText(GetDlgItem(hW, IDC_VALUEFROM), buf);\r
-               sprintf(buf, "%u", current_valueto);\r
-               SetWindowText(GetDlgItem(hW, IDC_VALUETO), buf);\r
-       }\r
-\r
-       if (prevM == NULL) {\r
-               SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_ADDSTRING, (WPARAM)0, (LPARAM)_("Enter the values and start your search."));\r
-               EnableWindow(GetDlgItem(hW, IDC_RESLIST), FALSE);\r
-       }\r
-       else {\r
-               if (NumSearchResults == 0) {\r
-                       SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_ADDSTRING, (WPARAM)0, (LPARAM)_("No addresses found."));\r
-                       EnableWindow(GetDlgItem(hW, IDC_RESLIST), FALSE);\r
-               }\r
-               else if (NumSearchResults > 100) {\r
-                       SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_ADDSTRING, (WPARAM)0, (LPARAM)_("Too many addresses found."));\r
-                       EnableWindow(GetDlgItem(hW, IDC_RESLIST), FALSE);\r
-               }\r
-               else {\r
-                       for (i = 0; i < NumSearchResults; i++) {\r
-                               u32 addr = SearchResults[i];\r
-\r
-                               switch (current_searchtype) {\r
-                                       case SEARCHTYPE_8BIT:\r
-                                               sprintf(buf, _("%.8X    Current: %u (%.2X), Previous: %u (%.2X)"),\r
-                                                       addr, PSXMu8(addr), PSXMu8(addr), PrevMu8(addr), PrevMu8(addr));\r
-                                               break;\r
-\r
-                                       case SEARCHTYPE_16BIT:\r
-                                               sprintf(buf, _("%.8X    Current: %u (%.4X), Previous: %u (%.4X)"),\r
-                                                       addr, PSXMu16(addr), PSXMu16(addr), PrevMu16(addr), PrevMu16(addr));\r
-                                               break;\r
-\r
-                                       case SEARCHTYPE_32BIT:\r
-                                               sprintf(buf, _("%.8X    Current: %u (%.8X), Previous: %u (%.8X)"),\r
-                                                       addr, PSXMu32(addr), PSXMu32(addr), PrevMu32(addr), PrevMu32(addr));\r
-                                               break;\r
-\r
-                                       default:\r
-                                               assert(FALSE); // impossible\r
-                                               break;\r
-                               }\r
-\r
-                               SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_ADDSTRING, (WPARAM)0, (LPARAM)buf);\r
-                               SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_SETITEMDATA, i, (LPARAM)i);\r
-                       }\r
-                       EnableWindow(GetDlgItem(hW, IDC_RESLIST), TRUE);\r
-               }\r
-       }\r
-\r
-       sprintf(buf, _("Founded Addresses: %d"), NumSearchResults);\r
-       Static_SetText(GetDlgItem(hW, IDC_LABEL_RESULTSFOUND), buf);\r
-}\r
-\r
-static int iCurItem = 0;\r
-\r
-static LRESULT WINAPI CheatFreezeProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       u32                     val;\r
-       char            buf[256];\r
-\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Freeze"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_ADDRESS), _("Address:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_VALUE), _("Value:"));\r
-\r
-                       sprintf(buf, "%.8X", SearchResults[iCurItem]);\r
-                       SetWindowText(GetDlgItem(hW, IDC_ADDRESS), buf);\r
-\r
-                       switch (current_searchtype) {\r
-                               case SEARCHTYPE_8BIT:\r
-                                       val = PSXMu8(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               case SEARCHTYPE_16BIT:\r
-                                       val = PSXMu16(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               case SEARCHTYPE_32BIT:\r
-                                       val = PSXMu32(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               default:\r
-                                       assert(FALSE); // should not reach here\r
-                                       break;\r
-                       }\r
-\r
-                       sprintf(buf, "%u", val);\r
-                       SetWindowText(GetDlgItem(hW, IDC_VALUE), buf);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDOK:\r
-                                       val = 0;\r
-                                       GetWindowText(GetDlgItem(hW, IDC_VALUE), buf, 255);\r
-                                       sscanf(buf, "%u", &val);\r
-\r
-                                       switch (current_searchtype) {\r
-                                               case SEARCHTYPE_8BIT:\r
-                                                       if (val > (u32)0xFF) {\r
-                                                               val = 0xFF;\r
-                                                       }\r
-                                                       sprintf(szCode, "%.8X %.4X", (SearchResults[iCurItem] & 0x1FFFFF) | (CHEAT_CONST8 << 24), val);\r
-                                                       break;\r
-\r
-                                               case SEARCHTYPE_16BIT:\r
-                                                       if (val > (u32)0xFFFF) {\r
-                                                               val = 0xFFFF;\r
-                                                       }\r
-                                                       sprintf(szCode, "%.8X %.4X", (SearchResults[iCurItem] & 0x1FFFFF) | (CHEAT_CONST16 << 24), val);\r
-                                                       break;\r
-\r
-                                               case SEARCHTYPE_32BIT:\r
-                                                       sprintf(szCode, "%.8X %.4X\n%.8X %.4X",\r
-                                                               (SearchResults[iCurItem] & 0x1FFFFF) | (CHEAT_CONST16 << 24), val & 0xFFFF,\r
-                                                               ((SearchResults[iCurItem] + 2) & 0x1FFFFF) | (CHEAT_CONST16 << 24), ((val & 0xFFFF0000) >> 16) & 0xFFFF);\r
-                                                       break;\r
-\r
-                                               default:\r
-                                                       assert(FALSE); // should not reach here\r
-                                                       break;\r
-                                       }\r
-\r
-                                       sprintf(szDescr, _("Freeze %.8X"), SearchResults[iCurItem]);\r
-\r
-                                       if (DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CHEATEDIT), hW, (DLGPROC)CheatAddDlgProc)) {\r
-                                               Cheats[NumCheats - 1].Enabled = 1;\r
-                                               EndDialog(hW, TRUE);\r
-                                               return TRUE;\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, FALSE);\r
-                                       return TRUE;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, FALSE);\r
-                       return TRUE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r
-\r
-static LRESULT WINAPI CheatModifyProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       u32                     val;\r
-       char            buf[256];\r
-\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Modify"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_ADDRESS), _("Address:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_VALUE), _("Value:"));\r
-\r
-                       sprintf(buf, "%.8X", SearchResults[iCurItem]);\r
-                       SetWindowText(GetDlgItem(hW, IDC_ADDRESS), buf);\r
-\r
-                       switch (current_searchtype) {\r
-                               case SEARCHTYPE_8BIT:\r
-                                       val = PSXMu8(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               case SEARCHTYPE_16BIT:\r
-                                       val = PSXMu16(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               case SEARCHTYPE_32BIT:\r
-                                       val = PSXMu32(SearchResults[iCurItem]);\r
-                                       break;\r
-\r
-                               default:\r
-                                       assert(FALSE); // should not reach here\r
-                                       break;\r
-                       }\r
-\r
-                       sprintf(buf, "%u", val);\r
-                       SetWindowText(GetDlgItem(hW, IDC_VALUE), buf);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDOK:\r
-                                       val = 0;\r
-                                       GetWindowText(GetDlgItem(hW, IDC_VALUE), buf, 255);\r
-                                       sscanf(buf, "%u", &val);\r
-\r
-                                       switch (current_searchtype) {\r
-                                               case SEARCHTYPE_8BIT:\r
-                                                       if (val > 0xFF) {\r
-                                                               val = 0xFF;\r
-                                                       }\r
-                                                       psxMemWrite8(SearchResults[iCurItem], (u8)val);\r
-                                                       break;\r
-\r
-                                               case SEARCHTYPE_16BIT:\r
-                                                       if (val > 0xFFFF) {\r
-                                                               val = 0xFFFF;\r
-                                                       }\r
-                                                       psxMemWrite16(SearchResults[iCurItem], (u16)val);\r
-                                                       break;\r
-\r
-                                               case SEARCHTYPE_32BIT:\r
-                                                       psxMemWrite32(SearchResults[iCurItem], (u32)val);\r
-                                                       break;\r
-\r
-                                               default:\r
-                                                       assert(FALSE); // should not reach here\r
-                                                       break;\r
-                                       }\r
-\r
-                                       EndDialog(hW, TRUE);\r
-                                       return TRUE;\r
-\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, TRUE);\r
-                                       return FALSE;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, TRUE);\r
-                       return FALSE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r
-\r
-LRESULT WINAPI CheatSearchDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {\r
-       char                    buf[256];\r
-       uint32_t                i;\r
-\r
-       switch (uMsg) {\r
-               case WM_INITDIALOG:\r
-                       SetWindowText(hW, _("Cheat Search"));\r
-\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_SEARCHFOR), _("Search For:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_DATATYPE), _("Data Type:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_VALUE), _("Value:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_DATABASE), _("Data Base:"));\r
-                       Static_SetText(GetDlgItem(hW, IDC_LABEL_TO), _("To:"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_FREEZE), _("&Freeze"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_MODIFY), _("&Modify"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_COPY), _("&Copy"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_SEARCH), _("&Search"));\r
-                       Button_SetText(GetDlgItem(hW, IDC_NEWSEARCH), _("&New Search"));\r
-                       Button_SetText(GetDlgItem(hW, IDCANCEL), _("C&lose"));\r
-\r
-                       SendMessage(GetDlgItem(hW, IDC_DATATYPE), CB_ADDSTRING, 0, (LPARAM)_("8-bit"));\r
-                       SendMessage(GetDlgItem(hW, IDC_DATATYPE), CB_ADDSTRING, 0, (LPARAM)_("16-bit"));\r
-                       SendMessage(GetDlgItem(hW, IDC_DATATYPE), CB_ADDSTRING, 0, (LPARAM)_("32-bit"));\r
-                       SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_ADDSTRING, 0, (LPARAM)_("Decimal"));\r
-                       SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_ADDSTRING, 0, (LPARAM)_("Hexadecimal"));\r
-\r
-                       UpdateCheatSearchDlg(hW);\r
-                       break;\r
-\r
-               case WM_COMMAND:\r
-                       switch (LOWORD(wParam)) {\r
-                               case IDCANCEL:\r
-                                       EndDialog(hW, FALSE);\r
-                                       return TRUE;\r
-\r
-                               case IDC_FREEZE:\r
-                                       iCurItem = SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_GETCURSEL, 0, 0);\r
-                                       DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CHEATVALEDIT), hW, (DLGPROC)CheatFreezeProc);\r
-                                       break;\r
-\r
-                               case IDC_MODIFY:\r
-                                       iCurItem = SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_GETCURSEL, 0, 0);\r
-                                       DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CHEATVALEDIT), hW, (DLGPROC)CheatModifyProc);\r
-                                       UpdateCheatSearchDlg(hW);\r
-                                       break;\r
-\r
-                               case IDC_COPY:\r
-                                       i = SendMessage(GetDlgItem(hW, IDC_RESLIST), LB_GETCURSEL, 0, 0);\r
-                                       sprintf(buf, "%.8X", SearchResults[i]);\r
-\r
-                                       if (OpenClipboard(gApp.hWnd)) {\r
-                                               HGLOBAL hglbCopy = GlobalAlloc(GHND, 256);\r
-                                               char *p;\r
-\r
-                                               if (hglbCopy != NULL) {\r
-                                                       p = (char *)GlobalLock(hglbCopy);\r
-                                                       strcpy(p, buf);\r
-                                                       GlobalUnlock(p);\r
-\r
-                                                       EmptyClipboard();\r
-                                                       SetClipboardData(CF_TEXT, (HANDLE)hglbCopy);\r
-                                               }\r
-\r
-                                               CloseClipboard();\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_SEARCH:\r
-                                       current_search = SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_GETCURSEL, 0, 0);\r
-                                       current_searchtype = SendMessage(GetDlgItem(hW, IDC_DATATYPE), CB_GETCURSEL, 0, 0);\r
-                                       current_searchbase = SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_GETCURSEL, 0, 0);\r
-                                       current_valuefrom = 0;\r
-                                       current_valueto = 0;\r
-\r
-                                       if (current_searchbase == SEARCHBASE_DEC) {\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%u", &current_valuefrom);\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%u", &current_valueto);\r
-                                       }\r
-                                       else {\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%x", &current_valuefrom);\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%x", &current_valueto);\r
-                                       }\r
-\r
-                                       switch (current_searchtype) {\r
-                                               case SEARCHTYPE_8BIT:\r
-                                                       if (current_valuefrom > (u32)0xFF) {\r
-                                                               current_valuefrom = 0xFF;\r
-                                                       }\r
-                                                       if (current_valueto > (u32)0xFF) {\r
-                                                               current_valueto = 0xFF;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCHTYPE_16BIT:\r
-                                                       if (current_valuefrom > (u32)0xFFFF) {\r
-                                                               current_valuefrom = 0xFFFF;\r
-                                                       }\r
-                                                       if (current_valueto > (u32)0xFFFF) {\r
-                                                               current_valueto = 0xFFFF;\r
-                                                       }\r
-                                               break;\r
-                                       }\r
-\r
-                                       if (current_search == SEARCH_RANGE && current_valuefrom > current_valueto) {\r
-                                               u32 t = current_valuefrom;\r
-                                               current_valuefrom = current_valueto;\r
-                                               current_valueto = t;\r
-                                       }\r
-\r
-                                       switch (current_search) {\r
-                                               case SEARCH_EQUALVAL:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchEqual8((u8)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchEqual16((u16)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchEqual32((u32)current_valuefrom);\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_NOTEQUALVAL:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchNotEqual8((u8)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchNotEqual16((u16)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchNotEqual32((u32)current_valuefrom);\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_RANGE:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchRange8((u8)current_valuefrom, (u8)current_valueto);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchRange16((u16)current_valuefrom, (u16)current_valueto);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchRange32((u32)current_valuefrom, (u32)current_valueto);\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_INCBY:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchIncreasedBy8((u8)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchIncreasedBy16((u16)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchIncreasedBy32((u32)current_valuefrom);\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_DECBY:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchDecreasedBy8((u8)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchDecreasedBy16((u16)current_valuefrom);\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchDecreasedBy32((u32)current_valuefrom);\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_INC:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchIncreased8();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchIncreased16();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchIncreased32();\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_DEC:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchDecreased8();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchDecreased16();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchDecreased32();\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_DIFFERENT:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchDifferent8();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchDifferent16();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchDifferent32();\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               case SEARCH_NOCHANGE:\r
-                                                       switch (current_searchtype) {\r
-                                                               case SEARCHTYPE_8BIT:\r
-                                                                       CheatSearchNoChange8();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_16BIT:\r
-                                                                       CheatSearchNoChange16();\r
-                                                                       break;\r
-\r
-                                                               case SEARCHTYPE_32BIT:\r
-                                                                       CheatSearchNoChange32();\r
-                                                                       break;\r
-                                                       }\r
-                                                       break;\r
-\r
-                                               default:\r
-                                                       assert(FALSE); // not possible\r
-                                                       break;\r
-                                       }\r
-\r
-                                       UpdateCheatSearchDlg(hW);\r
-                                       break;\r
-\r
-                               case IDC_NEWSEARCH:\r
-                                       FreeCheatSearchMem();\r
-                                       FreeCheatSearchResults();\r
-\r
-                                       current_search = SEARCH_EQUALVAL;\r
-                                       current_searchtype = SEARCHTYPE_8BIT;\r
-                                       current_searchbase = SEARCHBASE_DEC;\r
-                                       current_valuefrom = 0;\r
-                                       current_valueto = 0;\r
-\r
-                                       UpdateCheatSearchDlg(hW);\r
-                                       EnableWindow(GetDlgItem(hW, IDC_VALUEFROM), TRUE);\r
-                                       break;\r
-\r
-                               case IDC_SEARCHFOR:\r
-                                       EnableWindow(GetDlgItem(hW, IDC_VALUEFROM), TRUE);\r
-\r
-                                       if (SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_GETCURSEL, 0, 0) == SEARCH_RANGE) {\r
-                                               ShowWindow(GetDlgItem(hW, IDC_LABEL_TO), SW_SHOW);\r
-                                               ShowWindow(GetDlgItem(hW, IDC_VALUETO), SW_SHOW);\r
-                                       }\r
-                                       else {\r
-                                               ShowWindow(GetDlgItem(hW, IDC_LABEL_TO), SW_HIDE);\r
-                                               ShowWindow(GetDlgItem(hW, IDC_VALUETO), SW_HIDE);\r
-\r
-                                               if (SendMessage(GetDlgItem(hW, IDC_SEARCHFOR), CB_GETCURSEL, 0, 0) >= SEARCH_INC) {\r
-                                                       EnableWindow(GetDlgItem(hW, IDC_VALUEFROM), FALSE);\r
-                                               }\r
-                                       }\r
-                                       break;\r
-\r
-                               case IDC_DATABASE:\r
-                                       if (SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_GETCURSEL, 0, 0) == SEARCHBASE_DEC) {\r
-                                               if (current_searchbase == SEARCHBASE_HEX) {\r
-                                                       GetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPTSTR)buf, 255);\r
-                                                       sscanf(buf, "%x", &i);\r
-                                                       sprintf(buf, "%u", i);\r
-                                                       SetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPCTSTR)buf);\r
-\r
-                                                       GetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPTSTR)buf, 255);\r
-                                                       sscanf(buf, "%x", &i);\r
-                                                       sprintf(buf, "%u", i);\r
-                                                       SetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPCTSTR)buf);\r
-                                               }\r
-                                       }\r
-                                       else if (current_searchbase == SEARCHBASE_DEC){\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%u", &i);\r
-                                               sprintf(buf, "%X", i);\r
-                                               SetWindowText(GetDlgItem(hW, IDC_VALUEFROM), (LPCTSTR)buf);\r
-\r
-                                               GetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPTSTR)buf, 255);\r
-                                               sscanf(buf, "%u", &i);\r
-                                               sprintf(buf, "%X", i);\r
-                                               SetWindowText(GetDlgItem(hW, IDC_VALUETO), (LPCTSTR)buf);\r
-                                       }\r
-                                       current_searchbase = SendMessage(GetDlgItem(hW, IDC_DATABASE), CB_GETCURSEL, 0, 0);\r
-                                       break;\r
-\r
-                               case IDC_RESLIST:\r
-                                       switch (HIWORD(wParam)) {\r
-                                               case LBN_SELCHANGE:\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_FREEZE), TRUE);\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_MODIFY), TRUE);\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_COPY), TRUE);\r
-                                                       break;\r
-\r
-                                               case LBN_SELCANCEL:\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_FREEZE), FALSE);\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_MODIFY), FALSE);\r
-                                                       Button_Enable(GetDlgItem(hW, IDC_COPY), FALSE);\r
-                                                       break;\r
-                                       }\r
-                                       break;\r
-                       }\r
-                       break;\r
-\r
-               case WM_CLOSE:\r
-                       EndDialog(hW, FALSE);\r
-                       return TRUE;\r
-       }\r
-\r
-       return FALSE;\r
-}\r