Add new feature: Transparent background when moving

This commit is contained in:
Roman Jaroš 2025-02-10 14:56:27 +01:00
parent b81af2c2ec
commit f00edc16fc
8 changed files with 90 additions and 37 deletions

View file

@ -41,6 +41,9 @@ local function OnEvent(self, event, addonName, ...)
if not CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY then
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_FAMILY = 'frizquadratatt_cz.ttf';
end
if not CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA then
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA = 80;
end
-- Initialize Options
CzechQuestsAddon:InitializeOptions()

View file

@ -2,7 +2,7 @@
## Title: CzechQuests
## Notes: Addon displays texts of quests in Czech language as tooltip
## Author: Roman Jaroš
## Version: 0.2.10
## Version: 0.2.11
## SavedVariables: CzechQuestsAddon_Store
CzechQuests.lua

View file

@ -2031,7 +2031,7 @@ CzechQuestsAddon.data.quest[4131] = {
titleFemale = "",
objectiveMale = "Prohledej tábory Woodpaw Gnoll v jižním Feralasu a hledej důkazy o kurýrových věcech nebo o něm samotném.",
objectiveFemale = "",
descriptionMale = "Naši 'přátelé' Woodpaw možná nakonec Raschala dostali, ale něco mi říká, že se tak nestalo. Přesto jsou nejlepším místem, kde začít hledat.\n\nKéž bych měl jasnější představu o tom, co dělat, ale jediné, co teď mám, je Prohledejte tábory Woodpaw - jděte. Vím, že gnollové si nechávají předměty, které vyrabují, a bojují o ně; možná narazili na batohy, o kterých se zmiňoval Quint. Při předchozím prohledávání jsem neriskoval čelní souboj, ale s Quintovou vizí na tohle říkám, že se do nich pustím.",
descriptionMale = "Naši 'přátelé' Woodpaw možná nakonec Raschala dostali, ale něco mi říká, že se tak nestalo. Přesto jsou nejlepším místem, kde začít hledat.\n\nKéž bych měl jasnější představu o tom, co dělat, ale jediné, co teď mám, je 'Search the Woodpaw camps - go.' Vím, že gnollové si nechávají předměty, které vyrabují, a bojují o ně; možná narazili na batohy, o kterých se zmiňoval Quint. Při předchozím prohledávání jsem neriskoval čelní souboj, ale s Quintovou vizí na tohle říkám, že se do nich pustím.",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
@ -6351,8 +6351,8 @@ CzechQuestsAddon.data.quest[882] = {
titleFemale = "",
objectiveMale = "Přines Ishamuhaleův tesák Jornovi do tábora Taurajo.",
objectiveFemale = "",
descriptionMale = "Ishamuhale, oštěpař, je nejzuřivějším dravcem Barren. Neloví pro zábavu ani pro potravu. Loví, protože lov je jeho vášní. Zabíjí, protože je to jeho přirozenost.\n\nA ty se o jeho povaze dozvíš, <name>, protože tvá cesta nyní vede po stopách Ishamuhaleho s drápy.\n\nZačni lovit. Zabij jeho oblíbenou kořist, zhevu, a pak její mršinu přines k mrtvému stromu severozápadně od Ratchetu. Ishamuhale ucítí pach mršiny a bude k ní přitahován.\n\nBuď připraven, až přijde.",
descriptionFemale = "Ishamuhale, oštěpař, je nejzuřivějším dravcem Barren. Neloví pro zábavu ani pro potravu. Loví, protože lov je jeho vášní. Zabíjí, protože je to jeho přirozenost.\n\nA ty se o jeho povaze dozvíš, <name>, protože tvá cesta nyní vede po stopách Ishamuhaleho s drápy.\n\nZačni lov. Zabij jeho oblíbenou kořist, zhevu, a pak její mršinu přines k mrtvému stromu severozápadně od Ratchetu. Ishamuhale ucítí pach mršiny a bude k ní přitahován.\n\nBuď připravená, až přijde.",
descriptionMale = "Ishamuhale, Speartooth, je nejzuřivějším sunscale raptorem Barrens. Neloví pro zábavu ani pro potravu. Loví, protože lov je jeho vášní. Zabíjí, protože je to jeho přirozenost.\n\nA ty se o jeho povaze dozvíš, <name>, protože tvá cesta nyní vede po stopách Ishamuhale.\n\nZačni lovit. Zabij jeho oblíbenou kořist, zhevu, a pak její mršinu přines k mrtvému stromu severozápadně od Ratchet. Ishamuhale ucítí pach mršiny a bude k ní přitahován.\n\nBuď připraven, až přijde.",
descriptionFemale = "Ishamuhale, Speartooth, je nejzuřivějším sunscale raptorem Barrens. Neloví pro zábavu ani pro potravu. Loví, protože lov je jeho vášní. Zabíjí, protože je to jeho přirozenost.\n\nA ty se o jeho povaze dozvíš, <name>, protože tvá cesta nyní vede po stopách Ishamuhale.\n\nZačni lov. Zabij jeho oblíbenou kořist, zhevu, a pak její mršinu přines k mrtvému stromu severozápadně od Ratchet. Ishamuhale ucítí pach mršiny a bude k ní přitahován.\n\nBuď připravená, až přijde.",
progressMale = "<name>, porazil jsi Ishamuhale?",
progressFemale = "<name>, porazila jsi Ishamuhale?",
completionMale = "Tento tesák je pouhým symbolem, ale to, co představuje, je hluboké.\n\nSíla Ishamuhale je v tobě, <name>. Kéž ji používáš s rozvahou. To je tvé břemeno.\n\nTo je tvá čest.",

View file

@ -4791,8 +4791,8 @@ CzechQuestsAddon.data.quest[83762] = {
titleFemale = "",
objectiveMale = "Pomoz Lady Jaine Proudmoore zneškodnit manovou bombu v Breathing Pit.",
objectiveFemale = "Pomoz Lady Jaina Proudmoore zneškodnit manovou bombu v Breathing Pitu.",
descriptionMale = "Přesně toho jsem se obával. Thalen Songweaverovy poznámky o manové bombě, kterou vymyslel, aby zdevastoval Theramore, byly střeženy v Dalaranu. O tom věděl jen málokdo. Tvrdil jsem, že by měly být zničeny. Ale jiní tvrdili, že pokud takovou bombu znovu vytvoříme, budeme je potřebovat k jejímu zneškodnění. A nyní jsou tyto poznámky problémem i řešením. Naštěstí jsem ty poznámky četl, <name>. Provedu tě zneškodněním manové bomby.",
descriptionFemale = "Přesně toho jsem se obával. Thalen Songweaverovy notes o manové bombě, kterou vymyslel, aby zdevastoval Theramore, byly střeženy v Dalaranu. O tom věděl jen málokdo. Tvrdil jsem, že by měly být zničeny. Ale jiní tvrdili, že pokud takovou bombu znovu vytvoříme, budeme je potřebovat k jejímu zneškodnění. A nyní jsou tyto poznámky problémem i řešením. Naštěstí jsem ty poznámky četl, <name>. Provedu tě zneškodněním manové bomby.",
descriptionMale = "Přesně toho jsem se obávala. Thalen Songweaverovy poznámky o manové bombě, kterou vymyslel, aby zdevastoval Theramore, byly střeženy v Dalaranu. O tom věděl jen málokdo. Tvrdila jsem, že by měly být zničeny. Ale jiní tvrdili, že pokud takovou bombu znovu vytvoříme, budeme je potřebovat k jejímu zneškodnění. A nyní jsou tyto poznámky problémem i řešením. Naštěstí jsem ty poznámky četla, <name>. Provedu tě zneškodněním manové bomby.",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
completionMale = "",
@ -4839,7 +4839,7 @@ CzechQuestsAddon.data.quest[83553] = {
titleFemale = "",
objectiveMale = "Setkej se s Kalecgosem na Mourning Rise na Isle of Dorn.",
objectiveFemale = "",
descriptionMale = "Obávám se, že naše 'vyčištění' Dalaran sahá daleko od břehů Isle of Dorn. Při pokusech najít tě jsem tento ostrov mnohokrát obkroužil. Během svého letu jsem vycítil magii mnoha známých předmětů - předmětů, které se dříve nacházely v Dalaranu. Nebezpečných předmětů. Někdo nebo něco je odneslo, kdo ví kam. Musíme tyto předměty najít, než přijdou k úhoně nevinní kolemjdoucí. Následuj mě.",
descriptionMale = "Obávám se, že naše 'vyčištění' Dalaranu sahá daleko od břehů Isle of Dorn. Při pokusech najít tě jsem tento ostrov mnohokrát obkroužil. Během svého letu jsem vycítil magii mnoha známých předmětů předmětů, které se dříve nacházely v Dalaranu. Nebezpečných předmětů. Někdo nebo něco je odneslo, kdo ví kam. Musíme tyto předměty najít, než přijdou k úhoně nevinní kolemjdoucí. Následuj mě.",
descriptionFemale = "Obávám se, že naše 'vyčištění' Dalaranu sahá daleko od břehů ostrova Isle of Dorn. Při pokusech najít tě jsem tento ostrov mnohokrát obkroužil. Během svého letu jsem vycítil magii mnoha známých předmětů - předmětů, které se dříve nacházely v Dalaranu. Nebezpečných předmětů. Někdo nebo něco je odneslo, kdo ví kam. Musíme tyto předměty najít, než přijdou k úhoně nevinní kolemjdoucí. Následuj mě.",
progressMale = "",
progressFemale = "",
@ -4851,7 +4851,7 @@ CzechQuestsAddon.data.quest[83764] = {
titleFemale = "",
objectiveMale = "Najdi nebezpečné artefakty roztroušené v Breathing Pit a znič je.",
objectiveFemale = "",
descriptionMale = "Některé z relikvií, které nerubiáni nyní vlastní, byly uloženy v pečlivě navržených trezorech v Dalaranu. Tak nebezpečné a mocné jsou. Když jsou tyto trezory pryč, jediným způsobem, jak můžeme jednat, je zničit je. Zpětně se zdá, že bylo velkou chybou shromáždit tolik mocných artefaktů na jednom místě - i když tím místem byl Dalaran. Nikomu jinému bych tento úkol nesvěřil, <name>. Najdi a znič ty artefakty.",
descriptionMale = "Některé z relikvií, které nerubiáni nyní vlastní, byly uloženy v pečlivě navržených trezorech v Dalaranu. Tak nebezpečné a mocné jsou. Když jsou tyto trezory pryč, jediným způsobem, jak můžeme jednat, je zničit je. Zpětně se zdá, že bylo velkou chybou shromáždit tolik mocných artefaktů na jednom místě i když tím místem byl Dalaran. Nikomu jinému bych tento úkol nesvěřila, <name>. Najdi a znič ty artefakty.",
descriptionFemale = "",
progressMale = "",
progressFemale = "",
@ -7011,8 +7011,8 @@ CzechQuestsAddon.data.quest[83743] = {
titleFemale = "",
objectiveMale = "Vydej se do Azj-Kahetu a setkej se s Lady Jaina Proudmoore.",
objectiveFemale = "Vydej se do Azj-Kahet a setkej se s lady Jainou Proudmoore.",
descriptionMale = "Několik mágů přišlo, ale... Čekal jsem, že jich na Aethasovu výzvu zareaguje víc. Ale možná to bylo jen zbožné přání. Potřebujeme více pomoci navzdory tomu, co jste s Kalecgosem udělali na Mourning Rise. Kromě Kel'Thuzadova přívěšku byly kořistí koboldů artefakty střední síly. Mezitím se objevily zprávy o mocných magických předmětech, které pronikly do Azj-Kahet, což znamená, že nerubiáni museli nejdřív vydrancovat Dalaran! Musíme tyto artefakty najít dříve, než budou použity proti nám.",
descriptionFemale = "Několik mágů přišlo, ale... Čekala jsem, že jich na Aethasův výzvu zareaguje víc. Ale možná to bylo jen zbožné přání. Potřebujeme více pomoci navzdory tomu, co jste s Kalecgosem udělali na Mourning Rise. Kromě Kel'Thuzadova přívěšku byly kořistí koboldů artefakty střední síly. Mezitím se objevily zprávy o mocných magických předmětech, které pronikly do Azj-Kahet, což znamená, že nerubiáni museli nejdřív vydrancovat Dalaran! Musíme tyto artefakty najít dříve, než budou použity proti nám.",
descriptionMale = "Několik mágů přišlo, ale... Čekala jsem, že jich na Aethasovu výzvu k akci zareaguje víc. Ale možná to bylo jen zbožné přání. Potřebujeme více pomoci navzdory tomu, co jste s Kalecgosem udělali na Mourning Rise. Kromě Kel'Thuzadova přívěsku byly kořistí koboldů artefakty střední síly. Mezitím se objevily zprávy o mocných magických předmětech, které pronikly do Azj-Kahet, což znamená, že nerubiáni museli nejdřív vydrancovat Dalaran! Musíme tyto artefakty najít dříve, než budou použity proti nám.",
descriptionFemale = "Několik mágů přišlo, ale... Čekala jsem, že jich na Aethasovu výzvu zareaguje víc. Ale možná to bylo jen zbožné přání. Potřebujeme více pomoci navzdory tomu, co jsi s Kalecgosem udělala na Mourning Rise. Kromě Kel'Thuzadova pendantu byly kořistí koboldů artefakty střední síly. Mezitím se objevily zprávy o mocných magických předmětech, které pronikly do Azj-Kahet, což znamená, že nerubiáni museli nejdřív vydrancovat Dalaran! Musíme tyto artefakty najít dříve, než budou použity proti nám.",
progressMale = "",
progressFemale = "",
completionMale = "",

View file

@ -14,17 +14,19 @@ function CzechQuestsAddon:InitializeOptions()
)
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, debugCheckbox)
-- Add DARK mode checkbox
local darkModeCheckbox = Settings.RegisterAddOnSetting(
CzechQuestsAddon.optionsFrame,
"CzechQuestsAddon__DARK_MODE",
"DARK_MODE",
CzechQuestsAddon_Store.config,
type(CzechQuestsAddon_Store.config.DARK_MODE),
"Use dark mode",
CzechQuestsAddon_Store.config.DARK_MODE
)
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, darkModeCheckbox)
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
-- Add DARK mode checkbox
local darkModeCheckbox = Settings.RegisterAddOnSetting(
CzechQuestsAddon.optionsFrame,
"CzechQuestsAddon__DARK_MODE",
"DARK_MODE",
CzechQuestsAddon_Store.config,
type(CzechQuestsAddon_Store.config.DARK_MODE),
"Use dark mode",
CzechQuestsAddon_Store.config.DARK_MODE
)
Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, darkModeCheckbox)
end
-- define FontOptions
local function GetFontOptions()
@ -132,6 +134,24 @@ function CzechQuestsAddon:InitializeOptions()
textFontSizeSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, textFontSizeSlider, textFontSizeSliderOptions)
-- Add slider for change secondary header font size
local textureAlphaSlider = Settings.RegisterProxySetting(
CzechQuestsAddon.optionsFrame,
"CzechQuestsAddon__TRANSLATION_FRAME_TEXTURE_ALPHA",
type(CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA),
"Texture transparency",
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA,
function()
return CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA
end,
function(value)
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA = value
end
)
local textureAlphaSliderOptions = Settings.CreateSliderOptions(10, 100, 10)
textureAlphaSliderOptions:SetLabelFormatter(MinimalSliderWithSteppersMixin.Label.Right);
Settings.CreateSlider(CzechQuestsAddon.optionsFrame, textureAlphaSlider, textureAlphaSliderOptions)
-- Store it into Addon options
Settings.RegisterAddOnCategory(CzechQuestsAddon.optionsFrame)
end

View file

@ -9,18 +9,9 @@ function CzechQuestsAddon:CreateTranslationFrame()
-- Background Parchment texture
frame.texture = frame:CreateTexture(nil, "BACKGROUND", nil, -1);
frame.texture:SetAllPoints(true);
frame.texture:SetAllPoints(true)
frame.texture:SetHorizTile(true)
-- Apply correct texture for wow version
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
frame.texture:SetTexture("Interface/QUESTFRAME/QuestBG");
frame.texture:SetTexCoord(0, .58, 0.005, 0.66)
else
frame.texture:SetTexture("Interface/QUESTFRAME/QuestBackgroundParchment");
CzechQuestsAddon:SetTextureFromSettings(frame)
end
frame.primaryHeader = CzechQuestsAddon:CreateTranslationFont(
frame,
"CzechQuestTranslationPrimaryHeader",
@ -46,6 +37,9 @@ function CzechQuestsAddon:CreateTranslationFrame()
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE
)
-- Apply correct texture for wow version
CzechQuestsAddon:SetTextureFromSettings(frame)
return frame;
end
@ -67,6 +61,14 @@ end
function CzechQuestsAddon:SetTextureFromSettings(frame)
if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then
-- setup default
frame.texture:SetTexture("Interface/QUESTFRAME/QuestBG");
frame.texture:SetTexCoord(0, .58, 0.005, 0.66)
frame.primaryHeader:SetTextColor(0, 0, 0, 1)
frame.secondaryHeader:SetTextColor(0, 0, 0, 1)
frame.primaryText:SetTextColor(0, 0, 0, 1)
frame.secondaryText:SetTextColor(0, 0, 0, 1)
if CzechQuestsAddon_Store.config.DARK_MODE then
frame:SetBackdropColor(0, 0, 0, 1)
frame.texture:SetColorTexture(0, 0, 0, 1)
@ -76,12 +78,26 @@ function CzechQuestsAddon:SetTextureFromSettings(frame)
frame.secondaryText:SetTextColor(255, 255, 255, 1)
end
else
-- TODO add DARK MODE support for retail
-- setup default
frame.texture:SetTexture("Interface/QUESTFRAME/QuestBackgroundParchment");
frame.texture:SetTexCoord(0, .01, 0, 0.4)
frame.primaryHeader:SetTextColor(0, 0, 0, 1)
frame.secondaryHeader:SetTextColor(0, 0, 0, 1)
frame.primaryText:SetTextColor(0, 0, 0, 1)
frame.secondaryText:SetTextColor(0, 0, 0, 1)
-- Read CVar from settings to setup same parchment as Quest frame
if C_CVar.GetCVar("questTextContrast") == "0" then
frame.texture:SetTexCoord(0, .01, 0, 0.4) -- Parchment (brown)
else
frame.texture:SetTexCoord(0, .01, .4, .8) -- Parchment (white)
if C_CVar.GetCVar("questTextContrast") == "1" then -- Brown
frame.texture:SetTexCoord(0, .01, .4, .8)
elseif C_CVar.GetCVar("questTextContrast") == "2"
or C_CVar.GetCVar("questTextContrast") == "3" then -- Gray
frame.texture:SetColorTexture(255, 255, 255, 1)
elseif C_CVar.GetCVar("questTextContrast") == "4" then -- Black
frame.texture:SetColorTexture(0, 0, 0, 1)
frame.primaryHeader:SetTextColor(255, 255, 255, 1)
frame.secondaryHeader:SetTextColor(255, 255, 255, 1)
frame.primaryText:SetTextColor(255, 255, 255, 1)
frame.secondaryText:SetTextColor(255, 255, 255, 1)
end
end
end
@ -107,4 +123,7 @@ function CzechQuestsAddon:UpdateTranslationFrameFontSettings()
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXT_FONT_SIZE,
nil
)
CzechQuestsAddon.translationFrame.texture:SetAlpha(
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA / 100
)
end

