--- SpaceAryarya-KXL-1.0.2.old/data/Makefile.am +++ SpaceAryarya-KXL-1.0.2/data/Makefile.am @@ -1,6 +1,5 @@ datadir = $(prefix)/share/SpaceAryarya/data data_DATA = stage1.dat stage2.dat -EXTRA_DIST = stage1.dat stage2.dat .score +EXTRA_DIST = stage1.dat stage2.dat install: - $(INSTALL) -c -m 666 ./.score $(DESTDIR)$(DATA_PATH) --- SpaceAryarya-KXL-1.0.2.old/data/Makefile.in +++ SpaceAryarya-KXL-1.0.2/data/Makefile.in @@ -68,7 +68,7 @@ datadir = $(prefix)/share/SpaceAryarya/data data_DATA = stage1.dat stage2.dat -EXTRA_DIST = stage1.dat stage2.dat .score +EXTRA_DIST = stage1.dat stage2.dat mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = DATA = $(data_DATA) @@ -190,7 +190,6 @@ install: - $(INSTALL) -c -m 666 ./.score $(DESTDIR)$(DATA_PATH) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. --- SpaceAryarya-KXL-1.0.2.old/src/ranking.c +++ SpaceAryarya-KXL-1.0.2/src/ranking.c @@ -1,4 +1,8 @@ +#include +#include #include +#include + #include "geki4.h" #include "extern.h" @@ -28,6 +32,33 @@ WriteScore(); } +/* ---------------------------------------------------------------- */ + +char *GetPathScore (void) +{ + int n; + static char path [128]; + char *home = getenv ("HOME"); + + if ((home == NULL) || + ((n = strlen (home)) < 2) || (n > 80)) + { + home = "/tmp"; + } + + strcpy (path, home); + mkdir (path, 0600); + strcat (path, "/.config"); + mkdir (path, 0600); + strcat (path, "/kxlgames"); + mkdir (path, 0600); + strcat (path, "/aryarya-score"); + + return (path); +} + +/* ---------------------------------------------------------------- */ + /********************** スコア読み込み **********************/ @@ -36,7 +67,7 @@ FILE *fp; Uint16 i; - if ((fp = fopen(DATA_PATH "/.score", "r"))) { + if ((fp = fopen (GetPathScore(), "r"))) { fscanf(fp, "%d", &(Root->HiScore)); for (i = 0; i < 5; i ++) fscanf(fp, "%d %d %s", @@ -65,7 +96,7 @@ FILE *fp; Uint16 i; - if ((fp = fopen(DATA_PATH "/.score", "w"))) { + if ((fp = fopen (GetPathScore(), "w"))) { fprintf(fp, "%d\n", Root->HiScore); for (i = 0; i < 5; i ++) fprintf(fp, "%d %d %s\n", --- SpaceAryarya-KXL-1.0.2.old/src/ranking.c +++ SpaceAryarya-KXL-1.0.2/src/ranking.c @@ -76,13 +76,13 @@ Ranking[i]->Name); fclose(fp); } else { - Root->HiScore = 5000; + Root->HiScore = 250; for (i = 0; i < 4; i ++) { - Ranking[i]->Score = 5000 - i * 1000; + Ranking[i]->Score = 250 - i * 50; Ranking[i]->Stage = i == 3 ? 0 : 1; sprintf(Ranking[i]->Name, "hoge%d", i + 1); } - Ranking[4]->Score = 1000; + Ranking[4]->Score = 50; Ranking[4]->Stage = 0; sprintf(Ranking[4]->Name, "hoge5"); } --- SpaceAryarya-KXL-1.0.2.old/src/misc.c +++ SpaceAryarya-KXL-1.0.2/src/misc.c @@ -128,6 +128,9 @@ } break; default: + KXL_PlaySound(0, KXL_SOUND_STOP_ALL); + ScoreRanking(); + KXL_Font("-bitstream-charter-bold-*-normal-*-60-*-*-*-*-*-*-*", 0x00, 0x00, 0x00); KXL_PutText(AREA_LX + 2 + (DRAW_WIDTH - KXL_TextWidth(str[no])) / 2, AREA_LY + 100 + 2, str[no]);