3D platformer v1.05

Instructions: USE ONLY IN TURBOWARP!!!! https://turbowarp.org/524198774/fullscreen?hqpen&interpolate\n\nMove with WASD, rotate with arrow keys, space to jump and z (or shift in turbowarp) to slide down slopes.\n\nI unshared it, because I was having some problems, for example, having a replica of the player at (0, 0, 0). Or all tris have a vertex that goes to (0, 0, 0).

@Stage\n\n@Sprite1\n\n@manager\n\nwhen flag clicked\nset [-deltatime v] to [0.0000001]\nerase all\nreset timer\nbroadcast (load v) and wait\nforever\n    set [-oldtimer v] to (timer)\n    broadcast (update v) and wait\n    broadcast (render v) and wait\n    set [-deltatime v] to ((timer) - (-OldTimer))\n    set [-fps v] to (round ((1) / (-DeltaTime)))\n    if <(-DeltaTime) > [.1]> then\n        set [-deltatime v] to [.1]\n    end\nend\n\n@Load Scene\n\ndefine load Level\nset [tridatalenght v] to [23]\ndelete all of [_tris data v]\ndelete all of [distances v]\ndelete all of [#sort order v]\ndelete all of [notrender v]\ndelete all of [numbers v]\ndelete all of [_objects data v]\nset [counter v] to [0]\nrepeat (10)\n    add (counter) to [numbers v]\n    change [counter v] by (1)\nend\nload level\n\ndefine add tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) color HSVa (1) (2) (3) (4) mode (m) normal +- (xn) (yn) (zn) bfc <bfc?> offset (x) (y) (z)\nadd <bfc?> to [notrender v]\nadd (x1) to [_tris data v]\nadd (y1) to [_tris data v]\nadd (z1) to [_tris data v]\nadd (x2) to [_tris data v]\nadd (y2) to [_tris data v]\nadd (z2) to [_tris data v]\nadd (x3) to [_tris data v]\nadd (y3) to [_tris data v]\nadd (z3) to [_tris data v]\nadd (1) to [_tris data v]\nadd (2) to [_tris data v]\nadd (3) to [_tris data v]\nadd (4) to [_tris data v]\ndelete all of [creating v]\nget cross product ((x2) - (x1)) ((y2) - (y1)) ((z2) - (z1)) and ((x3) - (x1)) ((y3) - (y1)) ((z3) - (z1))\nadd (=crossProductX) to [creating v]\nadd (=crossProductY) to [creating v]\nadd (=crossProductZ) to [creating v]\nadd ([sqrt v] of (((item (1) of [creating v]) * (item (1) of [creating v])) + (((item (2) of [creating v]) * (item (2) of [creating v])) + ((item (3) of [creating v]) * (item (3) of [creating v])))) ) to [creating v]\nget dot product (xn) (yn) (zn) and (item (1) of [creating v]) (item (2) of [creating v]) (item (3) of [creating v])\nif <[0] > (=dotProduct)> then\n    add (() - ((item (1) of [creating v]) / (item (4) of [creating v]))) to [creating v]\n    add (() - ((item (2) of [creating v]) / (item (4) of [creating v]))) to [creating v]\n    add (() - ((item (3) of [creating v]) / (item (4) of [creating v]))) to [creating v]\nelse\n    add ((item (1) of [creating v]) / (item (4) of [creating v])) to [creating v]\n    add ((item (2) of [creating v]) / (item (4) of [creating v])) to [creating v]\n    add ((item (3) of [creating v]) / (item (4) of [creating v])) to [creating v]\nend\nadd (item (5) of [creating v]) to [_tris data v]\nadd (item (6) of [creating v]) to [_tris data v]\nadd (item (7) of [creating v]) to [_tris data v]\nif <(item (6) of [creating v]) < [0]> then\n    add ((((item (5) of [creating v]) * (x1)) + (((item (6) of [creating v]) * (y1)) + ((item (7) of [creating v]) * (z1)))) - ()) to [_tris data v]\nelse\n    add ((((() - (item (5) of [creating v])) * (x1)) + (((() - (item (6) of [creating v])) * (y1)) + ((() - (item (7) of [creating v])) * (z1)))) - ()) to [_tris data v]\nend\nadd ((((x1) + ((x2) + (x3))) / (3)) + (x)) to [_tris data v]\nadd ((((y1) + ((y2) + (y3))) / (3)) + (y)) to [_tris data v]\nadd ((((z1) + ((z2) + (z3))) / (3)) + (z)) to [_tris data v]\nadd (m) to [_tris data v]\nadd [0] to [_tris data v]\nadd <bfc?> to [_tris data v]\n\nwhen I receive [load v]\npre-claculate sin and cos\nload Level\nload Player\n\ndefine get dot product (x1) (y1) (z1) and (x2) (y2) (z2)\nset [=dotproduct v] to (((x1) * (x2)) + (((y1) * (y2)) + ((z1) * (z2))))\n\ndefine get cross product (x1) (y1) (z1) and (x2) (y2) (z2)\nset [=crossproductx v] to (((y1) * (z2)) - ((y2) * (z1)))\nset [=crossproducty v] to (((z1) * (x2)) - ((z2) * (x1)))\nset [=crossproductz v] to (((x1) * (y2)) - ((x2) * (y1)))\n\ndefine obj.load scale (s) mode (m) data (d) offset (x) (y) (z)\nobj.getVertexList (d) size (s) offset (x) (y) (z)\nobj.get tris data (d)\nAdd mesh mode (m)\n\ndefine obj.add mat (1) (2) (3) (4)\nadd (1) to [player || materials v]\nadd (2) to [player || materials v]\nadd (3) to [player || materials v]\nadd (4) to [player || materials v]\n\ndefine obj.getVertexList (v) size (s) offset (x) (y) (z)\nset [counter v] to [0]\nrepeat (length of (v))\n    change [counter v] by (1)\n    if <(letter (counter) of (v)) = [v]> then\n        if <(join (letter (counter) of (v)) (letter ((counter) + (1)) of (v))) = [vt]> then\n            stop [this script v]\n        end\n        change [counter v] by (2)\n        set [counter3 v] to [0]\n        repeat (3)\n            change [counter3 v] by (1)\n            set [obj.add v] to []\n            if <(letter (counter) of (v)) = [-]> then\n                repeat (9)\n                    set [obj.add v] to (join (obj.add) (letter (counter) of (v)))\n                    change [counter v] by (1)\n                end\n            else\n                repeat (8)\n                    set [obj.add v] to (join (obj.add) (letter (counter) of (v)))\n                    change [counter v] by (1)\n                end\n            end\n            if <(counter3) = [1]> then\n                set [#x v] to ((obj.add) * (s))\n            else\n                if <(counter3) = [2]> then\n                    set [#y v] to ((obj.add) * (s))\n                else\n                    set [#z v] to ((obj.add) * (s))\n                    rotation matrix from Y (#x) (#y) (#z)\n                    add ((#x) + (x)) to [player || vertex v]\n                    add ((#y) + (y)) to [player || vertex v]\n                    add ((#z) + (z)) to [player || vertex v]\n                end\n            end\n            change [counter v] by (1)\n        end\n        change [counter v] by (-1)\n    end\nend\n\ndefine obj.skip vt and vn (data)\nset [counter v] to (((length of (player || Vertex)) - (length of [player || vertex v])) * (2))\nrepeat until <(join (letter (counter) of (data)) (join (letter ((counter) + (1)) of (data)) (letter ((counter) + (2)) of (data)))) = [use]>\n    change [counter v] by (1)\nend\n\ndefine obj.get tris data (f)\nobj.skip vt and vn (f)\nset [obj.lastmat v] to [1]\nrepeat ((length of (f)) - (counter))\n    change [counter v] by (1)\n    if <(counter) > (length of (f))> then\n        stop [this script v]\n    end\n    if <(join (letter (counter) of (f)) (join (letter ((counter) + (1)) of (f)) (letter ((counter) + (2)) of (f)))) = [use]> then\n        change [counter v] by (7)\n        change [obj.lastmat v] by (1)\n    end\n    if <(letter (counter) of (f)) = [f]> then\n        if <[numbers v] contains (letter ((counter) + (2)) of (f))?> then\n            change [counter v] by (2)\n            repeat (2)\n                add to data (f)\n                wait to space (f)\n                change [counter v] by (1)\n            end\n            add to data (f)\n            add (obj.lastMat) to [player || tris v]\n            wait to space (f)\n            if <[numbers v] contains (letter ((counter) + (1)) of (f))?> then\n                add (item ((length of [player || tris v]) - (3)) of [player || tris v]) to [player || tris v]\n                add (item ((length of [player || tris v]) - (2)) of [player || tris v]) to [player || tris v]\n                change [counter v] by (1)\n                add to data (f)\n                add (obj.lastMat) to [player || tris v]\n                change [counter v] by (1)\n            end\n        else\n            change [counter v] by (1)\n        end\n    end\nend\n\ndefine wait to space (s)\nrepeat until <(letter (counter) of (s)) = [ ]>\n    change [counter v] by (1)\n    if <(counter) > (length of (s))> then\n        stop [this script v]\n    end\nend\n\ndefine add to data (d)\nset [obj.add v] to []\nrepeat until <(letter (counter) of (d)) = [/]>\n    if <not <(letter (counter) of (d)) = [/]>> then\n        set [obj.add v] to (join (obj.add) (letter (counter) of (d)))\n        change [counter v] by (1)\n    end\nend\nadd (obj.add) to [player || tris v]\n\ndefine Add mesh mode (m)\nset [counter v] to [0]\nrepeat ((length of [player || tris v]) / (4))\n    change [counter v] by (4)\n    add tri (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (2)) of [player || vertex v]) (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (1)) of [player || vertex v]) (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (0)) of [player || vertex v]) (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (2)) of [player || vertex v]) (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (1)) of [player || vertex v]) (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (0)) of [player || vertex v]) (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (2)) of [player || vertex v]) (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (1)) of [player || vertex v]) (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (0)) of [player || vertex v]) color HSVa (item (((item (counter) of [player || tris v]) * (4)) - (3)) of [player || materials v]) (item (((item (counter) of [player || tris v]) * (4)) - (2)) of [player || materials v]) (item (((item (counter) of [player || tris v]) * (4)) - (1)) of [player || materials v]) (item (((item (counter) of [player || tris v]) * (4)) - (0)) of [player || materials v]) mode (m) normal +- [] [] [] bfc <(_BFC) = [true]> offset [] [0] []\nend\nfix fox ears\n\ndefine fix fox ears\nreplace item (length of [_tris data v]) of [_tris data v] with [false]\nreplace item ((length of [_tris data v]) - ((triDataLenght) * (1))) of [_tris data v] with [false]\n\ndefine load Player\nset [_bfc v] to [true]\nset [\(ysin v] to [0]\nset [\(ycos v] to [1]\ndelete all of [player || tris v]\ndelete all of [player || vertex v]\ndelete all of [player || materials v]\nadd [shadow] to [_objects data v]\nadd [0] to [_objects data v]\nadd [0] to [_objects data v]\nadd [0] to [_objects data v]\nadd [100] to [_objects data v]\nobj.add mat [8] [100] [45] [0]\nobj.add mat [10] [70] [60] [0]\nobj.add mat [9] [80] [30] [0]\nobj.get tris data [v 0.128589 4.442776 -0.351741 v 0.128589 5.267098 -0.700000 v 0.128589 4.442776 -1.048259 v -0.003568 2.714495 0.001157 v -2.624099 3.535924 0.000000 v 0.130326 4.442146 1.049129 v 0.132062 4.441518 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -1.000000 -1.000000 v -0.325136 -2.243612 -0.650000 v -0.012469 -0.934976 -0.650000 v 0.168802 -2.243612 -0.350000 v 0.168802 -2.243612 -0.950000 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.860373 -1.245143 v 0.178051 0.683009 -0.982584 v 0.178051 1.037737 -1.507701 v -0.343633 0.860373 1.245142 v -0.012469 2.708744 -0.003471 v 0.178051 0.683009 0.982584 v 0.178051 1.037737 1.507701 v 0.128589 5.267098 0.700000 v 0.128589 4.442776 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn 0.0000 0.2602 -0.9655 vn 0.9743 0.2252 0.0000 vn 0.0000 0.2597 0.9657 vn 0.0000 -1.0000 0.0000 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn -0.5176 0.5407 -0.6632 vn 0.9967 0.0671 0.0454 vn -0.5174 -0.4100 0.7511 vn -0.0000 -0.8286 -0.5598 vn -0.5176 0.5407 0.6631 vn 0.9964 0.0705 -0.0476 vn -0.5176 -0.4133 -0.7492 vn -0.0000 -0.8286 0.5598 vn -0.9747 0.2234 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/8 15/20/8 14/22/8 f 16/26/9 17/27/9 19/28/9 f 19/28/10 17/29/10 18/30/10 f 18/30/11 17/31/11 16/32/11 f 16/33/8 19/28/8 18/30/8 f 20/34/12 4/10/12 22/35/12 f 22/35/13 4/12/13 21/36/13 f 21/36/14 4/14/14 20/37/14 f 20/38/15 22/35/15 21/36/15 f 23/39/16 26/40/16 24/41/16 f 26/40/17 25/42/17 24/43/17 f 25/42/18 23/44/18 24/45/18 f 23/46/19 25/42/19 26/40/19 usemtl tripa f 8/47/20 4/48/20 9/9/20 usemtl orejas f 1/49/21 2/50/21 3/51/21 f 6/52/22 27/53/22 28/54/22]\nset [playertris# v] to ((length of [player || tris v]) / (4))\nAdd mesh mode [plTris]\nplayer Vertex s [8] obj [v 0.128589 4.442776 -0.351741 v 0.128589 5.267098 -0.700000 v 0.128589 4.442776 -1.048259 v -0.003568 2.714495 0.001157 v -2.624099 3.535924 0.000000 v 0.130326 4.442146 1.049129 v 0.132062 4.441518 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -1.000000 -1.000000 v -0.325136 -2.243612 -0.650000 v -0.012469 -0.934976 -0.650000 v 0.168802 -2.243612 -0.350000 v 0.168802 -2.243612 -0.950000 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.860373 -1.245143 v 0.178051 0.683009 -0.982584 v 0.178051 1.037737 -1.507701 v -0.343633 0.860373 1.245142 v -0.012469 2.708744 -0.003471 v 0.178051 0.683009 0.982584 v 0.178051 1.037737 1.507701 v 0.128589 5.267098 0.700000 v 0.128589 4.442776 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn 0.0000 0.2602 -0.9655 vn 0.9743 0.2252 0.0000 vn 0.0000 0.2597 0.9657 vn 0.0000 -1.0000 0.0000 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn -0.5176 0.5407 -0.6632 vn 0.9967 0.0671 0.0454 vn -0.5174 -0.4100 0.7511 vn -0.0000 -0.8286 -0.5598 vn -0.5176 0.5407 0.6631 vn 0.9964 0.0705 -0.0476 vn -0.5176 -0.4133 -0.7492 vn -0.0000 -0.8286 0.5598 vn -0.9747 0.2234 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/8 15/20/8 14/22/8 f 16/26/9 17/27/9 19/28/9 f 19/28/10 17/29/10 18/30/10 f 18/30/11 17/31/11 16/32/11 f 16/33/8 19/28/8 18/30/8 f 20/34/12 4/10/12 22/35/12 f 22/35/13 4/12/13 21/36/13 f 21/36/14 4/14/14 20/37/14 f 20/38/15 22/35/15 21/36/15 f 23/39/16 26/40/16 24/41/16 f 26/40/17 25/42/17 24/43/17 f 25/42/18 23/44/18 24/45/18 f 23/46/19 25/42/19 26/40/19 usemtl tripa f 8/47/20 4/48/20 9/9/20 usemtl orejas f 1/49/21 2/50/21 3/51/21 f 6/52/22 27/53/22 28/54/22]\nplayer Vertex s [8] obj [v 0.128589 4.476900 -0.351741 v 0.128589 5.301223 -0.700000 v 0.128589 4.476900 -1.048259 v -0.003568 2.748620 0.001157 v -2.624099 3.570049 0.000000 v 0.130326 4.476271 1.049129 v 0.132062 4.475642 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -0.987290 -1.000000 v -0.305744 -2.248333 -0.654303 v -0.012469 -0.934976 -0.650000 v 0.199394 -2.244517 -0.373596 v 0.176145 -2.237041 -0.973099 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.872448 -1.212637 v 0.178051 0.699823 -0.946939 v 0.178051 1.045073 -1.478336 v -0.343633 0.873477 1.214154 v -0.012469 2.742869 -0.003471 v 0.178051 0.699824 0.946939 v 0.178051 1.045073 1.478335 v 0.128589 5.301223 0.700000 v 0.128589 4.476900 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn -0.0019 0.2584 -0.9660 vn 0.9747 0.2236 0.0014 vn 0.0000 0.2575 0.9663 vn 0.0037 -1.0000 -0.0032 vn -0.5494 0.1254 -0.8261 vn 0.9877 0.1521 -0.0364 vn -0.4837 0.1052 0.8689 vn 0.0148 -0.9998 -0.0130 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn 0.0000 -1.0000 0.0000 vn -0.5176 0.5289 -0.6726 vn 0.9967 0.0679 0.0441 vn -0.5174 -0.3967 0.7582 vn -0.0000 -0.8386 -0.5448 vn -0.5154 0.5300 0.6735 vn 0.9964 0.0713 -0.0464 vn -0.5198 -0.3997 -0.7550 vn -0.0001 -0.8386 0.5448 vn -0.9752 0.2214 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.128589 4.580275 -0.351741 v 0.128589 5.404597 -0.700000 v 0.128589 4.580275 -1.048259 v -0.003568 2.851995 0.001157 v -2.624099 3.673423 0.000000 v 0.130326 4.579646 1.049129 v 0.132062 4.579017 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -0.948790 -1.000000 v -0.307853 -2.247836 -0.653795 v -0.012469 -0.934976 -0.650000 v 0.196104 -2.244455 -0.370967 v 0.175393 -2.237778 -0.970572 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.912584 -1.111740 v 0.178051 0.754662 -0.837048 v 0.178051 1.070507 -1.386431 v -0.343633 0.916564 1.117963 v -0.012469 2.846243 -0.003471 v 0.178051 0.754662 0.837048 v 0.178051 1.070507 1.386430 v 0.128589 5.404597 0.700000 v 0.128589 4.580275 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn -0.0076 0.2531 -0.9674 vn 0.9757 0.2189 0.0056 vn 0.0000 0.2510 0.9680 vn 0.0150 -0.9998 -0.0128 vn -0.5457 0.1252 -0.8286 vn 0.9881 0.1505 -0.0325 vn -0.4871 0.1071 0.8667 vn 0.0132 -0.9998 -0.0116 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn 0.0000 -1.0000 0.0000 vn -0.5175 0.4923 -0.6998 vn 0.9967 0.0702 0.0403 vn -0.5175 -0.3558 0.7782 vn 0.0000 -0.8669 -0.4984 vn -0.5085 0.4962 0.7037 vn 0.9964 0.0737 -0.0424 vn -0.5264 -0.3579 -0.7713 vn -0.0007 -0.8669 0.4984 vn -0.9764 0.2158 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.128589 4.690178 -0.351741 v 0.128589 5.514501 -0.700000 v 0.128589 4.690178 -1.048259 v -0.003568 2.961898 0.001157 v -2.624099 3.783327 0.000000 v 0.130326 4.689549 1.049129 v 0.132062 4.688920 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -0.907856 -1.000000 v -0.311022 -2.247081 -0.653049 v -0.012469 -0.934976 -0.650000 v 0.191141 -2.244346 -0.367044 v 0.174241 -2.238873 -0.966781 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.961370 -1.000853 v 0.178051 0.819592 -0.717491 v 0.178051 1.103148 -1.284214 v -0.343633 0.968201 1.012249 v -0.012469 2.956147 -0.003471 v 0.178051 0.819592 0.717490 v 0.178051 1.103148 1.284214 v 0.128589 5.514501 0.700000 v 0.128589 4.690178 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn -0.0133 0.2477 -0.9688 vn 0.9768 0.2141 0.0099 vn 0.0000 0.2445 0.9697 vn 0.0269 -0.9994 -0.0230 vn -0.5402 0.1248 -0.8322 vn 0.9886 0.1480 -0.0265 vn -0.4924 0.1100 0.8634 vn 0.0108 -0.9999 -0.0094 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn 0.0000 -1.0000 0.0000 vn -0.5175 0.4519 -0.7266 vn 0.9967 0.0724 0.0362 vn -0.5175 -0.3112 0.7971 vn 0.0000 -0.8943 -0.4475 vn -0.5012 0.4585 0.7339 vn 0.9964 0.0760 -0.0380 vn -0.5332 -0.3128 -0.7860 vn -0.0019 -0.8943 0.4475 vn -0.9777 0.2101 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.128589 4.741322 -0.351741 v 0.128589 5.565644 -0.700000 v 0.128589 4.741322 -1.048259 v -0.003568 3.013041 0.001157 v -2.624099 3.834470 0.000000 v 0.130326 4.740693 1.049129 v 0.132062 4.740064 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854796 -0.888809 -1.000000 v -0.314750 -2.246181 -0.652201 v -0.012469 -0.934976 -0.650000 v 0.185279 -2.244191 -0.362474 v 0.172854 -2.240148 -0.962332 v -0.325136 -2.243612 0.650000 v -0.012469 -0.934976 0.650000 v 0.168802 -2.243612 0.950000 v 0.168802 -2.243612 0.350000 v -0.343633 0.986304 -0.948134 v 0.178051 0.852198 -0.661062 v 0.178051 1.120411 -1.235206 v -0.343633 0.994358 0.961990 v -0.012469 3.007290 -0.003471 v 0.178051 0.852197 0.661061 v 0.178051 1.120411 1.235205 v 0.128589 5.565644 0.700000 v 0.128589 4.741322 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5043 -0.8490 vn -0.3123 0.9500 -0.0005 vn -0.1581 -0.5031 0.8496 vn 0.9970 -0.0778 0.0008 vn -0.0159 0.2452 -0.9693 vn 0.9772 0.2120 0.0118 vn 0.0000 0.2415 0.9704 vn 0.0325 -0.9991 -0.0278 vn -0.5336 0.1244 -0.8365 vn 0.9892 0.1451 -0.0195 vn -0.4984 0.1135 0.8595 vn 0.0080 -0.9999 -0.0069 vn -0.5152 0.1231 -0.8482 vn 0.9905 0.1372 0.0000 vn -0.5152 0.1231 0.8482 vn 0.0000 -1.0000 0.0000 vn -0.5175 0.4326 -0.7383 vn 0.9967 0.0733 0.0342 vn -0.5175 -0.2902 0.8049 vn 0.0000 -0.9060 -0.4232 vn -0.4977 0.4403 0.7473 vn 0.9964 0.0770 -0.0360 vn -0.5363 -0.2916 -0.7920 vn -0.0027 -0.9060 0.4232 vn -0.9782 0.2075 0.0000 vn -1.0000 -0.0000 0.0000 vn -1.0000 -0.0011 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v -0.182767 4.563616 -0.351741 v -0.325910 5.375415 -0.700000 v -0.182767 4.563616 -1.048259 v -0.012804 2.838643 0.001157 v -2.736163 3.192542 0.000000 v -0.180948 4.563297 1.049129 v -0.179129 4.562980 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.855077 -1.001976 -1.000000 v -0.336773 -2.503743 -0.651920 v -0.012469 -0.934976 -0.650000 v 0.157590 -2.498953 -0.351881 v 0.157551 -2.499835 -0.951895 v -0.336775 -2.503770 0.650000 v -0.012469 -0.934976 0.650000 v 0.157569 -2.499421 0.950000 v 0.157569 -2.499421 0.350000 v -0.343633 0.789196 -0.896156 v 0.178051 0.662649 -0.605672 v 0.178051 0.915742 -1.186640 v -0.328802 0.796867 0.912437 v -0.020571 2.831434 -0.003471 v 0.178051 0.662649 0.605671 v 0.178051 0.915742 1.186639 v -0.325910 5.375415 0.700000 v -0.182767 4.563616 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.0677 -0.5241 -0.8490 vn -0.4726 0.8813 -0.0005 vn -0.0683 -0.5229 0.8496 vn 0.9953 0.0965 0.0008 vn 0.0003 0.2523 -0.9676 vn 0.9754 0.2204 -0.0001 vn 0.0000 0.2518 0.9678 vn -0.0006 -1.0000 0.0005 vn -0.5164 0.1078 -0.8495 vn 0.9941 0.1081 -0.0002 vn -0.5167 0.1058 0.8496 vn 0.0088 -1.0000 0.0015 vn -0.5165 0.1068 -0.8496 vn 0.9941 0.1081 0.0000 vn -0.5165 0.1068 0.8496 vn 0.0088 -1.0000 0.0000 vn -0.5175 0.4119 -0.7500 vn 0.9964 0.0779 0.0339 vn -0.5177 -0.2717 0.8113 vn 0.0000 -0.9168 -0.3994 vn -0.5062 0.4166 0.7551 vn 0.9961 0.0813 -0.0354 vn -0.5500 -0.2721 -0.7896 vn -0.0010 -0.9168 0.3994 vn -0.9768 0.2143 0.0000 vn -0.9848 -0.1736 0.0000 vn -0.9846 -0.1747 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.214006 4.282817 -0.351741 v 0.253591 5.106189 -0.700000 v 0.214006 4.282817 -1.048259 v -0.000994 2.562877 0.001157 v -2.579056 3.509201 -0.000000 v 0.215710 4.282105 1.049129 v 0.217414 4.281394 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854787 -0.999758 -1.000000 v -0.323714 -2.211648 -0.649764 v -0.012469 -0.934976 -0.650000 v 0.170187 -2.212237 -0.349768 v 0.170192 -2.212129 -0.949767 v -0.323714 -2.211644 0.650000 v -0.012469 -0.934976 0.650000 v 0.170190 -2.212179 0.950000 v 0.170190 -2.212179 0.350000 v -0.343633 2.449358 -2.188383 v 0.178051 2.132738 -2.176262 v 0.178051 2.765977 -2.200504 v -0.347649 2.369013 2.144378 v -0.010161 2.557560 -0.003471 v 0.178051 2.132739 2.176263 v 0.178051 2.765977 2.200506 v 0.253591 5.106189 0.700000 v 0.214006 4.282817 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1818 -0.4962 -0.8490 vn -0.2664 0.9639 -0.0005 vn -0.1821 -0.4950 0.8496 vn 0.9921 -0.1256 0.0008 vn -0.0000 0.2705 -0.9627 vn 0.9723 0.2336 0.0000 vn 0.0000 0.2699 0.9629 vn 0.0001 -1.0000 -0.0001 vn -0.5150 0.1254 -0.8480 vn 0.9899 0.1416 0.0000 vn -0.5149 0.1257 0.8480 vn -0.0011 -1.0000 -0.0002 vn -0.5149 0.1255 -0.8480 vn -0.5149 0.1255 0.8480 vn -0.0011 -1.0000 0.0000 vn -0.5179 0.8547 0.0367 vn 0.9967 0.0031 0.0813 vn -0.5169 -0.8469 0.1248 vn 0.0000 -0.0383 -0.9993 vn -0.6008 0.7990 -0.0243 vn 0.9963 0.0033 -0.0854 vn -0.3986 -0.9060 -0.1422 vn -0.0776 -0.0381 0.9963 vn -0.9725 0.2330 0.0000 vn -0.9988 0.0480 0.0000 vn -0.9989 0.0470 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/10 17/29/10 18/30/10 f 18/30/14 17/31/14 16/32/14 f 16/33/15 19/28/15 18/30/15 f 20/34/16 4/10/16 22/35/16 f 22/35/17 4/12/17 21/36/17 f 21/36/18 4/14/18 20/37/18 f 20/38/19 22/35/19 21/36/19 f 23/39/20 26/40/20 24/41/20 f 26/40/21 25/42/21 24/43/21 f 25/42/22 23/44/22 24/45/22 f 23/46/23 25/42/23 26/40/23 usemtl tripa f 8/47/24 4/48/24 9/9/24 usemtl orejas f 1/49/25 2/50/25 3/51/25 f 6/52/26 27/53/26 28/54/26]\nplayer Vertex s [8] obj [v 0.436039 4.074465 -0.351741 v 0.579181 4.886265 -0.700000 v 0.436039 4.074465 -1.048259 v 0.005777 2.395390 0.001157 v -2.432303 3.659390 0.000000 v 0.437640 4.073545 1.049129 v 0.439241 4.072623 -1.050000 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.854628 -0.998520 -1.000000 v -0.316425 -2.048581 -0.648560 v -0.012469 -0.934976 -0.650000 v 0.177220 -2.052174 -0.348589 v 0.177249 -2.051512 -0.948580 v -0.316424 -2.048559 0.650000 v -0.012469 -0.934976 0.650000 v 0.177236 -2.051821 0.950000 v 0.177236 -2.051821 0.350000 v -0.343633 3.685645 -1.728422 v 0.178051 3.433380 -1.920144 v 0.178051 3.937910 -1.536700 v -0.357977 3.543015 1.705878 v -0.003987 2.391272 -0.003471 v 0.178051 3.433380 1.920146 v 0.178051 3.937910 1.536703 v 0.579181 4.886265 0.700000 v 0.436039 4.074465 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.2429 -0.4693 -0.8490 vn -0.1426 0.9898 -0.0005 vn -0.2430 -0.4680 0.8496 vn 0.9683 -0.2497 0.0008 vn -0.0002 0.2829 -0.9592 vn 0.9701 0.2426 0.0001 vn 0.0000 0.2822 0.9594 vn 0.0004 -1.0000 -0.0004 vn -0.5137 0.1391 -0.8466 vn 0.9859 0.1675 0.0002 vn -0.5134 0.1412 0.8465 vn -0.0066 -1.0000 -0.0011 vn -0.5135 0.1402 -0.8465 vn 0.9859 0.1675 0.0000 vn -0.5135 0.1402 0.8465 vn -0.0066 -1.0000 0.0000 vn -0.5176 0.6324 0.5763 vn 0.9968 -0.0482 0.0634 vn -0.5169 -0.7329 -0.4423 vn 0.0000 0.6051 -0.7962 vn -0.6056 0.5962 -0.5271 vn 0.9965 -0.0508 -0.0668 vn -0.3536 -0.8080 0.4712 vn -0.1909 0.5940 0.7815 vn -0.9693 0.2457 0.0000 vn -0.9848 0.1736 0.0000 vn -0.9850 0.1726 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.128589 4.405339 -0.505695 v 0.128589 5.196173 -0.924473 v 0.128589 4.344633 -1.199563 v -0.003568 2.714392 -0.003510 v -2.624099 3.532594 -0.076255 v 0.130326 4.526807 0.889899 v 0.132062 4.343228 -1.201187 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.764123 -0.566212 -1.000000 v -0.927231 -1.908041 -0.650000 v -0.012469 -0.934976 -0.650000 v -0.499468 -2.155011 -0.350000 v -0.499468 -2.155011 -0.950000 v 0.364079 -2.233177 0.650000 v -0.012469 -0.934976 0.650000 v 0.791842 -1.986208 0.950000 v 0.791842 -1.986208 0.350000 v 0.894178 1.060755 -1.245143 v 1.407818 1.260218 -0.982584 v 1.179804 1.531955 -1.507701 v -1.370407 1.477945 1.252243 v -0.012469 2.708260 -0.007620 v -1.135029 1.031321 0.982584 v -0.907015 1.303058 1.507701 v 0.128589 5.318191 0.470199 v 0.128589 4.466652 0.195110 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.5764 -0.8018 vn -0.3123 0.9463 -0.0833 vn -0.1581 -0.4272 0.8902 vn 0.9970 -0.0774 0.0076 vn -0.0734 0.2741 -0.9589 vn 0.9740 0.2264 0.0050 vn 0.0000 0.2608 0.9654 vn 0.1285 -0.9856 -0.1098 vn -0.3857 0.3626 -0.8484 vn 0.9287 -0.3707 0.0000 vn -0.3857 0.3626 0.8484 vn -0.5000 -0.8660 -0.0000 vn -0.5093 -0.1477 -0.8478 vn 0.7942 0.6077 0.0000 vn -0.5093 -0.1477 0.8478 vn 0.5000 -0.8660 -0.0000 vn -0.7484 0.0873 -0.6574 vn 0.7294 0.6831 0.0368 vn -0.1369 -0.6412 0.7550 vn 0.5326 -0.6348 -0.5598 vn -0.0760 0.7531 0.6535 vn 0.8145 -0.5776 -0.0548 vn -0.7054 0.0549 -0.7067 vn -0.5444 -0.6248 0.5597 vn -0.9747 0.2234 0.0000 vn -1.0000 0.0000 0.0000 vn -1.0000 -0.0008 0.0026 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 0.128589 4.466652 -0.195110 v 0.128589 5.318191 -0.470199 v 0.128589 4.527357 -0.888977 v -0.003568 2.714191 0.005816 v -2.624099 3.532594 0.076255 v 0.130326 4.343931 1.200375 v 0.132062 4.526256 -0.890821 v -0.854796 -1.000000 1.000000 v -0.854796 -1.000000 -1.000000 v 0.854796 -1.000000 1.000000 v 0.716426 -1.421008 -1.000000 v 0.364079 -2.233178 -0.650450 v -0.012469 -0.934976 -0.650000 v 0.791864 -1.986308 -0.350399 v 0.791820 -1.986109 -0.950399 v -0.927231 -1.908042 0.650000 v -0.012469 -0.934976 0.650000 v -0.499468 -2.155011 0.950000 v -0.499468 -2.155011 0.350000 v -1.420654 1.502522 -1.245143 v -1.135029 1.031321 -0.982585 v -0.907014 1.303058 -1.507702 v 0.836429 1.046663 1.237600 v -0.012469 2.708865 0.000704 v 1.407819 1.260218 0.982585 v 1.179804 1.531955 1.507701 v 0.128589 5.196173 0.924473 v 0.128589 4.405339 0.505695 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.1577 -0.4284 -0.8897 vn -0.3123 0.9464 0.0823 vn -0.1581 -0.5753 0.8025 vn 0.9970 -0.0776 -0.0059 vn 0.0661 0.2467 -0.9668 vn 0.9745 0.1961 -0.1087 vn 0.0000 0.2586 0.9660 vn -0.1265 -0.9860 0.1082 vn -0.5094 -0.1474 -0.8478 vn 0.7942 0.6077 0.0001 vn -0.5092 -0.1480 0.8478 vn 0.5000 -0.8660 -0.0003 vn -0.3857 0.3626 -0.8484 vn 0.9287 -0.3707 0.0000 vn -0.3857 0.3626 0.8484 vn -0.5000 -0.8660 0.0000 vn -0.0504 0.7453 -0.6648 vn 0.8137 -0.5787 0.0539 vn -0.6670 0.0108 0.7450 vn -0.5326 -0.6348 -0.5598 vn -0.7232 0.1347 0.6774 vn 0.7267 0.6858 -0.0393 vn -0.1088 -0.6286 -0.7701 vn 0.4974 -0.6632 0.5592 vn -0.9747 0.2234 0.0000 vn -1.0000 -0.0000 -0.0000 vn -1.0000 -0.0013 0.0024 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/13 17/27/13 19/28/13 f 19/28/14 17/29/14 18/30/14 f 18/30/15 17/31/15 16/32/15 f 16/33/16 19/28/16 18/30/16 f 20/34/17 4/10/17 22/35/17 f 22/35/18 4/12/18 21/36/18 f 21/36/19 4/14/19 20/37/19 f 20/38/20 22/35/20 21/36/20 f 23/39/21 26/40/21 24/41/21 f 26/40/22 25/42/22 24/43/22 f 25/42/23 23/44/23 24/45/23 f 23/46/24 25/42/24 26/40/24 usemtl tripa f 8/47/25 4/48/25 9/9/25 usemtl orejas f 1/49/26 2/50/26 3/51/26 f 6/52/27 27/53/27 28/54/27]\nplayer Vertex s [8] obj [v 2.653606 3.565554 -0.351741 v 3.126418 4.240798 -0.700000 v 2.653606 3.565554 -1.048259 v 1.554048 2.225631 0.001157 v -0.121413 4.401581 0.000000 v 2.654667 3.564042 1.049129 v 2.655729 3.562531 -1.049999 v -1.273784 -0.328861 1.000000 v -1.273784 -0.328861 -1.000000 v 0.126631 -1.309443 1.000000 v 0.126631 -1.309443 -1.000000 v -1.876117 -0.847630 -0.650000 v -0.546494 -0.758735 -0.650000 v -1.731371 -1.319883 -0.350000 v -1.731371 -1.319883 -0.950000 v -1.876117 -0.847629 0.650000 v -0.546494 -0.758735 0.650000 v -1.731372 -1.319883 0.950000 v -1.731372 -1.319883 0.350000 v 1.667338 2.980311 -2.061530 v 1.922880 2.435735 -2.164895 v 2.266472 2.926436 -1.958165 v 1.599440 2.883342 2.023445 v 1.543458 2.226025 -0.003471 v 1.922880 2.435736 2.164898 v 2.266472 2.926435 1.958168 v 3.126418 4.240798 0.700000 v 2.653606 3.565554 0.351741 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.625000 0.500000 vt 0.375000 0.500000 vt 0.625000 0.750000 vt 0.375000 0.750000 vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.375000 0.750000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.250000 vt 0.375000 0.500000 vt 0.625000 0.500000 vt 0.375000 0.750000 vt 0.625000 0.750000 vt 0.375000 1.000000 vt 0.625000 1.000000 vt 0.125000 0.500000 vt 0.375000 0.000000 vt 0.625000 0.250000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 vt 1.000000 1.000000 vt 0.000000 1.000000 vn -0.4185 -0.3227 -0.8490 vn 0.2890 0.9573 -0.0005 vn -0.4181 -0.3215 0.8496 vn 0.7721 -0.6356 0.0008 vn 0.1493 0.2132 -0.9655 vn 0.9273 -0.3744 0.0000 vn 0.1489 0.2127 0.9657 vn -0.5736 -0.8192 0.0000 vn -0.0353 0.5281 -0.8484 vn 0.4280 -0.9038 0.0000 vn -0.0353 0.5281 0.8484 vn -0.9561 -0.2930 0.0000 vn 0.0249 0.9384 0.3447 vn 0.8007 -0.5938 0.0787 vn -0.9020 -0.3870 -0.1911 vn 0.1871 0.2672 -0.9453 vn -0.0911 0.9480 -0.3049 vn 0.7997 -0.5947 -0.0824 vn -0.8232 -0.5330 0.1956 vn 0.0692 0.3458 0.9358 vn -0.6703 0.7421 0.0000 vn -0.8192 0.5736 0.0000 vn -0.8198 0.5727 0.0025 usemtl Material s off f 4/1/1 5/2/1 7/3/1 f 7/3/2 5/4/2 6/5/2 f 6/5/3 5/6/3 4/7/3 f 4/8/4 7/3/4 6/5/4 f 9/9/5 4/10/5 11/11/5 f 11/11/6 4/12/6 10/13/6 f 10/13/7 4/14/7 8/15/7 f 9/16/8 11/11/8 10/13/8 8/17/8 f 12/18/9 13/19/9 15/20/9 f 15/20/10 13/21/10 14/22/10 f 14/22/11 13/23/11 12/24/11 f 12/25/12 15/20/12 14/22/12 f 16/26/9 17/27/9 19/28/9 f 19/28/10 17/29/10 18/30/10 f 18/30/11 17/31/11 16/32/11 f 16/33/12 19/28/12 18/30/12 f 20/34/13 4/10/13 22/35/13 f 22/35/14 4/12/14 21/36/14 f 21/36/15 4/14/15 20/37/15 f 20/38/16 22/35/16 21/36/16 f 23/39/17 26/40/17 24/41/17 f 26/40/18 25/42/18 24/43/18 f 25/42/19 23/44/19 24/45/19 f 23/46/20 25/42/20 26/40/20 usemtl tripa f 8/47/21 4/48/21 9/9/21 usemtl orejas f 1/49/22 2/50/22 3/51/22 f 6/52/23 27/53/23 28/54/23]\n\ndefine add object (object) at (x) (y) (z)\nadd (x) to [_objects data v]\nadd (y) to [_objects data v]\nadd (z) to [_objects data v]\nadd (object) to [_objects data v]\n\ndefine pre-claculate sin and cos\ndelete all of [@presin v]\ndelete all of [@precos v]\nset [counter v] to [0]\nrepeat (3600)\n    change [counter v] by (0.1)\n    add ([sin v] of (counter) ) to [@presin v]\n    add ([cos v] of (counter) ) to [@precos v]\nend\n\ndefine load level\nset [\(ysin v] to [1]\nset [\(ycos v] to [0]\nset [_bfc v] to [false]\ndelete all of [player || tris v]\ndelete all of [player || vertex v]\ndelete all of [player || materials v]\nobj.add mat [34] [94] [80] [0]\nobj.add mat [7] [85] [80] [0]\nobj.add mat [15] [90] [95] [0]\nobj.add mat [0] [75] [100] [0]\nobj.add mat [65] [75] [95] [0]\nobj.getVertexList [v -0.861724 0.000000 2.000000 v 2.000000 0.000000 2.000000 v -0.861724 0.000000 -2.000000 v 2.000000 0.000000 -2.000000 v -0.861724 0.000000 0.000000 v 2.000000 0.000000 0.000000 v -0.861724 0.724720 2.000000 v -0.861724 0.724720 -2.000000 v -0.861724 0.724720 0.000000 v -2.436208 0.724720 2.000000 v -2.436208 0.724720 -2.000000 v -2.436208 0.724720 0.000000 v -3.911711 0.724720 2.000000 v -3.911711 0.724720 -2.000000 v -3.911711 0.724720 0.000000 v 0.569138 0.000000 2.000000 v 0.569138 0.000000 -2.000000 v 0.569138 0.000000 0.000000 v -7.362418 2.086655 2.000000 v -7.362418 2.086655 -2.000000 v -7.362418 2.086655 0.000000 v -6.272368 2.086655 0.000000 v -4.974446 1.558968 0.000000 v -4.974446 1.558968 -2.000000 v -6.272368 2.086655 -2.000000 v -6.272368 2.086655 2.000000 v -4.974446 1.558968 2.000000 v -0.861724 1.974720 2.000000 v -2.436208 1.974720 2.000000 v -3.911711 1.974720 2.000000 v -0.861724 1.974720 3.000000 v -2.436208 1.974720 3.000000 v -3.911711 1.974720 3.000000 v -0.861724 4.555262 6.810267 v -2.436208 4.555262 6.810267 v -3.911711 4.555262 6.810267 v -0.861724 4.555262 8.810266 v -2.436208 4.555262 8.810266 v -9.362418 2.086655 2.000000 v -9.362418 2.086655 -2.000000 v -9.362418 2.086655 0.000000 v -10.779141 2.086655 2.000000 v -10.779141 2.086655 -2.000000 v -11.362418 2.086655 0.000000 v -0.861724 0.724720 -3.500000 v -2.436208 0.724720 -3.500000 v -3.911711 0.724720 -3.500000 v -2.436208 3.264991 4.905133 v -3.911711 3.264991 4.905133 v -0.861724 3.264991 4.905133 v -0.861724 4.524720 -8.500000 v -2.436208 4.524720 -8.500000 v -3.911711 4.524720 -8.500000 v -0.861724 4.524720 -10.500000 v -2.436208 4.524720 -10.500000 v -3.911711 3.258053 -6.833333 v -3.911711 1.991386 -5.166667 v -2.436208 1.991386 -5.166667 v -2.436208 3.258053 -6.833333 v -0.861724 1.991386 -5.166667 v -0.861724 3.258053 -6.833333 v 4.138276 5.524720 -8.500000 v 4.138276 5.524720 -10.500000 v 6.138276 5.524720 -8.500000 v 6.138276 5.524720 -10.500000 v 6.138276 4.555262 6.810267 v 6.138276 4.555262 8.810266 v 4.388276 4.555262 6.810267 v 2.638276 4.555262 6.810267 v 0.888276 4.555262 6.810267 v 0.888276 4.555262 8.810266 v 2.638276 4.555262 8.810266 v 4.388276 4.555262 8.810266 v 6.138276 5.555262 0.810267 v 4.388276 5.555262 0.810267 v 4.388276 5.221928 2.810267 v 4.388276 4.888595 4.810267 v 6.138276 4.888595 4.810267 v 6.138276 5.221929 2.810267 v 6.138276 5.555211 -1.142261 v 4.388276 5.555211 -1.142261 v 4.138276 5.524720 -6.000000 v 6.138276 5.524720 -6.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.500000 0.500000 vt 1.000000 0.500000 vt 1.000000 1.000000 vt 0.500000 1.000000 vt 0.500000 0.000000 vt 1.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vn 1.0000 0.0000 0.0000 vn 0.0000 1.0000 0.0000 vn 0.6175 0.7866 0.0000 vn 0.3766 0.9264 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 0.8280 -0.5608 vn -0.0000 0.9864 0.1644 vn 0.0000 0.7962 0.6051 vn -0.1961 0.9806 0.0000 usemtl Material s off f 5/1/1 3/2/1 8/3/1 9/4/1 f 1/5/1 5/1/1 9/4/1 7/6/1 f 9/4/2 8/3/2 11/7/2 12/8/2 f 7/6/2 9/4/2 12/8/2 10/9/2 f 12/8/2 11/7/2 14/10/2 15/11/2 f 10/9/2 12/8/2 15/11/2 13/12/2 f 22/13/2 25/14/2 20/15/2 21/16/2 f 26/17/2 22/13/2 21/16/2 19/18/2 f 13/12/3 15/11/3 23/19/3 27/20/3 f 27/20/4 23/19/4 22/13/4 26/17/4 f 15/11/3 14/10/3 24/21/3 23/19/3 f 23/19/4 24/21/4 25/14/4 22/13/4 usemtl Material.001 f 41/22/2 40/23/2 43/24/2 44/25/2 f 39/26/2 41/22/2 44/25/2 42/27/2 usemtl Material.002 f 10/9/5 13/12/5 30/28/5 29/29/5 f 7/6/5 10/9/5 29/29/5 28/30/5 f 29/29/2 30/28/2 33/31/2 32/32/2 f 28/30/2 29/29/2 32/32/2 31/33/2 f 48/34/6 49/35/6 36/36/6 35/37/6 f 50/38/6 48/34/6 35/37/6 34/39/6 f 35/37/2 36/36/2 38/40/2 f 34/39/2 35/37/2 38/40/2 37/41/2 f 31/33/6 32/32/6 48/34/6 50/38/6 f 32/32/6 33/31/6 49/35/6 48/34/6 f 68/42/2 73/43/2 67/44/2 66/45/2 f 34/39/2 37/41/2 71/46/2 70/47/2 f 70/47/2 71/46/2 72/48/2 69/49/2 f 69/49/2 72/48/2 73/43/2 68/42/2 f 76/50/7 79/51/7 74/52/7 75/53/7 f 68/42/7 66/45/7 78/54/7 77/55/7 f 77/55/7 78/54/7 79/51/7 76/50/7 f 75/53/2 74/52/2 80/56/2 81/57/2 usemtl Material.003 f 18/58/2 6/59/2 4/60/2 17/61/2 f 16/62/2 2/63/2 6/59/2 18/58/2 f 1/5/2 16/62/2 18/58/2 5/1/2 f 5/1/2 18/58/2 17/61/2 3/2/2 usemtl Material.004 f 14/10/2 11/7/2 46/64/2 47/65/2 f 11/7/2 8/3/2 45/66/2 46/64/2 f 56/67/8 59/68/8 52/69/8 53/70/8 f 59/68/8 61/71/8 51/72/8 52/69/8 f 53/70/2 52/69/2 55/73/2 f 52/69/2 51/72/2 54/74/2 55/73/2 f 46/64/8 45/66/8 60/75/8 58/76/8 f 58/76/8 60/75/8 61/71/8 59/68/8 f 47/65/8 46/64/8 58/76/8 57/77/8 f 57/77/8 58/76/8 59/68/8 56/67/8 f 54/74/9 51/72/9 62/78/9 63/79/9 f 63/79/2 62/78/2 64/80/2 65/81/2 f 64/80/2 62/78/2 82/82/2 83/83/2] size [30] offset [] [-100] []\nobj.get tris data [v -0.861724 0.000000 2.000000 v 2.000000 0.000000 2.000000 v -0.861724 0.000000 -2.000000 v 2.000000 0.000000 -2.000000 v -0.861724 0.000000 0.000000 v 2.000000 0.000000 0.000000 v -0.861724 0.724720 2.000000 v -0.861724 0.724720 -2.000000 v -0.861724 0.724720 0.000000 v -2.436208 0.724720 2.000000 v -2.436208 0.724720 -2.000000 v -2.436208 0.724720 0.000000 v -3.911711 0.724720 2.000000 v -3.911711 0.724720 -2.000000 v -3.911711 0.724720 0.000000 v 0.569138 0.000000 2.000000 v 0.569138 0.000000 -2.000000 v 0.569138 0.000000 0.000000 v -7.362418 2.086655 2.000000 v -7.362418 2.086655 -2.000000 v -7.362418 2.086655 0.000000 v -6.272368 2.086655 0.000000 v -4.974446 1.558968 0.000000 v -4.974446 1.558968 -2.000000 v -6.272368 2.086655 -2.000000 v -6.272368 2.086655 2.000000 v -4.974446 1.558968 2.000000 v -0.861724 1.974720 2.000000 v -2.436208 1.974720 2.000000 v -3.911711 1.974720 2.000000 v -0.861724 1.974720 3.000000 v -2.436208 1.974720 3.000000 v -3.911711 1.974720 3.000000 v -0.861724 4.555262 6.810267 v -2.436208 4.555262 6.810267 v -3.911711 4.555262 6.810267 v -0.861724 4.555262 8.810266 v -2.436208 4.555262 8.810266 v -9.362418 2.086655 2.000000 v -9.362418 2.086655 -2.000000 v -9.362418 2.086655 0.000000 v -10.779141 2.086655 2.000000 v -10.779141 2.086655 -2.000000 v -11.362418 2.086655 0.000000 v -0.861724 0.724720 -3.500000 v -2.436208 0.724720 -3.500000 v -3.911711 0.724720 -3.500000 v -2.436208 3.264991 4.905133 v -3.911711 3.264991 4.905133 v -0.861724 3.264991 4.905133 v -0.861724 4.524720 -8.500000 v -2.436208 4.524720 -8.500000 v -3.911711 4.524720 -8.500000 v -0.861724 4.524720 -10.500000 v -2.436208 4.524720 -10.500000 v -3.911711 3.258053 -6.833333 v -3.911711 1.991386 -5.166667 v -2.436208 1.991386 -5.166667 v -2.436208 3.258053 -6.833333 v -0.861724 1.991386 -5.166667 v -0.861724 3.258053 -6.833333 v 4.138276 5.524720 -8.500000 v 4.138276 5.524720 -10.500000 v 6.138276 5.524720 -8.500000 v 6.138276 5.524720 -10.500000 v 6.138276 4.555262 6.810267 v 6.138276 4.555262 8.810266 v 4.388276 4.555262 6.810267 v 2.638276 4.555262 6.810267 v 0.888276 4.555262 6.810267 v 0.888276 4.555262 8.810266 v 2.638276 4.555262 8.810266 v 4.388276 4.555262 8.810266 v 6.138276 5.555262 0.810267 v 4.388276 5.555262 0.810267 v 4.388276 5.221928 2.810267 v 4.388276 4.888595 4.810267 v 6.138276 4.888595 4.810267 v 6.138276 5.221929 2.810267 v 6.138276 5.555211 -1.142261 v 4.388276 5.555211 -1.142261 v 4.138276 5.524720 -6.000000 v 6.138276 5.524720 -6.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 0.500000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.000000 0.000000 vt 0.500000 0.500000 vt 1.000000 0.500000 vt 1.000000 1.000000 vt 0.500000 1.000000 vt 0.500000 0.000000 vt 1.000000 0.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vt 0.000000 1.000000 vn 1.0000 0.0000 0.0000 vn 0.0000 1.0000 0.0000 vn 0.6175 0.7866 0.0000 vn 0.3766 0.9264 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 0.8280 -0.5608 vn -0.0000 0.9864 0.1644 vn 0.0000 0.7962 0.6051 vn -0.1961 0.9806 0.0000 usemtl Material s off f 5/1/1 3/2/1 8/3/1 9/4/1 f 1/5/1 5/1/1 9/4/1 7/6/1 f 9/4/2 8/3/2 11/7/2 12/8/2 f 7/6/2 9/4/2 12/8/2 10/9/2 f 12/8/2 11/7/2 14/10/2 15/11/2 f 10/9/2 12/8/2 15/11/2 13/12/2 f 22/13/2 25/14/2 20/15/2 21/16/2 f 26/17/2 22/13/2 21/16/2 19/18/2 f 13/12/3 15/11/3 23/19/3 27/20/3 f 27/20/4 23/19/4 22/13/4 26/17/4 f 15/11/3 14/10/3 24/21/3 23/19/3 f 23/19/4 24/21/4 25/14/4 22/13/4 usemtl Material.001 f 41/22/2 40/23/2 43/24/2 44/25/2 f 39/26/2 41/22/2 44/25/2 42/27/2 usemtl Material.002 f 10/9/5 13/12/5 30/28/5 29/29/5 f 7/6/5 10/9/5 29/29/5 28/30/5 f 29/29/2 30/28/2 33/31/2 32/32/2 f 28/30/2 29/29/2 32/32/2 31/33/2 f 48/34/6 49/35/6 36/36/6 35/37/6 f 50/38/6 48/34/6 35/37/6 34/39/6 f 35/37/2 36/36/2 38/40/2 f 34/39/2 35/37/2 38/40/2 37/41/2 f 31/33/6 32/32/6 48/34/6 50/38/6 f 32/32/6 33/31/6 49/35/6 48/34/6 f 68/42/2 73/43/2 67/44/2 66/45/2 f 34/39/2 37/41/2 71/46/2 70/47/2 f 70/47/2 71/46/2 72/48/2 69/49/2 f 69/49/2 72/48/2 73/43/2 68/42/2 f 76/50/7 79/51/7 74/52/7 75/53/7 f 68/42/7 66/45/7 78/54/7 77/55/7 f 77/55/7 78/54/7 79/51/7 76/50/7 f 75/53/2 74/52/2 80/56/2 81/57/2 usemtl Material.003 f 18/58/2 6/59/2 4/60/2 17/61/2 f 16/62/2 2/63/2 6/59/2 18/58/2 f 1/5/2 16/62/2 18/58/2 5/1/2 f 5/1/2 18/58/2 17/61/2 3/2/2 usemtl Material.004 f 14/10/2 11/7/2 46/64/2 47/65/2 f 11/7/2 8/3/2 45/66/2 46/64/2 f 56/67/8 59/68/8 52/69/8 53/70/8 f 59/68/8 61/71/8 51/72/8 52/69/8 f 53/70/2 52/69/2 55/73/2 f 52/69/2 51/72/2 54/74/2 55/73/2 f 46/64/8 45/66/8 60/75/8 58/76/8 f 58/76/8 60/75/8 61/71/8 59/68/8 f 47/65/8 46/64/8 58/76/8 57/77/8 f 57/77/8 58/76/8 59/68/8 56/67/8 f 54/74/9 51/72/9 62/78/9 63/79/9 f 63/79/2 62/78/2 64/80/2 65/81/2 f 64/80/2 62/78/2 82/82/2 83/83/2]\nAdd mesh mode [ground]\n\ndefine rotation matrix from Y (x) (y) (z)\nset [#x v] to (((x) * (\(Ycos)) + ((z) * (\(Ysin)))\nset [#y v] to (y)\nset [#z v] to (((z) * (\(Ycos)) - ((x) * (\(Ysin)))\n\ndefine player Vertex s (s) obj (obj)\nif <(length of [player || vertex v]) = [0]> then\n    obj.getVertexList (obj) size (s) offset [] ((18) - (_PlayerRadius)) []\n    set [playervertex# v] to ((length of [player || vertex v]) / (3))\nelse\n    obj.getVertexList (obj) size (s) offset [] ((18) - (_PlayerRadius)) []\nend\n\n@update\n\ndefine Get Direction (dx) (dy)\nif <(dy) = [0]> then\n    if <(dx) > [0]> then\n        set [@get direction v] to [90]\n    else\n        set [@get direction v] to [-90]\n    end\nelse\n    set [@get direction v] to ([atan v] of ((dx) / (dy)) )\n    if <(dy) < [0]> then\n        if <(dx) > [0]> then\n            change [@get direction v] by (180)\n        else\n            if <(dx) < [0]> then\n                change [@get direction v] by (-180)\n            else\n                set [@get direction v] to [180]\n            end\n        end\n    end\nend\n\ndefine Update\nplayer Physics\nshadow\nplayer update\nupateCamera\nadd distances\nlights for tris\nchange tri normals dir\n\nwhen I receive [update v]\nUpdate\n\ndefine sort\n\nset [sort1 v] to (length of [distances v])\nrepeat ((Sort1) - (1))\n    set [sort2 v] to [1]\n    set [sort3 v] to [0]\n    repeat (Sort1)\n        change [sort3 v] by (1)\n        if <(item (Sort2) of [distances v]) < (item (Sort3) of [distances v])> then\n            set [sort2 v] to (Sort3)\n        end\n    end\n    set [sort4 v] to (item (Sort2) of [distances v])\n    replace item (Sort2) of [distances v] with (item (Sort1) of [distances v])\n    replace item (Sort1) of [distances v] with (Sort4)\n    set [sort4 v] to (item (Sort2) of [#sort order v])\n    replace item (Sort2) of [#sort order v] with (item (Sort1) of [#sort order v])\n    replace item (Sort1) of [#sort order v] with (Sort4)\n    change [sort1 v] by (-1)\nend\n\ndefine add distances\ndelete all of [distances v]\ndelete all of [#sort order v]\nset [counter v] to [0]\nrepeat ((length of [_tris data v]) / (triDataLenght))\n    change [counter v] by (triDataLenght)\n    if <(item ((counter) - ((triDataLenght) - (21))) of [_tris data v]) = [plTris]> then\n         raw 3D dist (item ((counter) - ((triDataLenght) - (18))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (19))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (20))) of [_tris data v]) to (_ScrollX) (_ScrollY) (_ScrollZ)\n    else\n         raw 3D dist (item ((counter) - ((triDataLenght) - (18))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (19))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (20))) of [_tris data v]) to (_ScrollX) ((_ScrollY) + (80)) (_ScrollZ)\n    end\n    add distance (round (distance))\nend\nset [counter v] to [0]\nrepeat ((length of [_objects data v]) / (5))\n    change [counter v] by (5)\n    if <(item ((counter) - (4)) of [_objects data v]) = [shadow]> then\n         raw 3D dist (item ((counter) - (3)) of [_objects data v]) (item ((counter) - (2)) of [_objects data v]) (item ((counter) - (1)) of [_objects data v]) to (_ScrollX) ((_ScrollY) + (40)) (_ScrollZ)\n    else\n         raw 3D dist (item ((counter) - (3)) of [_objects data v]) (item ((counter) - (2)) of [_objects data v]) (item ((counter) - (1)) of [_objects data v]) to (_ScrollX) ((_ScrollY) + (80)) (_ScrollZ)\n    end\n    add distance (round (distance))\nend\n\ndefine  raw 3D dist (x1) (y1) (z1) to (x2) (y2) (z2)\nset [distance v] to ((((x1) - (x2)) * ((x1) - (x2))) + ((((y1) - (y2)) * ((y1) - (y2))) + (((z1) - (z2)) * ((z1) - (z2)))))\n\ndefine lights for tris\nset [/lightdirx v] to ([sin v] of (Light Dir.) )\nset [/lightdiry v] to [-0.75]\nset [/lightdirz v] to ([cos v] of (Light Dir.) )\nset [/lightdirdist v] to ([sqrt v] of (((/LightDirZ) * (/LightDirZ)) + (((/LightDirY) * (/LightDirY)) + ((/LightDirX) * (/LightDirX)))) )\nset [/lightdirx v] to ((/LightDirX) / (/lightDirDist))\nset [/lightdiry v] to ((/LightDirY) / (/lightDirDist))\nset [/lightdirz v] to ((/LightDirZ) / (/lightDirDist))\nset [counter v] to [0]\nrepeat ((length of [_tris data v]) / (triDataLenght))\n    change [counter v] by (triDataLenght)\n    get dot product (item ((counter) - ((triDataLenght) - (14))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (15))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (16))) of [_tris data v]) and (/LightDirX) (/LightDirY) (/LightDirZ)\n    set [=dotproduct v] to ((0) - (=dotProduct))\n    if <(=dotProduct) > [0]> then\n        replace item ((counter) - ((triDataLenght) - (22))) of [_tris data v] with ((=dotProduct) * (10))\n    else\n        replace item ((counter) - ((triDataLenght) - (22))) of [_tris data v] with ((=dotProduct) * (20))\n    end\nend\n\ndefine get dot product (x1) (y1) (z1) and (x2) (y2) (z2)\nset [=dotproduct v] to (((x1) * (x2)) + (((y1) * (y2)) + ((z1) * (z2))))\n\ndefine get cross product (x1) (y1) (z1) and (x2) (y2) (z2)\nset [=crossproductx v] to (((y1) * (z2)) - ((y2) * (z1)))\nset [=crossproducty v] to (((z1) * (x2)) - ((z2) * (x1)))\nset [=crossproductz v] to (((x1) * (y2)) - ((x2) * (y1)))\n\ndefine change tri normals dir\nset [counter v] to [0]\nrepeat ((length of [_tris data v]) / (triDataLenght))\n    change [counter v] by (triDataLenght)\n    get dot product ((_ScrollX) - (item ((counter) - ((triDataLenght) - (18))) of [_tris data v])) ((_ScrollY) - (item ((counter) - ((triDataLenght) - (19))) of [_tris data v])) ((_ScrollZ) - (item ((counter) - ((triDataLenght) - (20))) of [_tris data v])) and (item ((counter) - ((triDataLenght) - (14))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (15))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (16))) of [_tris data v])\n    replace item ((counter) / (triDataLenght)) of [notrender v] with [false]\n    if <(=dotProduct) < [0]> then\n        if <(item ((counter) - ((triDataLenght) - (23))) of [_tris data v]) = [false]> then\n            replace item ((counter) - ((triDataLenght) - (14))) of [_tris data v] with ((0) - (item ((counter) - ((triDataLenght) - (14))) of [_tris data v]))\n            replace item ((counter) - ((triDataLenght) - (15))) of [_tris data v] with ((0) - (item ((counter) - ((triDataLenght) - (15))) of [_tris data v]))\n            replace item ((counter) - ((triDataLenght) - (16))) of [_tris data v] with ((0) - (item ((counter) - ((triDataLenght) - (16))) of [_tris data v]))\n        else\n            replace item ((counter) / (triDataLenght)) of [notrender v] with [true]\n        end\n    end\nend\n\ndefine || sphere to sphere collision || s1 (x1) (y1) (z1) (r1) player (x2) (y2) (z2)\nset [collision? v] to [false]\nset [distance v] to ((((x1) - (x2)) * ((x1) - (x2))) + ((((y1) - (y2)) * ((y1) - (y2))) + (((z1) - (z2)) * ((z1) - (z2)))))\nif <not <(distance) > ((r1) * (r1))>> then\n    set [collision? v] to [true]\n    set [distance v] to ([sqrt v] of (distance) )\nend\n\ndefine closer point from line (x1) (y1) (z1) (x2) (y2) (z2) to (x) (y) (z)\n raw 3D dist ((x2) - (x1)) ((y2) - (y1)) ((z2) - (z1)) to [] [] []\nget dot product ((x) - (x1)) ((y) - (y1)) ((z) - (z1)) and ((x2) - (x1)) ((y2) - (y1)) ((z2) - (z1))\nset [counter3 v] to ((=dotProduct) / (distance))\nif <(counter3) < [0]> then\n    point (x1) (y1) (z1)\nelse\n    if <[1] < (counter3)> then\n        point (x2) (y2) (z2)\n    else\n        set [pointx v] to ((((x2) - (x1)) * (counter3)) + (x1))\n        set [pointy v] to ((((y2) - (y1)) * (counter3)) + (y1))\n        set [pointz v] to ((((z2) - (z1)) * (counter3)) + (z1))\n    end\nend\n\ndefine || sphere to line collsion || line (x1) (y1) (z1) (x2) (y2) (z2) sphere (x) (y) (z) (r)\n|| AABB and box collision || AABB (x1) (y1) (z1) (x2) (y2) (z2) box (x) (y) (z) (r)\nif <(collision?) = [true]> then\n    closer point from line (x1) (y1) (z1) (x2) (y2) (z2) to (x) (y) (z)\n    || sphere to sphere collision || s1 (x) (y) (z) (r) player (PointX) (PointY) (PointZ)\nend\n\ndefine || AABB and box collision || AABB (x1) (y1) (z1) (x2) (y2) (z2) box (x) (y) (z) (r)\norder (x1) (y1) (z1) (x2) (y2) (z2)\nset [collision? v] to <<<((x) + (r)) > (#x)> and <((x) - (r)) < (#x2)>> and <<<((y) + (r)) > (#y)> and <((y) - (r)) < (#y2)>> and <<((z) + (r)) > (#z)> and <((z) - (r)) < (#z2)>>>>\n\ndefine order (x1) (y1) (z1) (x2) (y2) (z2)\nif <(z2) > (z1)> then\n    set [#z v] to (z1)\n    set [#z2 v] to (z2)\nelse\n    set [#z v] to (z2)\n    set [#z2 v] to (z1)\nend\nif <(y2) > (y1)> then\n    set [#y v] to (y1)\n    set [#y2 v] to (y2)\nelse\n    set [#y v] to (y2)\n    set [#y2 v] to (y1)\nend\nif <(x2) > (x1)> then\n    set [#x v] to (x1)\n    set [#x2 v] to (x2)\nelse\n    set [#x v] to (x2)\n    set [#x2 v] to (x1)\nend\n\ndefine || sphere to tri collision || tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) sphere (x) (y) (z) (r) tri plane (nx) (ny) (nz) (na)\nset [colliderdistance v] to [1]\n|| set collider normal || [0] [1] [0]\n|| AABB and Box Collision [tri] || tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) box (x) (y) (z) (r)\nif <(collision?) = [true]> then\n    get dot product ((x1) - (x)) ((y1) - (y)) ((z1) - (z)) and (nx) (ny) (nz)\n    set [collidernormalw v] to (na)\n    if <[0] < (=dotProduct)> then\n        || set collider normal || (nx) (ny) (nz)\n    else\n        || set collider normal || (() - (nx)) (() - (ny)) (() - (nz))\n    end\n    set [distance v] to ([abs v] of ((((ColliderNormalX) * (x)) + (((ColliderNormalY) * (y)) + ((ColliderNormalZ) * (z)))) - (ColliderNormalW)) )\n    || closer point of a plane to a point || point out of plane (x) (y) (z) point in plane (x1) (y1) (z1)\n    if <(distance) < (r)> then\n        || point is in tri? || tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) point (PointX) (PointY) (PointZ)\n        if <(collision?) = [false]> then\n            || sphere to line collsion || line (x1) (y1) (z1) (x3) (y3) (z3) sphere (x) (y) (z) (r)\n            if <(collision?) = [false]> then\n                || sphere to line collsion || line (x3) (y3) (z3) (x2) (y2) (z2) sphere (x) (y) (z) (r)\n                if <(collision?) = [false]> then\n                    || sphere to line collsion || line (x1) (y1) (z1) (x2) (y2) (z2) sphere (x) (y) (z) (r)\n                end\n            end\n        end\n    else\n        set [collision? v] to [false]\n    end\nend\n|| set direction normal || (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ)\nif <(collision?) = [true]> then\n    set [colliderdistance v] to ((r) - (distance))\nend\nif <([abs v] of (ColliderNormalY) ) < [0.7]> then\n    || set direction normal || [0] [1] [0]\nend\n\ndefine || AABB and Box Collision [tri] || tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) box (x) (y) (z) (r)\nset [collision? v] to [false]\nif <not <<((x) + (r)) < (x1)> and <<((x) + (r)) < (x2)> and <((x) + (r)) < (x3)>>>> then\n    if <not <<((y) + (r)) < (y1)> and <<((y) + (r)) < (y2)> and <((y) + (r)) < (y3)>>>> then\n        if <not <<((z) + (r)) < (z1)> and <<((z) + (r)) < (z2)> and <((z) + (r)) < (z3)>>>> then\n            if <not <<((x) - (r)) > (x1)> and <<((x) - (r)) > (x2)> and <((x) - (r)) > (x3)>>>> then\n                if <not <<((y) - (r)) > (y1)> and <<((y) - (r)) > (y2)> and <((y) - (r)) > (y3)>>>> then\n                    if <not <<((z) - (r)) > (z1)> and <<((z) - (r)) > (z2)> and <((z) - (r)) > (z3)>>>> then\n                        set [collision? v] to [true]\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine || closer point of a plane to a point || point out of plane (x) (y) (z) point in plane (x1) (y1) (z1)\nget dot product (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ) and ((x) - (x1)) ((y) - (y1)) ((z) - (z1))\nset [pointx v] to ((x) - ((ColliderNormalX) * (=dotProduct)))\nset [pointy v] to ((y) - ((ColliderNormalY) * (=dotProduct)))\nset [pointz v] to ((z) - ((ColliderNormalZ) * (=dotProduct)))\n\ndefine || point is in tri? || tri (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) point (px) (py) (pz)\nset [collision? v] to [true]\ndelete all of [col. v]\nget cross product ((x1) - (px)) ((y1) - (py)) ((z1) - (pz)) and ((x2) - (px)) ((y2) - (py)) ((z2) - (pz))\nadd (=crossProductX) to [col. v]\nadd (=crossProductY) to [col. v]\nadd (=crossProductZ) to [col. v]\nget cross product ((x2) - (px)) ((y2) - (py)) ((z2) - (pz)) and ((x3) - (px)) ((y3) - (py)) ((z3) - (pz))\nadd (=crossProductX) to [col. v]\nadd (=crossProductY) to [col. v]\nadd (=crossProductZ) to [col. v]\nget cross product ((x3) - (px)) ((y3) - (py)) ((z3) - (pz)) and ((x1) - (px)) ((y1) - (py)) ((z1) - (pz))\nadd (=crossProductX) to [col. v]\nadd (=crossProductY) to [col. v]\nadd (=crossProductZ) to [col. v]\nget dot product (item (1) of [col. v]) (item (2) of [col. v]) (item (3) of [col. v]) and (item (4) of [col. v]) (item (5) of [col. v]) (item (6) of [col. v])\nif <[0] < (=dotProduct)> then\n    get dot product (item (4) of [col. v]) (item (5) of [col. v]) (item (6) of [col. v]) and (item (7) of [col. v]) (item (8) of [col. v]) (item (9) of [col. v])\n    if <[0] < (=dotProduct)> then\n        get dot product (item (7) of [col. v]) (item (8) of [col. v]) (item (9) of [col. v]) and (item (1) of [col. v]) (item (2) of [col. v]) (item (3) of [col. v])\n        if <(=dotProduct) < [0]> then\n            set [collision? v] to [false]\n        end\n    else\n        set [collision? v] to [false]\n    end\nelse\n    set [collision? v] to [false]\nend\n\ndefine player Physics\nchange [_playeryvel v] by ((_Gravity) * (-DeltaTime))\nchange [_playery v] by ((_PlayerYVel) * (-DeltaTime))\nset [_playery v] to (round (_PlayerY))\n_playerCollision? +rad []\nif <[allcollisions v] contains [ground]?> then\n    set [moving? v] to [false]\n    if <((_PlayerYVel) * (-DeltaTime)) > (_PlayerRadius)> then\n        closest Ypoint to player\n        set [_playery v] to (#y)\n        if <(_PlayerYVel) > [0]> then\n            change [_playery v] by (() - (_PlayerRadius))\n        else\n            change [_playery v] by (_PlayerRadius)\n        end\n    end\n    repeat until <not <[allcollisions v] contains [ground]?>>\n        if <(_PlayerYVel) > [0]> then\n            change [_playery v] by (-1)\n        else\n            change [_playery v] by (1)\n        end\n        _playerCollision? +rad []\n    end\n    set [_playeryvel v] to [0]\n    change [_playery v] by (-3)\n    _playerCollision? +rad []\n    if <<key (space v) pressed?> and <[allcollisions v] contains [ground]?>> then\n        set [_playeryvel v] to [230]\n    end\n    change [_playery v] by (3)\nend\nPlayerChangeXZPosition (<key (w v) pressed?> - <key (s v) pressed?>) (<key (a v) pressed?> - <key (d v) pressed?>)\nrotate\nif <(_PlayerY) < [-200]> then\n    reset player data\nend\n\ndefine _playerCollision? +rad (r)\ndelete all of [allcollisions v]\nset [counter v] to [0]\nrepeat ((length of [_tris data v]) / (triDataLenght))\n    change [counter v] by (triDataLenght)\n    if <not <<[allcollisions v] contains (item ((counter) - ((triDataLenght) - (21))) of [_tris data v])?> or <(item ((counter) - ((triDataLenght) - (21))) of [_tris data v]) = [plTris]>>> then\n        || sphere to tri collision || tri (item ((counter) - ((triDataLenght) - (1))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (2))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (3))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (4))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (5))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (6))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (7))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (8))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (9))) of [_tris data v]) sphere (_PlayerX) (_PlayerY) (_PlayerZ) ((_PlayerRadius) + (r)) tri plane (item ((counter) - ((triDataLenght) - (14))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (15))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (16))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (17))) of [_tris data v])\n        if <(collision?) = [true]> then\n            set [collidertriindex v] to (counter)\n            add (item ((counter) - ((triDataLenght) - (21))) of [_tris data v]) to [allcollisions v]\n        end\n    end\nend\n\ndefine reset player data\nset [_playerx v] to [0]\nset [_playery v] to [0]\nset [_playeryvel v] to [0]\nset [_playerz v] to [0]\nset [_playerradius v] to [18]\nset [_gravity v] to [-350]\nset [_cameradistance v] to [200]\nset [_rotx v] to [-15]\nset [_roty v] to [0]\nset [_playerspeed v] to [125]\nset [player || roty v] to [0]\nset [player || rotyobjective v] to [0]\nset [_camerarotationspeed v] to [125]\nset [_playerrotationspeed v] to [500]\n\ndefine replace Tri id (id) with (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) color (1) (2) (3) (4)\nset [counter2 v] to ((id) * (23))\nif <not <(x1) = []>> then\n    replace item ((counter2) - ((triDataLenght) - (1))) of [_tris data v] with (x1)\n    replace item ((counter2) - ((triDataLenght) - (2))) of [_tris data v] with (y1)\n    replace item ((counter2) - ((triDataLenght) - (3))) of [_tris data v] with (z1)\nend\nif <not <(x2) = []>> then\n    replace item ((counter2) - ((triDataLenght) - (4))) of [_tris data v] with (x2)\n    replace item ((counter2) - ((triDataLenght) - (5))) of [_tris data v] with (y2)\n    replace item ((counter2) - ((triDataLenght) - (6))) of [_tris data v] with (z2)\nend\nif <not <(x3) = []>> then\n    replace item ((counter2) - ((triDataLenght) - (7))) of [_tris data v] with (x3)\n    replace item ((counter2) - ((triDataLenght) - (8))) of [_tris data v] with (y3)\n    replace item ((counter2) - ((triDataLenght) - (9))) of [_tris data v] with (z3)\nend\nif <not <(1) = []>> then\n    replace item ((counter2) - ((triDataLenght) - (10))) of [_tris data v] with (1)\n    replace item ((counter2) - ((triDataLenght) - (11))) of [_tris data v] with (2)\n    replace item ((counter2) - ((triDataLenght) - (12))) of [_tris data v] with (3)\n    replace item ((counter2) - ((triDataLenght) - (13))) of [_tris data v] with (4)\nend\nif <<not <(x1) = []>> or <<not <(x2) = []>> or <not <(x3) = []>>>> then\n    get cross product ((x2) - (x1)) ((y2) - (y1)) ((z2) - (z1)) and ((x3) - (x1)) ((y3) - (y1)) ((z3) - (z1))\n     raw 3D dist [0] [0] [0] to (=crossProductX) (=crossProductY) (=crossProductZ)\n    set [distance v] to ([sqrt v] of (distance) )\n    replace item ((counter2) - ((triDataLenght) - (14))) of [_tris data v] with ((=crossProductX) / (distance))\n    replace item ((counter2) - ((triDataLenght) - (15))) of [_tris data v] with ((=crossProductY) / (distance))\n    replace item ((counter2) - ((triDataLenght) - (16))) of [_tris data v] with ((=crossProductZ) / (distance))\n    replace item ((counter2) - ((triDataLenght) - (17))) of [_tris data v] with (() - (((item ((counter) - ((triDataLenght) - (14))) of [_tris data v]) * (x1)) + (((item ((counter) - ((triDataLenght) - (15))) of [_tris data v]) * (y1)) + ((item ((counter) - ((triDataLenght) - (16))) of [_tris data v]) * (z1)))))\n    replace item ((counter2) - ((triDataLenght) - (18))) of [_tris data v] with (((x1) + ((x2) + (x3))) / (3))\n    replace item ((counter2) - ((triDataLenght) - (19))) of [_tris data v] with (((y1) + ((y2) + (y3))) / (3))\n    replace item ((counter2) - ((triDataLenght) - (20))) of [_tris data v] with (((z1) + ((z2) + (z3))) / (3))\nend\n\ndefine upateCamera\nchange [_rotx v] by ((-DeltaTime) * ((_CameraRotationSpeed) * (<key (up arrow v) pressed?> - <key (down arrow v) pressed?>)))\nif <[0] < (_RotX)> then\n    set [_rotx v] to [0]\nend\nif <(_RotX) < [-90]> then\n    set [_rotx v] to [-90]\nend\nchange [_roty v] by ((-DeltaTime) * ((_CameraRotationSpeed) * (<key (left arrow v) pressed?> - <key (right arrow v) pressed?>)))\nSin and Cos\nset [_scrollx v] to ((_PlayerX) + (((\(Ysin) * (\(Xcos)) * (_CameraDistance)))\nset [_scrolly v] to (((_PlayerY) + (25)) - ((\(Xsin) * (_CameraDistance)))\nset [_scrollz v] to ((_PlayerZ) - (((\(Ycos) * (\(Xcos)) * (_CameraDistance)))\n\ndefine Sin and Cos\nset [\(xsin v] to ([sin v] of (_RotX) )\nset [\(ysin v] to ([sin v] of (_RotY) )\nset [\(xcos v] to ([cos v] of (_RotX) )\nset [\(ycos v] to ([cos v] of (_RotY) )\n\ndefine player update || mesh\nset [counter v] to [0]\nset [counter3 v] to ((((length of [_tris data v]) / (23)) - (playerTris#)) + (0))\nrepeat (playerTris#)\n    change [counter v] by (4)\n    change [counter3 v] by (1)\n    replace Tri id (counter3) with ((_PlayerX) + (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (2)) of [player || thisframevertexdata v])) ((_PlayerY) + (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (1)) of [player || thisframevertexdata v])) ((_PlayerZ) + (item (((item ((counter) - (3)) of [player || tris v]) * (3)) - (0)) of [player || thisframevertexdata v])) ((_PlayerX) + (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (2)) of [player || thisframevertexdata v])) ((_PlayerY) + (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (1)) of [player || thisframevertexdata v])) ((_PlayerZ) + (item (((item ((counter) - (2)) of [player || tris v]) * (3)) - (0)) of [player || thisframevertexdata v])) ((_PlayerX) + (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (2)) of [player || thisframevertexdata v])) ((_PlayerY) + (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (1)) of [player || thisframevertexdata v])) ((_PlayerZ) + (item (((item ((counter) - (1)) of [player || tris v]) * (3)) - (0)) of [player || thisframevertexdata v])) color [] [] [] []\nend\n\nwhen I receive [load v]\nset [player || animationframe v] to [1]\nset [player || animationtimer v] to [0]\nset [player || oldframe v] to [0]\nset [player || nextframe v] to [1]\nreset player data\n\ndefine player update || vertex\ndelete all of [player || thisframevertexdata v]\nset [player || xsin v] to ([sin v] of (player || RotX) )\nset [player || xcos v] to ([cos v] of (player || RotX) )\nset [player || ysin v] to ([sin v] of ((player || RotY) + (90)) )\nset [player || ycos v] to ([cos v] of ((player || RotY) + (90)) )\nset [player || zsin v] to ([sin v] of (player || RotZ) )\nset [player || zcos v] to ([cos v] of (player || RotZ) )\nset [counter v] to [0]\nrepeat ((length of [player || vertex v]) / (3))\n    change [counter v] by (3)\n    set [#x v] to (item (((counter) - (2)) + ((player || oldFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    set [#y v] to (item (((counter) - (1)) + ((player || oldFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    set [#z v] to (item ((counter) + ((player || oldFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    set [#x2 v] to (item (((counter) - (2)) + ((player || nextFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    set [#y2 v] to (item (((counter) - (1)) + ((player || nextFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    set [#z2 v] to (item ((counter) + ((player || nextFrame) * ((3) * (playerVertex#)))) of [player || vertex v])\n    player || rotation matrix from Y ((#x) + ((player || animationTimer) * ((#x2) - (#x)))) ((#y) + ((player || animationTimer) * ((#y2) - (#y)))) ((#z) + ((player || animationTimer) * ((#z2) - (#z))))\n    player || rotation matrix from X (#x) (#y) (#z)\n    player || rotation matrix from Z (#x) (#y) (#z)\n    add (#x) to [player || thisframevertexdata v]\n    add (#y) to [player || thisframevertexdata v]\n    add (#z) to [player || thisframevertexdata v]\nend\n\ndefine player || rotation matrix from Y (x) (y) (z)\nset [#x v] to (((x) * (player || YCos)) + ((z) * (player || YSin)))\nset [#y v] to (y)\nset [#z v] to (((z) * (player || YCos)) - ((x) * (player || YSin)))\n\ndefine player update\nplayer update || animation\nplayer update || vertex\nplayer update || mesh\n\ndefine PlayerChangeXZPosition (up/down) (right/left)\nset [moving? v] to [false]\nset [#x v] to [0]\nset [#z v] to [0]\nif <<<key ((join [shift] []) v) pressed?> and <is compiled?>> or <key (z v) pressed?>> then\n    _playerCollision? +rad [1.5]\n    if <[allcollisions v] contains [ground]?> then\n         raw 3D dist (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ) to [] [] []\n        if <(ColliderNormalZ) = [0]> then\n            get cross product [0] [0] [1] and (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ)\n        else\n            get cross product [0] [0] (() - ((ColliderNormalW) / ((ColliderNormalZ) / ([sqrt v] of (distance) )))) and (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ)\n        end\n        if <([abs v] of (=crossProductY) ) > [0.3]> then\n            get dot product [0] [-1] [0] and (=crossProductX) (=crossProductY) (=crossProductZ)\n            if <(=dotProduct) < [0]> then\n                set [=crossproductx v] to (() - (=crossProductX))\n                set [=crossproducty v] to (() - (=crossProductY))\n                set [=crossproductz v] to (() - (=crossProductZ))\n            end\n             raw 3D dist (=crossProductX) (=crossProductY) (=crossProductZ) to [] [] []\n            set [distance v] to ([sqrt v] of (distance) )\n            set [moving? v] to [slide]\n            change player pos ((1.75) * ((=crossProductX) / (distance))) ((1.75) * ((=crossProductY) / (distance))) ((1.75) * ((=crossProductZ) / (distance)))\n            Get Direction (=crossProductX) (=crossProductZ)\n            set [player || rotyobjective v] to (@Get Direction)\n        end\n    end\nelse\n    if <not <(up/down) = [0]>> then\n        set [moving? v] to [true]\n        set [#x v] to (() - ((\(Ysin) * (up/down)))\n        set [#z v] to ((\(Ycos) * (up/down))\n    end\n    if <not <(right/left) = [0]>> then\n        set [moving? v] to [true]\n        change [#x v] by ((0) - ((\(Ycos) * (right/left)))\n        change [#z v] by ((0) - ((\(Ysin) * (right/left)))\n    end\n    change player pos (#x) [] (#z)\nend\n_playerCollision? +rad []\nif <[allcollisions v] contains [ground]?> then\n    get dot product ((_PlayerX) - (PointX)) ((_PlayerY) - (PointY)) ((_PlayerZ) - (PointZ)) and (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ)\n    if <(=dotProduct) < [0]> then\n        || set collider normal || ((-1) * (ColliderNormalX)) ((-1) * (ColliderNormalY)) ((-1) * (ColliderNormalZ))\n    end\n    change [_playerx v] by (((1) * (ColliderNormalX)) * (ColliderDistance))\n    change [_playery v] by (((1) * (ColliderNormalY)) * (ColliderDistance))\n    change [_playerz v] by (((1) * (ColliderNormalZ)) * (ColliderDistance))\n    _playerCollision? +rad []\n    if <[allcollisions v] contains [ground]?> then\n        repeat until <not <[allcollisions v] contains [ground]?>>\n            get dot product ((_PlayerX) - (PointX)) ((_PlayerY) - (PointY)) ((_PlayerZ) - (PointZ)) and (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ)\n            if <(=dotProduct) < [0]> then\n                || set collider normal || ((-1) * (ColliderNormalX)) ((-1) * (ColliderNormalY)) ((-1) * (ColliderNormalZ))\n            end\n            change [_playerx v] by ((1) * (ColliderNormalX))\n            change [_playery v] by ((1) * (ColliderNormalY))\n            change [_playerz v] by ((1) * (ColliderNormalZ))\n            _playerCollision? +rad []\n        end\n    end\nend\nset [_playerx v] to (round (_PlayerX))\nset [_playerz v] to (round (_PlayerZ))\nif <(_PlayerYVel) = [0]> then\n    closest Ypoint to player\n    if <(((_PlayerY) - (_PlayerRadius)) - (#y)) < ((2.5) * ((-DeltaTime) * (_PlayerSpeed)))> then\n        change [_playery v] by (() - (((_PlayerY) - (_PlayerRadius)) - (#y)))\n    end\nend\nset [_playerspeed v] to [125]\n\ndefine rotY\nif <(<key (w v) pressed?> - <key (s v) pressed?>) = [1]> then\n    if <(<key (d v) pressed?> - <key (a v) pressed?>) = [1]> then\n        set [player || rotyobjective v] to ((() - (_RotY)) + (45))\n    else\n        if <(<key (d v) pressed?> - <key (a v) pressed?>) = [-1]> then\n            set [player || rotyobjective v] to ((() - (_RotY)) + (-45))\n        else\n            set [player || rotyobjective v] to (() - (_RotY))\n        end\n    end\nelse\n    if <(<key (w v) pressed?> - <key (s v) pressed?>) = [-1]> then\n        if <(<key (d v) pressed?> - <key (a v) pressed?>) = [1]> then\n            set [player || rotyobjective v] to ((() - (_RotY)) + (135))\n        else\n            if <(<key (d v) pressed?> - <key (a v) pressed?>) = [-1]> then\n                set [player || rotyobjective v] to ((() - (_RotY)) + (-135))\n            else\n                set [player || rotyobjective v] to ((() - (_RotY)) + (180))\n            end\n        end\n    else\n        if <(<key (d v) pressed?> - <key (a v) pressed?>) = [1]> then\n            set [player || rotyobjective v] to ((() - (_RotY)) + (90))\n        else\n            if <(<key (d v) pressed?> - <key (a v) pressed?>) = [-1]> then\n                set [player || rotyobjective v] to ((() - (_RotY)) + (-90))\n            end\n        end\n    end\nend\n\ndefine closer dir angles objective (1) pos (2)\nset [#x v] to ((1) - (2))\nset [#x2 v] to (((1) - (2)) + (360))\nset [#x3 v] to (((1) - (2)) - (360))\nif <<([abs v] of (#x) ) < ([abs v] of (#x2) )> and <([abs v] of (#x) ) < ([abs v] of (#x3) )>> then\n    set [output v] to ((#x) / ([abs v] of (#x) ))\nelse\n    if <([abs v] of (#x2) ) < ([abs v] of (#x3) )> then\n        set [output v] to ((#x2) / ([abs v] of (#x2) ))\n    else\n        set [output v] to ((#x3) / ([abs v] of (#x3) ))\n    end\nend\n\ndefine || set collider normal || (x) (y) (z)\nset [collidernormalx v] to (x)\nset [collidernormaly v] to (y)\nset [collidernormalz v] to (z)\n\ndefine point (x) (y) (z)\nset [pointx v] to (x)\nset [pointy v] to (y)\nset [pointz v] to (z)\n\ndefine player || rotation matrix from X (x) (y) (z)\nset [#x v] to (x)\nset [#y v] to (((y) * (player || XCos)) + ((z) * (player || XSin)))\nset [#z v] to (((z) * (player || XCos)) - ((y) * (player || XSin)))\n\ndefine player || rotation matrix from Z (x) (y) (z)\nset [#x v] to (((x) * (player || ZCos)) + ((y) * (player || ZSin)))\nset [#y v] to (((y) * (player || ZCos)) - ((x) * (player || ZSin)))\nset [#z v] to (z)\n\ndefine rotate\nrotY\n_playerCollision? +rad [1]\n raw 3D dist (DirectionNormalX) (DirectionNormalY) (DirectionNormalZ) to [] [] []\nset [colliderdistance v] to ([sqrt v] of (distance) )\n|| set direction normal || ((DirectionNormalX) / (ColliderDistance)) ((DirectionNormalY) / (ColliderDistance)) ((DirectionNormalZ) / (ColliderDistance))\nset [player || rotxobjective v] to ([asin v] of (DirectionNormalZ) )\nset [player || rotzobjective v] to (() - ([asin v] of (DirectionNormalX) ))\nif <(([abs v] of ((player || RotXObjective) - (player || RotX)) ) mod (360)) < (((_PlayerRotationSpeed) * (0.3)) * (-DeltaTime))> then\n    set [player || rotx v] to (player || RotXObjective)\nelse\n    closer dir angles objective (player || RotXObjective) pos (player || RotX)\n    change [player || rotx v] by (((_PlayerRotationSpeed) * (0.3)) * ((-DeltaTime) * (output)))\nend\nif <(([abs v] of ((player || RotYObjective) - (player || RotY)) ) mod (360)) < ((_PlayerRotationSpeed) * (-DeltaTime))> then\n    set [player || roty v] to (player || RotYObjective)\nelse\n    closer dir angles objective (player || RotYObjective) pos (player || RotY)\n    change [player || roty v] by ((_PlayerRotationSpeed) * ((-DeltaTime) * (output)))\nend\nif <(([abs v] of ((player || RotZObjective) - (player || RotZ)) ) mod (360)) < (((_PlayerRotationSpeed) * (0.3)) * (-DeltaTime))> then\n    set [player || rotz v] to (player || RotZObjective)\nelse\n    closer dir angles objective (player || RotZObjective) pos (player || RotZ)\n    change [player || rotz v] by (((_PlayerRotationSpeed) * (0.3)) * ((-DeltaTime) * (output)))\nend\n\ndefine change player pos (x) (y) (z)\nchange [_playerx v] by ((x) * ((-DeltaTime) * (_PlayerSpeed)))\nchange [_playery v] by ((y) * ((-DeltaTime) * (_PlayerSpeed)))\nchange [_playerz v] by ((z) * ((-DeltaTime) * (_PlayerSpeed)))\n\ndefine || set direction normal || (x) (y) (z)\nset [directionnormalx v] to (x)\nset [directionnormaly v] to (y)\nset [directionnormalz v] to (z)\n\ndefine shadow\nreplace item (2) of [_objects data v] with (_PlayerX)\nreplace item (3) of [_objects data v] with [-99999999999]\nreplace item (4) of [_objects data v] with (_PlayerZ)\nset [counter v] to [0]\nrepeat ((length of [_tris data v]) / (23))\n    change [counter v] by (23)\n    if <(item ((counter) - ((triDataLenght) - (21))) of [_tris data v]) = [ground]> then\n        change [_playery v] by (-10)\n        || sphere to tri collision || tri (item ((counter) - ((triDataLenght) - (1))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (2))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (3))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (4))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (5))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (6))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (7))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (8))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (9))) of [_tris data v]) sphere (_PlayerX) (_PlayerY) (_PlayerZ) ((_PlayerRadius) - (9)) tri plane (item ((counter) - ((triDataLenght) - (14))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (15))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (16))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (17))) of [_tris data v])\n        change [_playery v] by (10)\n        if <(collision?) = [true]> then\n            replace item (2) of [_objects data v] with (PointX)\n            replace item (3) of [_objects data v] with (PointY)\n            replace item (4) of [_objects data v] with (PointZ)\n            replace item (5) of [_objects data v] with ((40) + (((_PlayerY) - (PointY)) * (0.25)))\n        else\n            || AABB and Box Collision [tri] || tri (item ((counter) - ((triDataLenght) - (1))) of [_tris data v]) [-5] (item ((counter) - ((triDataLenght) - (3))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (4))) of [_tris data v]) [0] (item ((counter) - ((triDataLenght) - (6))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (7))) of [_tris data v]) [5] (item ((counter) - ((triDataLenght) - (9))) of [_tris data v]) box (_PlayerX) [0] (_PlayerZ) [3]\n            if <(collision?) = [true]> then\n                set [shadowy v] to (() - (((((_PlayerX) * (item ((counter) - ((triDataLenght) - (14))) of [_tris data v])) + ((_PlayerZ) * (item ((counter) - ((triDataLenght) - (16))) of [_tris data v]))) + (item ((counter) - ((triDataLenght) - (17))) of [_tris data v])) / (item ((counter) - ((triDataLenght) - (15))) of [_tris data v])))\n                if <<(shadowY) > (item (3) of [_objects data v])> and <(shadowY) < (_PlayerY)>> then\n                    replace item (2) of [_objects data v] with (_PlayerX)\n                    replace item (3) of [_objects data v] with (shadowY)\n                    replace item (4) of [_objects data v] with (_PlayerZ)\n                    replace item (5) of [_objects data v] with ((40) + (((_PlayerY) - (shadowY)) * (0.25)))\n                end\n            end\n        end\n    end\nend\n\ndefine player update || animation\nchange [player || animationtimer v] by ((-DeltaTime) * (5))\nif <(player || animationTimer) > [1]> then\n    change [player || animationtimer v] by (-1)\n    set [player || oldframe v] to (player || nextFrame)\n    if <not <([abs v] of ((_PlayerYVel) * (-DeltaTime)) ) < [1]>> then\n        if <(_PlayerYVel) > ((100) * (-DeltaTime))> then\n            frames [0] [5]\n        else\n            if <(_PlayerYVel) > ((-100) * (-DeltaTime))> then\n                frames [0] [6]\n            else\n                frames [0] [7]\n            end\n        end\n    else\n        if <(moving?) = [slide]> then\n            frames [0] [10]\n        else\n            if <<<key (w v) pressed?> or <key (a v) pressed?>> or <<key (s v) pressed?> or <key (d v) pressed?>>> then\n                if <(player || animationFrame) = [0]> then\n                    frames [1] [0]\n                else\n                    if <(player || animationFrame) = [1]> then\n                        frames [2] [8]\n                    else\n                        if <(player || animationFrame) = [2]> then\n                            frames [3] [0]\n                        else\n                            frames [0] [9]\n                        end\n                    end\n                end\n            else\n                if <(player || animationFrame) = [0]> then\n                    frames [1] [1]\n                else\n                    if <(player || animationFrame) = [1]> then\n                        frames [2] [2]\n                    else\n                        if <(player || animationFrame) = [2]> then\n                            frames [3] [3]\n                        else\n                            if <(player || animationFrame) = [3]> then\n                                frames [4] [4]\n                            else\n                                if <(player || animationFrame) = [4]> then\n                                    frames [5] [3]\n                                else\n                                    if <(player || animationFrame) = [5]> then\n                                        frames [6] [2]\n                                    else\n                                        if <(player || animationFrame) = [6]> then\n                                            frames [7] [1]\n                                        else\n                                            frames [0] [0]\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine frames (a) (b)\nset [player || animationframe v] to (a)\nset [player || nextframe v] to (b)\n\ndefine closest Ypoint to player\nset [counter v] to [0]\nset [#y v] to [-9999999999]\nrepeat ((length of [_tris data v]) / (23))\n    change [counter v] by (23)\n    if <(item ((counter) - ((triDataLenght) - (21))) of [_tris data v]) = [ground]> then\n        || AABB and Box Collision [tri] || tri (item ((counter) - ((triDataLenght) - (1))) of [_tris data v]) [-5] (item ((counter) - ((triDataLenght) - (3))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (4))) of [_tris data v]) [0] (item ((counter) - ((triDataLenght) - (6))) of [_tris data v]) (item ((counter) - ((triDataLenght) - (7))) of [_tris data v]) [5] (item ((counter) - ((triDataLenght) - (9))) of [_tris data v]) box (_PlayerX) [0] (_PlayerZ) [3]\n        if <(collision?) = [true]> then\n            set [collidernormalw v] to (item ((counter) - ((triDataLenght) - (17))) of [_tris data v])\n            set [collidernormalx v] to (item ((counter) - ((triDataLenght) - (14))) of [_tris data v])\n            set [collidernormaly v] to (item ((counter) - ((triDataLenght) - (15))) of [_tris data v])\n            set [collidernormalz v] to (item ((counter) - ((triDataLenght) - (16))) of [_tris data v])\n            get dot product (ColliderNormalX) (ColliderNormalY) (ColliderNormalZ) and ((_PlayerX) - (item ((counter) - ((triDataLenght) - (1))) of [_tris data v])) ((_PlayerY) - (item ((counter) - ((triDataLenght) - (2))) of [_tris data v])) ((_PlayerZ) - (item ((counter) - ((triDataLenght) - (3))) of [_tris data v]))\n            if <(=dotProduct) < [0]> then\n                || set collider normal || (() - (ColliderNormalX)) (() - (ColliderNormalY)) (() - (ColliderNormalZ))\n            end\n            set [shadowy v] to (() - (((((_PlayerX) * (ColliderNormalX)) + ((_PlayerZ) * (ColliderNormalZ))) + (ColliderNormalW)) / (ColliderNormalY)))\n            if <<(shadowY) > (#y)> and <(shadowY) < ((_PlayerY) - (_PlayerRadius))>> then\n                set [#y v] to (shadowY)\n            end\n        end\n    end\nend\n\ndefine add distance (d)\nset [counter2 v] to [1]\nrepeat until <not <(d) < (item (counter2) of [distances v])>>\n    if <(d) < (item (counter2) of [distances v])> then\n        change [counter2 v] by (1)\n    end\nend\ninsert ((length of [#sort order v]) + (1)) at (counter2) of [#sort order v] \ninsert (d) at (counter2) of [distances v] \n\n@renderer\n\ndefine 2D fill triangle (ax) (ay) (bx) (by) (cx) (cy) resolution: (res)\nset [lena v] to ([sqrt v] of ((((bx) - (cx)) * ((bx) - (cx))) + (((by) - (cy)) * ((by) - (cy)))) )\nset [lenb v] to ([sqrt v] of ((((ax) - (cx)) * ((ax) - (cx))) + (((ay) - (cy)) * ((ay) - (cy)))) )\nset [lenc v] to ([sqrt v] of ((((ax) - (bx)) * ((ax) - (bx))) + (((ay) - (by)) * ((ay) - (by)))) )\nset [peri v] to ((1) / (((lena) + (lenb)) + (lenc)))\nset [incx v] to (((((lena) * (ax)) + ((lenb) * (bx))) + ((lenc) * (cx))) * (peri))\nset [incy v] to (((((lena) * (ay)) + ((lenb) * (by))) + ((lenc) * (cy))) * (peri))\nset [ind v] to ([sqrt v] of ((((((lenb) + (lenc)) - (lena)) * (((lenc) + (lena)) - (lenb))) * (((lena) + (lenb)) - (lenc))) * (peri)) )\nset [aox v] to ((incx) - (ax))\nset [aoy v] to ((incy) - (ay))\nset [box v] to ((incx) - (bx))\nset [boy v] to ((incy) - (by))\nset [cox v] to ((incx) - (cx))\nset [coy v] to ((incy) - (cy))\nif <<(lena) < (lenb)> and <(lena) < (lenc)>> then\n    set [td v] to ([sqrt v] of (((Aox) * (Aox)) + ((Aoy) * (Aoy))) )\nelse\n    if <<(lenb) > (lena)> or <(lenb) > (lenc)>> then\n        set [td v] to ([sqrt v] of (((Cox) * (Cox)) + ((Coy) * (Coy))) )\n    else\n        set [td v] to ([sqrt v] of (((Box) * (Box)) + ((Boy) * (Boy))) )\n    end\nend\nset [rate v] to ((((td) * (2)) - (ind)) / ((td) * (4)))\nset [td v] to ((1) + (0))\ngo to x: (round (incx)) y: (round (incy))\nset pen size to (ind)\npen down\nset [counter2 v] to [0]\nrepeat ([ceiling v] of (([log v] of ((res) / (ind)) ) / ([log v] of (rate) )) )\n    change [counter2 v] by (1)\n    set [td v] to ((td) * (rate))\n    set pen size to ((ind) * (td))\n    go to x: (((Aox) * (td)) + (ax)) y: (((Aoy) * (td)) + (ay))\n    if <<(counter2) > [1]> and <(counter2) < [6]>> then\n        change pen (brightness v) by (-8)\n    end\n    go to x: (((Box) * (td)) + (bx)) y: (((Boy) * (td)) + (by))\n    go to x: (((Cox) * (td)) + (cx)) y: (((Coy) * (td)) + (cy))\n    go to x: (((Aox) * (td)) + (ax)) y: (((Aoy) * (td)) + (ay))\nend\nset pen size to (res)\ngo to x: (ax) y: (ay)\nchange pen (brightness v) by (-8)\ngo to x: (bx) y: (by)\ngo to x: (cx) y: (cy)\ngo to x: (ax) y: (ay)\npen up\n\ndefine do 3D stuff with (x) (y) (z)\nxyz ((x) - (_ScrollX)) ((y) - (_ScrollY)) ((z) - (_ScrollZ))\nxyz (((#x) * (\(Ycos)) + ((#z) * (\(Ysin))) (#y) (((#z) * (\(Ycos)) - ((#x) * (\(Ysin)))\nxyz (#x) (((#y) * (\(Xcos)) - ((#z) * (\(Xsin))) (((#y) * (\(Xsin)) + ((#z) * (\(Xcos)))\n\ndefine xyz (x) (y) (z)\nset [#x v] to (x)\nset [#y v] to (y)\nset [#z v] to (z)\n\ndefine 3D tri fill (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) color (1) (2) (3) (4)\ndo 3D stuff with (x3) (y3) (z3)\nset [#x3 v] to (#x)\nset [#y3 v] to (#y)\nset [#z3 v] to (#z)\ndo 3D stuff with (x2) (y2) (z2)\nset [#x2 v] to (#x)\nset [#y2 v] to (#y)\nset [#z2 v] to (#z)\ndo 3D stuff with (x1) (y1) (z1)\nif <<(#z3) > (nearPlane)> or <<(#z2) > (nearPlane)> or <(#z) > (nearPlane)>>> then\n    if <(nearPlane) > (#z)> then\n        set [#z v] to (nearPlane)\n    end\n    if <(nearPlane) > (#z2)> then\n        set [#z2 v] to (nearPlane)\n    end\n    if <(nearPlane) > (#z3)> then\n        set [#z3 v] to (nearPlane)\n    end\n    set pen (color v) to (1)\n    set pen (saturation v) to (2)\n    set pen (brightness v) to (3)\n    set pen (transparency v) to (4)\n    2D fill triangle (((#x) / (#z)) * (Fov)) (((#y) / (#z)) * (Fov)) (((#x2) / (#z2)) * (Fov)) (((#y2) / (#z2)) * (Fov)) (((#x3) / (#z3)) * (Fov)) (((#y3) / (#z3)) * (Fov)) resolution: ((1) - (<is compiled?> * (0.8)))\nend\n\ndefine Sin and Cos\nset [\(xsin v] to (item ((((round ((_RotX) * (10))) - (1)) mod (3600)) + (1)) of [@presin v])\nset [\(ysin v] to (item ((((round ((_RotY) * (10))) - (1)) mod (3600)) + (1)) of [@presin v])\nset [\(xcos v] to (item ((((round ((_RotX) * (10))) - (1)) mod (3600)) + (1)) of [@precos v])\nset [\(ycos v] to (item ((((round ((_RotY) * (10))) - (1)) mod (3600)) + (1)) of [@precos v])\n\ndefine size\nswitch costume to (dot v)\nset size to ((1) / (0)) %\nswitch costume to (big v)\nhide\n\ndefine render all\nsize\nSin and Cos\nerase all\nset [counter v] to [0]\nrepeat (length of [#sort order v])\n    change [counter v] by (1)\n    if <(item (counter) of [#sort order v]) < (((length of [_tris data v]) / (triDataLenght)) + (1))> then\n        if <(item (item (counter) of [#sort order v]) of [notrender v]) = [false]> then\n            set [counter2 v] to ((item (counter) of [#sort order v]) * (triDataLenght))\n            3D tri fill (item ((counter2) - ((triDataLenght) - (1))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (2))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (3))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (4))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (5))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (6))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (7))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (8))) of [_tris data v]) (item ((counter2) - ((triDataLenght) - (9))) of [_tris data v]) color (item ((counter2) - ((triDataLenght) - (10))) of [_tris data v]) ((item ((counter2) - ((triDataLenght) - (11))) of [_tris data v]) - (<(item ((counter2) - ((triDataLenght) - (22))) of [_tris data v]) > [0]> * (item ((counter2) - ((triDataLenght) - (22))) of [_tris data v]))) ((item ((counter2) - ((triDataLenght) - (12))) of [_tris data v]) + (<[0] > (item ((counter2) - ((triDataLenght) - (22))) of [_tris data v])> * (item ((counter2) - ((triDataLenght) - (22))) of [_tris data v]))) (item ((counter2) - ((triDataLenght) - (13))) of [_tris data v])\n        end\n    else\n        if <(item (counter) of [#sort order v]) < ((((length of [_tris data v]) / (triDataLenght)) + (1)) + ((length of [_objects data v]) / (5)))> then\n            pen up\n            set size to (999999999999999999999999999) %\n            set [counter2 v] to (((item (counter) of [#sort order v]) - ((length of [_tris data v]) / (triDataLenght))) * (5))\n            do 3D stuff with (item ((counter2) - (3)) of [_objects data v]) (item ((counter2) - (2)) of [_objects data v]) (item ((counter2) - (1)) of [_objects data v])\n            go to x: (((#x) / (#z)) * (Fov)) y: (((#y) / (#z)) * (Fov))\n            set size to (((item (counter2) of [_objects data v]) / (#z)) * (Fov)) %\n            switch costume to (shadow v)\n            set [ghost v] effect to (((size) * (2)) - (75))\n            stamp\n            size\n            set [ghost v] effect to (0)\n        end\n    end\nend\n\nwhen I receive [render v]\nrender all\n\n