2
3
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-14 10:37:41 -04:00

Fix MaxPlasmaMtls

This commit is contained in:
2012-12-21 20:53:01 -05:00
parent fa950cd846
commit 5ea652f906
61 changed files with 500 additions and 332 deletions

View File

@ -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:

View File

@ -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}

View File

@ -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 "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#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
{

View File

@ -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,

View File

@ -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 "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <iparamm2.h>
#include <stdmat.h>
#include <triobj.h>
#pragma hdrstop
#include "plDynamicEnvLayer.h"
#include "../plBMSampler.h"
#include "MaxMain/plPlasmaRefMsgs.h"

View File

@ -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();

View File

@ -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 "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#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()
{

View File

@ -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,

View File

@ -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"

View File

@ -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;

View File

@ -40,13 +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 "plMAXCameraLayer.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.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()
{

View File

@ -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,

View File

@ -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 ///////////////////////////////////////////////////////

View File

@ -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;

View File

@ -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 "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <iparamm2.h>
#include <stdmat.h>
#pragma hdrstop
#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;

View File

@ -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,

View File

@ -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 /////////////////////////////////////////////////////////////////

View File

@ -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;

View File

@ -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 ///////////////////////////////////////////////////////////////

View File

@ -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 "MaxMain/MaxCompat.h"
#include <iparamm2.h>
#include <istdplug.h>
#include <stdmat.h>
#pragma hdrstop
#include "../Shaders.h"
#include "plBumpMtl.h"
#include "plBumpMtlBasicPB.h"
#include "iparamm2.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;

View File

@ -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);

View File

@ -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"

View File

@ -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
{

View File

@ -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();

View File

@ -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);

View File

@ -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
{

View File

@ -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();

View File

@ -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,

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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();

View File

@ -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,

View File

@ -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

View File

@ -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 //////////////////////////////////////////////////////

View File

@ -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;

View File

@ -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();

View File

@ -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);

View File

@ -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"

View File

@ -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
{

View File

@ -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;

View File

@ -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);

View File

@ -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"

View File

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

View File

@ -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;

View File

@ -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;

View File

@ -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"

View File

@ -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.
*/

View File

@ -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_

View File

@ -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"
//===========================================================================

View File

@ -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);
}
};

View File

@ -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"

View File

@ -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

View File

@ -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;
}

View File

@ -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 /////////////////////////////////////////////////////////////

View File

@ -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

View File

@ -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

View File

@ -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
{