Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
push:
branches: [ master ]

workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
container:
image: seien210/pksm-cjk:latest
options: --user root

steps:
- name: "Clone"
run: git clone --recurse-submodules -j8 https://github.com/seien210300928/PKSM-CJK-Readability.git /PKSM
- name: "Build"
working-directory: "/PKSM"
run: |
make
- uses: actions/upload-artifact@v6
with:
name: PKSM-Build
path: |
/PKSM/3ds/out/PKSM_CJK_Typography.cia
/PKSM/3ds/out/PKSM_CJK_Typography.3dsx
/PKSM/3ds/out/PKSM_CJK_Typography.elf
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@
[submodule "external/picoc"]
path = external/picoc
url = https://github.com/FlagBrew/picoc
[submodule "external/EventsGalleryPacker/EventsGallery"]
path = external/EventsGalleryPacker/EventsGallery
url = https://github.com/projectpokemon/EventsGallery.git
4 changes: 2 additions & 2 deletions 3ds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ BANNER_AUDIO := ../assets/audio.wav
BANNER_IMAGE := ../assets/banner.png
RSF_PATH := ../assets/app.rsf
LOGO :=
UNIQUE_ID := 0xEC100
PRODUCT_CODE := CTR-HB-PKSM
UNIQUE_ID := 0xEC1C0
PRODUCT_CODE := CTR-HB-PKSM-CJK
ICON_FLAGS := nosavebackups,visible

