From e017d9dfb216a1c18a7b20e315420b0bdb9ba220 Mon Sep 17 00:00:00 2001 From: lch Date: Fri, 3 May 2024 21:40:52 +0800 Subject: [PATCH 1/3] revert textmenu --- src/Header/HUD/vgui/textmenu.h | 3 +++ src/Source/HUD/vgui/textmenu.cpp | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Header/HUD/vgui/textmenu.h b/src/Header/HUD/vgui/textmenu.h index 03b142c6..8708b0a0 100644 --- a/src/Header/HUD/vgui/textmenu.h +++ b/src/Header/HUD/vgui/textmenu.h @@ -16,6 +16,7 @@ class CTextMenu : public vgui::EditablePanel, public IViewportPanel CTextMenu(); virtual void ApplySchemeSettings(vgui::IScheme* pScheme) override; + void ApplySettings(KeyValues* inResourceData) override; // IViewportPanel overrides virtual const char* GetName() override; virtual void Reset() override; @@ -41,5 +42,7 @@ class CTextMenu : public vgui::EditablePanel, public IViewportPanel std::string m_szMenuString; float m_flShutoffTime; + + float m_flFadeAnimateTime; }; #endif \ No newline at end of file diff --git a/src/Source/HUD/vgui/textmenu.cpp b/src/Source/HUD/vgui/textmenu.cpp index cbbb4cc7..18d16eb5 100644 --- a/src/Source/HUD/vgui/textmenu.cpp +++ b/src/Source/HUD/vgui/textmenu.cpp @@ -20,6 +20,7 @@ extern vgui::HScheme GetViewPortBaseScheme(); CTextMenu::CTextMenu() : BaseClass(nullptr, VIEWPORT_TEXTMENU_NAME) { + SetProportional(true); SetKeyBoardInputEnabled(false); SetMouseInputEnabled(false); SetScheme(GetViewPortBaseScheme()); @@ -45,6 +46,10 @@ void CTextMenu::ApplySchemeSettings(vgui::IScheme* pScheme) { SetBgColor(GetSchemeColor("TextMenu.BgColor", GetSchemeColor("Panel.BgColor", pScheme), pScheme)); m_pMenu->SetFgColor(GetSchemeColor("TextMenu.TextColor", GetSchemeColor("Label.FgColor", pScheme), pScheme)); } +void CTextMenu::ApplySettings(KeyValues* inResourceData) { + BaseClass::ApplySettings(inResourceData); + m_flFadeAnimateTime = inResourceData->GetFloat("fade_time"); +} void CTextMenu::ShowPanel(bool state) { if (state == IsVisible()) return; @@ -71,10 +76,16 @@ void CTextMenu::SetContent(const char* szMenu){ void CTextMenu::StartFade(bool state){ - vgui::GetAnimationController()->StartAnimationSequence(GetParent(), state ? "TextMenuIn" : "TextMenuOut"); + SetAlpha(state ? 0 : 255); + ShowPanel(true); + vgui::GetAnimationController()->RunAnimationCommand(this, "alpha", state ? 255 : 0, 0.0f, m_flFadeAnimateTime, vgui::AnimationController::INTERPOLATOR_LINEAR); } void CTextMenu::OnThink(){ + if (GetAlpha() <= 0) { + ShowPanel(false); + return; + } if (m_flShutoffTime >= 0 && gEngfuncs.GetClientTime() >= m_flShutoffTime) { StartFade(false); m_flShutoffTime = -1; @@ -104,6 +115,7 @@ bool CTextMenu::MsgShowMenu(const char* pszName, int iSize, void* pbuf){ if (m_bitsValidSlots){ m_szMenuString += READ_STRING(); if (!iNeedMore) { + //Remove all \n from begin and end //someone will send a bunch of \n\n\n\n\n\n\n\n\n\n\n\n\n\n in the beginning, wtf????? const static auto searchFunc = [](char ch) {return ch != '\n';}; From 0ed54950001013632016b42e77a1bcc98022488b Mon Sep 17 00:00:00 2001 From: lch Date: Sun, 5 May 2024 19:05:30 +0800 Subject: [PATCH 2/3] revert viewport --- src/Source/HUD/Viewport.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Source/HUD/Viewport.cpp b/src/Source/HUD/Viewport.cpp index 790ccb1f..9151475d 100644 --- a/src/Source/HUD/Viewport.cpp +++ b/src/Source/HUD/Viewport.cpp @@ -63,12 +63,16 @@ vgui::HScheme GetViewPortBaseScheme() { CViewport::CViewport(void) : Panel(nullptr, "ABCEnchanceViewport"){ int swide, stall; surface()->GetScreenSize(swide, stall); + + MakePopup(false, true); + SetScheme("ABCEnchanceScheme"); SetBounds(0, 0, swide, stall); SetPaintBorderEnabled(false); SetPaintBackgroundEnabled(false); SetMouseInputEnabled(false); SetKeyBoardInputEnabled(false); + SetProportional(true); m_hBaseScheme = vgui::scheme()->LoadSchemeFromFile(VGUI2_ROOT_DIR "AbcScheme.res", "AbcScheme"); vgui::GetAnimationController()->SetScriptFile(GetVPanel(), "abcenchance/HudAnimations.txt", true); @@ -114,6 +118,7 @@ void CViewport::Start(void){ AddNewPanel(m_pItemStack = new CItemStackPanel()); AddNewPanel(m_pWeaponStack = new CWeaponStackPanel()); AddNewPanel(m_pWeaponChoose = new CWeaponChoosePanel()); + SetVisible(false); } void CViewport::SetParent(VPANEL vPanel){ From 90ce261d587905f2328c23a1aaa31c02f6b40935 Mon Sep 17 00:00:00 2001 From: lch Date: Wed, 10 Jul 2024 18:18:34 +0800 Subject: [PATCH 3/3] has netease api --- ABCEnchance.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ABCEnchance.vcxproj b/ABCEnchance.vcxproj index b3d3424e..48dc7bd0 100644 --- a/ABCEnchance.vcxproj +++ b/ABCEnchance.vcxproj @@ -141,7 +141,7 @@ $(FreeImageCheckRequirements) - WIN32;NDEBUG;_WINDOWS;_USRDLL;GLEW_STATIC;VGUI_USE_SURFACE2;VGUI_USE_SCHEME2;VGUI_USE_INPUT2;NO_MALLOC_OVERRIDE;NO_TIER0_MINIDUMP;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;GLEW_STATIC;VGUI_USE_SURFACE2;VGUI_USE_SCHEME2;VGUI_USE_INPUT2;NO_MALLOC_OVERRIDE;NO_TIER0_MINIDUMP;__HAS_NETEASE_API;%(PreprocessorDefinitions) MultiThreaded