Free Hero Mesh

Check-in [ce300fde56]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:If you click on an object to view the description but doesn't have one, try the one below, until finding one that has a description (if any).
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ce300fde569888903a222a5604ec3e8bd76ccc52
User & Date: user on 2022-03-03 01:39:13
Other Links: manifest | tags
Context
2022-03-03
02:33
If Node.js is not installed, do not attempt to overwrite instruc.h, names.h, and quarks.h. check-in: 9a7b2de351 user: user tags: trunk
01:39
If you click on an object to view the description but doesn't have one, try the one below, until finding one that has a description (if any). check-in: ce300fde56 user: user tags: trunk
2022-02-22
02:35
Implement FindConnection instruction. check-in: c49ea7253d user: user tags: trunk
Changes

Modified game.c from [145146cd02] to [6c6e1550de].

635
636
637
638
639
640
641
642

643
644
645
646
647
648
649
static void describe_at(int xy) {
  unsigned char*s;
  Uint32 n;
  if(xy<0 || xy>=64*64) return;
  n=playfield[xy];
  if(n==VOIDLINK) return;
  while(n!=VOIDLINK && objects[n]->up!=VOIDLINK) n=objects[n]->up;
  if(!classes[objects[n]->class]->gamehelp) return;

  if(classes[objects[n]->class]->gamehelp[0]==16 && !classes[objects[n]->class]->gamehelp[1]) {
    if(objects[n]->misc1.t!=TY_LEVELSTRING || objects[n]->misc1.u>=nlevelstrings) return;
    modal_draw_popup(levelstrings[objects[n]->misc1.u]);
    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");







|
>







635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
static void describe_at(int xy) {
  unsigned char*s;
  Uint32 n;
  if(xy<0 || xy>=64*64) return;
  n=playfield[xy];
  if(n==VOIDLINK) return;
  while(n!=VOIDLINK && objects[n]->up!=VOIDLINK) n=objects[n]->up;
  while(n!=VOIDLINK && !classes[objects[n]->class]->gamehelp) n=objects[n]->down;
  if(n==VOIDLINK) return;
  if(classes[objects[n]->class]->gamehelp[0]==16 && !classes[objects[n]->class]->gamehelp[1]) {
    if(objects[n]->misc1.t!=TY_LEVELSTRING || objects[n]->misc1.u>=nlevelstrings) return;
    modal_draw_popup(levelstrings[objects[n]->misc1.u]);
    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");