|
|
0dbfb8c |
Index: alex4src/src/control.c
|
|
|
0dbfb8c |
===================================================================
|
|
|
0dbfb8c |
--- alex4src.orig/src/control.c 2008-01-17 00:20:33.000000000 +0100
|
|
|
0dbfb8c |
+++ alex4src/src/control.c 2008-01-17 00:29:35.000000000 +0100
|
|
|
0dbfb8c |
@@ -93,10 +93,24 @@
|
|
|
0dbfb8c |
|
|
|
0dbfb8c |
// saves the control config to disk using FP
|
|
|
0dbfb8c |
void save_control(Tcontrol *c, PACKFILE *fp) {
|
|
|
0dbfb8c |
- pack_fwrite(c, sizeof(Tcontrol), fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->use_joy, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_left, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_right, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_up, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_down, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_fire, fp);
|
|
|
0dbfb8c |
+ pack_iputl(c->key_jump, fp);
|
|
|
0dbfb8c |
+ pack_putc(c->flags, fp);
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
|
|
|
0dbfb8c |
// loads the control config from disk using FP
|
|
|
0dbfb8c |
void load_control(Tcontrol *c, PACKFILE *fp) {
|
|
|
0dbfb8c |
- pack_fread(c, sizeof(Tcontrol), fp);
|
|
|
0dbfb8c |
+ c->use_joy = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_left = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_right = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_up = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_down = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_fire = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->key_jump = pack_igetl(fp);
|
|
|
0dbfb8c |
+ c->flags = pack_getc(fp);
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
Index: alex4src/src/hisc.c
|
|
|
0dbfb8c |
===================================================================
|
|
|
0dbfb8c |
--- alex4src.orig/src/hisc.c 2008-01-17 00:29:45.000000000 +0100
|
|
|
0dbfb8c |
+++ alex4src/src/hisc.c 2008-01-17 00:42:13.000000000 +0100
|
|
|
0dbfb8c |
@@ -117,9 +117,12 @@
|
|
|
0dbfb8c |
for(i=0; i
|
|
|
0dbfb8c |
int c_disk, c_real;
|
|
|
0dbfb8c |
// load entry
|
|
|
0dbfb8c |
- pack_fread(&table[i], sizeof(Thisc), fp);
|
|
|
0dbfb8c |
+ pack_fread(&table[i].name, sizeof(table[i].name), fp);
|
|
|
0dbfb8c |
+ pack_getc(fp); pack_getc(fp); // 2 bytes padding
|
|
|
0dbfb8c |
+ table[i].score = pack_igetl(fp);
|
|
|
0dbfb8c |
+ table[i].level = pack_igetl(fp);
|
|
|
0dbfb8c |
// load checksum
|
|
|
0dbfb8c |
- pack_fread(&c_disk, sizeof(int), fp);
|
|
|
0dbfb8c |
+ c_disk = pack_igetl(fp);
|
|
|
0dbfb8c |
// generate check sum
|
|
|
0dbfb8c |
c_real = generate_checksum(&table[i]);
|
|
|
0dbfb8c |
// compare checksums
|
|
|
0dbfb8c |
@@ -137,11 +140,14 @@
|
|
|
0dbfb8c |
for(i=0; i
|
|
|
0dbfb8c |
int checksum;
|
|
|
0dbfb8c |
// save entry
|
|
|
0dbfb8c |
- pack_fwrite(&table[i], sizeof(Thisc), fp);
|
|
|
0dbfb8c |
+ pack_fwrite(&table[i].name, sizeof(table[i].name), fp);
|
|
|
0dbfb8c |
+ pack_putc(0, fp); pack_putc(0, fp); // 2 bytes padding
|
|
|
0dbfb8c |
+ pack_iputl(table[i].score, fp);
|
|
|
0dbfb8c |
+ pack_iputl(table[i].level, fp);
|
|
|
0dbfb8c |
// generate check sum
|
|
|
0dbfb8c |
checksum = generate_checksum(&table[i]);
|
|
|
0dbfb8c |
// save checksum
|
|
|
0dbfb8c |
- pack_fwrite(&checksum, sizeof(int), fp);
|
|
|
0dbfb8c |
+ pack_iputl(checksum, fp);
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
|
|
|
0dbfb8c |
Index: alex4src/src/options.c
|
|
|
0dbfb8c |
===================================================================
|
|
|
0dbfb8c |
--- alex4src.orig/src/options.c 2008-01-17 00:24:31.000000000 +0100
|
|
|
0dbfb8c |
+++ alex4src/src/options.c 2008-01-17 00:36:56.000000000 +0100
|
|
|
0dbfb8c |
@@ -26,12 +26,26 @@
|
|
|
0dbfb8c |
|
|
|
0dbfb8c |
// saves the data structure to disk
|
|
|
0dbfb8c |
void save_options(Toptions *o, PACKFILE *fp) {
|
|
|
0dbfb8c |
- pack_fwrite(o, sizeof(Toptions), fp);
|
|
|
0dbfb8c |
+ int i;
|
|
|
0dbfb8c |
+ pack_iputl(o->max_levels, fp);
|
|
|
0dbfb8c |
+ for (i = 0; i < MAX_LEVELS; ++i)
|
|
|
0dbfb8c |
+ pack_iputl(o->cherries[i], fp);
|
|
|
0dbfb8c |
+ for (i = 0; i < MAX_LEVELS; ++i)
|
|
|
0dbfb8c |
+ pack_iputl(o->stars[i], fp);
|
|
|
0dbfb8c |
+ pack_iputl(o->use_vsync, fp);
|
|
|
0dbfb8c |
+ pack_iputl(o->one_hundred, fp);
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
|
|
|
0dbfb8c |
// loads the data structure from disk
|
|
|
0dbfb8c |
void load_options(Toptions *o, PACKFILE *fp) {
|
|
|
0dbfb8c |
- pack_fread(o, sizeof(Toptions), fp);
|
|
|
0dbfb8c |
+ int i;
|
|
|
0dbfb8c |
+ o->max_levels = pack_igetl(fp);
|
|
|
0dbfb8c |
+ for (i = 0; i < MAX_LEVELS; ++i)
|
|
|
0dbfb8c |
+ o->cherries[i] = pack_igetl(fp);
|
|
|
0dbfb8c |
+ for (i = 0; i < MAX_LEVELS; ++i)
|
|
|
0dbfb8c |
+ o->stars[i] = pack_igetl(fp);
|
|
|
0dbfb8c |
+ o->use_vsync = pack_igetl(fp);
|
|
|
0dbfb8c |
+ o->one_hundred = pack_igetl(fp);
|
|
|
0dbfb8c |
}
|
|
|
0dbfb8c |
|
|
|
c538221 |
// resets all data
|