1. Fix Map Hotkey dialog list header and add sort icon to the header of Map Hotkeys.

2. Fix Nametable Viwer checkbox state mismatch when closing and opening again.
3. Fix linux build error.
This commit is contained in:
owomomo 2019-01-08 00:42:57 +08:00
parent 38d5909a92
commit d3e5d7dee9
10 changed files with 71 additions and 20 deletions

View File

@ -277,7 +277,7 @@ public:
// indicator for the open in archive dialog that if the load was canceled by the user. // indicator for the open in archive dialog that if the load was canceled by the user.
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it. // TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
bool archiveManuallyCanceled; // bool archiveManuallyCanceled;
static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {

View File

@ -579,6 +579,7 @@ void PopulateMappingDisplay(HWND hwndDlg)
listView.iSubItem = mapInputSortCol; listView.iSubItem = mapInputSortCol;
SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)&listView, (LPARAM)ItemSortFunc); SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)&listView, (LPARAM)ItemSortFunc);
UpdateSortColumnIcon(hwndListView);
} }
} }
@ -810,8 +811,8 @@ BOOL CALLBACK MapInputDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
else else
lpListView->iSubItem = mapInputSortCol; lpListView->iSubItem = mapInputSortCol;
// TODO: Add an icon to show which column the sorting is currently based on
SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)lpListView, (LPARAM)ItemSortFunc); SendMessage(hwndListView, LVM_SORTITEMS, (WPARAM)lpListView, (LPARAM)ItemSortFunc);
UpdateSortColumnIcon(hwndListView);
} }
return TRUE; return TRUE;
} }
@ -893,3 +894,21 @@ int CALLBACK ItemSortFunc(LPARAM lp1, LPARAM lp2, LPARAM lpSort)
return ret; return ret;
} }
int UpdateSortColumnIcon(HWND hwndListView)
{
HWND header = (HWND)SendMessage(hwndListView, LVM_GETHEADER, 0, 0);
for (int i = SendMessage(header, HDM_GETITEMCOUNT, 0, 0) - 1; i >= 0; --i)
{
HDITEM hdItem = { 0 };
hdItem.mask = HDI_FORMAT;
if (SendMessage(header, HDM_GETITEM, i, (LPARAM)&hdItem))
{
hdItem.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN);
if (i == mapInputSortCol)
hdItem.fmt |= mapInputSortAsc ? HDF_SORTUP : HDF_SORTDOWN;
SendMessage(header, HDM_SETITEM, i, (LPARAM)&hdItem);
}
}
return 0;
}

View File

@ -2,4 +2,5 @@
#define WIN_MAPINPUT_h #define WIN_MAPINPUT_h
char* GetKeyComboName(int c); char* GetKeyComboName(int c);
int CALLBACK ItemSortFunc(LPARAM lp1, LPARAM lp2, LPARAM lpSort); int CALLBACK ItemSortFunc(LPARAM lp1, LPARAM lp2, LPARAM lpSort);
int UpdateSortColumnIcon(HWND hwndListView);
#endif #endif

View File

@ -478,9 +478,11 @@ BOOL CALLBACK NTViewCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
SelectObject (pDC, CreatePen (PS_SOLID, 2, RGB (255, 255, 255))) ; SelectObject (pDC, CreatePen (PS_SOLID, 2, RGB (255, 255, 255))) ;
CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_SCROLL_LINES, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_SCROLL_LINES, scrolllines ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_ATTRIBUTES, BST_UNCHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_NTVIEW_SCANLINE_TEXT), scrolllines);
CheckDlgButton(hwndDlg, IDC_NTVIEW_HIDE_PALETTES, BST_UNCHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_NTVIEW_SCANLINE), scrolllines);
CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_ATTRIBUTES, attview ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_NTVIEW_HIDE_PALETTES, hidepal ? BST_CHECKED : BST_UNCHECKED);
//clear cache //clear cache
memset(palcache,0,32); memset(palcache,0,32);

View File

