Skip to content

Commit

Permalink
i forgot to commit things
Browse files Browse the repository at this point in the history
  • Loading branch information
ASpoonPlaysGames committed Jan 21, 2024
1 parent 687690c commit 9b5f24a
Show file tree
Hide file tree
Showing 27 changed files with 101 additions and 85 deletions.
6 changes: 3 additions & 3 deletions primedev/core/math/bitbuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,7 @@ class BFRead : public BitBufferBase

while (1)
{
char val = ReadChar();
char val = (char)ReadChar();

if (val == 0)
break;
Expand Down Expand Up @@ -745,7 +745,7 @@ class BFWrite : public BitBufferBase

INLINE int GetNumBitsLeft()
{
return m_OutBitsLeft + (32 * (m_DataEnd - m_DataOut - 1));
return (int)(m_OutBitsLeft + (32 * (m_DataEnd - m_DataOut - 1)));
}

INLINE void Reset()
Expand Down Expand Up @@ -918,7 +918,7 @@ class BFWrite : public BitBufferBase

INLINE i32 GetNumBitsWritten()
{
return (32 - m_OutBitsLeft) + (32 * (m_DataOut - m_Data));
return (i32)((32 - m_OutBitsLeft) + (32 * (m_DataOut - m_Data)));
}

INLINE i32 GetNumBytesWritten()
Expand Down
2 changes: 1 addition & 1 deletion primedev/dllmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#include <string.h>
#include <filesystem>

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID /*lpReserved*/)
{
switch (ul_reason_for_call)
{
Expand Down
6 changes: 4 additions & 2 deletions primedev/masterserver/masterserver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ void MasterServerManager::AuthenticateWithServer(const char* uid, const char* pl
std::string passwordStr(password);

std::thread requestThread(
[this, uidStr, tokenStr, serverIdStr, passwordStr, server]()
[&]()
{
// esnure that any persistence saving is done, so we know masterserver has newest
while (m_bSavingPersistentData)
Expand All @@ -635,7 +635,7 @@ void MasterServerManager::AuthenticateWithServer(const char* uid, const char* pl
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);

{
char* escapedPassword = curl_easy_escape(curl, passwordStr.c_str(), passwordStr.length());
char* escapedPassword = curl_easy_escape(curl, passwordStr.c_str(), (int)passwordStr.length());

curl_easy_setopt(
curl,
Expand Down Expand Up @@ -734,6 +734,8 @@ void MasterServerManager::AuthenticateWithServer(const char* uid, const char* pl
m_bSuccessfullyAuthenticatedWithGameServer = false;
m_bScriptAuthenticatingWithGameServer = false;
}

return;
});

requestThread.detach();
Expand Down
3 changes: 1 addition & 2 deletions primedev/mods/autodownload/moddownloader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ std::optional<fs::path> ModDownloader::FetchModFromDistantStore(std::string_view
modState.state = DOWNLOADING;

// Download the actual archive
bool failed = false;
FILE* fp = fopen(downloadPath.generic_string().c_str(), "wb");
CURLcode result;
CURL* easyhandle;
Expand Down Expand Up @@ -288,7 +287,7 @@ bool ModDownloader::IsModLegit(fs::path modPath, std::string_view expectedChecks
std::streamsize bytesRead = fp.gcount();
if (bytesRead > 0)
{
status = BCryptHashData(hashHandle, (PBYTE)buffer.data(), bytesRead, 0);
status = BCryptHashData(hashHandle, (PUCHAR)buffer.data(), (ULONG)bytesRead, 0);
if (!NT_SUCCESS(status))
{
modState.state = MOD_CORRUPTED;
Expand Down
2 changes: 1 addition & 1 deletion primedev/mods/modsavefiles.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ ADD_SQFUNC("int", NSGetTotalSpaceRemaining, "", "", ScriptContext::CLIENT | Scri
{
Mod* mod = g_pSquirrel<context>->getcallingmod(sqvm);
fs::path dir = savePath / fs::path(mod->m_ModDirectory).filename();
g_pSquirrel<context>->pushinteger(sqvm, (MAX_FOLDER_SIZE - GetSizeOfFolder(dir)) / 1024);
g_pSquirrel<context>->pushinteger(sqvm, (MAX_FOLDER_SIZE - (int)GetSizeOfFolder(dir)) / 1024);
return SQRESULT_NOTNULL;
}

Expand Down
2 changes: 2 additions & 0 deletions primedev/pch.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ typedef void (*callable_v)(void* v);
#define assert_msg(exp, msg) assert((exp, msg))
//clang-format on

#define NOTE_UNUSED(unusedVar) (void)unusedVar;

#include "core/macros.h"

#include "core/math/color.h"
Expand Down
2 changes: 1 addition & 1 deletion primedev/plugins/plugins.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ std::optional<Plugin> PluginManager::LoadPlugin(fs::path path, PluginInitFuncs*

plugin.run_frame = (PLUGIN_RUNFRAME)GetProcAddress(pluginLib, "PLUGIN_RUNFRAME");

plugin.handle = m_vLoadedPlugins.size();
plugin.handle = (int)m_vLoadedPlugins.size();
plugin.logger = std::make_shared<ColoredLogger>(plugin.displayName.c_str(), NS::Colors::PLUGIN);
RegisterLogger(plugin.logger);
NS::log::PLUGINSYS->info("Loading plugin {} version {}", plugin.displayName, plugin.version);
Expand Down
2 changes: 1 addition & 1 deletion primedev/scripts/client/clientchathooks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void, __fastcall, (void* self, const char* message, int inboxId, bool isTeam, bo
RemoveAsciiControlSequences(const_cast<char*>(message), true);

SQRESULT result = g_pSquirrel<ScriptContext::CLIENT>->Call(
"CHudChat_ProcessMessageStartThread", static_cast<int>(senderId) - 1, payload, isTeam, isDead, type);
"CHudChat_ProcessMessageStartThread", senderId - 1, payload, isTeam, isDead, type);
if (result == SQRESULT_ERROR)
for (CHudChat* hud = *CHudChat::allHuds; hud != NULL; hud = hud->next)
CHudChat__AddGameLine(hud, message, inboxId, isTeam, isDead);
Expand Down
1 change: 1 addition & 0 deletions primedev/scripts/client/scriptmainmenupromos.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum eMainMenuPromoDataProperty
};
ADD_SQFUNC("void", NSRequestCustomMainMenuPromos, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
g_pMasterServerManager->RequestMainMenuPromos();
return SQRESULT_NULL;
}
Expand Down
1 change: 1 addition & 0 deletions primedev/scripts/client/scriptmodmenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ ADD_SQFUNC(

ADD_SQFUNC("void", NSReloadMods, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
g_pModManager->LoadMods();
return SQRESULT_NULL;
}
8 changes: 6 additions & 2 deletions primedev/scripts/client/scriptserverbrowser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

ADD_SQFUNC("void", NSRequestServerList, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
g_pMasterServerManager->RequestServerList();
return SQRESULT_NULL;
}
Expand All @@ -26,12 +27,13 @@ ADD_SQFUNC("bool", NSMasterServerConnectionSuccessful, "", "", ScriptContext::UI

ADD_SQFUNC("int", NSGetServerCount, "", "", ScriptContext::UI)
{
g_pSquirrel<context>->pushinteger(sqvm, g_pMasterServerManager->m_vRemoteServers.size());
g_pSquirrel<context>->pushinteger(sqvm, (SQInteger)g_pMasterServerManager->m_vRemoteServers.size());
return SQRESULT_NOTNULL;
}

ADD_SQFUNC("void", NSClearRecievedServerList, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
g_pMasterServerManager->ClearServerList();
return SQRESULT_NULL;
}
Expand Down Expand Up @@ -114,6 +116,7 @@ ADD_SQFUNC("void", NSConnectToAuthedServer, "", "", ScriptContext::UI)

ADD_SQFUNC("void", NSTryAuthWithLocalServer, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
// do auth request
g_pMasterServerManager->AuthenticateWithOwnServer(g_pLocalPlayerUserID, g_pMasterServerManager->m_sOwnClientAuthToken);

Expand All @@ -122,6 +125,7 @@ ADD_SQFUNC("void", NSTryAuthWithLocalServer, "", "", ScriptContext::UI)

ADD_SQFUNC("void", NSCompleteAuthWithLocalServer, "", "", ScriptContext::UI)
{
NOTE_UNUSED(sqvm)
// literally just set serverfilter
// note: this assumes we have no authdata other than our own
if (g_pServerAuthentication->m_RemoteAuthenticationData.size())
Expand All @@ -139,7 +143,7 @@ ADD_SQFUNC("string", NSGetAuthFailReason, "", "", ScriptContext::UI)
ADD_SQFUNC("array<ServerInfo>", NSGetGameServers, "", "", ScriptContext::UI)
{
g_pSquirrel<context>->newarray(sqvm, 0);
for (size_t i = 0; i < g_pMasterServerManager->m_vRemoteServers.size(); i++)
for (SQInteger i = 0; i < (SQInteger)g_pMasterServerManager->m_vRemoteServers.size(); i++)
{
const RemoteServerInfo& remoteServer = g_pMasterServerManager->m_vRemoteServers[i];

Expand Down
6 changes: 3 additions & 3 deletions primedev/scripts/scriptdatatables.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ REPLACE_SQFUNC(GetDataTableRowCount, (ScriptContext::UI | ScriptContext::CLIENT
return g_pSquirrel<context>->m_funcOriginals["GetDatatableRowCount"](sqvm);

CSVData* csv = *pData;
g_pSquirrel<context>->pushinteger(sqvm, csv->dataPointers.size());
g_pSquirrel<context>->pushinteger(sqvm, (SQInteger)csv->dataPointers.size());
return SQRESULT_NOTNULL;
}

Expand Down Expand Up @@ -732,7 +732,7 @@ std::string DataTableToString(Datatable* datatable)
{
sCSVString += '\n';

bool bShouldComma = false;
bShouldComma = false;
for (int col = 0; col < datatable->numColumns; col++)
{
if (bShouldComma)
Expand Down Expand Up @@ -815,7 +815,7 @@ void ConCommand_dump_datatable(const CCommand& args)
DumpDatatable(args.Arg(1));
}

void ConCommand_dump_datatables(const CCommand& args)
void ConCommand_dump_datatables(const CCommand& /*args*/)
{
// likely not a comprehensive list, might be missing a couple?
static const std::vector<const char*> VANILLA_DATATABLE_PATHS = {
Expand Down
4 changes: 2 additions & 2 deletions primedev/scripts/scripthttprequesthandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,11 @@ template <ScriptContext context> int HttpRequestHandler::MakeHttpRequest(const H
bool isFirstValue = true;
for (const auto& kv : requestParameters.queryParameters)
{
char* key = curl_easy_escape(curl, kv.first.c_str(), kv.first.length());
char* key = curl_easy_escape(curl, kv.first.c_str(), (int)kv.first.length());

for (const std::string& queryValue : kv.second)
{
char* value = curl_easy_escape(curl, queryValue.c_str(), queryValue.length());
char* value = curl_easy_escape(curl, queryValue.c_str(), (int)queryValue.length());

if (isFirstValue && !bUrlContainsQuery)
{
Expand Down
6 changes: 3 additions & 3 deletions primedev/server/auth/bansystem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ void ConCommand_unban(const CCommand& args)
g_pBanSystem->UnbanUID(strtoull(args.Arg(1), nullptr, 10));
}

void ConCommand_clearbanlist(const CCommand& args)
void ConCommand_clearbanlist(const CCommand& /*args*/)
{
g_pBanSystem->ClearBanlist();
}
Expand All @@ -222,8 +222,8 @@ int ConCommand_banCompletion(const char* const partial, char commands[COMMAND_CO
const char* cmdName = partial;
const char* query = partial + (space == nullptr ? 0 : space - partial) + 1;

const int queryLength = strlen(query);
const int cmdLength = strlen(cmdName) - queryLength;
const size_t queryLength = strlen(query);
const size_t cmdLength = strlen(cmdName) - queryLength;

int numCompletions = 0;
for (int i = 0; i < GetMaxPlayers() && numCompletions < COMMAND_COMPLETION_MAXITEMS - 2; i++)
Expand Down
7 changes: 3 additions & 4 deletions primedev/server/auth/serverauthentication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ bool ServerAuthenticationManager::IsDuplicateAccount(CBaseClient* pPlayer, const
if (m_bAllowDuplicateAccounts)
return false;

bool bHasUidPlayer = false;
for (int i = 0; i < g_pGlobals->m_nMaxClients; i++)
if (&g_pClientArray[i] != pPlayer && !strcmp(pPlayerUid, g_pClientArray[i].m_UID))
return true;
Expand Down Expand Up @@ -291,7 +290,7 @@ void,, (CBaseClient* self))
{
g_pServerAuthentication->m_bForceResetLocalPlayerPersistence = false;
g_pServerAuthentication->WritePersistentData(self);
g_pServerPresence->SetPlayerCount(g_pServerAuthentication->m_PlayerAuthenticationData.size());
g_pServerPresence->SetPlayerCount((int)g_pServerAuthentication->m_PlayerAuthenticationData.size());
}

CBaseClient__ActivatePlayer(self);
Expand Down Expand Up @@ -326,12 +325,12 @@ void,, (CBaseClient* self, uint32_t unknownButAlways1, const char* pReason, ...)
g_pServerLimits->RemovePlayer(self);
}

g_pServerPresence->SetPlayerCount(g_pServerAuthentication->m_PlayerAuthenticationData.size());
g_pServerPresence->SetPlayerCount((int)g_pServerAuthentication->m_PlayerAuthenticationData.size());

_CBaseClient__Disconnect(self, unknownButAlways1, buf);
}

void ConCommand_ns_resetpersistence(const CCommand& args)
void ConCommand_ns_resetpersistence(const CCommand& /*args*/)
{
if (*g_pServerState == server_state_t::ss_active)
{
Expand Down
12 changes: 7 additions & 5 deletions primedev/server/servernethooks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
#include <thread>
#include <bcrypt.h>

#define STATUS_SUCCESS 0 // taken from ntstatus.h but redefinition errors

AUTOHOOK_INIT()

static ConVar* Cvar_net_debug_atlas_packet;
Expand All @@ -21,13 +23,13 @@ static bool InitHMACSHA256()
DWORD hashLength = 0;
ULONG hashLengthSz = 0;

if ((status = BCryptOpenAlgorithmProvider(&HMACSHA256, BCRYPT_SHA256_ALGORITHM, NULL, BCRYPT_ALG_HANDLE_HMAC_FLAG)))
if ((status = BCryptOpenAlgorithmProvider(&HMACSHA256, BCRYPT_SHA256_ALGORITHM, NULL, BCRYPT_ALG_HANDLE_HMAC_FLAG)) != STATUS_SUCCESS)
{
spdlog::error("failed to initialize HMAC-SHA256: BCryptOpenAlgorithmProvider: error 0x{:08X}", (ULONG)status);
return false;
}

if ((status = BCryptGetProperty(HMACSHA256, BCRYPT_HASH_LENGTH, (PUCHAR)&hashLength, sizeof(hashLength), &hashLengthSz, 0)))
if ((status = BCryptGetProperty(HMACSHA256, BCRYPT_HASH_LENGTH, (PUCHAR)&hashLength, sizeof(hashLength), &hashLengthSz, 0)) != STATUS_SUCCESS)
{
spdlog::error("failed to initialize HMAC-SHA256: BCryptGetProperty(BCRYPT_HASH_LENGTH): error 0x{:08X}", (ULONG)status);
return false;
Expand All @@ -51,19 +53,19 @@ static bool VerifyHMACSHA256(std::string key, std::string sig, std::string data)
NTSTATUS status;
BCRYPT_HASH_HANDLE h = NULL;

if ((status = BCryptCreateHash(HMACSHA256, &h, NULL, 0, (PUCHAR)key.c_str(), (ULONG)key.length(), 0)))
if ((status = BCryptCreateHash(HMACSHA256, &h, NULL, 0, (PUCHAR)key.c_str(), (ULONG)key.length(), 0)) != STATUS_SUCCESS)
{
spdlog::error("failed to verify HMAC-SHA256: BCryptCreateHash: error 0x{:08X}", (ULONG)status);
goto cleanup;
}

if ((status = BCryptHashData(h, (PUCHAR)data.c_str(), (ULONG)data.length(), 0)))
if ((status = BCryptHashData(h, (PUCHAR)data.c_str(), (ULONG)data.length(), 0)) != STATUS_SUCCESS)
{
spdlog::error("failed to verify HMAC-SHA256: BCryptHashData: error 0x{:08X}", (ULONG)status);
goto cleanup;
}

if ((status = BCryptFinishHash(h, (PUCHAR)&hash, (ULONG)sizeof(hash), 0)))
if ((status = BCryptFinishHash(h, (PUCHAR)&hash, (ULONG)sizeof(hash), 0)) != STATUS_SUCCESS)
{
spdlog::error("failed to verify HMAC-SHA256: BCryptFinishHash: error 0x{:08X}", (ULONG)status);
goto cleanup;
Expand Down
10 changes: 5 additions & 5 deletions primedev/server/serverpresence.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ std::string UnescapeUnicode(const std::string& str)
last_match = *i;
result.append(last_match.prefix());
unsigned int cp = 0;
for (int i = 2; i <= 5; ++i)
for (int j = 2; j <= 5; ++j)
{
cp *= 16;
cp += hctod(last_match.str()[i]);
cp += hctod(last_match.str()[j]);
}
if (cp <= 0x7F)
{
Expand Down Expand Up @@ -78,18 +78,18 @@ void ServerPresenceManager::CreateConVars()
Cvar_ns_server_presence_update_rate = new ConVar(
"ns_server_presence_update_rate", "5000", FCVAR_GAMEDLL, "How often we update our server's presence on server lists in ms");

Cvar_ns_server_name = new ConVar("ns_server_name", "Unnamed Northstar Server", FCVAR_GAMEDLL, "This server's name", false, 0, false, 0, [](ConVar* cvar, const char* pOldValue, float flOldValue) {
Cvar_ns_server_name = new ConVar("ns_server_name", "Unnamed Northstar Server", FCVAR_GAMEDLL, "This server's name", false, 0, false, 0, [](ConVar* /*cvar*/, const char* /*pOldValue*/, float /*flOldValue*/) {
g_pServerPresence->SetName(UnescapeUnicode(g_pServerPresence->Cvar_ns_server_name->GetString()));

// update engine hostname cvar
Cvar_hostname->SetValue(g_pServerPresence->Cvar_ns_server_name->GetString());
});

Cvar_ns_server_desc = new ConVar("ns_server_desc", "Default server description", FCVAR_GAMEDLL, "This server's description", false, 0, false, 0, [](ConVar* cvar, const char* pOldValue, float flOldValue) {
Cvar_ns_server_desc = new ConVar("ns_server_desc", "Default server description", FCVAR_GAMEDLL, "This server's description", false, 0, false, 0, [](ConVar* /*cvar*/, const char* /*pOldValue*/, float /*flOldValue*/) {
g_pServerPresence->SetDescription(UnescapeUnicode(g_pServerPresence->Cvar_ns_server_desc->GetString()));
});

Cvar_ns_server_password = new ConVar("ns_server_password", "", FCVAR_GAMEDLL, "This server's password", false, 0, false, 0, [](ConVar* cvar, const char* pOldValue, float flOldValue) {
Cvar_ns_server_password = new ConVar("ns_server_password", "", FCVAR_GAMEDLL, "This server's password", false, 0, false, 0, [](ConVar* /*cvar*/, const char* /*pOldValue*/, float /*flOldValue*/) {
g_pServerPresence->SetPassword(g_pServerPresence->Cvar_ns_server_password->GetString());
});

Expand Down
Loading

0 comments on commit 9b5f24a

Please sign in to comment.