Browse Source

Fix MaxPlasmaMtls

Adam Johnson 12 years ago
parent
commit
5ea652f906
  1. 2
      Sources/Tools/MaxComponent/plAnimObjInterface.h
  2. 7
      Sources/Tools/MaxPlasmaMtls/CMakeLists.txt
  3. 24
      Sources/Tools/MaxPlasmaMtls/Layers/plAngleAttenLayer.cpp
  4. 9
      Sources/Tools/MaxPlasmaMtls/Layers/plAngleAttenLayer.h
  5. 12
      Sources/Tools/MaxPlasmaMtls/Layers/plDynamicEnvLayer.cpp
  6. 6
      Sources/Tools/MaxPlasmaMtls/Layers/plDynamicEnvLayer.h
  7. 16
      Sources/Tools/MaxPlasmaMtls/Layers/plDynamicTextLayer.cpp
  8. 4
      Sources/Tools/MaxPlasmaMtls/Layers/plDynamicTextLayer.h
  9. 12
      Sources/Tools/MaxPlasmaMtls/Layers/plLayerTex.cpp
  10. 1
      Sources/Tools/MaxPlasmaMtls/Layers/plLayerTex.h
  11. 15
      Sources/Tools/MaxPlasmaMtls/Layers/plMAXCameraLayer.cpp
  12. 4
      Sources/Tools/MaxPlasmaMtls/Layers/plMAXCameraLayer.h
  13. 15
      Sources/Tools/MaxPlasmaMtls/Layers/plPlasmaMAXLayer.cpp
  14. 22
      Sources/Tools/MaxPlasmaMtls/Layers/plPlasmaMAXLayer.h
  15. 34
      Sources/Tools/MaxPlasmaMtls/Layers/plStaticEnvLayer.cpp
  16. 4
      Sources/Tools/MaxPlasmaMtls/Layers/plStaticEnvLayer.h
  17. 10
      Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthConvert.cpp
  18. 13
      Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthNode.cpp
  19. 16
      Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthNode.h
  20. 21
      Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtl.cpp
  21. 6
      Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtl.h
  22. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtlAnimPBDec.h
  23. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtlBasicPBDec.h
  24. 19
      Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtl.cpp
  25. 7
      Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtl.h
  26. 3
      Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtlPBDec.h
  27. 13
      Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtl.cpp
  28. 10
      Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtl.h
  29. 11
      Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtlDlg.cpp
  30. 19
      Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtl.cpp
  31. 6
      Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtl.h
  32. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlAnimPBDec.h
  33. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlBasicPBDec.h
  34. 3
      Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlLayersPBDec.h
  35. 12
      Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtl.cpp
  36. 8
      Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtl.h
  37. 11
      Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtlDlg.cpp
  38. 12
      Sources/Tools/MaxPlasmaMtls/Materials/plNoteTrackWatcher.cpp
  39. 6
      Sources/Tools/MaxPlasmaMtls/Materials/plNoteTrackWatcher.h
  40. 17
      Sources/Tools/MaxPlasmaMtls/Materials/plParticleMtl.cpp
  41. 8
      Sources/Tools/MaxPlasmaMtls/Materials/plParticleMtl.h
  42. 9
      Sources/Tools/MaxPlasmaMtls/Materials/plPassAnimDlgProc.cpp
  43. 3
      Sources/Tools/MaxPlasmaMtls/Materials/plPassAnimDlgProc.h
  44. 21
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtl.cpp
  45. 8
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtl.h
  46. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlAnimPBDec.h
  47. 13
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBase.cpp
  48. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBase.h
  49. 2
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBasicPBDec.h
  50. 3
      Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlLayersPBDec.h
  51. 51
      Sources/Tools/MaxPlasmaMtls/Pch.cpp
  52. 81
      Sources/Tools/MaxPlasmaMtls/Pch.h
  53. 7
      Sources/Tools/MaxPlasmaMtls/Shaders.cpp
  54. 10
      Sources/Tools/MaxPlasmaMtls/Shaders.h
  55. 13
      Sources/Tools/MaxPlasmaMtls/plBMSampler.cpp
  56. 3
      Sources/Tools/MaxPlasmaMtls/plBMSampler.h
  57. 68
      Sources/Tools/MaxPlasmaMtls/plBinkBitmap.cpp
  58. 6
      Sources/Tools/MaxPlasmaMtls/plDetailCurveCtrl.cpp
  59. 4
      Sources/Tools/MaxPlasmaMtls/plDetailCurveCtrl.h
  60. 99
      Sources/Tools/MaxPlasmaMtls/plDrawCurve.cpp
  61. 3
      Sources/Tools/MaxPlasmaMtls/plMtlImport.h

2
Sources/Tools/MaxComponent/plAnimObjInterface.h

