Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37559799
en ru br
Репозитории ALT

Группа :: Игры/Прочее
Пакет: alex4

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: alex4-dot-files-endian-clean.patch
Скачать


Index: alex4src/src/control.c
===================================================================
--- alex4src.orig/src/control.c	2008-01-17 00:20:33.000000000 +0100
+++ alex4src/src/control.c	2008-01-17 00:29:35.000000000 +0100
@@ -93,10 +93,24 @@
 
 // saves the control config to disk using FP
 void save_control(Tcontrol *c, PACKFILE *fp) {
-	pack_fwrite(c, sizeof(Tcontrol), fp);
+	pack_iputl(c->use_joy, fp);
+	pack_iputl(c->key_left, fp);
+	pack_iputl(c->key_right, fp);
+	pack_iputl(c->key_up, fp);
+	pack_iputl(c->key_down, fp);
+	pack_iputl(c->key_fire, fp);
+	pack_iputl(c->key_jump, fp);
+	pack_putc(c->flags, fp);
 }
 
 // loads the control config from disk using FP
 void load_control(Tcontrol *c, PACKFILE *fp) {
-	pack_fread(c, sizeof(Tcontrol), fp);
+	c->use_joy = pack_igetl(fp);
+	c->key_left = pack_igetl(fp);
+	c->key_right = pack_igetl(fp);
+	c->key_up = pack_igetl(fp);
+	c->key_down = pack_igetl(fp);
+	c->key_fire = pack_igetl(fp);
+	c->key_jump = pack_igetl(fp);
+	c->flags = pack_getc(fp);
 }
Index: alex4src/src/hisc.c
===================================================================
--- alex4src.orig/src/hisc.c	2008-01-17 00:29:45.000000000 +0100
+++ alex4src/src/hisc.c	2008-01-17 00:42:13.000000000 +0100
@@ -117,9 +117,12 @@
 	for(i=0; i<MAX_SCORES; i++) {
 		int c_disk, c_real;
 		// load entry
-		pack_fread(&table[i], sizeof(Thisc), fp);
+                pack_fread(&table[i].name, sizeof(table[i].name), fp);
+                pack_getc(fp); pack_getc(fp); // 2 bytes padding
+                table[i].score = pack_igetl(fp);
+                table[i].level = pack_igetl(fp);
 		// load checksum
-		pack_fread(&c_disk, sizeof(int), fp);
+                c_disk = pack_igetl(fp);
 		// generate check sum
 		c_real = generate_checksum(&table[i]);
 		// compare checksums
@@ -137,11 +140,14 @@
 	for(i=0; i<MAX_SCORES; i++) {
 		int checksum;
 		// save entry
-		pack_fwrite(&table[i], sizeof(Thisc), fp);
+		pack_fwrite(&table[i].name, sizeof(table[i].name), fp);
+                pack_putc(0, fp); pack_putc(0, fp); // 2 bytes padding
+                pack_iputl(table[i].score, fp);
+                pack_iputl(table[i].level, fp);
 		// generate check sum
 		checksum = generate_checksum(&table[i]);
 		// save checksum
-		pack_fwrite(&checksum, sizeof(int), fp);
+                pack_iputl(checksum, fp);
 	}
 }
 
Index: alex4src/src/options.c
===================================================================
--- alex4src.orig/src/options.c	2008-01-17 00:24:31.000000000 +0100
+++ alex4src/src/options.c	2008-01-17 00:36:56.000000000 +0100
@@ -26,12 +26,26 @@
 
 // saves the data structure to disk
 void save_options(Toptions *o, PACKFILE *fp) {
-	pack_fwrite(o, sizeof(Toptions), fp);
+        int i;
+        pack_iputl(o->max_levels, fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                pack_iputl(o->cherries[i], fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                pack_iputl(o->stars[i], fp);
+        pack_iputl(o->use_vsync, fp);
+        pack_iputl(o->one_hundred, fp);
 }
 
 // loads the data structure from disk
 void load_options(Toptions *o, PACKFILE *fp) {
-	pack_fread(o, sizeof(Toptions), fp);
+        int i;
+        o->max_levels = pack_igetl(fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                o->cherries[i] = pack_igetl(fp);
+        for (i = 0; i < MAX_LEVELS; ++i)
+                o->stars[i] = pack_igetl(fp);
+        o->use_vsync = pack_igetl(fp);
+        o->one_hundred = pack_igetl(fp);
 }
 
 // resets all data
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin