Index: game.c ================================================================== --- game.c +++ game.c @@ -111,10 +111,11 @@ draw_text(8,screen->h-8,buf,0xF0,0xFC); for(y=44,x=replay_pos-(screen->h-68)/32;;x++) { y+=16; if(y+24>screen->h) break; if(x>=0 && xbutton.y-52)/picture_size; if(x<0 || x>=ninventory) strcpy(buf," "); else snprintf(buf,8,"%7d",inventory[x].value); } else { // Move list x=replay_pos+(ev->button.y+4)/16-(screen->h-68)/32-4; - if(x<0 || x>replay_count) strcpy(buf," "); else snprintf(buf,8,"=%6d",x); + if(x<0 || x>replay_count) strcpy(buf," "); else snprintf(buf,8,"%c%6d",xreplay_pos?0xAF:0xFE,x); } } else { if(x>0 && y>0 && x<=pfwidth && y<=pfheight) snprintf(buf,8,"(%2d,%2d)",x,y); else strcpy(buf," "); } Index: keyicons.xbm ================================================================== --- keyicons.xbm +++ keyicons.xbm @@ -2,13 +2,13 @@ #define keyicons_height 4096 static unsigned char keyicons_bits[] = { 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, - 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, - 0x55, 0x00, 0xaa, 0x00, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, - 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, + 0x55, 0x55, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, + 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, + 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0xaa, 0xaa, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00, 0xaa, Index: sql.doc ================================================================== --- sql.doc +++ sql.doc @@ -125,10 +125,12 @@ null unless the data has changed, in which case the new data is stored here; it will later rewrite the Hamster archive with the new data and then it will be set to null again. USERSTATE contains user data such as the list of moves made by the player. FILE is the ID in the user cache index, and indicates which Hamster archive file this lump belongs to. + (The USERSTATE column of this SQL table is not related to the UserState + variable of objects in the game.) CREATE TABLE "USERCACHEINDEX"("ID" INTEGER PRIMARY KEY, "NAME" TEXT, "TIME" INT); The user cache index; contains one record for each .level and .solution file of all puzzle sets which have been loaded. NAME is the full path,