View file

@ -240,6 +240,8 @@ function CzechQuestsAddon:InitializeTranslations()
CzechQuestsAddon.translationFrame:RegisterEvent("QUEST_FINISHED")
CzechQuestsAddon.translationFrame:RegisterEvent("QUEST_DETAIL")
CzechQuestsAddon.translationFrame:RegisterEvent("ITEM_TEXT_READY")
CzechQuestsAddon.translationFrame:RegisterEvent("PLAYER_STARTED_MOVING")
CzechQuestsAddon.translationFrame:RegisterEvent("PLAYER_STOPPED_MOVING")
-- Preparation for eventually show translation when hover quest in quest tracker for retail
--if (WOW_PROJECT_ID == WOW_PROJECT_MAINLINE) then
@ -268,5 +270,14 @@ function CzechQuestsAddon:InitializeTranslations()
if (event == "ITEM_TEXT_READY") then
CzechQuestsAddon:ShowQuestItemTranslation()
end
if event == "PLAYER_STARTED_MOVING" then
CzechQuestsAddon.translationFrame.texture:SetAlpha(
CzechQuestsAddon_Store.config.TRANSLATION_FRAME_TEXTURE_ALPHA / 100
)
elseif event == "PLAYER_STOPPED_MOVING" then
CzechQuestsAddon.translationFrame.texture:SetAlpha(1)
end
end)
end

View file

@ -13,7 +13,7 @@ wow_destiny_folder="classic_era"
dest_folder="/Applications/World of Warcraft/_${wow_destiny_folder}_/Interface/AddOns/CzechQuests"
fswatch -o "$src_folder" | while read -r change; do
rsync -avu --delete "$src_folder" "$dest_folder" --exclude={'.*','*.png','*.sh','*.md','Quests/Data/**'}
rsync -avu --delete "$src_folder" "$dest_folder" --exclude={'.*','*.png','*.sh','*.md','Quests/Data/**','downloader/**'}
rsync -au --delete "$src_folder/Quests/Data/$wow_source_folder/" "$dest_folder/Quests/Data/"
cp "$src_folder/Quests/Data/other.lua" "$dest_folder/Quests/Data/"
done