Free Hero Mesh

Diff
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Differences From Artifact [51aa9509a3]:

To Artifact [b17b014cc7]:


1294
1295
1296
1297
1298
1299
1300
1301
1302
1303




1304
1305
1306
1307
1308
1309
1310
1294
1295
1296
1297
1298
1299
1300



1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311







-
-
-
+
+
+
+







        while(*pt==10) pt++;
        break;
      case 30: // "\d"
        re:
        pp=pt=ll_find(pt,30);
        if(!pt) goto notfound;
        for(i=0;ps[i];i++) {
          if(ps[i]==':' || ps[i]=='\\') break;
          if(ps[i]!=pt[i] && ps[i]!='?') {
            pt+=i;
          if(ps[i]==':' || ps[i]==';' || ps[i]=='\\') break;
          if(ps[i]!=pt[i+1] && ps[i]!='?') {
            if(!pt[i]) goto notfound;
            pt+=i?:1;
            goto re;
          }
        }
        ps+=i+1;
        pt+=i+2;
        break;
      case '+':
1350
1351
1352
1353
1354
1355
1356



1357
1358
1359
1360
1361
1362
1363
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367







+
+
+







        stack[sp++]=NVALUE(1);
        return sp;
      case '%':
        if(!so || !eo || so>eo) break;
        stack[sp++]=NVALUE(eo-so);
        stack[sp++]=NVALUE(1);
        return sp;
      case 'Z':
        if(main_options['t'] && main_options['v']) printf("'' (str=%p title=%p sp=%d ps=%p pt=%p so=%p eo=%p pp=%p q=%p)\n",str,title,sp,ps,pt,so,eo,pp,q);
        break;
      default: bad:
        if(main_options['v']) fprintf(stderr,"Invalid character (0x%02X) in string in LevelTable definition\n",ps[-1]);
        return 64;
    }
  }
  notfound: stack[sp++]=NVALUE(0); return sp;
}