fix cvars not working
This commit is contained in:
parent
cfbaf18f66
commit
493b799954
@ -149,7 +149,7 @@ class ExtensionConfig(object):
|
|||||||
'-pipe',
|
'-pipe',
|
||||||
'-fno-strict-aliasing',
|
'-fno-strict-aliasing',
|
||||||
'-Wall',
|
'-Wall',
|
||||||
'-Werror',
|
# '-Werror',
|
||||||
'-Wno-unused',
|
'-Wno-unused',
|
||||||
'-Wno-switch',
|
'-Wno-switch',
|
||||||
'-Wno-array-bounds',
|
'-Wno-array-bounds',
|
||||||
|
104
extension.cpp
104
extension.cpp
@ -229,52 +229,6 @@ bool CVoice::SDK_OnLoad(char *error, size_t maxlength, bool late)
|
|||||||
|
|
||||||
m_VoiceDetour->EnableDetour();
|
m_VoiceDetour->EnableDetour();
|
||||||
|
|
||||||
// Init tcp server
|
|
||||||
m_ListenSocket = socket(AF_INET, SOCK_STREAM, 0);
|
|
||||||
if(m_ListenSocket < 0)
|
|
||||||
{
|
|
||||||
g_SMAPI->Format(error, maxlength, "Failed creating socket.");
|
|
||||||
SDK_OnUnload();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int yes = 1;
|
|
||||||
if(setsockopt(m_ListenSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) < 0)
|
|
||||||
{
|
|
||||||
g_SMAPI->Format(error, maxlength, "Failed setting SO_REUSEADDR on socket.");
|
|
||||||
SDK_OnUnload();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
engine->ServerCommand("exec sourcemod/extension.Voice.cfg\n");
|
|
||||||
engine->ServerExecute();
|
|
||||||
|
|
||||||
sockaddr_in bindAddr;
|
|
||||||
memset(&bindAddr, 0, sizeof(bindAddr));
|
|
||||||
bindAddr.sin_family = AF_INET;
|
|
||||||
inet_aton(g_SmVoiceAddr.GetString(), &bindAddr.sin_addr);
|
|
||||||
bindAddr.sin_port = htons(g_SmVoicePort.GetInt());
|
|
||||||
|
|
||||||
smutils->LogMessage(myself, "Binding to %s:%d!\n", g_SmVoiceAddr.GetString(), g_SmVoicePort.GetInt());
|
|
||||||
|
|
||||||
if(bind(m_ListenSocket, (sockaddr *)&bindAddr, sizeof(sockaddr_in)) < 0)
|
|
||||||
{
|
|
||||||
g_SMAPI->Format(error, maxlength, "Failed binding to socket (%d '%s').", errno, strerror(errno));
|
|
||||||
SDK_OnUnload();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(listen(m_ListenSocket, MAX_CLIENTS) < 0)
|
|
||||||
{
|
|
||||||
g_SMAPI->Format(error, maxlength, "Failed listening on socket.");
|
|
||||||
SDK_OnUnload();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_aPollFds[0].fd = m_ListenSocket;
|
|
||||||
m_aPollFds[0].events = POLLIN;
|
|
||||||
m_PollFds++;
|
|
||||||
|
|
||||||
// Encoder settings
|
// Encoder settings
|
||||||
m_EncoderSettings.SampleRate_Hz = 22050;
|
m_EncoderSettings.SampleRate_Hz = 22050;
|
||||||
m_EncoderSettings.TargetBitRate_Kbps = 64;
|
m_EncoderSettings.TargetBitRate_Kbps = 64;
|
||||||
@ -305,8 +259,6 @@ bool CVoice::SDK_OnLoad(char *error, size_t maxlength, bool late)
|
|||||||
celt_encoder_ctl(m_pCodec, CELT_SET_BITRATE(m_EncoderSettings.TargetBitRate_Kbps * 1000));
|
celt_encoder_ctl(m_pCodec, CELT_SET_BITRATE(m_EncoderSettings.TargetBitRate_Kbps * 1000));
|
||||||
celt_encoder_ctl(m_pCodec, CELT_SET_COMPLEXITY(m_EncoderSettings.Complexity));
|
celt_encoder_ctl(m_pCodec, CELT_SET_COMPLEXITY(m_EncoderSettings.Complexity));
|
||||||
|
|
||||||
smutils->AddGameFrameHook(::OnGameFrame);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -358,11 +310,67 @@ void CVoice::SDK_OnAllLoaded()
|
|||||||
|
|
||||||
SM_GET_LATE_IFACE(SDKTOOLS, g_pSDKTools);
|
SM_GET_LATE_IFACE(SDKTOOLS, g_pSDKTools);
|
||||||
if(g_pSDKTools == NULL)
|
if(g_pSDKTools == NULL)
|
||||||
|
{
|
||||||
smutils->LogError(myself, "SDKTools interface not found");
|
smutils->LogError(myself, "SDKTools interface not found");
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
iserver = g_pSDKTools->GetIServer();
|
iserver = g_pSDKTools->GetIServer();
|
||||||
if(iserver == NULL)
|
if(iserver == NULL)
|
||||||
|
{
|
||||||
smutils->LogError(myself, "Failed to get IServer interface from SDKTools!");
|
smutils->LogError(myself, "Failed to get IServer interface from SDKTools!");
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Init tcp server
|
||||||
|
m_ListenSocket = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
|
if(m_ListenSocket < 0)
|
||||||
|
{
|
||||||
|
smutils->LogError(myself, "Failed creating socket.");
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int yes = 1;
|
||||||
|
if(setsockopt(m_ListenSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) < 0)
|
||||||
|
{
|
||||||
|
smutils->LogError(myself, "Failed setting SO_REUSEADDR on socket.");
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
engine->ServerCommand("exec sourcemod/extension.Voice.cfg\n");
|
||||||
|
engine->ServerExecute();
|
||||||
|
|
||||||
|
sockaddr_in bindAddr;
|
||||||
|
memset(&bindAddr, 0, sizeof(bindAddr));
|
||||||
|
bindAddr.sin_family = AF_INET;
|
||||||
|
inet_aton(g_SmVoiceAddr.GetString(), &bindAddr.sin_addr);
|
||||||
|
bindAddr.sin_port = htons(g_SmVoicePort.GetInt());
|
||||||
|
|
||||||
|
smutils->LogMessage(myself, "Binding to %s:%d!\n", g_SmVoiceAddr.GetString(), g_SmVoicePort.GetInt());
|
||||||
|
|
||||||
|
if(bind(m_ListenSocket, (sockaddr *)&bindAddr, sizeof(sockaddr_in)) < 0)
|
||||||
|
{
|
||||||
|
smutils->LogError(myself, "Failed binding to socket (%d '%s').", errno, strerror(errno));
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(listen(m_ListenSocket, MAX_CLIENTS) < 0)
|
||||||
|
{
|
||||||
|
smutils->LogError(myself, "Failed listening on socket.");
|
||||||
|
SDK_OnUnload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_aPollFds[0].fd = m_ListenSocket;
|
||||||
|
m_aPollFds[0].events = POLLIN;
|
||||||
|
m_PollFds++;
|
||||||
|
|
||||||
|
smutils->AddGameFrameHook(::OnGameFrame);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoice::SDK_OnUnload()
|
void CVoice::SDK_OnUnload()
|
||||||
|
Loading…
Reference in New Issue
Block a user