@ -53,6 +53,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsTemplates.h"
#include "plString.h"
class plKey;
class plAnimObjInterface
{
public:

7
Sources/Tools/MaxPlasmaMtls/CMakeLists.txt

@ -8,12 +8,7 @@ include_directories("../../Plasma/PubUtilLib")
include_directories("../../Plasma/PubUtilLib/inc")
include_directories(${3dsm_INCLUDE_DIR})
if(Bink_SDK_AVAILABLE)
include_directories(${Bink_INCLUDE_DIR})
endif()
set(MaxPlasmaMtls_HEADERS
plBinkBitmap.h
plBMSampler.h
plDetailCurveCtrl.h
plMaterialRefMsg.h
@ -88,7 +83,6 @@ set(MaxPlasmaMtls_SOURCES
plBinkBitmap.cpp
plBMSampler.cpp
plDetailCurveCtrl.cpp
plDrawCurve.cpp
plMtlImport.cpp
Shaders.cpp
)
@ -120,6 +114,7 @@ set(MaxPlasmaMtls_SOURCES_Materials
Materials/plPassMtlBase.cpp
)
use_precompiled_header(Pch.h Pch.cpp MaxPlasmaMtls_HEADERS MaxPlasmaMtls_SOURCES)
add_library(MaxPlasmaMtls
STATIC
${MaxPlasmaMtls_HEADERS}

24
Sources/Tools/MaxPlasmaMtls/Layers/plAngleAttenLayer.cpp

@ -40,11 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plAngleAttenLayer.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include "plAngleAttenLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"
@ -147,6 +150,11 @@ plAngleAttenLayer::~plAngleAttenLayer()
{
}
void plAngleAttenLayer::GetClassName(TSTR& s)
{
s = GetString(IDS_ANGLE_ATTEN_LAYER);
}
//From MtlBase
void plAngleAttenLayer::Reset()
{
@ -313,13 +321,13 @@ void plAngleAttenLayer::IChanged()
void plAngleAttenLayer::ICacheCosines()
{
fCosTransp0 = cosf(DegToRad(fParmsPB->GetFloat(kTranspAngle0)));
fCosOpaque0 = cosf(DegToRad(fParmsPB->GetFloat(kOpaqueAngle0)));
fCosTransp0 = cosf(hsDegreesToRadians(fParmsPB->GetFloat(kTranspAngle0)));
fCosOpaque0 = cosf(hsDegreesToRadians(fParmsPB->GetFloat(kOpaqueAngle0)));
if( fParmsPB->GetInt(kDoubleFade) )
{
fCosTransp1 = cosf(DegToRad(fParmsPB->GetFloat(kTranspAngle1)));
fCosOpaque1 = cosf(DegToRad(fParmsPB->GetFloat(kOpaqueAngle1)));
fCosTransp1 = cosf(hsDegreesToRadians(fParmsPB->GetFloat(kTranspAngle1)));
fCosOpaque1 = cosf(hsDegreesToRadians(fParmsPB->GetFloat(kOpaqueAngle1)));
}
else
{

9
Sources/Tools/MaxPlasmaMtls/Layers/plAngleAttenLayer.h

@ -43,12 +43,15 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef plAngleAttenLayer_inc
#define plAngleAttenLayer_inc
#include "Max.h"
#include "../resource.h"
#include "plPlasmaMAXLayer.h"
class Box3;
class Class_ID;
class ClassDesc2;
class Interval;
class IParamBlock2;
class ParamDlg;
class TexHandleMaker;
ClassDesc2* GetAngleAttenLayerDesc();
@ -126,7 +129,7 @@ public:
//From Animatable
Class_ID ClassID() { return ANGLE_ATTEN_LAYER_CLASS_ID; }
SClass_ID SuperClassID() { return TEXMAP_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_ANGLE_ATTEN_LAYER); }
void GetClassName(TSTR& s);
RefTargetHandle Clone( RemapDir &remap );
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

12
Sources/Tools/MaxPlasmaMtls/Layers/plDynamicEnvLayer.cpp

@ -51,11 +51,15 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
///////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "plDynamicEnvLayer.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#include <triobj.h>
#pragma hdrstop
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include "plDynamicEnvLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"

6
Sources/Tools/MaxPlasmaMtls/Layers/plDynamicEnvLayer.h

@ -53,12 +53,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plDynamicEnvLayer_h
#define _plDynamicEnvLayer_h
#include "Max.h"
#include "plPlasmaMAXLayer.h"
#include "../resource.h"
class ClassDesc2;
class Interval;
class IMtlParams;
class IParamBlock2;
class TexHandle;
class UVGen;
ClassDesc2* GetDynamicEnvLayerDesc();

16
Sources/Tools/MaxPlasmaMtls/Layers/plDynamicTextLayer.cpp

@ -40,11 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plDynamicTextLayer.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include "plDynamicTextLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"
@ -89,6 +92,11 @@ plDynamicTextLayer::~plDynamicTextLayer()
IDiscardTexHandle();
}
void plDynamicTextLayer::GetClassName(TSTR& s)
{
s = GetString(IDS_DYN_TEXT_LAYER);
}
//From MtlBase
void plDynamicTextLayer::Reset()
{

4
Sources/Tools/MaxPlasmaMtls/Layers/plDynamicTextLayer.h

@ -53,8 +53,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plDynamicTextLayer_h
#define _plDynamicTextLayer_h
#include "Max.h"
#include "../resource.h"
#include "plPlasmaMAXLayer.h"
class ClassDesc2;
@ -150,7 +148,7 @@ public:
//From Animatable
Class_ID ClassID() { return DYN_TEXT_LAYER_CLASS_ID; }
SClass_ID SuperClassID() { return TEXMAP_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_DYN_TEXT_LAYER); }
void GetClassName(TSTR& s);
RefTargetHandle Clone( RemapDir &remap );
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

12
Sources/Tools/MaxPlasmaMtls/Layers/plLayerTex.cpp

@ -40,14 +40,16 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plLayerTex.h"
#include "hsWindows.h"
#include "../resource.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "../plBMSampler.h"
#include "../resource.h"
#include "plLayerTex.h"
#include "plLayerTexBitmapPB.h"
#include "MaxMain/plPlasmaRefMsgs.h"

1
Sources/Tools/MaxPlasmaMtls/Layers/plLayerTex.h

@ -42,7 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef __PLMAXLAYER__H
#define __PLMAXLAYER__H
#include "Max.h"
#include "plPlasmaMAXLayer.h"
class ClassDesc2;

15
Sources/Tools/MaxPlasmaMtls/Layers/plMAXCameraLayer.cpp

@ -40,12 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "hsWindows.h"
#include "../resource.h"
#include "plMAXCameraLayer.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include "plMAXCameraLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"
@ -183,6 +185,11 @@ plMAXCameraLayer::~plMAXCameraLayer()
{
}
void plMAXCameraLayer::GetClassName(TSTR& s)
{
s = GetString(IDS_MAX_CAMERA_LAYER);
}
//From MtlBase
void plMAXCameraLayer::Reset()
{

4
Sources/Tools/MaxPlasmaMtls/Layers/plMAXCameraLayer.h

@ -42,8 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef plMAXCameraLayer_inc
#define plMAXCameraLayer_inc
#include "Max.h"
#include "../resource.h"
#include "plPlasmaMAXLayer.h"
class ClassDesc2;
@ -114,7 +112,7 @@ public:
//From Animatable
Class_ID ClassID() { return MAX_CAMERA_LAYER_CLASS_ID; }
SClass_ID SuperClassID() { return TEXMAP_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_MAX_CAMERA_LAYER); }
void GetClassName(TSTR& s);
RefTargetHandle Clone( RemapDir &remap );
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

15
Sources/Tools/MaxPlasmaMtls/Layers/plPlasmaMAXLayer.cpp

@ -54,13 +54,17 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
///////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "hsResMgr.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <istdplug.h>
#include <stdmat.h>
#pragma hdrstop
#include "plPlasmaMAXLayer.h"
#include "stdmat.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "../resource.h"
#ifdef MAXASS_AVAILABLE
#include "../../AssetMan/PublicInterface/MaxAssInterface.h"
#endif
@ -69,7 +73,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "pnKeyedObject/hsKeyedObject.h"
#include "pnMessage/plRefMsg.h"
#include "plSurface/plLayerInterface.h"
#include "hsResMgr.h"
//// Derived Types List ///////////////////////////////////////////////////////

22
Sources/Tools/MaxPlasmaMtls/Layers/plPlasmaMAXLayer.h

@ -62,10 +62,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plPlasmaMAXLayer_h
#define _plPlasmaMAXLayer_h
#include "Max.h"
#include "iparamm2.h"
#include "HeadSpin.h"
//// Derived Type Class IDs ///////////////////////////////////////////////////
// If you create a new Plasma layer type, add a define for the class ID here
// and also add the ID to the list in plPlasmaMAXLayer.cpp.
@ -79,18 +75,22 @@ const Class_ID MAX_CAMERA_LAYER_CLASS_ID( 0xfaf5ec7, 0x13d90d3f );
//// Class Definition /////////////////////////////////////////////////////////
class plLayerInterface;
class plMaxNode;
class Bitmap;
class PBBitmap;
class plBitmapData;
class BitmapInfo;
class plBMSamplerData;
class plDynamicTextMap;
class plErrorMsg;
class plLayer;
class plDynamicTextMap;
class plBitmapData;
class plLocation;
class plLayerConverter;
class plLayerInterface;
class plBMSamplerData;
class jvUniqueId;
class plLayerTargetContainer;
class plLocation;
class plMaxNode;
class Texmap;
class jvUniqueId;
class plPlasmaMAXLayer : public Texmap
{
friend class plLayerConverter;

34
Sources/Tools/MaxPlasmaMtls/Layers/plStaticEnvLayer.cpp

@ -40,11 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plStaticEnvLayer.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include "plStaticEnvLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"
@ -98,6 +101,11 @@ plStaticEnvLayer::~plStaticEnvLayer()
IDiscardTexHandle();
}
void plStaticEnvLayer::GetClassName(TSTR& s)
{
s = GetString(IDS_STATIC_ENVMAP_LAYER);
}
//From MtlBase
void plStaticEnvLayer::Reset()
{
@ -553,24 +561,24 @@ Matrix3 plStaticEnvLayer::IGetViewTM( int i )
switch( i )
{
case kTopFace:
m.RotateX( -PI );
m.RotateX( -M_PI );
break;
case kBottomFace:
break;
case kLeftFace:
m.RotateX( -.5f * PI );
m.RotateY( -.5f * PI );
m.RotateX( -.5f * M_PI );
m.RotateY( -.5f * M_PI );
break;
case kRightFace:
m.RotateX( -.5f * PI );
m.RotateY( +.5f * PI );
m.RotateX( -.5f * M_PI );
m.RotateY( +.5f * M_PI );
break;
case kFrontFace:
m.RotateX( -.5f * PI );
m.RotateY( PI );
m.RotateX( -.5f * M_PI );
m.RotateY( M_PI );
break;
case kBackFace:
m.RotateX( -.5f * PI );
m.RotateX( -.5f * M_PI );
break;
}
return m;
@ -644,7 +652,7 @@ void plStaticEnvLayer::RenderCubicMap( INode *node )
vp.projType = PROJ_PERSPECTIVE;
vp.hither = .001f;
vp.yon = 1.0e30f;
vp.fov = PI/2.0f;
vp.fov = M_PI/2.0f;
if( fBitmapPB->GetInt( kBmpUseMAXAtmosphere ) )
{
vp.nearRange = 0;

4
Sources/Tools/MaxPlasmaMtls/Layers/plStaticEnvLayer.h

@ -53,9 +53,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plStaticEnvLayer_h
#define _plStaticEnvLayer_h
#include "Max.h"
#include "plPlasmaMAXLayer.h"
#include "../resource.h"
class ClassDesc2;
class IParamBlock2;
@ -160,7 +158,7 @@ public:
//From Animatable
Class_ID ClassID() { return STATIC_ENV_LAYER_CLASS_ID; }
SClass_ID SuperClassID() { return TEXMAP_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_STATIC_ENVMAP_LAYER); }
void GetClassName(TSTR& s);
RefTargetHandle Clone( RemapDir &remap );
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

10
Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthConvert.cpp

@ -46,19 +46,21 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "plAnimStealthNode.h"
#include "plPassMtlBase.h"
#include "../resource.h"
#include "MaxMain/plMaxNode.h"
#include <iparamm2.h>
#pragma hdrstop
#include "plAnimStealthNode.h"
#include "plPassMtlBase.h"
#include "MaxComponent/plMaxAnimUtils.h"
#include "MaxConvert/plConvert.h"
#include "MaxConvert/hsMaterialConverter.h"
#include "plSurface/hsGMaterial.h"
#include "plSurface/plLayerAnimation.h"
#include "iparamm2.h"
//// Helpers /////////////////////////////////////////////////////////////////

13
Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthNode.cpp

@ -49,15 +49,20 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "pnKeyedObject/plKey.h"
#include "hsWindows.h"
#include <windowsx.h>
#include "../resource.h"
#include "MaxMain/MaxCompat.h"
#include <iparamm2.h>
#pragma hdrstop
#include "plAnimStealthNode.h"
#include "plPassMtlBase.h"
#include "../resource.h"
#include "MaxComponent/plMaxAnimUtils.h"
#include "MaxComponent/plPickNodeBase.h"
#include "MaxMain/MaxCompat.h"
#include "iparamm2.h"
extern TCHAR *GetString( int id );
extern HINSTANCE hInstance;

16
Sources/Tools/MaxPlasmaMtls/Materials/plAnimStealthNode.h

@ -51,12 +51,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plAnimStealthNode_h
#define _plAnimStealthNode_h
#include "Max.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "HeadSpin.h"
#include "pnKeyedObject/plKey.h"
#include "MaxComponent/plAnimObjInterface.h"
#include "MaxComponent/plMaxAnimUtils.h"
@ -67,11 +61,13 @@ extern HINSTANCE hInstance;
#define REFMSG_NOTETRACK_ADDED REFMSG_USER + 1
class plPassMtlBase;
class NoteTrack;
class plMaxNode;
class plErrorMsg;
class plAnimTimeConvert;
class plErrorMsg;
class plKey;
class plMaxNode;
class INode;
class NoteTrack;
class plPassMtlBase;
//// Class Def ///////////////////////////////////////////////////////////////

21
Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtl.cpp

@ -40,19 +40,23 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plBumpMtl.h"
#include "pnKeyedObject/plKey.h"
#include "hsWindows.h"
#include "../resource.h"
//extern ClassDesc2* GetMaxLayerDesc();
#include "../Shaders.h"
#include "plBumpMtlBasicPB.h"
#include "MaxMain/MaxCompat.h"
#include <iparamm2.h>
#include <istdplug.h>
#include <stdmat.h>
#pragma hdrstop
#include "iparamm2.h"
#include "../Shaders.h"
#include "plBumpMtl.h"
#include "plBumpMtlBasicPB.h"
#include "../Layers/plLayerTex.h"
#include "../Layers/plStaticEnvLayer.h"
#include "MaxMain/plPlasmaRefMsgs.h"
#include "MaxMain/MaxCompat.h"
extern HINSTANCE hInstance;
@ -89,6 +93,11 @@ plBumpMtl::plBumpMtl(BOOL loading) : plPassMtlBase( loading )
IVerifyStealthPresent(ENTIRE_ANIMATION_NAME);
}
void plBumpMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_BUMP_MTL);
}
ParamDlg* plBumpMtl::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp)
{
fIMtlParams = imp;

6
Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtl.h

@ -42,10 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef PL_BUMPMTL_H
#define PL_BUMPMTL_H
#include "Max.h"
#include "iparamb2.h"
#include "../resource.h"
#include "plPassMtlBase.h"
#define BUMP_MTL_CLASS_ID Class_ID(0x4dbf7b0a, 0x92226de)
@ -77,7 +73,7 @@ public:
//From Animatable
Class_ID ClassID() { return BUMP_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_BUMP_MTL); }
void GetClassName(TSTR& s);
ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp);
void Update(TimeValue t, Interval& valid);

