Hi,

the bugs is still here and I write a small patch to fix it.

It's probably not perfect but it's enough to share high-scores with
other users on the computer.

Regards,

Florent.
diff -Nru crack-attack-1.1.14.old//data/multiplier_record ./data/multiplier_record
--- crack-attack-1.1.14.old//data/multiplier_record	1970-01-01 01:00:00.000000000 +0100
+++ ./data/multiplier_record	2011-03-22 16:27:11.829772768 +0100
@@ -0,0 +1,20 @@
+
+0
+
+0
+
+0
+
+0
+
+0
+
+0
+
+0
+
+0
+
+0
+
+0
diff -Nru crack-attack-1.1.14.old//data/score_record ./data/score_record
--- crack-attack-1.1.14.old//data/score_record	1970-01-01 01:00:00.000000000 +0100
+++ ./data/score_record	2011-03-22 16:27:11.829772768 +0100
@@ -0,0 +1,60 @@
+AluminumAngel
+600
+***********
+580
+Fish Person
+560
+SidekickSeven
+540
+~5Moon Mellon
+520
+Mr. Twinkles
+500
+Cup
+480
+~9Shadow
+460
+enoyaw
+440
+ [
+420
+Book
+400
+~8Plum
+380
+Stankpants
+360
+Food
+340
+Mrs. Hidges
+320
+~3Banana
+300
+1337 h/|x0R
+280
+Ladle Head
+260
+~2Apple
+240
+ScrollLock
+220
+ ]
+200
+Tater-Tot
+180
+~6Orange
+160
+Sen-TR++
+140
+Happy Puppy
+120
+Mr. Muddle
+100
+Tony the Tortoise
+80
+Rap Master B
+60
+~1A~2B~3C
+40
+Tod Tortellini
+20
diff -Nru crack-attack-1.1.14.old//debian/crack-attack.postinst ./debian/crack-attack.postinst
--- crack-attack-1.1.14.old//debian/crack-attack.postinst	2011-03-22 16:39:36.000000000 +0100
+++ ./debian/crack-attack.postinst	2011-03-22 16:37:58.485715148 +0100
@@ -4,6 +4,29 @@
 
 set -e
 
+DIR=/var/games/crack-attack
+DATADIR=/usr/share/games/crack-attack
+MULTI_FILE=multiplier_record
+SINGLE_FILE=score_record
+
+case "$1" in 
+  configure) 
+  if ! [ -e "$DIR" ]; then
+     mkdir -p "$DIR"
+     chmod 755 $DIR
+  fi
+  if ! [ -f "$DIR/$MULTI_FILE" ]; then
+    cp $DATADIR/$MULTI_FILE  $DIR/$MULTI_FILE
+    chmod 664 $DIR/$MULTI_FILE 
+  fi
+  if ! [ -f "$DIR/$SINGLE_FILE" ]; then
+    cp $DATADIR/$SINGLE_FILE $DIR/$SINGLE_FILE
+    chmod 664 $DIR/$SINGLE_FILE
+  fi
+  chown -R root:games $DIR
+
+esac
+
 if test -x /usr/bin/update-menus; then update-menus; fi
 
 #DEBHELPER#
diff -Nru crack-attack-1.1.14.old//debian/crack-attack.postrm ./debian/crack-attack.postrm
--- crack-attack-1.1.14.old//debian/crack-attack.postrm	2011-03-22 16:39:36.000000000 +0100
+++ ./debian/crack-attack.postrm	2011-03-22 16:37:58.485715148 +0100
@@ -4,6 +4,10 @@
 
 set -e
 
+if [ "$1" = "purge" ]; then
+	rm -rf /var/games/crack-attack
+fi
+
 if test -x /usr/bin/update-menus; then update-menus; fi
 
 #DEBHELPER#
