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
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];