You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
272 lines
5.7 KiB
272 lines
5.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef PROTECTED_THINGS_H |
|
#define PROTECTED_THINGS_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
// This header tries to prevent people from using potentially dangerous functions |
|
// (like the notorious non-null-terminating strncpy) and functions that will break |
|
// VCR mode (like time, input, registry, etc). |
|
// |
|
// This header should be included by ALL of our source code. |
|
|
|
// Eventually, ALL of these should be protected, but one man can only accomplish so much in |
|
// one day AND work on features too! |
|
#if defined( PROTECTED_STRINGS_ENABLE ) && !defined(DISABLE_PROTECTED_STRINGS) |
|
|
|
#if defined( printf ) |
|
#undef printf |
|
#endif |
|
#define printf printf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wprintf ) |
|
#undef wprintf |
|
#endif |
|
#define wprintf wprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( strcmp ) |
|
#undef strcmp |
|
#endif |
|
#define strcmp strcmp__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wcscmp ) |
|
#undef wcscmp |
|
#endif |
|
#define wcscmp wcscmp__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( strncpy ) |
|
#undef strncpy |
|
#endif |
|
#define strncpy strncpy__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wcsncpy ) |
|
#undef wcsncpy |
|
#endif |
|
#define wcsncpy wcsncpy__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( strlen ) |
|
#undef strlen |
|
#endif |
|
#define strlen strlen__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wcslen ) |
|
#undef wcslen |
|
#endif |
|
#define wcslen wcslen__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( Q_strlen ) |
|
#undef Q_strlen |
|
#endif |
|
#define Q_strlen Q_strlen__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( _snprintf ) |
|
#undef _snprintf |
|
#endif |
|
#define _snprintf snprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( _snwprintf ) |
|
#undef _snwprintf |
|
#endif |
|
#define _snwprintf snwprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( sprintf ) |
|
#undef sprintf |
|
#endif |
|
#define sprintf sprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( swprintf ) |
|
#undef swprintf |
|
#endif |
|
#define swprintf swprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( vsprintf ) |
|
#undef vsprintf |
|
#endif |
|
#define vsprintf vsprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( vswprintf ) |
|
#undef vswprintf |
|
#endif |
|
#define vswprintf vswprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( _vsnprintf ) |
|
#undef _vsnprintf |
|
#endif |
|
#define _vsnprintf vsnprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( _vsnwprintf ) |
|
#undef _vsnwprintf |
|
#endif |
|
#define _vsnwprintf vsnwprintf__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( strcat ) |
|
#undef strcat |
|
#endif |
|
#define strcat strcat__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wcscat ) |
|
#undef wcscat |
|
#endif |
|
#define wcscat wcscat__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( strncat ) |
|
#undef strncat |
|
#endif |
|
#define strncat strncat__HEY_YOU__USE_VSTDLIB |
|
|
|
#if defined( wcsncat ) |
|
#undef wcsncat |
|
#endif |
|
#define wcsncat wcsncat__HEY_YOU__USE_VSTDLIB |
|
|
|
#endif |
|
|
|
|
|
#if defined( PROTECTED_THINGS_ENABLE ) && !defined( _X360 ) && !defined(DISABLE_PROTECTED_THINGS) |
|
|
|
#if defined( GetTickCount ) |
|
#undef GetTickCount |
|
#endif |
|
#define GetTickCount GetTickCount__USE_VCR_MODE |
|
|
|
|
|
#if defined( timeGetTime ) |
|
#undef timeGetTime |
|
#endif |
|
#define timeGetTime timeGetTime__USE_VCR_MODE |
|
#if defined( clock ) |
|
#undef clock |
|
#endif |
|
// MoeMod : breaks system header |
|
//#define time time__USE_VCR_MODE |
|
|
|
|
|
//#if defined( recvfrom ) |
|
// #undef recvfrom |
|
//#endif |
|
//#define recvfrom recvfrom__USE_VCR_MODE |
|
|
|
|
|
#if defined( GetCursorPos ) |
|
#undef GetCursorPos |
|
#endif |
|
#define GetCursorPos GetCursorPos__USE_VCR_MODE |
|
|
|
|
|
#if defined( ScreenToClient ) |
|
#undef ScreenToClient |
|
#endif |
|
#define ScreenToClient ScreenToClient__USE_VCR_MODE |
|
|
|
|
|
#if defined( GetCommandLine ) |
|
#undef GetCommandLine |
|
#endif |
|
#define GetCommandLine GetCommandLine__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegOpenKeyEx ) |
|
#undef RegOpenKeyEx |
|
#endif |
|
#define RegOpenKeyEx RegOpenKeyEx__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegOpenKey ) |
|
#undef RegOpenKey |
|
#endif |
|
#define RegOpenKey RegOpenKey__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegSetValueEx ) |
|
#undef RegSetValueEx |
|
#endif |
|
#define RegSetValueEx RegSetValueEx__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegSetValue ) |
|
#undef RegSetValue |
|
#endif |
|
#define RegSetValue RegSetValue__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegQueryValueEx ) |
|
#undef RegQueryValueEx |
|
#endif |
|
#define RegQueryValueEx RegQueryValueEx__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegQueryValue ) |
|
#undef RegQueryValue |
|
#endif |
|
#define RegQueryValue RegQueryValue__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegCreateKeyEx ) |
|
#undef RegCreateKeyEx |
|
#endif |
|
#define RegCreateKeyEx RegCreateKeyEx__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegCreateKey ) |
|
#undef RegCreateKey |
|
#endif |
|
#define RegCreateKey RegCreateKey__USE_VCR_MODE |
|
|
|
|
|
#if defined( RegCloseKey ) |
|
#undef RegCloseKey |
|
#endif |
|
#define RegCloseKey RegCloseKey__USE_VCR_MODE |
|
|
|
|
|
#if defined( GetNumberOfConsoleInputEvents ) |
|
#undef GetNumberOfConsoleInputEvents |
|
#endif |
|
#define GetNumberOfConsoleInputEvents GetNumberOfConsoleInputEvents__USE_VCR_MODE |
|
|
|
|
|
#if defined( ReadConsoleInput ) |
|
#undef ReadConsoleInput |
|
#endif |
|
#define ReadConsoleInput ReadConsoleInput__USE_VCR_MODE |
|
|
|
|
|
#if defined( GetAsyncKeyState ) |
|
#undef GetAsyncKeyState |
|
#endif |
|
#define GetAsyncKeyState GetAsyncKeyState__USE_VCR_MODE |
|
|
|
|
|
#if defined( GetKeyState ) |
|
#undef GetKeyState |
|
#endif |
|
#define GetKeyState GetKeyState__USE_VCR_MODE |
|
|
|
|
|
#if defined( CreateThread ) |
|
#undef CreateThread |
|
#endif |
|
#define CreateThread CreateThread__USE_VCR_MODE |
|
|
|
#if defined( WaitForSingleObject ) |
|
#undef WaitForSingleObject |
|
#endif |
|
#define WaitForSingleObject WaitForSingleObject__USE_VCR_MODE |
|
|
|
#if defined( EnterCriticalSection ) |
|
#undef EnterCriticalSection |
|
#endif |
|
#define EnterCriticalSection EnterCriticalSection__USE_VCR_MODE |
|
|
|
#endif |
|
|
|
|
|
#endif // PROTECTED_THINGS_H
|
|
|