2
Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtlAnimPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plBumpMtl.h"
#include "plPassBaseParamIDs.h"
#include "../resource.h"
#include "iparamm2.h"
#include "plPassAnimDlgProc.h"
#include "plAnimStealthNode.h"

2
Sources/Tools/MaxPlasmaMtls/Materials/plBumpMtlBasicPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plBumpMtl.h"
#include "plBumpMtlBasicPB.h"
#include "../resource.h"
#include "iparamm2.h"
class BumpBasicDlgProc : public ParamMap2UserDlgProc
{

19
Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtl.cpp

@ -40,15 +40,21 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plClothingMtl.h"
#include "HeadSpin.h"
#include "hsWindows.h"
#include <windowsx.h>
#include "../resource.h"
#include "../Shaders.h"
#include "iparamm2.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plClothingMtl.h"
#include "../Shaders.h"
#include "MaxMain/plPlasmaRefMsgs.h"
#include "../plBMSampler.h"
#include "stdmat.h"
#include "../Layers/plLayerTex.h"
#include "../Layers/plLayerTexBitmapPB.h"
#include "plAvatar/plClothingLayout.h"
@ -136,6 +142,11 @@ plClothingMtl::plClothingMtl(BOOL loading) : fBasicPB(NULL)
fBasicPB->SetValue(ParamID(kThumbnail), 0, new plLayerTex);
}
void plClothingMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_CLOTHING_MTL);
}
void plClothingMtl::Reset()
{
fIValid.SetEmpty();

7
Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtl.h

@ -42,16 +42,13 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef PL_CLOTHINGMTL_H
#define PL_CLOTHINGMTL_H
#include "HeadSpin.h"
#include "Max.h"
#include "iparamb2.h"
#include "../resource.h"
#include "hsTemplates.h"
class Bitmap;
class plClothingItem;
class plMaxNode;
class plClothingElement;
class Texmap;
#define CLOTHING_MTL_CLASS_ID Class_ID(0x792c6de4, 0x1f952b65)
@ -151,7 +148,7 @@ public:
//From Animatable
Class_ID ClassID() { return CLOTHING_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_CLOTHING_MTL); }
void GetClassName(TSTR& s);
ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp);
void Update(TimeValue t, Interval& valid);

