diff --git a/include/d/d_file_select.h b/include/d/d_file_select.h index 634c0db352..a69c68a285 100644 --- a/include/d/d_file_select.h +++ b/include/d/d_file_select.h @@ -13,7 +13,9 @@ class dFile_info_c; class J2DPicture; #if TARGET_PC -static PaneCache mSelDtPanes[] = { +#include "dusk/utilities.hpp" + +static dusk::utils::PaneCache mSelDtPanes[] = { {MULTI_CHAR('tate_n0'), 0.0f, 0.0f, false}, {MULTI_CHAR('tate_n1'), 0.0f, 0.0f, false}, {MULTI_CHAR('ken_n0'), 0.0f, 0.0f, false}, @@ -26,7 +28,7 @@ static PaneCache mSelDtPanes[] = { {MULTI_CHAR('b_base1'), 0.0f, 0.0f, false}, }; -static PaneCache fileSelPanes[] = { +static dusk::utils::PaneCache fileSelPanes[] = { {MULTI_CHAR('w_uzu00'), 0.0f, 0.0f, false}, {MULTI_CHAR('w_uzu01'), 0.0f, 0.0f, false}, {MULTI_CHAR('w_uzu02'), 0.0f, 0.0f, false}, diff --git a/include/d/d_name.h b/include/d/d_name.h index 68a4930baf..8532271f5d 100644 --- a/include/d/d_name.h +++ b/include/d/d_name.h @@ -13,14 +13,9 @@ class JUTFont; class STControl; #if TARGET_PC -struct PaneCache { - u64 tag; - f32 origTransX; - f32 origTransY; - bool cached; -}; +#include "dusk/utilities.hpp" -static PaneCache l_tagName[] = { +static dusk::utils::PaneCache l_tagName[] = { {MULTI_CHAR('m_00_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_00_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_00_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_00_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_00_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_01_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_01_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_01_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_01_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_01_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_02_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_02_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_02_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_02_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_02_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('m03_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m03_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('m03_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('m03_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m03_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_04_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_04_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_04_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_04_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_04_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_05_0'), 0.0f, 0.0f, false}, {MULTI_CHAR('m_05_1'), 0.0f, 0.0f, false}, @@ -31,11 +26,11 @@ static PaneCache l_tagName[] = { {MULTI_CHAR('m12_3'), 0.0f, 0.0f, false}, {MULTI_CHAR('m12_4'), 0.0f, 0.0f, false}, {MULTI_CHAR('p_end_2'), 0.0f, 0.0f, false}, {MULTI_CHAR('p_end_1'), 0.0f, 0.0f, false}, {MULTI_CHAR('p_end_0'), 0.0f, 0.0f, false}, }; -static PaneCache l_nameTagName[] = { +static dusk::utils::PaneCache l_nameTagName[] = { {MULTI_CHAR('name_00'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_01'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_02'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_03'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_04'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_05'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_06'), 0.0f, 0.0f, false}, {MULTI_CHAR('name_07'), 0.0f, 0.0f, false}, }; -static PaneCache l_nameCurTagName[] = { +static dusk::utils::PaneCache l_nameCurTagName[] = { {MULTI_CHAR('s__n_00'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_01'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_02'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_03'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_04'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_05'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_06'), 0.0f, 0.0f, false}, {MULTI_CHAR('s__n_07'), 0.0f, 0.0f, false}, }; #endif diff --git a/src/d/d_file_select.cpp b/src/d/d_file_select.cpp index 936a368f81..7a178051b8 100644 --- a/src/d/d_file_select.cpp +++ b/src/d/d_file_select.cpp @@ -4114,7 +4114,7 @@ void dFile_select_c::fileSelectWide() { static bool cachedPanes = false; // Get pre-scale values for each pane if (!cachedPanes) { - for (PaneCache& entry : mSelDtPanes) { + for (dusk::utils::PaneCache& entry : mSelDtPanes) { J2DPane* pane = mSelDt.ScrDt->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -4122,7 +4122,7 @@ void dFile_select_c::fileSelectWide() { entry.cached = true; } } - for (PaneCache& entry : fileSelPanes) { + for (dusk::utils::PaneCache& entry : fileSelPanes) { J2DPane* pane = fileSel.Scr->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -4136,13 +4136,13 @@ void dFile_select_c::fileSelectWide() { // Reset all panes mSelDt.ScrDt->scale(1.0f, 1.0f); mSelDt.ScrDt->translate(0.0f, 0.0f); - for (PaneCache& entry : mSelDtPanes) { + for (dusk::utils::PaneCache& entry : mSelDtPanes) { J2DPane* pane = mSelDt.ScrDt->search(entry.tag); pane->setBasePosition(J2DBasePosition_4); pane->scale(1.0f, 1.0f); pane->translate(entry.origTransX, entry.origTransY); } - for (PaneCache& entry : fileSelPanes) { + for (dusk::utils::PaneCache& entry : fileSelPanes) { J2DPane* pane = fileSel.Scr->search(entry.tag); pane->setBasePosition(J2DBasePosition_4); pane->scale(1.0f, 1.0f); @@ -4214,7 +4214,7 @@ void dFile_select_c::fileSelectWide() { mSelDt.ScrDt->search(MULTI_CHAR('fuku_n2'))->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); // Spirals & Memory Card Text - for (PaneCache& entry : fileSelPanes) { + for (dusk::utils::PaneCache& entry : fileSelPanes) { J2DPane* pane = fileSel.Scr->search(entry.tag); pane->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); } @@ -4240,7 +4240,7 @@ void dFile_select_c::fileSelectWide() { const f32 wideShiftFactor = mSelDt.ScrDt->search(MULTI_CHAR('gray_n'))->getTranslateX() * (wideScaleFactor - mDoGph_gInf_c::hudAspectScaleDown); const f32 ultraShiftFactor = mSelDt.ScrDt->search(MULTI_CHAR('gray_n'))->getTranslateX() * (ultraScaleFactor - mDoGph_gInf_c::hudAspectScaleDown); - for (PaneCache& entry : mSelDtPanes) { + for (dusk::utils::PaneCache& entry : mSelDtPanes) { const size_t index = &entry - mSelDtPanes; J2DPane* pane = mSelDt.ScrDt->search(entry.tag); pane->setBasePosition(J2DBasePosition_0); @@ -4308,7 +4308,7 @@ void dFile_select_c::fileSelectWide() { } // Spirals & Memory Card Text - for (PaneCache& entry : fileSelPanes) { + for (dusk::utils::PaneCache& entry : fileSelPanes) { J2DPane* pane = fileSel.Scr->search(entry.tag); pane->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); } diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 28f964ec10..e2cfae9ceb 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -105,7 +105,7 @@ void dMenu_Collect2D_c::menuCollectWide() { static bool cachedPanes = false; // Get pre-scale values for each pane if (!cachedPanes) { - for (PaneCache& entry : mpScreenPanes) { + for (dusk::utils::PaneCache& entry : mpScreenPanes) { J2DPane* pane = mpScreen->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -119,7 +119,7 @@ void dMenu_Collect2D_c::menuCollectWide() { // Reset all panes mpScreen->scale(1.0f, 1.0f); mpScreen->translate(0.0f, 0.0f); - for (PaneCache& entry : mpScreenPanes) { + for (dusk::utils::PaneCache& entry : mpScreenPanes) { J2DPane* pane = mpScreen->search(entry.tag); pane->scale(1.0f, 1.0f); pane->translate(entry.origTransX, entry.origTransY); diff --git a/src/d/d_name.cpp b/src/d/d_name.cpp index bf906f9285..17f607e99a 100644 --- a/src/d/d_name.cpp +++ b/src/d/d_name.cpp @@ -1516,7 +1516,7 @@ void dName_c::nameWide() { static bool cachedPanes = false; // Get pre-scale values for each pane if (!cachedPanes) { - for (PaneCache& entry : l_tagName) { + for (dusk::utils::PaneCache& entry : l_tagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -1524,7 +1524,7 @@ void dName_c::nameWide() { entry.cached = true; } } - for (PaneCache& entry : l_nameTagName) { + for (dusk::utils::PaneCache& entry : l_nameTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -1532,7 +1532,7 @@ void dName_c::nameWide() { entry.cached = true; } } - for (PaneCache& entry : l_nameCurTagName) { + for (dusk::utils::PaneCache& entry : l_nameCurTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); if (!entry.cached) { entry.origTransX = pane->getTranslateX(); @@ -1546,19 +1546,19 @@ void dName_c::nameWide() { // Reset all panes nameIn.NameInScr->scale(1.0f, 1.0f); nameIn.NameInScr->translate(0.0f, 0.0f); - for (PaneCache& entry : l_tagName) { + for (dusk::utils::PaneCache& entry : l_tagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->setBasePosition(J2DBasePosition_4); pane->scale(1.0f, 1.0f); pane->translate(entry.origTransX, entry.origTransY); } - for (PaneCache& entry : l_nameTagName) { + for (dusk::utils::PaneCache& entry : l_nameTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->setBasePosition(J2DBasePosition_4); pane->scale(1.0f, 1.0f); pane->translate(entry.origTransX, entry.origTransY); } - for (PaneCache& entry : l_nameCurTagName) { + for (dusk::utils::PaneCache& entry : l_nameCurTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->setBasePosition(J2DBasePosition_4); pane->scale(1.0f, 1.0f); @@ -1574,17 +1574,17 @@ void dName_c::nameWide() { break; default: // Wii and Dusklight // List of Characters Box - for (PaneCache& entry : l_tagName) { + for (dusk::utils::PaneCache& entry : l_tagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); } // Letters being typed - for (PaneCache& entry : l_nameTagName) { + for (dusk::utils::PaneCache& entry : l_nameTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); } // Underscores when typing below letters - for (PaneCache& entry : l_nameCurTagName) { + for (dusk::utils::PaneCache& entry : l_nameCurTagName) { J2DPane* pane = nameIn.NameInScr->search(entry.tag); pane->scale(mDoGph_gInf_c::hudAspectScaleDown, 1.0f); } diff --git a/src/dusk/utilities.hpp b/src/dusk/utilities.hpp index ab3d9c2198..a559ccfe38 100644 --- a/src/dusk/utilities.hpp +++ b/src/dusk/utilities.hpp @@ -14,4 +14,11 @@ namespace dusk::utils { std::string base64_encode(const std::vector& data); bool base64_decode(const std::string& text, std::vector& out); uint32_t crc32(const void* data, size_t size); + +struct PaneCache { + uint64_t tag; + float origTransX; + float origTransY; + bool cached; +}; } // namespace dusk::utils