wxString ReplayList::GetScriptFromReplay (const wxString& ReplayPath , const int version) const { wxString script; try { wxFile replay( ReplayPath, wxFile::read ); if ( !replay.IsOpened() ) return script; SEEK( 20 ); int headerSize=0 ; replay.Read( &headerSize, 4); const int seek = 64 + (version < 5 ? 0 : 240); SEEK( seek ); wxFileOffset scriptSize=0; replay.Read( &scriptSize, 4); scriptSize = LSL::Util::Clamp( wxFileOffset(scriptSize), wxFileOffset(0), replay.Length() ); SEEK( headerSize ); std::string script_a(scriptSize,0); replay.Read( &script_a[0], scriptSize ); script = TowxString( script_a ) ;//(script_a,scriptSize); } catch (...) { } return script; }
wxString ReplayList::GetScriptFromReplay(wxFile& replay, const int version) const { wxString script; if ( !replay.IsOpened() ) return script; if(replay.Seek(20)==wxInvalidOffset) { return script; } int headerSize=0 ; replay.Read( &headerSize, 4); const int seek = 64 + (version < 5 ? 0 : 240); if(replay.Seek(seek)==wxInvalidOffset) { return script; } wxFileOffset scriptSize=0; replay.Read( &scriptSize, 4); scriptSize = LSL::Util::Clamp( wxFileOffset(scriptSize), wxFileOffset(0), replay.Length() ); if(replay.Seek(headerSize) == wxInvalidOffset)return script; std::string script_a(scriptSize,0); replay.Read( &script_a[0], scriptSize ); script = TowxString( script_a ) ;//(script_a,scriptSize); return script; }