3
Sources/Tools/MaxPlasmaMtls/Materials/plClothingMtlPBDec.h

@ -39,11 +39,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
//#include "plClothingMtl.h"
#ifdef MAXASS_AVAILABLE
#include "../../AssetMan/PublicInterface/AssManBaseTypes.h"
#endif
#include "max.h"
class plClothingEditBox
{

13
Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtl.cpp

@ -40,9 +40,15 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plCompositeMtl.h"
#include "plPassMtl.h"
//#include "plCompositeMtlPB.h"
#include "plCompositeMtlDlg.h"
class plCompositeClassDesc : public ClassDesc2
@ -90,6 +96,11 @@ plCompositeMtl::plCompositeMtl(BOOL loading) : fPassesPB(NULL)
}
}
void plCompositeMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_COMP_MTL);
}
void plCompositeMtl::Reset()
{
fIValid.SetEmpty();

10
Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtl.h

@ -42,11 +42,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef __PLCOMPMTL__H
#define __PLCOMPMTL__H
#include "Max.h"
#include "../resource.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
class Interval;
class Mtl;
class IParamBlock2;
extern TCHAR *GetString(int id);
extern HINSTANCE hInstance;
@ -135,7 +133,7 @@ public:
//From Animatable
Class_ID ClassID() { return COMP_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_COMP_MTL); }
void GetClassName(TSTR& s);
RefTargetHandle Clone(RemapDir &remap);
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

