Implement Info option
authorH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 16 Oct 2014 11:27:04 +0000 (13:27 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Thu, 16 Oct 2014 11:27:04 +0000 (13:27 +0200)
This button option pops up a notice with the comment line above the
game definition.

fairymax.c

index 9f6571b..3c19a21 100644 (file)
@@ -109,6 +109,7 @@ int prom, pm, gating, succession, hill;
 char piecename[32], piecetype[32], blacktype[32];\r
 char selectedFairy[80];\r
 char *inifile = INI_FILE;\r
+char info[999];\r
 \r
 int Ticks, tlim, Setup, SetupQ;\r
 \r
@@ -464,6 +465,7 @@ void PrintOptions()
        printf("feature option=\"Dummy Slider Example -slider 20 0 100\"\n");\r
        printf("feature option=\"Dummy String Example -string happy birthday!\"\n");\r
        printf("feature option=\"Dummy Path Example -path .\"\n");\r
+       printf("feature option=\"Info -button\"\n");\r
        printf("feature option=\"Clear Hash -button\"\n");\r
        printf("feature done=1\n");\r
 }\r
@@ -489,7 +491,9 @@ void LoadGame(char *name)
            if(!strcmp(name, "fairy")) name = selectedFairy;\r
            gating = !strcmp(name, "seirawan");\r
            while((ptc=fscanf(f, "Game: %s # %s # %s", buf, pieceToChar, parent))==0 || strcmp(name, buf) ) {\r
-               while((c = fgetc(f)) != EOF && c != '\n');\r
+               char *p = info;\r
+               while((c = fgetc(f)) != EOF && c != '\n') *p++ = c;\r
+               if(*info == '/') *p = 0; else *info = 0; // remember last line before Game if it was comment\r
                count++;\r
                if(c == EOF) {\r
                    printf("telluser variant %s not supported\n", name);\r
@@ -759,6 +763,7 @@ printf("# promo = %d (%c) GT = %d\n", prom, prom + '`', GT);
                                inifile = filename; continue;\r
                        }\r
                        if(sscanf(line+7, "Clear Hash%c", &c) == 1) for(i=0; i<=U; i++) A->K = 0;\r
+                       if(sscanf(line+7, "Info%c", &c) == 1) printf("telluser %s\n", info+3);\r
                        if(sscanf(line+7, "MultiVariation Margin=%d", &margin) == 1) continue;\r
                        if(sscanf(line+7, "Variant fairy selects=%s", selectedFairy+6) == 1) continue;\r
                        if(sscanf(line+7, "Makruk rules=%s", Cambodian) == 1) continue;\r