Final resource cleanup: NAMEBOOKMARKDLG, ASSEMBLER, contextual menus in memview, and the (un-broken) special scaler in windowed mode.

This commit is contained in:
jeblanchard 2008-06-06 00:15:47 +00:00
parent 0d84597aa6
commit b5bce89e2e
7 changed files with 108 additions and 83 deletions

View File

@ -642,14 +642,14 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
CenterWindow(hwndDlg); CenterWindow(hwndDlg);
//set font //set font
SendDlgItemMessage(hwndDlg,101,WM_SETFONT,(WPARAM)hNewFont,FALSE); SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_DISASSEMBLY,WM_SETFONT,(WPARAM)hNewFont,FALSE);
SendDlgItemMessage(hwndDlg,102,WM_SETFONT,(WPARAM)hNewFont,FALSE); SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_PATCH_DISASM,WM_SETFONT,(WPARAM)hNewFont,FALSE);
//set limits //set limits
SendDlgItemMessage(hwndDlg,100,CB_LIMITTEXT,20,0); SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_HISTORY,CB_LIMITTEXT,20,0);
SetDlgItemText(hwndDlg,101,DisassembleLine(iaPC)); SetDlgItemText(hwndDlg,IDC_ASSEMBLER_DISASSEMBLY,DisassembleLine(iaPC));
SetFocus(GetDlgItem(hwndDlg,100)); SetFocus(GetDlgItem(hwndDlg,IDC_ASSEMBLER_HISTORY));
patchlen = 0; patchlen = 0;
applied = 0; applied = 0;
@ -664,7 +664,7 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
switch (HIWORD(wParam)) { switch (HIWORD(wParam)) {
case BN_CLICKED: case BN_CLICKED:
switch (LOWORD(wParam)) { switch (LOWORD(wParam)) {
case 201: //Apply case IDC_ASSEMBLER_APPLY:
if (patchlen) { if (patchlen) {
ptr = GetNesPRGPointer(GetNesFileAddress(iaPC)-16); ptr = GetNesPRGPointer(GetNesFileAddress(iaPC)-16);
count = 0; count = 0;
@ -679,7 +679,7 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
applied = 1; applied = 1;
} }
break; break;
case 202: //Save... case IDC_ASSEMBLER_SAVE:
if (applied) { if (applied) {
count = romaddr = GetNesFileAddress(iaPC); count = romaddr = GetNesFileAddress(iaPC);
for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]]; for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]];
@ -694,9 +694,9 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
} }
} }
break; break;
case 203: //Undo case IDC_ASSEMBLER_UNDO:
if ((count = SendDlgItemMessage(hwndDlg,102,LB_GETCOUNT,0,0))) { if ((count = SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_PATCH_DISASM,LB_GETCOUNT,0,0))) {
SendDlgItemMessage(hwndDlg,102,LB_DELETESTRING,count-1,0); SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_PATCH_DISASM,LB_DELETESTRING,count-1,0);
patchlen--; patchlen--;
count = 0; count = 0;
for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]]; for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]];
@ -709,13 +709,13 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
lastundo -= j; lastundo -= j;
applied = 1; applied = 1;
} }
SetDlgItemText(hwndDlg,101,DisassembleLine(iaPC+count)); SetDlgItemText(hwndDlg,IDC_ASSEMBLER_DISASSEMBLY,DisassembleLine(iaPC+count));
} }
break; break;
case 300: //Hidden default button case IDC_ASSEMBLER_DEFPUSHBUTTON:
count = 0; count = 0;
for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]]; for (i = 0; i < patchlen; i++) count += opsize[patchdata[i][0]];
GetDlgItemText(hwndDlg,100,str,21); GetDlgItemText(hwndDlg,IDC_ASSEMBLER_HISTORY,str,21);
if (!Assemble(patchdata[patchlen],(iaPC+count),str)) { if (!Assemble(patchdata[patchlen],(iaPC+count),str)) {
count = iaPC; count = iaPC;
for (i = 0; i <= patchlen; i++) count += opsize[patchdata[i][0]]; for (i = 0; i <= patchlen; i++) count += opsize[patchdata[i][0]];
@ -723,12 +723,12 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
MessageBox(hwndDlg, "Patch data cannot exceed address 0xFFFF", "Address error", MB_OK); MessageBox(hwndDlg, "Patch data cannot exceed address 0xFFFF", "Address error", MB_OK);
break; break;
} }
SetDlgItemText(hwndDlg,100,""); SetDlgItemText(hwndDlg,IDC_ASSEMBLER_HISTORY,"");
if (count < 0x10000) SetDlgItemText(hwndDlg,101,DisassembleLine(count)); if (count < 0x10000) SetDlgItemText(hwndDlg,IDC_ASSEMBLER_DISASSEMBLY,DisassembleLine(count));
else SetDlgItemText(hwndDlg,101,"OVERFLOW"); else SetDlgItemText(hwndDlg,IDC_ASSEMBLER_DISASSEMBLY,"OVERFLOW");
dasm = DisassembleData((count-opsize[patchdata[patchlen][0]]),patchdata[patchlen]); dasm = DisassembleData((count-opsize[patchdata[patchlen][0]]),patchdata[patchlen]);
SendDlgItemMessage(hwndDlg,102,LB_INSERTSTRING,-1,(LPARAM)(LPSTR)dasm); SendDlgItemMessage(hwndDlg,IDC_ASSEMBLER_PATCH_DISASM,LB_INSERTSTRING,-1,(LPARAM)(LPSTR)dasm);
AddAsmHistory(hwndDlg,100,dasm+16); AddAsmHistory(hwndDlg,IDC_ASSEMBLER_HISTORY,dasm+16);
SetWindowText(hwndDlg, "Inline Assembler"); SetWindowText(hwndDlg, "Inline Assembler");
patchlen++; patchlen++;
} }
@ -738,7 +738,7 @@ BOOL CALLBACK AssemblerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
} }
break; break;
} }
SetFocus(GetDlgItem(hwndDlg,100)); //set focus to combo box after anything is pressed! SetFocus(GetDlgItem(hwndDlg,IDC_ASSEMBLER_HISTORY)); //set focus to combo box after anything is pressed!
break; break;
} }
break; break;

