1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include "nel/3d/register_3d.h"
21 #include "nel/3d/texture_font.h"
22 #include "nel/3d/texture_file.h"
23 #include "nel/3d/texture_blank.h"
24 #include "nel/3d/texture_mem.h"
25 #include "nel/3d/texture_grouped.h"
26 #include "nel/3d/texture_cube.h"
27 #include "nel/3d/mesh.h"
28 #include "nel/3d/mesh_multi_lod.h"
29 #include "nel/3d/skeleton_shape.h"
30 #include "nel/3d/track_keyframer.h"
31 #include "nel/3d/ps_util.h"
32 #include "nel/3d/mesh_mrm.h"
33 #include "nel/3d/mesh_mrm_skinned.h"
34 #include "nel/3d/flare_shape.h"
35 #include "nel/3d/water_shape.h"
36 #include "nel/3d/seg_remanence_shape.h"
37 #include "nel/3d/texture_bump.h"
38 #include "nel/3d/texture_emboss.h"
39 #include "nel/3d/texture_blend.h"
40 #include "nel/3d/texture_multi_file.h"
41 #include "nel/3d/meshvp_wind_tree.h"
42 #include "nel/3d/meshvp_per_pixel_light.h"
43 #include "nel/3d/track_sampled_quat.h"
44 #include "nel/3d/track_sampled_vector.h"
45 #include "nel/3d/packed_zone.h"
56 // ****************************************************************************
57 void registerSerial3d()
59 static bool bInitialized
=false;
63 NLMISC_REGISTER_CLASS(CTextureFile
);
64 NLMISC_REGISTER_CLASS(CTextureBlank
);
65 NLMISC_REGISTER_CLASS(CTextureMem
);
66 NLMISC_REGISTER_CLASS(CTextureFont
);
67 NLMISC_REGISTER_CLASS(CTextureGrouped
);
68 NLMISC_REGISTER_CLASS(CTextureCube
);
69 NLMISC_REGISTER_CLASS(CTextureBump
);
70 NLMISC_REGISTER_CLASS(CTextureEmboss
);
71 NLMISC_REGISTER_CLASS(CTextureBlend
);
72 NLMISC_REGISTER_CLASS(CTextureMultiFile
);
77 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBFloat
);
78 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBVector
);
79 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBQuat
);
80 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBInt
);
81 NLMISC_REGISTER_CLASS(CTrackKeyFramerTCBRGBA
);
82 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierFloat
);
83 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierVector
);
84 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierQuat
);
85 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierInt
);
86 NLMISC_REGISTER_CLASS(CTrackKeyFramerBezierRGBA
);
87 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearFloat
);
88 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearVector
);
89 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearQuat
);
90 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearInt
);
91 NLMISC_REGISTER_CLASS(CTrackKeyFramerLinearRGBA
);
92 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstFloat
);
93 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstVector
);
94 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstQuat
);
95 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstInt
);
96 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstString
);
97 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstBool
);
98 NLMISC_REGISTER_CLASS(CTrackKeyFramerConstRGBA
);
99 NLMISC_REGISTER_CLASS(CTrackDefaultFloat
);
100 NLMISC_REGISTER_CLASS(CTrackDefaultVector
);
101 NLMISC_REGISTER_CLASS(CTrackDefaultQuat
);
102 NLMISC_REGISTER_CLASS(CTrackDefaultInt
);
103 NLMISC_REGISTER_CLASS(CTrackDefaultString
);
104 NLMISC_REGISTER_CLASS(CTrackDefaultBool
);
105 NLMISC_REGISTER_CLASS(CTrackDefaultRGBA
);
106 NLMISC_REGISTER_CLASS(CTrackSampledQuat
);
107 NLMISC_REGISTER_CLASS(CTrackSampledVector
);
110 CPSUtil::registerSerialParticleSystem();
112 // Don't register CTextureCroos,, since local, and not designed to be serialised.
115 NLMISC_REGISTER_CLASS(CMesh
);
116 NLMISC_REGISTER_CLASS(CMeshGeom
);
117 NLMISC_REGISTER_CLASS(CSkeletonShape
);
118 NLMISC_REGISTER_CLASS(CMeshMRM
);
119 NLMISC_REGISTER_CLASS(CMeshMRMGeom
);
120 NLMISC_REGISTER_CLASS(CMeshMRMSkinned
);
121 NLMISC_REGISTER_CLASS(CMeshMRMSkinnedGeom
);
122 NLMISC_REGISTER_CLASS(CMeshMultiLod
);
123 NLMISC_REGISTER_CLASS(CFlareShape
);
124 NLMISC_REGISTER_CLASS(CWaterShape
);
125 NLMISC_REGISTER_CLASS(CWaveMakerShape
);
126 NLMISC_REGISTER_CLASS(CSegRemanenceShape
);
129 NLMISC_REGISTER_CLASS(CMeshVPWindTree
);
130 NLMISC_REGISTER_CLASS(CMeshVPPerPixelLight
);
133 NLMISC_REGISTER_CLASS(CPackedZone16
);
134 NLMISC_REGISTER_CLASS(CPackedZone32
);