diff -Nru crack-attack-1.1.14.old//data/Makefile.am ./data/Makefile.am
--- crack-attack-1.1.14.old//data/Makefile.am	2005-04-28 23:42:49.000000000 +0200
+++ ./data/Makefile.am	2011-03-22 16:27:11.829772768 +0100
@@ -1,2 +1,2 @@
-pkgdata_DATA = clock_0.tga clock_1.tga clock_2.tga clock_3.tga clock_4.tga clock_5.tga clock_6.tga clock_7.tga clock_8.tga clock_9.tga clock_extra.tga count_down_1.tga count_down_2.tga count_down_3.tga count_down_go.tga default_record flavor_1.tga flavor_2.tga font0_0.tga font0_1.tga font0_2.tga font0_3.tga font0_4.tga font0_5.tga font0_6.tga font0_7.tga font0_8.tga font0_9.tga font0_a.tga font0_and.tga font0_at.tga font0_b.tga font0_br.tga font0_c.tga font0_ca.tga font0_cb.tga font0_cc.tga font0_cd.tga font0_ce.tga font0_cf.tga font0_cg.tga font0_ch.tga font0_ci.tga font0_cj.tga font0_ck.tga font0_cl.tga font0_cln.tga font0_cm.tga font0_cma.tga font0_cn.tga font0_co.tga font0_cp.tga font0_cq.tga font0_cr.tga font0_cs.tga font0_ct.tga font0_cu.tga font0_cv.tga font0_cw.tga font0_cx.tga font0_cy.tga font0_cz.tga font0_d.tga font0_ds.tga font0_e.tga font0_ep.tga font0_eq.tga font0_f.tga font0_g.tga font0_gt.tga font0_h.tga font0_i.tga font0_j.tga font0_k.tga font0_l.tga font0_lt.tga font0_m.tga font0_mn.tga font0_n.tga font0_o.tga font0_p.tga font0_pd.tga font0_pe.tga font0_pl.tga font0_pr.tga font0_ps.tga font0_pu.tga font0_q.tga font0_qm.tga font0_r.tga font0_s.tga font0_sl.tga font0_t.tga font0_td.tga font0_u.tga font0_v.tga font0_w.tga font0_x.tga font0_y.tga font0_z.tga font0_za.tga font0_zb.tga font0_zc.tga font0_zd.tga garbage_flavor_000.tga garbage_flavor_001.tga garbage_flavor_002.tga garbage_flavor_003.tga garbage_flavor_004.tga garbage_flavor_005.tga garbage_flavor_logo.tga garbage_flavor_logo_x.tga garbage_lightmap_0.tga garbage_lightmap_1.tga garbage_lightmap_2.tga garbage_lightmap_3.tga garbage_lightmap_4.tga garbage_lightmap_5.tga logo.tga logo_x.tga message_anykey.tga message_game_over.tga message_loser.tga message_paused.tga message_waiting.tga message_winner.tga sign_10.tga sign_11.tga sign_12.tga sign_4.tga sign_5.tga sign_6.tga sign_7.tga sign_8.tga sign_9.tga sign_bonus.tga sign_x10.tga sign_x11.tga sign_x12.tga sign_x2.tga sign_x3.tga sign_x4.tga sign_x5.tga sign_x6.tga sign_x7.tga sign_x8.tga sign_x9.tga crack-attack.desktop crack-attack.xpm default_multiplier preview_normal.tga preview_extremely_reduced.tga preview_reduced.tga
-EXTRA_DIST = ${pkgdata_DATA}
+pkgdata_DATA = multiplier_record score_record clock_0.tga clock_1.tga clock_2.tga clock_3.tga clock_4.tga clock_5.tga clock_6.tga clock_7.tga clock_8.tga clock_9.tga clock_extra.tga count_down_1.tga count_down_2.tga count_down_3.tga count_down_go.tga default_record flavor_1.tga flavor_2.tga font0_0.tga font0_1.tga font0_2.tga font0_3.tga font0_4.tga font0_5.tga font0_6.tga font0_7.tga font0_8.tga font0_9.tga font0_a.tga font0_and.tga font0_at.tga font0_b.tga font0_br.tga font0_c.tga font0_ca.tga font0_cb.tga font0_cc.tga font0_cd.tga font0_ce.tga font0_cf.tga font0_cg.tga font0_ch.tga font0_ci.tga font0_cj.tga font0_ck.tga font0_cl.tga font0_cln.tga font0_cm.tga font0_cma.tga font0_cn.tga font0_co.tga font0_cp.tga font0_cq.tga font0_cr.tga font0_cs.tga font0_ct.tga font0_cu.tga font0_cv.tga font0_cw.tga font0_cx.tga font0_cy.tga font0_cz.tga font0_d.tga font0_ds.tga font0_e.tga font0_ep.tga font0_eq.tga font0_f.tga font0_g.tga font0_gt.tga font0_h.tga font0_i.tga font0_j.tga font0_k.tga font0_l.tga font0_lt.tga font0_m.tga font0_mn.tga font0_n.tga font0_o.tga font0_p.tga font0_pd.tga font0_pe.tga font0_pl.tga font0_pr.tga font0_ps.tga font0_pu.tga font0_q.tga font0_qm.tga font0_r.tga font0_s.tga font0_sl.tga font0_t.tga font0_td.tga font0_u.tga font0_v.tga font0_w.tga font0_x.tga font0_y.tga font0_z.tga font0_za.tga font0_zb.tga font0_zc.tga font0_zd.tga garbage_flavor_000.tga garbage_flavor_001.tga garbage_flavor_002.tga garbage_flavor_003.tga garbage_flavor_004.tga garbage_flavor_005.tga garbage_flavor_logo.tga garbage_flavor_logo_x.tga garbage_lightmap_0.tga garbage_lightmap_1.tga garbage_lightmap_2.tga garbage_lightmap_3.tga garbage_lightmap_4.tga garbage_lightmap_5.tga logo.tga logo_x.tga message_anykey.tga message_game_over.tga message_loser.tga message_paused.tga message_waiting.tga message_winner.tga sign_10.tga sign_11.tga sign_12.tga sign_4.tga sign_5.tga sign_6.tga sign_7.tga sign_8.tga sign_9.tga sign_bonus.tga sign_x10.tga sign_x11.tga sign_x12.tga sign_x2.tga sign_x3.tga sign_x4.tga sign_x5.tga sign_x6.tga sign_x7.tga sign_x8.tga sign_x9.tga crack-attack.desktop crack-attack.xpm default_multiplier preview_normal.tga preview_extremely_reduced.tga preview_reduced.tga
+EXTRA_DIST = ${pkgdata_DATA} 
diff -Nru crack-attack-1.1.14.old/src/Game.h crack-attack-1.1.14/src/Game.h
--- crack-attack-1.1.14.old/src/Game.h  2005-05-03 21:03:58.000000000 +0200
+++ crack-attack-1.1.14/src/Game.h      2011-03-22 14:34:01.034215169 +0100
@@ -82,6 +82,7 @@
 #    define GC_DATA_DIRECTORY(x)          DATA_DIRECTORY x
 #  endif
 #  define GC_LOCAL_DATA_DIRECTORY        GC_DD "." GC_BINARY GC_DD
