]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/opengl/penguin/lw.cpp
Fixes to allow compilation with no wchar_t (djgpp probably has a real wchar_t
[wxWidgets.git] / samples / opengl / penguin / lw.cpp
index 7d83324bbd8d5e05d852b603df2d00cf2b884711..9b2202000c8a90885117381b699316c772dbe133 100644 (file)
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#ifdef __WXMSW__
-#include <windows.h>
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #include "wx/wx.h"
 #endif
 
 #include "wx/wx.h"
 #endif
 
+#ifdef __WXMSW__
+#include <windows.h>
+#endif
+
 #include "lw.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include "lw.h"
 #include <stdlib.h>
 #include <stdio.h>
-#include <math.h>
-
-#ifndef FALSE
-#define FALSE 0
-#endif
 
 
-#ifndef TRUE
-#define TRUE 1
-#endif
+#if wxUSE_GLCANVAS
 
 #define MK_ID(a,b,c,d) ((((wxUint32)(a))<<24)| \
             (((wxUint32)(b))<<16)| \
 
 #define MK_ID(a,b,c,d) ((((wxUint32)(a))<<24)| \
             (((wxUint32)(b))<<16)| \
@@ -69,7 +62,7 @@ static wxInt32 read_short(FILE *f)
     // when using the direct evaluation in the return statement
     wxInt32 first = read_char(f) ;
     wxInt32 second = read_char(f) ;
     // when using the direct evaluation in the return statement
     wxInt32 first = read_char(f) ;
     wxInt32 second = read_char(f) ;
-    
+
   return (first<<8) | second ;
 }
 
   return (first<<8) | second ;
 }
 
@@ -97,7 +90,7 @@ static int read_string(FILE *f, char *s)
   do {
     c = read_char(f);
     if (cnt < LW_MAX_NAME_LEN)
   do {
     c = read_char(f);
     if (cnt < LW_MAX_NAME_LEN)
-      s[cnt] = c;
+      s[cnt] = (char)c;
     else
       s[LW_MAX_NAME_LEN-1] = 0;
     cnt++;
     else
       s[LW_MAX_NAME_LEN-1] = 0;
     cnt++;
@@ -176,7 +169,7 @@ static void read_surf(FILE *f, int nbytes, lwObject *lwo)
 static void read_pols(FILE *f, int nbytes, lwObject *lwo)
 {
   int guess_cnt = lwo->face_cnt;
 static void read_pols(FILE *f, int nbytes, lwObject *lwo)
 {
   int guess_cnt = lwo->face_cnt;
-  
+
   while (nbytes > 0) {
     lwFace *face;
     int i;
   while (nbytes > 0) {
     lwFace *face;
     int i;
@@ -194,17 +187,17 @@ static void read_pols(FILE *f, int nbytes, lwObject *lwo)
 
     /* allocate space for points */
     face->index = (int*) calloc(sizeof(int)*face->index_cnt,1);
 
     /* allocate space for points */
     face->index = (int*) calloc(sizeof(int)*face->index_cnt,1);
-    
+
     /* read points in */
     for (i=0; i<face->index_cnt; i++) {
       face->index[i] = read_short(f);
       nbytes -= 2;
     }
     /* read points in */
     for (i=0; i<face->index_cnt; i++) {
       face->index[i] = read_short(f);
       nbytes -= 2;
     }
-    
+
     /* read surface material */
     face->material = read_short(f);
     nbytes -= 2;
     /* read surface material */
     face->material = read_short(f);
     nbytes -= 2;
-    
+
     /* skip over detail  polygons */
     if (face->material < 0) {
       int det_cnt;
     /* skip over detail  polygons */
     if (face->material < 0) {
       int det_cnt;
@@ -242,7 +235,7 @@ static void read_pnts(FILE *f, int nbytes, lwObject *lwo)
 
 
 
 
 
 
-int lw_is_lwobject(const char *lw_file)
+bool lw_is_lwobject(const char *lw_file)
 {
   FILE *f = fopen(lw_file, "rb");
   if (f) {
 {
   FILE *f = fopen(lw_file, "rb");
   if (f) {
@@ -251,22 +244,17 @@ int lw_is_lwobject(const char *lw_file)
     wxInt32 lwob = read_long(f);
     fclose(f);
     if (form == ID_FORM && nlen != 0 && lwob == ID_LWOB)
     wxInt32 lwob = read_long(f);
     fclose(f);
     if (form == ID_FORM && nlen != 0 && lwob == ID_LWOB)
-      return TRUE;
+      return true;
   }
   }
-  return FALSE;
+  return false;
 }
 
 
 lwObject *lw_object_read(const char *lw_file)
 {
 }
 
 
 lwObject *lw_object_read(const char *lw_file)
 {
-  FILE *f = NULL;
-  lwObject *lw_object = NULL;
-
-  wxInt32 form_bytes = 0;
-  wxInt32 read_bytes = 0;
 
   /* open file */
 
   /* open file */
-  f = fopen(lw_file, "rb");
+  FILE *f = fopen(lw_file, "rb");
   if (f == NULL) {
     return NULL;
   }
   if (f == NULL) {
     return NULL;
   }
@@ -276,7 +264,10 @@ lwObject *lw_object_read(const char *lw_file)
     fclose(f);
     return NULL;
   }
     fclose(f);
     return NULL;
   }
-  form_bytes = read_long(f);
+
+  wxInt32 read_bytes = 0;
+
+  wxInt32 form_bytes = read_long(f);
   read_bytes += 4;
 
   if (read_long(f) != ID_LWOB) {
   read_bytes += 4;
 
   if (read_long(f) != ID_LWOB) {
@@ -285,7 +276,7 @@ lwObject *lw_object_read(const char *lw_file)
   }
 
   /* create new lwObject */
   }
 
   /* create new lwObject */
-  lw_object = (lwObject*) calloc(sizeof(lwObject),1);
+  lwObject *lw_object = (lwObject*) calloc(sizeof(lwObject),1);
 
   /* read chunks */
   while (read_bytes < form_bytes) {
 
   /* read chunks */
   while (read_bytes < form_bytes) {
@@ -443,4 +434,5 @@ void lw_object_scale(lwObject *lwo, GLfloat scale)
   }
 }
 
   }
 }
 
+#endif