Skip to content

Commit 3cc79c4

Browse files
Unbound LB and RB while save and load binds are enabled to prevent the player from throwing grenades while using save and load
1 parent d80a82b commit 3cc79c4

15 files changed

+48
-0
lines changed

Hayzen/src/Games/Alpha/MW2/GameFunctions.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const char *(*SL_ConvertToString)(uint32_t stringValue) = reinterpret_cast<const
1212

1313
void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text) = reinterpret_cast<void(*)(int, int, const char *)>(0x822B6140);
1414

15+
void (*Cbuf_AddText)(int localClientNum, const char *text) = reinterpret_cast<void(*)(int, const char *)>(0x8226F590);
16+
1517
bool (*Dvar_GetBool)(const char *dvarName) = reinterpret_cast<bool(*)(const char *)>(0x82303B00);
1618

1719
float (*Dvar_GetFloat)(const char *dvarName) = reinterpret_cast<float(*)(const char *)>(0x82303BD0);

Hayzen/src/Games/Alpha/MW2/GameFunctions.h

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ extern const char *(*SL_ConvertToString)(uint32_t stringValue);
1313

1414
extern void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text);
1515

16+
extern void (*Cbuf_AddText)(int localClientNum, const char *text);
17+
1618
extern bool (*Dvar_GetBool)(const char *dvarName);
1719

1820
extern float (*Dvar_GetFloat)(const char *dvarName);

Hayzen/src/Games/Alpha/MW2/MenuFunctions.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,15 @@ void AlphaMW2MenuFunctions::ToggleSaveLoadBinds(Menu *pMenu)
103103
int iClientNum = pMenu->GetClientNum();
104104

105105
if (!pMenu->BindsEnabled())
106+
{
107+
Cbuf_AddText(0, "unbind button_lshldr;unbind button_rshldr");
106108
iPrintLn(iClientNum, "Press " CHAR_RB " to ^2Save^7 and " CHAR_LB " to ^2Load");
109+
}
107110
else
111+
{
112+
Cbuf_AddText(0, "bind button_lshldr \"+smoke\";bind button_rshldr \"+frag\"");
108113
iPrintLn(iClientNum, "Save and Load binds ^1Off");
114+
}
109115

110116
pMenu->ToggleBinds();
111117
}

Hayzen/src/Games/MW2/GameFunctions.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const char *(*SL_ConvertToString)(uint32_t stringValue) = reinterpret_cast<const
1212

1313
void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text) = reinterpret_cast<void(*)(int, int, const char *)>(0x822548D8);
1414

15+
void (*Cbuf_AddText)(int localClientNum, const char *text) = reinterpret_cast<void(*)(int, const char *)>(0x82224990);
16+
1517
bool (*Dvar_GetBool)(const char *dvarName) = reinterpret_cast<bool(*)(const char *)>(0x8229EEE8);
1618

1719
const char *(*Dvar_GetString)(const char *dvarName) = reinterpret_cast<const char *(*)(const char *)>(0x8229F0A8);

Hayzen/src/Games/MW2/GameFunctions.h

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ extern const char *(*SL_ConvertToString)(uint32_t stringValue);
1313

1414
extern void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text);
1515

16+
extern void (*Cbuf_AddText)(int localClientNum, const char *text);
17+
1618
extern bool (*Dvar_GetBool)(const char *dvarName);
1719

1820
extern const char *(*Dvar_GetString)(const char *dvarName);

Hayzen/src/Games/MW2/MenuFunctions.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,15 @@ void MW2MenuFunctions::ToggleSaveLoadBinds(Menu *pMenu)
154154
int iClientNum = pMenu->GetClientNum();
155155

156156
if (!pMenu->BindsEnabled())
157+
{
158+
Cbuf_AddText(0, "unbind button_lshldr;unbind button_rshldr");
157159
iPrintLn(iClientNum, "Press " CHAR_RB " to ^2Save^7 and " CHAR_LB " to ^2Load");
160+
}
158161
else
162+
{
163+
Cbuf_AddText(0, "bind button_lshldr \"+smoke\";bind button_rshldr \"+frag\"");
159164
iPrintLn(iClientNum, "Save and Load binds ^1Off");
165+
}
160166

161167
pMenu->ToggleBinds();
162168
}

Hayzen/src/Games/MW3/GameFunctions.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const char *(*SL_ConvertToString)(uint32_t stringValue) = reinterpret_cast<const
1212

1313
void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text) = reinterpret_cast<void(*)(int, int, const char *)>(0x822C9340);
1414

15+
void (*Cbuf_AddText)(int localClientNum, const char *text) = reinterpret_cast<void(*)(int, const char *)>(0x82287F68);
16+
1517
const char *(*Dvar_GetString)(const char *dvarName) = reinterpret_cast<const char *(*)(const char *)>(0x8232E488);
1618

1719
clientState_s *(*GetClientState)(int clientNum) = reinterpret_cast<clientState_s *(*)(int)>(0x82244130);

Hayzen/src/Games/MW3/GameFunctions.h

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ extern const char *(*SL_ConvertToString)(uint32_t stringValue);
1313

1414
extern void (*SV_GameSendServerCommand)(int clientNum, int type, const char *text);
1515

16+
extern void (*Cbuf_AddText)(int localClientNum, const char *text);
17+
1618
extern const char *(*Dvar_GetString)(const char *dvarName);
1719

1820
extern clientState_s *(*GetClientState)(int clientNum);