+#  define GC_LOCAL_SCORE_DIRECTORY       GC_DD "var" GC_DD "games" GC_DD GC_BINARY GC_DD
 #  define GC_BINARY_LOCATION             BINARY_DIRECTORY GC_DD GC_BINARY
 #else
 #  define GC_DATA_DIRECTORY(x)              ".." GC_DD "data" GC_DD x
diff -Nru crack-attack-1.1.14.old/src/Score.cxx crack-attack-1.1.14/src/Score.cxx
--- crack-attack-1.1.14.old/src/Score.cxx       2005-04-16 17:20:44.000000000 +0200
+++ crack-attack-1.1.14/src/Score.cxx   2011-03-22 14:26:39.181715512 +0100
@@ -122,7 +122,7 @@
 {
   char file_name[256];
   char buffer[256];
-  TextureLoader::buildLocalDataFileName(GC_MULT_FILE_NAME, file_name);
+  TextureLoader::buildLocalRecordFileName(GC_MULT_FILE_NAME, file_name);
   ifstream new_file(file_name);
   if (new_file.fail()) return false;

@@ -138,7 +138,7 @@
 bool Score::readScoreRecord (   )
 {
   char file_name[256];
-  TextureLoader::buildLocalDataFileName((MetaState::mode & CM_X)
+  TextureLoader::buildLocalRecordFileName((MetaState::mode & CM_X)
    ? GC_X_REC_FILE_NAME : GC_REC_FILE_NAME, file_name);
   ifstream file(file_name);
   if (file.fail()) return false;
@@ -156,7 +156,7 @@
 void Score::writeScoreRecord (   )
 {
   char file_name[256];
-  TextureLoader::buildLocalDataFileName((MetaState::mode & CM_X)
+  TextureLoader::buildLocalRecordFileName((MetaState::mode & CM_X)
    ? GC_X_REC_FILE_NAME : GC_REC_FILE_NAME, file_name);
   ofstream file(file_name);
   if (file.fail()) {
@@ -169,7 +169,7 @@
   file.close();

   // mult record
-  TextureLoader::buildLocalDataFileName(GC_MULT_FILE_NAME, file_name);
+  TextureLoader::buildLocalRecordFileName(GC_MULT_FILE_NAME, file_name);
   ofstream mult(file_name);
   if (mult.fail()) {
     cerr << "Error writing to score record file '" << file_name << "'." << endl;
diff -Nru crack-attack-1.1.14.old/src/TextureLoader.h crack-attack-1.1.14/src/TextureLoader.h
--- crack-attack-1.1.14.old/src/TextureLoader.h 2011-03-22 15:17:13.000000000 +0100
+++ crack-attack-1.1.14/src/TextureLoader.h     2011-03-22 14:43:03.821715614 +0100
@@ -79,6 +79,18 @@
 #endif
     strncpy(file_name, s.str().data(), 256);
   }
+
+  static inline void buildLocalRecordFileName ( const char base_name[256],
+   char file_name[256] )
+  {
+    ostringstream s;
+#ifndef _WIN32
+    s << GC_LOCAL_SCORE_DIRECTORY << base_name << ends;
+#else
+    s << GC_LOCAL_DATA_DIRECTORY << base_name << ends;
+#endif
+    strncpy(file_name, s.str().data(), 256);
+  }
 };

 #endif

Reply via email to