Пример #1
0
///---------------------------------------------------------------------------------
///
///---------------------------------------------------------------------------------
void LoadFileJob::Run()
{
    size_t bufferSize = 0;
    m_buffer = LoadBinaryFileToNewBuffer( m_filePath, bufferSize );

    LoadFileData* returnData = new LoadFileData();
    returnData->buffer = m_buffer;
    returnData->bufferSize = bufferSize;

    SetCallbackArg( (void*)returnData );
}
//-----------------------------------------------------------------------------------------------
bool ResourceStream::LoadFromFile( const JazzPath& fileToOpenForReading )
{
	// DEBUGGING - { int q = 5; } //ConsolePrintf( "ResourceStream::LoadFromFile: calling Initialize() with args RESOURCE_STREAM_FORMAT_INVALID, 0\n" );
	Initialize( RESOURCE_STREAM_FORMAT_INVALID, 0 );

	bool isText = true ;
/*
	std::string extension = fileToOpenForReading.GetFileExtension();
	if ( Stricmp( extension, "xml" )==0 )
		isText = true ;
	else if ( Stricmp( extension, "AnimTextureDefinition" )==0 )
		isText = true ;
	else if ( Stricmp( extension, "FontDef" )==0 )
		isText = true ;
	else if ( Stricmp( extension, "txt" )==0 )
		isText = true ;
	else if ( Stricmp( extension, "log" )==0 )
		isText = true ;
*/
	
	// FIXME: Add other known text file types here
	
	// DEBUGGING - { int q = 5; } //ConsolePrintf( "ResourceStream::LoadFromFile: calling LoadBinaryFileToNewBuffer() with this JazzPath:\n" );
	// DEBUGGING - { int q = 5; } //ConsolePrintf( "..which is relative \"%s\" to marker #%d, resolved \"%s\".\n", fileToOpenForReading.GetRelativePathAsString().c_str(), fileToOpenForReading.GetFileFolderID(), fileToOpenForReading..c_str() );
	m_dataBytesAvailable = LoadBinaryFileToNewBuffer( fileToOpenForReading, m_startOfData, isText );
	// DEBUGGING - { int q = 5; } //ConsolePrintf( "ResourceStream::LoadFromFile: done calling LoadBinaryFileToNewBuffer(); %d bytes are available.\n", m_dataBytesAvailable );

	if( m_dataBytesAvailable < 0 )
	{
		Initialize( RESOURCE_STREAM_FORMAT_INVALID, 0 );
		return false;
	}

	m_jazzPath = fileToOpenForReading;
	m_capacity = m_dataBytesAvailable;
	SetFormatTypeBasedOnBufferContents();
	return true;
}