41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: StudioMDL byteswapping functions.
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================
|
|
#ifndef STUDIOBYTESWAP_H
|
|
#define STUDIOBYTESWAP_H
|
|
|
|
#if defined(_WIN32)
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "byteswap.h"
|
|
struct studiohdr_t;
|
|
class IPhysicsCollision;
|
|
|
|
namespace StudioByteSwap {
|
|
typedef bool (*CompressFunc_t)(const void *pInput, int inputSize,
|
|
void **pOutput, int *pOutputSize);
|
|
|
|
// void SetTargetBigEndian( bool bigEndian );
|
|
void ActivateByteSwapping(bool bActivate);
|
|
void SourceIsNative(bool bActivate);
|
|
void SetVerbose(bool bVerbose);
|
|
void SetCollisionInterface(IPhysicsCollision *pPhysicsCollision);
|
|
|
|
int ByteswapStudioFile(const char *pFilename, void *pOutBase,
|
|
const void *pFileBase, int fileSize, studiohdr_t *pHdr,
|
|
CompressFunc_t pCompressFunc = NULL);
|
|
int ByteswapPHY(void *pOutBase, const void *pFileBase, int fileSize);
|
|
int ByteswapANI(studiohdr_t *pHdr, void *pOutBase, const void *pFileBase,
|
|
int filesize);
|
|
int ByteswapVVD(void *pOutBase, const void *pFileBase, int fileSize);
|
|
int ByteswapVTX(void *pOutBase, const void *pFileBase, int fileSize);
|
|
int ByteswapMDL(void *pOutBase, const void *pFileBase, int fileSize);
|
|
|
|
#define BYTESWAP_ALIGNMENT_PADDING 4096
|
|
} // namespace StudioByteSwap
|
|
|
|
#endif // STUDIOBYTESWAP_H
|