#---------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion 3ds/include/gui/overlay/BagItemOverlay.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class BagItemOverlay : public ReplaceableScreen
validItems(items),
items(items),
pouch(pouch),
hid(40, 2),
hid(20, 2),
origItem(selected),
slot(slot),
firstEmpty(firstEmpty)
Expand Down
2 changes: 1 addition & 1 deletion 3ds/include/gui/overlay/BoxOverlay.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class BoxOverlay : public ReplaceableScreen
public:
BoxOverlay(ReplaceableScreen& screen, std::vector<std::string>&& boxes, int& current)
: ReplaceableScreen(&screen, i18n::localize("A_SELECT") + '\n' + i18n::localize("B_BACK")),
hid(40, 2),
hid(20, 2),
strings(boxes),
out(current)
{
Expand Down
2 changes: 1 addition & 1 deletion 3ds/include/gui/overlay/SortOverlay.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class SortOverlay : public ReplaceableScreen
public:
SortOverlay(ReplaceableScreen& screen, SortScreen::SortType& type)
: ReplaceableScreen(&screen, i18n::localize("A_SELECT") + '\n' + i18n::localize("B_BACK")),
hid(40, 2),
hid(20, 2),
out(type)
{
hid.update(vals.size());
Expand Down
2 changes: 1 addition & 1 deletion 3ds/include/gui/scripts/FortyChoice.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class FortyChoice : public RunnableScreen<size_t>
{
public:
FortyChoice(char* question, char** text, int items)
: RunnableScreen(0), question(question), hid(40, 2), items(items)
: RunnableScreen(0), question(question), hid(20, 2), items(items)
{
for (int i = 0; i < items; i++)
{
Expand Down
8 changes: 8 additions & 0 deletions 3ds/source/gui/gui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1218,6 +1218,14 @@ void Gui::sprite(int key, int x, int y)
else if (key == ui_sheet_part_editor_20x2_idx)
{
_draw_repeat(key, x, y, 20, 1);
}
else if (key == ui_sheet_part_editor_15x2_idx)
{
_draw_repeat(key, x, y, 15, 1);
}
else if (key == ui_sheet_part_editor_10x2_idx)
{
_draw_repeat(key, x, y, 10, 1);
}
else if (key == ui_sheet_part_info_bottom_idx || key == ui_sheet_part_info_top_idx)
{
Expand Down
14 changes: 7 additions & 7 deletions 3ds/source/gui/overlay/BagItemOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ void BagItemOverlay::drawBottom() const

void BagItemOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
if (i + hid.page() * hid.maxVisibleEntries() >= items.size())
Expand All @@ -57,7 +57,7 @@ void BagItemOverlay::drawTop() const
}
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
Gui::text(*items[i + hid.page() * hid.maxVisibleEntries()].first, x,
(i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE, TextPosX::LEFT,
(i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE, TextPosX::LEFT,
TextPosY::TOP);
}
}
Expand Down
14 changes: 7 additions & 7 deletions 3ds/source/gui/overlay/BoxOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,21 @@ void BoxOverlay::drawBottom() const

void BoxOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
if (hid.page() * hid.maxVisibleEntries() + i < strings.size())
{
Gui::text(strings[hid.page() * hid.maxVisibleEntries() + i], x,
(i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE, TextPosX::LEFT,
(i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE, TextPosX::LEFT,
TextPosY::TOP);
}
else
Expand Down
16 changes: 8 additions & 8 deletions 3ds/source/gui/overlay/LocationOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
LocationOverlay::LocationOverlay(ReplaceableScreen& screen, pksm::PKX& pkm, bool met)
: ReplaceableScreen(&screen, i18n::localize("A_SELECT") + '\n' + i18n::localize("B_BACK")),
pkm(pkm),
hid(40, 2),
hid(20, 2),
validLocations(i18n::rawLocations(
Configuration::getInstance().language(), (pksm::Generation)pkm.version())),
locations(validLocations),
Expand Down Expand Up @@ -69,14 +69,14 @@ void LocationOverlay::drawBottom() const

void LocationOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
// Stupid non random-access iterators
std::map<u16, std::string>::const_iterator locIt = locations.begin();
for (size_t i = 0; i < hid.page() * hid.maxVisibleEntries(); i++)
Expand All @@ -89,7 +89,7 @@ void LocationOverlay::drawTop() const
if (hid.page() * hid.maxVisibleEntries() + i < locations.size())
{
Gui::text(std::to_string(locIt->first) + " - " + locIt->second, x,
(i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE, TextPosX::LEFT,
(i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE, TextPosX::LEFT,
TextPosY::TOP);
++locIt;
}
Expand Down
16 changes: 8 additions & 8 deletions 3ds/source/gui/overlay/MoveOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ namespace
MoveOverlay::MoveOverlay(ReplaceableScreen& screen, pksm::IPKFilterable& object, int moveIndex)
: ReplaceableScreen(&screen, i18n::localize("A_SELECT") + '\n' + i18n::localize("B_BACK")),
object(object),
hid(40, 2),
hid(20, 2),
moveIndex(moveIndex)
{
instructions.addBox(false, 75, 30, 170, 23, COLOR_GREY, i18n::localize("SEARCH"), COLOR_WHITE);
Expand Down Expand Up @@ -137,22 +137,22 @@ void MoveOverlay::drawBottom() const

void MoveOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
if (hid.page() * hid.maxVisibleEntries() + i < moves.size())
{
Gui::text(std::to_string(u16(moves[hid.page() * hid.maxVisibleEntries() + i].first)) +
" - " + moves[hid.page() * hid.maxVisibleEntries() + i].second,
x, (i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE,
x, (i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE,
TextPosX::LEFT, TextPosY::TOP);
}
else
Expand Down
16 changes: 8 additions & 8 deletions 3ds/source/gui/overlay/PkmItemOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ namespace
PkmItemOverlay::PkmItemOverlay(ReplaceableScreen& screen, pksm::PKX& pkm)
: ReplaceableScreen(&screen, i18n::localize("A_SELECT") + '\n' + i18n::localize("B_BACK")),
pkm(pkm),
hid(40, 2)
hid(20, 2)
{
instructions.addBox(false, 75, 30, 170, 23, COLOR_GREY, i18n::localize("SEARCH"), COLOR_WHITE);
const std::vector<std::string>& rawItems =
Expand Down Expand Up @@ -162,22 +162,22 @@ void PkmItemOverlay::drawBottom() const

void PkmItemOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
if (hid.page() * hid.maxVisibleEntries() + i < items.size())
{
Gui::text(std::to_string(items[hid.page() * hid.maxVisibleEntries() + i].first) +
" - " + items[hid.page() * hid.maxVisibleEntries() + i].second,
x, (i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE,
x, (i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE,
TextPosX::LEFT, TextPosY::TOP);
}
else
Expand Down
14 changes: 7 additions & 7 deletions 3ds/source/gui/overlay/SortOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,22 @@ void SortOverlay::drawBottom() const

void SortOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
if (hid.page() * hid.maxVisibleEntries() + i < vals.size())
{
Gui::text(i18n::localize(std::string(SortScreen::sortTypeToString(
vals[hid.page() * hid.maxVisibleEntries() + i]))),
x, (i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE,
x, (i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE,
TextPosX::LEFT, TextPosY::TOP);
}
else
Expand Down
16 changes: 8 additions & 8 deletions 3ds/source/gui/overlay/VersionOverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#include <algorithm>

VersionOverlay::VersionOverlay(ReplaceableScreen& screen, pksm::PKX& pkm)
: ReplaceableScreen(&screen), pkm(pkm), hid(40, 2)
: ReplaceableScreen(&screen), pkm(pkm), hid(15, 2)
{
const auto& gameStrings = i18n::rawGames(Configuration::getInstance().language());
for (size_t i = 0; i < gameStrings.size(); i++)
Expand All @@ -58,22 +58,22 @@ void VersionOverlay::drawBottom() const

void VersionOverlay::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 203;
if (hid.page() * hid.maxVisibleEntries() + i < games.size())
{
Gui::text(std::to_string((int)games[hid.page() * hid.maxVisibleEntries() + i].first) +
" - " + games[hid.page() * hid.maxVisibleEntries() + i].second,
x, (i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE,
x, (i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE,
TextPosX::LEFT, TextPosY::TOP);
}
else
Expand Down
18 changes: 9 additions & 9 deletions 3ds/source/gui/screen/BankSelectionScreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include <algorithm>

BankSelectionScreen::BankSelectionScreen(int& storageBox)
: hid(40, 2), strings(Banks::bankNames()), storageBox(storageBox)
: hid(15, 2), strings(Banks::bankNames()), storageBox(storageBox)
{
int newBankNum = 0;
while (std::find_if(strings.begin(), strings.end(),
Expand All @@ -59,24 +59,24 @@ void BankSelectionScreen::drawBottom() const

void BankSelectionScreen::drawTop() const
{
Gui::sprite(ui_sheet_part_editor_20x2_idx, 0, 0);
Gui::sprite(ui_sheet_part_editor_10x2_idx, 0, 0);
int x = hid.index() < hid.maxVisibleEntries() / 2 ? 2 : 200;
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 12;
Gui::drawSolidRect(x, y, 198, 11, COLOR_MASKBLACK);
int y = (hid.index() % (hid.maxVisibleEntries() / 2)) * 24;
Gui::drawSolidRect(x, y, 198, 23, COLOR_MASKBLACK);
Gui::drawSolidRect(x, y, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 10, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 11, COLOR_YELLOW);
Gui::drawSolidRect(x, y, 1, 23, COLOR_YELLOW);
Gui::drawSolidRect(x, y + 22, 198, 1, COLOR_YELLOW);
Gui::drawSolidRect(x + 197, y, 1, 23, COLOR_YELLOW);
for (size_t i = 0; i < hid.maxVisibleEntries(); i++)
{
x = i < hid.maxVisibleEntries() / 2 ? 4 : 204;
if (hid.page() * hid.maxVisibleEntries() + i < strings.size())
{
Gui::text(strings[hid.page() * hid.maxVisibleEntries() + i].first, x,
(i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE, TextPosX::LEFT,
(i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE, TextPosX::LEFT,
TextPosY::TOP);
Gui::text(std::to_string(strings[hid.page() * hid.maxVisibleEntries() + i].second),
x + 192, (i % (hid.maxVisibleEntries() / 2)) * 12, FONT_SIZE_9, COLOR_WHITE,
x + 192, (i % (hid.maxVisibleEntries() / 2)) * 24, FONT_SIZE_18, COLOR_WHITE,
TextPosX::RIGHT, TextPosY::TOP);
}
else
Expand Down
Loading