@ -297,7 +297,7 @@ FONT 8, "Tahoma", 0, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,261,274,50,14 DEFPUSHBUTTON "OK",IDOK,261,274,50,14
PUSHBUTTON "Cancel",BTN_CANCEL,205,274,50,14 PUSHBUTTON "Cancel",BTN_CANCEL,205,274,50,14
CONTROL "List2",LV_MAPPING,"SysListView32",LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,304,243 CONTROL "List2",LV_MAPPING,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,7,7,304,243
PUSHBUTTON "Restore Defaults",BTN_RESTORE_DEFAULTS,7,274,75,14 PUSHBUTTON "Restore Defaults",BTN_RESTORE_DEFAULTS,7,274,75,14
COMBOBOX COMBO_FILTER,32,255,279,193,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX COMBO_FILTER,32,255,279,193,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
RTEXT "Filter:",65484,6,255,21,12,SS_CENTERIMAGE | NOT WS_GROUP RTEXT "Filter:",65484,6,255,21,12,SS_CENTERIMAGE | NOT WS_GROUP
@ -578,10 +578,10 @@ BEGIN
CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,102,12 CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,102,12
CONTROL "Overclocking (old PPU only).",CB_OVERCLOCKING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,41,101,10 CONTROL "Overclocking (old PPU only).",CB_OVERCLOCKING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,41,101,10
EDITTEXT IDC_EXTRA_SCANLINES,104,55,84,14,ES_AUTOHSCROLL | WS_DISABLED EDITTEXT IDC_EXTRA_SCANLINES,104,55,84,14,ES_AUTOHSCROLL | WS_DISABLED
LTEXT "Post-render scanlines:",IDC_EXTRA_SCANLINES_TEXT,21,57,74,8, WS_DISABLED LTEXT "Post-render scanlines:",IDC_EXTRA_SCANLINES_TEXT,21,57,74,8,WS_DISABLED
CONTROL "Don't overclock 7-bit samples.",CB_SKIP_7BIT,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,10,87,111,10 CONTROL "Don't overclock 7-bit samples.",CB_SKIP_7BIT,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,10,87,111,10
EDITTEXT IDC_VBLANK_SCANLINES,104,68,84,14,ES_AUTOHSCROLL | WS_DISABLED EDITTEXT IDC_VBLANK_SCANLINES,104,68,84,14,ES_AUTOHSCROLL | WS_DISABLED
LTEXT "VBlank scanlines:",IDC_VBLANK_SCANLINES_TEXT,21,71,76,8, WS_DISABLED LTEXT "VBlank scanlines:",IDC_VBLANK_SCANLINES_TEXT,21,71,76,8,WS_DISABLED
END END
MOVIEOPTIONS DIALOGEX 65520, 76, 147, 222 MOVIEOPTIONS DIALOGEX 65520, 76, 147, 222
@ -864,15 +864,15 @@ CAPTION "Name Table Viewer"
FONT 8, "Tahoma", 0, 0, 0x0 FONT 8, "Tahoma", 0, 0, 0x0
BEGIN BEGIN
GROUPBOX "Name Tables",IDC_NTVIEW_TABLE_BOX,2,0,347,251,WS_TABSTOP GROUPBOX "Name Tables",IDC_NTVIEW_TABLE_BOX,2,0,347,251,WS_TABSTOP
LTEXT "Refresh: More",-1,225,254,50,9 LTEXT "Refresh: More",IDC_STATIC,225,254,50,9
CONTROL "",IDC_NTVIEW_REFRESH_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,275,254,50,11 CONTROL "",IDC_NTVIEW_REFRESH_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,275,254,50,11
LTEXT "Less",-1,325,254,18,10 LTEXT "Less",IDC_STATIC,325,254,18,10
LTEXT "Display on scanline:",IDC_NTVIEW_SCANLINE_TEXT,253,269,65,9 LTEXT "Display on scanline:",IDC_NTVIEW_SCANLINE_TEXT,253,269,65,9
EDITTEXT IDC_NTVIEW_SCANLINE,315,267,27,12 EDITTEXT IDC_NTVIEW_SCANLINE,315,267,27,12
CONTROL "Show Scroll Lines",IDC_NTVIEW_SHOW_SCROLL_LINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,254,69,10 CONTROL "Show Scroll Lines",IDC_NTVIEW_SHOW_SCROLL_LINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,254,69,10
CONTROL "Show Attributes",IDC_NTVIEW_SHOW_ATTRIBUTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,265,69,10 CONTROL "Show Attributes",IDC_NTVIEW_SHOW_ATTRIBUTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,265,69,10
CONTROL "Ignore Palettes",IDC_NTVIEW_HIDE_PALETTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,276,69,10 CONTROL "Ignore Palettes",IDC_NTVIEW_HIDE_PALETTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,276,69,10
GROUPBOX "Current Mirroring",-1,2,289,170,59 GROUPBOX "Current Mirroring",IDC_STATIC,2,289,170,59
CONTROL "Horizontal",IDC_NTVIEW_MIRROR_HORIZONTAL,"Button",BS_AUTORADIOBUTTON,6,300,47,10 CONTROL "Horizontal",IDC_NTVIEW_MIRROR_HORIZONTAL,"Button",BS_AUTORADIOBUTTON,6,300,47,10
CONTROL "Vertical",IDC_NTVIEW_MIRROR_VERTICAL,"Button",BS_AUTORADIOBUTTON,6,311,39,10 CONTROL "Vertical",IDC_NTVIEW_MIRROR_VERTICAL,"Button",BS_AUTORADIOBUTTON,6,311,39,10
CONTROL "Four Screen",IDC_NTVIEW_MIRROR_FOUR_SCREEN,"Button",BS_AUTORADIOBUTTON,6,322,55,10 CONTROL "Four Screen",IDC_NTVIEW_MIRROR_FOUR_SCREEN,"Button",BS_AUTORADIOBUTTON,6,322,55,10
@ -880,7 +880,7 @@ BEGIN
CONTROL "Single Screen 1",IDC_NTVIEW_MIRROR_SS_TABLE_1,"Button",BS_AUTORADIOBUTTON,85,311,75,10 CONTROL "Single Screen 1",IDC_NTVIEW_MIRROR_SS_TABLE_1,"Button",BS_AUTORADIOBUTTON,85,311,75,10
CONTROL "Single Screen 2",IDC_NTVIEW_MIRROR_SS_TABLE_2,"Button",BS_AUTORADIOBUTTON,85,322,75,10 CONTROL "Single Screen 2",IDC_NTVIEW_MIRROR_SS_TABLE_2,"Button",BS_AUTORADIOBUTTON,85,322,75,10
CONTROL "Single Screen 3",IDC_NTVIEW_MIRROR_SS_TABLE_3,"Button",BS_AUTORADIOBUTTON,85,333,75,10 CONTROL "Single Screen 3",IDC_NTVIEW_MIRROR_SS_TABLE_3,"Button",BS_AUTORADIOBUTTON,85,333,75,10
GROUPBOX "Properties",-1,174,289,175,59 GROUPBOX "Properties",IDC_STATIC,174,289,175,59
LTEXT "Tile ID:",IDC_NTVIEW_PROPERTIES_LINE_1,184,300,150,10 LTEXT "Tile ID:",IDC_NTVIEW_PROPERTIES_LINE_1,184,300,150,10
LTEXT "X / Y:",IDC_NTVIEW_PROPERTIES_LINE_2,184,311,150,10 LTEXT "X / Y:",IDC_NTVIEW_PROPERTIES_LINE_2,184,311,150,10
LTEXT "PPU Address:",IDC_NTVIEW_PROPERTIES_LINE_3,184,322,150,10 LTEXT "PPU Address:",IDC_NTVIEW_PROPERTIES_LINE_3,184,322,150,10

