Free Hero Mesh

Check-in [decc02f01b]
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:For key dispatch, return the Arg2 value if no block is found.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: decc02f01bd560554fd739235e8008d442db8033
User & Date: user on 2021-03-18 21:20:03
Other Links: manifest | tags
Context
2021-03-19
06:09
Implement sleeping during autotest if the .progress resource is set to a negative number. check-in: a747e28795 user: user tags: trunk
2021-03-18
21:20
For key dispatch, return the Arg2 value if no block is found. check-in: decc02f01b user: user tags: trunk
2021-03-11
07:38
Implement the "chain" instruction check-in: 83764e9bf8 user: user tags: trunk
Changes

Modified exec.c from [c94459c1c8] to [a0b55bb923].

1281
1282
1283
1284
1285
1286
1287




1288
1289
1290
1291
1292
1293
1294
    if(*t==31 && t[1]) t+=2; else t+=1;
  }
}

static int v_dispatch(const Uint16*code) {
  int i=msgvars.arg1.u;
  if(msgvars.arg1.t!=TY_NUMBER) Throw("Type mismatch");




  if(msgvars.arg1.u&~0xFF) {
    if(current_key && !v_bool(msgvars.arg3)) key_ignored=all_flushed=1;
    return 0;
  }
  if(!i) return 0;
  if(current_key && !v_bool(msgvars.arg3) && !(keymask[i>>3]&(1<<(i&7)))) key_ignored=all_flushed=1;
  return code[i];







>
>
>
>







1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
    if(*t==31 && t[1]) t+=2; else t+=1;
  }
}

static int v_dispatch(const Uint16*code) {
  int i=msgvars.arg1.u;
  if(msgvars.arg1.t!=TY_NUMBER) Throw("Type mismatch");
  if(!i || (msgvars.arg1.u&~0xFF) || !code[i]) {
    StackReq(0,1);
    Push(msgvars.arg2);
  }
  if(msgvars.arg1.u&~0xFF) {
    if(current_key && !v_bool(msgvars.arg3)) key_ignored=all_flushed=1;
    return 0;
  }
  if(!i) return 0;
  if(current_key && !v_bool(msgvars.arg3) && !(keymask[i>>3]&(1<<(i&7)))) key_ignored=all_flushed=1;
  return code[i];