tiny changes
This commit is contained in:
parent
87a9a7a667
commit
9b6e166053
@ -8,6 +8,7 @@
|
||||
#include "game/dvars.hpp"
|
||||
#include "dvars.hpp"
|
||||
#include "console.hpp"
|
||||
#include "gsc.hpp"
|
||||
|
||||
#include <utils/hook.hpp>
|
||||
#include <utils/string.hpp>
|
||||
@ -80,12 +81,11 @@ namespace dedicated
|
||||
return console_command_queue;
|
||||
}
|
||||
|
||||
void execute_console_command(const int client, const char* command)
|
||||
void execute_console_command([[maybe_unused]] const int local_client_num, const char* command)
|
||||
{
|
||||
if (game::Live_SyncOnlineDataFlags(0) == 0)
|
||||
{
|
||||
game::Cbuf_AddText(client, 0, command);
|
||||
game::Cbuf_AddText(client, 0, "\n");
|
||||
command::execute(command);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -100,8 +100,7 @@ namespace dedicated
|
||||
|
||||
for (const auto& command : queue)
|
||||
{
|
||||
game::Cbuf_AddText(0, 0, command.data());
|
||||
game::Cbuf_AddText(0, 0, "\n");
|
||||
command::execute(command);
|
||||
}
|
||||
}
|
||||
|
||||
@ -110,21 +109,6 @@ namespace dedicated
|
||||
std::this_thread::sleep_for(1ms);
|
||||
}
|
||||
|
||||
game::dvar_t* gscr_set_dynamic_dvar()
|
||||
{
|
||||
/*
|
||||
auto s = game::Scr_GetString(0);
|
||||
auto* dvar = game::Dvar_FindVar(s);
|
||||
|
||||
if (dvar && !strncmp("scr_", dvar->name, 4))
|
||||
{
|
||||
return dvar;
|
||||
}
|
||||
*/
|
||||
|
||||
return gscr_set_dynamic_dvar_hook.invoke<game::dvar_t*>();
|
||||
}
|
||||
|
||||
void kill_server()
|
||||
{
|
||||
const auto* svs_clients = *game::mp::svs_clients;
|
||||
@ -237,15 +221,18 @@ namespace dedicated
|
||||
a.popad64();
|
||||
|
||||
a.jmp(0x157DDF_b);
|
||||
}), true);//
|
||||
}), true);
|
||||
|
||||
// return 0 so the game doesn't override the cfg
|
||||
gsc::function::add("isusingmatchrulesdata", []()
|
||||
{
|
||||
game::Scr_AddInt(0);
|
||||
});
|
||||
|
||||
// delay console commands until the initialization is done // COULDN'T FOUND
|
||||
// utils::hook::call(0x1400D808C, execute_console_command);
|
||||
// utils::hook::nop(0x1400D80A4, 5);
|
||||
|
||||
// patch GScr_SetDynamicDvar to behave better
|
||||
gscr_set_dynamic_dvar_hook.create(0x43CF60_b, &gscr_set_dynamic_dvar);
|
||||
|
||||
utils::hook::nop(0x189514_b, 248); // don't load config file
|
||||
utils::hook::nop(0x156C46_b, 5); // ^
|
||||
utils::hook::set<uint8_t>(0x17F470_b, 0xC3); // don't save config file
|
||||
|
@ -588,7 +588,7 @@ namespace gsc
|
||||
|
||||
namespace method
|
||||
{
|
||||
void add(const std::string& name, builtin_method method)
|
||||
void add(const std::string& name, scripting::script_function method)
|
||||
{
|
||||
if (xsk::gsc::h1::resolver::find_method(name))
|
||||
{
|
||||
@ -668,7 +668,7 @@ namespace gsc
|
||||
utils::hook::nop(SELECT_VALUE(0x3CB723_b, 0x512783_b), 8);
|
||||
utils::hook::call(SELECT_VALUE(0x3CB723_b, 0x512783_b), vm_call_builtin_function_stub);
|
||||
|
||||
gsc::function::add("print", []()
|
||||
function::add("print", []()
|
||||
{
|
||||
const auto num = game::Scr_GetNumParam();
|
||||
std::string buffer{};
|
||||
@ -683,7 +683,7 @@ namespace gsc
|
||||
console::info("%s\n", buffer.data());
|
||||
});
|
||||
|
||||
gsc::function::add("assert", []()
|
||||
function::add("assert", []()
|
||||
{
|
||||
const auto expr = get_argument(0).as<int>();
|
||||
if (!expr)
|
||||
@ -692,7 +692,7 @@ namespace gsc
|
||||
}
|
||||
});
|
||||
|
||||
gsc::function::add("assertex", []()
|
||||
function::add("assertex", []()
|
||||
{
|
||||
const auto expr = get_argument(0).as<int>();
|
||||
if (!expr)
|
||||
@ -702,7 +702,7 @@ namespace gsc
|
||||
}
|
||||
});
|
||||
|
||||
gsc::function::add("replacefunc", []()
|
||||
function::add("replacefunc", []()
|
||||
{
|
||||
const auto what = get_argument(0).get_raw();
|
||||
const auto with = get_argument(1).get_raw();
|
||||
|
@ -22,12 +22,12 @@ namespace slowmotion
|
||||
|
||||
if (game::Scr_GetNumParam() >= 2)
|
||||
{
|
||||
end = game::Scr_GetFloat(1u);
|
||||
end = game::Scr_GetFloat(1);
|
||||
}
|
||||
|
||||
if (game::Scr_GetNumParam() >= 3)
|
||||
{
|
||||
duration = static_cast<int>(game::Scr_GetFloat(2u) * 1000.0f);
|
||||
duration = static_cast<int>(game::Scr_GetFloat(2) * 1000.0f);
|
||||
}
|
||||
|
||||
game::SV_SetConfigstring(10, utils::string::va("%i %i %g %g", *game::mp::gameTime, duration, start, end));
|
||||
|
@ -158,9 +158,9 @@ namespace game
|
||||
WEAK symbol<void(unsigned int id, scr_string_t stringValue,
|
||||
unsigned int paramcount)> Scr_NotifyId{0x3C92E0, 0x510340};
|
||||
WEAK symbol<const float*(const float* v)> Scr_AllocVector{0x3C42D0, 0x50B330};
|
||||
WEAK symbol<float(int index)> Scr_GetFloat{0x3C87D0, 0x50F870};
|
||||
WEAK symbol<const char*(int index)> Scr_GetString{0x3C8CC0, 0x50FCB0};
|
||||
WEAK symbol<int()> Scr_GetNumParam{0x3C89E0, 0x50F9D0};
|
||||
WEAK symbol<float(unsigned int index)> Scr_GetFloat{0x3C87D0, 0x50F870};
|
||||
WEAK symbol<const char*(unsigned int index)> Scr_GetString{0x3C8CC0, 0x50FCB0};
|
||||
WEAK symbol<unsigned int()> Scr_GetNumParam{0x3C89E0, 0x50F9D0};
|
||||
WEAK symbol<void()> Scr_ClearOutParams{0x3C7EF0, 0x50F070};
|
||||
WEAK symbol<scr_entref_t(unsigned int entId)> Scr_GetEntityIdRef{0x3C6760, 0x50D8E0};
|
||||
WEAK symbol<unsigned int(int classnum, unsigned int entnum)> Scr_GetEntityId{0x3C66B0, 0x50D830};
|
||||
|
Loading…
Reference in New Issue
Block a user