Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Miscellaneous utility functions.
//
// $NoKeywords: $
//=============================================================================//
#include "stdafx.h"
#include <direct.h>
#include <time.h>
#include "MapSolid.h"
#include "mapworld.h"
// memdbgon must be the last include file in a .cpp file!!!
#include <tier0/memdbgon.h>
static DWORD holdrand;
void randomize() { holdrand = DWORD(time(NULL)); }
DWORD random() { return(holdrand = holdrand * 214013L + 2531011L); }
// MapCheckDlg.cpp:
BOOL DoesContainDuplicates(CMapSolid *pSolid); static BOOL bCheckDupes = FALSE;
void NotifyDuplicates(CMapSolid *pSolid) { if(!bCheckDupes) return; // stop that
if(DoesContainDuplicates(pSolid)) { if(IDNO == AfxMessageBox("Duplicate Plane! Do you want more messages?", MB_YESNO)) { bCheckDupes = FALSE; } } }
void NotifyDuplicates(const CMapObjectList *pList) { if(!bCheckDupes) return; // stop that
FOR_EACH_OBJ( *pList, pos ) { CMapClass *pobj = pList->Element(pos); if(!pobj->IsMapClass(MAPCLASS_TYPE(CMapSolid))) continue; // not a solid
NotifyDuplicates((CMapSolid*) pobj); } }
int mychdir(LPCTSTR pszDir) { int curdrive = _getdrive();
// changes to drive/directory
if(pszDir[1] == ':' && _chdrive(toupper(pszDir[0]) - 'A' + 1) == -1) return -1; if(_chdir(pszDir) == -1) { // change back to original disk
_chdrive(curdrive); return -1; }
return 0; }
void WriteDebug(char *pszStr) { #if 0
static BOOL bFirst = TRUE; if(bFirst) remove("wcdebug.txt");
bFirst = FALSE;
FILE *fp = fopen("wcdebug.txt", "ab"); fprintf(fp, "%s\r\n", pszStr); fclose(fp); #endif
}
//-----------------------------------------------------------------------------
// Purpose: Adds the given object to the list if it is a leaf object (no children).
// Input : pObject - Object to add to the list.
// pList - List to put the children in.
// Output : Returns TRUE to continue enumerating when called from EnumChildren.
//-----------------------------------------------------------------------------
BOOL AddLeavesToListCallback(CMapClass *pObject, CMapObjectList *pList) { if (pObject->GetChildCount() == 0) { pList->AddToTail(pObject); }
return(TRUE); }
bool IsWorldObject(CMapAtom *pObject) { return (dynamic_cast<CMapWorld*>(pObject) != NULL); }
|