]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/md3model/mdlimage.cpp
reformat code! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / plugins / md3model / mdlimage.cpp
index 3ab4e9e0754273f611a01c6fe0d18f99cf27152e..fe2d66cff47e380646f3968f5a2f47a29a4a9d49 100644 (file)
 
 
 unsigned char mdl_palette[768];
+
 /*
    ==============
    Texture_InitPalette
    ==============
  */
-void Texture_InitPalette( byte *pal ){
-       int r,g,b;
-       int i;
-       int inf;
-       byte gammatable[256];
-       double gamma;
-
-       gamma = 1.0; //g_qeglobals.d_savedinfo.fGamma;
-
-       if ( gamma == 1.0 ) {
-               for ( i = 0 ; i < 256 ; i++ )
-                       gammatable[i] = i;
-       }
-       else
-       {
-               for ( i = 0 ; i < 256 ; i++ )
-               {
-                       inf = (int)( 255 * pow( ( i + 0.5 ) / 255.5, gamma ) + 0.5 );
-                       if ( inf < 0 ) {
-                               inf = 0;
-                       }
-                       if ( inf > 255 ) {
-                               inf = 255;
-                       }
-                       gammatable[i] = inf;
-               }
-       }
-
-       for ( i = 0 ; i < 256 ; i++ )
-       {
-               r = gammatable[pal[0]];
-               g = gammatable[pal[1]];
-               b = gammatable[pal[2]];
-               pal += 3;
-
-               //v = (r<<24) + (g<<16) + (b<<8) + 255;
-               //v = BigLong (v);
-
-               //mdl_palette[i] = v;
-               mdl_palette[i * 3 + 0] = r;
-               mdl_palette[i * 3 + 1] = g;
-               mdl_palette[i * 3 + 2] = b;
-       }
+void Texture_InitPalette(byte *pal)
+{
+    int r, g, b;
+    int i;
+    int inf;
+    byte gammatable[256];
+    double gamma;
+
+    gamma = 1.0; //g_qeglobals.d_savedinfo.fGamma;
+
+    if (gamma == 1.0) {
+        for (i = 0; i < 256; i++) {
+            gammatable[i] = i;
+        }
+    } else {
+        for (i = 0; i < 256; i++) {
+            inf = (int) (255 * pow((i + 0.5) / 255.5, gamma) + 0.5);
+            if (inf < 0) {
+                inf = 0;
+            }
+            if (inf > 255) {
+                inf = 255;
+            }
+            gammatable[i] = inf;
+        }
+    }
+
+    for (i = 0; i < 256; i++) {
+        r = gammatable[pal[0]];
+        g = gammatable[pal[1]];
+        b = gammatable[pal[2]];
+        pal += 3;
+
+        //v = (r<<24) + (g<<16) + (b<<8) + 255;
+        //v = BigLong (v);
+
+        //mdl_palette[i] = v;
+        mdl_palette[i * 3 + 0] = r;
+        mdl_palette[i * 3 + 1] = g;
+        mdl_palette[i * 3 + 2] = b;
+    }
 }
 
-bool LoadPalette(){
-       unsigned char* buffer;
-       //int len =
-       vfsLoadFile( "gfx/palette.lmp", (void **) &buffer );
-       if ( buffer == 0 ) {
-               return false;
-       }
+bool LoadPalette()
+{
+    unsigned char *buffer;
+    //int len =
+    vfsLoadFile("gfx/palette.lmp", (void **) &buffer);
+    if (buffer == 0) {
+        return false;
+    }
 
-       Texture_InitPalette( buffer );
+    Texture_InitPalette(buffer);
 
-       vfsFreeFile( buffer );
+    vfsFreeFile(buffer);
 
-       return true;
+    return true;
 }
 
-Image* LoadMDLImageBuff( byte* buffer ){
-       if ( !LoadPalette() ) {
-               return 0;
-       }
-
-       if ( !ident_equal( buffer, MDL_IDENT ) ) {
-               globalErrorStream() << "LoadMDLImage: data has wrong ident\n";
-               return 0;
-       }
-
-       PointerInputStream inputStream( buffer );
-       inputStream.seek( 4 + 4 + 12 + 12 + 4 + 12 );
-       //int numskins =
-       istream_read_int32_le( inputStream );
-       int skinwidth = istream_read_int32_le( inputStream );
-       int skinheight = istream_read_int32_le( inputStream );
-       inputStream.seek( 4 + 4 + 4 + 4 + 4 + 4 );
-
-       switch ( istream_read_int32_le( inputStream ) )
-       {
-       case MDL_SKIN_SINGLE:
-               break;
-       case MDL_SKIN_GROUP:
-               int numskins = istream_read_int32_le( inputStream );
-               inputStream.seek( numskins * 4 );
-               break;
-       }
-
-       RGBAImage* image = new RGBAImage( skinwidth, skinheight );
-       unsigned char* pRGBA = image->getRGBAPixels();
-
-       for ( int i = 0; i < ( skinheight ); i++ )
-       {
-               for ( int j = 0; j < ( skinwidth ); j++ )
-               {
-                       byte index = istream_read_byte( inputStream );
-                       *pRGBA++ = mdl_palette[index * 3 + 0];
-                       *pRGBA++ = mdl_palette[index * 3 + 1];
-                       *pRGBA++ = mdl_palette[index * 3 + 2];
-                       *pRGBA++ = 255;
-               }
-       }
-
-       return image;
+Image *LoadMDLImageBuff(byte *buffer)
+{
+    if (!LoadPalette()) {
+        return 0;
+    }
+
+    if (!ident_equal(buffer, MDL_IDENT)) {
+        globalErrorStream() << "LoadMDLImage: data has wrong ident\n";
+        return 0;
+    }
+
+    PointerInputStream inputStream(buffer);
+    inputStream.seek(4 + 4 + 12 + 12 + 4 + 12);
+    //int numskins =
+    istream_read_int32_le(inputStream);
+    int skinwidth = istream_read_int32_le(inputStream);
+    int skinheight = istream_read_int32_le(inputStream);
+    inputStream.seek(4 + 4 + 4 + 4 + 4 + 4);
+
+    switch (istream_read_int32_le(inputStream)) {
+        case MDL_SKIN_SINGLE:
+            break;
+        case MDL_SKIN_GROUP:
+            int numskins = istream_read_int32_le(inputStream);
+            inputStream.seek(numskins * 4);
+            break;
+    }
+
+    RGBAImage *image = new RGBAImage(skinwidth, skinheight);
+    unsigned char *pRGBA = image->getRGBAPixels();
+
+    for (int i = 0; i < (skinheight); i++) {
+        for (int j = 0; j < (skinwidth); j++) {
+            byte index = istream_read_byte(inputStream);
+            *pRGBA++ = mdl_palette[index * 3 + 0];
+            *pRGBA++ = mdl_palette[index * 3 + 1];
+            *pRGBA++ = mdl_palette[index * 3 + 2];
+            *pRGBA++ = 255;
+        }
+    }
+
+    return image;
 }
 
-Image* LoadMDLImage( ArchiveFile& file ){
-       ScopedArchiveBuffer buffer( file );
-       return LoadMDLImageBuff( buffer.buffer );
+Image *LoadMDLImage(ArchiveFile &file)
+{
+    ScopedArchiveBuffer buffer(file);
+    return LoadMDLImageBuff(buffer.buffer);
 }
 
-void MDLImage_Destroy( byte* pic ){
-       free( pic );
+void MDLImage_Destroy(byte *pic)
+{
+    free(pic);
 }