diff --git a/MaxNifPlugins_Readme.txt b/MaxNifPlugins_Readme.txt index a3f959e56e3b957cf7779f6b53b792fe15d1fc82..9f102b5ab51f2845966eaafedf0c22e3048ab85b 100644 --- a/MaxNifPlugins_Readme.txt +++ b/MaxNifPlugins_Readme.txt @@ -1,4 +1,4 @@ - MaxPlugins 0.2.8 + MaxPlugins 0.2.9 ================ @@ -32,6 +32,18 @@ Change log ---------- + 0.2.9 + ----- + o Exporter + - Add BSX flags for NIF exports when animation is involved for Oblivion. + - Worked around what appears to be a bug in the Bezier Scale controller. + - Change time intervals when exporting MW style animation. + - Fixed bug with missing reference in Footer in MW exported .KF files. + - Call routine to apply skin offsets to Skin data (required for MW?) + + o Importer + - Invoke Max Script in Max 5 so that we can import Note Tracks + 0.2.8 ----- o Exporter diff --git a/NifCommon/NifPlugins.cpp b/NifCommon/NifPlugins.cpp index 000e6cca835636dcb0fe57d5fcb1dd4cf263e986..66d0be9cc39cd1ffe2877c9e9554f5c4df1cb25c 100644 --- a/NifCommon/NifPlugins.cpp +++ b/NifCommon/NifPlugins.cpp @@ -109,3 +109,29 @@ void npSetProp(INode *node, const TSTR &prop, const Vector3 &value) } +bool npGetProp(INode *node, const TSTR &prop, TSTR &value, TSTR def) +{ + bool ret; + if (node) + { + if (!node->GetUserPropString(prop, value)) + { + value = def; + ret = false; + } + else + ret = true; + } + else + { + value = def; + ret = false; + } + return ret; +} + +void npSetProp(INode *node, const TSTR &prop, const TSTR& value) +{ + if (node) + node->SetUserPropString(prop, value); +} \ No newline at end of file diff --git a/NifCommon/NifPlugins.h b/NifCommon/NifPlugins.h index 00905842f8a7a767a67ab51e01c56c4d396a0d9c..5c8f4c1d7b1d44c8c1de987cb04e032064b817da 100644 --- a/NifCommon/NifPlugins.h +++ b/NifCommon/NifPlugins.h @@ -11,6 +11,7 @@ using Niflib::Vector3; #define NP_HVK_MASS _T("Mass") #define NP_HVK_FRICTION _T("Friction") #define NP_HVK_RESTITUTION _T("Ellasticity") +#define NP_HVK_PROXY_GEOM _T("Proxy_Geometry") #define NP_HVK_MASS_OLD _T("np_hvk_mass") #define NP_HVK_FRICTION_OLD _T("np_hvk_frict") @@ -19,9 +20,10 @@ using Niflib::Vector3; /* default values */ #define NP_DEFAULT_HVK_EMPTY 3.402823466e+38F -#define NP_DEFAULT_HVK_MASS 0 +#define NP_DEFAULT_HVK_MASS 0.0f #define NP_DEFAULT_HVK_FRICTION 0.3f #define NP_DEFAULT_HVK_RESTITUTION 0.3f +#define NP_DEFAULT_PROXY_GEOM _T("") // Custom Properties @@ -82,4 +84,7 @@ void npSetProp(INode *node, const TSTR &prop, float value); bool npGetProp(INode *node, const TSTR &prop, Vector3 &value, const Vector3 def=Vector3(0,0,0)); void npSetProp(INode *node, const TSTR &prop, const Vector3 &value); +bool npGetProp(INode *node, const TSTR &prop, TSTR &value, TSTR def=TSTR()); +void npSetProp(INode *node, const TSTR &prop, const TSTR& value); + #endif // __NIFPLUGINS_H__ diff --git a/NifCommon/niutils.cpp b/NifCommon/niutils.cpp index 89c629024b465a72bbae345bd096e4f7ced4ab90..650cfae773d15867c36c71c0a27ed4e6b3865d0c 100644 --- a/NifCommon/niutils.cpp +++ b/NifCommon/niutils.cpp @@ -24,6 +24,9 @@ HISTORY: # include <cs/BipedApi.h> # include <cs/OurExp.h> #endif +#include "maxscrpt\Strings.h" +#include "maxscrpt\Parser.h" + using namespace std; using namespace Niflib; @@ -1007,4 +1010,64 @@ void FixNormals(vector<Triangle>& tris, vector<Vector3>& verts, vector<Vector3>& std::swap(tri.v3, tri.v2); } } -} \ No newline at end of file +} + + +static Value* LocalExecuteScript(CharStream* source, bool *res) { + + *res = true; + + init_thread_locals(); + push_alloc_frame(); + three_typed_value_locals(Parser* parser, Value* code, Value* result); + CharStream* out = thread_local(current_stdout); + vl.parser = new Parser (out); + + try { + + source->flush_whitespace(); + while (!source->at_eos()) { + vl.code = vl.parser->compile(source); + vl.result = vl.code->eval()->get_heap_ptr(); + source->flush_whitespace(); + } + source->close(); + + } catch (...) { + *res = false; + } + + if (vl.result == NULL) + vl.result = &ok; + + pop_alloc_frame(); + return_value(vl.result); +} + +// CallMaxscript +// Send the string to maxscript +// +void CallMaxscript(const TCHAR *s) +{ + static bool script_initialized = false; + if (!script_initialized) { + init_MAXScript(); + script_initialized = TRUE; + } + init_thread_locals(); + + push_alloc_frame(); + two_typed_value_locals(StringStream* ss, Value* result); + + vl.ss = new StringStream ( const_cast<TCHAR*>(s) ); + bool res = false; + try { + vl.result = LocalExecuteScript(vl.ss,&res); + } catch (...) { + res = false; + } + thread_local(current_result) = vl.result; + thread_local(current_locals_frame) = vl.link; + pop_alloc_frame(); +} + diff --git a/NifExport/Animation.cpp b/NifExport/Animation.cpp index 44ad58372c45b2104a68e566ccfd670ddd678156..07d943d9f9c1dd46879410a24ad04561e717766a 100644 --- a/NifExport/Animation.cpp +++ b/NifExport/Animation.cpp @@ -58,6 +58,9 @@ struct AnimationExport Control *GetTMController(INode* node); NiTimeControllerRef exportController(INode *node, Interval range, bool setTM ); bool GetTextKeys(INode *node, vector<StringKey>& textKeys); + Interval GetTimeRange(INode *n); + void GetTimeRange(Control *n, Interval& range); + Exporter ≠ Interval range; @@ -99,17 +102,22 @@ bool GetTextKeys(INode *node, vector<StringKey>& textKeys, Interval range) if (wildmatch("start*", key->note)) { stringlist args = TokenizeCommandLine(key->note, true); if (args.empty()) continue; - - range.SetStart( key->time ); for (stringlist::iterator itr = args.begin(); itr != args.end(); ++itr) { if (strmatch("-name", *itr)) { if (++itr == args.end()) break; } } } else if ( wildmatch("end*", key->note) ) { - range.SetEnd( key->time ); stop = true; } + if (range.Empty()) { + range.SetInstant(key->time); + } else { + if (key->time < range.Start()) + range.SetStart(key->time); + if (key->time > range.End()) + range.SetEnd(key->time); + } StringKey strkey; strkey.time = FrameToTime( Interval(range.Start(), key->time).Duration()-1 ); strkey.data = key->note; @@ -548,6 +556,84 @@ Control *AnimationExport::GetTMController(INode *n) return c; } +void AnimationExport::GetTimeRange(Control *c, Interval& range) +{ + if (IKeyControl *ikeys = GetKeyControlInterface(c)){ + int n = ikeys->GetNumKeys(); + for (int i=0; i<n; ++i){ + AnyKey buf; IKey *key = (IKey*)buf; + ikeys->GetKey(i, key); + if (range.Empty()) { + range.SetInstant(key->time); + } else { + if (key->time < range.Start()) + range.SetStart(key->time); + if (key->time > range.End()) + range.SetEnd(key->time); + } + } + } +} + +Interval AnimationExport::GetTimeRange(INode *node) +{ + Interval range; + range.SetEmpty(); + int nTracks = node->NumNoteTracks(); + + // Populate Text keys and Sequence information from note tracks + for (int i=0; i<nTracks; ++i) { + if ( NoteTrack *nt = node->GetNoteTrack(i) ) { + if ( nt->ClassID() == Class_ID(NOTETRACK_CLASS_ID,0) ) { + DefNoteTrack *defNT = (DefNoteTrack *)nt; + if ( defNT->NumKeys() > 0 ) { + for (int j=0, m=defNT->keys.Count(); j<m; ++j) { + NoteKey* key = defNT->keys[j]; + if (range.Empty()) { + range.SetInstant(key->time); + } else { + if (key->time < range.Start()) + range.SetStart(key->time); + if (key->time > range.End()) + range.SetEnd(key->time); + } + } + } + } + } + } + if (Control* c = node->GetTMController()) + { + GetTimeRange(c, range); + +#if VERSION_3DSMAX > ((5000<<16)+(15<<8)+0) // Version 5 + if (Control *sc = c->GetWController()) { + GetTimeRange(sc, range); + if (sc != c) GetTimeRange(sc, range); + } +#endif + if (Control *sc = c->GetXController()) { + if (sc != c) GetTimeRange(sc, range); + } + if (Control *sc = c->GetYController()) { + if (sc != c) GetTimeRange(sc, range); + } + if (Control *sc = c->GetZController()) { + if (sc != c) GetTimeRange(sc, range); + } + if (Control *sc = c->GetRotationController()) { + if (sc != c) GetTimeRange(sc, range); + } + if (Control *sc = c->GetPositionController()) { + if (sc != c) GetTimeRange(sc, range); + } + if (Control *sc = c->GetScaleController()) { + if (sc != c) GetTimeRange(sc, range); + } + } + return range; +} + NiTimeControllerRef Exporter::CreateController(INode *node, Interval range) { AnimationExport ae(*this); @@ -570,6 +656,12 @@ NiTimeControllerRef AnimationExport::exportController(INode *node, Interval rang { bool skip = false; NiTimeControllerRef timeControl; + if (range.Empty()) + { + range = GetTimeRange(node); + if (range.Empty()) + return timeControl; + } ne.ProgressUpdate(Exporter::Animation, FormatText("'%s' Animation", node->GetName())); @@ -816,6 +908,14 @@ NiTimeControllerRef AnimationExport::exportController(INode *node, Interval rang vector<FloatKey> keys; data->SetScaleType(QUADRATIC_KEY); nkeys += GetKeys<FloatKey, IBezFloatKey>(c, keys, range); + + // I think max has a bug in the Bezier Scale control w.r.t. the keycontroller. + float timeOffset = -FrameToTime(range.Start()); + for (int i=0, n=keys.size(); i<n; ++i) { + FloatKey k = InterpKey<FloatKey>(c, TimeToFrame(keys[i].time-timeOffset), timeOffset); + keys[i].data = k.data; + } + data->SetScaleKeys(keys); } else if (c->ClassID() == Class_ID(TCBINTERP_SCALE_CLASS_ID,0)) { vector<FloatKey> keys; diff --git a/NifExport/Exporter.cpp b/NifExport/Exporter.cpp index 370d08f53be11f260e482bff55fa9ab737698d86..18e18e9eab399aa89d8ca72f6b022f3ac25b1c8c 100755 --- a/NifExport/Exporter.cpp +++ b/NifExport/Exporter.cpp @@ -78,27 +78,36 @@ Exporter::Result Exporter::doExport(NiNodeRef &root, INode *node) { CalcBoundingBox(node, mBoundingBox); - if (mSkeletonOnly && mIsBethesda) + if (mIsBethesda) { - BSBoundRef bsb = CreateNiObject<BSBound>(); - bsb->SetName("BBX"); - bsb->SetCenter( TOVECTOR3(mBoundingBox.Center()) ); - bsb->SetDimensions( TOVECTOR3(mBoundingBox.Width() / 2.0f) ); - root->AddExtraData(DynamicCast<NiExtraData>(bsb)); + if (mSkeletonOnly) + { + BSBoundRef bsb = CreateNiObject<BSBound>(); + bsb->SetName("BBX"); + bsb->SetCenter( TOVECTOR3(mBoundingBox.Center()) ); + bsb->SetDimensions( TOVECTOR3(mBoundingBox.Width() / 2.0f) ); + root->AddExtraData(DynamicCast<NiExtraData>(bsb)); - BSXFlagsRef bsx = CreateNiObject<BSXFlags>(); - bsx->SetName("BSX"); - bsx->SetFlags( 0x00000007 ); - root->AddExtraData(DynamicCast<NiExtraData>(bsx)); - } - else if (mExportCollision && mIsBethesda) - { - BSXFlagsRef bsx = CreateNiObject<BSXFlags>(); - bsx->SetName("BSX"); - bsx->SetFlags( 0x00000002 ); - root->AddExtraData(DynamicCast<NiExtraData>(bsx)); + BSXFlagsRef bsx = CreateNiObject<BSXFlags>(); + bsx->SetName("BSX"); + bsx->SetFlags( 0x00000007 ); + root->AddExtraData(DynamicCast<NiExtraData>(bsx)); + } + else if (mExportType != NIF_WO_ANIM) + { + BSXFlagsRef bsx = CreateNiObject<BSXFlags>(); + bsx->SetName("BSX"); + bsx->SetFlags( 0x00000003 ); + root->AddExtraData(DynamicCast<NiExtraData>(bsx)); + } + else if (mExportCollision) + { + BSXFlagsRef bsx = CreateNiObject<BSXFlags>(); + bsx->SetName("BSX"); + bsx->SetFlags( 0x00000002 ); + root->AddExtraData(DynamicCast<NiExtraData>(bsx)); + } } - exportUPB(root, node); } @@ -205,6 +214,7 @@ Exporter::Result Exporter::doExport(NiNodeRef &root, INode *node) removeUnreferencedBones(mNiRoot); if (mSortNodesToEnd) sortNodes(mNiRoot); + ApplyAllSkinOffsets(StaticCast<NiAVObject>(mNiRoot)); root = mNiRoot; return Ok; } @@ -230,9 +240,6 @@ Exporter::Result Exporter::exportNodes(NiNodeRef &parent, INode *node) SClass_ID scid = node->SuperClassID(); Class_ID ncid = node->ClassID(); TSTR nodeClass; node->GetClassName(nodeClass); - - // For some unusual reason, bones named Helper are converted to Meshes and - // lose their Bone properties except a new node named Bone seem to show up if (node->IsBoneShowing()) newParent = exportBone(nodeParent, node); else if (os.obj && os.obj->SuperClassID()==GEOMOBJECT_CLASS_ID) diff --git a/NifExport/Exporter.h b/NifExport/Exporter.h index 146a3b6a271bc62ead3a36e93ede46e0ae1ce11a..3b407d95d775227261d63e0b2e523b7deefe82b0 100755 --- a/NifExport/Exporter.h +++ b/NifExport/Exporter.h @@ -241,6 +241,7 @@ public: NiNodeRef createAccumNode(NiNodeRef parent, INode *node); int countNodes(INode *node); bool isSkeletonRoot(INode *node); + void ApplyAllSkinOffsets( NiAVObjectRef & root ); /* Progress Bar stuff */ enum ProgressSection diff --git a/NifExport/Util.cpp b/NifExport/Util.cpp index 610fd0fbce6a80fce80798d056b53d8f6916fc06..1baf03a2e3fde60f2b0f88831b15569f87bb4650 100755 --- a/NifExport/Util.cpp +++ b/NifExport/Util.cpp @@ -131,7 +131,7 @@ NiNodeRef Exporter::makeNode(NiNodeRef &parent, INode *maxNode, bool local) // Normal Embedded Animation if (mExportType == NIF_WO_KF) - CreateController(maxNode, mI->GetAnimRange()); + CreateController(maxNode, Interval()); parent->AddChild(DynamicCast<NiAVObject>(node)); return node; @@ -507,4 +507,21 @@ bool Exporter::isSkeletonRoot(INode *node) } return false; -} \ No newline at end of file +} + +void Exporter::ApplyAllSkinOffsets( NiAVObjectRef & root ) { + NiGeometryRef niGeom = DynamicCast<NiGeometry>(root); + if ( niGeom != NULL && niGeom->IsSkin() == true ) { + niGeom->ApplySkinOffset(); + } + + NiNodeRef niNode = DynamicCast<NiNode>(root); + if ( niNode != NULL ) { + //Call this function on all children + vector<NiAVObjectRef> children = niNode->GetChildren(); + + for ( unsigned i = 0; i < children.size(); ++i ) { + ApplyAllSkinOffsets( children[i] ); + } + } +} \ No newline at end of file diff --git a/NifExport/pch.h b/NifExport/pch.h index d697250272c056e7484c56bef7af72f173428eb5..bffb36ec437c034b437331de3f7766fbe2b6b257 100755 --- a/NifExport/pch.h +++ b/NifExport/pch.h @@ -7,6 +7,7 @@ #include <functional> #include <string> #include <sstream> +#include <set> #include "Max.h" #include "resource.h" diff --git a/NifImport/ImportAnimation.cpp b/NifImport/ImportAnimation.cpp index a7a6386419f83bb7ac8c20b952395642cc344954..adb3da66a79a47618ecf54e0310c57e79abbf4aa 100644 --- a/NifImport/ImportAnimation.cpp +++ b/NifImport/ImportAnimation.cpp @@ -371,6 +371,7 @@ bool NifImporter::AddNoteTracks(float time, string name, string target, NiTextKe } #else // Version 5 + extern void CallMaxscript(const TCHAR *s); TSTR script; script += "fn getActorManager obj = (\n" @@ -421,10 +422,8 @@ bool NifImporter::AddNoteTracks(float time, string name, string target, NiTextKe } else { script += FormatText("addNoteKey nt (%d/ticksPerFrame) \"%s\"\n", t, (*itr).data.c_str()); } - - //NoteKey *key = new NoteKey(TimeToFrame(time + (*itr).time), (*itr).data.c_str(), 0); - //nt->keys.Append(1, &key); } + CallMaxscript(script); //ExecuteMAXScriptScript(script, TRUE, NULL); #endif } diff --git a/NifPlugins_VC80.vcproj b/NifPlugins_VC80.vcproj new file mode 100644 index 0000000000000000000000000000000000000000..53784ff5164ef990e4a5c56781501a3452742e7d --- /dev/null +++ b/NifPlugins_VC80.vcproj @@ -0,0 +1,1355 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="NifPlugins" + ProjectGUID="{466F2D3E-2663-4583-A05C-128683677617}" + RootNamespace="NifPlugins" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release - Max 6|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)\" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + WholeProgramOptimization="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + CommandLine="" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax6\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES" + StringPooling="true" + ExceptionHandling="2" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflib.lib" + OutputFile="C:\3dsmax6\plugins\NifPlugins.dlu" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax6\maxsdk\lib;..\niflib\lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + SetChecksum="true" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="set MaxRootDir=$(TargetDir)\..
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
xcopy /D /Y /I "$(ProjectDir)MaxNifPlugins_Readme.txt" "$(OutDir)"
xcopy /D /Y /I "$(ProjectDir)MaxNifTools.ini" "$(OutDir)"
xcopy /D /Y /I "$(TargetPath)" "$(OutDir)"
" + /> + </Configuration> + <Configuration + Name="Debug - Max 6|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + Optimization="0" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax6\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_UNSUPPORTED_CODE" + GeneratePreprocessedFile="0" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflibd.lib" + OutputFile="C:\3dsmax6\plugins\NifPlugins.dlu" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax6\maxsdk\lib;..\niflib\lib" + IgnoreDefaultLibraryNames="msvcrtd.lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release - Max 7|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)\" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + WholeProgramOptimization="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + CommandLine="" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax7\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_BIPED" + StringPooling="true" + ExceptionHandling="2" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflib.lib" + OutputFile="C:\3dsmax7\plugins\NifPlugins.dlu" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax7\maxsdk\lib;..\niflib\lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + SetChecksum="true" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="set MaxRootDir=$(TargetDir)\..
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
xcopy /D /Y /I "$(ProjectDir)MaxNifPlugins_Readme.txt" "$(OutDir)"
xcopy /D /Y /I "$(ProjectDir)MaxNifTools.ini" "$(OutDir)"
xcopy /D /Y /I "$(TargetPath)" "$(OutDir)"
" + /> + </Configuration> + <Configuration + Name="Debug - Max 7|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + Optimization="0" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax7\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_UNSUPPORTED_CODE;USE_BIPED" + GeneratePreprocessedFile="0" + ExceptionHandling="2" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflibd.lib" + OutputFile="C:\3dsmax7\plugins\NifPlugins.dlu" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax7\maxsdk\lib;..\niflib\lib" + IgnoreDefaultLibraryNames="msvcrtd.lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release - Max 8|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)\" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + WholeProgramOptimization="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + CommandLine="" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax8\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_BIPED" + StringPooling="true" + ExceptionHandling="2" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflib.lib" + OutputFile="C:\3dsmax8\plugins\NifPlugins.dlu" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax8\maxsdk\lib;..\niflib\lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + SetChecksum="true" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="set MaxRootDir=$(TargetDir)\..
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
xcopy /D /Y /I "$(ProjectDir)MaxNifPlugins_Readme.txt" "$(OutDir)"
xcopy /D /Y /I "$(ProjectDir)MaxNifTools.ini" "$(OutDir)"
xcopy /D /Y /I "$(TargetPath)" "$(OutDir)"
" + /> + </Configuration> + <Configuration + Name="Debug - Max 8|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + Optimization="0" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax8\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_UNSUPPORTED_CODE;USE_BIPED" + GeneratePreprocessedFile="0" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflib_debug.lib" + OutputFile="C:\3dsmax8\plugins\NifPlugins.dlu" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax8\maxsdk\lib;..\niflib\lib" + IgnoreDefaultLibraryNames="msvcrtd.lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + Optimization="0" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES;USE_UNSUPPORTED_CODE" + GeneratePreprocessedFile="0" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + DisableSpecificWarnings="4244;4018" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib" + OutputFile="C:\3dsmax5\plugins\NifPlugins.dlu" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib;..\niflib\lib" + IgnoreDefaultLibraryNames="msvcrtd.lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release - Max 5|Win32" + OutputDirectory="$(SolutionDir)Staging\$(ConfigurationName)\" + IntermediateDirectory="$(SolutionDir)Temp\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + WholeProgramOptimization="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + CommandLine="" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName="$(OutDir)NifPlugins.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200 /FI"$(ProjectDir)NifPlugins\pch.h"" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\niflib\include;..\niflib;.\NifCommon" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES" + StringPooling="true" + ExceptionHandling="2" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)NifPlugins\pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG;NIFPLUGINS" + Culture="1033" + AdditionalIncludeDirectories=".\NifCommon" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib paramblk2.lib bmm.lib niflib.lib" + OutputFile="C:\3dsmax5\plugins\NifPlugins.dlu" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib;..\niflib\lib" + ModuleDefinitionFile=".\NifPlugins\NifPlugins.def" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + SetChecksum="true" + BaseAddress="0x16860000" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="set MaxRootDir=$(TargetDir)\..
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
xcopy /D /Y /I "$(ProjectDir)MaxNifPlugins_Readme.txt" "$(OutDir)"
xcopy /D /Y /I "$(ProjectDir)MaxNifTools.ini" "$(OutDir)"
xcopy /D /Y /I "$(TargetPath)" "$(OutDir)"
" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="NifProps" + > + <Filter + Name="Header Files" + > + <File + RelativePath=".\NifProps\bhkRigidBodyInterface.h" + > + </File> + <File + RelativePath=".\NifProps\NifProps.h" + > + </File> + <File + RelativePath=".\NifProps\NifStrings.h" + > + </File> + <File + RelativePath=".\NifProps\resource.h" + > + </File> + </Filter> + <Filter + Name="Source Files" + > + <File + RelativePath=".\NifProps\bhkCapsuleObj.cpp" + > + </File> + <File + RelativePath=".\NifProps\bhkRigidBodyInterface.cpp" + > + </File> + <File + RelativePath=".\NifProps\bhkSphereObj.cpp" + > + </File> + <File + RelativePath=".\NifProps\NifProps.cpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + > + <File + RelativePath=".\NifProps\NifProps.rc" + > + </File> + </Filter> + </Filter> + <Filter + Name="NifFurniture" + > + <Filter + Name="Header Files" + > + <File + RelativePath=".\NifFurniture\FurnitureMarkers.h" + > + </File> + <File + RelativePath=".\NifFurniture\NifFurniture.h" + > + </File> + <File + RelativePath=".\NifFurniture\resource.h" + > + </File> + </Filter> + <Filter + Name="Source Files" + > + <File + RelativePath=".\NifFurniture\NifFurniture.cpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + > + <File + RelativePath=".\NifFurniture\NifFurniture.rc" + > + </File> + </Filter> + </Filter> + <Filter + Name="NifExport" + > + <Filter + Name="Header Files" + > + <File + RelativePath=".\NifExport\Exporter.h" + > + </File> + <File + RelativePath=".\NifExport\NifExport.h" + > + </File> + <File + RelativePath=".\NifExport\pch.h" + > + </File> + <File + RelativePath=".\NifExport\resource.h" + > + </File> + </Filter> + <Filter + Name="Source Files" + > + <File + RelativePath=".\NifExport\Animation.cpp" + > + </File> + <File + RelativePath=".\NifExport\Coll.cpp" + > + </File> + <File + RelativePath=".\NifExport\Config.cpp" + > + </File> + <File + RelativePath=".\NifExport\Exporter.cpp" + > + </File> + <File + RelativePath=".\NifExport\KfExport.cpp" + > + </File> + <File + RelativePath=".\NifExport\Mesh.cpp" + > + </File> + <File + RelativePath=".\NifExport\MtlTex.cpp" + > + </File> + <File + RelativePath=".\NifExport\NifExport.cpp" + > + </File> + <File + RelativePath=".\NifExport\Strips.cpp" + > + </File> + <File + RelativePath=".\NifExport\Util.cpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + > + <File + RelativePath=".\NifExport\NifExport.rc" + > + </File> + </Filter> + </Filter> + <Filter + Name="NifCommon" + > + <Filter + Name="Header Files" + > + <File + RelativePath=".\NifCommon\AnimKey.h" + > + </File> + <File + RelativePath=".\NifCommon\AppSettings.h" + > + </File> + <File + RelativePath=".\NifCommon\Hyperlinks.h" + > + </File> + <File + RelativePath=".\NifCommon\IniSection.h" + > + </File> + <File + RelativePath=".\NifCommon\MAX_Mem.h" + > + </File> + <File + RelativePath=".\NifCommon\MAX_MemDirect.h" + > + </File> + <File + RelativePath=".\NifCommon\NifGui.h" + > + </File> + <File + RelativePath=".\NifCommon\NifPlugins.h" + > + </File> + <File + RelativePath=".\NifCommon\NifVersion.h" + > + </File> + <File + RelativePath=".\NifCommon\niutils.h" + > + </File> + <File + RelativePath=".\NifCommon\objectParams.h" + > + </File> + <File + RelativePath=".\NifCommon\pch.h" + > + </File> + </Filter> + <Filter + Name="Source Files" + > + <File + RelativePath=".\NifCommon\AnimKey.cpp" + > + </File> + <File + RelativePath=".\NifCommon\AppSettings.cpp" + > + </File> + <File + RelativePath=".\NifCommon\Hyperlinks.cpp" + > + </File> + <File + RelativePath=".\NifCommon\NifGui.cpp" + > + </File> + <File + RelativePath=".\NifCommon\NifPlugins.cpp" + > + </File> + <File + RelativePath=".\NifCommon\niutils.cpp" + > + </File> + </Filter> + <Filter + Name="Resource Files" + > + </Filter> + </Filter> + <Filter + Name="NifPlugins" + > + <File + RelativePath=".\NifPlugins\DllEntry.cpp" + > + <FileConfiguration + Name="Release - Max 6|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 6|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 7|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 7|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 8|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 8|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)\$(InputName)1.obj" + XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc" + /> + </FileConfiguration> + </File> + <File + RelativePath=".\NifPlugins\NifPlugins.rc" + > + </File> + <File + RelativePath=".\NifPlugins\pch.cpp" + > + <FileConfiguration + Name="Release - Max 6|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 6|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 7|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 7|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 8|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 8|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + </File> + <File + RelativePath=".\NifPlugins\pch.h" + > + </File> + </Filter> + <Filter + Name="NifImport" + > + <Filter + Name="Header Files" + > + <File + RelativePath=".\NifImport\resource.h" + > + </File> + <File + RelativePath=".\NifImport\stdafx.h" + > + </File> + </Filter> + <Filter + Name="Importer" + > + <File + RelativePath=".\NifImport\BaseImporter.h" + > + </File> + <File + RelativePath=".\NifImport\ImportAnimation.cpp" + > + </File> + <File + RelativePath=".\NifImport\ImportCollision.cpp" + > + </File> + <File + RelativePath=".\NifImport\ImportLights.cpp" + > + </File> + <File + RelativePath=".\NifImport\ImportMeshAndSkin.cpp" + > + </File> + <File + RelativePath=".\NifImport\ImportMtlAndTex.cpp" + > + </File> + <File + RelativePath=".\NifImport\ImportSkeleton.cpp" + > + </File> + <File + RelativePath=".\NifImport\KfDialog.cpp" + > + </File> + <File + RelativePath=".\NifImport\KFImporter.cpp" + > + </File> + <File + RelativePath=".\NifImport\KFImporter.h" + > + </File> + <File + RelativePath=".\NifImport\KFMImporter.cpp" + > + </File> + <File + RelativePath=".\NifImport\KFMImporter.h" + > + </File> + <File + RelativePath=".\NifImport\MaxNifImport.cpp" + > + </File> + <File + RelativePath=".\NifImport\MaxNifImport.h" + > + </File> + <File + RelativePath=".\NifImport\NifDialog.cpp" + > + </File> + <File + RelativePath=".\NifImport\NIFImport.cpp" + > + </File> + <File + RelativePath=".\NifImport\NIFImporter.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + > + <File + RelativePath=".\NifImport\MaxNifImport.rc" + > + </File> + </Filter> + </Filter> + <File + RelativePath=".\NifPlugins\resource.h" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject>