MCPcopy Create free account
hub / github.com/Sinflower/UberWolf / LoadFileToCash

Method LoadFileToCash

3rdParty/DXLib/DXArchiveVer5.cpp:2781–2812  ·  view source on GitHub ↗

アーカイブファイル中の指定のファイルを、クラス内のバッファに読み込む

Source from the content-addressed store, hash-verified

2779
2780// アーカイブファイル中の指定のファイルを、クラス内のバッファに読み込む
2781void *DXArchive_VER5::LoadFileToCash( const TCHAR *FilePath )
2782{
2783 int FileSize ;
2784
2785 // ファイルサイズを取得する
2786 FileSize = this->GetFileSize( FilePath ) ;
2787
2788 // ファイルが無かったらエラー
2789 if( FileSize < 0 ) return NULL ;
2790
2791 // 確保しているキャッシュバッファのサイズよりも大きい場合はバッファを再確保する
2792 if( FileSize > ( int )this->CashBufferSize )
2793 {
2794 // キャッシュバッファのクリア
2795 this->ClearCash() ;
2796
2797 // キャッシュバッファの再確保
2798 this->CashBuffer = malloc( FileSize ) ;
2799
2800 // 確保に失敗した場合は NULL を返す
2801 if( this->CashBuffer == NULL ) return NULL ;
2802
2803 // キャッシュバッファのサイズを保存
2804 this->CashBufferSize = FileSize ;
2805 }
2806
2807 // ファイルをメモリに読み込む
2808 this->LoadFileToMem( FilePath, this->CashBuffer, FileSize ) ;
2809
2810 // キャッシュバッファのアドレスを返す
2811 return this->CashBuffer ;
2812}
2813
2814// キャッシュバッファを開放する
2815int DXArchive_VER5::ClearCash( void )

Callers

nothing calls this directly

Calls 3

GetFileSizeMethod · 0.95
ClearCashMethod · 0.95
LoadFileToMemMethod · 0.95

Tested by

no test coverage detected