11
Sources/Tools/MaxPlasmaMtls/Materials/plCompositeMtlDlg.cpp

@ -40,13 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "max.h"
#include "MaxIcon.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamb2.h>
#include <maxicon.h>
#pragma hdrstop
#include "plCompositeMtl.h"
//#include "plCompositeMtlPB.h"
//#include "plMaxLayer.h"
#include "plCompositeMtlDlg.h"
struct LayerID

19
Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtl.cpp

@ -40,9 +40,17 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plDecalMtl.h"
#include "hsWindows.h"
#include "../resource.h"
//extern ClassDesc2* GetMaxLayerDesc();
#include "MaxMain/MaxCompat.h"
#include <iparamm2.h>
#include <istdplug.h>
#include <stdmat.h>
#pragma hdrstop
#include "plDecalMtl.h"
#include "../Shaders.h"
#include "MaxComponent/plMaxAnimUtils.h"
@ -50,8 +58,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plDecalMtlBasicPB.h"
#include "plDecalMtlLayersPB.h"
#include "iparamm2.h"
#include "../Layers/plLayerTex.h"
#include "../Layers/plStaticEnvLayer.h"
#include "MaxMain/plPlasmaRefMsgs.h"
@ -96,6 +102,11 @@ plDecalMtl::plDecalMtl(BOOL loading) : plPassMtlBase( loading )
IVerifyStealthPresent(ENTIRE_ANIMATION_NAME);
}
void plDecalMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_DECAL_MTL);
}
ParamDlg* plDecalMtl::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp)
{
fIMtlParams = imp;

6
Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtl.h

@ -42,10 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef PL_DECALMTL_H
#define PL_DECALMTL_H
#include "Max.h"
#include "iparamb2.h"
#include "../resource.h"
#include "plPassMtlBase.h"
#define DECAL_MTL_CLASS_ID Class_ID(0x691d2257, 0x419d629e)
@ -82,7 +78,7 @@ public:
//From Animatable
Class_ID ClassID() { return DECAL_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_DECAL_MTL); }
void GetClassName(TSTR& s);
ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp);
void Update(TimeValue t, Interval& valid);

2
Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlAnimPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plDecalMtl.h"
#include "plPassBaseParamIDs.h"
#include "../resource.h"
#include "iparamm2.h"
#include "plPassAnimDlgProc.h"
#include "plAnimStealthNode.h"

2
Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlBasicPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plDecalMtl.h"
#include "plDecalMtlBasicPB.h"
#include "../resource.h"
#include "iparamm2.h"
class DecalBasicPBAccessor;
extern DecalBasicPBAccessor basicAccessor;