View File

@ -366,6 +366,7 @@
#define IDD_TASEDITOR_SAVINGOPTIONS 289 #define IDD_TASEDITOR_SAVINGOPTIONS 289
#define IDD_SYMBOLIC_DEBUG_NAMING 290 #define IDD_SYMBOLIC_DEBUG_NAMING 290
#define DLG_SNESPAD 291 #define DLG_SNESPAD 291
#define IDB_PNG2 298
#define MENU_HIDE_MENU 300 #define MENU_HIDE_MENU 300
#define COMBO_FILTER 300 #define COMBO_FILTER 300
#define IDC_EDIT_AUTHORINFO 300 #define IDC_EDIT_AUTHORINFO 300
@ -1273,15 +1274,15 @@
#define MW_ValueLabel2 65423 #define MW_ValueLabel2 65423
#define MW_ValueLabel1 65426 #define MW_ValueLabel1 65426
#define IDC_STATIC_SLASHTEXT 65442 #define IDC_STATIC_SLASHTEXT 65442
#define IDC_BOOKMARK_NAME_TEXT 65535 #define IDC_BOOKMARK_NAME_TEXT 65532
#define ID_CDL 65535 #define ID_CDL 65533
#define IDC_NTVIEW_SCANLINE_TEXT 65535 #define IDC_NTVIEW_SCANLINE_TEXT 65534
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 296 #define _APS_NEXT_RESOURCE_VALUE 302
#define _APS_NEXT_COMMAND_VALUE 40600 #define _APS_NEXT_COMMAND_VALUE 40600
#define _APS_NEXT_CONTROL_VALUE 1310 #define _APS_NEXT_CONTROL_VALUE 1310
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101

