UBOOL FFileManagerWindows::InternalGetTimestamp( const TCHAR* Filename, FTimeStamp& Timestamp ) { appMemzero( &Timestamp, sizeof(Timestamp) ); struct _stat FileInfo; if( 0 == _wstat( Filename, &FileInfo ) ) { time_t FileTime; FileTime = FileInfo.st_mtime; #if USE_SECURE_CRT tm Time; gmtime_s(&Time,&FileTime); #else tm& Time = *gmtime(&FileTime); #endif Timestamp.Day = Time.tm_mday; Timestamp.Month = Time.tm_mon; Timestamp.DayOfWeek = Time.tm_wday; Timestamp.Hour = Time.tm_hour; Timestamp.Minute = Time.tm_min; Timestamp.Second = Time.tm_sec; Timestamp.Year = Time.tm_year + 1900; return TRUE; } return FALSE; }
FSHVector::FSHVector(const FQuantizedSHVector& Quantized) { appMemzero(V, sizeof(V)); const FLOAT MinCoefficient32 = Quantized.MinCoefficient.GetFloat(); const FLOAT MaxCoefficient32 = Quantized.MaxCoefficient.GetFloat(); for (INT BasisIndex = 0; BasisIndex < MAX_SH_BASIS; BasisIndex++) { // Dequantize from 8 bit with stored min and max V[BasisIndex] = (MaxCoefficient32 - MinCoefficient32) * Quantized.V[BasisIndex] / 255.0f + MinCoefficient32; } }
int CMetaWater::CopyMetaData( const CMetaWater& Src ) { //m_listWaterGroup = Src->m_listWaterGroup; MetaDataRelease(); SWaterGroup * pWaterGroupDest = NULL; const SWaterGroup * pWaterGroupSrc = NULL; int iSrcGroupNum = Src.m_listWaterGroup.Num(); for( int i = 0; i < iSrcGroupNum; i++ ) { pWaterGroupDest = new SWaterGroup; pWaterGroupSrc = Src.m_listWaterGroup[i]; appMemzero( pWaterGroupDest->szNameTexture1, sizeof(char)*WATER_TEXTURENAME_SIZE ); appMemzero( pWaterGroupDest->szNameTexture2, sizeof(char)*WATER_TEXTURENAME_SIZE ); appMemzero( pWaterGroupDest->szNameTextureSpecular, sizeof(char)*WATER_TEXTURENAME_SIZE ); appMemzero( pWaterGroupDest->szNameTextureGloss, sizeof(char)*WATER_TEXTURENAME_SIZE ); pWaterGroupDest->iID = pWaterGroupSrc->iID; if( m_iGroupIDCounter <= pWaterGroupSrc->iID ) { m_iGroupIDCounter = pWaterGroupSrc->iID+1; } appStrcpy( pWaterGroupDest->szNameTexture1, pWaterGroupSrc->szNameTexture1 ); appStrcpy( pWaterGroupDest->szNameTexture2, pWaterGroupSrc->szNameTexture2 ); appStrcpy( pWaterGroupDest->szNameTextureSpecular, pWaterGroupSrc->szNameTextureSpecular ); appStrcpy( pWaterGroupDest->szNameTextureGloss, pWaterGroupSrc->szNameTextureGloss ); pWaterGroupDest->WaterIdxBuffer = pWaterGroupSrc->WaterIdxBuffer; pWaterGroupDest->WaterVtxBuffer = pWaterGroupSrc->WaterVtxBuffer; pWaterGroupDest->fTextureURepeat = pWaterGroupSrc->fTextureURepeat; pWaterGroupDest->fTextureVLength = pWaterGroupSrc->fTextureVLength; m_listWaterGroup.AddItem(pWaterGroupDest); } return 0; }
bool DTextParser::Bind( SString strBuffer ) { if( strBuffer.IsEmpty() ) return false; DTextParser::Release(); DTextParser::InitMembers(); m_lBufSize = strBuffer.Len()+1; // buffer init. SAFE_DELETE_ARRAY( m_pBuffer ); m_pBuffer = new char[m_lBufSize]; appMemzero( m_pBuffer, m_lBufSize*sizeof(char) ); // buffer assignment appMemcpy( m_pBuffer, (lpctstr)strBuffer, m_lBufSize-1 ); return true; }
void Physics::InitCollision( void ) { DLogWriteSystem(" ---- Init Collision ----" ); // InitPhysics( SBox( SVector(-100000.f, -50000.f, -100000.f), SVector(100000.f, 50000.f, 100000.f) ) ); g_WorldRange.Init(); g_WorldRange += SVector( WORLD_MAX_X, WORLD_MAX_Y, WORLD_MAX_Z ); g_WorldRange += SVector( WORLD_MIN_X, WORLD_MIN_Y, WORLD_MIN_Z ); WorldMin = g_WorldRange.Min; WorldGrid = ( g_WorldRange.Max - g_WorldRange.Min ) / SVector( GRID_X, GRID_Y, GRID_Z ); appMemzero( Hash, sizeof(SHashNode*)*HASH_TABLE_NUM ); Available = NULL; CollisionTag = 0; DTerrainActor::TerrainList.Empty(); DLogWriteSystem(" ---- init collision end" ); }
bool DTextParser::Bind( FILE *fp, dword dwSize ) { if( fp==NULL || dwSize==0 ) return false; DTextParser::Release(); DTextParser::InitMembers(); // FILE *fp = GetFile(); // if( !fp ) return; m_lBufSize = dwSize; // buffer init. SAFE_DELETE_ARRAY( m_pBuffer ); m_pBuffer = new char[m_lBufSize]; appMemzero( m_pBuffer, m_lBufSize*sizeof(char) ); // buffer assignment fread( m_pBuffer, sizeof(char), m_lBufSize, fp ); //fread( m_pBuffer, sizeof(char), m_lBufSize, fp ); //Close(); return true; }
bool DTextParser::Bind( DFile *pFile ) { if( pFile==NULL || !pFile->IsReadable() ) return false; DTextParser::Release(); DTextParser::InitMembers(); // FILE *fp = GetFile(); // if( !fp ) return; m_lBufSize = pFile->GetSize(); // buffer init. SAFE_DELETE_ARRAY( m_pBuffer ); m_pBuffer = new char[m_lBufSize]; appMemzero( m_pBuffer, m_lBufSize*sizeof(char) ); // buffer assignment pFile->Read( m_pBuffer, m_lBufSize ); //fread( m_pBuffer, sizeof(char), m_lBufSize, fp ); //Close(); return true; }
void CEnvironment::Load( DFile& FileToLoad_ ) { if( !FileToLoad_.IsReadable() ) return; // Load to buffer //vector<char> aBuffer; //aBuffer.resize( FileToLoad_.GetSize()+1 ); //appMemzero( &aBuffer[0], sizeof(char)*aBuffer.size() ); //FileToLoad_.Read( &aBuffer[0], sizeof(char)*FileToLoad_.GetSize() ); dword dwBufSize = FileToLoad_.GetSize()+1; char *szBuffer = new char[dwBufSize]; appMemzero( szBuffer, sizeof(char)*dwBufSize ); FileToLoad_.Read( szBuffer, sizeof(char)*FileToLoad_.GetSize() ); //if( aBuffer.size()<2 ) { return; } // too small // parsing CVarBlockParser Parser( szBuffer ); const CVarBlockParser::_VariableBlock *pBlock = &Parser.Root(); ParseScript( pBlock ); SAFE_DELETE_ARRAY( szBuffer ); }
int CMetaWater::Load( DFile &LoadFile ) { if( !LoadFile.IsReadable() ) { return -1; } dword dwIdentifier = 0; dword dwVerson = 0; dword dwReserved0 = 0; dword dwReserved1 = 0; dword dwReserved2 = 0; dword dwReserved3 = 0; SWaterGroup * pWaterGroup = NULL; { //´Ù Áö¿ì°í.. MetaDataRelease(); // LoadFile.Read(&dwIdentifier, sizeof(dword)); if( dwIdentifier != WATER_METADATA_IDENTIFIER ) return -1; LoadFile.Read(&dwVerson, sizeof(dword)); if( dwVerson == WATER_METADATA_VER_1 ) { LoadFile.Read(&dwReserved0, sizeof(dword)); LoadFile.Read(&dwReserved1, sizeof(dword)); LoadFile.Read(&dwReserved2, sizeof(dword)); LoadFile.Read(&dwReserved3, sizeof(dword)); LoadFile.Read(&m_iGroupIDCounter, sizeof(m_iGroupIDCounter)); LoadFile.Read(&m_iVtxIDCounter, sizeof(m_iVtxIDCounter)); int iGroupNum = 0; LoadFile.Read( &iGroupNum, sizeof(iGroupNum)); for( int i = 0; i < iGroupNum; i++ ) { pWaterGroup = new SWaterGroup; LoadFile.Read(& pWaterGroup->iID, sizeof(pWaterGroup->iID)); LoadFile.Read(pWaterGroup->szNameTexture1, sizeof(pWaterGroup->szNameTexture1)); LoadFile.Read(pWaterGroup->szNameTexture2, sizeof(pWaterGroup->szNameTexture2)); LoadFile.Read(pWaterGroup->szNameTextureSpecular, sizeof(pWaterGroup->szNameTextureSpecular)); LoadFile.Read(pWaterGroup->szNameTextureGloss, sizeof(pWaterGroup->szNameTextureGloss)); LoadFile.Read(& pWaterGroup->fTextureURepeat, sizeof(pWaterGroup->fTextureURepeat)); LoadFile.Read(& pWaterGroup->fTextureVLength, sizeof(pWaterGroup->fTextureVLength)); int iIdxNum = 0; LoadFile.Read( &iIdxNum, sizeof(iIdxNum) ); for( int j = 0; j < iIdxNum; j++ ) { int iValue = 0; LoadFile.Read(&iValue, sizeof(iValue)); pWaterGroup->WaterIdxBuffer.AddItem(iValue); } int iVtxNum = 0; LoadFile.Read( &iVtxNum, sizeof(iVtxNum)); for( int k = 0; k < iVtxNum; k++ ) { SWaterVtx WaterVtx; appMemzero( &WaterVtx, sizeof(SWaterVtx) ); LoadFile.Read( &WaterVtx, sizeof(WaterVtx) ); pWaterGroup->WaterVtxBuffer.AddItem(WaterVtx); } m_listWaterGroup.AddItem(pWaterGroup); } } } return 0; }
void VObject::StaticInit() { _GObjInitialized = TRUE; appMemzero(_GObjHash, sizeof(VObject*) * OBJECT_HASH_BINS); appMemzero(_GObjHashOuter, sizeof(VObject*) * OBJECT_HASH_BINS); }