]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/picomodel/picomodules.c
add IQM format support into lib/picomodel
[xonotic/netradiant.git] / libs / picomodel / picomodules.c
index 060912f58c5333f508b284408024b5a9b6fd9626..406ee16f9ba1ef81d26cd98660defacd87d23aee 100644 (file)
@@ -1,92 +1,89 @@
-/* -----------------------------------------------------------------------------\r
-\r
-PicoModel Library\r
-\r
-Copyright (c) 2002, Randy Reddig & seaw0lf\r
-All rights reserved.\r
-\r
-Redistribution and use in source and binary forms, with or without modification,\r
-are permitted provided that the following conditions are met:\r
-\r
-Redistributions of source code must retain the above copyright notice, this list\r
-of conditions and the following disclaimer.\r
-\r
-Redistributions in binary form must reproduce the above copyright notice, this\r
-list of conditions and the following disclaimer in the documentation and/or\r
-other materials provided with the distribution.\r
-\r
-Neither the names of the copyright holders nor the names of its contributors may\r
-be used to endorse or promote products derived from this software without\r
-specific prior written permission.\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\r
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\r
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-\r
------------------------------------------------------------------------------ */\r
-\r
-\r
-\r
-/* marker */\r
-#define PICOMODULES_C\r
-\r
-\r
-\r
-/* dependencies */\r
-#include "picointernal.h"\r
-\r
-\r
-\r
-/* external modules */\r
-extern const picoModule_t picoModuleMD3;\r
-extern const picoModule_t picoModule3DS;\r
-extern const picoModule_t picoModuleASE;\r
-extern const picoModule_t picoModuleOBJ;\r
-extern const picoModule_t picoModuleMS3D;\r
-extern const picoModule_t picoModuleMDC;\r
-extern const picoModule_t picoModuleMD2;\r
-extern const picoModule_t picoModuleFM;\r
-extern const picoModule_t picoModuleLWO;\r
-\r
-\r
-\r
-/* list of all supported file format modules */\r
-const picoModule_t *picoModules[] =\r
-{\r
-       &picoModuleMD3,         /* quake3 arena md3 */\r
-       &picoModule3DS,         /* autodesk 3ds */\r
-       &picoModuleASE,         /* autodesk ase */\r
-       &picoModuleMS3D,        /* milkshape3d */\r
-       &picoModuleMDC,         /* return to castle wolfenstein mdc */\r
-       &picoModuleMD2,         /* quake2 md2 */\r
-       &picoModuleFM,          /* heretic2 fm */\r
-       &picoModuleOBJ,         /* wavefront object */\r
-       &picoModuleLWO,         /* lightwave object */\r
-       NULL                            /* arnold */\r
-};\r
-\r
-\r
-\r
-/*\r
-PicoModuleList()\r
-returns a pointer to the module list and optionally stores\r
-the number of supported modules in 'numModules'. Note that\r
-this param can be NULL when the count is not needed.\r
-*/\r
-\r
-const picoModule_t **PicoModuleList( int *numModules )\r
-{\r
-       /* get module count */\r
-       if( numModules != NULL )\r
-               for( (*numModules) = 0; picoModules[ *numModules ] != NULL; (*numModules)++ );\r
-       \r
-       /* return list of modules */\r
-       return (const picoModule_t**) picoModules;\r
-}\r
+/* -----------------------------------------------------------------------------
+
+   PicoModel Library
+
+   Copyright (c) 2002, Randy Reddig & seaw0lf
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without modification,
+   are permitted provided that the following conditions are met:
+
+   Redistributions of source code must retain the above copyright notice, this list
+   of conditions and the following disclaimer.
+
+   Redistributions in binary form must reproduce the above copyright notice, this
+   list of conditions and the following disclaimer in the documentation and/or
+   other materials provided with the distribution.
+
+   Neither the names of the copyright holders nor the names of its contributors may
+   be used to endorse or promote products derived from this software without
+   specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+   ----------------------------------------------------------------------------- */
+
+/* dependencies */
+#include "picointernal.h"
+
+
+
+/* external modules */
+extern const picoModule_t picoModuleMD3;
+extern const picoModule_t picoModule3DS;
+extern const picoModule_t picoModuleASE;
+extern const picoModule_t picoModuleOBJ;
+extern const picoModule_t picoModuleMS3D;
+extern const picoModule_t picoModuleMDC;
+extern const picoModule_t picoModuleMD2;
+extern const picoModule_t picoModuleFM;
+extern const picoModule_t picoModuleLWO;
+extern const picoModule_t picoModuleTerrain;
+extern const picoModule_t picoModuleIQM;
+
+
+
+/* list of all supported file format modules */
+const picoModule_t *picoModules[] =
+{
+       &picoModuleMD3,     /* quake3 arena md3 */
+       &picoModule3DS,     /* autodesk 3ds */
+       &picoModuleASE,     /* autodesk ase */
+       &picoModuleMS3D,    /* milkshape3d */
+       &picoModuleMDC,     /* return to castle wolfenstein mdc */
+       &picoModuleMD2,     /* quake2 md2 */
+       &picoModuleFM,      /* heretic2 fm */
+       &picoModuleLWO,     /* lightwave object */
+       &picoModuleTerrain, /* picoterrain object */
+       &picoModuleOBJ,     /* wavefront object */
+       &picoModuleIQM,     /* interquake model */
+       NULL                /* arnold */
+};
+
+
+
+/*
+   PicoModuleList()
+   returns a pointer to the module list and optionally stores
+   the number of supported modules in 'numModules'. Note that
+   this param can be NULL when the count is not needed.
+ */
+
+const picoModule_t **PicoModuleList( int *numModules ){
+       /* get module count */
+       if ( numModules != NULL ) {
+               for ( ( *numModules ) = 0; picoModules[ *numModules ] != NULL; ( *numModules )++ ) ;
+       }
+
+       /* return list of modules */
+       return (const picoModule_t**) picoModules;
+}