-/*\r
-Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
-For a list of contributors, see the accompanying CONTRIBUTORS file.\r
-\r
-This file is part of GtkRadiant.\r
-\r
-GtkRadiant is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-GtkRadiant is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with GtkRadiant; if not, write to the Free Software\r
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\r
-*/\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include <glib.h>\r
-#include "wal.h"\r
-\r
-#include "q2_palette.h"\r
-\r
-#define Sys_Printf g_FuncTable.m_pfnSysPrintf\r
-\r
-void LoadWAL(const char *name, unsigned char **pic, int *width, int *height)\r
-{\r
- FILE *f;\r
- miptex_t *wal_header;\r
- rgb_t *palette;\r
- int i, num_pixels, size;\r
- char text_buf[255];\r
- unsigned int length;\r
- unsigned char *palette_ent, *buf_temp;\r
- unsigned char *buffer, *wal_file_buffer;\r
-\r
- // open file\r
- if ( length = vfsLoadFile ((char *) name, (void **) &wal_file_buffer) == (unsigned int) -1)\r
- {\r
- Sys_Printf("Unable to open file %s\n",name);\r
- return;\r
- }\r
-\r
- wal_header = (miptex_t *)wal_file_buffer;\r
-\r
- // make sure we have a valid bitmap file\r
- if ( wal_header->width & 15)\r
- {\r
- vfsFreeFile(wal_file_buffer);\r
- Sys_Printf("Invalid WAL file %s: Width not multiple of 16!\n", name);\r
- return;\r
- }\r
-\r
- if ( wal_header->height & 15)\r
- {\r
- vfsFreeFile(wal_file_buffer);\r
- Sys_Printf("Invalid WAL file %s: Height not multiple of 16!\n", name);\r
- return;\r
- }\r
-\r
-\r
- // Get WAL Info\r
- *width = wal_header->width; // Only interested in 1st MIP\r
- *height = wal_header->height;\r
- num_pixels = (*width) * (*height);\r
- size = num_pixels*4;\r
-\r
- // Allocate buffer\r
- buf_temp = (unsigned char *)(g_malloc(size));\r
- *pic = buf_temp;\r
-\r
- // Image data\r
- buffer = wal_file_buffer + wal_header->offsets[0];\r
-\r
-\r
- // Load texture into buffer\r
- palette_ent = buffer;\r
- for(i=0; i<num_pixels; i++)\r
- {\r
- *buf_temp++ = quake2_palette[*palette_ent][0];\r
- *buf_temp++ = quake2_palette[*palette_ent][1];\r
- *buf_temp++ = quake2_palette[*palette_ent][2];\r
- *buf_temp++ = 255; // No alpha\r
- palette_ent++;\r
- }\r
-\r
- vfsFreeFile(wal_file_buffer);\r
-}\r
+/*
+Copyright (C) 1999-2007 id Software, Inc. and contributors.
+For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+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 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 <stdio.h>
+#include <string.h>
+#include <glib.h>
+#include "wal.h"
+
+#include "q2_palette.h"
+
+#define Sys_Printf g_FuncTable.m_pfnSysPrintf
+
+void LoadWAL(const char *name, unsigned char **pic, int *width, int *height)
+{
+ FILE *f;
+ miptex_t *wal_header;
+ rgb_t *palette;
+ int i, num_pixels, size;
+ char text_buf[255];
+ unsigned int length;
+ unsigned char *palette_ent, *buf_temp;
+ unsigned char *buffer, *wal_file_buffer;
+
+ // open file
+ if ( length = vfsLoadFile ((char *) name, (void **) &wal_file_buffer) == (unsigned int) -1)
+ {
+ Sys_Printf("Unable to open file %s\n",name);
+ return;
+ }
+
+ wal_header = (miptex_t *)wal_file_buffer;
+
+ // make sure we have a valid bitmap file
+ if ( wal_header->width & 15)
+ {
+ vfsFreeFile(wal_file_buffer);
+ Sys_Printf("Invalid WAL file %s: Width not multiple of 16!\n", name);
+ return;
+ }
+
+ if ( wal_header->height & 15)
+ {
+ vfsFreeFile(wal_file_buffer);
+ Sys_Printf("Invalid WAL file %s: Height not multiple of 16!\n", name);
+ return;
+ }
+
+
+ // Get WAL Info
+ *width = wal_header->width; // Only interested in 1st MIP
+ *height = wal_header->height;
+ num_pixels = (*width) * (*height);
+ size = num_pixels*4;
+
+ // Allocate buffer
+ buf_temp = (unsigned char *)(g_malloc(size));
+ *pic = buf_temp;
+
+ // Image data
+ buffer = wal_file_buffer + wal_header->offsets[0];
+
+
+ // Load texture into buffer
+ palette_ent = buffer;
+ for(i=0; i<num_pixels; i++)
+ {
+ *buf_temp++ = quake2_palette[*palette_ent][0];
+ *buf_temp++ = quake2_palette[*palette_ent][1];
+ *buf_temp++ = quake2_palette[*palette_ent][2];
+ *buf_temp++ = 255; // No alpha
+ palette_ent++;
+ }
+
+ vfsFreeFile(wal_file_buffer);
+}