summaryrefslogtreecommitdiff
path: root/recipes/snes9x/snes9x-sdl/compile.patch
blob: b41a30f30ef41a118fdede027c9ca0185233bb28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275

#
# Patch managed by http://www.holgerschurig.de/patcher.html
#

--- snes9x-sdl-1.39/unix/svga.cpp~compile
+++ snes9x-sdl-1.39/unix/svga.cpp
@@ -48,7 +48,7 @@
 #include <stdlib.h>
 #include <signal.h>
 
-#include "sdl.h"
+#include <SDL.h>
 
 #include "snes9x.h"
 #include "memmap.h"
--- snes9x-sdl-1.39/unix/unix.cpp~compile
+++ snes9x-sdl-1.39/unix/unix.cpp
@@ -50,7 +50,7 @@
 #include <sys/types.h>
 #include <ctype.h>
 #include <dirent.h>
-#include <sdl.h>
+#include <SDL.h>
 #include "keydef.h"
 
 #undef USE_THREADS
@@ -189,8 +189,7 @@
 }
 
 /*#include "cheats.h"*/
-extern "C"
-int SDL_main (int argc, char **argv)
+int main (int argc, char **argv)
 {
     if (argc < 2)
 	S9xUsage ();
--- /dev/null
+++ snes9x-sdl-1.39/unzip/unzipP.h
@@ -0,0 +1,124 @@
+#ifndef _UNZIPP_H_
+#define _UNZIPP_H_
+
+#include "unzip.h"
+
+#ifndef local
+#define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+
+
+#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \
+                      !defined(CASESENSITIVITYDEFAULT_NO)
+#define CASESENSITIVITYDEFAULT_NO
+#endif
+
+
+#ifndef UNZ_BUFSIZE
+#define UNZ_BUFSIZE (16384)
+#endif
+
+#ifndef UNZ_MAXFILENAMEINZIP
+#define UNZ_MAXFILENAMEINZIP (256)
+#endif
+
+#ifndef ALLOC
+#define ALLOC(size) (malloc(size))
+#endif
+#ifndef TRYFREE
+#define TRYFREE(p) {if (p) free(p);}
+#endif
+
+#define SIZECENTRALDIRITEM (0x2e)
+#define SIZEZIPLOCALHEADER (0x1e)
+
+
+/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
+
+#ifndef SEEK_CUR
+#define SEEK_CUR    1
+#endif
+
+#ifndef SEEK_END
+#define SEEK_END    2
+#endif
+
+#ifndef SEEK_SET
+#define SEEK_SET    0
+#endif
+
+/* unz_file_info_interntal contain internal info about a file in zipfile */
+typedef struct unz_file_info_internal_s
+{
+    uLong           offset_curfile;	/* relative offset of local header 4
+					 * bytes */
+}               unz_file_info_internal;
+
+
+/*
+ * file_in_zip_read_info_s contain internal information about a file in
+ * zipfile, when reading and decompress it
+ */
+typedef struct
+{
+    char           *read_buffer;/* internal buffer for compressed data */
+    z_stream        stream;	/* zLib stream structure for inflate */
+
+    uLong           pos_in_zipfile;	/* position in byte on the zipfile,
+					 * for fseek */
+    uLong           stream_initialised;	/* flag set if stream structure is
+					 * initialised */
+
+    uLong           offset_local_extrafield;	/* offset of the local extra
+						 * field */
+    uInt            size_local_extrafield;	/* size of the local extra
+						 * field */
+    uLong           pos_local_extrafield;	/* position in the local
+						 * extra field in read */
+
+    uLong           crc32;	/* crc32 of all data uncompressed */
+    uLong           crc32_wait;	/* crc32 we must obtain after decompress all */
+    uLong           rest_read_compressed;	/* number of byte to be
+						 * decompressed */
+    uLong           rest_read_uncompressed;	/* number of byte to be
+						 * obtained after decomp */
+    FILE           *file;	/* io structore of the zipfile */
+    uLong           compression_method;	/* compression method (0==store) */
+    uLong           byte_before_the_zipfile;	/* byte before the zipfile,
+						 * (>0 for sfx) */
+}               file_in_zip_read_info_s;
+
+
+/*
+ * unz_s contain internal information about the zipfile
+ */
+typedef struct
+{
+    FILE           *file;	/* io structore of the zipfile */
+    unz_global_info gi;		/* public global information */
+    uLong           byte_before_the_zipfile;	/* byte before the zipfile,
+						 * (>0 for sfx) */
+    uLong           num_file;	/* number of the current file in the zipfile */
+    uLong           pos_in_central_dir;	/* pos of the current file in the
+					 * central dir */
+    uLong           current_file_ok;	/* flag about the usability of the
+					 * current file */
+    uLong           central_pos;/* position of the beginning of the central
+				 * dir */
+
+    uLong           size_central_dir;	/* size of the central directory  */
+    uLong           offset_central_dir;	/* offset of start of central
+					 * directory with respect to the
+					 * starting disk number */
+
+    unz_file_info   cur_file_info;	/* public info about the current file
+					 * in zip */
+    unz_file_info_internal cur_file_info_internal;	/* private info about it */
+    file_in_zip_read_info_s *pfile_in_zip_read;	/* structure about the
+						 * current file if we are
+						 * decompressing it */
+}               unz_s;
+
+#endif
--- snes9x-sdl-1.39/Makefile~compile
+++ snes9x-sdl-1.39/Makefile
@@ -53,12 +53,12 @@
 
 ifdef THREAD_SOUND
 CPUDEFINES += -DUSE_THREADS
-EXTRALIBS += -lpthread -L/usr/local/lib -lcygipc
+EXTRALIBS += -lpthread -lcygipc
 endif
 
 ifdef GLIDE
 GLIDEOBJS = unix/glide.o
-GLIDEDEFINES = -DUSE_GLIDE -I/usr/include/glide
+GLIDEDEFINES = -DUSE_GLIDE
 GLIDELIBS = -lglide2x
 GLIDEDEPENDS=use_glide
 GLIDENO_DEPENDS=no_glide
@@ -82,14 +82,12 @@
 CC = gcc
 NASM = nasm
 
-INCLUDES=-I/usr/local/include
+INCLUDES=
 
-OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer -mcpu=strongarm1100 -mtune=strongarm1100
+OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer
 CCFLAGS = $(OPTIMISE) \
--I/opt/Qtopia/include/SDL \
 -I. \
 -Iunzip \
--Isdl \
 -D__linux \
 -DZLIB \
 -DVAR_CYCLES \
@@ -114,7 +112,7 @@
 
 .SUFFIXES: .o .cpp .c .cc .h .m .i .S .asm .obj
 
-LDLIBS = -L/opt/Qtopia/sharp/lib
+LDLIBS=
 
 ifdef GLIDE
 all: offsets gsnes9x
@@ -146,7 +144,7 @@
 	$(RM) $(OPENGLNO_DEPENDS)
 
 snes9x: $(OBJECTS) 
-	$(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) -L/opt/QtPalmtop/lib/ -lSDL -lSDLmain $(LDLIBS) -lqpe -lqte -lpthread
+	$(CC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) $(LDLIBS) -lz -lpthread
 
 gsnes9x: $(OBJECTS) unix/x11.o unix/glide.o
 	$(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/x11.o unix/glide.o $(LDLIBS) $(GLIDELIBS) -lXext -lX11 -lXxf86dga -lXxf86vm $(EXTRALIBS) -lz -lm
--- snes9x-sdl-1.39/snapshot.cpp~compile
+++ snes9x-sdl-1.39/snapshot.cpp
@@ -671,7 +671,7 @@
 						  fields [i].type);
     }
 
-    uint8 *block = new uint8 [len];
+    uint8 *block = (uint8*) malloc(len);
     uint8 *ptr = block;
     uint16 word;
     uint32 dword;
@@ -739,7 +739,7 @@
     }
 
     FreezeBlock (stream, name, block, len);
-    delete block;
+    free(block);
 }
 
 void FreezeBlock (STREAM stream, char *name, uint8 *block, int size)
@@ -767,7 +767,7 @@
 						  fields [i].type);
     }
 
-    uint8 *block = new uint8 [len];
+    uint8 *block = (uint8*) malloc(len);
     uint8 *ptr = block;
     uint16 word;
     uint32 dword;
@@ -776,7 +776,7 @@
 
     if ((result = UnfreezeBlock (stream, name, block, len)) != SUCCESS)
     {
-	delete block;
+	free(block);
 	return (result);
     }
 
@@ -841,7 +841,7 @@
 	}
     }
 
-    delete block;
+    free(block);
     return (result);
 }
 
@@ -865,9 +865,9 @@
 
     if (rem)
     {
-	char *junk = new char [rem];
+	char *junk = (char*) malloc(rem);
 	READ_STREAM (junk, rem, stream);
-	delete junk;
+	free(junk);
     }
 	
     return (SUCCESS);