diff --git a/src/drivers/win/archive.cpp b/src/drivers/win/archive.cpp
index 9e945a80..d4eb94e4 100644
--- a/src/drivers/win/archive.cpp
+++ b/src/drivers/win/archive.cpp
@@ -277,7 +277,7 @@ public:
// 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;
+// bool archiveManuallyCanceled;
static BOOL CALLBACK ArchiveFileSelectorCallback(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
diff --git a/src/drivers/win/mapinput.cpp b/src/drivers/win/mapinput.cpp
index 013b8ada..5e499a99 100644
--- a/src/drivers/win/mapinput.cpp
+++ b/src/drivers/win/mapinput.cpp
@@ -579,6 +579,7 @@ void PopulateMappingDisplay(HWND hwndDlg)
listView.iSubItem = mapInputSortCol;
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
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);
+ UpdateSortColumnIcon(hwndListView);
}
return TRUE;
}
@@ -892,4 +893,22 @@ int CALLBACK ItemSortFunc(LPARAM lp1, LPARAM lp2, LPARAM lpSort)
delete[] item2.pszText;
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;
}
\ No newline at end of file
diff --git a/src/drivers/win/mapinput.h b/src/drivers/win/mapinput.h
index ff22569a..dc7734bf 100644
--- a/src/drivers/win/mapinput.h
+++ b/src/drivers/win/mapinput.h
@@ -2,4 +2,5 @@
#define WIN_MAPINPUT_h
char* GetKeyComboName(int c);
int CALLBACK ItemSortFunc(LPARAM lp1, LPARAM lp2, LPARAM lpSort);
+int UpdateSortColumnIcon(HWND hwndListView);
#endif
diff --git a/src/drivers/win/ntview.cpp b/src/drivers/win/ntview.cpp
index 0ebb504e..9a820c3d 100644
--- a/src/drivers/win/ntview.cpp
+++ b/src/drivers/win/ntview.cpp
@@ -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))) ;
- CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_SCROLL_LINES, BST_CHECKED);
- CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_ATTRIBUTES, BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_NTVIEW_HIDE_PALETTES, BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_NTVIEW_SHOW_SCROLL_LINES, scrolllines ? BST_CHECKED : BST_UNCHECKED);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_NTVIEW_SCANLINE_TEXT), scrolllines);
+ 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
memset(palcache,0,32);
diff --git a/src/drivers/win/res.rc b/src/drivers/win/res.rc
index 970d5099..c9af15fd 100644
--- a/src/drivers/win/res.rc
+++ b/src/drivers/win/res.rc
@@ -297,7 +297,7 @@ FONT 8, "Tahoma", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,261,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
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
@@ -578,10 +578,10 @@ BEGIN
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
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
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
MOVIEOPTIONS DIALOGEX 65520, 76, 147, 222
@@ -864,15 +864,15 @@ CAPTION "Name Table Viewer"
FONT 8, "Tahoma", 0, 0, 0x0
BEGIN
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
- 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
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 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
- 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 "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
@@ -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 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
- 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 "X / Y:",IDC_NTVIEW_PROPERTIES_LINE_2,184,311,150,10
LTEXT "PPU Address:",IDC_NTVIEW_PROPERTIES_LINE_3,184,322,150,10
@@ -1838,12 +1838,12 @@ BEGIN
POPUP "E&mulation Speed"
BEGIN
MENUITEM "&Pause", ID_NES_PAUSE
- MENUITEM "&Turbo", ID_NES_TURBO
+ MENUITEM "&Turbo", ID_NES_TURBO
MENUITEM SEPARATOR
MENUITEM "Speed &Up", ID_NES_SPEEDUP
MENUITEM "Slow &Down", ID_NES_SLOWDOWN
MENUITEM "&Slowest Speed", ID_NES_SLOWESTSPEED
- MENUITEM "&Normal Speed", ID_NES_NORMALSPEED
+ MENUITEM "&Normal Speed", ID_NES_NORMALSPEED
MENUITEM "Set &Custom Speed", ID_EMULATIONSPEED_CUSTOMSPEED
MENUITEM SEPARATOR
MENUITEM "Set FrameAdvance Delay", ID_EMULATIONSPEED_SETFRAMEADVANCEDELAY
diff --git a/src/drivers/win/resource.h b/src/drivers/win/resource.h
index 1839a585..8c8adc06 100644
--- a/src/drivers/win/resource.h
+++ b/src/drivers/win/resource.h
@@ -366,6 +366,7 @@
#define IDD_TASEDITOR_SAVINGOPTIONS 289
#define IDD_SYMBOLIC_DEBUG_NAMING 290
#define DLG_SNESPAD 291
+#define IDB_PNG2 298
#define MENU_HIDE_MENU 300
#define COMBO_FILTER 300
#define IDC_EDIT_AUTHORINFO 300
@@ -1273,15 +1274,15 @@
#define MW_ValueLabel2 65423
#define MW_ValueLabel1 65426
#define IDC_STATIC_SLASHTEXT 65442
-#define IDC_BOOKMARK_NAME_TEXT 65535
-#define ID_CDL 65535
-#define IDC_NTVIEW_SCANLINE_TEXT 65535
+#define IDC_BOOKMARK_NAME_TEXT 65532
+#define ID_CDL 65533
+#define IDC_NTVIEW_SCANLINE_TEXT 65534
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#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_CONTROL_VALUE 1310
#define _APS_NEXT_SYMED_VALUE 101
diff --git a/src/fceu.cpp b/src/fceu.cpp
index f6763d43..36e43013 100644
--- a/src/fceu.cpp
+++ b/src/fceu.cpp
@@ -114,6 +114,11 @@ bool AutoResumePlay = false;
char romNameWhenClosingEmulator[2048] = {0};
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()
: filename(0),
archiveFilename(0) {
diff --git a/src/file.h b/src/file.h
index 539936a9..5a6a5d4a 100644
--- a/src/file.h
+++ b/src/file.h
@@ -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.
extern bool archiveManuallyCanceled;
+
struct FCEUFILE {
//the stream you can use to access the data
//std::iostream *stream;
diff --git a/vc/vc14_fceux.vcxproj b/vc/vc14_fceux.vcxproj
index e29d1bb6..72656b32 100644
--- a/vc/vc14_fceux.vcxproj
+++ b/vc/vc14_fceux.vcxproj
@@ -75,8 +75,8 @@
v141_xp
-
-
+
+
@@ -1439,6 +1439,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vc/vc14_fceux.vcxproj.filters b/vc/vc14_fceux.vcxproj.filters
index 0e466f6b..6c8ce36d 100644
--- a/vc/vc14_fceux.vcxproj.filters
+++ b/vc/vc14_fceux.vcxproj.filters
@@ -1939,4 +1939,15 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file