]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/image/image.cpp
image: add crn support to the image plugin.
[xonotic/netradiant.git] / plugins / image / image.cpp
index 4436dde448be14fa03bb5b3b52d8448c26693de2..574e4fab44819a78fc1b14ee4cc245e87310dac8 100644 (file)
@@ -1,25 +1,23 @@
 /*
-Copyright (C) 2001-2006, William Joseph.
-All Rights Reserved.
+   Copyright (C) 2001-2006, William Joseph.
+   All Rights Reserved.
 
-This file is part of GtkRadiant.
+   This file is part of GtkRadiant.
 
-GtkRadiant is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   GtkRadiant is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-GtkRadiant is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GtkRadiant is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GtkRadiant; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#include "image.h"
+   You should have received a copy of the GNU General Public License
+   along with GtkRadiant; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
 
 #include "ifilesystem.h"
 #include "iimage.h"
@@ -29,29 +27,31 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include "bmp.h"
 #include "pcx.h"
 #include "dds.h"
+#include "ktx.h"
+#include "crn.h"
 
 
 #include "modulesystem/singletonmodule.h"
 
-class ImageDependencies : public GlobalFileSystemModuleRef
-{
+class ImageDependencies : public GlobalFileSystemModuleRef {
 };
 
-class ImageTGAAPI
-{
-  _QERPlugImageTable m_imagetga;
+class ImageTGAAPI {
+    _QERPlugImageTable m_imagetga;
 public:
-  typedef _QERPlugImageTable Type;
-  STRING_CONSTANT(Name, "tga");
-
-  ImageTGAAPI()
-  {
-    m_imagetga.loadImage = LoadTGA;
-  }
-  _QERPlugImageTable* getTable()
-  {
-    return &m_imagetga;
-  }
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "tga");
+
+    ImageTGAAPI()
+    {
+        m_imagetga.loadImage = LoadTGA;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagetga;
+    }
 };
 
 typedef SingletonModule<ImageTGAAPI> ImageTGAModule;
@@ -59,21 +59,22 @@ typedef SingletonModule<ImageTGAAPI> ImageTGAModule;
 ImageTGAModule g_ImageTGAModule;
 
 
-class ImageJPGAPI
-{
-  _QERPlugImageTable m_imagejpg;
+class ImageJPGAPI {
+    _QERPlugImageTable m_imagejpg;
 public:
-  typedef _QERPlugImageTable Type;
-  STRING_CONSTANT(Name, "jpg");
-
-  ImageJPGAPI()
-  {
-    m_imagejpg.loadImage = LoadJPG;
-  }
-  _QERPlugImageTable* getTable()
-  {
-    return &m_imagejpg;
-  }
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "jpg");
+
+    ImageJPGAPI()
+    {
+        m_imagejpg.loadImage = LoadJPG;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagejpg;
+    }
 };
 
 typedef SingletonModule<ImageJPGAPI, ImageDependencies> ImageJPGModule;
@@ -81,21 +82,22 @@ typedef SingletonModule<ImageJPGAPI, ImageDependencies> ImageJPGModule;
 ImageJPGModule g_ImageJPGModule;
 
 
-class ImageBMPAPI
-{
-  _QERPlugImageTable m_imagebmp;
+class ImageBMPAPI {
+    _QERPlugImageTable m_imagebmp;
 public:
-  typedef _QERPlugImageTable Type;
-  STRING_CONSTANT(Name, "bmp");
-
-  ImageBMPAPI()
-  {
-    m_imagebmp.loadImage = LoadBMP;
-  }
-  _QERPlugImageTable* getTable()
-  {
-    return &m_imagebmp;
-  }
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "bmp");
+
+    ImageBMPAPI()
+    {
+        m_imagebmp.loadImage = LoadBMP;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagebmp;
+    }
 };
 
 typedef SingletonModule<ImageBMPAPI, ImageDependencies> ImageBMPModule;
@@ -103,21 +105,22 @@ typedef SingletonModule<ImageBMPAPI, ImageDependencies> ImageBMPModule;
 ImageBMPModule g_ImageBMPModule;
 
 
-class ImagePCXAPI
-{
-  _QERPlugImageTable m_imagepcx;
+class ImagePCXAPI {
+    _QERPlugImageTable m_imagepcx;
 public:
-  typedef _QERPlugImageTable Type;
-  STRING_CONSTANT(Name, "pcx");
-
-  ImagePCXAPI()
-  {
-    m_imagepcx.loadImage = LoadPCX32;
-  }
-  _QERPlugImageTable* getTable()
-  {
-    return &m_imagepcx;
-  }
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "pcx");
+
+    ImagePCXAPI()
+    {
+        m_imagepcx.loadImage = LoadPCX32;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagepcx;
+    }
 };
 
 typedef SingletonModule<ImagePCXAPI, ImageDependencies> ImagePCXModule;
@@ -125,21 +128,22 @@ typedef SingletonModule<ImagePCXAPI, ImageDependencies> ImagePCXModule;
 ImagePCXModule g_ImagePCXModule;
 
 
-class ImageDDSAPI
-{
-  _QERPlugImageTable m_imagedds;
+class ImageDDSAPI {
+    _QERPlugImageTable m_imagedds;
 public:
-  typedef _QERPlugImageTable Type;
-  STRING_CONSTANT(Name, "dds");
-
-  ImageDDSAPI()
-  {
-    m_imagedds.loadImage = LoadDDS;
-  }
-  _QERPlugImageTable* getTable()
-  {
-    return &m_imagedds;
-  }
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "dds");
+
+    ImageDDSAPI()
+    {
+        m_imagedds.loadImage = LoadDDS;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagedds;
+    }
 };
 
 typedef SingletonModule<ImageDDSAPI, ImageDependencies> ImageDDSModule;
@@ -147,13 +151,61 @@ typedef SingletonModule<ImageDDSAPI, ImageDependencies> ImageDDSModule;
 ImageDDSModule g_ImageDDSModule;
 
 
-extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer& server)
-{
-  initialiseModule(server);
+class ImageKTXAPI {
+    _QERPlugImageTable m_imagektx;
+public:
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "ktx");
+
+    ImageKTXAPI()
+    {
+        m_imagektx.loadImage = LoadKTX;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagektx;
+    }
+};
+
+typedef SingletonModule<ImageKTXAPI, ImageDependencies> ImageKTXModule;
+
+ImageKTXModule g_ImageKTXModule;
+
 
-  g_ImageTGAModule.selfRegister();
-  g_ImageJPGModule.selfRegister();
-  g_ImageBMPModule.selfRegister();
-  g_ImagePCXModule.selfRegister();
-  g_ImageDDSModule.selfRegister();
+class ImageCRNAPI {
+    _QERPlugImageTable m_imagecrn;
+public:
+    typedef _QERPlugImageTable Type;
+
+    STRING_CONSTANT(Name, "crn");
+
+    ImageCRNAPI()
+    {
+        m_imagecrn.loadImage = LoadCRN;
+    }
+
+    _QERPlugImageTable *getTable()
+    {
+        return &m_imagecrn;
+    }
+};
+
+typedef SingletonModule<ImageCRNAPI, ImageDependencies> ImageCRNModule;
+
+ImageCRNModule g_ImageCRNModule;
+
+
+extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer &server)
+{
+    initialiseModule(server);
+
+    g_ImageTGAModule.selfRegister();
+    g_ImageJPGModule.selfRegister();
+    g_ImageBMPModule.selfRegister();
+    g_ImagePCXModule.selfRegister();
+    g_ImageDDSModule.selfRegister();
+    g_ImageKTXModule.selfRegister();
+    g_ImageCRNModule.selfRegister();
 }