View File

@ -39,6 +39,19 @@
#define MODE_NES_PPU 1 #define MODE_NES_PPU 1
#define MODE_NES_FILE 2 #define MODE_NES_FILE 2
#define ID_ADDRESS_FRZ_SUBMENU 1
#define ID_ADDRESS_ADDBP_R 2
#define ID_ADDRESS_ADDBP_W 3
#define ID_ADDRESS_ADDBP_X 4
#define ID_ADDRESS_SEEK_IN_ROM 5
#define ID_ADDRESS_CREATE_GG_CODE 6
#define ID_ADDRESS_BOOKMARK 20
#define ID_ADDRESS_FRZ_TOGGLE_STATE 1
#define ID_ADDRESS_FRZ_FREEZE 50
#define ID_ADDRESS_FRZ_UNFREEZE 51
#define ID_ADDRESS_FRZ_SEP 52
#define ID_ADDRESS_FRZ_UNFREEZE_ALL 53
// This defines all of our right click popup menus // This defines all of our right click popup menus
struct struct
@ -51,18 +64,18 @@ struct
} }
popupmenu[] = popupmenu[] =
{ {
{0,0x2000,0,1,"Freeze/Unfreeze This Address"}, {0x0000,0x2000,0,ID_ADDRESS_FRZ_SUBMENU,"Freeze/Unfreeze This Address"},
{0x6000,0x7FFF,0,1,"Freeze/Unfreeze This Address"}, {0x6000,0x7FFF,0,ID_ADDRESS_FRZ_SUBMENU,"Freeze/Unfreeze This Address"},
{0,0xFFFF,0,2,"Add Debugger Read Breakpoint"}, {0x0000,0xFFFF,0,ID_ADDRESS_ADDBP_R,"Add Debugger Read Breakpoint"},
{0,0x3FFF,1,2,"Add Debugger Read Breakpoint"}, {0x0000,0x3FFF,1,ID_ADDRESS_ADDBP_R,"Add Debugger Read Breakpoint"},
{0,0xFFFF,0,3,"Add Debugger Write Breakpoint"}, {0x0000,0xFFFF,0,ID_ADDRESS_ADDBP_W,"Add Debugger Write Breakpoint"},
{0,0x3FFF,1,3,"Add Debugger Write Breakpoint"}, {0x0000,0x3FFF,1,ID_ADDRESS_ADDBP_W,"Add Debugger Write Breakpoint"},
{0,0xFFFF,0,4,"Add Debugger Execute Breakpoint"}, {0x0000,0xFFFF,0,ID_ADDRESS_ADDBP_X,"Add Debugger Execute Breakpoint"},
{0x8000,0xFFFF,0,5,"Go Here In Rom File"}, {0x8000,0xFFFF,0,ID_ADDRESS_SEEK_IN_ROM,"Go Here In Rom File"},
{0x8000,0xFFFF,0,6,"Create Game Genie Code At This Address"}, {0x8000,0xFFFF,0,ID_ADDRESS_CREATE_GG_CODE,"Create Game Genie Code At This Address"},
//{0,0xFFFFFF,2,7,"Create Game Genie Code At This Address"} //{0x0000,0xFFFFFF,2,7,"Create Game Genie Code At This Address"}
// ################################## Start of SP CODE ########################### // ################################## Start of SP CODE ###########################
{0, 0xFFFF, 0, 20, "Add / Remove bookmark"}, {0x0000, 0xFFFF, 0, ID_ADDRESS_BOOKMARK, "Add / Remove bookmark"},
// ################################## End of SP CODE ########################### // ################################## End of SP CODE ###########################
} ; } ;
@ -1073,20 +1086,20 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
memset(&MenuInfo,0,sizeof(MENUITEMINFO)); memset(&MenuInfo,0,sizeof(MENUITEMINFO));
switch(popupmenu[i].id){ //this will set the text for the menu dynamically based on the id switch(popupmenu[i].id){ //this will set the text for the menu dynamically based on the id
// ################################## Start of SP CODE ########################### // ################################## Start of SP CODE ###########################
case 1: case ID_ADDRESS_FRZ_SUBMENU:
{ {
HMENU sub = CreatePopupMenu(); HMENU sub = CreatePopupMenu();
AppendMenu(hMenu, MF_POPUP | MF_STRING, (UINT)sub, "Freeze / Unfreeze Address"); AppendMenu(hMenu, MF_POPUP | MF_STRING, (UINT)sub, "Freeze / Unfreeze Address");
AppendMenu(sub, MF_STRING, 1, "Toggle state"); AppendMenu(sub, MF_STRING, ID_ADDRESS_FRZ_TOGGLE_STATE, "Toggle state");
AppendMenu(sub, MF_STRING, 50, "Freeze"); AppendMenu(sub, MF_STRING, ID_ADDRESS_FRZ_FREEZE, "Freeze");
AppendMenu(sub, MF_STRING, 51, "Unfreeze"); AppendMenu(sub, MF_STRING, ID_ADDRESS_FRZ_UNFREEZE, "Unfreeze");
AppendMenu(sub, MF_SEPARATOR, 52, "-"); AppendMenu(sub, MF_SEPARATOR, ID_ADDRESS_FRZ_SEP, "-");
AppendMenu(sub, MF_STRING, 53, "Unfreeze all"); AppendMenu(sub, MF_STRING, ID_ADDRESS_FRZ_UNFREEZE_ALL, "Unfreeze all");
continue; continue;
} }
// ################################## End of SP CODE ########################### // ################################## End of SP CODE ###########################
case 2 : //We want this to give the address to add the read breakpoint for case ID_ADDRESS_ADDBP_R: //We want this to give the address to add the read breakpoint for
if((j <= CursorEndAddy) && (j >= CursorStartAddy)) if((j <= CursorEndAddy) && (j >= CursorStartAddy))
sprintf(str,"Add Read Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy); sprintf(str,"Add Read Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy);
else else
@ -1094,14 +1107,14 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
popupmenu[i].text = str; popupmenu[i].text = str;
break; break;
case 3 : case ID_ADDRESS_ADDBP_W:
if((j <= CursorEndAddy) && (j >= CursorStartAddy)) if((j <= CursorEndAddy) && (j >= CursorStartAddy))
sprintf(str,"Add Write Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy); sprintf(str,"Add Write Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy);
else else
sprintf(str,"Add Write Breakpoint For Address 0x%04X",j); sprintf(str,"Add Write Breakpoint For Address 0x%04X",j);
popupmenu[i].text = str; popupmenu[i].text = str;
break; break;
case 4 : case ID_ADDRESS_ADDBP_X:
if((j <= CursorEndAddy) && (j >= CursorStartAddy)) if((j <= CursorEndAddy) && (j >= CursorStartAddy))
sprintf(str,"Add Execute Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy); sprintf(str,"Add Execute Breakpoint For Address 0x%04X-0x%04X",CursorStartAddy,CursorEndAddy);
else else
@ -1120,7 +1133,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
} }
if(i != 0)i = TrackPopupMenuEx(hMenu, TPM_RETURNCMD, x, y, hMemView, NULL); if(i != 0)i = TrackPopupMenuEx(hMenu, TPM_RETURNCMD, x, y, hMemView, NULL);
switch(i){ switch(i){
case 1 : //1 = Freeze Ram Address case ID_ADDRESS_FRZ_TOGGLE_STATE:
// ################################## Start of SP CODE ########################### // ################################## Start of SP CODE ###########################
{ {
int n; int n;
@ -1130,7 +1143,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
} }
break; break;
} }
case 50: case ID_ADDRESS_FRZ_FREEZE:
{ {
int n; int n;
for (n=CursorStartAddy;(CursorEndAddy == -1 && n == CursorStartAddy) || n<=CursorEndAddy;n++) for (n=CursorStartAddy;(CursorEndAddy == -1 && n == CursorStartAddy) || n<=CursorEndAddy;n++)
@ -1139,7 +1152,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
} }
break; break;
} }
case 51: case ID_ADDRESS_FRZ_UNFREEZE:
{ {
int n; int n;
for (n=CursorStartAddy;(CursorEndAddy == -1 && n == CursorStartAddy) || n<=CursorEndAddy;n++) for (n=CursorStartAddy;(CursorEndAddy == -1 && n == CursorStartAddy) || n<=CursorEndAddy;n++)
@ -1148,7 +1161,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
} }
break; break;
} }
case 53: case ID_ADDRESS_FRZ_UNFREEZE_ALL:
{ {
int n; int n;
for (n=0;n<0x2000;n++) for (n=0;n<0x2000;n++)
@ -1164,7 +1177,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
// ################################## End of SP CODE ########################### // ################################## End of SP CODE ###########################
break; break;
case 2 : //2 = Add Read Breakpoint case ID_ADDRESS_ADDBP_R:
watchpoint[numWPs].flags = WP_E | WP_R; watchpoint[numWPs].flags = WP_E | WP_R;
if(EditingMode == 1)watchpoint[numWPs].flags |= BT_P; if(EditingMode == 1)watchpoint[numWPs].flags |= BT_P;
if((j <= CursorEndAddy) && (j >= CursorStartAddy)){ if((j <= CursorEndAddy) && (j >= CursorStartAddy)){
@ -1184,7 +1197,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
else DoDebug(0); else DoDebug(0);
break; break;
case 3 : //3 = Add Write Breakpoint case ID_ADDRESS_ADDBP_W:
watchpoint[numWPs].flags = WP_E | WP_W; watchpoint[numWPs].flags = WP_E | WP_W;
if(EditingMode == 1)watchpoint[numWPs].flags |= BT_P; if(EditingMode == 1)watchpoint[numWPs].flags |= BT_P;
if((j <= CursorEndAddy) && (j >= CursorStartAddy)){ if((j <= CursorEndAddy) && (j >= CursorStartAddy)){
@ -1203,7 +1216,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
if(hDebug)AddBreakList(); if(hDebug)AddBreakList();
else DoDebug(0); else DoDebug(0);
break; break;
case 4 : //4 = Add Execute Breakpoint case ID_ADDRESS_ADDBP_X:
watchpoint[numWPs].flags = WP_E | WP_X; watchpoint[numWPs].flags = WP_E | WP_X;
if((j <= CursorEndAddy) && (j >= CursorStartAddy)){ if((j <= CursorEndAddy) && (j >= CursorStartAddy)){
watchpoint[numWPs].address = CursorStartAddy; watchpoint[numWPs].address = CursorStartAddy;
@ -1221,14 +1234,14 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
if(hDebug)AddBreakList(); if(hDebug)AddBreakList();
else DoDebug(0); else DoDebug(0);
break; break;
case 5 : //5 = Go Here In Rom File case ID_ADDRESS_SEEK_IN_ROM:
ChangeMemViewFocus(2,GetNesFileAddress(j),-1); ChangeMemViewFocus(2,GetNesFileAddress(j),-1);
break; break;
case 6 : //6 = Create GG Code case ID_ADDRESS_CREATE_GG_CODE:
SetGGConvFocus(j,GetMem(j)); SetGGConvFocus(j,GetMem(j));
break; break;
// ################################## Start of SP CODE ########################### // ################################## Start of SP CODE ###########################
case 20: case ID_ADDRESS_BOOKMARK:
{ {
if (toggleBookmark(hwnd, CursorStartAddy)) if (toggleBookmark(hwnd, CursorStartAddy))
{ {
@ -1434,15 +1447,15 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
return 0; return 0;
default: default:
if (wParam >= 30 && wParam <= 39) if (wParam >= ID_FIRST_BOOKMARK && wParam <= ID_FIRST_BOOKMARK)
{ {
int newValue = handleBookmarkMenu(wParam - 30); int newValue = handleBookmarkMenu(wParam - ID_FIRST_BOOKMARK);
if (newValue != -1) if (newValue != -1)
{ {
CurOffset = newValue; CurOffset = newValue;
CursorEndAddy = -1; CursorEndAddy = -1;
CursorStartAddy = hexBookmarks[wParam - 30].address; CursorStartAddy = hexBookmarks[wParam - ID_FIRST_BOOKMARK].address;
UpdateColorTable(); UpdateColorTable();
} }
return 0; return 0;

View File

@ -68,17 +68,17 @@ BOOL CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
{ {
case WM_INITDIALOG: case WM_INITDIALOG:
// Limit bookmark descriptions to 50 characters // Limit bookmark descriptions to 50 characters
SendDlgItemMessage(hwndDlg,1000,EM_SETLIMITTEXT,50,0); SendDlgItemMessage(hwndDlg,IDC_BOOKMARK_DESCRIPTION,EM_SETLIMITTEXT,50,0);
// Put the current bookmark description into the edit field // Put the current bookmark description into the edit field
// and set focus to that edit field. // and set focus to that edit field.
SetDlgItemText(hwndDlg, 1000, bookmarkDescription); SetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, bookmarkDescription);
SetFocus(GetDlgItem(hwndDlg, 1000)); SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_DESCRIPTION));
break; break;
case WM_CLOSE: case WM_CLOSE:
case WM_QUIT: case WM_QUIT:
// Update the bookmark description // Update the bookmark description
GetDlgItemText(hwndDlg, 1000, bookmarkDescription, 50); GetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, bookmarkDescription, 50);
EndDialog(hwndDlg, 0); EndDialog(hwndDlg, 0);
break; break;
case WM_COMMAND: case WM_COMMAND:
@ -87,7 +87,7 @@ BOOL CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
case BN_CLICKED: case BN_CLICKED:
switch(LOWORD(wParam)) switch(LOWORD(wParam))
{ {
case 1001: case IDOK:
SendMessage(hwndDlg, WM_QUIT, 0, 0); SendMessage(hwndDlg, WM_QUIT, 0, 0);
break; break;
} }
@ -185,7 +185,7 @@ void updateBookmarkMenus(HMENU menu)
// Remove all bookmark menus // Remove all bookmark menus
for (i = 0;i<nextBookmark + 1;i++) for (i = 0;i<nextBookmark + 1;i++)
{ {
RemoveMenu(menu, 30 + i, MF_BYCOMMAND); RemoveMenu(menu, ID_FIRST_BOOKMARK + i, MF_BYCOMMAND);
} }
// Add the menus again // Add the menus again
@ -197,7 +197,7 @@ void updateBookmarkMenus(HMENU menu)
mi.dwTypeData = buffer; mi.dwTypeData = buffer;
mi.cch = strlen(buffer); mi.cch = strlen(buffer);
mi.wID = 30 + i; mi.wID = ID_FIRST_BOOKMARK + i;
InsertMenuItem(menu, 2 + i , TRUE, &mi); InsertMenuItem(menu, 2 + i , TRUE, &mi);
} }
@ -230,7 +230,7 @@ void removeAllBookmarks(HMENU menu)
for (i = 0;i<nextBookmark;i++) for (i = 0;i<nextBookmark;i++)
{ {
RemoveMenu(menu, 30 + i, MF_BYCOMMAND); RemoveMenu(menu, ID_FIRST_BOOKMARK + i, MF_BYCOMMAND);
} }
nextBookmark = 0; nextBookmark = 0;

View File

@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#define ID_FIRST_BOOKMARK 30
typedef struct typedef struct
{ {
char description[51]; char description[51];

View File

@ -394,7 +394,7 @@ CAPTION "mahjong"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
DEFPUSHBUTTON "Close",BTN_CLOSE,277,91,56,14 DEFPUSHBUTTON "Close",BTN_CLOSE,277,91,56,14
GROUPBOX "",306,8,8,324,73,WS_GROUP GROUPBOX "",321,8,8,324,73,WS_GROUP
PUSHBUTTON "A",300,14,42,16,12 PUSHBUTTON "A",300,14,42,16,12
PUSHBUTTON "B",301,36,42,16,12 PUSHBUTTON "B",301,36,42,16,12
PUSHBUTTON "C",302,58,42,16,12 PUSHBUTTON "C",302,58,42,16,12
@ -586,7 +586,7 @@ BEGIN
CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12 CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12
END END
VIDEOCONFIG DIALOGEX 65520, 76, 384, 276 VIDEOCONFIG DIALOGEX 65520, 76, 384, 296
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Video Configuration" CAPTION "Video Configuration"
FONT 8, "MS Sans Serif", 0, 0, 0x0 FONT 8, "MS Sans Serif", 0, 0, 0x0
@ -618,7 +618,7 @@ BEGIN
EDITTEXT IDC_VIDEOCONFIG_XSCALE,292,76,20,12 EDITTEXT IDC_VIDEOCONFIG_XSCALE,292,76,20,12
LTEXT "Y:",65442,316,78,11,8 LTEXT "Y:",65442,316,78,11,8
EDITTEXT IDC_VIDEOCONFIG_YSCALE,326,76,20,12 EDITTEXT IDC_VIDEOCONFIG_YSCALE,326,76,20,12
GROUPBOX "Windowed Settings",65441,10,127,178,121,WS_GROUP GROUPBOX "Windowed Settings",65441,10,127,178,141,WS_GROUP
LTEXT "Size Multiplier:",65440,20,149,50,8 LTEXT "Size Multiplier:",65440,20,149,50,8
CTEXT "X:",65439,83,137,42,8 CTEXT "X:",65439,83,137,42,8
CTEXT "Y:",65438,134,137,42,8 CTEXT "Y:",65438,134,137,42,8
@ -628,10 +628,12 @@ BEGIN
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,164,145,12 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,164,145,12
CONTROL "Force aspect ratio correction.",IDC_FORCE_ASPECT_CORRECTION, CONTROL "Force aspect ratio correction.",IDC_FORCE_ASPECT_CORRECTION,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,179,145,12 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,179,145,12
LTEXT "Sync Method:",65437,20,215,51,8 LTEXT "Special scaler:",65429,20,215,51,8
COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_WIN,83,213,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_VIDEOCONFIG_SCALER_WIN,83,213,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Sync Method:",65437,20,235,51,8
COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_WIN,83,233,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_WIN, CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_WIN,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,230,145,12 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,250,145,12
GROUPBOX "Drawing Area",65494,196,127,178,86,WS_GROUP GROUPBOX "Drawing Area",65494,196,127,178,86,WS_GROUP
LTEXT "First Line:",65436,218,153,39,8 LTEXT "First Line:",65436,218,153,39,8
LTEXT "Last Line:",65435,218,173,43,8 LTEXT "Last Line:",65435,218,173,43,8
@ -643,14 +645,14 @@ BEGIN
EDITTEXT IDC_SCANLINE_LAST_PAL,313,171,27,12,ES_RIGHT EDITTEXT IDC_SCANLINE_LAST_PAL,313,171,27,12,ES_RIGHT
CONTROL "Clip left and right sides (8 columns on each).",IDC_VIDEOCONFIG_CLIPSIDES, CONTROL "Clip left and right sides (8 columns on each).",IDC_VIDEOCONFIG_CLIPSIDES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,192,157,12 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,192,157,12
DEFPUSHBUTTON "Close",BTN_CLOSE,318,254,56,14 DEFPUSHBUTTON "Close",BTN_CLOSE,318,274,56,14
LTEXT "Current Pixel Aspect Ratio:",65432,20,197,88,8 LTEXT "Current Pixel Aspect Ratio:",65432,20,197,88,8
EDITTEXT IDC_VIDEOCONFIG_ASPECT_X,109,195,28,12,ES_AUTOHSCROLL EDITTEXT IDC_VIDEOCONFIG_ASPECT_X,109,195,28,12,ES_AUTOHSCROLL
CTEXT ":",65431,139,197,8,8 CTEXT ":",65431,139,197,8,8
EDITTEXT IDC_VIDEOCONFIG_ASPECT_Y,148,195,28,12,ES_AUTOHSCROLL EDITTEXT IDC_VIDEOCONFIG_ASPECT_Y,148,195,28,12,ES_AUTOHSCROLL
CONTROL "Allow more than 8 sprites per scanline.",IDC_VIDEOCONFIG_NO8LIM, CONTROL "Allow more than 8 sprites per scanline.",IDC_VIDEOCONFIG_NO8LIM,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,230,157,11 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,250,157,11
GROUPBOX "Emulation",65430,196,216,178,32,WS_GROUP GROUPBOX "Emulation",65430,196,236,178,32,WS_GROUP
LTEXT "(can someone please tell us what use this is?)",IDC_STATIC,227,203,144,8 LTEXT "(can someone please tell us what use this is?)",IDC_STATIC,227,203,144,8
END END
@ -1208,15 +1210,15 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_CAPTI
CAPTION "Inline Assembler" CAPTION "Inline Assembler"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
EDITTEXT 101,27,9,167,12,ES_READONLY EDITTEXT IDC_ASSEMBLER_DISASSEMBLY,27,9,167,12,ES_READONLY
COMBOBOX 100,15,25,180,54,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_ASSEMBLER_HISTORY,15,25,180,54,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Apply",201,159,114,36,14 PUSHBUTTON "Apply",IDC_ASSEMBLER_APPLY,159,114,36,14
LTEXT "PC:",-1,15,10,12,10 LTEXT "PC:",-1,15,10,12,10
LTEXT "Patch:",-1,15,41,26,9 LTEXT "Patch:",-1,15,41,26,9
PUSHBUTTON "Save...",202,117,114,36,14 PUSHBUTTON "Save...",IDC_ASSEMBLER_SAVE,117,114,36,14
PUSHBUTTON "Undo",203,15,114,35,14 PUSHBUTTON "Undo",IDC_ASSEMBLER_UNDO,15,114,35,14
DEFPUSHBUTTON "Def",300,55,116,16,12,NOT WS_VISIBLE DEFPUSHBUTTON "Def",IDC_ASSEMBLER_DEFPUSHBUTTON,55,116,16,12,NOT WS_VISIBLE
LISTBOX 102,15,50,180,59,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP LISTBOX IDC_ASSEMBLER_PATCH_DISASM,15,50,180,59,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP
END END
NAMEBOOKMARKDLG DIALOGEX 0, 0, 186, 73 NAMEBOOKMARKDLG DIALOGEX 0, 0, 186, 73
@ -1225,8 +1227,8 @@ CAPTION "Bookmark description..."
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
LTEXT "Bookmark description",-1,58,14,70,8 LTEXT "Bookmark description",-1,58,14,70,8
EDITTEXT 1000,7,28,172,14,ES_AUTOHSCROLL EDITTEXT IDC_BOOKMARK_DESCRIPTION,7,28,172,14,ES_AUTOHSCROLL
DEFPUSHBUTTON "&OK",1001,67,52,50,14 DEFPUSHBUTTON "&OK",IDOK,67,52,50,14
END END

View File

@ -20,6 +20,7 @@
#define MENU_MV_FILE_SAVE 100 #define MENU_MV_FILE_SAVE 100
#define IDC_VIDEOCONFIG_MODE 100 #define IDC_VIDEOCONFIG_MODE 100
#define IDC_ROMPATCHER_OFFSET_BOX 100 #define IDC_ROMPATCHER_OFFSET_BOX 100
#define IDC_ASSEMBLER_HISTORY 100
#define MENU_CLOSE_FILE 101 #define MENU_CLOSE_FILE 101
#define IDI_ICON1 101 #define IDI_ICON1 101
#define CB_DISABLE_SPEED_THROTTLING 101 #define CB_DISABLE_SPEED_THROTTLING 101
@ -34,6 +35,7 @@
#define IDC_DEBUGGER_BP_ADD 101 #define IDC_DEBUGGER_BP_ADD 101
#define IDC_ROMPATCHER_DOTNES_OFFSET 101 #define IDC_ROMPATCHER_DOTNES_OFFSET 101
#define IDC_NTVIEW_TABLE_BOX 101 #define IDC_NTVIEW_TABLE_BOX 101
#define IDC_ASSEMBLER_DISASSEMBLY 101
#define IDI_ICON2 102 #define IDI_ICON2 102
#define MENU_RECENT_FILES 102 #define MENU_RECENT_FILES 102
#define CB_LOAD_FILE_OPEN 102 #define CB_LOAD_FILE_OPEN 102
@ -48,6 +50,7 @@
#define IDC_ADDBP_MODE_R 102 #define IDC_ADDBP_MODE_R 102
#define IDC_ROMPATCHER_OFFSET 102 #define IDC_ROMPATCHER_OFFSET 102
#define IDC_NTVIEW_SCANLINE 102 #define IDC_NTVIEW_SCANLINE 102
#define IDC_ASSEMBLER_PATCH_DISASM 102
#define BTN_CDLOGGER_RESET 103 #define BTN_CDLOGGER_RESET 103
#define LBL_PPUVIEW_TILE1 103 #define LBL_PPUVIEW_TILE1 103
#define IDC_CHEAT_VAL 103 #define IDC_CHEAT_VAL 103
@ -81,13 +84,13 @@
#define IDC_ADDBP_MEM_CPU 105 #define IDC_ADDBP_MEM_CPU 105
#define IDC_ROMPATCHER_CURRENT_DATA 105 #define IDC_ROMPATCHER_CURRENT_DATA 105
#define IDC_NTVIEW_PROPERTIES_LINE_3 105 #define IDC_NTVIEW_PROPERTIES_LINE_3 105
#define IDC_NTVIEW_PROPERTIES_LINE_4 105
#define BTN_PORT1 106 #define BTN_PORT1 106
#define BTN_CDLOGGER_SAVE_AS 106 #define BTN_CDLOGGER_SAVE_AS 106
#define IDC_CHEAT_LIST_POSSIBILITIES 106 #define IDC_CHEAT_LIST_POSSIBILITIES 106
#define IDC_VIDEOCONFIG_CLIPSIDES 106 #define IDC_VIDEOCONFIG_CLIPSIDES 106
#define IDC_DEBUGGER_STEP_OUT 106 #define IDC_DEBUGGER_STEP_OUT 106
#define IDC_ADDBP_MEM_PPU 106 #define IDC_ADDBP_MEM_PPU 106
#define IDC_NTVIEW_PROPERTIES_LINE_4 106
#define BTN_PORT2 107 #define BTN_PORT2 107
#define BTN_CDLOGGER_SAVE 107 #define BTN_CDLOGGER_SAVE 107
#define IDC_CHEAT_SCRL_POSSIBILITIES 107 #define IDC_CHEAT_SCRL_POSSIBILITIES 107
@ -165,18 +168,21 @@
#define IDC_DEBUGGER_FLAG_V 201 #define IDC_DEBUGGER_FLAG_V 201
#define IDC_ADDBP_ADDR_END 201 #define IDC_ADDBP_ADDR_END 201
#define IDC_NTVIEW_REFRESH_TRACKBAR 201 #define IDC_NTVIEW_REFRESH_TRACKBAR 201
#define IDC_ASSEMBLER_APPLY 201
#define MENU_EJECT_DISK 202 #define MENU_EJECT_DISK 202
#define TXT_FAM 202 #define TXT_FAM 202
#define MENU_MV_EDIT_PASTE 202 #define MENU_MV_EDIT_PASTE 202
#define IDC_VIDEOCONFIG_BPP 202 #define IDC_VIDEOCONFIG_BPP 202
#define IDC_DEBUGGER_FLAG_U 202 #define IDC_DEBUGGER_FLAG_U 202
#define IDC_ADDBP_CONDITION 202 #define IDC_ADDBP_CONDITION 202
#define IDC_ASSEMBLER_SAVE 202
#define MENU_SWITCH_DISK 203 #define MENU_SWITCH_DISK 203
#define IDC_NETMOO_NICK 203 #define IDC_NETMOO_NICK 203
#define IDC_CHEAT_BOX_POSSIBILITIES 203 #define IDC_CHEAT_BOX_POSSIBILITIES 203
#define MENU_MV_EDIT_FIND 203 #define MENU_MV_EDIT_FIND 203
#define IDC_DEBUGGER_FLAG_B 203 #define IDC_DEBUGGER_FLAG_B 203
#define IDC_ADDBP_NAME 203 #define IDC_ADDBP_NAME 203
#define IDC_ASSEMBLER_UNDO 203
#define MENU_INSERT_COIN 204 #define MENU_INSERT_COIN 204
#define COMBO_NETMOO_LOCAL_PLAYERS 204 #define COMBO_NETMOO_LOCAL_PLAYERS 204
#define MENU_MV_EDIT_FIND_NEXT 204 #define MENU_MV_EDIT_FIND_NEXT 204
@ -196,6 +202,7 @@
#define MENU_MV_VIEW_RAM 300 #define MENU_MV_VIEW_RAM 300
#define IDC_RADIO_SCALE 300 #define IDC_RADIO_SCALE 300
#define IDC_DEBUGGER_DISASSEMBLY 300 #define IDC_DEBUGGER_DISASSEMBLY 300
#define IDC_ASSEMBLER_DEFPUSHBUTTON 300
#define MENU_RUN_IN_BACKGROUND 301 #define MENU_RUN_IN_BACKGROUND 301
#define IDC_COMBO_RECORDFROM 301 #define IDC_COMBO_RECORDFROM 301
#define IDC_LABEL_FRAMES 301 #define IDC_LABEL_FRAMES 301
@ -252,6 +259,7 @@
#define IDC_DEBUGGER_VAL_S 403 #define IDC_DEBUGGER_VAL_S 403
#define IDC_VIDEOCONFIG_ASPECT_X 404 #define IDC_VIDEOCONFIG_ASPECT_X 404
#define IDC_VIDEOCONFIG_ASPECT_Y 405 #define IDC_VIDEOCONFIG_ASPECT_Y 405
#define IDC_VIDEOCONFIG_SCALER_WIN 406
#define CTL_TINT_TRACKBAR 500 #define CTL_TINT_TRACKBAR 500
#define CTL_VOLUME_TRACKBAR 500 #define CTL_VOLUME_TRACKBAR 500
#define IDC_SCANLINE_FIRST_NTSC 500 #define IDC_SCANLINE_FIRST_NTSC 500
@ -268,6 +276,7 @@
#define IDC_EDIT_OFFSET 1000 #define IDC_EDIT_OFFSET 1000
#define IDC_GAME_GENIE_CODE 1000 #define IDC_GAME_GENIE_CODE 1000
#define IDC_MEMVIEWFIND_WHAT 1000 #define IDC_MEMVIEWFIND_WHAT 1000
#define IDC_BOOKMARK_DESCRIPTION 1000
#define GUI_BOT_B_1 1001 #define GUI_BOT_B_1 1001
#define MW_ADDR00 1001 #define MW_ADDR00 1001
#define IDC_EDIT_FROM 1001 #define IDC_EDIT_FROM 1001

View File

@ -927,7 +927,6 @@ BOOL CALLBACK VideoConCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
switch(uMsg) switch(uMsg)
{ {
case WM_INITDIALOG: case WM_INITDIALOG:
SetDlgItemText(hwndDlg,65454,"For the custom video mode settings to be in effect, the \"Custom\" video mode needs to be selected. If you select a sync method, and sound is disabled, you may want to disable speed throttling(in the \"Timing\" window). If you use \"wait for vblank\", you should use the \"lazy\" form.\x0AAllowing more than 8 sprites per scanline can cause graphics corruption in some games, including \"Solstice\".");
for(x=0;x<11;x++) for(x=0;x<11;x++)
SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_MODE,CB_ADDSTRING,0,(LPARAM)(LPSTR)vmstr[x]); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_MODE,CB_ADDSTRING,0,(LPARAM)(LPSTR)vmstr[x]);
SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_MODE,CB_SETCURSEL,vmod,(LPARAM)(LPSTR)0); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_MODE,CB_SETCURSEL,vmod,(LPARAM)(LPSTR)0);
@ -951,11 +950,11 @@ BOOL CALLBACK VideoConCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
for(x=0;x<5;x++) for(x=0;x<5;x++)
{ {
SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_ADDSTRING,0,(LPARAM)(LPSTR)str[x]); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_ADDSTRING,0,(LPARAM)(LPSTR)str[x]);
SendDlgItemMessage(hwndDlg,406,CB_ADDSTRING,0,(LPARAM)(LPSTR)str[x]); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_WIN,CB_ADDSTRING,0,(LPARAM)(LPSTR)str[x]);
} }
} }
SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_SETCURSEL,vmodes[0].special,(LPARAM)(LPSTR)0); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_SETCURSEL,vmodes[0].special,(LPARAM)(LPSTR)0);
SendDlgItemMessage(hwndDlg,406,CB_SETCURSEL,winspecial,(LPARAM)(LPSTR)0); SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_WIN,CB_SETCURSEL,winspecial,(LPARAM)(LPSTR)0);
if(eoptions&EO_FSAFTERLOAD) if(eoptions&EO_FSAFTERLOAD)
CheckDlgButton(hwndDlg,IDC_VIDEOCONFIG_AUTO_FS,BST_CHECKED); CheckDlgButton(hwndDlg,IDC_VIDEOCONFIG_AUTO_FS,BST_CHECKED);
@ -1051,7 +1050,7 @@ BOOL CALLBACK VideoConCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
vmodes[0].yscale=GetDlgItemInt(hwndDlg,IDC_VIDEOCONFIG_YSCALE,0,0); vmodes[0].yscale=GetDlgItemInt(hwndDlg,IDC_VIDEOCONFIG_YSCALE,0,0);
vmodes[0].special=SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_GETCURSEL,0,(LPARAM)(LPSTR)0); vmodes[0].special=SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_FS,CB_GETCURSEL,0,(LPARAM)(LPSTR)0);
winspecial = SendDlgItemMessage(hwndDlg,406,CB_GETCURSEL,0,(LPARAM)(LPSTR)0); winspecial = SendDlgItemMessage(hwndDlg,IDC_VIDEOCONFIG_SCALER_WIN,CB_GETCURSEL,0,(LPARAM)(LPSTR)0);
disvaccel = 0; disvaccel = 0;
if(IsDlgButtonChecked(hwndDlg,IDC_DISABLE_HW_ACCEL_WIN)==BST_CHECKED) if(IsDlgButtonChecked(hwndDlg,IDC_DISABLE_HW_ACCEL_WIN)==BST_CHECKED)