From d98511337d02ac8899d4e833043c04ca66551f17 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sat, 13 Aug 2011 23:36:37 +0200 Subject: [PATCH] Fixed: #1333 Support 3ds Max 2012 SDK. --- code/CMakeModules/Find3dsMaxSDK.cmake | 11 +++-- code/CMakeModules/FindFreeType.cmake | 2 +- .../nel/tools/3d/ligo/plugin_max/DllEntry.cpp | 3 ++ .../tools/3d/ligo/plugin_max/max_to_ligo.cpp | 7 +++- code/nel/tools/3d/ligo/plugin_max/script.cpp | 31 +++++++++----- .../3d/plugin_max/nel_export/DllEntry.cpp | 4 +- .../nel_export/nel_export_script.cpp | 7 +++- .../tools/3d/plugin_max/nel_export/std_afx.h | 31 +++++++++----- .../tools/3d/plugin_max/nel_mesh_lib/StdAfx.h | 7 +++- .../plugin_max/nel_mesh_lib/export_misc.cpp | 4 ++ .../plugin_max/nel_mesh_lib/export_script.cpp | 10 ++++- .../nel_patch_converter/DllEntry.cpp | 3 ++ .../plugin_max/nel_patch_converter/script.cpp | 40 +++++++++++++------ .../3d/plugin_max/nel_patch_edit/np_mods.cpp | 4 ++ .../3d/plugin_max/nel_patch_lib/rpo2nel.cpp | 7 +++- .../plugin_max/nel_patch_paint/DllEntry.cpp | 3 ++ .../nel_patch_paint/nel_patch_paint.h | 7 +++- .../nel_vertex_tree_paint/dllmain.cpp | 4 +- .../3d/plugin_max/tile_utility/DllEntry.cpp | 3 ++ 19 files changed, 143 insertions(+), 45 deletions(-) diff --git a/code/CMakeModules/Find3dsMaxSDK.cmake b/code/CMakeModules/Find3dsMaxSDK.cmake index 52c4cc011..ddec22f90 100644 --- a/code/CMakeModules/Find3dsMaxSDK.cmake +++ b/code/CMakeModules/Find3dsMaxSDK.cmake @@ -12,32 +12,35 @@ endif(MAXSDK_INCLUDE_DIR) find_path(MAXSDK_INCLUDE_DIR max.h PATHS + "$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/include" + "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/include" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/include" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/include" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/include" - "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include" ) find_path(MAXSDK_CS_INCLUDE_DIR bipexp.h PATHS + "$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/include/CS" + "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include/CS" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/include/CS" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/include/CS" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/include/CS" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/include/CS" - "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include/CS" ) MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME) FIND_LIBRARY(${MYLIBRARY} NAMES ${MYLIBRARYNAME} PATHS + "$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/lib" + "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/lib" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/lib" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/lib" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/lib" "$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/lib" - "$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/lib" - ) + ) ENDMACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME) FIND_3DS_LIBRARY(MAXSDK_CORE_LIBRARY core) diff --git a/code/CMakeModules/FindFreeType.cmake b/code/CMakeModules/FindFreeType.cmake index 0ba439fb9..b9d00d96a 100644 --- a/code/CMakeModules/FindFreeType.cmake +++ b/code/CMakeModules/FindFreeType.cmake @@ -41,7 +41,7 @@ IF(FREETYPE_ADDITIONAL_INCLUDE_DIR) ENDIF(FREETYPE_ADDITIONAL_INCLUDE_DIR) FIND_LIBRARY(FREETYPE_LIBRARY - NAMES freetype libfreetype freetype219 + NAMES freetype libfreetype freetype219 freetype246 PATHS $ENV{FREETYPE_DIR}/lib /usr/local/lib diff --git a/code/nel/tools/3d/ligo/plugin_max/DllEntry.cpp b/code/nel/tools/3d/ligo/plugin_max/DllEntry.cpp index 3cf88f4a7..ee9964566 100644 --- a/code/nel/tools/3d/ligo/plugin_max/DllEntry.cpp +++ b/code/nel/tools/3d/ligo/plugin_max/DllEntry.cpp @@ -18,6 +18,7 @@ #include "nel/misc/app_context.h" #include #include "../../plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.h" +#include extern ClassDesc2* GetLigoscapeDesc(); @@ -44,7 +45,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) if (!controlsInit) { controlsInit = TRUE; +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); // Initialize MAX's custom controls +#endif InitCommonControls(); // Initialize Win95 controls } diff --git a/code/nel/tools/3d/ligo/plugin_max/max_to_ligo.cpp b/code/nel/tools/3d/ligo/plugin_max/max_to_ligo.cpp index 7500b027b..eb4951991 100644 --- a/code/nel/tools/3d/ligo/plugin_max/max_to_ligo.cpp +++ b/code/nel/tools/3d/ligo/plugin_max/max_to_ligo.cpp @@ -17,7 +17,12 @@ #include // From MAXSDK -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +#else +# include +#endif #include "max_to_ligo.h" diff --git a/code/nel/tools/3d/ligo/plugin_max/script.cpp b/code/nel/tools/3d/ligo/plugin_max/script.cpp index 5d6381303..90050304f 100644 --- a/code/nel/tools/3d/ligo/plugin_max/script.cpp +++ b/code/nel/tools/3d/ligo/plugin_max/script.cpp @@ -19,17 +19,30 @@ #include // Various MAX and MXS includes -#include -#include -#include -#include -#include -#include -#include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif #include #include -#include // Visual #include diff --git a/code/nel/tools/3d/plugin_max/nel_export/DllEntry.cpp b/code/nel/tools/3d/plugin_max/nel_export/DllEntry.cpp index 61337b328..7e6ded529 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/DllEntry.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/DllEntry.cpp @@ -19,7 +19,7 @@ #include "nel/3d/register_3d.h" #include "nel/misc/app_context.h" #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" - +#include extern ClassDesc2* GetCNelExportDesc(); @@ -42,7 +42,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) if (!controlsInit) { controlsInit = TRUE; +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); // Initialize MAX's custom controls +#endif InitCommonControls(); // Initialize Win95 controls } diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp index 9218e73ce..d26af56ca 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp @@ -16,7 +16,12 @@ #include "std_afx.h" #include "nel_export.h" -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +#else +# include +#endif #include "../nel_mesh_lib/export_nel.h" #include "../nel_mesh_lib/export_appdata.h" diff --git a/code/nel/tools/3d/plugin_max/nel_export/std_afx.h b/code/nel/tools/3d/plugin_max/nel_export/std_afx.h index 326c0b9c1..099f2f882 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/std_afx.h +++ b/code/nel/tools/3d/plugin_max/nel_export/std_afx.h @@ -26,16 +26,29 @@ #include #include #undef STRICT -#include -#include -#include -#include -#include -#include -#include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif #include -#include #include #ifdef min #undef min diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h b/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h index 65b65651e..b3626b896 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h @@ -32,7 +32,12 @@ #include #include #include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +#else +# include +#endif //#include // Character Studio SDK include diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp index 0b2426758..a03beb000 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp @@ -260,7 +260,11 @@ Control* CExportNel::getControlerByName (Animatable& node, const char* sName) if (strcmp (paramDef.int_name, sName)==0) { // ok, return this subanim +#if MAX_VERSION_MAJOR >= 14 + return param->GetControllerByID(id); +#else return param->GetController(id); +#endif } } } diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_script.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_script.cpp index 6f1713683..7fd0ad150 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_script.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_script.cpp @@ -15,8 +15,14 @@ // along with this program. If not, see . #include "stdafx.h" -#include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +# include +#else +# include +# include +#endif #include "export_nel.h" #include "export_appdata.h" diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/DllEntry.cpp b/code/nel/tools/3d/plugin_max/nel_patch_converter/DllEntry.cpp index 22ae76790..50f249c31 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/DllEntry.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/DllEntry.cpp @@ -20,6 +20,7 @@ #include "nel/misc/debug.h" #include "nel/misc/app_context.h" #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" +#include extern ClassDesc2* GetPO2RPODesc(); extern ClassDesc* GetRPODesc(); @@ -58,7 +59,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) { // This method has been deprecated. controlsInit = TRUE; +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); // Initialize MAX's custom controls +#endif InitCommonControls(); // Initialize Win95 controls } return (TRUE); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp b/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp index b324c2cc6..1dfdc97f4 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp @@ -22,24 +22,38 @@ #define _CRT_SECURE_NO_DEPRECATE #include -#include -#include -// Various MAX and MXS includes -#include -#include -#include -#include -#include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +// Various MAX and MXS includes +# include +# include +# include +# include +# include +# include +// define the new primitives using macros from SDK +# include +#endif + #include #include #include #include -// define the new primitives using macros from SDK -#include #undef _CRT_SECURE_NO_DEPRECATE @@ -109,9 +123,9 @@ def_visible_primitive( set_tile_bank, "NelSetTileBank"); def_visible_primitive( export_zone, "ExportRykolZone"); def_visible_primitive( import_zone, "NeLImportZone"); -/* permettre l'acces ŕ auto/manual intrior edges +/* permettre l'acces Eauto/manual intrior edges faire une methode pour interfacer la fonction compute interior edge -donner un acces ŕ tiledmode/patchmode (on/off) +donner un acces Etiledmode/patchmode (on/off) faire un getselectedvertex faire un getselectedpatch faire un getselectedtile */ diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit/np_mods.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit/np_mods.cpp index c2696674a..8d7467a62 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit/np_mods.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit/np_mods.cpp @@ -17,6 +17,8 @@ #include #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" +#include + HINSTANCE hInstance; int controlsInit = FALSE; @@ -42,7 +44,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) controlsInit = TRUE; // jaguar controls +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); +#endif #ifdef OLD3DCONTROLS // initialize 3D controls diff --git a/code/nel/tools/3d/plugin_max/nel_patch_lib/rpo2nel.cpp b/code/nel/tools/3d/plugin_max/nel_patch_lib/rpo2nel.cpp index edf2f77e6..d99dc0f98 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_lib/rpo2nel.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_lib/rpo2nel.cpp @@ -18,7 +18,12 @@ // For MAX_RELEASE #include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +#else +# include +#endif #include "rpo.h" #include "nel/3d/zone.h" diff --git a/code/nel/tools/3d/plugin_max/nel_patch_paint/DllEntry.cpp b/code/nel/tools/3d/plugin_max/nel_patch_paint/DllEntry.cpp index a3578a0bc..b4b79da80 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_paint/DllEntry.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_paint/DllEntry.cpp @@ -3,6 +3,7 @@ #include "nel/misc/debug.h" #include "nel/misc/app_context.h" #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" +#include HINSTANCE hInstance; int controlsInit = FALSE; @@ -26,7 +27,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) controlsInit = TRUE; // jaguar controls +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); +#endif #ifdef OLD3DCONTROLS // initialize 3D controls diff --git a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.h b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.h index 944807aca..3563b4712 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.h +++ b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.h @@ -3,7 +3,12 @@ #include "resource.h" #include -#include +#include +#if MAX_VERSION_MAJOR >= 14 +# include +#else +# include +#endif #include "namesel.h" #include "nsclip.h" #include "sbmtlapi.h" diff --git a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/dllmain.cpp b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/dllmain.cpp index 4dc068eea..1f04fe088 100644 --- a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/dllmain.cpp +++ b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/dllmain.cpp @@ -1,6 +1,6 @@ #include "vertex_tree_paint.h" #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" - +#include HINSTANCE hInstance; @@ -18,7 +18,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) switch (fdwReason) { case DLL_PROCESS_ATTACH: +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); // Initialize MAX's custom controls +#endif InitCommonControls(); // Initialize Win95 controls break; } diff --git a/code/nel/tools/3d/plugin_max/tile_utility/DllEntry.cpp b/code/nel/tools/3d/plugin_max/tile_utility/DllEntry.cpp index d1c6c7d6b..26e2d14f8 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/DllEntry.cpp +++ b/code/nel/tools/3d/plugin_max/tile_utility/DllEntry.cpp @@ -20,6 +20,7 @@ #include "nel/misc/app_context.h" #include "../nel_3dsmax_shared/nel_3dsmax_shared.h" #include +#include extern ClassDesc2* GetTile_utilityDesc(); extern ClassDesc* GetRGBAddDesc(); @@ -46,7 +47,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) if (!controlsInit) { controlsInit = TRUE; +#if MAX_VERSION_MAJOR < 14 InitCustomControls(hInstance); // Initialize MAX's custom controls +#endif InitCommonControls(); // Initialize Win95 controls }