mirror of
https://github.com/electronicarts/CnC_Renegade.git
synced 2025-12-16 07:31:40 -05:00
Initial commit of Command & Conquer Renegade source code.
This commit is contained in:
84
Code/Tools/MaxFly/DllEntry.cpp
Normal file
84
Code/Tools/MaxFly/DllEntry.cpp
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
** Command & Conquer Renegade(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: DllEntry.cpp
|
||||
|
||||
DESCRIPTION:Contains the Dll Entry stuff
|
||||
|
||||
CREATED BY:
|
||||
|
||||
HISTORY:
|
||||
|
||||
*> Copyright (c) 1997, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
#include "MaxFly.h"
|
||||
|
||||
extern ClassDesc2* GetMaxFlyDesc();
|
||||
|
||||
HINSTANCE hInstance;
|
||||
int controlsInit = FALSE;
|
||||
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved)
|
||||
{
|
||||
hInstance = hinstDLL; // Hang on to this DLL's instance handle.
|
||||
|
||||
if (!controlsInit) {
|
||||
controlsInit = TRUE;
|
||||
InitCustomControls(hInstance); // Initialize MAX's custom controls
|
||||
InitCommonControls(); // Initialize Win95 controls
|
||||
}
|
||||
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
__declspec( dllexport ) const TCHAR* LibDescription()
|
||||
{
|
||||
return GetString(IDS_LIBDESCRIPTION);
|
||||
}
|
||||
|
||||
//TODO: Must change this number when adding a new class
|
||||
__declspec( dllexport ) int LibNumberClasses()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
__declspec( dllexport ) ClassDesc* LibClassDesc(int i)
|
||||
{
|
||||
switch(i) {
|
||||
case 0: return GetMaxFlyDesc();
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
__declspec( dllexport ) ULONG LibVersion()
|
||||
{
|
||||
return VERSION_3DSMAX;
|
||||
}
|
||||
|
||||
TCHAR *GetString(int id)
|
||||
{
|
||||
static TCHAR buf[256];
|
||||
|
||||
if (hInstance)
|
||||
return LoadString(hInstance, id, buf, sizeof(buf)) ? buf : NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
305
Code/Tools/MaxFly/MaxFly.cpp
Normal file
305
Code/Tools/MaxFly/MaxFly.cpp
Normal file
@@ -0,0 +1,305 @@
|
||||
/*
|
||||
** Command & Conquer Renegade(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: MaxFly.cpp
|
||||
|
||||
DESCRIPTION: Appwizard generated plugin
|
||||
|
||||
CREATED BY:
|
||||
|
||||
HISTORY:
|
||||
|
||||
*> Copyright (c) 1997, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#include "MaxFly.h"
|
||||
|
||||
#define MAXFLY_CLASS_ID Class_ID(0xf1077c8, 0x387a6b66)
|
||||
|
||||
const float PITCH_SPEED = 8.0f * 3.1415f / 180.0f;
|
||||
const float YAW_SPEED = 8.0f * 3.1415f / 180.0f;
|
||||
const float FLY_SPEED = 5.0f;
|
||||
|
||||
|
||||
class MaxFly : public UtilityObj
|
||||
{
|
||||
public:
|
||||
MaxFly();
|
||||
~MaxFly();
|
||||
|
||||
void BeginEditParams(Interface *ip,IUtil *iu);
|
||||
void EndEditParams(Interface *ip,IUtil *iu);
|
||||
|
||||
void Init(HWND hWnd);
|
||||
void Destroy(HWND hWnd);
|
||||
|
||||
void DeleteThis() { }
|
||||
|
||||
protected:
|
||||
|
||||
void Select_Camera(void);
|
||||
void Pitch_Up(void);
|
||||
void Pitch_Down(void);
|
||||
void Yaw_Left(void);
|
||||
void Yaw_Right(void);
|
||||
void Fly_Forward(void);
|
||||
void Fly_Backward(void);
|
||||
|
||||
HWND hPanel;
|
||||
IUtil * iu;
|
||||
Interface * ip;
|
||||
|
||||
friend static BOOL CALLBACK MaxFlyDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
static MaxFly theMaxFly;
|
||||
|
||||
class MaxFlyClassDesc:public ClassDesc2
|
||||
{
|
||||
public:
|
||||
int IsPublic() {return 1;}
|
||||
void * Create(BOOL loading = FALSE) {return &theMaxFly;}
|
||||
const TCHAR * ClassName() {return GetString(IDS_CLASS_NAME);}
|
||||
SClass_ID SuperClassID() {return UTILITY_CLASS_ID;}
|
||||
Class_ID ClassID() {return MAXFLY_CLASS_ID;}
|
||||
const TCHAR* Category() {return GetString(IDS_CATEGORY);}
|
||||
const TCHAR* InternalName() { return _T("MaxFly"); } // returns fixed parsable name (scripter-visible name)
|
||||
HINSTANCE HInstance() { return hInstance; } // returns owning module handle
|
||||
};
|
||||
|
||||
static MaxFlyClassDesc MaxFlyDesc;
|
||||
ClassDesc2* GetMaxFlyDesc() {return &MaxFlyDesc;}
|
||||
|
||||
static BOOL CALLBACK MaxFlyDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (msg) {
|
||||
case WM_INITDIALOG:
|
||||
theMaxFly.Init(hWnd);
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
theMaxFly.Destroy(hWnd);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam)) {
|
||||
case IDC_PITCH_UP_BUTTON: theMaxFly.Pitch_Up(); break;
|
||||
case IDC_PITCH_DOWN_BUTTON: theMaxFly.Pitch_Down(); break;
|
||||
case IDC_YAW_LEFT_BUTTON: theMaxFly.Yaw_Left(); break;
|
||||
case IDC_YAW_RIGHT_BUTTON: theMaxFly.Yaw_Right(); break;
|
||||
case IDC_FLY_FORWARD_BUTTON: theMaxFly.Fly_Forward(); break;
|
||||
case IDC_FLY_BACKWARD_BUTTON: theMaxFly.Fly_Backward(); break;
|
||||
case IDC_SELECT_CAMERA_BUTTON: theMaxFly.Select_Camera(); break;
|
||||
};
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_LBUTTONUP:
|
||||
case WM_MOUSEMOVE:
|
||||
theMaxFly.ip->RollupMouseMessage(hWnd,msg,wParam,lParam);
|
||||
break;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//--- MaxFly -------------------------------------------------------
|
||||
|
||||
|
||||
MaxFly::MaxFly()
|
||||
{
|
||||
iu = NULL;
|
||||
ip = NULL;
|
||||
hPanel = NULL;
|
||||
}
|
||||
|
||||
MaxFly::~MaxFly()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void MaxFly::BeginEditParams(Interface *ip,IUtil *iu)
|
||||
{
|
||||
this->iu = iu;
|
||||
this->ip = ip;
|
||||
hPanel = ip->AddRollupPage(
|
||||
hInstance,
|
||||
MAKEINTRESOURCE(IDD_PANEL),
|
||||
MaxFlyDlgProc,
|
||||
GetString(IDS_PARAMS),
|
||||
0);
|
||||
}
|
||||
|
||||
void MaxFly::EndEditParams(Interface *ip,IUtil *iu)
|
||||
{
|
||||
this->iu = NULL;
|
||||
this->ip = NULL;
|
||||
ip->DeleteRollupPage(hPanel);
|
||||
hPanel = NULL;
|
||||
}
|
||||
|
||||
void MaxFly::Init(HWND hWnd)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void MaxFly::Destroy(HWND hWnd)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void MaxFly::Select_Camera(void)
|
||||
{
|
||||
}
|
||||
|
||||
void MaxFly::Pitch_Up(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Rotate( ip->GetTime(), // Time
|
||||
object_tm, // tmAxis
|
||||
AngAxis(Point3(1,0,0),-PITCH_SPEED), // const AngAxis& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
void MaxFly::Pitch_Down(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Rotate( ip->GetTime(), // Time
|
||||
object_tm, // tmAxis
|
||||
AngAxis(Point3(1,0,0),PITCH_SPEED), // const AngAxis& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
void MaxFly::Yaw_Left(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Rotate( ip->GetTime(), // Time
|
||||
object_tm, // tmAxis
|
||||
AngAxis(Point3(0,1,0),-YAW_SPEED), // const AngAxis& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
void MaxFly::Yaw_Right(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Rotate( ip->GetTime(), // Time
|
||||
object_tm, // tmAxis
|
||||
AngAxis(Point3(0,1,0),+YAW_SPEED), // const AngAxis& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
void MaxFly::Fly_Forward(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Move( ip->GetTime(), // TimeValue t,
|
||||
object_tm, // const Matrix3& tmAxis,
|
||||
Point3(0.0f,0.0f,-FLY_SPEED), // const Point3& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
void MaxFly::Fly_Backward(void)
|
||||
{
|
||||
if (ip->GetSelNodeCount() > 0) {
|
||||
for (int i=0; i<ip->GetSelNodeCount(); i++) {
|
||||
INode * node = ip->GetSelNode(i);
|
||||
if (node) {
|
||||
Matrix3 object_tm = node->GetObjectTM(ip->GetTime());
|
||||
node->Move( ip->GetTime(), // TimeValue t,
|
||||
object_tm, // const Matrix3& tmAxis,
|
||||
Point3(0.0f,0.0f,FLY_SPEED), // const Point3& val,
|
||||
TRUE, // BOOL localOrigin=FALSE,
|
||||
TRUE, // BOOL affectKids=TRUE,
|
||||
PIV_NONE, // int pivMode=PIV_NONE,
|
||||
TRUE // BOOL ignoreLocks=FALSE
|
||||
);
|
||||
}
|
||||
}
|
||||
ip->RedrawViews(ip->GetTime());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
8
Code/Tools/MaxFly/MaxFly.def
Normal file
8
Code/Tools/MaxFly/MaxFly.def
Normal file
@@ -0,0 +1,8 @@
|
||||
LIBRARY MaxFly
|
||||
EXPORTS
|
||||
LibDescription @1
|
||||
LibNumberClasses @2
|
||||
LibClassDesc @3
|
||||
LibVersion @4
|
||||
SECTIONS
|
||||
.data READ WRITE
|
||||
153
Code/Tools/MaxFly/MaxFly.dsp
Normal file
153
Code/Tools/MaxFly/MaxFly.dsp
Normal file
@@ -0,0 +1,153 @@
|
||||
# Microsoft Developer Studio Project File - Name="MaxFly" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=MaxFly - Win32 Hybrid
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "MaxFly.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "MaxFly.mak" CFG="MaxFly - Win32 Hybrid"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "MaxFly - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "MaxFly - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "MaxFly - Win32 Hybrid" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "MaxFly - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib gup.lib paramblk2.lib /nologo /base:"0x105b0000" /subsystem:windows /dll /machine:I386 /out:"Release\MaxFly.dlu" /release
|
||||
|
||||
!ELSEIF "$(CFG)" == "MaxFly - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /G6 /MDd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib gup.lib paramblk2.lib /nologo /base:"0x105b0000" /subsystem:windows /dll /debug /machine:I386 /out:"Debug\MaxFly.dlu"
|
||||
|
||||
!ELSEIF "$(CFG)" == "MaxFly - Win32 Hybrid"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Hybrid"
|
||||
# PROP BASE Intermediate_Dir "Hybrid"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Hybrid"
|
||||
# PROP Intermediate_Dir "Hybrid"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /G6 /MD /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib gup.lib paramblk2.lib /nologo /base:"0x105b0000" /subsystem:windows /dll /debug /machine:I386 /out:"Hybrid\MaxFly.dlu"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "MaxFly - Win32 Release"
|
||||
# Name "MaxFly - Win32 Debug"
|
||||
# Name "MaxFly - Win32 Hybrid"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DllEntry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MaxFly.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MaxFly.def
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MaxFly.rc
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\MaxFly.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resource.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
45
Code/Tools/MaxFly/MaxFly.dsw
Normal file
45
Code/Tools/MaxFly/MaxFly.dsw
Normal file
@@ -0,0 +1,45 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "MaxFly"=.\MaxFly.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "max2w3d"=..\max2w3d\max2w3d.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
begin source code control
|
||||
"$/Commando/Code/Tools/max2w3d", SSJAAAAA
|
||||
..\max2w3d
|
||||
end source code control
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
47
Code/Tools/MaxFly/MaxFly.h
Normal file
47
Code/Tools/MaxFly/MaxFly.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
** Command & Conquer Renegade(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: MaxFly.h
|
||||
|
||||
DESCRIPTION: Template Utility
|
||||
|
||||
CREATED BY:
|
||||
|
||||
HISTORY:
|
||||
|
||||
*> Copyright (c) 1997, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __MAXFLY__H
|
||||
#define __MAXFLY__H
|
||||
|
||||
#include "Max.h"
|
||||
#include "resource.h"
|
||||
#include "istdplug.h"
|
||||
#include "iparamb2.h"
|
||||
#include "iparamm2.h"
|
||||
|
||||
#include "utilapi.h"
|
||||
|
||||
extern TCHAR *GetString(int id);
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
#endif // __MAXFLY__H
|
||||
163
Code/Tools/MaxFly/MaxFly.rc
Normal file
163
Code/Tools/MaxFly/MaxFly.rc
Normal file
@@ -0,0 +1,163 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_MAXFLY_PANEL DIALOG DISCARDABLE 0, 0, 108, 152
|
||||
STYLE WS_CHILD | WS_VISIBLE
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CTEXT "Max Fly",IDC_STATIC,7,7,94,10
|
||||
CONTROL "",IDC_SPEED_EDIT,"CustEdit",WS_TABSTOP,47,127,35,10
|
||||
CONTROL "",IDC_SPEED_SPIN,"SpinnerControl",0x0,83,127,7,10
|
||||
LTEXT "Speed:",IDC_STATIC,13,128,24,8
|
||||
PUSHBUTTON "Pitch Up",IDC_PITCH_UP_BUTTON,32,50,44,14
|
||||
PUSHBUTTON "Pitch Down",IDC_PITCH_DOWN_BUTTON,32,84,44,14
|
||||
PUSHBUTTON "Yaw Left",IDC_YAW_LEFT_BUTTON,7,67,44,14
|
||||
PUSHBUTTON "Yaw Right",IDC_YAW_RIGHT_BUTTON,57,67,44,14
|
||||
PUSHBUTTON "Fly Forward",IDC_FLY_FORWARD_BUTTON,7,106,46,14
|
||||
PUSHBUTTON "Fly Backward",IDC_FLY_BACKWARD_BUTTON,55,105,46,14
|
||||
PUSHBUTTON "Select Camera",IDC_SELECT_CAMERA_BUTTON,7,20,94,12
|
||||
GROUPBOX "Controls",IDC_STATIC,7,38,94,107
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_MAXFLY_PANEL, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 101
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 145
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 3,0,0,0
|
||||
PRODUCTVERSION 3,0,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "\0"
|
||||
VALUE "FileVersion", "3.0.0.0\0"
|
||||
VALUE "InternalName", "MaxFly\0"
|
||||
VALUE "LegalCopyright", "\0"
|
||||
VALUE "OriginalFilename", "MaxFly.dlu\0"
|
||||
VALUE "ProductName", "3D Studio MAX\0"
|
||||
VALUE "ProductVersion", "3.0.0.0\0"
|
||||
VALUE "FileDescription", "Max Fly\0"
|
||||
VALUE "Comments", "TECH: \0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_LIBDESCRIPTION "Max Fly"
|
||||
IDS_CATEGORY "Westwood Tools"
|
||||
IDS_CLASS_NAME "MaxFly"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
36
Code/Tools/MaxFly/resource.h
Normal file
36
Code/Tools/MaxFly/resource.h
Normal file
@@ -0,0 +1,36 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by MaxFly.rc
|
||||
//
|
||||
#define IDS_LIBDESCRIPTION 1
|
||||
#define IDS_CATEGORY 2
|
||||
#define IDS_CLASS_NAME 3
|
||||
#define IDS_PARAMS 4
|
||||
#define IDS_SPIN 5
|
||||
#define IDD_PANEL 101
|
||||
#define IDD_MAXFLY_PANEL 101
|
||||
#define IDC_CLOSEBUTTON 1000
|
||||
#define IDC_DOSTUFF 1000
|
||||
#define IDC_PITCH_UP_BUTTON 1001
|
||||
#define IDC_PITCH_DOWN_BUTTON 1002
|
||||
#define IDC_YAW_LEFT_BUTTON 1003
|
||||
#define IDC_YAW_RIGHT_BUTTON 1004
|
||||
#define IDC_FLY_FORWARD_BUTTON 1005
|
||||
#define IDC_FLY_BACKWARD_BUTTON 1006
|
||||
#define IDC_SELECT_CAMERA_BUTTON 1007
|
||||
#define IDC_COLOR 1456
|
||||
#define IDC_EDIT 1490
|
||||
#define IDC_SPEED_EDIT 1490
|
||||
#define IDC_SPIN 1496
|
||||
#define IDC_SPEED_SPIN 1496
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1009
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user