reman3/Rayman_X/cpa/public/FIL/FIL_Pub.h

223 lines
11 KiB
C

#if !defined(__FIL_Pub_h__)
#define __FIL_Pub_h__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "CPA_Expt.h"
#undef EXTERN
#undef extern
#if !defined(D_FIL_Globals)
#define EXTERN extern
#define D_FIL_Globals
#else
#define EXTERN
#endif /* D_FIL_Globals */
#define GF_FORMAT_RGB_565 0xa
#define GF_FORMAT_ARGB_1555 0xb
#define GF_FORMAT_ARGB_4444 0xc
#define GF_FORMAT_PALETTE 0x5
#define GF_VERSION 1
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
typedef struct FIL_tdstFileNameListElement_ *FIL_tdxHandleToFileNameListElement;
typedef struct FIL_tdstFileNameList_ *FIL_tdxHandleToFileNameList;
typedef struct FIL_tdstConcatFileElement_ *FIL_tdxHandleToConcatFileElement;
typedef struct FIL_tdstConcatFile_ *FIL_tdxHandleToConcatFile;
typedef struct FIL_tdstFileInConcatFile_ *FIL_tdxHandleToFileInConcatFile;
LST2_M_DynamicUseListOf(FIL_tdxHandleToFileNameListElement);
#if defined(D_FIL_StructureDefine)
typedef struct FIL_tdstFileNameListElement_
{
LST2_M_DynamicElementDeclaration(FIL_tdxHandleToFileNameListElement)
char *szFileName;
} FIL_tdstFileNameListElement_;
typedef struct FIL_tdstFileNameList_
{
LST2_M_DynamicAnchorDeclaration(FIL_tdxHandleToFileNameListElement) hFileNameListAnchor;
} FIL_tdstFileNameList;
typedef struct FIL_tdstConcatFileElement_
{
char *p_szFileName;
long lPathNumber; /**** -1 : No path (current path) ****/
long lOffset;
unsigned long ulFileLength;
unsigned long ulXorCode;
unsigned long ulCheckSum;
} FIL_tdstConcatFileElement;
typedef struct FIL_tdstConcatFile_
{
FILE *p_stFile;
unsigned long ulNumberOfPath;
unsigned long ulNumberOfFile;
unsigned char bUseXorCode;
unsigned char bUseCheckSum;
unsigned char ucPathXorCode;
unsigned char ucPathCheckSum;
char **d_szPathList;
FIL_tdstConcatFileElement *d_stConcatFileElement;
} FIL_tdstConcatFile;
typedef struct FIL_tdstFileInConcatFile_
{
unsigned char bUseConcatFile;
FILE *p_stFile;
unsigned long ulFileActualSeek;
unsigned long ulFileEndSeek;
unsigned long ulFileXorCode;
unsigned long ulFileCheckSum;
unsigned long ulCacheSeek;
unsigned long ulCacheSize;
unsigned long ulCacheCheckSum;
unsigned char *p_ucCache;
} FIL_tdstFileInConcatFile;
#endif /* D_FIL_StructureDefine */
typedef struct FIL_tdstFileHeader_
{
unsigned long ulWidth;
unsigned long ulHeight;
unsigned long ulImageSize;
long lChromakeyIndex;
unsigned short uwNbColorInPalette; /*uwPaletteSize; */
unsigned char ucBpcInPalette; /*ucPaletteEntrySize; */
unsigned char ucBpp; /*ucNumberOfBits*/
unsigned char ucRLECode;
unsigned char ucRed;
unsigned char ucGreen;
unsigned char ucBlue;
unsigned char ucFormat;
unsigned char ucVersion;
} FIL_tdstFileHeader;
/* Oliv' - Portage v15*/
#ifndef U64
#pragma pack(push,1)
#endif
/* EndOfOliv'*/
typedef struct FIL_tdstRealGFFileHeader_
{
unsigned long ulFormat;
unsigned long ulWidth;
unsigned long ulHeight;
unsigned char ucBpp;
unsigned char ucRLECode;
} FIL_tdstRealGFFileHeader;
typedef struct FIL_tdstGF_
{
struct FIL_tdstFileHeader_ stFileHeader;
unsigned char *p_ucBitMap;
unsigned char *p_ucPalette;
} FIL_tdstGF;
/* Oliv' - Portage v15*/
#ifndef U64
#pragma pack(pop)
#endif
/* EndOfOliv'*/
#if !defined(U64)
EXTERN CPA_EXPORT void FIL_fn_vFirstInit(void);
EXTERN CPA_EXPORT void FIL_fn_vDisplayInformationError(unsigned char bValue);
/**** Files management ****/
EXTERN CPA_EXPORT unsigned long FIL_fn_ulGetFileSize(char *_szFileName);
EXTERN CPA_EXPORT unsigned char FIL_fn_bDestroyFileOrDirectory(char *_szFileName);
EXTERN CPA_EXPORT FIL_tdxHandleToFileNameList FIL_fn_hSearchFile(char *_szFileName,unsigned long ulAttrib);
EXTERN CPA_EXPORT FIL_tdxHandleToFileNameList FIL_fn_hSearchRecurseFile(char *_szFileName,unsigned long ulAttrib);
EXTERN CPA_EXPORT void FIL_fn_vContinueSearchRecurseFile(char *_szFileName,unsigned long ulAttrib,FIL_tdxHandleToFileNameList hFileNameList);
EXTERN CPA_EXPORT void FIL_fn_vDestroySearchedFile(FIL_tdxHandleToFileNameList _hFileNameList);
EXTERN CPA_EXPORT void FIL_fn_vDestroyOnElementInFileNameList(FIL_tdxHandleToFileNameListElement hFileNameListElement);
EXTERN CPA_EXPORT unsigned long FIL_fn_ulGetNumberOfFiles(FIL_tdxHandleToFileNameList hHandleToFileNameList);
EXTERN CPA_EXPORT unsigned char FIL_fn_bIsFileExist(char *_szFileName);
EXTERN CPA_EXPORT unsigned char FIL_fn_bValidatePath(char *_p_szStartPath, char *_p_szFileName);
EXTERN CPA_EXPORT unsigned long FIL_fn_ulGetFileSize(char *_szFileName);
/**** Concat files ****/
EXTERN CPA_EXPORT FIL_tdxHandleToConcatFile FIL_fn_hCreateConcatFileHandle(unsigned long ulNumberOfPath,unsigned long ulNumberOfFiles);
EXTERN CPA_EXPORT void fn_vDestroyConcatFileHandle(FIL_tdxHandleToConcatFile hConcatFile);
EXTERN CPA_EXPORT unsigned char FIL_fn_bSetConcatPathElement(FIL_tdxHandleToConcatFile hConcatFile,unsigned long ulPathNumber,char *p_szPathName);
EXTERN CPA_EXPORT unsigned char FIL_fn_bSetConcatFileElement(FIL_tdxHandleToConcatFile hConcatFile,unsigned long ulFileNumber,char *p_szFileName);
EXTERN CPA_EXPORT void FIL_fn_vBuildConcatCompleteFileName(char *szCompleteFilename,FIL_tdxHandleToConcatFile hConcatFile,unsigned long ulIndex);
EXTERN CPA_EXPORT FIL_tdxHandleToConcatFile FIL_fn_vOpenConcatFile(char *p_szFilename);
EXTERN CPA_EXPORT void FIL_fn_vCloseConcatFile(FIL_tdxHandleToConcatFile *hConcatFile);
EXTERN CPA_EXPORT FIL_tdxHandleToFileInConcatFile FIL_fn_hOpenFileInConcatFile(FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFilename);
EXTERN CPA_EXPORT void FIL_fn_vCloseFileInConcatFile(FIL_tdxHandleToFileInConcatFile *hHandleToFile);
EXTERN CPA_EXPORT long FIL_fn_lReadFileInConcatFile(void *p_vBuffer,long lSize,long lNumber,FIL_tdxHandleToFileInConcatFile hHandleToFile);
/**** BMP pictures files ****/
EXTERN CPA_EXPORT void FIL_fn_vSaveBMPInFile(char *p_szFileName,unsigned char *p_ucSource,unsigned long ulWidth,unsigned long ulHeight,unsigned char ucNumberOfBytesInFile,unsigned char ucNumberOfBytesInSource);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPInformationFromFile(char *p_szPath,char *p_szFileName,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPFromFileWithInvertPicture(char *p_szPath,char *p_szFileName,FIL_tdstGF *_p_stHeader);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPFromFileWithoutInvertPicture(char *p_szPath,char *p_szFileName,unsigned char **pp_ucDest,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPInformationFromConcatFile(FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPFromConcatFileWithInvertPicture(FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName,unsigned char **pp_ucDest,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vLoadBMPFromConcatFileWithoutInvertPicture(FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName,unsigned char **pp_ucDest,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vFreeBMP(unsigned char **pp_ucMemory);
EXTERN CPA_EXPORT void FIL_fn_vInvertBMP(unsigned char *p_ucDest,unsigned char ucNumberOfBytesInDest,unsigned long ulWidth,unsigned long ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vTGASaveInFile (char *p_szFileName, unsigned char ucNumberOfBytesInFile,FIL_tdstGF *_p_stSource);
EXTERN CPA_EXPORT void FIL_fn_vTGALoadInformationFromFile (char *p_szPath,char *p_szFileName, FIL_tdstGF *_p_stHeader );
EXTERN CPA_EXPORT void FIL_fn_vTGALoadInformationFromConcatFile (FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName, FIL_tdstGF *_p_stHeader);
#ifndef RETAIL
EXTERN CPA_EXPORT void FIL_fn_vTGALoadFromFileWithInvertPicture (char *p_szPath,char *p_szFileName, FIL_tdstGF *_p_stHeader );
#endif
EXTERN CPA_EXPORT void FIL_fn_vTGALoadFromFileWithoutInvertPicture (char *p_szPath, char *p_szFileName, FIL_tdstGF *_p_stHeader);
EXTERN CPA_EXPORT void FIL_fn_vTGALoadFromConcatFileWithInvertPicture (FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName, FIL_tdstGF *_p_stHeader );
EXTERN CPA_EXPORT void FIL_fn_vTGALoadFromConcatFileWithoutInvertPicture(FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName, FIL_tdstGF *_p_stHeader );
EXTERN CPA_EXPORT void FIL_fn_vTGAInvert (FIL_tdstGF *_p_stHeader );
EXTERN CPA_EXPORT void FIL_fn_vTGAFree (unsigned char **pp_ucMemory);
/**** GF pictures files ****/
EXTERN CPA_EXPORT void FIL_fn_vSaveGFInFile(char *p_szFileName, unsigned char ucNumberOfBytesInSource, FIL_tdstGF *_p_stSrcGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFInformationFromFile(char *p_szPath, char *p_szFileName, ACP_tdxBool *p_bTextureInPalette, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFFromFileWithInvertPicture(char *p_szPath, char *p_szFileName,FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFFromFileWithoutInvertPicture(char *p_szPath, char *p_szFileName, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vOldLoadGFInformationFromConcatFile(FIL_tdxHandleToConcatFile hConcatFile, char *p_szPath, char *p_szFileName, ACP_tdxBool *p_bTextureInPalette, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFInformationFromConcatFile(FIL_tdxHandleToConcatFile hConcatFile, char *p_szPath, char *p_szFileName, ACP_tdxBool *p_bTextureInPalette, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFFromConcatFileWithInvertPicture(FIL_tdxHandleToConcatFile hConcatFile, char *p_szPath, char *p_szFileName, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vLoadGFFromConcatFileWithoutInvertPicture(FIL_tdxHandleToConcatFile hConcatFile, char *p_szPath, char *p_szFileName, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT void FIL_fn_vInvertGF( unsigned char *p_ucDest, unsigned char ucNumberOfBytesInDest, unsigned long ulWidth, unsigned long ulHeight);
EXTERN CPA_EXPORT void FIL_fn_vInitGlobalHandleToFileInConcatFile(void);
EXTERN CPA_EXPORT void FIL_fn_vFreeGlobalHandleToFileInConcatFile(void);
EXTERN CPA_EXPORT void FIL_fn_vGFLoadInformationFromConcatFile(FIL_tdxHandleToConcatFile hConcatFile, char *p_szPath, char *p_szFileName, FIL_tdstGF *_p_stGF);
EXTERN CPA_EXPORT unsigned char FIL_fn_bIsValidPath(char *_szFileName);
/*EXTERN CPA_EXPORT void FIL_fn_vLoadGFFromConcatFileWithoutInvertPicture (FIL_tdxHandleToConcatFile hConcatFile,char *p_szPath,char *p_szFileName,unsigned char **pp_ucDest,unsigned char *p_ucNumberOfBytesInDest,unsigned long *p_ulWidth,unsigned long *p_ulHeight);*/
#endif /* U64 */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __FIL_Pub_h__ */