Files
firestorm/Gameleap/code/mw4/Tools/Max43DSPlugins/BRB/BRB.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

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_)