Home | nevrax.com |
|
register_3d.cppGo to the documentation of this file.00001 00007 /* Copyright, 2000 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #include "std3d.h" 00027 00028 00029 #include "3d/register_3d.h" 00030 #include "3d/texture_font.h" 00031 #include "3d/texture_file.h" 00032 #include "3d/texture_blank.h" 00033 #include "3d/texture_mem.h" 00034 #include "3d/texture_grouped.h" 00035 #include "3d/texture_cube.h" 00036 #include "3d/mesh.h" 00037 #include "3d/mesh_multi_lod.h" 00038 #include "3d/skeleton_shape.h" 00039 #include "3d/track_keyframer.h" 00040 #include "3d/ps_util.h" 00041 #include "3d/mesh_mrm.h" 00042 #include "3d/flare_shape.h" 00043 #include "3d/water_shape.h" 00044 #include "3d/seg_remanence_shape.h" 00045 #include "3d/texture_bump.h" 00046 #include "3d/texture_blend.h" 00047 #include "3d/texture_multi_file.h" 00048 #include "3d/meshvp_wind_tree.h" 00049 #include "3d/meshvp_per_pixel_light.h" 00050 #include "3d/track_sampled_quat.h" 00051 #include "3d/track_sampled_vector.h" 00052 00053 00054 00055 00056 00057 namespace NL3D 00058 { 00059 00060 00061 //**************************************************************************** 00062 void registerSerial3d() 00063 { 00064 static bool bInitialized=false; 00065 if (!bInitialized) 00066 { 00067 // Textures. 00068 NLMISC_REGISTER_CLASS(CTextureFile); 00069 NLMISC_REGISTER_CLASS(CTextureBlank); 00070 NLMISC_REGISTER_CLASS(CTextureMem); 00071 NLMISC_REGISTER_CLASS(CTextureFont); 00072 NLMISC_REGISTER_CLASS(CTextureGrouped); 00073 NLMISC_REGISTER_CLASS(CTextureCube); 00074 NLMISC_REGISTER_CLASS(CTextureBump); 00075 NLMISC_REGISTER_CLASS(CTextureBlend); 00076 NLMISC_REGISTER_CLASS(CTextureMultiFile); 00077 00078 00079 00080 // Track 00081 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBFloat); 00082 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBVector); 00083 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBQuat); 00084 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBInt); 00085 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBRGBA); 00086 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierFloat); 00087 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierVector); 00088 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierQuat); 00089 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierInt); 00090 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierRGBA); 00091 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearFloat); 00092 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearVector); 00093 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearQuat); 00094 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearInt); 00095 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearRGBA); 00096 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstFloat); 00097 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstVector); 00098 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstQuat); 00099 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstInt); 00100 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstString); 00101 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstBool); 00102 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstRGBA); 00103 NLMISC_REGISTER_CLASS(CTrackDefaultFloat); 00104 NLMISC_REGISTER_CLASS(CTrackDefaultVector); 00105 NLMISC_REGISTER_CLASS(CTrackDefaultQuat); 00106 NLMISC_REGISTER_CLASS(CTrackDefaultInt); 00107 NLMISC_REGISTER_CLASS(CTrackDefaultString); 00108 NLMISC_REGISTER_CLASS(CTrackDefaultBool); 00109 NLMISC_REGISTER_CLASS(CTrackDefaultRGBA); 00110 NLMISC_REGISTER_CLASS(CTrackSampledQuat); 00111 NLMISC_REGISTER_CLASS(CTrackSampledVector); 00112 00113 // Particle system 00114 CPSUtil::registerSerialParticleSystem(); 00115 00116 // Don't register CTextureCroos,, since local, and not designed to be serialised. 00117 00118 // Shapes. 00119 NLMISC_REGISTER_CLASS(CMesh); 00120 NLMISC_REGISTER_CLASS(CMeshGeom); 00121 NLMISC_REGISTER_CLASS(CSkeletonShape); 00122 NLMISC_REGISTER_CLASS(CMeshMRM); 00123 NLMISC_REGISTER_CLASS(CMeshMRMGeom); 00124 NLMISC_REGISTER_CLASS(CMeshMultiLod); 00125 NLMISC_REGISTER_CLASS(CFlareShape); 00126 NLMISC_REGISTER_CLASS(CWaterShape); 00127 NLMISC_REGISTER_CLASS(CWaveMakerShape); 00128 NLMISC_REGISTER_CLASS(CSegRemanenceShape); 00129 00130 // Shapes VPs. 00131 NLMISC_REGISTER_CLASS(CMeshVPWindTree); 00132 NLMISC_REGISTER_CLASS(CMeshVPPerPixelLight); 00133 00134 00135 bInitialized=true; 00136 } 00137 } 00138 00139 00140 } // NL3D |