Hayzen/src/Games/MW3/MenuFunctions.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,15 @@ void MW3MenuFunctions::ToggleSaveLoadBinds(Menu *pMenu)
107107
int iClientNum = pMenu->GetClientNum();
108108

109109
if (!pMenu->BindsEnabled())
110+
{
111+
Cbuf_AddText(0, "unbind button_lshldr;unbind button_rshldr");
110112
iPrintLn(iClientNum, "Press " CHAR_RB " to ^2Save^7 and " CHAR_LB " to ^2Load");
113+
}
111114
else
115+
{
116+
Cbuf_AddText(0, "bind button_lshldr \"+smoke\";bind button_rshldr \"+frag\"");
112117
iPrintLn(iClientNum, "Save and Load binds ^1Off");
118+
}
113119

114120
pMenu->ToggleBinds();
115121
}

Hayzen/src/Games/SpecOps/MW2/MW2.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ void SpecOpsMW2::CreateStructure()
5454
pTeleport->AddChild(MakeOption("UFO", 3, SpecOpsMW2MenuFunctions::ToggleUFO));
5555
s_RootOption.AddChild(pTeleport);
5656

57+
// Second player section
5758
auto pSecondPlayer = MakeOption("Second Player", 2);
5859
pSecondPlayer->AddChild(MakeOption("God Mode", 0, SpecOpsMW2MenuFunctions::ToggleSecondPlayerGodMode));
5960
pSecondPlayer->AddChild(MakeOption("Teleport to Me", 1, SpecOpsMW2MenuFunctions::TeleportSecondPlayerToMe));

Hayzen/src/Games/SpecOps/MW2/MenuFunctions.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,15 @@ void SpecOpsMW2MenuFunctions::ToggleSaveLoadBinds(Menu *pMenu)
4747
int iClientNum = pMenu->GetClientNum();
4848

4949
if (!pMenu->BindsEnabled())
50+
{
51+
Cbuf_AddText(0, "unbind button_lshldr;unbind button_rshldr");
5052
iPrintLn(iClientNum, "Press " CHAR_RB " to ^2Save^7 and " CHAR_LB " to ^2Load");
53+
}
5154
else
55+
{
56+
Cbuf_AddText(0, "bind button_lshldr \"+smoke\";bind button_rshldr \"+frag\"");
5257
iPrintLn(iClientNum, "Save and Load binds ^1Off");
58+
}
5359

5460
pMenu->ToggleBinds();
5561
}

Hayzen/src/Games/SpecOps/MW3/GameFunctions.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ namespace SpecOpsMW3GameFunctions
77

88
void (*SV_GameSendServerCommand)(int clientNum, const char *text) = reinterpret_cast<void(*)(int, const char *)>(0x82371680);
99

10+
void (*Cbuf_AddText)(int localClientNum, const char *text) = reinterpret_cast<void(*)(int, const char *)>(0x8228E1F8);
11+
1012
playerState_s *(*SV_GetPlayerstateForClientNum)(int num) = reinterpret_cast<playerState_s *(*)(int)>(0x82371650);
1113

1214
void (*TeleportPlayer)(gentity_s *player, const float *origin, const float *angles) = reinterpret_cast<void(*)(gentity_s *, const float *, const float *)>(0x8220C960);

Hayzen/src/Games/SpecOps/MW3/GameFunctions.h

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ namespace SpecOpsMW3GameFunctions
1111

1212
extern void (*SV_GameSendServerCommand)(int clientNum, const char *text);
1313

14+
extern void (*Cbuf_AddText)(int localClientNum, const char *text);
15+
1416
extern playerState_s *(*SV_GetPlayerstateForClientNum)(int num);
1517

1618
extern void (*TeleportPlayer)(gentity_s *player, const float *origin, const float *angles);

Hayzen/src/Games/SpecOps/MW3/MW3.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ void SpecOpsMW3::CreateStructure()
5555
pTeleport->AddChild(MakeOption("UFO", 3, SpecOpsMW3MenuFunctions::ToggleUFO));
5656
s_RootOption.AddChild(pTeleport);
5757

58+
// Second player section
5859
auto pSecondPlayer = MakeOption("Second Player", 2);
5960
pSecondPlayer->AddChild(MakeOption("God Mode", 0, SpecOpsMW3MenuFunctions::ToggleSecondPlayerGodMode));
6061
pSecondPlayer->AddChild(MakeOption("Teleport to Me", 1, SpecOpsMW3MenuFunctions::TeleportSecondPlayerToMe));

Hayzen/src/Games/SpecOps/MW3/MenuFunctions.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,15 @@ void SpecOpsMW3MenuFunctions::ToggleSaveLoadBinds(Menu *pMenu)
4747
int iClientNum = pMenu->GetClientNum();
4848

4949
if (!pMenu->BindsEnabled())
50+
{
51+
Cbuf_AddText(0, "unbind button_lshldr;unbind button_rshldr");
5052
iPrintLn(iClientNum, "Press " CHAR_RB " to ^2Save^7 and " CHAR_LB " to ^2Load");
53+
}
5154
else
55+
{
56+
Cbuf_AddText(0, "bind button_lshldr \"+smoke\";bind button_rshldr \"+frag\"");
5257
iPrintLn(iClientNum, "Save and Load binds ^1Off");
58+
}
5359

5460
pMenu->ToggleBinds();
5561
}

0 commit comments

Comments
 (0)