2012-05-29 13:31:11 +00:00
|
|
|
/**********************************************************************
|
|
|
|
*<
|
|
|
|
FILE: mods.cpp
|
|
|
|
|
|
|
|
DESCRIPTION: DLL implementation of modifiers
|
|
|
|
|
|
|
|
CREATED BY: Rolf Berteig (based on prim.cpp)
|
|
|
|
|
|
|
|
HISTORY: created 30 January 1995
|
|
|
|
|
|
|
|
*> Copyright (c) 1994, All Rights Reserved.
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "editpat.h"
|
|
|
|
#include "nel/misc/debug.h"
|
|
|
|
|
|
|
|
HINSTANCE hInstance;
|
|
|
|
int controlsInit = FALSE;
|
|
|
|
|
|
|
|
using namespace NLMISC;
|
|
|
|
|
|
|
|
/** 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();
|
|
|
|
}
|
|
|
|
|
|
|
|
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 "Ryzom patch";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DESIGN_VER
|
|
|
|
|
|
|
|
/// MUST CHANGE THIS NUMBER WHEN ADD NEW CLASS
|
|
|
|
__declspec( dllexport ) int LibNumberClasses() {return 1;}
|
|
|
|
|
|
|
|
__declspec( dllexport ) ClassDesc*
|
|
|
|
LibClassDesc(int i) {
|
|
|
|
switch(i) {
|
|
|
|
case 0: return GetEditPatchModDesc();
|
|
|
|
/*
|
|
|
|
case 0: return GetBendModDesc();
|
|
|
|
case 1: return GetTaperModDesc();
|
|
|
|
case 2: return GetSinWaveObjDesc();
|
|
|
|
case 3: return GetSinWaveModDesc();
|
|
|
|
case 4: return GetEditMeshModDesc();
|
|
|
|
case 5: return GetEditSplineModDesc();
|
|
|
|
case 6: return GetEditPatchModDesc();
|
|
|
|
case 7: return GetTwistModDesc();
|
|
|
|
case 8: return GetExtrudeModDesc();
|
|
|
|
case 9: return GetBombObjDesc();
|
|
|
|
case 10: return GetBombModDesc();
|
|
|
|
case 11: return GetClustModDesc();
|
|
|
|
case 12: return GetSkewModDesc();
|
|
|
|
case 13: return GetNoiseModDesc();
|
|
|
|
case 14: return GetSinWaveOModDesc();
|
|
|
|
case 15: return GetLinWaveObjDesc();
|
|
|
|
case 16: return GetLinWaveModDesc();
|
|
|
|
case 17: return GetLinWaveOModDesc();
|
|
|
|
case 18: return GetOptModDesc();
|
|
|
|
case 19: return GetDispModDesc();
|
|
|
|
case 20: return GetClustNodeModDesc();
|
|
|
|
case 21: return GetGravityObjDesc();
|
|
|
|
case 22: return GetGravityModDesc();
|
|
|
|
case 23: return GetWindObjDesc();
|
|
|
|
case 24: return GetWindModDesc();
|
|
|
|
case 25: return GetDispObjDesc();
|
|
|
|
case 26: return GetDispWSModDesc();
|
|
|
|
case 27: return GetDeflectObjDesc();
|
|
|
|
case 28: return GetDeflectModDesc();
|
|
|
|
case 29: return GetUVWMapModDesc();
|
|
|
|
case 30: return GetSelModDesc();
|
|
|
|
case 31: return GetSmoothModDesc();
|
|
|
|
case 32: return GetMatModDesc();
|
|
|
|
case 33: return GetNormalModDesc();
|
|
|
|
case 34: return GetSurfrevModDesc();
|
|
|
|
case 35: return GetResetXFormDesc();
|
|
|
|
case 36: return GetAFRModDesc();
|
|
|
|
case 37: return GetTessModDesc();
|
|
|
|
case 38: return GetDeleteModDesc();
|
|
|
|
case 39: return GetMeshSelModDesc();
|
|
|
|
case 40: return GetFaceExtrudeModDesc();
|
|
|
|
case 41: return GetUVWXFormModDesc();
|
|
|
|
case 42: return GetMirrorModDesc();
|
|
|
|
case 43: return GetUnwrapModDesc();
|
|
|
|
case 44: return GetBendWSMDesc();
|
|
|
|
case 45: return GetTwistWSMDesc();
|
|
|
|
case 46: return GetTaperWSMDesc();
|
|
|
|
case 47: return GetSkewWSMDesc();
|
|
|
|
case 48: return GetNoiseWSMDesc();
|
|
|
|
case 49: return GetSDeleteModDesc();
|
|
|
|
case 50: return GetDispApproxModDesc();
|
|
|
|
case 51: return GetMeshMesherWSMDesc();
|
|
|
|
case 52: return GetNormalizeSplineDesc();*/
|
|
|
|
default: return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
//
|
|
|
|
// DESIGN VERSION EXCLUDES SOME PLUG_INS
|
|
|
|
//
|
|
|
|
|
|
|
|
/// MUST CHANGE THIS NUMBER WHEN ADD NEW CLASS
|
|
|
|
__declspec( dllexport ) int LibNumberClasses() {return 1;}
|
|
|
|
|
|
|
|
__declspec( dllexport ) ClassDesc*
|
|
|
|
LibClassDesc(int i) {
|
|
|
|
switch(i) {
|
|
|
|
case 0: return GetEditPatchModDesc();
|
|
|
|
/*
|
|
|
|
case 0: return GetBendModDesc();
|
|
|
|
case 1: return GetTaperModDesc();
|
|
|
|
//case 2: return GetSinWaveObjDesc();
|
|
|
|
//case 3: return GetSinWaveModDesc();
|
|
|
|
case 2: return GetEditMeshModDesc();
|
|
|
|
case 3: return GetEditSplineModDesc();
|
|
|
|
case 4: return GetEditPatchModDesc();
|
|
|
|
case 5: return GetTwistModDesc();
|
|
|
|
case 6: return GetExtrudeModDesc();
|
|
|
|
//case 9: return GetBombObjDesc();
|
|
|
|
//case 10: return GetBombModDesc();
|
|
|
|
case 7: return GetClustModDesc();
|
|
|
|
case 8: return GetSkewModDesc();
|
|
|
|
case 9: return GetNoiseModDesc();
|
|
|
|
case 10: return GetSinWaveOModDesc();
|
|
|
|
//case 15: return GetLinWaveObjDesc();
|
|
|
|
//case 16: return GetLinWaveModDesc();
|
|
|
|
case 11: return GetLinWaveOModDesc();
|
|
|
|
case 12: return GetOptModDesc();
|
|
|
|
case 13: return GetDispModDesc();
|
|
|
|
case 14: return GetClustNodeModDesc();
|
|
|
|
//case 21: return GetGravityObjDesc();
|
|
|
|
//case 22: return GetGravityModDesc();
|
|
|
|
//case 23: return GetWindObjDesc();
|
|
|
|
//case 24: return GetWindModDesc();
|
|
|
|
//case 25: return GetDispObjDesc();
|
|
|
|
//case 26: return GetDispWSModDesc();
|
|
|
|
//case 27: return GetDeflectObjDesc();
|
|
|
|
//case 28: return GetDeflectModDesc();
|
|
|
|
case 15: return GetUVWMapModDesc();
|
|
|
|
case 16: return GetSelModDesc();
|
|
|
|
case 17: return GetSmoothModDesc();
|
|
|
|
case 18: return GetMatModDesc();
|
|
|
|
case 19: return GetNormalModDesc();
|
|
|
|
case 20: return GetSurfrevModDesc();
|
|
|
|
case 21: return GetResetXFormDesc();
|
|
|
|
case 22: return GetAFRModDesc();
|
|
|
|
case 23: return GetTessModDesc();
|
|
|
|
case 24: return GetDeleteModDesc();
|
|
|
|
case 25: return GetMeshSelModDesc();
|
|
|
|
case 26: return GetFaceExtrudeModDesc();
|
|
|
|
case 27: return GetUVWXFormModDesc();
|
|
|
|
case 28: return GetMirrorModDesc();
|
|
|
|
// case 29: return GetUnwrapModDesc();
|
|
|
|
case 29: return GetBendWSMDesc();
|
|
|
|
case 30: return GetTwistWSMDesc();
|
|
|
|
case 31: return GetTaperWSMDesc();
|
|
|
|
case 32: return GetSkewWSMDesc();
|
|
|
|
case 33: return GetNoiseWSMDesc();
|
|
|
|
case 34: return GetSDeleteModDesc();
|
|
|
|
case 35: return GetDispApproxModDesc();
|
|
|
|
case 36: return GetMeshMesherWSMDesc();
|
|
|
|
case 37: return GetNormalizeSplineDesc();
|
|
|
|
*/
|
|
|
|
default: return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Return version so can detect obsolete DLLs
|
|
|
|
__declspec( dllexport ) ULONG
|
|
|
|
LibVersion() { return VERSION_3DSMAX; }
|
|
|
|
|
|
|
|
// Let the plug-in register itself for deferred loading
|
|
|
|
__declspec( dllexport ) ULONG CanAutoDefer()
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
BOOL CALLBACK DefaultSOTProc(
|
|
|
|
HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
|
|
|
|
{
|
|
|
|
IObjParam *ip = (IObjParam*)GetWindowLong(hWnd,GWL_USERDATA);
|
|
|
|
|
|
|
|
switch (msg) {
|
|
|
|
case WM_INITDIALOG:
|
|
|
|
SetWindowLong(hWnd,GWL_USERDATA,lParam);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case WM_LBUTTONDOWN:
|
|
|
|
case WM_LBUTTONUP:
|
|
|
|
case WM_MOUSEMOVE:
|
|
|
|
if (ip) ip->RollupMouseMessage(hWnd,msg,wParam,lParam);
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
default:
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
TCHAR *GetString(int id)
|
|
|
|
{
|
|
|
|
static TCHAR buf[256];
|
|
|
|
|
|
|
|
if (hInstance)
|
|
|
|
return LoadString(hInstance, id, buf, sizeof(buf)) ? buf : NULL;
|
|
|
|
return NULL;
|
|
|
|
}
|