Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
182 lines
4.9 KiB
C++
182 lines
4.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// BRB.h : main header file for the PLUGTEST DLL
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_PLUGTEST_H__68E70A2D_B863_11D1_98AD_0040051EDCE7__INCLUDED_)
|
|
#define AFX_PLUGTEST_H__68E70A2D_B863_11D1_98AD_0040051EDCE7__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#ifndef __AFXWIN_H__
|
|
#error include 'stdafx.h' before including this file for PCH
|
|
#endif
|
|
|
|
#include "bmmlib.h" // Bitmap lib
|
|
#include "utilapi.h" // Utility Plugins lib
|
|
#include "istdplug.h"
|
|
|
|
#define BRB_CLASS_ID Class_ID(0x4c9b40d0, 0x3bf66064)
|
|
#define BRB_SUPER_CLASS_ID UTILITY_CLASS_ID
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
#if !defined(STUFF_STUFF_HPP)
|
|
#include "Stuff\Stuff.hpp"
|
|
#endif
|
|
|
|
#if !defined(MAXPROXIES_MAXPROXIES_HPP)
|
|
#include "MAXProxies\MAXProxies.hpp"
|
|
#endif
|
|
|
|
#if !defined(MIDLEVELRENDERER_HPP)
|
|
#include "MLR\MLR.hpp"
|
|
#endif
|
|
|
|
#if !defined(ELEMENTPROXIES_ELEMENTPROXIES_HPP)
|
|
#include "ElementProxies\ElementProxies.hpp"
|
|
#endif
|
|
|
|
#if !defined(ELEMENTRENDERER_ELEMENTRENDERER_HPP)
|
|
#include "ElementRenderer\ElementRenderer.hpp"
|
|
#endif
|
|
|
|
#if !defined(GOSFX_GOSFX_HPP)
|
|
#include <gosFX\gosFX.hpp>
|
|
#endif
|
|
|
|
#define EXPORTINFO_CLASS_ID Class_ID(0x17724552, 0x2ee077db)
|
|
#define EXPORTINFO_SUPER_CLASS_ID UTILITY_CLASS_ID
|
|
#define TEMP_DATA_ID 1
|
|
#define PERM_DATA_ID 0
|
|
#define MAX_FILES 8
|
|
#define ONE_MINUS_MAX_FILES (MAX_FILES-1)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// structure to save way we are exporting to be used in the case of command
|
|
// line exporting. defaults are all false.
|
|
//
|
|
//typedef struct {
|
|
// bool overwriteTextures;
|
|
// bool exportCharacter;
|
|
// bool outputAmatureFile;
|
|
//} ErfExportInfo;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// structure to save way we are exporting to be used in the case of command
|
|
// line exporting. defaults are all false.
|
|
//
|
|
typedef struct {
|
|
bool bIsBRB;
|
|
bool overwriteTextures;
|
|
bool outputAmatureFile;
|
|
unsigned exportType;
|
|
} ExportInfo;
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPlugTestApp
|
|
// See BRB.cpp for the implementation of this class
|
|
//
|
|
|
|
class CPlugTestApp : public CWinApp
|
|
{
|
|
public:
|
|
CPlugTestApp();
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CPlugTestApp)
|
|
public:
|
|
virtual BOOL InitInstance();
|
|
virtual int ExitInstance();
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CPlugTestApp)
|
|
// NOTE - the ClassWizard will add and remove member functions here.
|
|
// DO NOT EDIT what you see in these blocks of generated code !
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// PlugPanel, manage the Plugins' display panel
|
|
class PlugPanel : public UtilityObj {
|
|
public:
|
|
HINSTANCE m_hInstance;
|
|
IUtil* m_iu;
|
|
Interface* m_ip;
|
|
HWND m_hPanel;
|
|
TSTR m_game_path; // path that mech 4 lives in i.e. e:\MW4
|
|
|
|
public:
|
|
// Constructor & Destructor
|
|
PlugPanel() {}
|
|
virtual ~PlugPanel() {}
|
|
|
|
// Overides of the UtilityObj class
|
|
void BeginEditParams(Interface* ip, IUtil* iu);
|
|
void EndEditParams(Interface* ip, IUtil* iu);
|
|
void DeleteThis() {}
|
|
void Init(HWND hWnd) {}
|
|
void Destroy(HWND hWnd) {}
|
|
|
|
//
|
|
//Specific Methods
|
|
//
|
|
public:
|
|
void GetGamePath();
|
|
void OnPreviewAnimation();
|
|
void OnPreviewLOD();
|
|
void OnErfView();
|
|
void OnExportToGame();
|
|
bool AddPreferences(INode *node);
|
|
bool RemovePreferences(INode *node);
|
|
//
|
|
//Variables
|
|
//
|
|
enum ETYPE{
|
|
EXPORT_SHAPE = 0,
|
|
EXPORT_CHARACTER = 1,
|
|
EXPORT_ANIM = 2,
|
|
};
|
|
|
|
private:
|
|
ExportInfo m_exportInfo; // data about export settings
|
|
CString m_fileName[MAX_FILES];
|
|
CString m_sortName[MAX_FILES];
|
|
int m_farLod[MAX_FILES];
|
|
int m_nearLod[MAX_FILES];
|
|
int m_fileCount;
|
|
|
|
int WriteBrbPropFile(ETYPE etype);
|
|
|
|
};
|
|
|
|
extern PlugPanel thePlugPanel; // The One and only One object
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// PlugDesc, Plugin description class
|
|
class PlugDesc : public ClassDesc
|
|
{
|
|
public:
|
|
int IsPublic () {return 1;}
|
|
void* Create (BOOL loading = FALSE) {return &thePlugPanel;}
|
|
const TCHAR* ClassName () {return _T("Big Red Button");}
|
|
SClass_ID SuperClassID () {return UTILITY_CLASS_ID;}
|
|
Class_ID ClassID () {return BRB_CLASS_ID;}
|
|
const TCHAR* Category () {return _T("Fasa Interactive");}
|
|
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_PLUGTEST_H__68E70A2D_B863_11D1_98AD_0040051EDCE7__INCLUDED_)
|