View File

@ -114,6 +114,11 @@ bool AutoResumePlay = false;
char romNameWhenClosingEmulator[2048] = {0}; char romNameWhenClosingEmulator[2048] = {0};
bool togglePausedRequested = false; //Flaged true to pause at frame boundary bool togglePausedRequested = false; //Flaged true to pause at frame boundary
// indicator for the open in archive dialog that if the load was canceled by the user.
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
bool archiveManuallyCanceled = false;
FCEUGI::FCEUGI() FCEUGI::FCEUGI()
: filename(0), : filename(0),
archiveFilename(0) { archiveFilename(0) {

View File

@ -15,6 +15,7 @@ extern bool bindSavestate;
// TODO: Since I can't think of a better way to indicate it, hope someone could imporve it. // TODO: Since I can't think of a better way to indicate it, hope someone could imporve it.
extern bool archiveManuallyCanceled; extern bool archiveManuallyCanceled;
struct FCEUFILE { struct FCEUFILE {
//the stream you can use to access the data //the stream you can use to access the data
//std::iostream *stream; //std::iostream *stream;

View File

@ -76,7 +76,7 @@
<PropertyGroup Label="Globals" Condition="'$(v141_xp_Installed)'=='true'"> <PropertyGroup Label="Globals" Condition="'$(v141_xp_Installed)'=='true'">
<PlatformToolset>v141_xp</PlatformToolset> <PlatformToolset>v141_xp</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v140_xp\Microsoft.Cpp.$(Platform).v140_xp.props" Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v140_xp\Microsoft.Cpp.$(Platform).v140_xp.props')"/> <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v140_xp\Microsoft.Cpp.$(Platform).v140_xp.props" Condition="Exists('$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v140_xp\Microsoft.Cpp.$(Platform).v140_xp.props')" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -1439,6 +1439,17 @@
<None Include="..\src\ops.inc" /> <None Include="..\src\ops.inc" />
<None Include="..\src\pputile.inc" /> <None Include="..\src\pputile.inc" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Image Include="..\src\drivers\win\res\arrow-down.bmp" />
<Image Include="..\src\drivers\win\res\arrow-down.png" />
<Image Include="..\src\drivers\win\res\arrow-up.bmp" />
<Image Include="..\src\drivers\win\res\arrow-up.png" />
<Image Include="..\src\drivers\win\res\bitmap21.bmp" />
<Image Include="res\arrow-down.bmp" />
<Image Include="res\arrow-down.png" />
<Image Include="res\arrow-up.bmp" />
<Image Include="res\arrow-up.png" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>

View File

@ -1939,4 +1939,15 @@
<ItemGroup> <ItemGroup>
<CustomBuild Include="..\src\auxlib.lua" /> <CustomBuild Include="..\src\auxlib.lua" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Image Include="res\arrow-up.png" />
<Image Include="..\src\drivers\win\res\arrow-up.png" />
<Image Include="res\arrow-down.png" />
<Image Include="..\src\drivers\win\res\arrow-down.png" />
<Image Include="..\src\drivers\win\res\bitmap21.bmp" />
<Image Include="res\arrow-down.bmp" />
<Image Include="res\arrow-up.bmp" />
<Image Include="..\src\drivers\win\res\arrow-down.bmp" />
<Image Include="..\src\drivers\win\res\arrow-up.bmp" />
</ItemGroup>
</Project> </Project>