diff --git a/src/main.cpp b/src/main.cpp index c914f03..62f0cc9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -17,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -44,6 +45,8 @@ extern "C" s32 Menu_Main(void){ InitVPadFunctionPointers(); InitProcUIFunctionPointers(); + setup_os_exceptions(); + if(OSGetTitleID() == 0x00050000101a5f00L || // Shantae and the Pirate's Curse USA (reason: crashes when pressing HOME, Pro Controller not recognized) OSGetTitleID() == 0x00050000101F7F00L || // Shantae and the Pirate's Curse JAP (シャンティ -海賊の呪い-) (reason: crashes when pressing HOME, Pro Controller not recognized) OSGetTitleID() == 0x00050000101a9500L){ // Shantae and the Pirate's Curse EUR (reason: crashes when pressing HOME, Pro Controller not recognized) @@ -65,8 +68,6 @@ extern "C" s32 Menu_Main(void){ InitPadScoreFunctionPointers(); InitAXFunctionPointers(); - SetupKernelCallback(); - log_init(); DEBUG_FUNCTION_LINE("HID to VPAD %s - %s %s - by Maschell\n\n",APP_VERION,__DATE__,__TIME__); diff --git a/src/menu/drc/MainWindowContent.cpp b/src/menu/drc/MainWindowContent.cpp index bdfc93c..a39e196 100644 --- a/src/menu/drc/MainWindowContent.cpp +++ b/src/menu/drc/MainWindowContent.cpp @@ -35,7 +35,6 @@ MainWindowContent::MainWindowContent(s32 w, s32 h) bgImageColor.setImageColor((GX2Color){ 248, 249, 248, 255 }, 2); bgImageColor.setImageColor((GX2Color){ 248, 249, 248, 255 }, 3); - homebutton_img.setPosition(-70,0); exitHome.setPosition(60,0); @@ -80,7 +79,6 @@ void MainWindowContent::SetScreen(ContentTemplate * new_content){ RemoveScreen(); if(new_content){ //while(content != NULL); //hopefully this shit don't kill us. - content = new_content; append(content); @@ -89,6 +87,7 @@ void MainWindowContent::SetScreen(ContentTemplate * new_content){ } void MainWindowContent::RemoveScreen(){ + DEBUG_FUNCTION_LINE("%08X\n",content); remove(content); delete content; content = NULL; @@ -101,5 +100,8 @@ void MainWindowContent::OnCloseEffectFinish(GuiElement *element){ MainWindowContent::~MainWindowContent(){ remove(&footerFrame); remove(&bgImageColor); + Resources::RemoveImageData(footer_imgdata); + Resources::RemoveImageData(homebutton_imgdata); + Resources::RemoveImageData(plusbutton_imgdata); RemoveScreen(); } diff --git a/src/menu/drc/MainWindowDRC.cpp b/src/menu/drc/MainWindowDRC.cpp index f3e208a..c469019 100644 --- a/src/menu/drc/MainWindowDRC.cpp +++ b/src/menu/drc/MainWindowDRC.cpp @@ -70,7 +70,11 @@ void MainWindowDRC::process(){ } MainWindowDRC::~MainWindowDRC(){ + remove(&windowSplitter_img); remove(&menuList); remove(&content); + remove(&versionText); + remove(&ipAddress); + Resources::RemoveImageData(windowSplitter_imgdata); } diff --git a/src/menu/drc/MenuListDRC.cpp b/src/menu/drc/MenuListDRC.cpp index 624b972..a108cdd 100644 --- a/src/menu/drc/MenuListDRC.cpp +++ b/src/menu/drc/MenuListDRC.cpp @@ -86,6 +86,16 @@ MenuListDRC::MenuListDRC(s32 w, s32 h,MainWindowContent * _contentWindow) dpad_selection_changed = true; } +MenuListDRC::~MenuListDRC(){ + remove(&bgImageColor); + remove(&VPADDrag); + remove(&DPADButtons); + + for (std::vector::iterator it = listElementsAll.begin() ; it != listElementsAll.end(); ++it){ + remove(*it); + } + +} void MenuListDRC::setState(s32 i, s32 c){ GuiFrame::setState(i,c); @@ -246,20 +256,3 @@ MenuElement * MenuListDRC::getButtonElementByController(UController_Type control default: return NULL; } } - -MenuListDRC::~MenuListDRC(){ - remove(&bgImageColor); - remove(&homeSeperator); - remove(&elementHome); - remove(&controllerSeperator); - remove(&elementGamePad); - remove(&elementProController1); - remove(&elementProController2); - remove(&elementProController3); - remove(&elementProController4); - remove(&otherSeperator); - remove(&elementNetworkHelp); - remove(&elementHelp); - remove(&elementSettings); - remove(&elementAbout); -} diff --git a/src/menu/drc/content/ContentAbout.cpp b/src/menu/drc/content/ContentAbout.cpp index 8697c1c..29d593e 100644 --- a/src/menu/drc/content/ContentAbout.cpp +++ b/src/menu/drc/content/ContentAbout.cpp @@ -161,7 +161,6 @@ ContentAbout::ContentAbout(): ContentTemplate(){ } ContentAbout::~ContentAbout(){ - remove(&bgImageColor); remove(&headLine); for(u32 i = 0; i < aboutText.size(); ++i){ remove(aboutText[i]); diff --git a/src/menu/drc/content/ContentController.cpp b/src/menu/drc/content/ContentController.cpp index 458763b..19e87f0 100644 --- a/src/menu/drc/content/ContentController.cpp +++ b/src/menu/drc/content/ContentController.cpp @@ -140,8 +140,11 @@ ContentController::ContentController(UController_Type controller_type_): Content } ContentController::~ContentController(){ - remove(&bgImageColor); remove(&headLine); + remove(¬ConnectedFrame); + remove(&connectedFrame); + remove(&DPADButtons); + Resources::RemoveImageData(not_connected_imgdata); } UController_Type ContentController::getControllerType(){ diff --git a/src/menu/drc/content/ContentHelp.cpp b/src/menu/drc/content/ContentHelp.cpp index d47e660..7228de2 100644 --- a/src/menu/drc/content/ContentHelp.cpp +++ b/src/menu/drc/content/ContentHelp.cpp @@ -130,7 +130,6 @@ ContentHelp::ContentHelp(): ContentTemplate(){ } ContentHelp::~ContentHelp(){ - remove(&bgImageColor); remove(&headLine); for(u32 i = 0; i < helpText.size(); ++i){ diff --git a/src/menu/drc/content/ContentHome.cpp b/src/menu/drc/content/ContentHome.cpp index 81a21e8..8a6cc58 100644 --- a/src/menu/drc/content/ContentHome.cpp +++ b/src/menu/drc/content/ContentHome.cpp @@ -87,15 +87,19 @@ ContentHome::ContentHome():ContentTemplate() } ContentHome::~ContentHome(){ - //Resources::RemoveImageData(logoImageData); <-- will reduce lag. Will be deleted at the end anyway - remove(&bgImageColor); - remove(&logoImage); + // will reduce lag. Will be deleted at the end anyway + Resources::RemoveImageData(logoImageData); + Resources::RemoveImageData(twitterLogoImageData); + Resources::RemoveImageData(githubLogoImageData); + remove(&welcomeHeadLineLabel); remove(&welcomeTextLabel); remove(&welcomeTextLabel2); remove(&welcomeTextLabel3); + remove(&logoImage); remove(&twitterLogoImage); remove(&githubLogoImage); + remove(&twitterLabel); remove(&URLLabel); remove(&URL2Label); diff --git a/src/menu/drc/content/ContentNetworkHelp.cpp b/src/menu/drc/content/ContentNetworkHelp.cpp index 1998448..ee442b7 100644 --- a/src/menu/drc/content/ContentNetworkHelp.cpp +++ b/src/menu/drc/content/ContentNetworkHelp.cpp @@ -180,10 +180,9 @@ ContentNetworkHelp::ContentNetworkHelp(): ContentTemplate(){ } ContentNetworkHelp::~ContentNetworkHelp(){ - remove(&bgImageColor); remove(&headLine); - for(u32 i = 0; i < helpText.size(); ++i){ + for(u32 i = 0; i < helpText.size(); ++i){ remove(helpText[i]); delete helpText[i]; } diff --git a/src/menu/drc/content/ContentSettings.cpp b/src/menu/drc/content/ContentSettings.cpp index ce5fb98..3b5d932 100644 --- a/src/menu/drc/content/ContentSettings.cpp +++ b/src/menu/drc/content/ContentSettings.cpp @@ -135,6 +135,7 @@ ContentSettings::ContentSettings():ContentTemplate() ContentSettings::~ContentSettings(){ remove(&headLine); + remove(&settingsFrame); Resources::RemoveSound(buttonClickSound); if(bChanged){ diff --git a/src/menu/drc/content/ContentTemplate.h b/src/menu/drc/content/ContentTemplate.h index 1756694..4778d2b 100644 --- a/src/menu/drc/content/ContentTemplate.h +++ b/src/menu/drc/content/ContentTemplate.h @@ -40,7 +40,7 @@ public: append(&bgImageColor); } - virtual ~ContentTemplate() {} + virtual ~ContentTemplate() {remove(&bgImageColor);} protected: GuiImage bgImageColor; }; diff --git a/src/menu/tv/MainWindowTV.cpp b/src/menu/tv/MainWindowTV.cpp index a96b4b0..193b5ff 100644 --- a/src/menu/tv/MainWindowTV.cpp +++ b/src/menu/tv/MainWindowTV.cpp @@ -76,6 +76,7 @@ MainWindowTV::~MainWindowTV() remove(&controllerConfigurationTV); remove(&twitterLogoImage); remove(&logoImage); + remove(&githubLogoImage); remove(&twitterLabel); remove(&githubLabel); remove(&backgroundImage); diff --git a/src/menu/tv/TVControllerBanner.cpp b/src/menu/tv/TVControllerBanner.cpp index 1445c0f..a936bb6 100644 --- a/src/menu/tv/TVControllerBanner.cpp +++ b/src/menu/tv/TVControllerBanner.cpp @@ -111,7 +111,9 @@ TVControllerBanner::~TVControllerBanner(){ remove(&proController2); remove(&proController3); remove(&proController4); - remove(&homebutton_img); + remove(&gamepad); + remove(&exitHomeFrame); + remove(&exitPlusFrame); } void TVControllerBanner::OnButtonClicked(GuiButton *button, const GuiController *controller, GuiTrigger *trigger){