diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index a4d7d47e..0e142bd6 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -861,6 +861,10 @@ <SubType> </SubType> </ClCompile> + <ClCompile Include="HubPauseMenu.cpp"> + <SubType> + </SubType> + </ClCompile> <ClCompile Include="IBullet.cpp" /> <ClCompile Include="BuyItemWindow.cpp"> <SubType> @@ -1022,6 +1026,10 @@ <SubType> </SubType> </ClCompile> + <ClCompile Include="ItemHubLoadout.cpp"> + <SubType> + </SubType> + </ClCompile> <ClCompile Include="ItemLoadoutWindow.cpp" /> <ClCompile Include="ItemScript.cpp"> <SubType> diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index a6d72859..e1a4b3ae 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -1292,6 +1292,12 @@ <ClCompile Include="HomingBullet.cpp"> <Filter>Source Files\Bullet Types</Filter> </ClCompile> + <ClCompile Include="HubPauseMenu.cpp"> + <Filter>Source Files\Interface</Filter> + </ClCompile> + <ClCompile Include="ItemHubLoadout.cpp"> + <Filter>Source Files\Interface</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <None Include="cpp.hint" /> diff --git a/Adventures in Lestoria/AdventuresInLestoria.cpp b/Adventures in Lestoria/AdventuresInLestoria.cpp index 877efbb9..f65a3474 100644 --- a/Adventures in Lestoria/AdventuresInLestoria.cpp +++ b/Adventures in Lestoria/AdventuresInLestoria.cpp @@ -527,14 +527,15 @@ bool AiL::DownPressed(){ } void AiL::HandleUserInput(float fElapsedTime){ - if(!Menu::stack.empty()||GameState::STATE==GameState::states[States::DIALOG])return; //A window being opened means there's no user input allowed. + if(!Menu::stack.empty()||GameState::GetCurrentState()==States::DIALOG)return; //A window being opened means there's no user input allowed. if(GetKey(SCROLL).bPressed)displayHud=!displayHud; bool setIdleAnimation=true; bool heldDownMovementKey=false; //Is true when a movement key has been held down. if(KEY_MENU.Released()){ - Menu::OpenMenu(MenuType::PAUSE); + if(GameState::GetCurrentState()==States::GAME_HUB)Menu::OpenMenu(MenuType::HUB_PAUSE); + else Menu::OpenMenu(MenuType::PAUSE); } float animationSpd=0.f; player->movementVelocity={}; @@ -3957,6 +3958,7 @@ void AiL::SetLoadoutItem(int slot,std::string itemName){ }; game->GetPlayer()->SetItem1UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 1")->SetItem(loadout[slot]); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 1")->SetItem(loadout[slot]); }break; case 1:{ itemAbility.action=[&](Player*p,vf2d pos={}){ @@ -3964,6 +3966,7 @@ void AiL::SetLoadoutItem(int slot,std::string itemName){ }; game->GetPlayer()->SetItem2UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 2")->SetItem(loadout[slot]); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 2")->SetItem(loadout[slot]); }break; case 2:{ itemAbility.action=[&](Player*p,vf2d pos={}){ @@ -3971,6 +3974,7 @@ void AiL::SetLoadoutItem(int slot,std::string itemName){ }; game->GetPlayer()->SetItem3UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 3")->SetItem(loadout[slot]); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 3")->SetItem(loadout[slot]); }break; } @@ -4032,6 +4036,9 @@ void AiL::ClearLoadoutItem(int slot){ game->GetPlayer()->SetItem1UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 1")->SetItem(Item::BLANK); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 1")->UpdateIcon(); + + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 1")->SetItem(Item::BLANK); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 1")->UpdateIcon(); }break; case 1:{ itemAbility.action=[&](Player*p,vf2d pos={}){ @@ -4040,6 +4047,10 @@ void AiL::ClearLoadoutItem(int slot){ game->GetPlayer()->SetItem2UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 2")->SetItem(Item::BLANK); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 2")->UpdateIcon(); + + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 2")->SetItem(Item::BLANK); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 2")->UpdateIcon(); + }break; case 2:{ itemAbility.action=[&](Player*p,vf2d pos={}){ @@ -4048,6 +4059,10 @@ void AiL::ClearLoadoutItem(int slot){ game->GetPlayer()->SetItem3UseFunc(itemAbility); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 3")->SetItem(Item::BLANK); Component<MenuItemItemButton>(MenuType::ITEM_LOADOUT,"Loadout Item 3")->UpdateIcon(); + + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 3")->SetItem(Item::BLANK); + Component<MenuItemItemButton>(MenuType::ITEM_HUB_LOADOUT,"Loadout Item 3")->UpdateIcon(); + }break; } } @@ -4094,7 +4109,7 @@ bool AiL::GamePaused(){ return fadeOutDuration>0 ||disableFadeIn - ||Menu::IsMenuOpen()&&Menu::stack.front()==Menu::menus[MenuType::PAUSE]/*The pause menu would be the only thing open and would be the menu in front.*/ + ||Menu::IsMenuOpen()&&(Menu::stack.front()==Menu::menus[MenuType::PAUSE]||Menu::stack.front()==Menu::menus[MenuType::HUB_PAUSE])/*The pause menu would be the only thing open and would be the menu in front.*/ ||LoadingScreen::loading; } diff --git a/Adventures in Lestoria/DamageNumber.cpp b/Adventures in Lestoria/DamageNumber.cpp index 8840c26e..8b63a2f2 100644 --- a/Adventures in Lestoria/DamageNumber.cpp +++ b/Adventures in Lestoria/DamageNumber.cpp @@ -143,8 +143,18 @@ void DamageNumber::Draw(){ float DamageNumber::GetOriginalRiseSpd(){ float riseSpd{20.f}; - if(type==INTERRUPT||type==MANA_GAIN||type==HEALTH_GAIN)riseSpd=40.f; - if(type==DOT)riseSpd=-10.f; + switch(type){ + case INTERRUPT: + case HEALTH_GAIN:{ + riseSpd=40.f; + }break; + case MANA_GAIN:{ + riseSpd=-20.f; + }break; + case DOT:{ + riseSpd=-10.f; + }break; + } return riseSpd; } diff --git a/Adventures in Lestoria/HubPauseMenu.cpp b/Adventures in Lestoria/HubPauseMenu.cpp new file mode 100644 index 00000000..4384b018 --- /dev/null +++ b/Adventures in Lestoria/HubPauseMenu.cpp @@ -0,0 +1,130 @@ +#pragma region License +/* +License (OLC-3) +~~~~~~~~~~~~~~~ + +Copyright 2024 Joshua Sigona <sigonasr2@gmail.com> + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions or derivations of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions or derivative works in binary form must reproduce the above +copyright notice. This list of conditions and the following disclaimer must be +reproduced in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may +be used to endorse or promote products derived from this software without specific +prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Portions of this software are copyright � 2024 The FreeType +Project (www.freetype.org). Please see LICENSE_FT.txt for more information. +All rights reserved. +*/ +#pragma endregion + +#include "Menu.h" +#include "MenuComponent.h" +#include "GameState.h" +#include "MenuLabel.h" +#include "AdventuresInLestoria.h" +#include "CharacterRotatingDisplay.h" +#include "ClassInfo.h" +#include "Unlock.h" + +INCLUDE_game +INCLUDE_GFX + +void Menu::InitializeHubPauseWindow(){ + Menu*hubPauseWindow=CreateMenu(MenuType::HUB_PAUSE,CENTERED,vi2d{96,168}); + + hubPauseWindow->ADD("Resume Button",MenuComponent)(geom2d::rect<float>{{6.f,0.f},{84.f,24.f}},"Resume",[](MenuFuncData data){void ClearGarbage(); + game->ClearGarbage(); + Menu::CloseMenu(); + return true; + },ButtonAttr::FIT_TO_LABEL)END; + hubPauseWindow->ADD("Character Button",MenuComponent)(geom2d::rect<float>{{6.f,28.f},{84.f,24.f}},"Character",[](MenuFuncData data){ + Component<CharacterRotatingDisplay>(CHARACTER_MENU,"Character Rotating Display")->SetIcon(GFX[classutils::GetClassInfo(game->GetPlayer()->GetClassName()).classFullImgName].Decal()); + Component<MenuComponent>(CHARACTER_MENU,"Equip Selection Select Button")->Click(); + Menu::OpenMenu(CHARACTER_MENU); + return true; + },ButtonAttr::FIT_TO_LABEL)END; + hubPauseWindow->ADD("Change Loadout Button",MenuComponent)(geom2d::rect<float>{{6.f,56.f},{84.f,24.f}},"Change\nLoadout",[](MenuFuncData data){ + Menu::OpenMenu(ITEM_HUB_LOADOUT); + return true; + },ButtonAttr::FIT_TO_LABEL)END; + hubPauseWindow->ADD("Inventory Button",MenuComponent)(geom2d::rect<float>{{6.f,84.f},{84.f,24.f}},"Inventory",[](MenuFuncData data){ + Menu::OpenMenu(INVENTORY); + return true; + },ButtonAttr::FIT_TO_LABEL)END; + hubPauseWindow->ADD("Settings Button",MenuComponent)(geom2d::rect<float>{{6.f,112.f},{84.f,24.f}},"Settings",[](MenuFuncData data){ + Menu::OpenMenu(SETTINGS); + return true; + },ButtonAttr::FIT_TO_LABEL)END; + hubPauseWindow->ADD("Return to Camp Button",MenuComponent)(geom2d::rect<float>{{6.f,140.f},{84.f,24.f}},"Leave Area",[](MenuFuncData data){ + Component<MenuLabel>(LEVEL_COMPLETE,"Stage Complete Label")->SetLabel("Stage Summary"); + Component<MenuComponent>(LEVEL_COMPLETE,"Level Details Outline")->SetLabel(""); + + if(game->GetCurrentMapName()=="HUB"&&game->PreviousStageCompleted())Unlock::UnlockCurrentMap(); //Special unlock for the hub area when leaving. + + if(Unlock::IsUnlocked("STORY_1_1")){ + Component<MenuComponent>(LEVEL_COMPLETE,"Next Button")->Enable(); + }else{ + Component<MenuComponent>(LEVEL_COMPLETE,"Next Button")->Disable(); + } + if(GameState::STATE==GameState::states[States::GAME_HUB]){ + GameState::ChangeState(States::OVERWORLD_MAP,0.4f); + }else{ + GameState::ChangeState(States::LEVEL_COMPLETE,0.4f); + } + return true; + },ButtonAttr::FIT_TO_LABEL)END; + + hubPauseWindow->SetupKeyboardNavigation( + [](MenuType type,Data&returnData){ //On Open + returnData="Resume Button"; + }, + { //Button Key + {game->KEY_SCROLL,{"Navigate",[](MenuType type){}}}, + {game->KEY_BACK,{"Resume",[](MenuType type){ + Component<MenuComponent>(type,"Resume Button")->Click(); + }}}, + {game->KEY_MENU,{"Resume",[](MenuType type){ + Component<MenuComponent>(type,"Resume Button")->Click(); + }}}, + {game->KEY_CONFIRM,{"Select",[](MenuType type){}}}, + } + ,{ //Button Navigation Rules + {"Resume Button",{ + .up="Return to Camp Button", + .down="Character Button",}}, + {"Character Button",{ + .up="Resume Button", + .down="Change Loadout Button",}}, + {"Change Loadout Button",{ + .up="Character Button", + .down="Inventory Button",}}, + {"Inventory Button",{ + .up="Change Loadout Button", + .down="Settings Button",}}, + {"Settings Button",{ + .up="Inventory Button", + .down="Return to Camp Button",}}, + {"Return to Camp Button",{ + .up="Settings Button", + .down="Resume Button",}}, + }); +} \ No newline at end of file diff --git a/Adventures in Lestoria/ItemHubLoadout.cpp b/Adventures in Lestoria/ItemHubLoadout.cpp new file mode 100644 index 00000000..b9cce2af --- /dev/null +++ b/Adventures in Lestoria/ItemHubLoadout.cpp @@ -0,0 +1,148 @@ +#pragma region License +/* +License (OLC-3) +~~~~~~~~~~~~~~~ + +Copyright 2024 Joshua Sigona <sigonasr2@gmail.com> + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions or derivations of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions or derivative works in binary form must reproduce the above +copyright notice. This list of conditions and the following disclaimer must be +reproduced in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may +be used to endorse or promote products derived from this software without specific +prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Portions of this software are copyright � 2024 The FreeType +Project (www.freetype.org). Please see LICENSE_FT.txt for more information. +All rights reserved. +*/ +#pragma endregion +#include "AdventuresInLestoria.h" +#include "DEFINES.h" +#include "Menu.h" +#include "MenuLabel.h" +#include "MenuItemLoadoutButton.h" +#include "State_OverworldMap.h" + +INCLUDE_game +using A=Attribute; + +void Menu::InitializeItemHubLoadoutWindow(){ + Menu*itemHubLoadoutWindow=CreateMenu(ITEM_HUB_LOADOUT,CENTERED,game->GetScreenSize()-vi2d{4,4}); + + float itemLoadoutWindowWidth=(game->GetScreenSize().x-5.f); + + itemHubLoadoutWindow->ADD("Loadout Label",MenuLabel)(geom2d::rect<float>{{0,24},{itemLoadoutWindowWidth,24}},"Setup Item Loadout",2,ComponentAttr::SHADOW|ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE)END; + + itemHubLoadoutWindow->ADD("Loadout Description Label",MenuLabel)(geom2d::rect<float>{{0,58},{itemLoadoutWindowWidth,24}},"Bring up to 3 items with you.",1,ComponentAttr::SHADOW)END; + + float buttonBorderPadding=64; + + itemHubLoadoutWindow->ADD("Loadout Item 1",MenuItemLoadoutButton)(geom2d::rect<float>{{64,90},{48,48}},0,[](MenuFuncData data){ + Menu::menus.at(INVENTORY_CONSUMABLES)->I(A::LOADOUT_SLOT)=0; + Menu::OpenMenu(INVENTORY_CONSUMABLES); + return true; + },[](MenuFuncData data){ + std::weak_ptr<MenuItemLoadoutButton>loadoutButton=DYNAMIC_POINTER_CAST<MenuItemLoadoutButton>(data.component); + if(!ISBLANK(loadoutButton.lock()->GetItem())){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(loadoutButton.lock()->GetItem().lock()->DisplayName()); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(loadoutButton.lock()->GetItem().lock()->Description()); + } + return true; + },[](MenuFuncData data){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(""); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(""); + return true; + })END + ->SetIconScale({2.f,2.f}); + itemHubLoadoutWindow->ADD("Loadout Item 2",MenuItemLoadoutButton)(geom2d::rect<float>{{itemLoadoutWindowWidth/2-24,90},{48,48}},1,[](MenuFuncData data){ + Menu::menus.at(INVENTORY_CONSUMABLES)->I(A::LOADOUT_SLOT)=1; + Menu::OpenMenu(INVENTORY_CONSUMABLES); + return true; + },[](MenuFuncData data){ + std::weak_ptr<MenuItemLoadoutButton>loadoutButton=DYNAMIC_POINTER_CAST<MenuItemLoadoutButton>(data.component); + if(!ISBLANK(loadoutButton.lock()->GetItem())){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(loadoutButton.lock()->GetItem().lock()->DisplayName()); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(loadoutButton.lock()->GetItem().lock()->Description()); + } + return true; + },[](MenuFuncData data){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(""); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(""); + return true; + })END + ->SetIconScale({2.f,2.f}); + itemHubLoadoutWindow->ADD("Loadout Item 3",MenuItemLoadoutButton)(geom2d::rect<float>{{itemLoadoutWindowWidth-48-64,90},{48,48}},2,[](MenuFuncData data){ + Menu::menus.at(INVENTORY_CONSUMABLES)->I(A::LOADOUT_SLOT)=2; + Menu::OpenMenu(INVENTORY_CONSUMABLES); + return true; + },[](MenuFuncData data){ + std::weak_ptr<MenuItemLoadoutButton>loadoutButton=DYNAMIC_POINTER_CAST<MenuItemLoadoutButton>(data.component); + if(!ISBLANK(loadoutButton.lock()->GetItem())){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(loadoutButton.lock()->GetItem().lock()->DisplayName()); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(loadoutButton.lock()->GetItem().lock()->Description()); + } + return true; + },[](MenuFuncData data){ + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Name Label")->SetLabel(""); + Component<MenuLabel>(ITEM_HUB_LOADOUT,"Item Description")->SetLabel(""); + return true; + })END + ->SetIconScale({2.f,2.f}); + + itemHubLoadoutWindow->ADD("Item Name Label",MenuLabel)(geom2d::rect<float>{{0,146},{itemLoadoutWindowWidth,12}},"",1,ComponentAttr::SHADOW)END; + itemHubLoadoutWindow->ADD("Item Description",MenuLabel)(geom2d::rect<float>{{0,158},{itemLoadoutWindowWidth,24}},"",1,ComponentAttr::SHADOW)END; + + itemHubLoadoutWindow->ADD("Back Button",MenuComponent)(geom2d::rect<float>{{itemLoadoutWindowWidth/2-32,202},{64,16}},"Back",[](MenuFuncData data){Menu::CloseMenu();return true;})END; + + itemHubLoadoutWindow->SetupKeyboardNavigation( + [](MenuType type,Data&returnData){ //On Open + returnData="Loadout Item 1"; + }, + { //Button Key + {game->KEY_BACK,{"Back",[](MenuType type){ + Component<MenuComponent>(type,"Back Button")->Click(); + }}}, + {game->KEY_CONFIRM,{"Select",[](MenuType type){}}}, + } + ,{ //Button Navigation Rules + {"Loadout Item 1",{ + .up="Back Button", + .down="Back Button", + .left="Loadout Item 3", + .right="Loadout Item 2",}}, + {"Loadout Item 2",{ + .up="Back Button", + .down="Back Button", + .left="Loadout Item 1", + .right="Loadout Item 3",}}, + {"Loadout Item 3",{ + .up="Back Button", + .down="Back Button", + .left="Loadout Item 2", + .right="Loadout Item 1",}}, + {"Back Button",{ + .up="Loadout Item 1", + .down="Loadout Item 1", + .left="Back Button", + .right="Back Button",}}, + }); +} \ No newline at end of file diff --git a/Adventures in Lestoria/Menu.cpp b/Adventures in Lestoria/Menu.cpp index 1577f77c..4c585e83 100644 --- a/Adventures in Lestoria/Menu.cpp +++ b/Adventures in Lestoria/Menu.cpp @@ -124,6 +124,8 @@ void Menu::InitializeMenus(){ InitializeArtificerDisassembleWindow(); InitializeArtificerEnchantWindow(); InitializeArtificerEnchantConfirmWindow(); + InitializeHubPauseWindow(); + InitializeItemHubLoadoutWindow(); for(MenuType type=MenuType(int(MenuType::ENUM_START)+1);type<MenuType::ENUM_END;type=MenuType(int(type+1))){ if(menus.count(type)==0){ diff --git a/Adventures in Lestoria/Menu.h b/Adventures in Lestoria/Menu.h index f0762952..802628b0 100644 --- a/Adventures in Lestoria/Menu.h +++ b/Adventures in Lestoria/Menu.h @@ -117,6 +117,8 @@ class Menu:public IAttributable{ static void InitializeArtificerDisassembleWindow(); static void InitializeArtificerEnchantWindow(); static void InitializeArtificerEnchantConfirmWindow(); + static void InitializeHubPauseWindow(); + static void InitializeItemHubLoadoutWindow(); friend class AiL; friend class ItemInfo; diff --git a/Adventures in Lestoria/MenuType.h b/Adventures in Lestoria/MenuType.h index d4e38411..c3231621 100644 --- a/Adventures in Lestoria/MenuType.h +++ b/Adventures in Lestoria/MenuType.h @@ -75,6 +75,8 @@ enum MenuType{ ARTIFICER_DISASSEMBLE, //100% Controller Compatibility ARTIFICER_ENCHANT, //100% Controller Compatibility ARTIFICER_ENCHANT_CONFIRM, //100% Controller Compatibility + HUB_PAUSE, //100% Controller Compatibility + ITEM_HUB_LOADOUT, //100% Controller Compatibility /////////////////////////////////////////////////////////// /*DO NOT REMOVE!!*/ENUM_END//////////////////////////////// /////////////////////////////////////////////////////////// diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index a70a5923..4ae2582e 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_PATCH 0 -#define VERSION_BUILD 11928 +#define VERSION_BUILD 11935 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe index 7545efb9..043d6031 100644 Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