Skip to content
This repository was archived by the owner on Mar 31, 2024. It is now read-only.

Commit 43a80f8

Browse files
Add keys to switch mod loader mods page.
1 parent 4d23de6 commit 43a80f8

File tree

6 files changed

+32
-4
lines changed

6 files changed

+32
-4
lines changed

resources/VHud/text/english.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,8 @@ H_DEL = Delete ~k~~MENU_DELETE_SAVE~
455455
H_NOKEY = Unset ~k~~MENU_UNSETKEY~
456456
HP_SEL = Select ~k~~PED_SPRINT~
457457
HP_BAC = Back ~k~~VEHICLE_ENTER_EXIT~
458+
H_MLPREV = Previous Page ~k~~MENU_ML_PREVPAGE~
459+
H_MLNEXT = Next Page ~k~~MENU_ML_NEXTPAGE~
458460

459461
[VEHICLE]
460462
NORMAL = Normal

resources/VHud/text/italian.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,8 @@ H_DEL = Elimina ~k~~MENU_DELETE_SAVE~
456456
H_NOKEY = Rimuovi tasto ~k~~MENU_UNSETKEY~
457457
HP_SEL = Seleziona ~k~~PED_SPRINT~
458458
HP_BAC = Indietro ~k~~VEHICLE_ENTER_EXIT~
459+
H_MLPREV = Pagina precedente ~k~~MENU_ML_PREVPAGE~
460+
H_MLNEXT = Pagina successiva ~k~~MENU_ML_NEXTPAGE~
459461
460462
[VEHICLE]
461463
NORMAL = Normal

