Add console input
This commit is contained in:
parent
8efd6c6f7f
commit
76906a221e
@ -103,7 +103,7 @@ namespace binding
|
|||||||
|
|
||||||
if (static_cast<size_t>(key) < custom_binds.size() && !custom_binds[key].empty())
|
if (static_cast<size_t>(key) < custom_binds.size() && !custom_binds[key].empty())
|
||||||
{
|
{
|
||||||
game::Cbuf_AddText(local_client_num, utils::string::va("%s\n", custom_binds[key].data()));
|
game::Cbuf_AddText(local_client_num, 0, utils::string::va("%s\n", custom_binds[key].data()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -493,7 +493,7 @@ namespace command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
game::Cbuf_AddText(0, command.data());
|
game::Cbuf_AddText(0, 0, command.data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ namespace console
|
|||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
static bool ingame = false;
|
||||||
|
|
||||||
DWORD WINAPI console(LPVOID)
|
DWORD WINAPI console(LPVOID)
|
||||||
{
|
{
|
||||||
ShowWindow(GetConsoleWindow(), SW_SHOW);
|
ShowWindow(GetConsoleWindow(), SW_SHOW);
|
||||||
@ -24,6 +26,10 @@ namespace console
|
|||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
std::getline(std::cin, cmd);
|
std::getline(std::cin, cmd);
|
||||||
|
if (ingame)
|
||||||
|
{
|
||||||
|
game::Cbuf_AddText(0, 0, cmd.data());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -45,10 +51,6 @@ namespace console
|
|||||||
printf("%s\n", message.data());
|
printf("%s\n", message.data());
|
||||||
|
|
||||||
//game_console::print(type, message);
|
//game_console::print(type, message);
|
||||||
//messages.access([&message](message_queue& msgs)
|
|
||||||
// {
|
|
||||||
// msgs.emplace(message);
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void print(const int type, const char* fmt, ...)
|
void print(const int type, const char* fmt, ...)
|
||||||
@ -68,6 +70,16 @@ namespace console
|
|||||||
{
|
{
|
||||||
CreateThread(0, 0, console, 0, 0, 0);
|
CreateThread(0, 0, console, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void post_unpack() override
|
||||||
|
{
|
||||||
|
ingame = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void pre_destroy() override
|
||||||
|
{
|
||||||
|
ingame = false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ namespace console
|
|||||||
enum console_type
|
enum console_type
|
||||||
{
|
{
|
||||||
con_type_error = 1,
|
con_type_error = 1,
|
||||||
|
con_type_dev = 2,
|
||||||
con_type_warning = 3,
|
con_type_warning = 3,
|
||||||
con_type_info = 7
|
con_type_info = 7
|
||||||
};
|
};
|
||||||
@ -21,6 +22,14 @@ namespace console
|
|||||||
print(con_type_error, fmt, std::forward<Args>(args)...);
|
print(con_type_error, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename... Args>
|
||||||
|
void debug(const char* fmt, Args&&... args)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG
|
||||||
|
print(2, fmt, std::forward<Args>(args)...);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
template <typename... Args>
|
template <typename... Args>
|
||||||
void warn(const char* fmt, Args&&... args)
|
void warn(const char* fmt, Args&&... args)
|
||||||
{
|
{
|
||||||
|
@ -83,8 +83,8 @@ namespace dedicated
|
|||||||
{
|
{
|
||||||
if (game::Live_SyncOnlineDataFlags(0) == 0)
|
if (game::Live_SyncOnlineDataFlags(0) == 0)
|
||||||
{
|
{
|
||||||
game::Cbuf_AddText(client, command);
|
game::Cbuf_AddText(client, 0, command);
|
||||||
game::Cbuf_AddText(client, "\n");
|
game::Cbuf_AddText(client, 0, "\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -99,8 +99,8 @@ namespace dedicated
|
|||||||
|
|
||||||
for (const auto& command : queue)
|
for (const auto& command : queue)
|
||||||
{
|
{
|
||||||
game::Cbuf_AddText(0, command.data());
|
game::Cbuf_AddText(0, 0, command.data());
|
||||||
game::Cbuf_AddText(0, "\n");
|
game::Cbuf_AddText(0, 0, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -680,7 +680,7 @@ namespace game_console
|
|||||||
|
|
||||||
if (key == game::keyNum_t::K_ENTER)
|
if (key == game::keyNum_t::K_ENTER)
|
||||||
{
|
{
|
||||||
game::Cbuf_AddText(0, utils::string::va("%s \n", fixed_input.data()));
|
game::Cbuf_AddText(0, 0, utils::string::va("%s \n", fixed_input.data()));
|
||||||
|
|
||||||
if (history_index != -1)
|
if (history_index != -1)
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ namespace game
|
|||||||
WEAK symbol<unsigned int(unsigned int id)> AllocThread{0x0, 0x509440};
|
WEAK symbol<unsigned int(unsigned int id)> AllocThread{0x0, 0x509440};
|
||||||
WEAK symbol<ObjectVariableValue*(unsigned int* id)> AllocVariable{0x0, 0x0};
|
WEAK symbol<ObjectVariableValue*(unsigned int* id)> AllocVariable{0x0, 0x0};
|
||||||
|
|
||||||
WEAK symbol<void(int localClientNum, const char* text)> Cbuf_AddText{0x0, 0x1CF480};
|
WEAK symbol<void(int localClientNum, int controllerIndex, const char* text)> Cbuf_AddText{0x0, 0x1CF480};
|
||||||
WEAK symbol<void(int localClientNum, int controllerIndex, const char* buffer,
|
WEAK symbol<void(int localClientNum, int controllerIndex, const char* buffer,
|
||||||
void (int, int, const char*))> Cbuf_ExecuteBufferInternal{0x0, 0x155BC0};
|
void (int, int, const char*))> Cbuf_ExecuteBufferInternal{0x0, 0x155BC0};
|
||||||
WEAK symbol<void(const char* message)> Conbuf_AppendText{0x0, 0x0};
|
WEAK symbol<void(const char* message)> Conbuf_AppendText{0x0, 0x0};
|
||||||
|
Loading…
Reference in New Issue
Block a user