3
Sources/Tools/MaxPlasmaMtls/Materials/plDecalMtlLayersPBDec.h

@ -41,9 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plDecalMtl.h"
#include "plDecalMtlLayersPB.h"
#include "../resource.h"
#include "iparamm2.h"
#include "../Layers/plLayerTex.h"

12
Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtl.cpp

@ -40,6 +40,13 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plMultipassMtl.h"
#include "plPassMtl.h"
#include "plMultipassMtlPB.h"
@ -72,6 +79,11 @@ plMultipassMtl::plMultipassMtl(BOOL loading) : fPassesPB(NULL)
SetNumSubMtls(1);
}
void plMultipassMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_MULTI_MTL);
}
void plMultipassMtl::Reset()
{
fIValid.SetEmpty();

8
Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtl.h

@ -42,12 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef __PLMAXMTL__H
#define __PLMAXMTL__H
#include "Max.h"
#include "../resource.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
extern TCHAR *GetString(int id);
extern HINSTANCE hInstance;
@ -108,7 +102,7 @@ public:
//From Animatable
Class_ID ClassID() { return MULTIMTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_MULTI_MTL); }
void GetClassName(TSTR& s);
RefTargetHandle Clone(RemapDir &remap);
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,

11
Sources/Tools/MaxPlasmaMtls/Materials/plMultipassMtlDlg.cpp

@ -40,13 +40,16 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "max.h"
#include "MaxIcon.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <maxicon.h>
#include <stdmat.h>
#pragma hdrstop
#include "plMultipassMtl.h"
#include "plMultipassMtlPB.h"
//#include "plMaxLayer.h"
#include "plMultipassMtlDlg.h"
struct LayerID

12
Sources/Tools/MaxPlasmaMtls/Materials/plNoteTrackWatcher.cpp

@ -51,13 +51,15 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "plNoteTrackWatcher.h"
#include "plPassMtlBase.h"
#include "iparamm2.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plNoteTrackWatcher.h"
#include "plPassMtlBase.h"
//// Watcher Class Desc //////////////////////////////////////////////////////

6
Sources/Tools/MaxPlasmaMtls/Materials/plNoteTrackWatcher.h

@ -53,12 +53,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plNoteTrackWatcher_h
#define _plNoteTrackWatcher_h
#include "Max.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "HeadSpin.h"
extern TCHAR *GetString(int id);
extern HINSTANCE hInstance;

17
Sources/Tools/MaxPlasmaMtls/Materials/plParticleMtl.cpp

@ -40,16 +40,18 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plParticleMtl.h"
#include "hsWindows.h"
#include "../resource.h"
//extern ClassDesc2* GetMaxLayerDesc();
#include "../Shaders.h"
#include "iparamm2.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plParticleMtl.h"
#include "../Shaders.h"
#include "MaxMain/plPlasmaRefMsgs.h"
#include "../plBMSampler.h"
#include "stdmat.h"
#include "../Layers/plLayerTex.h"
#include "../Layers/plLayerTexBitmapPB.h"
#include "MaxMain/MaxCompat.h"
@ -110,6 +112,11 @@ plParticleMtl::plParticleMtl(BOOL loading) : fBasicPB(NULL)//, fBM(NULL), fUVGen
//fUVGen = GetNewDefaultUVGen();
}
void plParticleMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_PARTICLE_MTL);
}
void plParticleMtl::Reset()
{
fIValid.SetEmpty();

8
Sources/Tools/MaxPlasmaMtls/Materials/plParticleMtl.h

@ -42,12 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef PL_PARTICLEMTL_H
#define PL_PARTICLEMTL_H
#include "Max.h"
//#include "istdplug.h"
#include "iparamb2.h"
//#include "iparamm2.h"
#include "../resource.h"
class Bitmap;
#define PARTICLE_MTL_CLASS_ID Class_ID(0x26df05ff, 0x60660749)
@ -121,7 +115,7 @@ public:
//From Animatable
Class_ID ClassID() { return PARTICLE_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_PARTICLE_MTL); }
void GetClassName(TSTR& s);
ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp);
void Update(TimeValue t, Interval& valid);

9
Sources/Tools/MaxPlasmaMtls/Materials/plPassAnimDlgProc.cpp

@ -46,12 +46,17 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plPassAnimDlgProc.h"
#include "plPassBaseParamIDs.h"
#include "MaxComponent/plNotetrackAnim.h"
#include "../resource.h"
#include "iparamm2.h"
#include "plAnimStealthNode.h"

3
Sources/Tools/MaxPlasmaMtls/Materials/plPassAnimDlgProc.h

