DECOMPRESSER LE FICHIER TEST.PAK SUR C:\
ce programme vous donne la liste des fichier present dans un fichier pak
sa marche pour quake et quake 2 j'ai pas essayer avec quake 3
cinon pour extraire les fichier chercher un peux s'est pas compliquer ;)
Source / Exemple :
#include <iostream.h>
#include <stdio.h>
struct PAK_HEADER
{
unsigned int Offset;
unsigned int Length;
};
struct PAK_FILE
{
char Titel[56];
unsigned int Offset;
unsigned int Length;
};
typedef unsigned char* BYTEADD;
unsigned int m_NumberOfFiles, m_CurrentFileLength;
int main()
{
PAK_HEADER pakH;
PAK_FILE *pakF;
FILE *mFile;
// recherche les fichies present dans le pak
mFile = fopen("c:\\test.pak", "rb");
if( mFile == 0 )
return false;
if( fseek( mFile, 4, SEEK_SET ) )
return false;
if( ! fread( &pakH, sizeof( pakH ), 1, mFile ) )
return false;
m_NumberOfFiles = pakH.Length/ 64;
cout << "nombre de fichier dans le PAK : " << m_NumberOfFiles;
pakF = new PAK_FILE[ m_NumberOfFiles ];
if( fseek( mFile, pakH.Offset, SEEK_SET ) )
return false;
if( ! fread( pakF, pakH.Length , 1, mFile ) )
return false;
// affiche les fichier trouver avec leur taille et leur position
unsigned int count;
for(count =0; count <= (m_NumberOfFiles - 1); count++)
{
cout << "\n"
<< count
<< ": "
<< pakF[count].Titel
<< " demarre a l'offset : "
<< pakF[count].Offset
<< " et mesure : "
<< pakF[count].Length
<< " bytes";
}
cout << "\n\n";
fclose(mFile);
return 0;
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.