support multi-file zips, skipping irrelevant files
[gpsp.git] / common.h
index 6b1cf95..9d4f605 100644 (file)
--- a/common.h
+++ b/common.h
@@ -29,6 +29,7 @@
 #ifdef _WIN32_WCE
   #include <windows.h>
 #else
+  #define _BSD_SOURCE // sync
   #include <stdlib.h>
   #include <stdio.h>
   #include <string.h>
   typedef signed char s8;
   typedef unsigned short int u16;
   typedef signed short int s16;
-  typedef unsigned long u32;
-  typedef signed long s32;
+  typedef unsigned int u32;
+  typedef signed int s32;
   typedef unsigned long long int u64;
   typedef signed long long int s64;
 
 #endif
 
   #define file_read(filename_tag, buffer, size)                               \
-    fread(buffer, size, 1, filename_tag)                                      \
+    fread(buffer, 1, size, filename_tag)                                      \
 
   #define file_write(filename_tag, buffer, size)                              \
-    fwrite(buffer, size, 1, filename_tag)                                     \
+    fwrite(buffer, 1, size, filename_tag)                                     \
 
   #define file_seek(filename_tag, offset, type)                               \
     fseek(filename_tag, offset, type)                                         \
 
 
 typedef u32 fixed16_16;
+typedef u32 fixed8_24;
 
 #define float_to_fp16_16(value)                                               \
   (fixed16_16)((value) * 65536.0)                                             \
@@ -195,6 +197,12 @@ typedef u32 fixed16_16;
 #define fp16_16_fractional_part(value)                                        \
   ((value) & 0xFFFF)                                                          \
 
+#define float_to_fp8_24(value)                                                \
+  (fixed8_24)((value) * 16777216.0)                                           \
+
+#define fp8_24_fractional_part(value)                                         \
+  ((value) & 0xFFFFFF)                                                        \
+
 #define fixed_div(numerator, denominator, bits)                               \
   (((numerator * (1 << bits)) + (denominator / 2)) / denominator)             \
 
@@ -224,6 +232,9 @@ typedef u32 fixed16_16;
 #include "zip.h"
 #include "cheats.h"
 
+#ifdef ARM_ARCH
+  #include "arm/warm.h"
+#endif
 
 #ifdef PSP_BUILD
   #define printf pspDebugScreenPrintf
@@ -247,4 +258,8 @@ typedef u32 fixed16_16;
 //  #define STDIO_DEBUG
 #endif
 
+#ifdef PND_BUILD
+  #include "pandora/pnd.h"
+#endif
+
 #endif