@ -49,10 +49,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#define _plPassAnimDlgProc_h
#include "plPassMtlBase.h"
#include "iparamm2.h"
class plAnimStealthNode;
class Interval;
class IParamMap2;
class ReferenceTarget;
class plPassAnimDlgProc : public ParamMap2UserDlgProc, public plMtlChangeCallback
{

21
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtl.cpp

@ -40,9 +40,16 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "plPassMtl.h"
#include "hsBitVector.h"
#include "hsWindows.h"
#include "../resource.h"
//extern ClassDesc2* GetMaxLayerDesc();
#include "MaxMain/MaxCompat.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#include "plPassMtl.h"
#include "../Shaders.h"
#include "MaxComponent/plMaxAnimUtils.h"
@ -50,13 +57,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plPassMtlBasicPB.h"
#include "plPassMtlLayersPB.h"
#include "iparamm2.h"
#include "../Layers/plLayerTex.h"
#include "../Layers/plStaticEnvLayer.h"
#include "MaxMain/MaxCompat.h"
#include "hsBitVector.h"
extern HINSTANCE hInstance;
@ -103,6 +105,11 @@ plPassMtl::~plPassMtl()
{
}
void plPassMtl::GetClassName(TSTR& s)
{
s = GetString(IDS_PASS_MTL);
}
ParamDlg* plPassMtl::CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp)
{
fIMtlParams = imp;

8
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtl.h

@ -42,12 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef PL_PASSMTL_H
#define PL_PASSMTL_H
#include "Max.h"
//#include "istdplug.h"
#include "iparamb2.h"
//#include "iparamm2.h"
#include "../resource.h"
#include "plPassMtlBase.h"
#include "hsTemplates.h"
@ -85,7 +79,7 @@ public:
//From Animatable
Class_ID ClassID() { return PASS_MTL_CLASS_ID; }
SClass_ID SuperClassID() { return MATERIAL_CLASS_ID; }
void GetClassName(TSTR& s) { s = GetString(IDS_PASS_MTL); }
void GetClassName(TSTR& s);
ParamDlg *CreateParamDlg(HWND hwMtlEdit, IMtlParams *imp);
void Update(TimeValue t, Interval& valid);

2
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlAnimPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plPassMtl.h"
#include "plPassBaseParamIDs.h"
#include "../resource.h"
#include "iparamm2.h"
#include "plPassAnimDlgProc.h"
#include "plAnimStealthNode.h"

13
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBase.cpp

@ -47,11 +47,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "HeadSpin.h"
#include "hsBitVector.h"
#include "Max.h"
#include "iparamb2.h"
#include "notify.h"
#include "notetrck.h"
#include "hsWindows.h"
#include "../resource.h"
#include <iparamb2.h>
#include <max.h>
#include <notetrck.h>
#include <notify.h>
#pragma hdrstop
#include "plPassMtlBase.h"
#include "plPassBaseParamIDs.h"

2
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBase.h

@ -43,8 +43,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#define PL_PASSMTLBASE_H
#include "hsTemplates.h"
#include "Max.h"
#include "iparamb2.h"
#include "plInterp/plAnimEaseTypes.h"
class plNoteTrackWatcher;

2
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlBasicPBDec.h

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plPassMtl.h"
#include "plPassMtlBasicPB.h"
#include "../resource.h"
#include "iparamm2.h"
class PassBasicPBAccessor;
extern PassBasicPBAccessor basicAccessor;

3
Sources/Tools/MaxPlasmaMtls/Materials/plPassMtlLayersPBDec.h

@ -41,9 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plPassMtl.h"
#include "plPassMtlLayersPB.h"
#include "../resource.h"
#include "iparamm2.h"
#include "../Layers/plLayerTex.h"

51
Sources/Tools/MaxPlasmaMtls/Pch.cpp

@ -0,0 +1,51 @@
/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, 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/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#include "Pch.h"
/**
* \file Pch.cpp
* \brief Precompiled Header object for MaxPlasmaMtls
*
* This file prompts MSVC to generate a PCH file for the MaxPlasmaMtls project. It
* has no function if precompiled headers are disabled in cmake.
*/

81
Sources/Tools/MaxPlasmaMtls/Pch.h

@ -0,0 +1,81 @@
/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, 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/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#ifndef _MaxPlasmaMtls_Pch_inc_
#define _MaxPlasmaMtls_Pch_inc_
/**
* \file Pch.h
* \brief Precompiled Header for MaxPlasmaMtls
*/
// Core Plasma
#include "HeadSpin.h"
#include "hsBitVector.h"
#include "pnKeyedObject/plKey.h"
#include "hsResMgr.h"
// Windoze
#include "hsWindows.h"
#include <commdlg.h>
#include <windowsx.h>
// MaxMain
#include "MaxMain/plMaxNode.h"
#include "MaxMain/MaxCompat.h"
// Misc 3dsm SDK
#include <bmmlib.h>
#include <iparamm2.h>
#include <istdplug.h>
#include <max.h>
#include <maxicon.h>
#include <notetrck.h>
#include <notify.h>
#include <stdmat.h>
#include <texutil.h>
#include <triobj.h>
// Local
#include "resource.h"
#endif // _MaxPlasmaMtls_Pch_inc_

7
Sources/Tools/MaxPlasmaMtls/Shaders.cpp

@ -39,9 +39,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "HeadSpin.h"
#include "max.h"
//#include "mtlhdr.h"
#include "hsWindows.h"
#include <max.h>
#pragma hdrstop
#include "Shaders.h"
//===========================================================================

10
Sources/Tools/MaxPlasmaMtls/Shaders.h

@ -42,6 +42,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef __SHADERS_H
#define __SHADERS_H
class AColor;
class Color;
class Point3;
class ShadeContext;
class Shader;
//===========================================================================
@ -93,7 +97,7 @@ public:
shin_str = shineStr;
}
float EvalHilite(float x) {
return shin_str*(float)pow((double)cos(x*PI),(double)fs);
return shin_str*(float)pow((double)cos(x*M_PI),(double)fs);
}
};
@ -112,7 +116,7 @@ public:
shin_str = shineStr;
}
float EvalHilite(float x) {
return shin_str*(float)pow((double)cos(x*PI),(double)fs);
return shin_str*(float)pow((double)cos(x*M_PI),(double)fs);
}
};
@ -144,7 +148,7 @@ public:
shin_str = shineStr;
}
float EvalHilite(float x) {
return shin_str*(float)pow((double)cos(x*PI),(double)fs);
return shin_str*(float)pow((double)cos(x*M_PI),(double)fs);
}
};

