diff --git a/MaxNifTools.ini b/MaxNifTools.ini index f7d60decc18e5d43dbe610a223d29861d5aec5ff..806e0bfad4b9f3b9afa479e96f7dbe14b1594599 100644 --- a/MaxNifTools.ini +++ b/MaxNifTools.ini @@ -16,6 +16,8 @@ MaxSDKVersion=0 ; Current Application to get setting/directory information from. Should match KnownApps above or Auto. ; Auto will check the import file against the known root paths use that app if a directory match is found. CurrentApp=Auto +; Creator of this nif. Default is blank. (Only valid for Bethesda based games). +Creator= ; Use Registry Default:0 (Prior to v1.6 Exporter settings were saved in the registry) UseRegistry=0 ; Whether to Generate TriStrips or TriShapes. Default:1 diff --git a/NifCommon/AnimKey.h b/NifCommon/AnimKey.h index bd549a61f095ad9feaf7662b5475b777e6872c19..1b1b148c85d85fefb527b028ff3c5b082efeaf18 100644 --- a/NifCommon/AnimKey.h +++ b/NifCommon/AnimKey.h @@ -19,6 +19,17 @@ HISTORY: #include <Key.h> using namespace Niflib; +#if VERSION_3DSMAX <= ((5000<<16)+(15<<8)+0) // Version 7 +class AnyKey +{ +public: + Tab<char> data; + AnyKey(int size = 128) { data.SetCount(size); } // 128 is default from IKeyControl::GetKeySize() + void SetSize(int size) { data.SetCount(size); } + operator IKey*() { return (IKey*)data.Addr(0); } +}; +#endif + const float FramesPerSecond = 30.0f; const float FramesIncrement = 1.0f/30.0f; const int TicksPerFrame = GetTicksPerFrame(); diff --git a/NifCommon/AppSettings.cpp b/NifCommon/AppSettings.cpp index 17d4fbba2b0c832adeb2e607b429c3906bd1d499..d25330a5567c6fa437450c59048f67e64d414574 100644 --- a/NifCommon/AppSettings.cpp +++ b/NifCommon/AppSettings.cpp @@ -106,14 +106,14 @@ string AppSettings::FindImage(const string& fname){ // Search my filename for our texture _tcscpy(buffer, PathFindFileName(fname.c_str())); PathRemoveExtension(buffer); - NameValueCollection::iterator itr = imgTable.find(buffer); - if (itr != imgTable.end()){ + NameValueCollection::iterator nmitr = imgTable.find(buffer); + if (nmitr != imgTable.end()){ if (!rootPath.empty()) { _tcscpy(buffer, rootPath.c_str()); - PathCombine(buffer, rootPath.c_str(), ((*itr).second).c_str()); + PathCombine(buffer, rootPath.c_str(), ((*nmitr).second).c_str()); return string(buffer); } else { - return (*itr).second; + return (*nmitr).second; } } return fname; diff --git a/NifCommon/NifCommon_VC80.vcproj b/NifCommon/NifCommon_VC80.vcproj index 4da6b708b3a0495532a809fbd8bd1478508bf654..a29f50ba9e7679eef9f04535a917d873511e3b6e 100644 --- a/NifCommon/NifCommon_VC80.vcproj +++ b/NifCommon/NifCommon_VC80.vcproj @@ -417,6 +417,74 @@ CommandLine="set MaxRootDir=C:\3dsmax8
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)..\MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
" /> </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="4" + CharacterSet="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/FI"$(ProjectDir)pch.h"" + Optimization="0" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\..\niflib\include" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS;_USE_MATH_DEFINES" + MinimalRebuild="true" + ExceptionHandling="2" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)pch.h" + WarningLevel="3" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + Description="Copy Solution Files to 3ds Max Directories if necessary" + CommandLine="set MaxRootDir=C:\3dsmax6
if exist "%MaxRootDir%\plugcfg" (
if not exist "%MaxRootDir%\plugcfg\MaxNifTools.ini" (
copy "$(ProjectDir)..\MaxNifTools.ini" "%MaxRootDir%\plugcfg\MaxNifTools.ini"
)
)
" + /> + </Configuration> </Configurations> <References> </References> @@ -497,6 +565,14 @@ UsePrecompiledHeader="1" /> </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/NifCommon/NifVersion.h b/NifCommon/NifVersion.h new file mode 100644 index 0000000000000000000000000000000000000000..5339c14dc755ecd381ad081930253f853f0cd575 --- /dev/null +++ b/NifCommon/NifVersion.h @@ -0,0 +1,32 @@ +/********************************************************************** +*< +FILE: BaseImporter.h + +DESCRIPTION: Base Importer class + +CREATED BY: tazpn (Theo) + +HISTORY: + +*> Copyright (c) 2006, All Rights Reserved. +**********************************************************************/ +#ifndef __NIFVERSION_H__ +#define __NIFVERSION_H__ + +/* +* Define the major, minor, build, patch version numbers +*/ +#define VERSION_MAJOR_INT 0 +#define VERSION_MINOR_INT 2 +#define VERSION_BUILD_INT 6 +#define VERSION_PATCH_INT 0 + +#define VERSION_STRING "0, 2, 6, 0" + +//#define DEF_VERSION_STRING(a,b,c,d) #a ", " #b ", " #c ", " #d +//#define VERSION_STRING DEF_VERSION_STRING(a,b,c,d) + +#define COPYRIGHTYEARINT 2006 +#define COPYRIGHTYEAR "2006" + +#endif diff --git a/NifCommon/nifversion.rc b/NifCommon/nifversion.rc new file mode 100644 index 0000000000000000000000000000000000000000..1ca5d0da526ce4de43811b67f1d0f20669e39e9d --- /dev/null +++ b/NifCommon/nifversion.rc @@ -0,0 +1,105 @@ + +#include "nifversion.h" +#include <winver.h> // Includes standard version defines + +#ifndef DLLNAME +#error "Define DLLNAME before including this resource." +#endif + +#ifndef COPYRIGHTYEAR +#define COPYRIGHTYEAR "2006" +#endif + +#ifndef DLLDESCRIPTION +#define DLLDESCRIPTION DLLNAME +#endif + +#ifndef COPYRIGHTTEXT +#define COPYRIGHTTEXT ", NIF File Format Library and Tools\r\nAll rights reserved." +#endif + +#ifndef PRODUCTNAME +#define PRODUCTNAME "Nif Tools Max Plugins" +#endif + +#ifndef RESFILETYPE // VFT_APP | VFT_DLL | VFT_STATIC_LIB +#define RESFILETYPE VFT_DLL +#endif + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + + FILEVERSION VERSION_MAJOR_INT,VERSION_MINOR_INT,VERSION_BUILD_INT,VERSION_PATCH_INT + PRODUCTVERSION VERSION_MAJOR_INT,VERSION_MINOR_INT,VERSION_BUILD_INT,VERSION_PATCH_INT + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif +#ifdef VERSION_SPECIALBUILD + |VS_FF_SPECIALBUILD +#endif +#if defined(VERSION_PRIVATE_BUILD) + |VS_FF_PRIVATEBUILD +#endif +#if defined(VERSION_PRERELEASE_BUILD) + |VS_FF_PRERELEASEBUILD +#endif +#if defined(VERSION_PATCHED) + |VS_FF_PATCHED +#endif + + FILEOS VOS__WINDOWS32 + FILETYPE RESFILETYPE + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN +#ifdef _DEBUG + VALUE "FileDescription", DLLDESCRIPTION " (Debug)" "\0" +#else + VALUE "FileDescription", DLLDESCRIPTION "\0" +#endif +#ifdef _DEBUG + VALUE "InternalName", DLLNAME " (Debug)" "\0" +#else + VALUE "InternalName", DLLNAME "\0" +#endif + VALUE "LegalCopyright", "Copyright © " COPYRIGHTYEAR COPYRIGHTTEXT "\0" +#ifdef _DEBUG + VALUE "OriginalFilename", DLLNAME " (Debug)" "\0" +#else + VALUE "OriginalFilename", DLLNAME "\0" +#endif + VALUE "ProductName", PRODUCTNAME "\0" + VALUE "FileVersion", VERSION_STRING "\0" + VALUE "ProductVersion", VERSION_STRING "\0" +#ifdef VERSION_SPECIALBUILD + VALUE "SpecialBuild", VERSION_SPECIALBUILD "\0" +#endif + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + // English language (0x409) and the Unicode codepage (1200) + END +END + +#endif // !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) diff --git a/NifExport/Animation.cpp b/NifExport/Animation.cpp index 1066a9c1093b3b307a351f96eab78e99b3ad5364..9496485d03cc33c8fbcf94f72626d760012e9c85 100644 --- a/NifExport/Animation.cpp +++ b/NifExport/Animation.cpp @@ -16,6 +16,9 @@ HISTORY: #include <set> #include "NifExport.h" #include "AnimKey.h" +#ifdef USE_BIPED +# include <cs/BipedApi.h> +#endif #include <obj/NiControllerSequence.h> #include <obj/NiControllerManager.h> diff --git a/NifExport/Config.cpp b/NifExport/Config.cpp index 0bc19ce38b3290d82d6abd389599f91fb1ea7fc2..e4655ff47fd769cc0c3f9a6954665e112a410015 100755 --- a/NifExport/Config.cpp +++ b/NifExport/Config.cpp @@ -79,6 +79,8 @@ void Exporter::writeConfig(Interface *i) SetIniValue(NifExportSection, "UseTimeTags", mUseTimeTags, iniName); SetIniValue(NifExportSection, "AllowAccum", mAllowAccum, iniName); + + SetIniValue<string>(NifExportSection, "Creator", mCreatorName, iniName); } } @@ -145,6 +147,8 @@ void Exporter::readConfig(Interface *i) mUseTimeTags = GetIniValue(NifExportSection, "UseTimeTags", false, iniName); mAllowAccum = GetIniValue(NifExportSection, "AllowAccum", true, iniName); + + mCreatorName = GetIniValue<string>(NifExportSection, "Creator", "", iniName); } } diff --git a/NifExport/Exporter.cpp b/NifExport/Exporter.cpp index 829eb695bdc5232daa4ef822301ce480d026af01..2067aba6a31a04bc79e246be547623b785990eb4 100755 --- a/NifExport/Exporter.cpp +++ b/NifExport/Exporter.cpp @@ -39,6 +39,7 @@ int Exporter::mBonesPerPartition = 20; bool Exporter::mUseTimeTags = false; bool Exporter::mAutoDetect = true; bool Exporter::mAllowAccum = true; +string Exporter::mCreatorName; Exporter::Exporter(Interface *i, AppSettings *appSettings) : mI(i), mAppSettings(appSettings) diff --git a/NifExport/Exporter.h b/NifExport/Exporter.h index 365b5d35aada61c4d621713ed9a423477b4888a7..4f0a481a34ec803ebf9c743dffd60edbade1f271 100755 --- a/NifExport/Exporter.h +++ b/NifExport/Exporter.h @@ -84,6 +84,7 @@ public: static bool mUseTimeTags; static bool mAutoDetect; static bool mAllowAccum; + static string mCreatorName; Exporter(Interface *i, AppSettings *appSettings); diff --git a/NifExport/KfExport.cpp b/NifExport/KfExport.cpp index 795136fd360904b9ed992a8051833b1bc319ea7b..8036afb0dd00f206a29f74a3257816236f6ebc72 100644 --- a/NifExport/KfExport.cpp +++ b/NifExport/KfExport.cpp @@ -17,6 +17,7 @@ public: int mDlgResult; TSTR iniFileName; TSTR shortDescription; + TSTR fileVersion; int ExtCount(); // Number of extensions supported const TCHAR *Ext(int n); // Extension #n (i.e. "3DS") @@ -65,17 +66,17 @@ static BOOL CALLBACK KfExportOptionsDlgProc(HWND hWnd,UINT message,WPARAM wParam { case WM_INITDIALOG: { - // Append file version to dialog - TSTR fileVersion = GetFileVersion(NULL); - if (!fileVersion.isNull()) { + imp = (KfExport *)lParam; + + // Append file version to dialog + if (!imp->fileVersion.isNull()) { char buffer[256]; GetWindowText(hWnd, buffer, _countof(buffer)); _tcscat(buffer, TEXT(" ")); - _tcscat(buffer, fileVersion); + _tcscat(buffer, imp->fileVersion); SetWindowText(hWnd, buffer); } - imp = (KfExport *)lParam; CenterWindow(hWnd,GetParent(hWnd)); CheckDlgButton(hWnd, IDC_CHK_HIDDEN, Exporter::mExportHidden); @@ -198,6 +199,7 @@ KfExport::KfExport() } iniFileName = iniName; shortDescription = GetIniValue<TSTR>("System", "ShortDescription", "Netimmerse/Gamebryo", iniFileName); + fileVersion = GetFileVersion(NULL); } KfExport::~KfExport() @@ -346,7 +348,11 @@ int KfExport::DoExport(const TCHAR *name, ExpInterface *ei, Interface *i, BOOL s if (result!=Exporter::Ok) throw exception("Unknown error."); - WriteNifTree(name, StaticCast<NiObject>(root), nifVersion, nifUserVer); + Niflib::NifInfo info(nifVersion, nifUserVer, nifUserVer); + info.creator = Exporter::mCreatorName; + info.exportInfo1 = "Niflib"; + info.exportInfo2 = FormatText("Niftools Max Plugins %s", fileVersion.data()); + WriteNifTree(name, StaticCast<NiObject>(root), info); } catch (exception &e) diff --git a/NifExport/NifExport.cpp b/NifExport/NifExport.cpp index ee83d42c9622572a5a9e725653ad67db0e088434..cc14df14e5dfefa2fcc57f36178d7e15fed8b002 100755 --- a/NifExport/NifExport.cpp +++ b/NifExport/NifExport.cpp @@ -20,6 +20,7 @@ public: int mDlgResult; TSTR iniFileName; TSTR shortDescription; + TSTR fileVersion; int ExtCount(); // Number of extensions supported const TCHAR *Ext(int n); // Extension #n (i.e. "3DS") @@ -71,17 +72,17 @@ BOOL CALLBACK NifExportOptionsDlgProc(HWND hWnd,UINT message,WPARAM wParam,LPARA { case WM_INITDIALOG: { + imp = (NifExport *)lParam; + // Append file version to dialog - TSTR fileVersion = GetFileVersion(NULL); - if (!fileVersion.isNull()) { + if (!imp->fileVersion.isNull()) { char buffer[256]; GetWindowText(hWnd, buffer, _countof(buffer)); _tcscat(buffer, TEXT(" ")); - _tcscat(buffer, fileVersion); + _tcscat(buffer, imp->fileVersion); SetWindowText(hWnd, buffer); } - imp = (NifExport *)lParam; CenterWindow(hWnd,GetParent(hWnd)); CheckDlgButton(hWnd, IDC_CHK_STRIPS, Exporter::mTriStrips); CheckDlgButton(hWnd, IDC_CHK_HIDDEN, Exporter::mExportHidden); @@ -277,6 +278,7 @@ NifExport::NifExport() } iniFileName = iniName; shortDescription = GetIniValue<TSTR>("System", "ShortDescription", "Netimmerse/Gamebryo", iniFileName); + fileVersion = GetFileVersion(NULL); } NifExport::~NifExport() @@ -442,6 +444,10 @@ int NifExport::DoExport(const TCHAR *name, ExpInterface *ei, Interface *i, BOOL { Exporter::mExportType = Exporter::NIF_WO_KF; } + Niflib::NifInfo info(nifVersion, nifUserVer, nifUserVer); + info.creator = Exporter::mCreatorName; + info.exportInfo1 = "Niflib"; + info.exportInfo2 = FormatText("Niftools Max Plugins %s", fileVersion.data()); Exporter::mSelectedOnly = (options&SCENE_EXPORT_SELECTED) != 0; Exporter exp(i, appSettings); @@ -454,7 +460,7 @@ int NifExport::DoExport(const TCHAR *name, ExpInterface *ei, Interface *i, BOOL if (exportType == Exporter::NIF_WO_ANIM || exportType == Exporter::NIF_WITH_MGR) { - WriteNifTree(path, NiObjectRef(root), nifVersion, nifUserVer); + WriteNifTree(path, NiObjectRef(root), info); } else { @@ -493,7 +499,7 @@ int NifExport::DoExport(const TCHAR *name, ExpInterface *ei, Interface *i, BOOL // } //} - WriteFileGroup(path, StaticCast<NiObject>(root), nifVersion, nifUserVer, export_type, game); + WriteFileGroup(path, StaticCast<NiObject>(root), info, export_type, game); /* for (NodeList::iterator itr = mAnimationRoots.begin(); itr != mAnimationRoots.end(); ++itr){ list<NiTimeControllerRef> ctlrs = (*itr)->GetControllers(); diff --git a/NifExport/NifExport.rc b/NifExport/NifExport.rc index c9eb4b768211a5802817a5b9e6fe3f3d953219ff..949309e0b65749897b1daa471e9a457a2f168e90 100755 --- a/NifExport/NifExport.rc +++ b/NifExport/NifExport.rc @@ -9,6 +9,11 @@ // #include "afxres.h" +#ifndef NIFPLUGINS +#define DLLNAME "NifExporter.dle" // DLL Name +#define DLLDESCRIPTION "3ds Max Nif Exporter" +#include "..\nifcommon\nifversion.rc" +#endif ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -30,7 +35,6 @@ LANGUAGE LANG_GERMAN, SUBLANG_GERMAN 3 TEXTINCLUDE BEGIN "\r\n" - "\0" END #endif // APSTUDIO_INVOKED @@ -62,7 +66,12 @@ END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" - "\0" + "\r\n" + "#ifndef NIFPLUGINS\r\n" + "#define DLLNAME ""NifExporter.dle"" // DLL Name\r\n" + "#define DLLDESCRIPTION ""3ds Max Nif Exporter""\r\n" + "#include ""..\\nifcommon\\nifversion.rc"" \r\n" + "#endif\0" END #endif // APSTUDIO_INVOKED @@ -181,44 +190,6 @@ END #endif // APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,2,5,0 - PRODUCTVERSION 0,2,5,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "3ds Max Nif Exporter" - VALUE "FileVersion", "0, 2, 5, 0" - VALUE "InternalName", "NifExport.dle" - VALUE "LegalCopyright", "Copyright (c) 2006, NIF File Format Library and Tools\r\nAll rights reserved." - VALUE "OriginalFilename", "NifExport.dle" - VALUE "ProductName", "3ds Max Nif Exporter" - VALUE "ProductVersion", "0, 2, 5, 0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - ///////////////////////////////////////////////////////////////////////////// // // Dialog Info diff --git a/NifExport/NifExport_VC80.vcproj b/NifExport/NifExport_VC80.vcproj index 3693d6dfd2f7cbb366c0eb0b6f75822dc05f1785..4ac1710c98dc8fa863dce1e48541f81844d4f271 100644 --- a/NifExport/NifExport_VC80.vcproj +++ b/NifExport/NifExport_VC80.vcproj @@ -629,6 +629,103 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.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=".\Debug\NifExport.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /FI"$(ProjectDir)pch.h" /Zm200" + Optimization="0" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\..\niflib\include;..\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;USE_NIFLIB_TEMPLATE_HELPERS" + StringPooling="true" + MinimalRebuild="true" + ExceptionHandling="2" + RuntimeLibrary="1" + EnableFunctionLevelLinking="true" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="2" + PrecompiledHeaderThrough="$(ProjectDir)pch.h" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <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" + OutputFile="c:\3dsmax5\plugins\NifExport.dle" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib" + ModuleDefinitionFile="NifExport.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" + /> + </Configuration> </Configurations> <References> </References> @@ -734,6 +831,15 @@ PrecompiledHeaderThrough="pch.h" /> </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + PrecompiledHeaderThrough="pch.h" + /> + </FileConfiguration> </File> <File RelativePath="Strips.cpp" diff --git a/NifExport/resource.h b/NifExport/resource.h index 75ae16849ebed96cfab43eb1e9776a0e7b26d5e4..2a1de2d1cf475590364ec678c0d5fa569637a360 100755 --- a/NifExport/resource.h +++ b/NifExport/resource.h @@ -2,66 +2,66 @@ // Microsoft Visual C++ generated include file. // Used by NifExport.rc // -#define IDS_LIBDESCRIPTION 1 -#define IDS_CATEGORY 2 -#define IDS_CLASS_NAME 3 -#define IDS_NIF_CLASS_NAME 3 -#define IDS_PARAMS 4 -#define IDS_SPIN 5 -#define IDS_KF_CLASS_NAME 6 -#define IDD_PANEL 101 -#define IDD_NIF_PANEL 101 -#define IDD_KF_PANEL 102 -#define IDC_CLOSEBUTTON 1000 -#define IDC_DOSTUFF 1000 -#define IDC_CHK_HIDDEN 1003 -#define IDC_CHK_STRIPS 1004 -#define IDC_CHK_FURN 1005 -#define IDC_ED_TEXPREFIX 1006 -#define IDC_CHK_LIGHTS 1007 -#define IDC_ED_WELDTHRESH 1008 -#define IDC_LBL_WELDTHRESH 1009 -#define IDC_CHK_COLL 1010 -#define IDC_ED_PRIORITY 1010 -#define IDC_LBL_LINK 1011 -#define IDC_CHK_VCOLORS 1012 -#define IDC_LBL_PRIORITY 1012 -#define IDC_CHK_REMAP 1013 -#define IDC_CB_GAME 1014 -#define IDC_CB_VERSION 1015 -#define IDC_CB_VERSION2 1016 -#define IDC_CB_USER_VERSION 1016 -#define IDC_CHK_SKIN 1017 -#define IDC_CHK_ANIMATION 1018 -#define IDC_LBL_PRIORITY2 1018 -#define IDC_CHK_EXTRA 1019 -#define IDC_CHK_UPB 1020 -#define IDC_CHK_HIER 1021 -#define IDC_CHK_REM_BONES 1022 -#define IDC_CHK_SORTNODES 1023 -#define IDC_CHK_SKEL_ONLY 1024 -#define IDC_CHK_CAMERA 1025 -#define IDC_CHK_SKEL_ONLY2 1026 -#define IDC_CHK_BONE_COLL 1026 -#define IDC_CHK_TRANSFORMS 1026 -#define IDC_CHK_TRANSFORMS2 1027 -#define IDC_GRP_ANIMATION 1028 -#define IDC_ED_PRIORITY2 1029 -#define IDC_CBO_ACCUM 1030 -#define IDC_CHK_USE_TIME_TAGS 1030 -#define IDC_CBO_ANIM_TYPE 1031 -#define IDC_CHECK1 1032 -#define IDC_CHK_AUTO_DETECT 1032 -#define IDC_CHK_SORTNODES2 1033 -#define IDC_CHK_ALLOW_ACCUM 1033 -#define IDC_LBL_BONES_VERTEX 1034 -#define IDC_ED_BONES_VERTEX 1035 -#define IDC_LBL_BONES_PART 1036 -#define IDC_ED_BONES_PART 1037 -#define IDC_CHK_SKINPART 1038 -#define IDC_COLOR 1456 -#define IDC_EDIT 1490 -#define IDC_SPIN 1496 +#define IDC_CLOSEBUTTON 13000 +#define IDC_DOSTUFF 13000 +#define IDS_LIBDESCRIPTION 13001 +#define IDD_PANEL 13001 +#define IDD_NIF_PANEL 13001 +#define IDS_CATEGORY 13002 +#define IDD_KF_PANEL 13002 +#define IDS_CLASS_NAME 13003 +#define IDS_NIF_CLASS_NAME 13003 +#define IDC_CHK_HIDDEN 13003 +#define IDS_PARAMS 13004 +#define IDC_CHK_STRIPS 13004 +#define IDS_SPIN 13005 +#define IDC_CHK_FURN 13005 +#define IDS_KF_CLASS_NAME 13006 +#define IDC_ED_TEXPREFIX 13006 +#define IDC_CHK_LIGHTS 13007 +#define IDC_ED_WELDTHRESH 13008 +#define IDC_LBL_WELDTHRESH 13009 +#define IDC_CHK_COLL 13010 +#define IDC_ED_PRIORITY 13010 +#define IDC_LBL_LINK 13011 +#define IDC_CHK_VCOLORS 13012 +#define IDC_LBL_PRIORITY 13012 +#define IDC_CHK_REMAP 13013 +#define IDC_CB_GAME 13014 +#define IDC_CB_VERSION 13015 +#define IDC_CB_VERSION2 13016 +#define IDC_CB_USER_VERSION 13016 +#define IDC_CHK_SKIN 13017 +#define IDC_CHK_ANIMATION 13018 +#define IDC_LBL_PRIORITY2 13018 +#define IDC_CHK_EXTRA 13019 +#define IDC_CHK_UPB 13020 +#define IDC_CHK_HIER 13021 +#define IDC_CHK_REM_BONES 13022 +#define IDC_CHK_SORTNODES 13023 +#define IDC_CHK_SKEL_ONLY 13024 +#define IDC_CHK_CAMERA 13025 +#define IDC_CHK_SKEL_ONLY2 13026 +#define IDC_CHK_BONE_COLL 13026 +#define IDC_CHK_TRANSFORMS 13026 +#define IDC_CHK_TRANSFORMS2 13027 +#define IDC_GRP_ANIMATION 13028 +#define IDC_ED_PRIORITY2 13029 +#define IDC_CBO_ACCUM 13030 +#define IDC_CHK_USE_TIME_TAGS 13030 +#define IDC_CBO_ANIM_TYPE 13031 +#define IDC_CHECK1 13032 +#define IDC_CHK_AUTO_DETECT 13032 +#define IDC_CHK_SORTNODES2 13033 +#define IDC_CHK_ALLOW_ACCUM 13033 +#define IDC_LBL_BONES_VERTEX 13034 +#define IDC_ED_BONES_VERTEX 13035 +#define IDC_LBL_BONES_PART 13036 +#define IDC_ED_BONES_PART 13037 +#define IDC_CHK_SKINPART 13038 +#define IDC_COLOR 13456 +#define IDC_EDIT 13490 +#define IDC_SPIN 13496 // Next default values for new objects // diff --git a/NifFurniture/NifFurniture.rc b/NifFurniture/NifFurniture.rc index 84545f4dbd180b9e1649b1c3705e7567c342f763..f26088c548a3d4be972b8ccddadf1d8792e64547 100755 --- a/NifFurniture/NifFurniture.rc +++ b/NifFurniture/NifFurniture.rc @@ -9,6 +9,12 @@ // #include "afxres.h" +#ifndef NIFPLUGINS +#define DLLNAME "NifFurniture.dlu" // DLL Name +#define DLLDESCRIPTION "3ds Max Nif Furniture Plugin" +#include "..\nifcommon\nifversion.rc" +#endif + ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -30,7 +36,6 @@ LANGUAGE LANG_GERMAN, SUBLANG_GERMAN 3 TEXTINCLUDE BEGIN "\r\n" - "\0" END #endif // APSTUDIO_INVOKED @@ -62,7 +67,12 @@ END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" - "\0" + "\r\n" + "#ifndef NIFPLUGINS\r\n" + "#define DLLNAME ""NifFurniture.dlu"" // DLL Name\r\n" + "#define DLLDESCRIPTION ""3ds Max Nif Furniture Plugin""\r\n" + "#include ""..\\nifcommon\\nifversion.rc"" \r\n" + "#endif\r\n" END #endif // APSTUDIO_INVOKED @@ -101,44 +111,6 @@ END #endif // APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,2,5,0 - PRODUCTVERSION 0,2,5,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "3ds Max Nif Furniture Plugin" - VALUE "FileVersion", "0, 2, 5, 0" - VALUE "InternalName", "NifFurniture.dlu" - VALUE "LegalCopyright", "Copyright (c) 2006, NIF File Format Library and Tools\r\nAll rights reserved." - VALUE "OriginalFilename", "NifFurniture.dlu" - VALUE "ProductName", "3ds Max Nif Furniture Plugin" - VALUE "ProductVersion", "0, 2, 5, 0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - ///////////////////////////////////////////////////////////////////////////// // // String Table diff --git a/NifFurniture/NifFurniture_VC80.vcproj b/NifFurniture/NifFurniture_VC80.vcproj index 632c21c8de35e2da89f3653e919bcb0f20942248..951f78f97faefe75821769184f345921bebdc677 100644 --- a/NifFurniture/NifFurniture_VC80.vcproj +++ b/NifFurniture/NifFurniture_VC80.vcproj @@ -614,6 +614,100 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.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=".\Debug\NifFurniture.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD " + Optimization="0" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\..\niflib;..\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE" + ExceptionHandling="2" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="0" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib manipsys.lib paramblk2.lib" + OutputFile="c:\3dsmax5\plugins\NifFurniture.dlo" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib" + ModuleDefinitionFile=".\NifFurniture.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" + /> + </Configuration> </Configurations> <References> </References> diff --git a/NifFurniture/resource.h b/NifFurniture/resource.h index 82df2862249320c6442fd1d71d06547d40b0bca7..2d821eb553135f56986418ee0d87f56bd4e97042 100755 --- a/NifFurniture/resource.h +++ b/NifFurniture/resource.h @@ -2,20 +2,20 @@ // Microsoft Visual C++ generated include file. // Used by NifFurniture.rc // -#define IDS_LIBDESCRIPTION 1 -#define IDS_CATEGORY 2 -#define IDS_CLASS_NAME 3 -#define IDS_PARAMS 4 -#define IDS_SPIN 5 -#define IDS_FURNITURE_MARKER 6 -#define IDD_PANEL 101 -#define IDC_CLOSEBUTTON 1000 -#define IDC_DOSTUFF 1000 -#define IDC_CB_TYPE 1001 -#define IDC_COLOR 1456 -#define IDC_EDIT 1490 -#define IDC_EDIT2 1491 -#define IDC_SPIN 1496 +#define IDC_CLOSEBUTTON 12000 +#define IDC_DOSTUFF 12000 +#define IDS_LIBDESCRIPTION 12001 +#define IDD_PANEL 12001 +#define IDC_CB_TYPE 12001 +#define IDS_CATEGORY 12002 +#define IDS_CLASS_NAME 12003 +#define IDS_PARAMS 12004 +#define IDS_SPIN 12005 +#define IDS_FURNITURE_MARKER 12006 +#define IDC_COLOR 12456 +#define IDC_EDIT 12490 +#define IDC_EDIT2 12491 +#define IDC_SPIN 12496 // Next default values for new objects // diff --git a/NifImport/MaxNifImport.rc b/NifImport/MaxNifImport.rc index b46336ffd8137720ed66642f1ab73a5b7a30b0e3..953153fc46d211c9be623ec59dd6c077c217b91f 100644 --- a/NifImport/MaxNifImport.rc +++ b/NifImport/MaxNifImport.rc @@ -9,6 +9,12 @@ // #include "afxres.h" +#ifndef NIFPLUGINS +#define DLLNAME "NifImport.dlu" // DLL Name +#define DLLDESCRIPTION "3ds Max Nif Importer" +#include "..\nifcommon\nifversion.rc" +#endif + ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -124,7 +130,12 @@ END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" - "\0" + "\r\n" + "#ifndef NIFPLUGINS\r\n" + "#define DLLNAME ""NifImport.dlu"" // DLL Name\r\n" + "#define DLLDESCRIPTION ""3ds Max Nif Importer""\r\n" + "#include ""..\\nifcommon\\nifversion.rc"" \r\n" + "#endif\r\n" END 3 TEXTINCLUDE @@ -136,44 +147,6 @@ END #endif // APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,2,5,0 - PRODUCTVERSION 0,2,5,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "3ds Max Nif Importer" - VALUE "FileVersion", "0, 2, 5, 0" - VALUE "InternalName", "MaxNifImport.dli" - VALUE "LegalCopyright", "Copyright (c) 2006, NIF File Format Library and Tools\r\nAll rights reserved." - VALUE "OriginalFilename", "MaxNifImport.dli" - VALUE "ProductName", "3ds Max Nif Importer" - VALUE "ProductVersion", "0, 2, 5, 0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - ///////////////////////////////////////////////////////////////////////////// // // String Table @@ -192,14 +165,3 @@ END ///////////////////////////////////////////////////////////////////////////// - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/NifImport/MaxNifImport_VC80.vcproj b/NifImport/MaxNifImport_VC80.vcproj index 1fa3a1679139016fc4c35adda079972f5dbc8b0d..a5627bd5a9c0a6b9829f8644a6e2e5337ab833bd 100644 --- a/NifImport/MaxNifImport_VC80.vcproj +++ b/NifImport/MaxNifImport_VC80.vcproj @@ -618,6 +618,106 @@ CommandLine="" /> </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(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=".\Debug\MaxNifImport.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD /Zm200" + Optimization="0" + InlineFunctionExpansion="2" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\..\niflib\include;..\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" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <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\MaxNifImport.dli" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib" + IgnoreDefaultLibraryNames="msvcrtd.lib" + ModuleDefinitionFile=".\MaxNifImport.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> </Configurations> <References> </References> @@ -685,6 +785,14 @@ UsePrecompiledHeader="1" /> </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> </File> </Filter> <Filter @@ -787,6 +895,14 @@ UsePrecompiledHeader="2" /> </FileConfiguration> + <FileConfiguration + Name="Debug - Max 5|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="2" + /> + </FileConfiguration> </File> <File RelativePath=".\MaxNifImport.h" diff --git a/NifImport/resource.h b/NifImport/resource.h index 066ecafac85cced43878275e8ca8f77aaa908cf8..3462e80a54feb062d55c534a3311e0b2982f3c7e 100644 --- a/NifImport/resource.h +++ b/NifImport/resource.h @@ -2,45 +2,44 @@ // Microsoft Visual C++ generated include file. // Used by MaxNifImport.rc // -#define IDS_LIBDESCRIPTION 1 -#define IDS_CATEGORY 2 -#define IDS_CLASS_NAME 3 -#define IDS_PARAMS 4 -#define IDS_SPIN 5 -#define IDD_PANEL 101 -#define IDD_NIF_PANEL 101 -#define IDD_KF_PANEL 102 -#define IDC_CLOSEBUTTON 1000 -#define IDC_DOSTUFF 1000 -#define IDC_EDITHEIGHT 1001 -#define IDC_BUTTON1 1002 -#define IDC_BTN_BROWSE 1002 -#define IDC_CHK_BONES 1003 -#define IDC_CHK_FLIP_UV 1004 -#define IDC_CHK_FURN 1005 -#define IDC_ED_SKELETON 1006 -#define IDC_CHK_BIPED 1007 -#define IDC_CHK_LIGHTS 1008 -#define IDC_CHK_UPB 1009 -#define IDC_CHK_COLL 1010 -#define IDC_LBL_LINK 1011 -#define IDC_CHK_VCOLORS 1012 -#define IDC_CHK_SHOW_TEX 1013 -#define IDC_CB_GAME 1014 -#define IDC_CHK_IGNORE_ROOT 1015 -#define IDC_CB_USER_VERSION 1016 -#define IDC_CHK_LIGHTS2 1016 -#define IDC_CHK_AUTO_DETECT 1016 -#define IDC_CHK_SKIN 1017 -#define IDC_CHK_ANIMATION 1018 -#define IDC_CHK_AUTOSMOOTH 1019 -#define IDC_CHK_ILLEGAL 1020 -#define IDC_STC_SKELETON 1021 -#define IDC_CHK_REM_BONES 1022 -#define IDC_CHK_CLEARANIM 1023 -#define IDC_CHK_KEYNOTES 1024 -#define IDC_CHK_CAMERA 1025 -#define IDC_CHK_TIMETAGS 1026 +#define IDC_CLOSEBUTTON 10000 +#define IDS_LIBDESCRIPTION 10001 +#define IDC_EDITHEIGHT 10001 +#define IDS_CATEGORY 10002 +#define IDC_BUTTON1 10002 +#define IDC_BTN_BROWSE 10002 +#define IDS_CLASS_NAME 10003 +#define IDC_CHK_BONES 10003 +#define IDS_PARAMS 10004 +#define IDC_CHK_FLIP_UV 10004 +#define IDS_SPIN 10005 +#define IDC_CHK_FURN 10005 +#define IDD_PANEL 10006 +#define IDC_ED_SKELETON 10006 +#define IDD_NIF_PANEL 10007 +#define IDC_CHK_BIPED 10007 +#define IDD_KF_PANEL 10008 +#define IDC_CHK_LIGHTS 10008 +#define IDC_CHK_UPB 10009 +#define IDC_CHK_COLL 10010 +#define IDC_LBL_LINK 10011 +#define IDC_CHK_VCOLORS 10012 +#define IDC_CHK_SHOW_TEX 10013 +#define IDC_CB_GAME 10014 +#define IDC_CHK_IGNORE_ROOT 10015 +#define IDC_CB_USER_VERSION 10016 +#define IDC_CHK_LIGHTS2 10016 +#define IDC_CHK_AUTO_DETECT 10016 +#define IDC_CHK_SKIN 10017 +#define IDC_CHK_ANIMATION 10018 +#define IDC_CHK_AUTOSMOOTH 10019 +#define IDC_CHK_ILLEGAL 10020 +#define IDC_STC_SKELETON 10021 +#define IDC_CHK_REM_BONES 10022 +#define IDC_CHK_CLEARANIM 10023 +#define IDC_CHK_KEYNOTES 10024 +#define IDC_CHK_CAMERA 10025 +#define IDC_CHK_TIMETAGS 10026 // Next default values for new objects // diff --git a/NifPlugins/DllEntry.cpp b/NifPlugins/DllEntry.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ba1eb1effbf8e58657320b11cc9b2c4539fa6953 --- /dev/null +++ b/NifPlugins/DllEntry.cpp @@ -0,0 +1,164 @@ +/********************************************************************** + *< + FILE: DllEntry.cpp + + DESCRIPTION: Contains the Dll Entry stuff + + CREATED BY: tazpn (Theo) + + HISTORY: + + *> Copyright (c) 2006, All Rights Reserved. + **********************************************************************/ + +extern ClassDesc2* GetMaxNifImportDesc(); +extern ClassDesc2* GetNifExportDesc(); +extern ClassDesc2* GetNifPropsDesc(); +extern ClassDesc2* GetNifFurnitureDesc(); +extern ClassDesc2* GetKfExportDesc(); + +static void InitializeLibSettings(); + +HINSTANCE hInstance; +static int controlsInit = FALSE; +static int libVersion = VERSION_3DSMAX; +static int foundOlderReleaseConflict = -1; + +// This function is called by Windows when the DLL is loaded. This +// function may also be called many times during time critical operations +// like rendering. Therefore developers need to be careful what they +// do inside this function. In the code below, note how after the DLL is +// loaded the first time only a few statements are executed. + +BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) +{ + hInstance = hinstDLL; // Hang on to this DLL's instance handle. + + if (!controlsInit) { + controlsInit = TRUE; + InitCustomControls(hInstance); // Initialize MAX's custom controls + InitCommonControls(); // Initialize Win95 controls + } + if (fdwReason == DLL_PROCESS_ATTACH) + InitializeLibSettings(); + + return (TRUE); +} + +void InitializeLibSettings() +{ + Interface *gi = GetCOREInterface(); + TCHAR iniName[MAX_PATH]; + if (gi) { + LPCTSTR pluginDir = gi->GetDir(APP_PLUGCFG_DIR); + PathCombine(iniName, pluginDir, "MaxNifTools.ini"); + } else { + GetModuleFileName(NULL, iniName, _countof(iniName)); + if (LPTSTR fname = PathFindFileName(iniName)) + fname = NULL; + PathAddBackslash(iniName); + PathAppend(iniName, "plugcfg"); + PathAppend(iniName, "MaxNifTools.ini"); + } + libVersion = GetIniValue("MaxNifImport", "MaxSDKVersion", libVersion, iniName); + if (libVersion == 0) + libVersion = VERSION_3DSMAX; +} + +// This function returns a string that describes the DLL and where the user +// could purchase the DLL if they don't have it. +__declspec( dllexport ) const TCHAR* LibDescription() +{ + return TEXT("Niftools Max Plugins"); + //return GetString(IDS_LIBDESCRIPTION); +} + +static LPTSTR PathMerge(LPTSTR base, LPCTSTR file) +{ + PathRemoveFileSpec(base); + PathAppend(base, file); + return base; +} + +// This function returns the number of plug-in classes this DLL +//TODO: Must change this number when adding a new class +__declspec( dllexport ) int LibNumberClasses() +{ + // Has conflict exit now. + if (foundOlderReleaseConflict > 0) { + return 0; + } else if ( foundOlderReleaseConflict < 0 ) { + foundOlderReleaseConflict = 0; + + // Check for older releases + if ( NULL != GetModuleHandle("MaxNifImport.dli") + || NULL != GetModuleHandle("NifExport.dle") + || NULL != GetModuleHandle("NifFurniture.dlo") + || NULL != GetModuleHandle("NifProps.dlu") + ) + { + foundOlderReleaseConflict = 1; + } + else + { + // do more aggressive access search now in case we are loaded after them + TCHAR filename[MAX_PATH]; + GetModuleFileName(hInstance, filename, MAX_PATH); + + if (-1 != _taccess(PathMerge(filename, TEXT("MaxNifImport.dli")), 0)) + foundOlderReleaseConflict = 1; + else if (-1 != _taccess(PathMerge(filename, TEXT("NifExport.dle")), 0)) + foundOlderReleaseConflict = 1; + else if (-1 != _taccess(PathMerge(filename, TEXT("NifFurniture.dlo")), 0)) + foundOlderReleaseConflict = 1; + else if (-1 != _taccess(PathMerge(filename, TEXT("NifProps.dlu")), 0)) + foundOlderReleaseConflict = 1; + } + if (foundOlderReleaseConflict > 0) + { + ::MessageBox( NULL + , "An older release of the Niftools Max Plugins was found.\n\n" + "Please remove the following files from your 3dsmax\\plugins directory:\n" + "\tMaxNifImport.dli\n" + "\tNifExport.dle\n" + "\tNifFurniture.dlo\n" + "\tNifProps.dlu\n\n" + "The current version will be disabled." + , "Niftools Max Plugins" + , MB_ICONSTOP|MB_OK + ); + return 0; + } + } + return 4; +} + +// This function returns the number of plug-in classes this DLL +__declspec( dllexport ) ClassDesc* LibClassDesc(int i) +{ + switch(i) { + case 0: return GetMaxNifImportDesc(); + case 1: return GetNifExportDesc(); + case 2: return GetNifPropsDesc(); + case 3: return GetNifFurnitureDesc(); + //case 4: return GetKfExportDesc(); // Merged into NifExport. + default: return 0; + } +} + +TCHAR *GetString(int id) +{ + static TCHAR buf[256]; + + if (hInstance) + return LoadString(hInstance, id, buf, sizeof(buf)) ? buf : NULL; + return NULL; +} + +// This function returns a pre-defined constant indicating the version of +// the system under which it was compiled. It is used to allow the system +// to catch obsolete DLLs. +__declspec( dllexport ) ULONG LibVersion() +{ + return ULONG(libVersion); +} diff --git a/NifPlugins/NifPlugins.def b/NifPlugins/NifPlugins.def new file mode 100644 index 0000000000000000000000000000000000000000..40cf3482cda21f8880105d0417bb70740305f1b2 --- /dev/null +++ b/NifPlugins/NifPlugins.def @@ -0,0 +1,7 @@ +EXPORTS + LibDescription @1 + LibNumberClasses @2 + LibClassDesc @3 + LibVersion @4 +SECTIONS + .data READ WRITE diff --git a/NifPlugins/NifPlugins.rc b/NifPlugins/NifPlugins.rc new file mode 100644 index 0000000000000000000000000000000000000000..57c6ae2ad8c7cc496c632f2d661c54e135f2fd0d --- /dev/null +++ b/NifPlugins/NifPlugins.rc @@ -0,0 +1,73 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +#ifdef NIFPLUGINS +#define DLLNAME "NifPlugins.dlu" // DLL Name +#define DLLDESCRIPTION "3ds Max Nif Plugins" // DLL Description +#include "..\nifcommon\nifversion.rc" +#endif + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\r\n" + "#ifdef NIFPLUGINS\r\n" + "#define DLLNAME ""NifPlugins.dlu"" // DLL Name\r\n" + "#define DLLDESCRIPTION ""3ds Max Nif Plugins"" // DLL Description\r\n" + "#include ""..\\nifcommon\\nifversion.rc""\r\n" + "#endif\r\n" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/NifPlugins/pch.cpp b/NifPlugins/pch.cpp new file mode 100644 index 0000000000000000000000000000000000000000..376ac4c92d0f1b112c9a4ea0b1e86620baaded57 --- /dev/null +++ b/NifPlugins/pch.cpp @@ -0,0 +1,4 @@ +// Dummy file for creating precompiled headers +// The project contains the linke /FI"$(ProjectDir)pch.h" which automatically adds +// the header to the top of the file. +#include "pch.h" \ No newline at end of file diff --git a/NifPlugins/pch.h b/NifPlugins/pch.h new file mode 100644 index 0000000000000000000000000000000000000000..0d1912215535ccd98fcfeb832bb97db1d412d753 --- /dev/null +++ b/NifPlugins/pch.h @@ -0,0 +1,98 @@ +#pragma warning( disable:4800 ) + +#include <stdio.h> +#include <tchar.h> +#include <iomanip> +#include <cmath> +#include <iostream> +#include <fstream> +#include <string> +#include <map> +#include <exception> +#include <stdexcept> +#include <algorithm> +#include <functional> +#include <numeric> +#include <vector> +#include <list> +#include <map> +#include <deque> +#include <sstream> + +// _WIN32 will detect windows on most compilers +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <commctrl.h> +#include <shellapi.h> +#include <shlwapi.h> +#include <math.h> +#include <io.h> +#include <string.h> +#include <direct.h> +#include <commdlg.h> + +#ifndef ASSERT +#ifdef _DEBUG +#include <crtdbg.h> +#define ASSERT _ASSERTE +#else +#define ASSERT(exp) +#endif +#endif + +#include <Max.h> +#include "MAX_MemDirect.h" +#include <istdplug.h> +#include <iparamb2.h> +#include <iparamm2.h> +#ifdef USE_BIPED +# include <cs/BipedApi.h> +#endif +#include <plugapi.h> +#include <triobj.h> +#include <bitmap.h> +#include <modstack.h> +#include <iskin.h> +#include <strclass.h> +#include "objectParams.h" +#undef ALPHA_NONE + +#include "niflib.h" +#include "obj/NiObject.h" +#include "obj/NiNode.h" +#include "obj/NiTriShape.h" +#include "obj/NiTriShapeData.h" +#include "obj/NiTriStrips.h" +#include "obj/NiTriStripsData.h" +#include "obj/NiMaterialProperty.h" +#include "obj/NiTexturingProperty.h" +#include "obj/NiSourceTexture.h" +#include "obj/NiExtraData.h" +#include "obj/BSBound.h" +#include "obj/NiSkinData.h" +#include "obj/NiSkinInstance.h" +#include "obj/NiSkinPartition.h" +#include "obj/NiLight.h" +#include "obj/bhkCollisionObject.h" +#include "obj/bhkRigidBody.h" +#include "obj/bhkNiTriStripsShape.h" +#include "obj/bhkBoxShape.h" +#include "obj/bhkSphereShape.h" +#include "obj/bhkCapsuleShape.h" +#include "obj/NiMaterialProperty.h" +#include "obj/NiTexturingProperty.h" +#include "obj/NiSourceTexture.h" +#include "obj/BsxFlags.h" +#include "obj/NiStringExtraData.h" +#include "obj/bhkRigidBodyT.h" + +#include "niutils.h" +#include "AppSettings.h" + +// undef macros for tristripper +#undef max +#undef min +#include "NvTriStrip/NvTriStrip.h" +#include "TriStripper/tri_stripper.h" + +#include "NifPlugins.h" diff --git a/NifPlugins/resource.h b/NifPlugins/resource.h new file mode 100644 index 0000000000000000000000000000000000000000..9923b58ec5650ed8e22846dfd03c084b5049cbe4 --- /dev/null +++ b/NifPlugins/resource.h @@ -0,0 +1,15 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by NifPlugins.rc +// + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/NifPlugins_VC80.sln b/NifPlugins_VC80.sln index b1ec78f894fd30a15c84de112a25e85b2b426018..28cfd323c99f730f00c03f16b6084a0676c3c72d 100644 --- a/NifPlugins_VC80.sln +++ b/NifPlugins_VC80.sln @@ -1,31 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NifExport", "NifExport\NifExport_VC80.vcproj", "{E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}" - ProjectSection(ProjectDependencies) = postProject - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} = {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} = {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NifProps", "NifProps\NifProps_VC80.vcproj", "{520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}" - ProjectSection(ProjectDependencies) = postProject - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} = {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NifFurniture", "NifFurniture\NifFurniture_VC80.vcproj", "{746EF66A-D67C-4D9A-9A0D-697952E9FFCD}" - ProjectSection(ProjectDependencies) = postProject - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} = {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NIFlib", "..\niflib\niflib.vcproj", "{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MaxNifImport", "NifImport\MaxNifImport_VC80.vcproj", "{283FC287-9AF1-4F34-9B74-2376FE3C2FCD}" - ProjectSection(ProjectDependencies) = postProject - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} = {E29131BC-410F-4B9B-B48F-6EED5D3B68A4} - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} = {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NifCommon", "NifCommon\NifCommon_VC80.vcproj", "{E29131BC-410F-4B9B-B48F-6EED5D3B68A4}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{50B67748-0DFB-45B0-BF1F-E80135EE3823}" ProjectSection(SolutionItems) = preProject MaxNifPlugins_Readme.txt = MaxNifPlugins_Readme.txt @@ -34,8 +10,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution NifPlugins_Development_Readme.txt = NifPlugins_Development_Readme.txt EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NifPlugins", "NifPlugins_VC80.vcproj", "{466F2D3E-2663-4583-A05C-128683677617}" + ProjectSection(ProjectDependencies) = postProject + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} = {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug - Max 5|Win32 = Debug - Max 5|Win32 Debug - Max 6|Win32 = Debug - Max 6|Win32 Debug - Max 7|Win32 = Debug - Max 7|Win32 Debug - Max 8|Win32 = Debug - Max 8|Win32 @@ -44,78 +26,34 @@ Global Release - Max 8|Win32 = Release - Max 8|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 7|Win32.ActiveCfg = Release - Max 7|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 7|Win32.Build.0 = Release - Max 7|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 - {E7CB76AA-6113-46BA-8EBC-8AE1D2B81210}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 7|Win32.ActiveCfg = Release - Max 7|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 7|Win32.Build.0 = Release - Max 7|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 - {520EDC5D-6DCB-4D28-A858-7D5F5C7C7E9C}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 7|Win32.ActiveCfg = Release - Max 7|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 7|Win32.Build.0 = Release - Max 7|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 - {746EF66A-D67C-4D9A-9A0D-697952E9FFCD}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 5|Win32.ActiveCfg = Debug - PCH|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 5|Win32.Build.0 = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 6|Win32.ActiveCfg = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 6|Win32.Build.0 = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 7|Win32.ActiveCfg = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 7|Win32.Build.0 = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 8|Win32.ActiveCfg = Debug - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Max 8|Win32.Build.0 = Debug - PCH|Win32 - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 6|Win32.ActiveCfg = Release|Win32 - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 6|Win32.Build.0 = Release|Win32 - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 7|Win32.ActiveCfg = Release|Win32 - {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 7|Win32.Build.0 = Release|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 6|Win32.ActiveCfg = Release - PCH|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 6|Win32.Build.0 = Release - PCH|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 7|Win32.ActiveCfg = Release - PCH|Win32 + {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 7|Win32.Build.0 = Release - PCH|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 8|Win32.ActiveCfg = Release|Win32 {19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Max 8|Win32.Build.0 = Release|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 7|Win32.ActiveCfg = Release - Max 7|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 7|Win32.Build.0 = Release - Max 7|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 - {283FC287-9AF1-4F34-9B74-2376FE3C2FCD}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 7|Win32.ActiveCfg = Release - Max 7|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 7|Win32.Build.0 = Release - Max 7|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 - {E29131BC-410F-4B9B-B48F-6EED5D3B68A4}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 5|Win32.ActiveCfg = Debug - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 5|Win32.Build.0 = Debug - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 6|Win32.ActiveCfg = Debug - Max 6|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 6|Win32.Build.0 = Debug - Max 6|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 7|Win32.ActiveCfg = Debug - Max 7|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 7|Win32.Build.0 = Debug - Max 7|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 8|Win32.ActiveCfg = Debug - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Debug - Max 8|Win32.Build.0 = Debug - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 6|Win32.ActiveCfg = Release - Max 6|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 6|Win32.Build.0 = Release - Max 6|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 7|Win32.ActiveCfg = Release - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 7|Win32.Build.0 = Release - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 8|Win32.ActiveCfg = Release - Max 8|Win32 + {466F2D3E-2663-4583-A05C-128683677617}.Release - Max 8|Win32.Build.0 = Release - Max 8|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NifProps/NifProps.rc b/NifProps/NifProps.rc index 7bf0c0e928ab59e26a861022014b0c53956da7ba..7138fc9865897c2eb1beae5dca25259473dcbf9e 100755 --- a/NifProps/NifProps.rc +++ b/NifProps/NifProps.rc @@ -9,6 +9,12 @@ // #include "afxres.h" +#ifndef NIFPLUGINS +#define DLLNAME "NifProps.dlu" // DLL Name +#define DLLDESCRIPTION "3ds Max Nif Reactor Properites Plugin" +#include "..\nifcommon\nifversion.rc" +#endif + ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -30,7 +36,6 @@ LANGUAGE LANG_GERMAN, SUBLANG_GERMAN 3 TEXTINCLUDE BEGIN "\r\n" - "\0" END #endif // APSTUDIO_INVOKED @@ -62,7 +67,12 @@ END 2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" - "\0" + "\r\n" + "#ifndef NIFPLUGINS\r\n" + "#define DLLNAME ""NifProps.dlu"" // DLL Name\r\n" + "#define DLLDESCRIPTION ""3ds Max Nif Reactor Properites Plugin""\r\n" + "#include ""..\\nifcommon\\nifversion.rc"" \r\n" + "#endif\r\n" END #endif // APSTUDIO_INVOKED @@ -353,44 +363,6 @@ BEGIN END -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,2,5,0 - PRODUCTVERSION 0,2,5,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "3ds Max Nif Reactor Properites Plugin" - VALUE "FileVersion", "0, 2, 5, 0" - VALUE "InternalName", "NifProps.dlu" - VALUE "LegalCopyright", "Copyright (c) 2006, NIF File Format Library and Tools\r\nAll rights reserved." - VALUE "OriginalFilename", "NifProps.dlu" - VALUE "ProductName", "3ds Max Nif Reactor Properites Plugin" - VALUE "ProductVersion", "0, 2, 5, 0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - ///////////////////////////////////////////////////////////////////////////// // // String Table diff --git a/NifProps/NifProps_VC80.vcproj b/NifProps/NifProps_VC80.vcproj index b2b9ed7027c7168765b4f2d68ccaca40424dc52f..4879a511b2f31972290a10c6066d82062b686b73 100644 --- a/NifProps/NifProps_VC80.vcproj +++ b/NifProps/NifProps_VC80.vcproj @@ -611,6 +611,99 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug - Max 5|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + 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=".\Debug\NifProps.tlb" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/LD " + Optimization="0" + AdditionalIncludeDirectories="C:\3dsmax5\maxsdk\include;..\..\niflib;..\NifCommon" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE" + ExceptionHandling="2" + RuntimeLibrary="1" + ForceConformanceInForLoopScope="false" + UsePrecompiledHeader="0" + WarningLevel="3" + SuppressStartupBanner="true" + DebugInformationFormat="3" + CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions="/MACHINE:I386" + AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib gup.lib paramblk2.lib" + OutputFile="c:\3dsmax5\plugins\NifProps.dlu" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories="C:\3dsmax5\maxsdk\lib" + ModuleDefinitionFile=".\NifProps.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" + /> + </Configuration> </Configurations> <References> </References> diff --git a/NifProps/resource.h b/NifProps/resource.h index fc3cc8a3db05d5889094b7265ef816acfa5bd0d6..dca7d86eae8011de5bc7422f796345f3db16c8de 100755 --- a/NifProps/resource.h +++ b/NifProps/resource.h @@ -2,67 +2,67 @@ // Microsoft Visual C++ generated include file. // Used by NifProps.rc // -#define IDS_LIBDESCRIPTION 1 -#define IDS_CATEGORY 2 -#define IDS_CLASS_NAME 3 -#define IDS_PARAMS 4 -#define IDS_SPIN 5 -#define IDS_ANIM_PARAMS 6 -#define IDD_PANEL 101 -#define IDD_ANIM_PANEL 102 -#define IDC_LBL_BSXFLAGS 1001 -#define IDC_ED_BSXFLAGS 1002 -#define IDC_ED_STRINGSEXTRA 1003 -#define IDC_LBL_STRINGSEXTRA 1004 -#define IDC_GRP_OBJECT 1005 -#define IDC_CHK_ISCOLL 1006 -#define IDC_GRP_HAVOK 1007 -#define IDC_HVK_BEGIN 1007 -#define IDC_LBL_MATERIAL 1008 -#define IDC_CB_MATERIAL 1009 -#define IDC_LBL_LAYER 1010 -#define IDC_CB_LAYER 1011 -#define IDC_LBL_CENTER 1012 -#define IDC_ED_CENTER_X 1490 -#define IDC_SP_CENTER_X 1491 -#define IDC_ED_CENTER_Y 1492 -#define IDC_SP_CENTER_Y 1493 -#define IDC_ED_CENTER_Z 1494 -#define IDC_SP_CENTER_Z 1495 -#define IDC_LBL_MASS 1496 -#define IDC_ED_MASS 1497 -#define IDC_SP_MASS 1498 -#define IDC_LBL_FRICTION 1499 -#define IDC_ED_FRICTION 1500 -#define IDC_SP_FRICTION 1501 -#define IDC_LBL_RESTITUTION 1502 -#define IDC_ED_RESTITUTION 1503 -#define IDC_SP_RESTITUTION 1504 -#define IDC_LBL_MAX_LINEAR_VELOCITY 1505 -#define IDC_ED_MAX_LINEAR_VELOCITY 1506 -#define IDC_SP_MAX_LINEAR_VELOCITY 1507 -#define IDC_LBL_MAX_ANGULAR_VELOCITY 1508 -#define IDC_ED_MAX_ANGULAR_VELOCITY 1509 -#define IDC_SP_MAX_ANGULAR_VELOCITY 1510 -#define IDC_LBL_PENETRATION_DEPTH 1511 -#define IDC_ED_PENETRATION_DEPTH 1512 -#define IDC_SP_PENETRATION_DEPTH 1513 -#define IDC_LBL_LINEAR_DAMPING 1514 -#define IDC_ED_LINEAR_DAMPING 1515 -#define IDC_SP_LINEAR_DAMPING 1516 -#define IDC_LBL_ANGULAR_DAMPING 1517 -#define IDC_ED_ANGULAR_DAMPING 1518 -#define IDC_SP_ANGULAR_DAMPING 1519 -#define IDC_LBL_MOTION_SYSTEM 1520 -#define IDC_CB_MOTION_SYSTEM 1521 -#define IDC_LBL_QUALITY_TYPE 1522 -#define IDC_CB_QUALITY_TYPE 1523 -#define IDC_HVK_END 1523 -#define IDC_ANIM_BEGIN 1600 -#define IDC_GRP_ANIMATION 1600 -#define IDC_ED_ANIM_PRIORITY 1601 -#define IDC_SP_ANIM_PRIORITY 1602 -#define IDC_ANIM_END 1602 +#define IDS_LIBDESCRIPTION 11001 +#define IDD_PANEL 11001 +#define IDC_LBL_BSXFLAGS 11001 +#define IDS_CATEGORY 11002 +#define IDD_ANIM_PANEL 11002 +#define IDC_ED_BSXFLAGS 11002 +#define IDS_CLASS_NAME 11003 +#define IDC_ED_STRINGSEXTRA 11003 +#define IDS_PARAMS 11004 +#define IDC_LBL_STRINGSEXTRA 11004 +#define IDS_SPIN 11005 +#define IDC_GRP_OBJECT 11005 +#define IDS_ANIM_PARAMS 11006 +#define IDC_CHK_ISCOLL 11006 +#define IDC_GRP_HAVOK 11007 +#define IDC_HVK_BEGIN 11007 +#define IDC_LBL_MATERIAL 11008 +#define IDC_CB_MATERIAL 11009 +#define IDC_LBL_LAYER 11010 +#define IDC_CB_LAYER 11011 +#define IDC_LBL_CENTER 11012 +#define IDC_ED_CENTER_X 11490 +#define IDC_SP_CENTER_X 11491 +#define IDC_ED_CENTER_Y 11492 +#define IDC_SP_CENTER_Y 11493 +#define IDC_ED_CENTER_Z 11494 +#define IDC_SP_CENTER_Z 11495 +#define IDC_LBL_MASS 11496 +#define IDC_ED_MASS 11497 +#define IDC_SP_MASS 11498 +#define IDC_LBL_FRICTION 11499 +#define IDC_ED_FRICTION 11500 +#define IDC_SP_FRICTION 11501 +#define IDC_LBL_RESTITUTION 11502 +#define IDC_ED_RESTITUTION 11503 +#define IDC_SP_RESTITUTION 11504 +#define IDC_LBL_MAX_LINEAR_VELOCITY 11505 +#define IDC_ED_MAX_LINEAR_VELOCITY 11506 +#define IDC_SP_MAX_LINEAR_VELOCITY 11507 +#define IDC_LBL_MAX_ANGULAR_VELOCITY 11508 +#define IDC_ED_MAX_ANGULAR_VELOCITY 11509 +#define IDC_SP_MAX_ANGULAR_VELOCITY 11510 +#define IDC_LBL_PENETRATION_DEPTH 11511 +#define IDC_ED_PENETRATION_DEPTH 11512 +#define IDC_SP_PENETRATION_DEPTH 11513 +#define IDC_LBL_LINEAR_DAMPING 11514 +#define IDC_ED_LINEAR_DAMPING 11515 +#define IDC_SP_LINEAR_DAMPING 11516 +#define IDC_LBL_ANGULAR_DAMPING 11517 +#define IDC_ED_ANGULAR_DAMPING 11518 +#define IDC_SP_ANGULAR_DAMPING 11519 +#define IDC_LBL_MOTION_SYSTEM 11520 +#define IDC_CB_MOTION_SYSTEM 11521 +#define IDC_LBL_QUALITY_TYPE 11522 +#define IDC_CB_QUALITY_TYPE 11523 +#define IDC_HVK_END 11523 +#define IDC_ANIM_BEGIN 11600 +#define IDC_GRP_ANIMATION 11600 +#define IDC_ED_ANIM_PRIORITY 11601 +#define IDC_SP_ANIM_PRIORITY 11602 +#define IDC_ANIM_END 11602 // Next default values for new objects //