From a82503a39ebd511ccb2c8e677cf882b7199d9b87 Mon Sep 17 00:00:00 2001 From: neotpravlennoye Date: Sat, 25 Jun 2022 11:33:13 +0800 Subject: [PATCH] wip: round three --- .editorconfig | 3 +- .gitignore | 2 +- .stylua.toml | 4 +- assets/textures/site/curse.blp | Bin 0 -> 1556 bytes assets/textures/{ => site}/discord.tga | Bin assets/textures/{ => site}/github.tga | Bin assets/textures/site/qq.blp | Bin 0 -> 6676 bytes assets/textures/site/wago.blp | Bin 0 -> 2580 bytes assets/textures/site/wowi.blp | Bin 0 -> 1556 bytes core/dev.lua | 17 +++++- core/functions.lua | 6 +- core/slash.lua | 50 ++++++++-------- generate_changelog.py | 76 +++++++++++++++++++++++ gui/about.lua | 80 ++++++++++++++++--------- gui/credits.lua | 65 ++++++++++++++++---- gui/gui.lua | 2 +- merge-locales.py => merge_locales.py | 0 17 files changed, 232 insertions(+), 73 deletions(-) create mode 100644 assets/textures/site/curse.blp rename assets/textures/{ => site}/discord.tga (100%) rename assets/textures/{ => site}/github.tga (100%) create mode 100644 assets/textures/site/qq.blp create mode 100644 assets/textures/site/wago.blp create mode 100644 assets/textures/site/wowi.blp create mode 100644 generate_changelog.py rename merge-locales.py => merge_locales.py (100%) diff --git a/.editorconfig b/.editorconfig index 90cc8bbf4..a05e22a43 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,6 +4,7 @@ root = true charset = utf-8 indent_style = space indent_size = 4 +end_of_line = lf trim_trailing_whitespace = true insert_final_newline = true @@ -12,6 +13,4 @@ indent_style = space indent_size = 2 [*.md] -indent_style = space -indent_size = 4 trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore index b749c008c..770fd99c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /__pycache__/ /.vscode/ +/tools/ *.code-workspace *.psd -*.exe diff --git a/.stylua.toml b/.stylua.toml index fc0d398ec..7419d977a 100644 --- a/.stylua.toml +++ b/.stylua.toml @@ -1,4 +1,4 @@ -column_width = 120 +column_width = 180 indent_type = "Spaces" quote_style = "AutoPreferSingle" -line_endings = "Windows" +line_endings = "Unix" diff --git a/assets/textures/site/curse.blp b/assets/textures/site/curse.blp new file mode 100644 index 0000000000000000000000000000000000000000..12597c792bf3add6cf049bc80824634bb2c90883 GIT binary patch literal 1556 zcmZ?r2{2-0U|?Y4U}qEn(jYvA1&CQ07_I>E6CnNq#4KzK3?f8g2B3isP_tlWg6L5& z8UmvsFd6~`LjYLbpa2s2LNB)+-F7P9z~(sv!`1))|Ni{wH!U1859~CAM_t+Sx3Smm374o469aU1u>x6C;In9zFk=U`>xqa3|g8im(KqE z|MUO)U-C(RGNYm^qC$HaJT|HL0*&-yU4J zf$RhF({ncDg5*K`Fd+XwgXg3_%bqZLdMR>*hH^7WKiS61;Q32fyI7GSG<4OApA4Q8 zV@}RiS(&BCplW&*sJ?;O_RVCKlbe+oDyrf`pE3N5ZB%~_np5&GIQG}+ljNDb&^ Z7tO;8t5>dCW$Oe9U9})a24HYt@ByS0et-Y~ literal 0 HcmV?d00001 diff --git a/assets/textures/discord.tga b/assets/textures/site/discord.tga similarity index 100% rename from assets/textures/discord.tga rename to assets/textures/site/discord.tga diff --git a/assets/textures/github.tga b/assets/textures/site/github.tga similarity index 100% rename from assets/textures/github.tga rename to assets/textures/site/github.tga diff --git a/assets/textures/site/qq.blp b/assets/textures/site/qq.blp new file mode 100644 index 0000000000000000000000000000000000000000..7e97eaa27937c34c3534a9867bda1df12fec1acf GIT binary patch literal 6676 zcmeI1eNa@_6~NE#`i2EuT^m18pf2OC+9=g@3KJ7j7TP!=W0Y7fi^;0H_(8Fwz&JWK z%D5t(hPE@JLYql6kgB6DHEKJ&^ux-IqC)&an|08QvM4JXTjfKLWZm7{b06NfKs1D^ z?LXd`$G+dY_nv#sx#ymH-y?NS`VSNUpj3w`jQGp0vSE0Q#w!Z1@c^IU)q+>aVIQU0T0%%Tx4-8f0LYn~nTL?eLtMn#=hIYB8bi_{@|+m&+EjQ& ze)K=K|GCdZ>j&bJHa`C6&0k6r%9-o`ueX>zPT8KLJ-F|K&BE)O&|Y)a`~uENtvWCW z!dcEod(^28fOyVaJ_Va@`9o9zd4?{{vV?KmSd^|oD17h z)Nj6RHgUdx4WL{w$o?|7w&+IKjBoLJKA!k@+QCNTybjVj^>d2!oCoUrqzO|w(kZjzHq$sl=9F&6 z`}(unB(vfOt{0TocvbRun5SJDuX=gU;X>CZv5hTmiPN99{j-|RZK3`O>cP2TXZfq1 zjqOY$k9Sw41^LG9I+`poXcr^boS_xrjNPCnl>m;jbjvT1C4GJ9qocG!!RxC4{^F;q zeXPC_?ZN&hTH<=;yFq&Z`ASo7zVWozHdNW|_9rDJP`!D^w0mX8K`zB0ie7O`o=Hch2QFEk4lj`Tn>Q+}M&nE_3;t+xJ~Sb60e+ z@i7I=zKrpNAwlPY(tx?cSG%e=o( z&FsA&#`*b^^#_C3@*ZM82ERryaC@4l;R_S%B-`WhviS{h)h%T|W`IR*-;3YGW^+cS zaC%N-t!|^E?k0CB8)z+8q=FIhD@n}dW zcXA$V{{Fjqo5SW|^Kp0L`2yp ze<;I4=NU>DoWnNCZ||R(#n|3bQ_Jk76Ddtm=VxV-t=?pR_hSNC|AZ&GsX@Zxl=fH8i&XnDPPaEMKGt!&XzHHr#2lmpPa@Bd1=Y z@B&nk#bqBePL5m0PIR}(LCPX)&WljjZPjLxYM=+x^HuoB8URR$1c<#8BT!sQL-k7!@wifQ+<<@Y--KdzRY=Sc!*yXVI*tXqwf z@E~9R)@jv-*ZaWfqa8K$E{!`PwKvDEKJ>~^&gWx&_g2lgx2ns7=RM*y2;D(iac|ST zWRKUVb>a)bO?Lb%D$^?isadLSLg{t1Y~J7AxbDxkI84a5pt59y04;8#+T@IYFJaCx z{X0dIQ63NzJ1@wd=)D=hxGYN*AVkRi|N4GnRa-2UeEK7s(h+^-T`o_- z;-Sy^P&K3fe&>MuTbcg6{W$bLJu~uVVVhAMuIZc4*%yqy`F!*qWCu%Q7TfSy3tM%V zug#_c_|(n($K?qThuHV9N5-Slp16Ec;!>COj80uX#z{H>|2ZJ;)Heqlx_4}pObFID ziAsy>?pe#!$RH)rUv0c7+LpTByjeMQT@582;D|7a6__7vQNIC7(qV29+aHZ9aKFr8 z?^9fp-d`b!tq-g0|50}mixd16^ip*S#`~HR;VnfwKi$|>v*th?^1}IH!~3tNQ;_z% zpQM$=>^>x|&oQ(U<(3w|QhPderbm+yq&Glmvt^FBc{*<9PxBYmY=OBK+57sgQfYl= zuBx4oCNqsN$H%%|l0;MlI8)2YYZ2is?u zVuOjxyE5+>mTgl2DNl%}P*`MWP`#M*=aeX7%2-5Ue7oXs=_fq_T~xKf(2et}n%?lw z$s4FHYEhPXaZnw%+AD16?D#xIOA6C+b8V_pCAwh7ACFDlbI@*|FC78_>VFNu_Q!$z EADE$oM*si- literal 0 HcmV?d00001 diff --git a/assets/textures/site/wago.blp b/assets/textures/site/wago.blp new file mode 100644 index 0000000000000000000000000000000000000000..7a92c7d9f8749aefbeebf7432aa8ef32cdde1f58 GIT binary patch literal 2580 zcmeHIO=uHA6n+VfnFxVB7$_KM781zK;2#KuZoE|#L^_)wk)TH}F4cojLQ3@HB?rx| z5)q0R>A{yn?r3h`1*QMF{p1FwDE%2*XE19i{nCGM`;~r)!{P8Y)o)dAGcb~>UL4*4GRNC0=;z>Nc IZw|o!0F?xZQUCw| literal 0 HcmV?d00001 diff --git a/assets/textures/site/wowi.blp b/assets/textures/site/wowi.blp new file mode 100644 index 0000000000000000000000000000000000000000..c90b8037c0db49b9f32a2b74444b417b966ede4e GIT binary patch literal 1556 zcmZ?r2{2-0U|?Y4U}qEn(jYvA1&CQ07_I>E6CnNq#4KzK3?f8g2B3isP_tlWg6L5& z8UmvsFd6~`LxA-^7>L&tdNG7*XfQzeVl@U%3*tX~fbqjyCVDl5W@W+nVJ#Pf82&P^ zhViFmPx1=2vAGW8Pt7j$3N0vzhw+7@^_}V%82-cf#>sk4p(_ylkmN~T;%3*c!sJV` z1D&c0;^F!ydg(j8X!utTlMisxb9&HF7Y^e)JO$bxx@r}S@49BY 0 then if UnitInRaid('player') and (UnitIsGroupLeader('player')) then C_PartyInfo.ConvertToParty() @@ -47,22 +47,22 @@ F:RegisterSlash('/convert', function() end) -- Ready check -F:RegisterSlash('/rdc', function() +F:RegisterSlashCommand('/rdc', function() DoReadyCheck() end) -- Role poll -F:RegisterSlash('/role', function() +F:RegisterSlashCommand('/role', function() InitiateRolePoll() end) -- Reset instance -F:RegisterSlash('/ri', function() +F:RegisterSlashCommand('/ri', function() ResetInstances() end) -- Teleport LFG instance -F:RegisterSlash('/tp', function() +F:RegisterSlashCommand('/tp', function() if IsInInstance() then LFGTeleport(true) else @@ -71,12 +71,12 @@ F:RegisterSlash('/tp', function() end) -- Take screenshot -F:RegisterSlash('/ss', function() +F:RegisterSlashCommand('/ss', function() Screenshot() end) -- Mount special pose -F:RegisterSlash('/ms', function() +F:RegisterSlashCommand('/ms', function() if IsMounted() then DoEmote('MOUNTSPECIAL') else @@ -85,12 +85,12 @@ F:RegisterSlash('/ms', function() end) -- Set BattleNet broadcast -F:RegisterSlash('/bb', function(msg) +F:RegisterSlashCommand('/bb', function(msg) BNSetCustomMessage(msg) end) -- Switch specialization -F:RegisterSlash('/spec', function(msg) +F:RegisterSlashCommand('/spec', function(msg) local specID = tonumber(msg) if specID then local canUse, failureReason = C_SpecializationInfo.CanPlayerUseTalentSpecUI() @@ -117,7 +117,7 @@ hooksecurefunc('ChatEdit_OnSpacePressed', function(editBox) end end) -F:RegisterSlash('/tt', function(msg) +F:RegisterSlashCommand('/tt', function(msg) if UnitCanCooperate('player', 'target') or UnitIsUnit('player', 'target') then SendChatMessage(msg, 'WHISPER', nil, GetUnitName('target', true)) end @@ -141,7 +141,7 @@ do end end - F:RegisterSlash('/way', function(msg) + F:RegisterSlashCommand('/way', function(msg) if IsAddOnLoaded('TomTom') then return end @@ -166,24 +166,24 @@ do end -- Clear chat -F:RegisterSlash('/clear', function() +F:RegisterSlashCommand('/clear', function() for i = 1, _G.NUM_CHAT_WINDOWS do _G[string.format('ChatFrame%d', i)]:Clear() end end) -- Dev tool -F:RegisterSlash('/rl', function() +F:RegisterSlashCommand('/rl', function() ReloadUI() end) -F:RegisterSlash('/fs', function() +F:RegisterSlashCommand('/fs', function() _G.UIParentLoadAddOn('Blizzard_DebugTools') _G.FrameStackTooltip_Toggle(false, true, true) end) -- Disable all addons except andromeda and debug tool -F:RegisterSlash('/debugmode', function() +F:RegisterSlashCommand('/debugmode', function() for i = 1, GetNumAddOns() do local name = GetAddOnInfo(i) if name ~= C.ADDON_NAME and name ~= '!BaudErrorFrame' and name ~= 'REHack' and GetAddOnEnableState(C.MY_NAME, name) == 2 then @@ -202,7 +202,7 @@ local function GetNPCID(unit) end end -F:RegisterSlash('/npcid', function() +F:RegisterSlashCommand('/npcid', function() local npcID = GetNPCID('target') if npcID then local str = 'NPC ID: ' .. npcID @@ -211,7 +211,7 @@ F:RegisterSlash('/npcid', function() end) -- Print quest info -F:RegisterSlash('/questid', function(msg) +F:RegisterSlashCommand('/questid', function(msg) local questID = tonumber(msg) if questID then local isCompleted = C_QuestLog.IsQuestFlaggedCompleted(questID) @@ -223,7 +223,7 @@ F:RegisterSlash('/questid', function(msg) end) -- Print map info -F:RegisterSlash('/mapid', function() +F:RegisterSlashCommand('/mapid', function() local mapID if _G.WorldMapFrame:IsShown() then mapID = _G.WorldMapFrame:GetMapID() @@ -235,7 +235,7 @@ F:RegisterSlash('/mapid', function() end) -- Print instance info -F:RegisterSlash('/instinfo', function() +F:RegisterSlashCommand('/instinfo', function() local name, instanceType, difficultyID, difficultyName, _, _, _, instanceMapID = GetInstanceInfo() F:Print(C.LINE_STRING) F:Print('Name ' .. C.INFO_COLOR .. name) @@ -247,7 +247,7 @@ F:RegisterSlash('/instinfo', function() end) -- Print item info -F:RegisterSlash('/iteminfo', function(msg) +F:RegisterSlashCommand('/iteminfo', function(msg) local itemID = tonumber(msg) if itemID then local name, link, rarity, level, minLevel, type, subType, _, _, _, _, classID, subClassID, bindType = @@ -274,7 +274,7 @@ F:RegisterSlash('/iteminfo', function(msg) end) -- Print item info -F:RegisterSlash('/scaleinfo', function() +F:RegisterSlashCommand('/scaleinfo', function() F:Print(C.LINE_STRING) F:Print('C.SCREEN_WIDTH ' .. C.SCREEN_WIDTH) F:Print('C.SCREEN_HEIGHT ' .. C.SCREEN_HEIGHT) @@ -285,7 +285,7 @@ F:RegisterSlash('/scaleinfo', function() end) -- DBM test -F:RegisterSlash('/dbmtest', function() +F:RegisterSlashCommand('/dbmtest', function() if IsAddOnLoaded('DBM-Core') then _G.DBM:DemoMode() else diff --git a/generate_changelog.py b/generate_changelog.py new file mode 100644 index 000000000..54138f3be --- /dev/null +++ b/generate_changelog.py @@ -0,0 +1,76 @@ +import os +import re +from slpp import slpp as lua + +# 找到最新的更新文档 +latest_version = 0 +for _, _, files in os.walk("core/changelog", topdown=False): + for file in files: + version = re.sub(r"(\.lua)|(^.*\.xml)", "", file) + if version and not version == "_template": + version = float(version) + if version > latest_version: + latest_version = version + +# 提取更新记录的 lua 字符串 +changelog_path = "core/changelog/{:.2f}.lua".format(latest_version) +with open(changelog_path, "r", encoding="utf8") as f: + changelog_lua_string = f.read().replace("\n", "") + +start_index = changelog_lua_string.find("{") +changelog_lua_string = changelog_lua_string[start_index:] + +# 解析 lua table 到 Python dict +changelog = lua.decode(changelog_lua_string) + +locales = [ + { + "language": "enUS", + "VERSION": "Version", + "IMPORTANT": "Important", + "NEW": "New", + "IMPROVEMENT": "Improvement", + "RELEASED_STRING": "{} Released" + }, + { + "language": "zhCN", + "VERSION": "版本", + "IMPORTANT": "重要", + "NEW": "新增", + "IMPROVEMENT": "改善", + "RELEASED_STRING": "{} 发布" + } +] + +parts = [ + { + "emoji": "🌟", + "name": "IMPORTANT", + }, + { + "emoji": "🔆", + "name": "NEW", + }, + { + "emoji": "⚡", + "name": "IMPROVEMENT", + } +] + +with open("CHANGELOG.md", "w", encoding="utf8") as f: + for locale in locales: + f.write("# {}: {:.2f}\n".format(locale["VERSION"], latest_version)) + f.write(locale["RELEASED_STRING"].format( + changelog["RELEASE_DATE"])+"\n") + + for part in parts: + try: + if len(changelog[part["name"]]["zhTW"]) > 0: + f.write("## {} {}\n".format( + part["emoji"], locale[part["name"]])) + for line in changelog[part["name"]][locale["language"]]: + f.write("- {}\n".format(line)) + except: + pass + + f.write("\n------\n") diff --git a/gui/about.lua b/gui/about.lua index fe542084c..3f40bdafb 100644 --- a/gui/about.lua +++ b/gui/about.lua @@ -2,27 +2,46 @@ local F, C, L = unpack(select(2, ...)) local GUI = F:GetModule('GUI') local urls = { - curse = 'https://www.curseforge.com/wow/addons/freeui', - github = 'https://github.com/Solor/FreeUI', + curse = 'https://www.curseforge.com/wow/addons/andromeda', + wago = 'https://addons.wago.io/addons/freeui', + wowi = 'https://www.wowinterface.com/downloads/info23258', + github = 'https://github.com/neotpravlennoye/andromeda', discord = 'https://discord.gg/86wbfZXxn7', + qq = '203621176', } local icons = { - curse = C.ASSET_PATH .. 'textures\\curse', - github = C.ASSET_PATH .. 'textures\\github', - discord = C.ASSET_PATH .. 'textures\\discord', + curse = C.ASSET_PATH .. 'textures\\site\\curse', + wago = C.ASSET_PATH .. 'textures\\site\\wago', + wowi = C.ASSET_PATH .. 'textures\\site\\wowi', + github = C.ASSET_PATH .. 'textures\\site\\github', + discord = C.ASSET_PATH .. 'textures\\site\\discord', + qq = C.ASSET_PATH .. 'textures\\site\\qq', } local function ResetUrlBox(self) self:SetText(self.url) - -- self:HighlightText() end -local function CreateUrlBox(parent, text, url, texture) - local box = F.CreateEditBox(parent, 300, 24) - box:SetPoint('TOP', 0, -70) +local function UrlBox_OnEditFocusGained(self) + self:HighlightText() +end + +local function UrlBox_OnEditFocusLost(self) + self:HighlightText(0, 0) +end - box.lable = F.CreateFS(parent, C.Assets.Font.Condensed, 14, nil, text, 'YELLOW', true, 'TOP', 0, -50) +local function CreateUrlBox(parent, text, url, texture, position) + local box = F.CreateEditBox(parent, 340, 24) + + if position then + box:SetPoint(unpack(position)) + else + box:SetPoint('TOP', 0, -70) + end + + box.lable = F.CreateFS(parent, C.Assets.Font.Condensed, 13, nil, text, 'YELLOW', true) + box.lable:SetPoint('BOTTOM', box, 'TOP', 0, 4) box.icon = box:CreateTexture() box.icon:SetSize(20, 20) @@ -35,36 +54,43 @@ local function CreateUrlBox(parent, text, url, texture) box:SetScript('OnTextChanged', ResetUrlBox) box:SetScript('OnCursorChanged', ResetUrlBox) + box:SetScript('OnEditFocusGained', UrlBox_OnEditFocusGained) + box:SetScript('OnEditFocusLost', UrlBox_OnEditFocusLost) end function GUI:CreateAboutFrame(parent) - local release = CreateFrame('Frame', nil, parent) - release:SetSize(360, 200) - release:SetPoint('TOP', 0, -20) + local outline = _G.ANDROMEDA_ADB.FontOutline + + local repo = CreateFrame('Frame', nil, parent) + repo:SetSize(400, 120) + repo:SetPoint('TOP', 0, -20) - F.CreateFS(release, C.Assets.Font.Header, 18, nil, L['Stable Release'], nil, true, 'TOP', 0, -10) + F.CreateFS(repo, C.Assets.Font.Heavy, 20, outline, L['Development Repository'], { 242 / 255, 211 / 255, 104 / 255 }, outline or 'THICK', 'TOP', 0, -10) - GUI:CreateGradientLine(release, 160, -80, -32, 80, -32) + GUI:CreateGradientLine(repo, 120, -60, -34, 60, -34) - CreateUrlBox(release, 'CurseForge', urls.curse, icons.curse) + CreateUrlBox(repo, 'Github', urls.github, icons.github) - local dev = CreateFrame('Frame', nil, parent) - dev:SetSize(360, 200) - dev:SetPoint('TOP', 0, -160) + local download = CreateFrame('Frame', nil, parent) + download:SetSize(400, 220) + download:SetPoint('TOP', repo, 'BOTTOM') - F.CreateFS(dev, C.Assets.Font.Header, 18, nil, L['Development Repository'], nil, true, 'TOP', 0, -10) + F.CreateFS(download, C.Assets.Font.Heavy, 20, outline, L['Stable Version Download'], { 242 / 255, 211 / 255, 104 / 255 }, outline or 'THICK', 'TOP', 0, -10) - GUI:CreateGradientLine(dev, 160, -80, -32, 80, -32) + GUI:CreateGradientLine(download, 120, -60, -34, 60, -34) - CreateUrlBox(dev, 'GitHub', urls.github, icons.github) + CreateUrlBox(download, 'CurseForge.com', urls.curse, icons.curse) + CreateUrlBox(download, 'Wago.io', urls.wago, icons.wago, { 'TOP', 0, -120 }) + CreateUrlBox(download, 'WoWInterface.com', urls.wowi, icons.wowi, { 'TOP', 0, -170 }) local feedback = CreateFrame('Frame', nil, parent) - feedback:SetSize(360, 200) - feedback:SetPoint('TOP', 0, -300) + feedback:SetSize(400, 220) + feedback:SetPoint('TOP', download, 'BOTTOM') - F.CreateFS(feedback, C.Assets.Font.Header, 18, nil, L['Feedback'], nil, true, 'TOP', 0, -10) + F.CreateFS(feedback, C.Assets.Font.Heavy, 20, outline, L['Feedback'], { 242 / 255, 211 / 255, 104 / 255 }, outline or 'THICK', 'TOP', 0, -10) - GUI:CreateGradientLine(feedback, 160, -80, -32, 80, -32) + GUI:CreateGradientLine(feedback, 120, -60, -34, 60, -34) - CreateUrlBox(feedback, 'Discord', urls.discord, icons.discord) + CreateUrlBox(feedback, 'Discord Channel', urls.discord, icons.discord) + CreateUrlBox(feedback, 'QQ Group', urls.qq, icons.qq, { 'TOP', 0, -120 }) end diff --git a/gui/credits.lua b/gui/credits.lua index 949c64ac8..6d18ac121 100644 --- a/gui/credits.lua +++ b/gui/credits.lua @@ -2,9 +2,9 @@ local F, C, L = unpack(select(2, ...)) local GUI = F:GetModule('GUI') local datas = { - 'Haleth, Siweia', - 'Alza, Tukz, Gethe, Elv|nHaste, Lightspark, Zork, Allez|nAlleyKat, Caellian, p3lim, Shantalya|ntekkub, Tuller, Wildbreath, aduth|nsilverwind, Nibelheim, humfras, aliluya555|nPaojy, Rubgrsch, EKE, fang2hou|nlilbitz95, Djamy, Hacktivist', - 'NDui, NDui_Plus, ShestakUI, RealUI, ElvUI, ElvUI_WindTools', + 'Haleth, siweia, Gethe, Zorker, |np3lim, silverwind, Rubgrsch, EKE00372, |nfang2hou, lilbit26, Djamy, Hxcktivist, |nrgd87, Witnesscm, Wetxius, Ketho', + 'FreeUI, NDui, NDui_Plus, ShestakUI, |nRealUI, ElvUI, ElvUI_WindTools', + 'oUF, Ace3, cargBags', } function GUI:CreateCreditsFrame(parent) @@ -12,13 +12,56 @@ function GUI:CreateCreditsFrame(parent) credit:SetSize(360, 200) credit:SetPoint('TOP', 0, -20) - F.CreateFS(credit, C.Assets.Font.Header, 18, nil, L['Credits'], nil, true, 'TOP', 0, -10) - local cll = F.SetGradient(credit, 'H', 0.7, 0.7, 0.7, 0, 0.5, 160, C.MULT) - cll:SetPoint('TOP', -80, -32) - local clr = F.SetGradient(credit, 'H', 0.7, 0.7, 0.7, 0.5, 0, 160, C.MULT) - clr:SetPoint('TOP', 80, -32) + local outline = _G.ANDROMEDA_ADB.FontOutline + F.CreateFS( + credit, + C.Assets.Font.Heavy, + 20, + outline, + L['Credits'], + { 242 / 255, 211 / 255, 104 / 255 }, + outline or 'THICK', + 'TOP', + 0, + -10 + ) - F.CreateFS(credit, C.Assets.Font.Bold, 16, nil, datas[1], { 1, 0.5, 0 }, true, 'TOP', 0, -50) - F.CreateFS(credit, C.Assets.Font.Regular, 14, nil, datas[2], { 0.6, 0.2, 0.9 }, true, 'TOP', 0, -90) - F.CreateFS(credit, C.Assets.Font.Condensed, 12, nil, datas[3], { 0, 0.4, 0.9 }, true, 'TOP', 0, -220) + GUI:CreateGradientLine(credit, 120, -60, -34, 60, -34) + + F.CreateFS( + credit, + C.Assets.Font.Bold, + 16, + outline, + datas[1], + { 110 / 255, 199 / 255, 250 / 255 }, + outline or 'THICK', + 'TOP', + 0, + -50 + ) + F.CreateFS( + credit, + C.Assets.Font.Regular, + 16, + outline, + datas[2], + { 101 / 255, 182 / 255, 252 / 255 }, + outline or 'THICK', + 'TOP', + 0, + -150 + ) + F.CreateFS( + credit, + C.Assets.Font.Condensed, + 16, + outline, + datas[3], + { 110 / 255, 163 / 255, 250 / 255 }, + outline or 'THICK', + 'TOP', + 0, + -220 + ) end diff --git a/gui/gui.lua b/gui/gui.lua index ac397ce76..5fd3882bb 100644 --- a/gui/gui.lua +++ b/gui/gui.lua @@ -493,7 +493,7 @@ local function CreateGUI() -30 ) - GUI:CreateGradientLine(guiFrame, 120, -60, -26, 60, -26) + GUI:CreateGradientLine(guiFrame, 140, -70, -26, 70, -26) local btnClose = CreateFrame('Button', nil, guiFrame, 'UIPanelButtonTemplate') btnClose:SetPoint('BOTTOMRIGHT', -6, 6) diff --git a/merge-locales.py b/merge_locales.py similarity index 100% rename from merge-locales.py rename to merge_locales.py