Files
firestorm/Gameleap/code/mw4/Tools/3DSPlugins/AnimationSuite/Replicate.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

111 lines
2.7 KiB
C++

// PlugTest.h : main header file for the PLUGTEST DLL
//
#if !defined(AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__INCLUDED_)
#define AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__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 "AnimationSuite.h"
/////////////////////////////////////////////////////////////////////////////
// CPlugTestApp
// See PlugTest.cpp for the implementation of this class
//
#ifndef __REPLICATE__
#define __REPLICATE__
class RepReduceStatus:
public KeyReduceStatus
{
public:
RepReduceStatus()
{
}
void Init(int total)
{
}
int Progress(int p){return KEYREDUCE_CONTINUE;};
};
/////////////////////////////////////////////////////////////////////////////
// PlugPanel, manage the Plugins' display panel
class ReplicatePanel : public UtilityObj {
protected:
IUtil* m_iu;
HWND m_hPanel;
public:
Interface* m_ip;
// Constructor & Destructor
ReplicatePanel() {};
virtual ~ReplicatePanel() {};
// 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
void Replicate();
void Bake();
void DeleteMeAndMyChildren(INode *node);
INode *CopyMeAndMyChildren(INode *copy_node);
INode *CopyNode(INode *copy_node);
void StripBones(INode *node);
void CopyAnimation(INode *source, INode *target,JointEditDialog *dialog,int = 1);
int HasKnownControler(INode *node);
void OptimizeAnimation(INode *copy_node, int &current_node, int total_nodes, JointEditDialog *dialog);
};
/////////////////////////////////////////////////////////////////////////////
// 3DS Max Standard Select-by-name Dialog Box Callback Class
class TestHitByNameDlgCallback : public HitByNameDlgCallback
{
public:
virtual TCHAR* dialogTitle() { return _T("Select a Node to copy");}
virtual TCHAR* buttonText() { return _T("Select");}
virtual BOOL useFilter() {return FALSE;}
virtual BOOL useProc() { return TRUE;}
virtual void proc(INodeTab &nodeTab){NodeTab = nodeTab;}
virtual BOOL singleSelect() {return TRUE;}
public:
INodeTab NodeTab;
};
/////////////////////////////////////////////////////////////////////////////
#endif
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__INCLUDED_)