Overview
| Comment: | Display descriptions of inventory items when clicking them. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
4ff38183947409215f51a6165ea4902b |
| User & Date: | user on 2021-11-30 04:36:13.657 |
| Other Links: | manifest | tags |
Context
|
2021-12-03
| ||
| 20:32 | Implement the spare page in the picture editor. check-in: 72f318849b user: user tags: trunk | |
|
2021-11-30
| ||
| 04:36 | Display descriptions of inventory items when clicking them. check-in: 4ff3818394 user: user tags: trunk | |
|
2021-11-26
| ||
| 05:28 | Make the {include} macro safer, and allow it to work with composite puzzle sets too. check-in: 224148554e user: user tags: trunk | |
Changes
Modified game.c
from [2ace16c827]
to [641fb75f65].
| ︙ | ︙ | |||
643 644 645 646 647 648 649 650 651 652 653 654 655 656 |
return;
}
s=sqlite3_mprintf("\x0C\x0E%s:%d\\ %s\x0B\x0F%s",classes[objects[n]->class]->name,objects[n]->image,classes[objects[n]->class]->name,classes[objects[n]->class]->gamehelp);
if(!s) fatal("Allocation failed\n");
modal_draw_popup(s);
sqlite3_free(s);
}
static void do_import_moves(const char*arg) {
FILE*fp;
int i;
if(!arg || !arg[strspn(arg," \t")]) return;
fp=popen(arg,"r");
if(!fp) {
| > > > > > > > > > > > | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 |
return;
}
s=sqlite3_mprintf("\x0C\x0E%s:%d\\ %s\x0B\x0F%s",classes[objects[n]->class]->name,objects[n]->image,classes[objects[n]->class]->name,classes[objects[n]->class]->gamehelp);
if(!s) fatal("Allocation failed\n");
modal_draw_popup(s);
sqlite3_free(s);
}
static void describe_inventory(int n) {
unsigned char*s;
if(n<0 || n>=ninventory) return;
if(!classes[inventory[n].class]->gamehelp) return;
if(classes[inventory[n].class]->gamehelp[0]==16) return;
s=sqlite3_mprintf("\x0C\x0E%s:%d\\ %s\x0B\x0F%s",classes[inventory[n].class]->name,inventory[n].image,classes[inventory[n].class]->name,classes[inventory[n].class]->gamehelp);
if(!s) fatal("Allocation failed\n");
modal_draw_popup(s);
sqlite3_free(s);
}
static void do_import_moves(const char*arg) {
FILE*fp;
int i;
if(!arg || !arg[strspn(arg," \t")]) return;
fp=popen(arg,"r");
if(!fp) {
|
| ︙ | ︙ | |||
1004 1005 1006 1007 1008 1009 1010 |
}
break;
case SDL_MOUSEBUTTONDOWN:
if(ev.button.x<left_margin) {
if(ev.button.y<48) break;
if(side_mode) {
// Inventory
| | > > | 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 |
}
break;
case SDL_MOUSEBUTTONDOWN:
if(ev.button.x<left_margin) {
if(ev.button.y<48) break;
if(side_mode) {
// Inventory
describe_inventory((ev.button.y-52)/picture_size);
timerflag=0;
redraw_game();
} else {
// Move list
i=(ev.button.y+4)/16-(screen->h-68)/32-4;
if(i<0) game_command(0,'- ',-i,0,0,0); else if(i>0) game_command(0,'+ ',i,0,0,0);
goto replay;
}
break;
|
| ︙ | ︙ |