Overview
Comment: | Add a placeholder icon for the new move at the end of the move list |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7a6ec6b4a117db5851c3bda2c11025d0 |
User & Date: | user on 2021-01-07 07:42:53 |
Other Links: | manifest | tags |
Context
2021-01-08
| ||
00:32 | Change read_lump function; also add read_userstate and write_userstate. check-in: 7dab93e8a9 user: user tags: trunk | |
2021-01-07
| ||
07:42 | Add a placeholder icon for the new move at the end of the move list check-in: 7a6ec6b4a1 user: user tags: trunk | |
2021-01-06
| ||
22:33 | Write more about the WinLevel instruction check-in: 44aa200a8a user: user tags: trunk | |
Changes
Modified game.c from [6379500623] to [e1f2a7b97d].
︙ | |||
109 110 111 112 113 114 115 116 117 118 119 120 121 122 | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | + | draw_text(8,52,buf,0xF0,0xF9); snprintf(buf,8,"%5d",replay_count); 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 && x<replay_count) draw_key(16,y,replay_list[x],0xF8,0xFB); if(x==replay_count) draw_key(16,y,1,0xF0,0xF8); if(x==replay_pos) draw_text(0,y,"~~",0xF0,0xFE); if(x==replay_mark) draw_text(32,y,"~~",0xF0,0xFD); } SDL_UnlockSurface(screen); } if(quiz_text) draw_popup(quiz_text); SDL_Flip(screen); |
︙ | |||
179 180 181 182 183 184 185 | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | - + | } else if(side_mode) { // Inventory x=(ev->button.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; |
︙ |
Modified keyicons.xbm from [cde032d1fd] to [9bb248112a].
1 2 3 4 5 6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | - - - + + + | #define keyicons_width 16 #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, |
︙ |
Modified sql.doc from [1e5a6a3c19] to [8e507e60da].
︙ | |||
123 124 125 126 127 128 129 130 131 132 133 134 135 136 | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | + + | Contains the user cache data for the .level and .solution files of each puzzle set, in order to speed up loading and saving. The DATA will be 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, and TIME is the UNIX timestamp. If you want to delete a record, then you should also delete all records from USERCACHEDATA whose FILE value |
︙ |