mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@21 3b4a5df2-a311-0410-b5c6-a8a6f20db521
74 lines
2.0 KiB
C++
74 lines
2.0 KiB
C++
#ifdef PRECOMPILEDHEADERS
|
|
#include "Utils All.h"
|
|
#else
|
|
#include "Encrypted File.h"
|
|
#include "FileMan.h"
|
|
#include "Debug.h"
|
|
#endif
|
|
|
|
#include "Language Defines.h"
|
|
|
|
BOOLEAN LoadEncryptedDataFromFile(STR pFileName, STR16 pDestString, UINT32 uiSeekFrom, UINT32 uiSeekAmount)
|
|
{
|
|
HWFILE hFile;
|
|
UINT16 i;
|
|
UINT32 uiBytesRead;
|
|
|
|
|
|
hFile = FileOpen(pFileName, FILE_ACCESS_READ, FALSE);
|
|
if ( !hFile )
|
|
{
|
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "LoadEncryptedDataFromFile: Failed to FileOpen");
|
|
return( FALSE );
|
|
}
|
|
|
|
if ( FileSeek( hFile, uiSeekFrom, FILE_SEEK_FROM_START ) == FALSE )
|
|
{
|
|
FileClose(hFile);
|
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "LoadEncryptedDataFromFile: Failed FileSeek");
|
|
return( FALSE );
|
|
}
|
|
|
|
if( !FileRead( hFile, pDestString, uiSeekAmount, &uiBytesRead) )
|
|
{
|
|
FileClose(hFile);
|
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "LoadEncryptedDataFromFile: Failed FileRead");
|
|
return( FALSE );
|
|
}
|
|
|
|
// Decrement, by 1, any value > 32
|
|
for(i=0; (i<uiSeekAmount) && (pDestString[i] != 0); i++ )
|
|
{
|
|
if( pDestString[i] > 33 )
|
|
pDestString[i] -= 1;
|
|
#ifdef POLISH
|
|
switch( pDestString[ i ] )
|
|
{
|
|
case 260: pDestString[ i ] = 165; break;
|
|
case 262: pDestString[ i ] = 198; break;
|
|
case 280: pDestString[ i ] = 202; break;
|
|
case 321: pDestString[ i ] = 163; break;
|
|
case 323: pDestString[ i ] = 209; break;
|
|
case 211: pDestString[ i ] = 211; break;
|
|
|
|
case 346: pDestString[ i ] = 338; break;
|
|
case 379: pDestString[ i ] = 175; break;
|
|
case 377: pDestString[ i ] = 143; break;
|
|
case 261: pDestString[ i ] = 185; break;
|
|
case 263: pDestString[ i ] = 230; break;
|
|
case 281: pDestString[ i ] = 234; break;
|
|
|
|
case 322: pDestString[ i ] = 179; break;
|
|
case 324: pDestString[ i ] = 241; break;
|
|
case 243: pDestString[ i ] = 243; break;
|
|
case 347: pDestString[ i ] = 339; break;
|
|
case 380: pDestString[ i ] = 191; break;
|
|
case 378: pDestString[ i ] = 376; break;
|
|
}
|
|
#endif
|
|
}
|
|
|
|
FileClose(hFile);
|
|
return(TRUE);
|
|
}
|