2000-12-02 19:55:49 +01:00
|
|
|
/*=========================================================================
|
|
|
|
|
|
|
|
TexGrab.h
|
|
|
|
|
|
|
|
Author: Dave
|
|
|
|
Created: 011200
|
|
|
|
Project: Spongebob
|
|
|
|
Purpose:
|
|
|
|
|
|
|
|
Copyright (c) 2000 Climax Development Ltd
|
|
|
|
|
|
|
|
===========================================================================*/
|
|
|
|
|
|
|
|
#ifndef __TEXGRAB_LIB_H__
|
|
|
|
#define __TEXGRAB_LIB_H__
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Includes
|
|
|
|
-------- */
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include <gtypes.h>
|
|
|
|
#include <gstring.hpp>
|
|
|
|
#include <misc.hpp>
|
|
|
|
#include <gfname.hpp>
|
|
|
|
#include <pcre.h>
|
|
|
|
|
|
|
|
#include "sprset.h"
|
|
|
|
#include "allfiles.h"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Tyepdefs && Defines
|
|
|
|
------------------- */
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Structure defintions
|
|
|
|
-------------------- */
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Globals
|
|
|
|
------- */
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------
|
|
|
|
Class defintions
|
|
|
|
---------------- */
|
|
|
|
|
|
|
|
class CTexGrab
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CTexGrab();
|
|
|
|
~CTexGrab();
|
|
|
|
|
2001-02-02 20:18:13 +01:00
|
|
|
int AddFile(const char *Name);
|
|
|
|
int AddMemFrame(const char *Name,Frame &Frame);
|
2000-12-06 20:29:40 +01:00
|
|
|
|
2000-12-02 19:55:49 +01:00
|
|
|
void Process();
|
|
|
|
|
|
|
|
void CompressTpages(bool f) {m_compressTpages=f;}
|
|
|
|
void NoWriteTpages(bool f) {m_noWriteTpages=f;}
|
|
|
|
void UseHalfTpage(bool f) {m_useHalfTpage=f;}
|
|
|
|
void AnimatedHeadersOnly(bool f) {m_AnimatedHeadersOnly=f;}
|
|
|
|
void DontOutputBoxes(bool f) {m_DontOutputBoxes=f;}
|
|
|
|
void AlignHeaders(bool f) {m_AlignHeaders=f;}
|
|
|
|
void AllowRotate(bool f) {MyFiles.SetAllowRotate(f);}
|
|
|
|
void FileRecursion(bool f) {MyFiles.SetFileRecursion(f);}
|
2000-12-11 22:32:01 +01:00
|
|
|
void NoSort() {MyFiles.setNoSort();}
|
2000-12-14 17:38:34 +01:00
|
|
|
void SetDebug(bool f) {DebugFlag=f;}
|
2000-12-02 19:55:49 +01:00
|
|
|
|
|
|
|
void CrossHair(bool f) {MyFiles.SetCrossHair(f);}
|
|
|
|
void ZeroColZero(bool f) {MyFiles.SetZeroColZero(f);}
|
|
|
|
void MoveUVs(bool f) {MyFiles.SetMoveUVs(f);}
|
|
|
|
void ShrinkToFit(bool f) {MyFiles.SetShrinkToFit(f);}
|
|
|
|
|
2001-01-17 22:52:08 +01:00
|
|
|
void SetOutFile(const char *Name) {m_OutFile=Name;}
|
|
|
|
void SetSprFile(const char *Name) {m_SprFile=Name;}
|
|
|
|
void SetDebugOut(const char *Name) {m_OutLbm=Name;}
|
|
|
|
void SetRepFile(const char *Name) {m_ReportFile=Name;}
|
|
|
|
void SetIncFile(const char *Name) {m_IncOutFile=Name;}
|
|
|
|
void SetRawTPageFile(const char *Name) {m_rawTpageFile=Name;}
|
2000-12-02 19:55:49 +01:00
|
|
|
|
|
|
|
void MaxSize(int Size) {MyFiles.SetMaxSize(Size);}
|
|
|
|
void SetTPage(int Base,int W,int H) {m_PageBase=Base; m_WidthPages=W; m_HeightPages=H; m_PagePlacements=true;}
|
|
|
|
void ForceOffsets(int XOfs,int YOfs) {MyFiles.SetXOff(XOfs); MyFiles.SetYOff(YOfs); MyFiles.SetForceOffsets(true);}
|
2000-12-06 20:29:40 +01:00
|
|
|
|
2001-03-08 00:20:09 +01:00
|
|
|
vector<FileInfo> const &CTexGrab::GetTexInfoList();
|
|
|
|
|
2000-12-06 20:29:40 +01:00
|
|
|
std::vector<sTexOutInfo> &GetTexInfo() {return(TexInfo);}
|
2000-12-02 19:55:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
AllFiles MyFiles;
|
2000-12-06 20:29:40 +01:00
|
|
|
SprSet MySprSet;
|
|
|
|
|
2000-12-02 19:55:49 +01:00
|
|
|
|
|
|
|
GString m_OutFile;
|
|
|
|
GString m_OutLbm;
|
|
|
|
GString m_SprFile;
|
|
|
|
GString m_ReportFile;
|
|
|
|
GString m_IncOutFile;
|
|
|
|
GString m_rawTpageFile;
|
|
|
|
|
|
|
|
int m_PageBase;
|
|
|
|
int m_WidthPages;
|
|
|
|
int m_HeightPages;
|
|
|
|
bool m_PagePlacements;
|
|
|
|
bool m_compressTpages;
|
|
|
|
bool m_noWriteTpages;
|
|
|
|
bool m_useHalfTpage;
|
|
|
|
bool m_AnimatedHeadersOnly;
|
|
|
|
bool m_DontOutputBoxes;
|
|
|
|
bool m_AlignHeaders;
|
2000-12-14 17:38:34 +01:00
|
|
|
bool DebugFlag;
|
2000-12-06 20:29:40 +01:00
|
|
|
std::vector<sTexOutInfo> TexInfo;
|
2000-12-02 19:55:49 +01:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/*---------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*===========================================================================
|
|
|
|
end */
|