r5sdk/r5dev/rtech/pak/paktools.h
Kawe Mazidjatari 6e7bfab4bd RTech: major cleanup of pak globals and improvement
Add missing types to fully mapped out PakGlobals_s struct, which is a 13MiB+ structure! This covers the vast majority of the pakfile system which is why we had to change a bunch of stuff for this patch. This patch also comes with:

- Reversed 'JobFifoLock_s' structure
- Reversed 'PakTracker_s' structure
- Reversed 'PakAssetTracker_s' structure

Many globals have been dropped as they were covered by the large PakGlobals_s singleton.

The pak decoder logic has been changed up as well, we now use a decode mode enumerant which will make it easier to add in more decoders for the pak files in the future.
2024-04-05 18:13:31 +02:00

32 lines
1.2 KiB
C

#ifndef RTECH_PAKTOOLS_H
#define RTECH_PAKTOOLS_H
#include "rtech/ipakfile.h"
extern bool Pak_BasePathExists();
extern bool Pak_CreateBasePath();
extern bool Pak_OverridePathExists();
extern bool Pak_CreateOverridePath();
extern bool Pak_FileOverrideExists(const char* const pakFilePath, char* const outPath, const size_t outBufLen);
extern int Pak_FileExists(const char* const pakFilePath);
extern const char* Pak_StatusToString(const EPakStatus status);
const char* Pak_DecoderToString(const EPakDecodeMode mode);
extern PakGuid_t Pak_StringToGuid(const char* const string);
extern PakLoadedInfo_t* Pak_GetPakInfo(const PakHandle_t pakId);
extern const PakLoadedInfo_t* Pak_GetPakInfo(const char* const pakName);
extern PakPatchDataHeader_t* Pak_GetPatchDataHeader(PakFileHeader_t* const pakHeader);
extern PakPatchFileHeader_t* Pak_GetPatchFileHeader(PakFileHeader_t* const pakHeader, const int index);
extern short Pak_GetPatchNumberForIndex(PakFileHeader_t* const pakHeader, const int index);
extern bool Pak_UpdatePatchHeaders(uint8_t* const inBuf, const char* const outPakFile);
extern void Pak_ShowHeaderDetails(const PakFileHeader_t* const pakHeader);
#endif // !RTECH_PAKTOOLS_H