13
Sources/Tools/MaxPlasmaMtls/plBMSampler.cpp

@ -40,13 +40,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "HeadSpin.h"
#include "max.h"
#include "texutil.h"
#include "iparamb2.h"
#include "hsWindows.h"
#include <commdlg.h>
#include "bmmlib.h"
#include "bitmap.h"
#include <bmmlib.h>
#include <max.h>
#include <texutil.h>
#include <iparamb2.h>
#pragma hdrstop
#include "Layers/plPlasmaMAXLayer.h"
#include "plBMSampler.h"

3
Sources/Tools/MaxPlasmaMtls/plBMSampler.h

@ -42,9 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plBMSampler_h
#define _plBMSampler_h
#include "max.h"
#include "imtl.h"
class plPlasmaMAXLayer;
class plBMSamplerData

68
Sources/Tools/MaxPlasmaMtls/plBinkBitmap.cpp

@ -0,0 +1,68 @@
/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, 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/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#include "HeadSpin.h"
#include "hsWindows.h"
#include <iparamb2.h>
#pragma hdrstop
class BinkClassDesc : public ClassDesc2
{
public:
int IsPublic() { return 1; }
void* Create(BOOL loading=FALSE)
{
hsAssert(false, "bink layers removed due to license issues");
return nil;
}
const TCHAR* ClassName() { return "Bink"; }
SClass_ID SuperClassID() { return BMM_IO_CLASS_ID; }
Class_ID ClassID() { return Class_ID(0x71c75c3c, 0x206f480e); }
const TCHAR* Category() { return "Bitmap I/O"; }
};
static BinkClassDesc BinkDesc;
ClassDesc2* GetBinkClassDesc()
{
return &BinkDesc;
}

6
Sources/Tools/MaxPlasmaMtls/plDetailCurveCtrl.cpp

@ -59,8 +59,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
///////////////////////////////////////////////////////////////////////////////
#include "HeadSpin.h"
#include "plDetailCurveCtrl.h"
#include "hsWindows.h"
#include "resource.h"
#pragma hdrstop
#include "plDetailCurveCtrl.h"
//// Static Stuff /////////////////////////////////////////////////////////////

4
Sources/Tools/MaxPlasmaMtls/plDetailCurveCtrl.h

@ -61,10 +61,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plDetailCurveCtrl_h
#define _plDetailCurveCtrl_h
#include "Max.h"
#include "resource.h"
#define GET_DETAIL_CURVE_CTRL( dlg, id ) (GetDlgItem( dlg, id ) ? (plDetailCurveCtrl *)GetWindowLong( GetDlgItem( dlg, id ), GWL_USERDATA ) : NULL )
// Message to parent to let it know a point got dragged. lParam = pointer to control, wParam = 1 if start point, 0 if end point

99
Sources/Tools/MaxPlasmaMtls/plDrawCurve.cpp

@ -1,99 +0,0 @@
/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, 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/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#if 0
int ybot, ytop, ylast, i, iy;
HPEN linePen = (HPEN)GetStockObject(WHITE_PEN);
HPEN fgPen = CreatePen(PS_SOLID,0,GetSysColor(COLOR_BTNFACE));
HPEN bgPen = CreatePen(PS_SOLID,0,GetSysColor(COLOR_BTNSHADOW));
int width = rect.w() - 4;
int height = rect.h() - 4;
int miplevel = 0;
const float depth = 9;
float detailDropoffStart = theHsMaxLayer->GetDetailDropoffStart(curTime) * depth;
float detailDropoffStop = theHsMaxLayer->GetDetailDropoffStop(curTime) * depth;
float detailMax = theHsMaxLayer->GetDetailMax(curTime);
float detailMin = theHsMaxLayer->GetDetailMin(curTime);
int nextmip = 1;
ytop = rect.top + 2;
ybot = ytop + height;
ylast = -1;
for (i=0; i < width; i++) {
if (i==nextmip) {
miplevel++;
nextmip *= 2;
}
int ix = i + rect.left + 2;
float alpha = (miplevel - detailDropoffStart) * (detailMin - detailMax) / (detailDropoffStop - detailDropoffStart)
+ detailMax;
if (alpha > detailMax)
alpha = detailMax;
if (alpha < detailMin)
alpha = detailMin;
iy = (int)(ybot - alpha * height);
SelectPen(hdc, fgPen);
VertLine(hdc, ix, ybot, iy);
if (iy-1 > ytop) {
// Fill in above curve
SelectPen(hdc,bgPen);
VertLine(hdc, ix, ytop, iy-1);
}
if (ylast>=0) {
SelectPen(hdc,linePen);
VertLine(hdc, ix-1, iy-1, ylast);
}
ylast = iy;
}
SelectObject( hdc, linePen );
DeleteObject(fgPen);
DeleteObject(bgPen);
WhiteRect3D(hdc, rect, 1);
#endif

3
Sources/Tools/MaxPlasmaMtls/plMtlImport.h

@ -42,8 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#ifndef _plMtlImport_h
#define _plMtlImport_h
#include "Max.h"
#include "iparamb2.h"
class ClassDesc2;
namespace plPlasmaMtlImport
{

Loading…
Cancel
Save