From 71c2a27d871fdc3a39fd7bb20d490929eea44858 Mon Sep 17 00:00:00 2001 From: Josh Yelon Date: Sat, 27 Aug 2005 02:29:33 +0000 Subject: [PATCH] Updated max importer to use set_coordinate_system --- doc/makepanda/makepanda.py | 52 ++--- pandatool/src/maxegg/maxEggLoader.cxx | 40 ++-- pandatool/src/maxprogs/maxEggImport.cxx | 269 ++++++++++++++++++++++++ pandatool/src/maxprogs/maxEggImport.def | 7 + pandatool/src/maxprogs/maxImportRes.h | 21 ++ pandatool/src/maxprogs/maxImportRes.obj | Bin 0 -> 1332 bytes pandatool/src/maxprogs/maxImportRes.rc | 122 +++++++++++ 7 files changed, 458 insertions(+), 53 deletions(-) create mode 100755 pandatool/src/maxprogs/maxEggImport.cxx create mode 100755 pandatool/src/maxprogs/maxEggImport.def create mode 100755 pandatool/src/maxprogs/maxImportRes.h create mode 100755 pandatool/src/maxprogs/maxImportRes.obj create mode 100755 pandatool/src/maxprogs/maxImportRes.rc diff --git a/doc/makepanda/makepanda.py b/doc/makepanda/makepanda.py index 158e672279..06b52f6528 100755 --- a/doc/makepanda/makepanda.py +++ b/doc/makepanda/makepanda.py @@ -4003,6 +4003,7 @@ for VER in ["5","6","65"]: IPATH=['pandatool/src/mayaegg', 'pandatool/src/maya'] OPTS=['MAYA'+VER, 'NSPR'] CopyAllHeaders(IPATH[0]) + CompileC(ipath=IPATH, opts=OPTS, src='mayaEggLoader.cxx', obj='mayaegg'+VER+'_loader.obj') CompileC(ipath=IPATH, opts=OPTS, src='mayaegg_composite1.cxx', obj='mayaegg'+VER+'_composite1.obj') CompileLIB(lib='libmayaegg'+VER+'.lib', obj=[ 'mayaegg'+VER+'_composite1.obj' ]) @@ -4010,13 +4011,14 @@ for VER in ["5","6","65"]: # DIRECTORY: pandatool/src/maxegg/ # -for VER in ["5", "6", "7"]: +for VER in ["6", "7"]: if (OMIT.count("MAX"+VER)==0): IPATH=['pandatool/src/maxegg'] OPTS=['MAX'+VER, 'NSPR', "WINCOMCTL", "WINCOMDLG", "WINUSER"] CopyAllHeaders(IPATH[0], skip="ALL") CopyFile(PREFIX+"/tmp/maxEgg.obj", "pandatool/src/maxegg/maxEgg.obj") - CompileC(ipath=IPATH, opts=OPTS, src='maxegg_composite1.cxx',obj='maxegg'+VER+'_composite1.obj') + CompileC(ipath=IPATH, opts=OPTS+["MSFORSCOPE"], src='maxEggLoader.cxx', obj='maxegg'+VER+'_loader.obj') + CompileC(ipath=IPATH, opts=OPTS, src='maxegg_composite1.cxx', obj='maxegg'+VER+'_composite1.obj') CompileLink(opts=OPTS, dll='maxegg'+VER+'.dlo', ldef="pandatool/src/maxegg/maxEgg.def", obj=[ 'maxegg'+VER+'_composite1.obj', 'maxEgg.obj', @@ -4034,19 +4036,18 @@ for VER in ["5", "6", "7"]: # -# DIRECTORY: pandatool/src/maxeggimport/ +# DIRECTORY: pandatool/src/maxprogs/ # -for VER in ["7"]: +for VER in ["6", "7"]: if (OMIT.count("MAX"+VER)==0): - IPATH=['pandatool/src/maxeggimport'] + IPATH=['pandatool/src/maxprogs'] OPTS=['MAX'+VER, 'NSPR', "WINCOMCTL", "WINCOMDLG", "WINUSER", "MSFORSCOPE"] CopyAllHeaders(IPATH[0]) - CopyFile(PREFIX+"/tmp/maxImportRes.obj", "pandatool/src/maxeggimport/maxImportRes.obj") - CompileC(ipath=IPATH, opts=OPTS, src='maxEggLoader.cxx',obj='maxeggimport'+VER+'_maxeggloader.obj') + CopyFile(PREFIX+"/tmp/maxImportRes.obj", "pandatool/src/maxprogs/maxImportRes.obj") CompileC(ipath=IPATH, opts=OPTS, src='maxEggImport.cxx',obj='maxeggimport'+VER+'_maxeggimport.obj') - CompileLink(opts=OPTS, dll='maxeggimport'+VER+'.dle', ldef="pandatool/src/maxeggimport/maxEggImport.def", obj=[ - 'maxeggimport'+VER+'_maxeggloader.obj', + CompileLink(opts=OPTS, dll='maxeggimport'+VER+'.dle', ldef="pandatool/src/maxprogs/maxEggImport.def", obj=[ + 'maxegg'+VER+'_loader.obj', 'maxeggimport'+VER+'_maxeggimport.obj', 'maxImportRes.obj', 'libpandaegg.dll', @@ -4057,28 +4058,6 @@ for VER in ["7"]: 'libpystub.dll' ]) -# -# DIRECTORY: pandatool/src/mayaeggimport/ -# - -for VER in ["6"]: - if (OMIT.count("MAYA"+VER)==0): - IPATH=['pandatool/src/mayaeggimport'] - OPTS=['MAYA'+VER, 'NSPR', 'BUILDING_MISC'] - CopyAllHeaders(IPATH[0]) - CompileC(ipath=IPATH, opts=OPTS, src='mayaEggImport.cxx',obj='mayaeggimport'+VER+'_mayaeggimport.obj') - CompileC(ipath=IPATH, opts=OPTS, src='mayaEggLoader.cxx',obj='mayaeggimport'+VER+'_mayaeggloader.obj') - CompileLink(opts=OPTS, dll='mayaeggimport'+VER+'.mll', obj=[ - 'mayaeggimport'+VER+'_mayaeggimport.obj', - 'mayaeggimport'+VER+'_mayaeggloader.obj', - 'libpandaegg.dll', - 'libpanda.dll', - 'libpandaexpress.dll', - 'libdtoolconfig.dll', - 'libdtool.dll', - 'libpystub.dll' - ]) - # # DIRECTORY: pandatool/src/vrml/ # @@ -4191,6 +4170,17 @@ for VER in ["5","6","65"]: IPATH=['pandatool/src/mayaprogs', 'pandatool/src/maya', 'pandatool/src/mayaegg', 'pandatool/src/cvscopy'] OPTS=['BUILDING_MISC', 'MAYA'+VER, 'NSPR'] + CompileC(ipath=IPATH, opts=OPTS, src='mayaEggImport.cxx',obj='mayaprogs'+VER+'_mayaeggimport.obj') + CompileLink(opts=OPTS, dll='mayaeggimport'+VER+'.mll', obj=[ + 'mayaprogs'+VER+'_mayaeggimport.obj', + 'mayaegg'+VER+'_loader.obj', + 'libpandaegg.dll', + 'libpanda.dll', + 'libpandaexpress.dll', + 'libdtoolconfig.dll', + 'libdtool.dll', + 'libpystub.dll' + ]) CompileC(ipath=IPATH, opts=OPTS, src='config_mayaloader.cxx', obj='mayaloader'+VER+'_config_mayaloader.obj') CompileLink(dll='libmayaloader'+VER+'.dll', opts=['ADVAPI', 'NSPR', 'MAYA'+VER], obj=[ 'mayaloader'+VER+'_config_mayaloader.obj', diff --git a/pandatool/src/maxegg/maxEggLoader.cxx b/pandatool/src/maxegg/maxEggLoader.cxx index df6ee5fe88..fa028db15d 100755 --- a/pandatool/src/maxegg/maxEggLoader.cxx +++ b/pandatool/src/maxegg/maxEggLoader.cxx @@ -80,16 +80,11 @@ public: JointTable _joint_tab; TexTable _tex_tab; int _next_tex; - CoordinateSystem _coord_sys; }; -Point3 ConvertCoordSys(CoordinateSystem sys, LVector3d vec) +Point3 MakeMaxPoint(LVector3d vec) { - if (sys == CS_yup_right) { - return Point3(vec[0], -vec[2], vec[1]); - } else { - return Point3(vec[0], vec[1], vec[2]); - } + return Point3(vec[0], vec[1], vec[2]); } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -156,7 +151,7 @@ public: LVector3d GetPos(void) { return _trans.get_row3(3); } MaxEggJoint *ChooseBestChild(LVector3d dir); void ChooseEndPos(double thickness); - void CreateMaxBone(CoordinateSystem sys); + void CreateMaxBone(void); }; void MaxEggJoint::GetRotation(LVector3d &xv, LVector3d &yv, LVector3d &zv) @@ -260,16 +255,16 @@ void MaxEggJoint::ChooseEndPos(double thickness) _perp.normalize(); } -void MaxEggJoint::CreateMaxBone(CoordinateSystem sys) +void MaxEggJoint::CreateMaxBone(void) { LVector3d rxv,ryv,rzv; GetRotation(rxv, ryv, rzv); - Point3 xv(ConvertCoordSys(sys, rxv)); - Point3 yv(ConvertCoordSys(sys, ryv)); - Point3 zv(ConvertCoordSys(sys, rzv)); - Point3 pos(ConvertCoordSys(sys, GetPos())); - Point3 endpos(ConvertCoordSys(sys, _endpos)); - Point3 tzv(ConvertCoordSys(sys, _perp)); + Point3 xv(MakeMaxPoint(rxv)); + Point3 yv(MakeMaxPoint(ryv)); + Point3 zv(MakeMaxPoint(rzv)); + Point3 pos(MakeMaxPoint(GetPos())); + Point3 endpos(MakeMaxPoint(_endpos)); + Point3 tzv(MakeMaxPoint(_perp)); Point3 fwd = endpos - pos; double len = fwd.Length(); @@ -373,7 +368,7 @@ public: TVertTable _tvert_tab; CVertTable _cvert_tab; - int GetVert(EggVertex *vert, EggGroup *context, CoordinateSystem sys); + int GetVert(EggVertex *vert, EggGroup *context); int GetTVert(TexCoordd uv); int GetCVert(Colorf col); int AddFace(int v0, int v1, int v2, int tv0, int tv1, int tv2, int cv0, int cv1, int cv2, int tex); @@ -382,7 +377,7 @@ public: #define CTRLJOINT_DEFORM ((EggGroup*)((char*)(-1))) -int MaxEggMesh::GetVert(EggVertex *vert, EggGroup *context, CoordinateSystem sys) +int MaxEggMesh::GetVert(EggVertex *vert, EggGroup *context) { MaxEggVertex vtx; vtx._pos = vert->get_pos3(); @@ -410,7 +405,7 @@ int MaxEggMesh::GetVert(EggVertex *vert, EggGroup *context, CoordinateSystem sys } vtx._index = _vert_count++; _vert_tab.insert(vtx); - _mesh->setVert(vtx._index, ConvertCoordSys(sys, vtx._pos)); + _mesh->setVert(vtx._index, MakeMaxPoint(vtx._pos)); return vtx._index; } @@ -600,7 +595,7 @@ void MaxEggLoader::TraverseEggNode(EggNode *node, EggGroup *context) EggVertex *vtx = (*ci); EggVertexPool *pool = poly->get_pool(); TexCoordd uv = vtx->get_uv(); - vertIndices.push_back(mesh->GetVert(vtx, context, _coord_sys)); + vertIndices.push_back(mesh->GetVert(vtx, context)); tvertIndices.push_back(mesh->GetTVert(uv * uvtrans)); cvertIndices.push_back(mesh->GetCVert(vtx->get_color())); } @@ -640,12 +635,13 @@ bool MaxEggLoader::ConvertEggData(EggData *data, bool merge, bool model, bool an MeshIterator ci; JointIterator ji; TexIterator ti; - + + data->set_coordinate_system(CS_zup_right); + SuspendAnimate(); SuspendSetKeyMode(); AnimateOff(); _next_tex = 0; - _coord_sys = data->get_coordinate_system(); TraverseEggNode(data, NULL); @@ -671,7 +667,7 @@ bool MaxEggLoader::ConvertEggData(EggData *data, bool merge, bool model, bool an for (ji = _joint_tab.begin(); ji != _joint_tab.end(); ++ji) { MaxEggJoint *joint = *ji; joint->ChooseEndPos(thickness); - joint->CreateMaxBone(_coord_sys); + joint->CreateMaxBone(); } for (ci = _mesh_tab.begin(); ci != _mesh_tab.end(); ++ci) { diff --git a/pandatool/src/maxprogs/maxEggImport.cxx b/pandatool/src/maxprogs/maxEggImport.cxx new file mode 100755 index 0000000000..ca164461df --- /dev/null +++ b/pandatool/src/maxprogs/maxEggImport.cxx @@ -0,0 +1,269 @@ +// Filename: maxEggImport.cxx +// Created by: jyelon (15Jul05) +// +//////////////////////////////////////////////////////////////////// +// +// PANDA 3D SOFTWARE +// Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved +// +// All use of this software is subject to the terms of the Panda 3d +// Software license. You should have received a copy of this license +// along with this source code; you will also find a current copy of +// the license at http://etc.cmu.edu/panda3d/docs/license/ . +// +// To contact the maintainers of this program write to +// panda3d-general@lists.sourceforge.net . +// +//////////////////////////////////////////////////////////////////// +// +// This is the wrapper code for the max importer plugin. +// It includes: +// +// - user interface dialogs and popups +// - plugin initialization/registration +// +// It does not include the actual code to traverse the EggData. +// +//////////////////////////////////////////////////////////////////// + +// MAX includes +#include "maxEggLoader.h" +#include "Max.h" +#include "maxImportRes.h" +#include "istdplug.h" + +// panda includes. +#include "notifyCategoryProxy.h" + +#include +#include + +class MaxEggImporter : public SceneImport +{ +public: + // GUI-related methods + MaxEggImporter(); + ~MaxEggImporter(); + int ExtCount(); // Number of extensions supported + const TCHAR * Ext(int n); // Extension #n (i.e. "EGG") + const TCHAR * LongDesc(); // Long ASCII description (i.e. "Egg Importer") + const TCHAR * ShortDesc(); // Short ASCII description (i.e. "Egg") + const TCHAR * AuthorName(); // ASCII Author name + const TCHAR * CopyrightMessage();// ASCII Copyright message + const TCHAR * OtherMessage1(); // Other message #1 + const TCHAR * OtherMessage2(); // Other message #2 + unsigned int Version(); // Version number * 100 (i.e. v3.01 = 301) + void ShowAbout(HWND hWnd); // Show DLL's "About..." box + int DoImport(const TCHAR *name,ImpInterface *ei,Interface *i, BOOL suppressPrompts); + +public: + // GUI-related fields + static BOOL _merge; + static BOOL _importmodel; + static BOOL _importanim; +}; + +BOOL MaxEggImporter::_merge = TRUE; +BOOL MaxEggImporter::_importmodel = TRUE; +BOOL MaxEggImporter::_importanim = FALSE; + +MaxEggImporter::MaxEggImporter() +{ +} + +MaxEggImporter::~MaxEggImporter() +{ +} + +int MaxEggImporter::ExtCount() +{ + // Number of different extensions handled by this importer. + return 1; +} + +const TCHAR * MaxEggImporter::Ext(int n) +{ + // Fetch the extensions handled by this importer. + switch(n) { + case 0: return _T("egg"); + default: return _T(""); + } +} + +const TCHAR * MaxEggImporter::LongDesc() +{ + return _T("Panda3D Egg Importer"); +} + +const TCHAR * MaxEggImporter::ShortDesc() +{ + return _T("Panda3D Egg"); +} + +const TCHAR * MaxEggImporter::AuthorName() +{ + return _T("Joshua Yelon"); +} + +const TCHAR * MaxEggImporter::CopyrightMessage() +{ + return _T("Copyight (c) 2005 Josh Yelon"); +} + +const TCHAR * MaxEggImporter::OtherMessage1() +{ + return _T(""); +} + +const TCHAR * MaxEggImporter::OtherMessage2() +{ + return _T(""); +} + +unsigned int MaxEggImporter::Version() +{ + return 100; +} + +static BOOL CALLBACK AboutBoxDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) { + case WM_INITDIALOG: + CenterWindow(hWnd, GetParent(hWnd)); + break; + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + EndDialog(hWnd, 1); + break; + } + break; + default: + return FALSE; + } + return TRUE; +} + +void MaxEggImporter::ShowAbout(HWND hWnd) +{ + DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), + hWnd, AboutBoxDlgProc, 0); +} + + +static BOOL CALLBACK ImportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + MaxEggImporter *imp = (MaxEggImporter*)GetWindowLong(hWnd,GWL_USERDATA); + switch (msg) { + case WM_INITDIALOG: + imp = (MaxEggImporter*)lParam; + SetWindowLong(hWnd,GWL_USERDATA,lParam); + CenterWindow(hWnd, GetParent(hWnd)); + CheckDlgButton(hWnd, IDC_MERGE, imp->_merge); + CheckDlgButton(hWnd, IDC_IMPORTMODEL, imp->_importmodel); + CheckDlgButton(hWnd, IDC_IMPORTANIM, imp->_importanim); + break; + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + imp->_merge = IsDlgButtonChecked(hWnd, IDC_MERGE); + imp->_importmodel = IsDlgButtonChecked(hWnd, IDC_IMPORTMODEL); + imp->_importanim = IsDlgButtonChecked(hWnd, IDC_IMPORTANIM); + EndDialog(hWnd, 1); + break; + case IDCANCEL: + EndDialog(hWnd, 0); + break; + } + break; + default: + return FALSE; + } + return TRUE; +} + +int MaxEggImporter::DoImport(const TCHAR *name,ImpInterface *ii,Interface *i, BOOL suppressPrompts) +{ + // Prompt the user with our dialogbox. + if (!DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_IMPORT_DLG), + i->GetMAXHWnd(), ImportDlgProc, (LPARAM)this)) { + return 1; + } + + std::ostringstream log; + Notify::ptr()->set_ostream_ptr(&log, false); + bool ok = MaxLoadEggFile(name, _merge ? true:false, _importmodel ? true:false, _importanim ? true:false); + string txt = log.str(); + if (txt != "") MessageBox(NULL, txt.c_str(), "Panda3D Importer", MB_OK); + else { + if (!ok) MessageBox(NULL, "Import Failed, unknown reason\n", "Panda3D Importer", MB_OK); + } + Notify::ptr()->set_ostream_ptr(NULL, false); + return 1; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Plugin Initialization +// +// The following code enables Max to load this DLL, get a list +// of the classes defined in this DLL, and provides a means for +// Max to create instances of those classes. +// +//////////////////////////////////////////////////////////////////////////////////////////////////// + +HINSTANCE hInstance; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL,ULONG fdwReason,LPVOID lpvReserved) +{ + static int controlsInit = FALSE; + hInstance = hinstDLL; + + if (!controlsInit) { + controlsInit = TRUE; + InitCustomControls(hInstance); + InitCommonControls(); + } + + return (TRUE); +} + +#define PANDAEGGIMP_CLASS_ID1 0x377193ab +#define PANDAEGGIMP_CLASS_ID2 0x897afe12 + +class MaxEggImporterClassDesc: public ClassDesc +{ +public: + int IsPublic() {return 1;} + void *Create(BOOL loading = FALSE) {return new MaxEggImporter;} + const TCHAR *ClassName() {return _T("MaxEggImporter");} + SClass_ID SuperClassID() {return SCENE_IMPORT_CLASS_ID;} + Class_ID ClassID() {return Class_ID(PANDAEGGIMP_CLASS_ID1,PANDAEGGIMP_CLASS_ID2);} + const TCHAR *Category() {return _T("Chrutilities");} +}; + +static MaxEggImporterClassDesc MaxEggImporterDesc; + +__declspec( dllexport ) const TCHAR* LibDescription() +{ + return _T("Panda3D Egg Importer"); +} + +__declspec( dllexport ) int LibNumberClasses() +{ + return 1; +} + +__declspec( dllexport ) ClassDesc* LibClassDesc(int i) +{ + switch(i) { + case 0: return &MaxEggImporterDesc; + default: return 0; + } +} + +__declspec( dllexport ) ULONG LibVersion() +{ + return VERSION_3DSMAX; +} + diff --git a/pandatool/src/maxprogs/maxEggImport.def b/pandatool/src/maxprogs/maxEggImport.def new file mode 100755 index 0000000000..40cf3482cd --- /dev/null +++ b/pandatool/src/maxprogs/maxEggImport.def @@ -0,0 +1,7 @@ +EXPORTS + LibDescription @1 + LibNumberClasses @2 + LibClassDesc @3 + LibVersion @4 +SECTIONS + .data READ WRITE diff --git a/pandatool/src/maxprogs/maxImportRes.h b/pandatool/src/maxprogs/maxImportRes.h new file mode 100755 index 0000000000..9619536508 --- /dev/null +++ b/pandatool/src/maxprogs/maxImportRes.h @@ -0,0 +1,21 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by maxImportRes.rc +// +#define IDD_PANEL 101 +#define IDD_ABOUTBOX 102 +#define IDD_IMPORT_DLG 103 +#define IDC_MERGE 1002 +#define IDC_IMPORTMODEL 1003 +#define IDC_IMPORTANIM 1004 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1020 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/pandatool/src/maxprogs/maxImportRes.obj b/pandatool/src/maxprogs/maxImportRes.obj new file mode 100755 index 0000000000000000000000000000000000000000..ff31dd0c37eb637bdde4f3bcd05a48161518aaa1 GIT binary patch literal 1332 zcmb7EO=}ZT6g@9vO`3uYSg0$RMHUuxNUKPfX=25qwIL}k#e7WS6lW&POlSp>;L3u3 z#9!dXMRDcIwfGY>|Dm4y-b|g;BK3y6k8{s^@7#OeyeG=S@{ezgH&=i%v?*uc_9mlh z$4r689DK+oXqlW64io!Ud(Cb>+i!25=}wvK6c*Ut z0H%L185J;OyGeY+zV(-1VUc-xDbzVL_)&^IJQvI7++5a{_%A}(5?hgKPER?|c7m@{ z$rJDiP2F#yhY%Aau&Jnv00Xvn@qqJfjQF#$10Q3uBC=ez<_usL9eO)@Rjfzi^>mba zbKNMYRs(mifos$Ps+nR>S2@oqw2IXF5moxd-d$QvnWbq`LqzQ^^?Gb=YIE_5zmRB| zkp!vsgiMb!pMJq?>~qv-)&p{dKf-IG&D3w=6{Y9%cvZ{)f~UH_Oz!?aZ^zXBue?!J z>limRN9roMm0SdjNaD|%MeZ_IaKJr(@?Hy9vJ^35$=D(Dk}wYv`-EteWm5Ddslqag=aRsX&}x$g$C~Mt&K;QZ4ygCiM$>6EBY8zFs%G zaNQP9^H|;P+1c6A^?vA&9d9sOdQQEfp+0oGiBqd7QVf!Riv+clyhihue}^RJmXepq id{r4U{{~SeIr0k4TeV%&CaC5>BkT7zAMt2|i0?NB#JQsY literal 0 HcmV?d00001 diff --git a/pandatool/src/maxprogs/maxImportRes.rc b/pandatool/src/maxprogs/maxImportRes.rc new file mode 100755 index 0000000000..c88a7bc71a --- /dev/null +++ b/pandatool/src/maxprogs/maxImportRes.rc @@ -0,0 +1,122 @@ +// Microsoft Visual C++ generated resource script. +// +#include "maxImportRes.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#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 + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_ABOUTBOX, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 176 + TOPMARGIN, 7 + BOTTOMMARGIN, 60 + END + + IDD_IMPORT_DLG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 187 + TOPMARGIN, 7 + BOTTOMMARGIN, 71 + END +END +#endif // APSTUDIO_INVOKED + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "maxImportRes.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUTBOX DIALOGEX 0, 0, 183, 67 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About Panda3D Egg Importer" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + DEFPUSHBUTTON "OK",IDOK,66,45,50,14 + CTEXT "Panda3D Egg Importer\n\nCarnegie Mellon\nEntertainment Technology Center", + IDC_STATIC,7,7,169,36 +END + +IDD_IMPORT_DLG DIALOGEX 0, 0, 194, 78 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Panda3D Egg Import" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + DEFPUSHBUTTON "OK",IDOK,137,10,50,14 + PUSHBUTTON "Cancel",IDCANCEL,137,30,50,14 + CONTROL "Merge with Current Scene",IDC_MERGE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,15,20,106,10 + GROUPBOX "Input Options",IDC_STATIC,5,7,126,64 + CONTROL "Import Model",IDC_IMPORTMODEL,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,15,41,73,10 + CONTROL "Import Animation",IDC_IMPORTANIM,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,15,54,73,10 +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED +