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 [9f8ddd9795]:

To Artifact [e38cb33701]:


1608
1609
1610
1611
1612
1613
1614

1615
1616
1617
1618
1619
1620
1621
1622






1623
1624
1625
1626
1627
1628
1629
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636







+








+
+
+
+
+
+







          x=0;
          for(;;) {
            nxttok();
            if(tokent==TF_CLOSE) break;
            if(Tokenf(TF_MACRO) || !Tokenf(TF_NAME) || tokenv!=OP_USERFLAG) ParseError("User flag or close parenthesis expected\n");
            tokenv=look_hash(glohash,HASH_SIZE,0x1000,0x10FF,0,"user flags");
            if(!tokenv) ParseError("User flag ^%s not defined\n",tokenstr);
            uflags1:
            if((tokenv^y)&0xE0) {
              if(y&0x100) ParseError("User flag ^%s belongs to the wrong attribute\n",tokenstr);
            } else {
              if(Tokenf(TF_COMMA)) x&=~(1<<(tokenv&31)); else x|=1<<(tokenv&31);
            }
          }
          tokenv=x;
          goto numeric;
        case OP_USERFLAG:
          tokenv=look_hash(glohash,HASH_SIZE,0x1000,0x10FF,0,"user flags");
          if(!tokenv) ParseError("User flag ^%s not defined\n",tokenstr);
          x=0;
          y=(tokenv&0xE0)|0x100;
          goto uflags1;
        default:
          ParseError("Invalid parenthesized instruction\n");
      }
    } else if(tokent==TF_CLOSE) {
      if(flowdepth) ParseError("Unterminated flow control structure\n");
      if(peep<ptr && cl->codes[ptr-1]==OP_RET) break;
      if(peep<ptr && (cl->codes[ptr-1]&0xFF00)==0x1E00) break;