source/FontNew.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,8 @@ void CFontNew::SetTokenToIgnore(char t1, char t2) {
381381

382382
int CFontNew::PrintString(float x, float y, const char* s) {
383383
int n = 0;
384-
if (*s != '*') {
384+
385+
if (s && *s != '*') {
385386
if (Details.background) {
386387
CRect rect;
387388
x += Details.backgroundBorder.left;

source/MenuNew.cpp

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ auto HelpText_ShowHideLegend = []() { MenuNew.bShowLegend = MenuNew.bShowLegend
116116
auto HelpText_DeleteSave = []() { MenuNew.SetMenuMessage(MENUMESSAGE_DELETE_GAME); Audio.PlayChunk(CHUNK_MENU_SELECT, 1.0f); };
117117
auto HelpText_ApplyChanges = []() { if (MenuNew.nMenuAlert == MENUALERT_PENDINGCHANGES) MenuNew.ApplyGraphicsChanges(); Audio.PlayChunk(CHUNK_MENU_SELECT, 1.0f); };
118118
auto HelpText_UnSetKey = []() { MenuNew.SetMenuMessage(MENUMESSAGE_SETKEYTONULL); Audio.PlayChunk(CHUNK_MENU_SELECT, 1.0f); };
119+
auto HelpText_MLPrevPage = []() { MenuNew.ProcessOriginalOptions(MENUPAGE_MODLOADER_MODS, 11, false, true); MenuNew.SetInputTypeAndClear(MenuNew.nCurrentInputType); Audio.PlayChunk(CHUNK_MENU_SCROLL, 1.0f); };
120+
auto HelpText_MLNextPage = []() { MenuNew.ProcessOriginalOptions(MENUPAGE_MODLOADER_MODS, 9, false, true); MenuNew.SetInputTypeAndClear(MenuNew.nCurrentInputType); Audio.PlayChunk(CHUNK_MENU_SCROLL, 1.0f); };
119121

120122
static LateStaticInit InstallHooks([]() {
121123
patch::Set<BYTE>(0x53E797, 0xEB);
@@ -1737,6 +1739,10 @@ void CMenuNew::Process() {
17371739
}
17381740
[[fallthrough]];
17391741
default:
1742+
if (nCurrentInputType == MENUINPUT_ENTRY && !faststrcmp(MenuScreen[nCurrentScreen].Tab[nCurrentTabItem].tabName, "FE_MODS")) {
1743+
AppendHelpText("H_MLPREV", HelpText_MLPrevPage);
1744+
AppendHelpText("H_MLNEXT", HelpText_MLNextPage);
1745+
}
17401746
AppendHelpText("H_BAC", HelpText_GoBack);
17411747
AppendHelpText("H_SEL", HelpText_GoThrough);
17421748
break;
@@ -2357,14 +2363,23 @@ void CMenuNew::ProcessEntryStuff(int enter, int input) {
23572363
if (enter)
23582364
process = true;
23592365

2360-
if (process) {
2366+
if (process && nCurrentEntryItem < 9) {
23612367
page = MENUPAGE_MODLOADER_MODS;
23622368

23632369
nPreviousScreen = nCurrentScreen;
23642370
nCurrentScreen = MENUSCREEN_MODLOADER_MOD_OPTION;
23652371
bRequestScreenUpdate = true;
23662372
SetInputTypeAndClear(MENUINPUT_TAB);
23672373
}
2374+
2375+
if (input > 0) {
2376+
ProcessOriginalOptions(MENUPAGE_MODLOADER_MODS, 11, false, true);
2377+
SetInputTypeAndClear(nCurrentInputType);
2378+
}
2379+
else if (input < 0) {
2380+
ProcessOriginalOptions(MENUPAGE_MODLOADER_MODS, 9, false, true);
2381+
SetInputTypeAndClear(nCurrentInputType);
2382+
}
23682383
}
23692384
else if (!faststrcmp(MenuScreen[nCurrentScreen].Tab[nCurrentTabItem].tabName, "FE_MLSET")) {
23702385
process = true;
@@ -3206,7 +3221,11 @@ void CMenuNew::DrawDefault() {
32063221
const int entryType = MenuScreen[nCurrentScreen].Tab[nCurrentTabItem].Entries[i].type;
32073222
switch (entryType) {
32083223
case MENUENTRY_ORIGINAL:
3209-
leftText = OriginalLeftTextString[i];
3224+
if (char* str = OriginalLeftTextString[i]) {
3225+
3226+
if (str[0] != '\0')
3227+
leftText = OriginalLeftTextString[i];
3228+
}
32103229
break;
32113230
case MENUENTRY_LOADGAME:
32123231
leftText = nSaveSlots[i];

source/PadNew.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ CControls Controls[NUM_CONTROL_ACTIONS] = {
9797
{ "MENU_APPLY_CHANGES", KEY(' '), GAMEPAD_SQUARE, GAMEPAD_SQUARE },
9898
{ "MENU_BACK", KEY(rsESC), GAMEPAD_CIRCLE, GAMEPAD_CIRCLE },
9999
{ "MENU_SELECT", KEY(rsENTER), GAMEPAD_CROSS, GAMEPAD_CROSS },
100-
{ "MENU_UNSETKEY", KEY(' '), GAMEPAD_SQUARE, GAMEPAD_SQUARE }
100+
{ "MENU_UNSETKEY", KEY(' '), GAMEPAD_SQUARE, GAMEPAD_SQUARE },
101+
{ "MENU_ML_PREVPAGE", KEY(rsLEFT), GAMEPAD_DPADLEFT, GAMEPAD_DPADLEFT },
102+
{ "MENU_ML_NEXTPAGE", KEY(rsRIGHT), GAMEPAD_DPADLEFT, GAMEPAD_DPADRIGHT }
101103
};
102104

103105
const char* controlKeysStrings[62] = {

source/PadNew.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ enum eControlsActions {
9898
MENU_BACK,
9999
MENU_SELECT,
100100
MENU_UNSETKEY,
101+
MENU_ML_PREVPAGE,
102+
MENU_ML_NEXTPAGE,
101103
NUM_CONTROL_ACTIONS
102104
};
103105

0 commit comments

Comments
 (0)