| @@ -45,7 +45,7 @@ | |||
| %start mesh_description | |||
| %token T_COLOR T_BCOLOR | |||
| %token T_COLOR T_BCOLOR T_VCOLOR | |||
| %token T_TRANSLATEX T_ROTATEX T_TAPERX T_TWISTX T_SHEARX T_STRETCHX T_BENDXY T_BENDXZ T_SCALEX T_MIRRORX | |||
| %token T_TRANSLATEY T_ROTATEY T_TAPERY T_TWISTY T_SHEARY T_STRETCHY T_BENDYX T_BENDYZ T_SCALEY T_MIRRORY | |||
| @@ -147,6 +147,11 @@ color_command: | |||
| | T_BCOLOR COLOR { uint32_t x = $2; | |||
| ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); | |||
| mc.m_mesh.SetCurColor2(vec4(v) * (1.f / 255.f)); } | |||
| | T_VCOLOR fv fv fv fv { mc.m_mesh.SetVertColor(vec4($2, $3, $4, $5)); } | |||
| | T_VCOLOR v4 { mc.m_mesh.SetVertColor(vec4($2[0], $2[1], $2[2], $2[3])); } | |||
| | T_VCOLOR COLOR { uint32_t x = $2; | |||
| ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); | |||
| mc.m_mesh.SetVertColor(vec4(v) * (1.f / 255.f)); } | |||
| ; | |||
| transform_command: | |||
| @@ -48,14 +48,15 @@ typedef lol::EasyMeshParser::token_type token_type; | |||
| %} | |||
| (csgu|csgunion) { return token::T_CSGUNION; } | |||
| (csgs|CsgSub) { return token::T_CSGSUBSTRACT; } | |||
| (csgsl|CsgSubL) { return token::T_CSGSUBSTRACTLOSS; } | |||
| (csgs|CsgSub) { return token::T_CSGSUBSTRACT; } | |||
| (csgsl|CsgSubL) { return token::T_CSGSUBSTRACTLOSS; } | |||
| (csga|csgand) { return token::T_CSGAND; } | |||
| (csgx|csgxor) { return token::T_CSGXOR; } | |||
| (tsw|scalewinding) { return token::T_TOGGLESCALEWINDING; } | |||
| (sc|setcolor) { return token::T_COLOR; } | |||
| (scb|setbcolor) { return token::T_BCOLOR; } | |||
| (scv|setcolorvert) { return token::T_VCOLOR; } | |||
| (tx|translatex) { return token::T_TRANSLATEX; } | |||
| (ty|translatey) { return token::T_TRANSLATEY; } | |||
| @@ -138,68 +138,69 @@ namespace lol { | |||
| T_END = 0, | |||
| T_COLOR = 258, | |||
| T_BCOLOR = 259, | |||
| T_TRANSLATEX = 260, | |||
| T_ROTATEX = 261, | |||
| T_TAPERX = 262, | |||
| T_TWISTX = 263, | |||
| T_SHEARX = 264, | |||
| T_STRETCHX = 265, | |||
| T_BENDXY = 266, | |||
| T_BENDXZ = 267, | |||
| T_SCALEX = 268, | |||
| T_MIRRORX = 269, | |||
| T_TRANSLATEY = 270, | |||
| T_ROTATEY = 271, | |||
| T_TAPERY = 272, | |||
| T_TWISTY = 273, | |||
| T_SHEARY = 274, | |||
| T_STRETCHY = 275, | |||
| T_BENDYX = 276, | |||
| T_BENDYZ = 277, | |||
| T_SCALEY = 278, | |||
| T_MIRRORY = 279, | |||
| T_TRANSLATEZ = 280, | |||
| T_ROTATEZ = 281, | |||
| T_TAPERZ = 282, | |||
| T_TWISTZ = 283, | |||
| T_SHEARZ = 284, | |||
| T_STRETCHZ = 285, | |||
| T_BENDZX = 286, | |||
| T_BENDZY = 287, | |||
| T_SCALEZ = 288, | |||
| T_MIRRORZ = 289, | |||
| T_TRANSLATE = 290, | |||
| T_ROTATE = 291, | |||
| T_SCALE = 292, | |||
| T_TOGGLESCALEWINDING = 293, | |||
| T_RADIALJITTER = 294, | |||
| T_SPLITTRIANGLE = 295, | |||
| T_SMOOTHMESH = 296, | |||
| T_DUPLICATE = 297, | |||
| T_CSGUNION = 298, | |||
| T_CSGSUBSTRACT = 299, | |||
| T_CSGSUBSTRACTLOSS = 300, | |||
| T_CSGAND = 301, | |||
| T_CSGXOR = 302, | |||
| T_CHAMFER = 303, | |||
| T_CYLINDER = 304, | |||
| T_BOX = 305, | |||
| T_SMOOTHCHAMFBOX = 306, | |||
| T_FLATCHAMFBOX = 307, | |||
| T_SPHERE = 308, | |||
| T_CAPSULE = 309, | |||
| T_STAR = 310, | |||
| T_EXPANDEDSTAR = 311, | |||
| T_DISC = 312, | |||
| T_TRIANGLE = 313, | |||
| T_QUAD = 314, | |||
| T_COG = 315, | |||
| T_TORUS = 316, | |||
| T_ERROR = 317, | |||
| F_NUMBER = 318, | |||
| I_NUMBER = 319, | |||
| BOOLEAN = 320, | |||
| COLOR = 321 | |||
| T_VCOLOR = 260, | |||
| T_TRANSLATEX = 261, | |||
| T_ROTATEX = 262, | |||
| T_TAPERX = 263, | |||
| T_TWISTX = 264, | |||
| T_SHEARX = 265, | |||
| T_STRETCHX = 266, | |||
| T_BENDXY = 267, | |||
| T_BENDXZ = 268, | |||
| T_SCALEX = 269, | |||
| T_MIRRORX = 270, | |||
| T_TRANSLATEY = 271, | |||
| T_ROTATEY = 272, | |||
| T_TAPERY = 273, | |||
| T_TWISTY = 274, | |||
| T_SHEARY = 275, | |||
| T_STRETCHY = 276, | |||
| T_BENDYX = 277, | |||
| T_BENDYZ = 278, | |||
| T_SCALEY = 279, | |||
| T_MIRRORY = 280, | |||
| T_TRANSLATEZ = 281, | |||
| T_ROTATEZ = 282, | |||
| T_TAPERZ = 283, | |||
| T_TWISTZ = 284, | |||
| T_SHEARZ = 285, | |||
| T_STRETCHZ = 286, | |||
| T_BENDZX = 287, | |||
| T_BENDZY = 288, | |||
| T_SCALEZ = 289, | |||
| T_MIRRORZ = 290, | |||
| T_TRANSLATE = 291, | |||
| T_ROTATE = 292, | |||
| T_SCALE = 293, | |||
| T_TOGGLESCALEWINDING = 294, | |||
| T_RADIALJITTER = 295, | |||
| T_SPLITTRIANGLE = 296, | |||
| T_SMOOTHMESH = 297, | |||
| T_DUPLICATE = 298, | |||
| T_CSGUNION = 299, | |||
| T_CSGSUBSTRACT = 300, | |||
| T_CSGSUBSTRACTLOSS = 301, | |||
| T_CSGAND = 302, | |||
| T_CSGXOR = 303, | |||
| T_CHAMFER = 304, | |||
| T_CYLINDER = 305, | |||
| T_BOX = 306, | |||
| T_SMOOTHCHAMFBOX = 307, | |||
| T_FLATCHAMFBOX = 308, | |||
| T_SPHERE = 309, | |||
| T_CAPSULE = 310, | |||
| T_STAR = 311, | |||
| T_EXPANDEDSTAR = 312, | |||
| T_DISC = 313, | |||
| T_TRIANGLE = 314, | |||
| T_QUAD = 315, | |||
| T_COG = 316, | |||
| T_TORUS = 317, | |||
| T_ERROR = 318, | |||
| F_NUMBER = 319, | |||
| I_NUMBER = 320, | |||
| BOOLEAN = 321, | |||
| COLOR = 322 | |||
| }; | |||
| }; | |||
| @@ -373,7 +374,7 @@ namespace lol { | |||
| } // lol | |||
| /* Line 34 of lalr1.cc */ | |||
| #line 377 "generated/easymesh-parser.h" | |||
| #line 378 "generated/easymesh-parser.h" | |||
| @@ -1,6 +1,6 @@ | |||
| addlight 0.0 position (1 -1 1) color #fff | |||
| addlight 0.0 position (-1 -1 -1) color #fff | |||
| clearcolor #f00 | |||
| clearcolor #000 | |||
| //addlight 0.0 position (1 0 1) color #0ff | |||
| //addlight 0.0 position (-0.2 -1 -0.5) color (.0 .2 .5 1) | |||
| @@ -8,16 +8,15 @@ clearcolor #f00 | |||
| custom setmesh " | |||
| [sc#0f0 scb#0f0 ac 3 .5 .4 0 ty .25 [ad 3 .4 sy -1] ty .5 ac 3 1 .1 .1 ty .5 dup [ rz 90 ry 90 dup [ ry 90 ] ] ] | |||
| [sc#0f0 scb#0f0 ac 3 .5 .4 0 ty .25 [ad 3 .4 sy -1] ty .5 ac 3 1 .1 .1 ty .5 dup [ rz 90 ry 90 scv#00f dup [ ry 90 scv#f00 ] ] ] | |||
| [sc#fff ab .1] | |||
| //[sc#f00 scb#f00 ac 3 .5 .4 0 ty .25 [ad 3 .4 sy -1] ty .5 ac 3 1 .1 .1 ty .5 rz -90] | |||
| //[sc#00f scb#00f ac 3 .5 .4 0 ty .25 [ad 3 .4 sy -1] ty .5 ac 3 1 .1 .1 ty .5 rx 90] | |||
| //[sc#fff ab .1] | |||
| [sc#f00 ab .2 tx 1] | |||
| [sc#0f0 ab .2 ty 1] | |||
| [sc#00f ab .2 tz 1] | |||
| //[sc#f00 ab .2 tx 1] | |||
| //[sc#0f0 ab .2 ty 1] | |||
| //[sc#00f ab .2 tz 1] | |||
| //sc#0f0 ab 2 ty 1.5 ab 2 | |||
| //sc#00f ab 2 ty 1.5 ab 2 | |||
| @@ -1,7 +1,7 @@ | |||
| //------------------------------------------------------------------------- | |||
| //Command vars operations | |||
| //------------------------------------------------------------------------- | |||
| CmdVar("[ ]", ["Opens a new context,\nevery operations between the braces\nwill only be done to the vertices added\nsince the start of this context."]); | |||
| CmdVar("[ ]", ["Opens a new scope,\nevery operations between the braces\nwill only be done to the vertices added\nsince the start of this scope."]); | |||
| CmdVar("float", ["Fraction value", "0.0"]); | |||
| CmdVar("int", ["No decimal value", "0"]); | |||
| CmdVar("bool", ["Boolean value", "true/false", "1/0"]); | |||
| @@ -24,7 +24,8 @@ CmdType(["csgx", "csgxor"], "Performs a Xor operation as (m0_Outside/m0_Inside- | |||
| //------------------------------------------------------------------------- | |||
| CmdType(["tsw", "scalewinding"], "When activated, on negative-scaling,\nnormal-vector correction will not occur"); | |||
| CmdType(["sc", "setcolor"], "Set A color", [CmdArg("color", "color")]); | |||
| CmdType(["scb", "setbgcolor"], "Set B color", [CmdArg("color", "color")]); | |||
| CmdType(["scb", "setcolorb"], "Set B color", [CmdArg("color", "color")]); | |||
| CmdType(["scv", "setcolorv"], "Set the color of all vertices in this scope", [CmdArg("color", "color")]); | |||
| //------------------------------------------------------------------------- | |||
| //Mesh transform operations | |||