555 {
557 ttsfi.Read( &symbolCount );
558 symbolCount = CONVERTENDIANESS( eEndianess, symbolCount );
559
560
561 TUINT symbolsSize =
sizeof( Toshi::TTRB::TTRBSymbol ) * symbolCount;
562 m_Symbols.resize( symbolCount );
563 ttsfi.ReadRaw( m_Symbols.data(), symbolsSize );
564
565
566 TUINT namesSize = ttsfi.GetCurrentHunk().Size - symbolsSize;
567 m_SymbolNames.reserve( symbolCount );
569 ttsfi.ReadRaw( namesBuffer, namesSize );
570
571 for ( auto& symbol : m_Symbols )
572 {
573 symbol.HDRX = CONVERTENDIANESS( eEndianess, symbol.HDRX );
574 symbol.NameHash = CONVERTENDIANESS( eEndianess, symbol.NameHash );
575 symbol.NameOffset = CONVERTENDIANESS( eEndianess, symbol.NameOffset );
576 symbol.Padding = CONVERTENDIANESS( eEndianess, symbol.Padding );
577 symbol.DataOffset = CONVERTENDIANESS( eEndianess, symbol.DataOffset );
578
579 const TCHAR* symbolName = &namesBuffer[ symbol.NameOffset ];
580 m_SymbolNames.push_back( symbolName );
581 }
582
583 delete[] namesBuffer;
584 }