Files
firestorm/Gameleap/code/mw4/Tools/Max43DSPlugins/MaxControls/Ctrl.cpp
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

150 lines
3.8 KiB
C++

/**********************************************************************
*<
FILE: ctrl.cpp
DESCRIPTION: DLL implementation of some controllers
CREATED BY: Rolf Berteig
HISTORY: created 13 June 1995
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#include "ctrl.h"
#include "buildver.h"
HINSTANCE hInstance;
int controlsInit = FALSE;
/** public functions **/
BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) {
hInstance = hinstDLL;
if ( !controlsInit ) {
controlsInit = TRUE;
// jaguar controls
InitCustomControls(hInstance);
#ifdef OLD3DCONTROLS
// initialize 3D controls
Ctl3dRegister(hinstDLL);
Ctl3dAutoSubclass(hinstDLL);
#endif
// initialize Chicago controls
InitCommonControls();
SetDefaultBoolController(GetBoolControlDesc());
}
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return(TRUE);
}
//------------------------------------------------------
// This is the interface to Jaguar:
//------------------------------------------------------
__declspec( dllexport ) const TCHAR *
LibDescription() { return
GetString(IDS_RB_DEFCONTROLLERS); }
#ifndef DESIGN_VER
/// MUST CHANGE THIS NUMBER WHEN ADD NEW CLASS
__declspec( dllexport ) int LibNumberClasses() {return 21;}
__declspec( dllexport ) ClassDesc*
LibClassDesc(int i) {
switch(i) {
case 0: return GetPathCtrlDesc();
case 1: return GetEulerCtrlDesc();
case 2: return GetFloatNoiseDesc();
case 3: return GetExprPosCtrlDesc();
case 4: return GetExprP3CtrlDesc();
case 5: return GetExprFloatCtrlDesc();
case 6: return GetExprScaleCtrlDesc();
case 7: return GetPositionNoiseDesc();
case 8: return GetPoint3NoiseDesc();
case 9: return GetRotationNoiseDesc();
case 10: return GetScaleNoiseDesc();
case 11: return GetBoolControlDesc();
case 12: return GetIPosCtrlDesc();
case 13: return GetAttachControlDesc();
case 14: return GetIPoint3CtrlDesc();
case 15: return GetIColorCtrlDesc();
case 16: return GetLinkCtrlDesc();
case 17: return GetFollowUtilDesc();
case 18: return GetSurfCtrlDesc();
case 19: return GetLODControlDesc();
case 20: return GetLODUtilDesc();
// case 7: return GetExprRotCtrlDesc();
default: return 0;
}
}
#else
/// MUST CHANGE THIS NUMBER WHEN ADD NEW CLASS
__declspec( dllexport ) int LibNumberClasses() { return 17; }
__declspec( dllexport ) ClassDesc*
LibClassDesc(int i) {
switch(i) {
case 0: return GetPathCtrlDesc();
case 1: return GetEulerCtrlDesc();
case 2: return GetFloatNoiseDesc();
// case 3: return GetExprPosCtrlDesc();
// case 4: return GetExprP3CtrlDesc();
// case 5: return GetExprFloatCtrlDesc();
// case 6: return GetExprScaleCtrlDesc();
case 3: return GetPositionNoiseDesc();
case 4: return GetPoint3NoiseDesc();
case 5: return GetRotationNoiseDesc();
case 6: return GetScaleNoiseDesc();
case 7: return GetBoolControlDesc();
case 8: return GetIPosCtrlDesc();
case 9: return GetAttachControlDesc();
case 10: return GetIPoint3CtrlDesc();
case 11: return GetIColorCtrlDesc();
case 12: return GetLinkCtrlDesc();
case 13: return GetFollowUtilDesc();
case 14: return GetSurfCtrlDesc();
case 15: return GetLODControlDesc();
case 16: return GetLODUtilDesc();
default: return 0;
}
}
#endif
// Return version so can detect obsolete DLLs
__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;
}