annotate scn2k/gandump.cc @ 66:d112357a0ec1

Fix a bug with savegames introduced with changeset c7bcc0ec2267. Warning: savegames created since c7bcc0ec2267 are probably corrupted, you may have to start the game over. If you chose not to do so, you should replace all occurrences of 'TextWindow' by 'TextImplWindow', and 'Text Window' by 'TextImpl Window' in your save files.
author Thibaut Girka <thib@sitedethib.com>
date Sat, 11 Dec 2010 18:36:20 +0100
parents 15a18fbe6f21
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
1 /*
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
2 * Copyright (c) 2004-2006 Kazunori "jagarl" Ueno
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
3 * All rights reserved.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
4 *
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
5 * Redistribution and use in source and binary forms, with or without
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
6 * modification, are permitted provided that the following conditions
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
7 * are met:
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
8 * 1. Redistributions of source code must retain the above copyright
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
9 * notice, this list of conditions and the following disclaimer.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
10 * 2. Redistributions in binary form must reproduce the above copyright
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
11 * notice, this list of conditions and the following disclaimer in the
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
12 * documentation and/or other materials provided with the distribution.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
13 * 3. The name of the author may not be used to endorse or promote products
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
14 * derived from this software without specific prior written permission.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
15 *
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
26 */
6d1a5b7f0838 * Updated copyright/license information
thib
parents: 0
diff changeset
27
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
28 #include <stdio.h>
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
29 #include <string.h>
0
223b71206888 Initial import
thib
parents:
diff changeset
30
223b71206888 Initial import
thib
parents:
diff changeset
31 char* ganname[6] = {"ptn", "x", "y", "time", "alpha", "?"};
223b71206888 Initial import
thib
parents:
diff changeset
32 int main(int argc, char** argv) {
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
33 if (argc != 2) return NULL;
0
223b71206888 Initial import
thib
parents:
diff changeset
34 FILE* f = fopen(argv[1],"rb");
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
35 if (f == NULL) return NULL;
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
36 fseek(f, 0, 2);
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
37 int sz = ftell(f);
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
38 fseek(f, 0, SEEK_SET);
0
223b71206888 Initial import
thib
parents:
diff changeset
39 char* buf = new char[sz];
223b71206888 Initial import
thib
parents:
diff changeset
40 char* bufo = buf;
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
41 fread(buf, 1, sz, f);
0
223b71206888 Initial import
thib
parents:
diff changeset
42 fclose(f);
223b71206888 Initial import
thib
parents:
diff changeset
43
223b71206888 Initial import
thib
parents:
diff changeset
44 int i;
223b71206888 Initial import
thib
parents:
diff changeset
45 for (i=0; i<16; i++) {
223b71206888 Initial import
thib
parents:
diff changeset
46 printf("%02x ",int(buf[i])&0xff);
223b71206888 Initial import
thib
parents:
diff changeset
47 }
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
48
0
223b71206888 Initial import
thib
parents:
diff changeset
49 printf("\n");
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
50 buf += 16;
0
223b71206888 Initial import
thib
parents:
diff changeset
51 printf("file '%s'\n",buf);
223b71206888 Initial import
thib
parents:
diff changeset
52 buf += strlen(buf)+1;
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
53 printf("N1 = %3d\n", *(int*)buf);
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
54 buf += 4;
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
55 int ptns = *(int*)buf;
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
56 buf += 4;
0
223b71206888 Initial import
thib
parents:
diff changeset
57 for (i=0; i<ptns; i++) {
223b71206888 Initial import
thib
parents:
diff changeset
58 int j;
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
59 printf("\tN2 = %3d\n",*(int*)buf);
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
60 buf += 4;
0
223b71206888 Initial import
thib
parents:
diff changeset
61 int n = *(int*)buf; buf += 4;
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
62 for (j=0; j < n; j++) {
0
223b71206888 Initial import
thib
parents:
diff changeset
63 printf("\t%3d: ",j);
52
15a18fbe6f21 * Known bugs added to the README
thib
parents: 36
diff changeset
64 int k, d1, d2;
0
223b71206888 Initial import
thib
parents:
diff changeset
65 for (k=0; k<6; k++) {
223b71206888 Initial import
thib
parents:
diff changeset
66 d1 = *(int*)(buf+k*8);
223b71206888 Initial import
thib
parents:
diff changeset
67 d2 = *(int*)(buf+k*8+4);
223b71206888 Initial import
thib
parents:
diff changeset
68 if (d1 != 30100+k) printf("err: d1 %d\n",d1);
223b71206888 Initial import
thib
parents:
diff changeset
69 printf("%s: %5d, ",ganname[k],d2);
223b71206888 Initial import
thib
parents:
diff changeset
70 }
223b71206888 Initial import
thib
parents:
diff changeset
71 printf("\n");
223b71206888 Initial import
thib
parents:
diff changeset
72 buf += 6*8;
223b71206888 Initial import
thib
parents:
diff changeset
73 int d = *(int*)buf; buf += 4;
223b71206888 Initial import
thib
parents:
diff changeset
74 if (d != 999999) printf("err: dd %d\n",d);
223b71206888 Initial import
thib
parents:
diff changeset
75 }
223b71206888 Initial import
thib
parents:
diff changeset
76 }
223b71206888 Initial import
thib
parents:
diff changeset
77 if (buf != bufo+sz) { printf("orig sz %d read %d\n",sz,buf-bufo);}
223b71206888 Initial import
thib
parents:
diff changeset
78 }