[General]: Small cleanup (#963)
This commit is contained in:
parent
42e5132c5e
commit
a43b95cbaa
18
CHANGELOG.md
18
CHANGELOG.md
@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog v0.3.0](http://keepachangelog.com/en/0.3.0/).
|
The format is based on [Keep a Changelog v0.3.0](http://keepachangelog.com/en/0.3.0/).
|
||||||
|
|
||||||
|
## r4208 - 2023-04-22
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- `Noclip` GSC method does not require `sv_cheats` to be set to "1" for it to work (#962)
|
||||||
|
- `Ufo` GSC method does not require `sv_cheats` to be set to "1" for it to work (#962)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix `InfoString` output (#961)
|
||||||
|
- Fix parsing of the server info (client-side) (#953)
|
||||||
|
- Fix bug in the /info TCP endpoint (#955)
|
||||||
|
|
||||||
|
### Known issues
|
||||||
|
|
||||||
|
- Sound issue fix is experimental as the bug is not fully understood.
|
||||||
|
|
||||||
## r4193 - 2023-04-19
|
## r4193 - 2023-04-19
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@ -20,6 +37,7 @@ The format is based on [Keep a Changelog v0.3.0](http://keepachangelog.com/en/0.
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- `sv_privatePassword` will work as intended (#908)
|
- `sv_privatePassword` will work as intended (#908)
|
||||||
|
- Fix crash when loading bots.txt file (#927)
|
||||||
|
|
||||||
### Known issues
|
### Known issues
|
||||||
|
|
||||||
|
@ -317,7 +317,7 @@ namespace Components
|
|||||||
|
|
||||||
void Debug::Com_BugNameInc_f()
|
void Debug::Com_BugNameInc_f()
|
||||||
{
|
{
|
||||||
char buf[260]{};
|
char buf[512]{};
|
||||||
|
|
||||||
if (std::strlen(BugName->current.string) < 4)
|
if (std::strlen(BugName->current.string) < 4)
|
||||||
{
|
{
|
||||||
|
@ -23,18 +23,18 @@ namespace Components
|
|||||||
// team switch and intermission.
|
// team switch and intermission.
|
||||||
//
|
//
|
||||||
|
|
||||||
std::mutex SoundMutexFix::SNDMutex;
|
std::mutex SoundMutexFix::CloseStreamMutex;
|
||||||
|
|
||||||
void __stdcall SoundMutexFix::LockSoundMutex(int unk)
|
void WINAPI SoundMutexFix::AIL_close_stream_Stub(int h_stream)
|
||||||
{
|
{
|
||||||
std::lock_guard lock(SNDMutex);
|
std::lock_guard lock(CloseStreamMutex);
|
||||||
|
|
||||||
DWORD funcPtr = *reinterpret_cast<DWORD*>(0x6D7554); // AIL_close_stream
|
const auto ptr = *reinterpret_cast<DWORD*>(0x6D7554); // AIL_close_stream
|
||||||
Utils::Hook::Call<void __stdcall(int)>(funcPtr)(unk);
|
Utils::Hook::Call<void WINAPI(int)>(ptr)(h_stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
SoundMutexFix::SoundMutexFix()
|
SoundMutexFix::SoundMutexFix()
|
||||||
{
|
{
|
||||||
Utils::Hook(0x689EFE, &LockSoundMutex, HOOK_JUMP).install()->quick();
|
Utils::Hook(0x689EFE, &AIL_close_stream_Stub, HOOK_JUMP).install()->quick();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ namespace Components
|
|||||||
SoundMutexFix();
|
SoundMutexFix();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::mutex SNDMutex;
|
static std::mutex CloseStreamMutex;
|
||||||
static void _stdcall LockSoundMutex(int unk);
|
static void WINAPI AIL_close_stream_Stub(int h_stream);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -10,23 +10,22 @@ namespace Game::Engine
|
|||||||
{
|
{
|
||||||
Sys_EnterCriticalSection(this->s_);
|
Sys_EnterCriticalSection(this->s_);
|
||||||
this->hasOwnership_ = true;
|
this->hasOwnership_ = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == SCOPED_CRITSECT_TRY)
|
||||||
|
{
|
||||||
|
this->hasOwnership_ = Sys_TryEnterCriticalSection(this->s_);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (type == SCOPED_CRITSECT_TRY)
|
if (type == SCOPED_CRITSECT_RELEASE)
|
||||||
{
|
{
|
||||||
this->hasOwnership_ = Sys_TryEnterCriticalSection(this->s_);
|
Sys_LeaveCriticalSection(this->s_);
|
||||||
|
this->isScopedRelease_ = true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (type == SCOPED_CRITSECT_RELEASE)
|
|
||||||
{
|
|
||||||
Sys_LeaveCriticalSection(this->s_);
|
|
||||||
this->isScopedRelease_ = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
this->hasOwnership_ = false;
|
this->hasOwnership_ = false;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user