diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..51b1137 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vs +x64 \ No newline at end of file diff --git a/README.md b/README.md index 262731b..48a2319 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,13 @@ For other platforms, you can use : ## Issue / Suggestion Please open new [issue](https://github.com/eliboa/TegraRcmGUI/issues) to report a bug or submit a suggestion. +## Development + +Install the [libusbk dev kit](https://sourceforge.net/projects/libusbk/) using the setup program. +If not installed in the default `C:\libusbK-dev-kit` location, then create an encironment variable with the other path as the value. +The project seems to survive a target upgrade from the tools in Visual Studio 2017 to 2019. +Make sure with the library's include files path correct, the actual library name still exists in the Project Settings/Properties > Linker > Input > Additional Dependencies list as `libusbK.lib`. + ## How to backup/restore your Nintendo Switch's NAND ? 1) Use [memloader](https://github.com/rajkosto/memloader) v3 to mount eMMC on your computer diff --git a/TegraRcmGUI/DialogTab03.cpp b/TegraRcmGUI/DialogTab03.cpp index aa857b2..54b5b6d 100644 --- a/TegraRcmGUI/DialogTab03.cpp +++ b/TegraRcmGUI/DialogTab03.cpp @@ -45,6 +45,14 @@ BOOL DialogTab03::OnInitDialog() checkbox->SetCheck(BST_CHECKED); } + value = m_TegraRcm->GetPreset("LOGGING"); + if (value == "TRUE") + { + m_TegraRcm->LOGGING_CURR = TRUE; + CMFCButton* checkbox = (CMFCButton*)GetDlgItem(LOGGING); + checkbox->SetCheck(BST_CHECKED); + } + TCHAR szPath[MAX_PATH]; if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, szPath))) { @@ -66,6 +74,7 @@ BEGIN_MESSAGE_MAP(DialogTab03, CDialogEx) ON_BN_CLICKED(MIN_TO_TRAY, &DialogTab03::OnClickedMinToTray) ON_BN_CLICKED(ID_INSTALL_DRIVER, &DialogTab03::OnBnClickedInstallDriver) ON_BN_CLICKED(RUN_WINSTART, &DialogTab03::OnBnClickedWinstart) + ON_BN_CLICKED(LOGGING, &DialogTab03::OnClickedLogging) //ON_BN_CLICKED(IDC_BUTTON2, &DialogTab03::OnBnClickedButton2) END_MESSAGE_MAP() @@ -113,6 +122,20 @@ void DialogTab03::OnClickedMinToTray() } +void DialogTab03::OnClickedLogging() +{ + // Get Minimize to tray checkbox value (checked, unchecked) + CButton* m_ctlCheck = (CButton*)GetDlgItem(LOGGING); + BOOL IsCheckChecked = (m_ctlCheck->GetCheck() == 1) ? true : false; + if (m_TegraRcm->LOGGING_CURR != IsCheckChecked) + { + if (IsCheckChecked) m_TegraRcm->SetPreset("LOGGING", "TRUE"); + else m_TegraRcm->SetPreset("LOGGING", "FALSE"); + m_TegraRcm->LOGGING_CURR = IsCheckChecked; + } +} + + void DialogTab03::OnBnClickedInstallDriver() { m_TegraRcm->InstallDriver(); diff --git a/TegraRcmGUI/DialogTab03.h b/TegraRcmGUI/DialogTab03.h index 8b55158..88445c0 100644 --- a/TegraRcmGUI/DialogTab03.h +++ b/TegraRcmGUI/DialogTab03.h @@ -44,6 +44,7 @@ public: afx_msg void OnClickedMinToTray(); afx_msg void OnBnClickedInstallDriver(); afx_msg void OnBnClickedWinstart(); + afx_msg void OnClickedLogging(); void CreateLink(); afx_msg void CleanRegestry(); diff --git a/TegraRcmGUI/TegraRcm.cpp b/TegraRcmGUI/TegraRcm.cpp index ca247ad..99b1e07 100644 --- a/TegraRcmGUI/TegraRcm.cpp +++ b/TegraRcmGUI/TegraRcm.cpp @@ -37,6 +37,7 @@ TegraRcm::TegraRcm(CDialog* pParent /*=NULL*/) { m_Parent = pParent; m_hWnd = AfxGetMainWnd()->GetSafeHwnd(); + this->LOGGING_CURR = GetPreset("LOGGING") == "TRUE"; GetFavorites(); //SendUserMessage("Waiting for device in RCM mode"); } @@ -543,8 +544,7 @@ void TegraRcm::SaveFavorites() void TegraRcm::AppendLog(string message) { - // DISABLED - return; + if (!this->LOGGING_CURR) return; // Get time diff --git a/TegraRcmGUI/TegraRcm.h b/TegraRcmGUI/TegraRcm.h index ec926f9..5bf7e35 100644 --- a/TegraRcmGUI/TegraRcm.h +++ b/TegraRcmGUI/TegraRcm.h @@ -72,6 +72,7 @@ public: BOOL WAITING_RECONNECT = FALSE; BOOL ASK_FOR_DRIVER = FALSE; BOOL MIN_TO_TRAY_CURR = FALSE; + BOOL LOGGING_CURR = FALSE; CString csPath; COLORREF LabelColor = RGB(0, 0, 0); diff --git a/TegraRcmGUI/TegraRcmGUI.rc b/TegraRcmGUI/TegraRcmGUI.rc index 6468d51..9c2f7dc 100644 Binary files a/TegraRcmGUI/TegraRcmGUI.rc and b/TegraRcmGUI/TegraRcmGUI.rc differ diff --git a/TegraRcmGUI/TegraRcmGUI.vcxproj b/TegraRcmGUI/TegraRcmGUI.vcxproj index adcbfdd..648bb4e 100644 --- a/TegraRcmGUI/TegraRcmGUI.vcxproj +++ b/TegraRcmGUI/TegraRcmGUI.vcxproj @@ -1,289 +1,290 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {2C091C5B-378F-44D0-91F2-53489BA7B83C} - TegraRcmGUI - MFCProj - 10.0.14393.0 - - - - Application - true - v141 - Unicode - Dynamic - - - Application - false - false - Unicode - Dynamic - v141 - - - Application - true - v141 - Unicode - Dynamic - - - Application - false - true - Unicode - Dynamic - v140 - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Use - Level3 - Disabled - WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - true - C:\libusbK-dev-kit\includes;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) - - - Windows - true - Version.lib;libusbK.lib - C:\libusbK-dev-kit\bin\lib\x86;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) - $(OutDir)$(TargetName)$(TargetExt) - - - false - true - _DEBUG;%(PreprocessorDefinitions) - - - 0x0409 - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);%(AdditionalIncludeDirectories) - - - - - Use - Level3 - Disabled - _WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - C:\libusbK-dev-kit\includes\;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) - - - Windows - true - $(OutDir)$(TargetName)$(TargetExt) - C:\libusbK-dev-kit\bin\lib\amd64\;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) - - - false - true - _DEBUG;%(PreprocessorDefinitions) - - - 0x0409 - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);%(AdditionalIncludeDirectories) - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - true - C:\libusbK-dev-kit\includes;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - C:\libusbK-dev-kit\bin\lib\x86;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) - Version.lib;libusbK.lib;%(AdditionalDependencies) - AsInvoker - true - false - - - false - true - NDEBUG;%(PreprocessorDefinitions) - - - 0x0409 - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);%(AdditionalIncludeDirectories) - - - - - Level3 - Use - MaxSpeed - true - true - _WINDOWS;NDEBUG;%(PreprocessorDefinitions) - true - $(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - $(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) - Version.lib;libusbK.lib;%(AdditionalDependencies) - - - false - true - NDEBUG;%(PreprocessorDefinitions) - - - 0x0409 - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);%(AdditionalIncludeDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - Create - Create - - - - - - - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {2C091C5B-378F-44D0-91F2-53489BA7B83C} + TegraRcmGUI + MFCProj + 10.0 + + + + Application + true + v142 + Unicode + Dynamic + + + Application + false + false + Unicode + Dynamic + v142 + + + Application + true + v142 + Unicode + Dynamic + + + Application + false + true + Unicode + Dynamic + v142 + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + true + C:\libusbK-dev-kit\includes;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) + + + Windows + true + Version.lib;libusbK.lib + C:\libusbK-dev-kit\bin\lib\x86;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) + $(OutDir)$(TargetName)$(TargetExt) + + + false + true + _DEBUG;%(PreprocessorDefinitions) + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Use + Level3 + Disabled + _WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + C:\libusbK-dev-kit\includes\;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) + + + Windows + true + $(OutDir)$(TargetName)$(TargetExt) + C:\libusbK-dev-kit\bin\lib\amd64\;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) + libusbK.lib + + + false + true + _DEBUG;%(PreprocessorDefinitions) + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + true + C:\libusbK-dev-kit\includes;$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) + + + Windows + true + true + true + C:\libusbK-dev-kit\bin\lib\x86;$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) + Version.lib;libusbK.lib;%(AdditionalDependencies) + AsInvoker + true + false + + + false + true + NDEBUG;%(PreprocessorDefinitions) + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Level3 + Use + MaxSpeed + true + true + _WINDOWS;NDEBUG;%(PreprocessorDefinitions) + true + $(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories) + + + Windows + true + true + true + $(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories) + Version.lib;libusbK.lib;%(AdditionalDependencies) + + + false + true + NDEBUG;%(PreprocessorDefinitions) + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TegraRcmGUI/TegraRcmGUIDlg.cpp b/TegraRcmGUI/TegraRcmGUIDlg.cpp index 5f6321a..8b129a3 100644 --- a/TegraRcmGUI/TegraRcmGUIDlg.cpp +++ b/TegraRcmGUI/TegraRcmGUIDlg.cpp @@ -101,6 +101,10 @@ END_MESSAGE_MAP() // BOOL CTegraRcmGUIDlg::OnInitDialog() { + + m_TegraRcm = new TegraRcm(this); + m_TegraRcm->AppendLog("new TegraRcm()"); + CDialog::OnInitDialog(); // Accessibility @@ -187,9 +191,6 @@ BOOL CTegraRcmGUIDlg::OnInitDialog() SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon - m_TegraRcm = new TegraRcm(this); - m_TegraRcm->AppendLog("new TegraRcm()"); - // Kill other running process of app m_TegraRcm->KillRunningProcess(TEXT("TegraRcmGUI.exe")); diff --git a/TegraRcmGUI/resource.h b/TegraRcmGUI/resource.h index 705144c..ba7c72d 100644 Binary files a/TegraRcmGUI/resource.h and b/TegraRcmGUI/resource.h differ