git » fp-git.git » commit 329314d

bugfix in backs

author ecalot
2005-01-13 18:40:45 UTC
committer ecalot
2005-01-13 18:40:45 UTC
parent 601085ce0f2a08e30f7d478e3315941a37af4cb6

bugfix in backs

FP/src/conf/awk/tiles_conf_groups.awk +2 -2
FP/src/res/tiles.c +1 -1

diff --git a/FP/src/conf/awk/tiles_conf_groups.awk b/FP/src/conf/awk/tiles_conf_groups.awk
index 21db164..c05319f 100644
--- a/FP/src/conf/awk/tiles_conf_groups.awk
+++ b/FP/src/conf/awk/tiles_conf_groups.awk
@@ -56,8 +56,8 @@ END {
 	for (group in total) {
 		offsets[group]=offset
 		for (i=0;i<total[group];i++) {
-			if (backs[group,total[group]]) { #if there is a back selected add them
-				printf "%s%s+1,%d",coma,groups[group,i]+128,backs[group,total[group]]
+			if (backs[group,i]) { #if there is a back selected add them
+				printf "%s(unsigned char)(%s+129),%d",coma,groups[group,i],backs[group,i]-1
 				coma=","
 				offset+=2
 			} else {
diff --git a/FP/src/res/tiles.c b/FP/src/res/tiles.c
index 7feea71..5b649d3 100644
--- a/FP/src/res/tiles.c
+++ b/FP/src/res/tiles.c
@@ -43,7 +43,7 @@ int isInGroup(unsigned char tile,unsigned char backtile,short group) {
 	tile++;
 	do {
 		docontinue=0;
-		while ((*i)&&(((*i)&0x7f)!=tile)) i++;
+		while ((*i)&&(((*i)&0x7f)!=tile)) i+=((*i)&0x80)?2:1;
 		if ((*i)&0x80) {
 			i++;
 			if ((*i)==(backtile+1)) return 1;