diff --git a/gs/html5/vex5/assets/atlas/atlas_gameplay.json b/gs/html5/vex5/assets/atlas/atlas_gameplay.json
new file mode 100644
index 0000000..ec96f1b
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_gameplay.json
@@ -0,0 +1,476 @@
+{"frames": [
+
+{
+ "filename": "act-block-1",
+ "frame": {"x":257,"y":387,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-2",
+ "frame": {"x":3,"y":585,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-3",
+ "frame": {"x":252,"y":675,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-4",
+ "frame": {"x":3,"y":729,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-5",
+ "frame": {"x":3,"y":873,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-6",
+ "frame": {"x":251,"y":819,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-7",
+ "frame": {"x":251,"y":963,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-8",
+ "frame": {"x":3,"y":1017,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-9",
+ "frame": {"x":3,"y":1161,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-block-10",
+ "frame": {"x":296,"y":223,"w":160,"h":160},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":160,"h":160},
+ "sourceSize": {"w":160,"h":160}
+},
+{
+ "filename": "act-block-11",
+ "frame": {"x":257,"y":531,"w":140,"h":140},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":140,"h":140},
+ "sourceSize": {"w":140,"h":140}
+},
+{
+ "filename": "act-check-base",
+ "frame": {"x":460,"y":323,"w":29,"h":27},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":29,"h":27},
+ "sourceSize": {"w":32,"h":27}
+},
+{
+ "filename": "act-check",
+ "frame": {"x":460,"y":354,"w":28,"h":21},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":28,"h":21},
+ "sourceSize": {"w":28,"h":21}
+},
+{
+ "filename": "arrow-static",
+ "frame": {"x":401,"y":387,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "basicBlock",
+ "frame": {"x":401,"y":491,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "bounceBlock",
+ "frame": {"x":401,"y":595,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "breatheBlaster",
+ "frame": {"x":211,"y":1289,"w":44,"h":103},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":44,"h":103},
+ "sourceSize": {"w":44,"h":103}
+},
+{
+ "filename": "bullet",
+ "frame": {"x":460,"y":310,"w":35,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":35,"h":9},
+ "sourceSize": {"w":35,"h":9}
+},
+{
+ "filename": "buzzsaw",
+ "frame": {"x":147,"y":793,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "buzzsawOnStick",
+ "frame": {"x":296,"y":186,"w":167,"h":33},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":167,"h":33},
+ "sourceSize": {"w":167,"h":33}
+},
+{
+ "filename": "cannonBase",
+ "frame": {"x":147,"y":1209,"w":77,"h":76},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":77,"h":76},
+ "sourceSize": {"w":77,"h":76}
+},
+{
+ "filename": "cannonTube",
+ "frame": {"x":259,"y":1375,"w":73,"h":25},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":73,"h":25},
+ "sourceSize": {"w":73,"h":25}
+},
+{
+ "filename": "challenge_room_icon",
+ "frame": {"x":228,"y":1209,"w":58,"h":63},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":3,"w":58,"h":63},
+ "sourceSize": {"w":61,"h":68}
+},
+{
+ "filename": "classicLaser",
+ "frame": {"x":259,"y":1337,"w":62,"h":34},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":34},
+ "sourceSize": {"w":62,"h":34}
+},
+{
+ "filename": "explosiveBlock",
+ "frame": {"x":147,"y":585,"w":101,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":101,"h":100},
+ "sourceSize": {"w":101,"h":100}
+},
+{
+ "filename": "fallingBlock",
+ "frame": {"x":396,"y":699,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "fallingSpike",
+ "frame": {"x":482,"y":3,"w":18,"h":11},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":18,"h":11},
+ "sourceSize": {"w":18,"h":11}
+},
+{
+ "filename": "glassBlock",
+ "frame": {"x":396,"y":803,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "hazardStrips",
+ "frame": {"x":482,"y":40,"w":10,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":10,"h":100},
+ "sourceSize": {"w":10,"h":100}
+},
+{
+ "filename": "horizontalBlock",
+ "frame": {"x":147,"y":897,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "iceBlock",
+ "frame": {"x":395,"y":907,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "invisBlock",
+ "frame": {"x":147,"y":1001,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "invisBlockDown",
+ "frame": {"x":147,"y":1105,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "invisBlockUp",
+ "frame": {"x":3,"y":1305,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "key",
+ "frame": {"x":271,"y":154,"w":21,"h":39},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":21,"h":39},
+ "sourceSize": {"w":21,"h":39}
+},
+{
+ "filename": "lightSwitch",
+ "frame": {"x":271,"y":129,"w":22,"h":21},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":22,"h":21},
+ "sourceSize": {"w":22,"h":21}
+},
+{
+ "filename": "lockBlock",
+ "frame": {"x":107,"y":1305,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "pole",
+ "frame": {"x":467,"y":186,"w":10,"h":10},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
+ "sourceSize": {"w":10,"h":10}
+},
+{
+ "filename": "poleRedSection",
+ "frame": {"x":467,"y":212,"w":30,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":30,"h":53},
+ "sourceSize": {"w":30,"h":53}
+},
+{
+ "filename": "pushBlock",
+ "frame": {"x":147,"y":689,"w":101,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":101,"h":100},
+ "sourceSize": {"w":101,"h":100}
+},
+{
+ "filename": "quadrant",
+ "frame": {"x":299,"y":3,"w":179,"h":179},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":179,"h":179},
+ "sourceSize": {"w":179,"h":179}
+},
+{
+ "filename": "reaper",
+ "frame": {"x":3,"y":25,"w":264,"h":302},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":264,"h":302},
+ "sourceSize": {"w":264,"h":302}
+},
+{
+ "filename": "shurikanSpawner",
+ "frame": {"x":271,"y":240,"w":20,"h":27},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":20,"h":27},
+ "sourceSize": {"w":20,"h":27}
+},
+{
+ "filename": "solarBlock",
+ "frame": {"x":395,"y":1011,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "spark",
+ "frame": {"x":271,"y":271,"w":20,"h":20},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":20,"h":20},
+ "sourceSize": {"w":20,"h":20}
+},
+{
+ "filename": "sparkBlock",
+ "frame": {"x":290,"y":1107,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "speedBlock",
+ "frame": {"x":394,"y":1115,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "spike",
+ "frame": {"x":482,"y":18,"w":11,"h":18},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":11,"h":18},
+ "sourceSize": {"w":11,"h":18}
+},
+{
+ "filename": "spike10x",
+ "frame": {"x":259,"y":1315,"w":97,"h":18},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":97,"h":18},
+ "sourceSize": {"w":97,"h":18}
+},
+{
+ "filename": "spike30x",
+ "frame": {"x":3,"y":3,"w":292,"h":18},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":292,"h":18},
+ "sourceSize": {"w":292,"h":18}
+},
+{
+ "filename": "star",
+ "frame": {"x":460,"y":269,"w":38,"h":37},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":38,"h":37},
+ "sourceSize": {"w":38,"h":37}
+},
+{
+ "filename": "swimmingPool",
+ "frame": {"x":3,"y":331,"w":250,"h":250},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":250,"h":250},
+ "sourceSize": {"w":250,"h":250}
+},
+{
+ "filename": "timedKey",
+ "frame": {"x":271,"y":197,"w":21,"h":39},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":21,"h":39},
+ "sourceSize": {"w":21,"h":39}
+},
+{
+ "filename": "verticalDownBlock",
+ "frame": {"x":290,"y":1211,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "verticalUpBlock",
+ "frame": {"x":394,"y":1219,"w":100,"h":100},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":100,"h":100},
+ "sourceSize": {"w":100,"h":100}
+},
+{
+ "filename": "windBlaster",
+ "frame": {"x":271,"y":25,"w":23,"h":100},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":100},
+ "sourceSize": {"w":24,"h":100}
+},
+{
+ "filename": "wire",
+ "frame": {"x":147,"y":1289,"w":50,"h":8},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":8},
+ "sourceSize": {"w":50,"h":8}
+},
+{
+ "filename": "ziplinePole",
+ "frame": {"x":482,"y":144,"w":10,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":10,"h":64},
+ "sourceSize": {"w":10,"h":64}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_gameplay.png",
+ "format": "RGBA8888",
+ "size": {"w":504,"h":1408},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:42a87896dbe9fa272239ea03ea195295:f844a68289de79c4ac02cbc2b9a39a5b:2de73da2ceb98e8affc8e745ae8d4856$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_gameplay.png b/gs/html5/vex5/assets/atlas/atlas_gameplay.png
new file mode 100644
index 0000000..45b62be
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_gameplay.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_portals.json b/gs/html5/vex5/assets/atlas/atlas_portals.json
new file mode 100644
index 0000000..28083cd
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_portals.json
@@ -0,0 +1,236 @@
+{"frames": [
+
+{
+ "filename": "portal_blue0.png",
+ "frame": {"x":171,"y":85,"w":72,"h":78},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":15,"y":3,"w":72,"h":78},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue1.png",
+ "frame": {"x":245,"y":82,"w":57,"h":65},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":22,"y":8,"w":57,"h":65},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue10.png",
+ "frame": {"x":2,"y":94,"w":88,"h":90},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":8,"y":2,"w":88,"h":90},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue11.png",
+ "frame": {"x":99,"y":2,"w":76,"h":81},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":16,"y":7,"w":76,"h":81},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue12.png",
+ "frame": {"x":92,"y":94,"w":77,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":12,"y":1,"w":77,"h":82},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue13.png",
+ "frame": {"x":177,"y":2,"w":72,"h":78},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":15,"y":3,"w":72,"h":78},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue2.png",
+ "frame": {"x":196,"y":165,"w":76,"h":73},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":10,"w":76,"h":73},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue3.png",
+ "frame": {"x":93,"y":178,"w":101,"h":65},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":5,"y":14,"w":101,"h":65},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue4.png",
+ "frame": {"x":2,"y":186,"w":89,"h":61},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":11,"y":14,"w":89,"h":61},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue5.png",
+ "frame": {"x":437,"y":2,"w":78,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":16,"y":14,"w":78,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue6.png",
+ "frame": {"x":304,"y":65,"w":87,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":21,"y":14,"w":87,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue7.png",
+ "frame": {"x":355,"y":2,"w":80,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":80,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue8.png",
+ "frame": {"x":326,"y":126,"w":74,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":74,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue9.png",
+ "frame": {"x":2,"y":2,"w":95,"h":90},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":2,"w":95,"h":90},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled0.png",
+ "frame": {"x":326,"y":187,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled1.png",
+ "frame": {"x":303,"y":2,"w":50,"h":61},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":12,"w":50,"h":61},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled10.png",
+ "frame": {"x":378,"y":187,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled11.png",
+ "frame": {"x":274,"y":149,"w":50,"h":60},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":60},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled12.png",
+ "frame": {"x":393,"y":63,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled13.png",
+ "frame": {"x":402,"y":124,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled2.png",
+ "frame": {"x":251,"y":2,"w":50,"h":63},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":10,"w":50,"h":63},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled3.png",
+ "frame": {"x":445,"y":63,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled4.png",
+ "frame": {"x":430,"y":185,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled5.png",
+ "frame": {"x":517,"y":2,"w":48,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":27,"y":14,"w":48,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled6.png",
+ "frame": {"x":506,"y":124,"w":48,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":27,"y":14,"w":48,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled7.png",
+ "frame": {"x":454,"y":124,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled8.png",
+ "frame": {"x":497,"y":63,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+},
+{
+ "filename": "portal_blue_disabled9.png",
+ "frame": {"x":482,"y":185,"w":50,"h":59},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":26,"y":14,"w":50,"h":59},
+ "sourceSize": {"w":109,"h":92}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_portals.png",
+ "format": "RGBA8888",
+ "size": {"w":567,"h":249},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:254c64ca2891447e32230c3bec52836b:2f67c55ae44eb0511843b7dbde6b04eb:74ac886259227a7e1afcf942dcf44aba$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_portals.png b/gs/html5/vex5/assets/atlas/atlas_portals.png
new file mode 100644
index 0000000..271b5d7
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_portals.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_transition.json b/gs/html5/vex5/assets/atlas/atlas_transition.json
new file mode 100644
index 0000000..df5e85d
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_transition.json
@@ -0,0 +1,28 @@
+{"frames": [
+
+{
+ "filename": "mm_logo.png",
+ "frame": {"x":216,"y":2,"w":377,"h":137},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":377,"h":137},
+ "sourceSize": {"w":377,"h":138}
+},
+{
+ "filename": "transition_asset.png",
+ "frame": {"x":2,"y":2,"w":212,"h":212},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":212,"h":212},
+ "sourceSize": {"w":212,"h":212}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_transition.png",
+ "format": "RGBA8888",
+ "size": {"w":595,"h":216},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:ffaf3a7a1aed2a7d08f6e94c7bc30232:65c1d6650e893b83be4bd2b1fa9cef79:5e0bb93b670eaaaac5159ab3ac532c7e$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_transition.png b/gs/html5/vex5/assets/atlas/atlas_transition.png
new file mode 100644
index 0000000..c4d077d
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_transition.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_act_select.json b/gs/html5/vex5/assets/atlas/atlas_ui_act_select.json
new file mode 100644
index 0000000..84484b2
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_act_select.json
@@ -0,0 +1,236 @@
+{"frames": [
+
+{
+ "filename": "act_death_unlock.png",
+ "frame": {"x":38,"y":386,"w":18,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":2,"w":18,"h":19},
+ "sourceSize": {"w":21,"h":23}
+},
+{
+ "filename": "act_hardcore_unlock.png",
+ "frame": {"x":80,"y":367,"w":17,"h":18},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":17,"h":18},
+ "sourceSize": {"w":21,"h":23}
+},
+{
+ "filename": "act_lock_container.png",
+ "frame": {"x":2,"y":347,"w":42,"h":37},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":42,"h":37},
+ "sourceSize": {"w":42,"h":42}
+},
+{
+ "filename": "act_lock_container_10.png",
+ "frame": {"x":46,"y":347,"w":42,"h":18},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":12,"w":42,"h":18},
+ "sourceSize": {"w":42,"h":42}
+},
+{
+ "filename": "act_star_unlock.png",
+ "frame": {"x":58,"y":386,"w":20,"h":18},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":2,"w":20,"h":18},
+ "sourceSize": {"w":21,"h":22}
+},
+{
+ "filename": "act_trophy_unlock.png",
+ "frame": {"x":46,"y":367,"w":20,"h":17},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":20,"h":17},
+ "sourceSize": {"w":21,"h":20}
+},
+{
+ "filename": "as_act10_base.png",
+ "frame": {"x":629,"y":2,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act10_base_lock.png",
+ "frame": {"x":709,"y":2,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act1_base.png",
+ "frame": {"x":789,"y":2,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act1_base_lock.png",
+ "frame": {"x":869,"y":2,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act2_base.png",
+ "frame": {"x":629,"y":86,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act2_base_lock.png",
+ "frame": {"x":709,"y":86,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act3_base.png",
+ "frame": {"x":789,"y":86,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act3_base_lock.png",
+ "frame": {"x":869,"y":86,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act4_base.png",
+ "frame": {"x":629,"y":170,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act4_base_lock.png",
+ "frame": {"x":629,"y":254,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act5_base.png",
+ "frame": {"x":629,"y":338,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act5_base_lock.png",
+ "frame": {"x":709,"y":170,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act6_base.png",
+ "frame": {"x":789,"y":170,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act6_base_lock.png",
+ "frame": {"x":869,"y":170,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act7_base.png",
+ "frame": {"x":709,"y":254,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act7_base_lock.png",
+ "frame": {"x":709,"y":338,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act8_base.png",
+ "frame": {"x":789,"y":254,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act8_base_lock.png",
+ "frame": {"x":789,"y":338,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act9_base.png",
+ "frame": {"x":869,"y":254,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_act9_base_lock.png",
+ "frame": {"x":869,"y":338,"w":78,"h":82},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":78,"h":82},
+ "sourceSize": {"w":82,"h":86}
+},
+{
+ "filename": "as_close_button.png",
+ "frame": {"x":2,"y":386,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":34,"h":33},
+ "sourceSize": {"w":36,"h":35}
+},
+{
+ "filename": "as_container.png",
+ "frame": {"x":2,"y":2,"w":625,"h":343},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":5,"y":7,"w":625,"h":343},
+ "sourceSize": {"w":639,"h":361}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_act_select.png",
+ "format": "RGBA8888",
+ "size": {"w":949,"h":422},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:9e80dbd570cd18ea2d071c9a6302cd33:34115dea8b0a4a6f5c549399f3276ccb:1e915a84e6a917e9ae61ccd9c6536e5a$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_act_select.png b/gs/html5/vex5/assets/atlas/atlas_ui_act_select.png
new file mode 100644
index 0000000..5c37699
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_act_select.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.json b/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.json
new file mode 100644
index 0000000..6337eae
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.json
@@ -0,0 +1,740 @@
+{"frames": [
+
+{
+ "filename": "bronze.png",
+ "frame": {"x":502,"y":612,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+},
+{
+ "filename": "cr_container.png",
+ "frame": {"x":2,"y":452,"w":476,"h":103},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":476,"h":103},
+ "sourceSize": {"w":476,"h":103}
+},
+{
+ "filename": "cr_floor_container.png",
+ "frame": {"x":237,"y":557,"w":180,"h":86},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":180,"h":86},
+ "sourceSize": {"w":180,"h":86}
+},
+{
+ "filename": "cr_level_container.png",
+ "frame": {"x":2,"y":557,"w":233,"h":89},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":233,"h":89},
+ "sourceSize": {"w":233,"h":89}
+},
+{
+ "filename": "cr_time_container.png",
+ "frame": {"x":416,"y":224,"w":153,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":153,"h":45},
+ "sourceSize": {"w":154,"h":47}
+},
+{
+ "filename": "cr_tophy_lock.png",
+ "frame": {"x":373,"y":645,"w":48,"h":51},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":48,"h":51},
+ "sourceSize": {"w":54,"h":60}
+},
+{
+ "filename": "cr_tophy_unlock.png",
+ "frame": {"x":426,"y":692,"w":48,"h":51},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":48,"h":51},
+ "sourceSize": {"w":54,"h":60}
+},
+{
+ "filename": "gold.png",
+ "frame": {"x":549,"y":271,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+},
+{
+ "filename": "gp_achievement_container.png",
+ "frame": {"x":2,"y":648,"w":186,"h":121},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":29,"y":13,"w":186,"h":121},
+ "sourceSize": {"w":237,"h":134}
+},
+{
+ "filename": "gp_bar.png",
+ "frame": {"x":2,"y":1005,"w":81,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":81,"h":9},
+ "sourceSize": {"w":81,"h":9}
+},
+{
+ "filename": "gp_bar_bg.png",
+ "frame": {"x":85,"y":1005,"w":81,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":81,"h":9},
+ "sourceSize": {"w":81,"h":9}
+},
+{
+ "filename": "gp_bronze_text.png",
+ "frame": {"x":419,"y":619,"w":81,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":8,"y":4,"w":81,"h":19},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_clear_text.png",
+ "frame": {"x":483,"y":432,"w":91,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":91,"h":19},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_difficulty_container.png",
+ "frame": {"x":2,"y":2,"w":412,"h":340},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":4,"w":412,"h":340},
+ "sourceSize": {"w":416,"h":348}
+},
+{
+ "filename": "gp_extreme_button.png",
+ "frame": {"x":2,"y":849,"w":177,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":177,"h":50},
+ "sourceSize": {"w":177,"h":50}
+},
+{
+ "filename": "gp_gold_text.png",
+ "frame": {"x":362,"y":742,"w":57,"h":20},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":20,"y":4,"w":57,"h":20},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_hard_button.png",
+ "frame": {"x":2,"y":901,"w":177,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":177,"h":50},
+ "sourceSize": {"w":177,"h":50}
+},
+{
+ "filename": "gp_level_container.png",
+ "frame": {"x":416,"y":2,"w":157,"h":91},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":157,"h":91},
+ "sourceSize": {"w":157,"h":91}
+},
+{
+ "filename": "gp_none_text.png",
+ "frame": {"x":421,"y":745,"w":56,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":20,"y":4,"w":56,"h":19},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_normal_button.png",
+ "frame": {"x":2,"y":953,"w":177,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":177,"h":50},
+ "sourceSize": {"w":177,"h":50}
+},
+{
+ "filename": "gp_pause_button.png",
+ "frame": {"x":532,"y":453,"w":42,"h":44},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":1,"w":42,"h":44},
+ "sourceSize": {"w":46,"h":47}
+},
+{
+ "filename": "gp_perfect_text.png",
+ "frame": {"x":243,"y":749,"w":82,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":7,"y":4,"w":82,"h":19},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_ranking_container.png",
+ "frame": {"x":237,"y":645,"w":134,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":134,"h":42},
+ "sourceSize": {"w":134,"h":42}
+},
+{
+ "filename": "gp_silver_text.png",
+ "frame": {"x":448,"y":791,"w":68,"h":19},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":14,"y":4,"w":68,"h":19},
+ "sourceSize": {"w":96,"h":26}
+},
+{
+ "filename": "gp_stuck_button.png",
+ "frame": {"x":416,"y":95,"w":156,"h":64},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":156,"h":64},
+ "sourceSize": {"w":159,"h":68}
+},
+{
+ "filename": "gp_time_container.png",
+ "frame": {"x":416,"y":161,"w":155,"h":61},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":155,"h":61},
+ "sourceSize": {"w":155,"h":61}
+},
+{
+ "filename": "gp_time_container1.png",
+ "frame": {"x":416,"y":271,"w":131,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":131,"h":55},
+ "sourceSize": {"w":131,"h":55}
+},
+{
+ "filename": "gp_tnt.png",
+ "frame": {"x":2,"y":771,"w":172,"h":76},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":172,"h":76},
+ "sourceSize": {"w":172,"h":76}
+},
+{
+ "filename": "gp_tnt_bar0.png",
+ "frame": {"x":448,"y":812,"w":81,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":81,"h":9},
+ "sourceSize": {"w":81,"h":9}
+},
+{
+ "filename": "gp_tnt_bar1.png",
+ "frame": {"x":233,"y":814,"w":81,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":81,"h":9},
+ "sourceSize": {"w":81,"h":9}
+},
+{
+ "filename": "lvl_hub_container.png",
+ "frame": {"x":2,"y":344,"w":479,"h":106},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":479,"h":106},
+ "sourceSize": {"w":480,"h":107}
+},
+{
+ "filename": "lvl_hub_death_lock.png",
+ "frame": {"x":533,"y":499,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":39,"h":42},
+ "sourceSize": {"w":44,"h":46}
+},
+{
+ "filename": "lvl_hub_death_unlock.png",
+ "frame": {"x":302,"y":770,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":39,"h":42},
+ "sourceSize": {"w":44,"h":46}
+},
+{
+ "filename": "lvl_hub_hardcore_lock.png",
+ "frame": {"x":528,"y":662,"w":46,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":5,"y":3,"w":46,"h":45},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "lvl_hub_hardcore_unlock.png",
+ "frame": {"x":528,"y":709,"w":46,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":5,"y":3,"w":46,"h":45},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "lvl_hub_star_lock.png",
+ "frame": {"x":480,"y":510,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "lvl_hub_star_unlock.png",
+ "frame": {"x":527,"y":612,"w":47,"h":48},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":1,"w":47,"h":48},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "lvl_hub_trophy_lock.png",
+ "frame": {"x":343,"y":770,"w":50,"h":44},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":50,"h":44},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "lvl_hub_trophy_unlock.png",
+ "frame": {"x":190,"y":764,"w":51,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":3,"w":51,"h":45},
+ "sourceSize": {"w":56,"h":50}
+},
+{
+ "filename": "op_close_button.png",
+ "frame": {"x":176,"y":811,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":34,"h":33},
+ "sourceSize": {"w":38,"h":37}
+},
+{
+ "filename": "perfect.png",
+ "frame": {"x":327,"y":740,"w":33,"h":28},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":33,"h":28},
+ "sourceSize": {"w":33,"h":28}
+},
+{
+ "filename": "silver.png",
+ "frame": {"x":549,"y":297,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+},
+{
+ "filename": "trop_act10_unlock.png",
+ "frame": {"x":479,"y":560,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act1_unlock.png",
+ "frame": {"x":423,"y":640,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act2_unlock.png",
+ "frame": {"x":475,"y":640,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act3_unlock.png",
+ "frame": {"x":476,"y":692,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act4_unlock.png",
+ "frame": {"x":181,"y":846,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act5_unlock.png",
+ "frame": {"x":181,"y":898,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act6_unlock.png",
+ "frame": {"x":181,"y":950,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act7_unlock.png",
+ "frame": {"x":233,"y":825,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act8_unlock.png",
+ "frame": {"x":233,"y":877,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act9_unlock.png",
+ "frame": {"x":233,"y":929,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_completion1_unlock.png",
+ "frame": {"x":367,"y":698,"w":57,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":57,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion2_unlock.png",
+ "frame": {"x":243,"y":770,"w":57,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":57,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion3_unlock.png",
+ "frame": {"x":483,"y":380,"w":58,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":58,"h":50},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion4_unlock.png",
+ "frame": {"x":303,"y":689,"w":62,"h":49},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":49},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_death1_unlock.png",
+ "frame": {"x":533,"y":543,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death2_unlock.png",
+ "frame": {"x":531,"y":803,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death3_unlock.png",
+ "frame": {"x":479,"y":964,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death4_unlock.png",
+ "frame": {"x":491,"y":847,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death5_unlock.png",
+ "frame": {"x":491,"y":891,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death6_unlock.png",
+ "frame": {"x":532,"y":847,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death7_unlock.png",
+ "frame": {"x":532,"y":891,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death8_unlock.png",
+ "frame": {"x":520,"y":935,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death9_unlock.png",
+ "frame": {"x":520,"y":979,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_hard_mode1_unlock.png",
+ "frame": {"x":479,"y":744,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode2_unlock.png",
+ "frame": {"x":479,"y":744,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode3_unlock.png",
+ "frame": {"x":526,"y":756,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode4_unlock.png",
+ "frame": {"x":285,"y":977,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode5_unlock.png",
+ "frame": {"x":332,"y":977,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode6_unlock.png",
+ "frame": {"x":432,"y":966,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode7_unlock.png",
+ "frame": {"x":444,"y":823,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode8_unlock.png",
+ "frame": {"x":444,"y":870,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode9_unlock.png",
+ "frame": {"x":444,"y":917,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_star10_unlock.png",
+ "frame": {"x":395,"y":766,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star1_unlock.png",
+ "frame": {"x":285,"y":877,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star2_unlock.png",
+ "frame": {"x":285,"y":927,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star3_unlock.png",
+ "frame": {"x":337,"y":816,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star4_unlock.png",
+ "frame": {"x":390,"y":816,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star5_unlock.png",
+ "frame": {"x":338,"y":866,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star6_unlock.png",
+ "frame": {"x":338,"y":916,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star7_unlock.png",
+ "frame": {"x":391,"y":866,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star8_unlock.png",
+ "frame": {"x":391,"y":916,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star9_unlock.png",
+ "frame": {"x":379,"y":966,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_stuff1_unlock.png",
+ "frame": {"x":483,"y":328,"w":59,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":59,"h":50},
+ "sourceSize": {"w":59,"h":50}
+},
+{
+ "filename": "trop_stuff2_unlock.png",
+ "frame": {"x":190,"y":648,"w":45,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":18,"y":10,"w":45,"h":50},
+ "sourceSize": {"w":77,"h":71}
+},
+{
+ "filename": "trop_stuff3_unlock.png",
+ "frame": {"x":190,"y":700,"w":51,"h":62},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":62},
+ "sourceSize": {"w":51,"h":62}
+},
+{
+ "filename": "trop_stuff4_unlock.png",
+ "frame": {"x":480,"y":453,"w":50,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":55},
+ "sourceSize": {"w":50,"h":55}
+},
+{
+ "filename": "trop_stuff5_unlock.png",
+ "frame": {"x":419,"y":557,"w":58,"h":60},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":60},
+ "sourceSize": {"w":58,"h":60}
+},
+{
+ "filename": "trop_stuff6_unlock.png",
+ "frame": {"x":243,"y":689,"w":58,"h":58},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":58},
+ "sourceSize": {"w":58,"h":58}
+},
+{
+ "filename": "trop_stuff7_unlock.png",
+ "frame": {"x":285,"y":825,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":13,"y":10,"w":50,"h":50},
+ "sourceSize": {"w":77,"h":71}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_gameplay.png",
+ "format": "RGBA8888",
+ "size": {"w":576,"h":1024},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:36689c57b8d91017669e798710ccb09c:8d0f8075e5982ac51ef9c953afa7fb8c:59c609862feac622060e7c4dca7536e3$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.png b/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.png
new file mode 100644
index 0000000..ebf89f1
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_gameplay.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.json b/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.json
new file mode 100644
index 0000000..8f69d9e
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.json
@@ -0,0 +1,116 @@
+{"frames": [
+
+{
+ "filename": "bronze.png",
+ "frame": {"x":281,"y":396,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+},
+{
+ "filename": "gold.png",
+ "frame": {"x":306,"y":396,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+},
+{
+ "filename": "gp_difficulty_container.png",
+ "frame": {"x":2,"y":2,"w":412,"h":340},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":4,"w":412,"h":340},
+ "sourceSize": {"w":416,"h":348}
+},
+{
+ "filename": "op_close_button.png",
+ "frame": {"x":210,"y":396,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":34,"h":33},
+ "sourceSize": {"w":38,"h":37}
+},
+{
+ "filename": "pa_act_select_button.png",
+ "frame": {"x":416,"y":81,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_home_button.png",
+ "frame": {"x":416,"y":159,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_off_button.png",
+ "frame": {"x":210,"y":344,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+},
+{
+ "filename": "pa_on_button.png",
+ "frame": {"x":344,"y":344,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+},
+{
+ "filename": "pa_play_button.png",
+ "frame": {"x":2,"y":344,"w":206,"h":87},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":1,"w":206,"h":87},
+ "sourceSize": {"w":209,"h":89}
+},
+{
+ "filename": "pa_reload_button.png",
+ "frame": {"x":416,"y":237,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_trophies_button.png",
+ "frame": {"x":416,"y":2,"w":73,"h":77},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":73,"h":77},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "perfect.png",
+ "frame": {"x":246,"y":396,"w":33,"h":28},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":33,"h":28},
+ "sourceSize": {"w":33,"h":28}
+},
+{
+ "filename": "silver.png",
+ "frame": {"x":331,"y":396,"w":23,"h":24},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":23,"h":24},
+ "sourceSize": {"w":23,"h":24}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_lvl_complete.png",
+ "format": "RGBA8888",
+ "size": {"w":491,"h":433},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:8092c28601f587d4e9bac78fb762dbb9:398c8f82ea734b07faf6bf0d02838330:535ddc5f85672ba8e18485fa9e914b76$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.png b/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.png
new file mode 100644
index 0000000..6d3f14f
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_lvl_complete.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.json b/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.json
new file mode 100644
index 0000000..6371432
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.json
@@ -0,0 +1,60 @@
+{"frames": [
+
+{
+ "filename": "mm_challenge_room_button.png",
+ "frame": {"x":562,"y":194,"w":89,"h":99},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":89,"h":99},
+ "sourceSize": {"w":89,"h":99}
+},
+{
+ "filename": "mm_decor.png",
+ "frame": {"x":2,"y":2,"w":790,"h":190},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":85,"y":8,"w":790,"h":190},
+ "sourceSize": {"w":960,"h":198}
+},
+{
+ "filename": "mm_logo.png",
+ "frame": {"x":183,"y":194,"w":377,"h":137},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":377,"h":137},
+ "sourceSize": {"w":377,"h":138}
+},
+{
+ "filename": "mm_play_buttton.png",
+ "frame": {"x":2,"y":194,"w":179,"h":190},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":179,"h":190},
+ "sourceSize": {"w":179,"h":190}
+},
+{
+ "filename": "mm_settings_button.png",
+ "frame": {"x":562,"y":295,"w":62,"h":62},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":62},
+ "sourceSize": {"w":62,"h":62}
+},
+{
+ "filename": "mm_trophy_button.png",
+ "frame": {"x":653,"y":194,"w":89,"h":99},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":89,"h":99},
+ "sourceSize": {"w":89,"h":99}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_main_menu.png",
+ "format": "RGBA8888",
+ "size": {"w":794,"h":386},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:f8616c477c92364c0a837e5f47e75832:4f4d5df7a1392365ba2e22500f67c9c5:e74b37f985d7d560acd994665e2885a8$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.png b/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.png
new file mode 100644
index 0000000..4694a6a
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_main_menu.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_options.json b/gs/html5/vex5/assets/atlas/atlas_ui_options.json
new file mode 100644
index 0000000..c939fdf
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_options.json
@@ -0,0 +1,68 @@
+{"frames": [
+
+{
+ "filename": "op_close_button.png",
+ "frame": {"x":270,"y":403,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":34,"h":33},
+ "sourceSize": {"w":38,"h":37}
+},
+{
+ "filename": "op_container.png",
+ "frame": {"x":2,"y":2,"w":515,"h":399},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":5,"w":515,"h":399},
+ "sourceSize": {"w":523,"h":410}
+},
+{
+ "filename": "pa_check.png",
+ "frame": {"x":372,"y":403,"w":32,"h":25},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":5,"w":32,"h":25},
+ "sourceSize": {"w":39,"h":35}
+},
+{
+ "filename": "pa_check_box.png",
+ "frame": {"x":306,"y":403,"w":33,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":1,"w":33,"h":33},
+ "sourceSize": {"w":39,"h":35}
+},
+{
+ "filename": "pa_close_button.png",
+ "frame": {"x":341,"y":403,"w":29,"h":28},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":29,"h":28},
+ "sourceSize": {"w":29,"h":28}
+},
+{
+ "filename": "pa_off_button.png",
+ "frame": {"x":2,"y":403,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+},
+{
+ "filename": "pa_on_button.png",
+ "frame": {"x":136,"y":403,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_options.png",
+ "format": "RGBA8888",
+ "size": {"w":519,"h":455},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:f77c8bf86f47d876b6232e7f47af44b2:5663ae7eb9820f6be129cfca24958c27:6e6d6bb3705814e69fb26e5402e2b04c$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_options.png b/gs/html5/vex5/assets/atlas/atlas_ui_options.png
new file mode 100644
index 0000000..42853fd
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_options.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_pause.json b/gs/html5/vex5/assets/atlas/atlas_ui_pause.json
new file mode 100644
index 0000000..7f109c9
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_pause.json
@@ -0,0 +1,100 @@
+{"frames": [
+
+{
+ "filename": "op_close_button.png",
+ "frame": {"x":270,"y":602,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":34,"h":33},
+ "sourceSize": {"w":38,"h":37}
+},
+{
+ "filename": "pa_act_select_button.png",
+ "frame": {"x":285,"y":523,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_check.png",
+ "frame": {"x":435,"y":523,"w":32,"h":25},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":5,"w":32,"h":25},
+ "sourceSize": {"w":39,"h":35}
+},
+{
+ "filename": "pa_check_box.png",
+ "frame": {"x":270,"y":637,"w":33,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":1,"w":33,"h":33},
+ "sourceSize": {"w":39,"h":35}
+},
+{
+ "filename": "pa_container.png",
+ "frame": {"x":2,"y":2,"w":469,"h":519},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":12,"y":6,"w":469,"h":519},
+ "sourceSize": {"w":481,"h":530}
+},
+{
+ "filename": "pa_home_button.png",
+ "frame": {"x":306,"y":601,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_off_button.png",
+ "frame": {"x":2,"y":612,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+},
+{
+ "filename": "pa_on_button.png",
+ "frame": {"x":136,"y":612,"w":132,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":132,"h":50},
+ "sourceSize": {"w":135,"h":52}
+},
+{
+ "filename": "pa_play_button.png",
+ "frame": {"x":2,"y":523,"w":206,"h":87},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":1,"w":206,"h":87},
+ "sourceSize": {"w":209,"h":89}
+},
+{
+ "filename": "pa_reload_button.png",
+ "frame": {"x":360,"y":523,"w":73,"h":76},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":1,"w":73,"h":76},
+ "sourceSize": {"w":73,"h":77}
+},
+{
+ "filename": "pa_trophies_button.png",
+ "frame": {"x":210,"y":523,"w":73,"h":77},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":73,"h":77},
+ "sourceSize": {"w":73,"h":77}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_pause.png",
+ "format": "RGBA8888",
+ "size": {"w":473,"h":679},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:1d89fd79333e67398315e3d8593d1e8c:b21c69aab9ad203307ef6514bad9fd56:731ada20cd474d7c4cd8bf9083299d90$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_pause.png b/gs/html5/vex5/assets/atlas/atlas_ui_pause.png
new file mode 100644
index 0000000..e8cc8e2
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_pause.png differ
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_trophies.json b/gs/html5/vex5/assets/atlas/atlas_ui_trophies.json
new file mode 100644
index 0000000..a3466b6
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/atlas_ui_trophies.json
@@ -0,0 +1,660 @@
+{"frames": [
+
+{
+ "filename": "trop_act10_lock.png",
+ "frame": {"x":236,"y":724,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act10_unlock.png",
+ "frame": {"x":176,"y":669,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act1_lock.png",
+ "frame": {"x":284,"y":670,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act1_unlock.png",
+ "frame": {"x":230,"y":669,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act2_lock.png",
+ "frame": {"x":55,"y":875,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act2_unlock.png",
+ "frame": {"x":336,"y":670,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act3_lock.png",
+ "frame": {"x":156,"y":770,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act3_unlock.png",
+ "frame": {"x":390,"y":670,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act4_lock.png",
+ "frame": {"x":151,"y":822,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act4_unlock.png",
+ "frame": {"x":444,"y":670,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act5_lock.png",
+ "frame": {"x":151,"y":874,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act5_unlock.png",
+ "frame": {"x":498,"y":670,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act6_lock.png",
+ "frame": {"x":203,"y":826,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act6_unlock.png",
+ "frame": {"x":335,"y":725,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act7_lock.png",
+ "frame": {"x":219,"y":925,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act7_unlock.png",
+ "frame": {"x":389,"y":725,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act8_lock.png",
+ "frame": {"x":261,"y":776,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act8_unlock.png",
+ "frame": {"x":443,"y":725,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_act9_lock.png",
+ "frame": {"x":271,"y":925,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":50},
+ "sourceSize": {"w":50,"h":50}
+},
+{
+ "filename": "trop_act9_unlock.png",
+ "frame": {"x":497,"y":725,"w":52,"h":53},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":52,"h":53},
+ "sourceSize": {"w":52,"h":53}
+},
+{
+ "filename": "trop_arrow_left.png",
+ "frame": {"x":2,"y":650,"w":52,"h":66},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":3,"w":52,"h":66},
+ "sourceSize": {"w":54,"h":71}
+},
+{
+ "filename": "trop_arrow_left_press.png",
+ "frame": {"x":107,"y":818,"w":42,"h":55},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":8,"y":9,"w":42,"h":55},
+ "sourceSize": {"w":54,"h":71}
+},
+{
+ "filename": "trop_arrow_right.png",
+ "frame": {"x":2,"y":718,"w":52,"h":66},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":3,"w":52,"h":66},
+ "sourceSize": {"w":54,"h":71}
+},
+{
+ "filename": "trop_arrow_right_press.png",
+ "frame": {"x":107,"y":875,"w":42,"h":55},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":4,"y":9,"w":42,"h":55},
+ "sourceSize": {"w":54,"h":71}
+},
+{
+ "filename": "trop_bar.png",
+ "frame": {"x":2,"y":618,"w":178,"h":14},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":178,"h":14},
+ "sourceSize": {"w":178,"h":14}
+},
+{
+ "filename": "trop_bar_bg.png",
+ "frame": {"x":2,"y":634,"w":178,"h":14},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":178,"h":14},
+ "sourceSize": {"w":178,"h":14}
+},
+{
+ "filename": "trop_close.png",
+ "frame": {"x":566,"y":768,"w":34,"h":33},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":34,"h":33},
+ "sourceSize": {"w":36,"h":36}
+},
+{
+ "filename": "trop_completion1_lock.png",
+ "frame": {"x":176,"y":724,"w":58,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":58,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion1_unlock.png",
+ "frame": {"x":56,"y":774,"w":57,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":57,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion2_lock.png",
+ "frame": {"x":176,"y":724,"w":58,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":58,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion2_unlock.png",
+ "frame": {"x":107,"y":932,"w":57,"h":42},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":3,"y":4,"w":57,"h":42},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion3_lock.png",
+ "frame": {"x":432,"y":618,"w":58,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":58,"h":50},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion3_unlock.png",
+ "frame": {"x":492,"y":618,"w":58,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":58,"h":50},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion4_lock.png",
+ "frame": {"x":182,"y":618,"w":62,"h":49},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":49},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_completion4_unlock.png",
+ "frame": {"x":246,"y":618,"w":62,"h":49},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":49},
+ "sourceSize": {"w":62,"h":50}
+},
+{
+ "filename": "trop_container.png",
+ "frame": {"x":2,"y":2,"w":601,"h":614},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":2,"w":601,"h":614},
+ "sourceSize": {"w":607,"h":619}
+},
+{
+ "filename": "trop_death1_lock.png",
+ "frame": {"x":115,"y":774,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death1_unlock.png",
+ "frame": {"x":361,"y":827,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death2_unlock.png",
+ "frame": {"x":391,"y":877,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death3_unlock.png",
+ "frame": {"x":479,"y":877,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death4_unlock.png",
+ "frame": {"x":427,"y":929,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death5_unlock.png",
+ "frame": {"x":543,"y":830,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death6_unlock.png",
+ "frame": {"x":520,"y":877,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death7_unlock.png",
+ "frame": {"x":561,"y":874,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death8_unlock.png",
+ "frame": {"x":468,"y":929,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_death9_unlock.png",
+ "frame": {"x":509,"y":921,"w":39,"h":42},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":39,"h":42},
+ "sourceSize": {"w":39,"h":42}
+},
+{
+ "filename": "trop_hard_mode1_lock.png",
+ "frame": {"x":203,"y":878,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode1_unlock.png",
+ "frame": {"x":250,"y":878,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode2_unlock.png",
+ "frame": {"x":250,"y":878,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode3_unlock.png",
+ "frame": {"x":297,"y":878,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode4_unlock.png",
+ "frame": {"x":344,"y":878,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode5_unlock.png",
+ "frame": {"x":313,"y":780,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode6_unlock.png",
+ "frame": {"x":360,"y":780,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode7_unlock.png",
+ "frame": {"x":402,"y":830,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode8_unlock.png",
+ "frame": {"x":449,"y":830,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_hard_mode9_unlock.png",
+ "frame": {"x":496,"y":830,"w":45,"h":45},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":1,"y":1,"w":45,"h":45},
+ "sourceSize": {"w":48,"h":48}
+},
+{
+ "filename": "trop_star10_unlock.png",
+ "frame": {"x":552,"y":618,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star1_lock.png",
+ "frame": {"x":552,"y":668,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star1_unlock.png",
+ "frame": {"x":552,"y":718,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star2_unlock.png",
+ "frame": {"x":54,"y":927,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star3_unlock.png",
+ "frame": {"x":166,"y":926,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star4_unlock.png",
+ "frame": {"x":208,"y":776,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star5_unlock.png",
+ "frame": {"x":255,"y":828,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star6_unlock.png",
+ "frame": {"x":308,"y":828,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star7_unlock.png",
+ "frame": {"x":407,"y":780,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star8_unlock.png",
+ "frame": {"x":460,"y":780,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_star9_unlock.png",
+ "frame": {"x":513,"y":780,"w":51,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":48},
+ "sourceSize": {"w":51,"h":48}
+},
+{
+ "filename": "trop_stuff1_lock.png",
+ "frame": {"x":310,"y":618,"w":59,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":59,"h":50},
+ "sourceSize": {"w":59,"h":50}
+},
+{
+ "filename": "trop_stuff1_unlock.png",
+ "frame": {"x":371,"y":618,"w":59,"h":50},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":59,"h":50},
+ "sourceSize": {"w":59,"h":50}
+},
+{
+ "filename": "trop_stuff2_lock.png",
+ "frame": {"x":288,"y":722,"w":45,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":18,"y":10,"w":45,"h":50},
+ "sourceSize": {"w":77,"h":71}
+},
+{
+ "filename": "trop_stuff2_unlock.png",
+ "frame": {"x":432,"y":877,"w":45,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":18,"y":10,"w":45,"h":50},
+ "sourceSize": {"w":77,"h":71}
+},
+{
+ "filename": "trop_stuff3_lock.png",
+ "frame": {"x":2,"y":786,"w":51,"h":62},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":62},
+ "sourceSize": {"w":51,"h":62}
+},
+{
+ "filename": "trop_stuff3_unlock.png",
+ "frame": {"x":2,"y":850,"w":51,"h":62},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":51,"h":62},
+ "sourceSize": {"w":51,"h":62}
+},
+{
+ "filename": "trop_stuff4_lock.png",
+ "frame": {"x":2,"y":914,"w":50,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":55},
+ "sourceSize": {"w":50,"h":55}
+},
+{
+ "filename": "trop_stuff4_unlock.png",
+ "frame": {"x":55,"y":818,"w":50,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":50,"h":55},
+ "sourceSize": {"w":50,"h":55}
+},
+{
+ "filename": "trop_stuff5_lock.png",
+ "frame": {"x":56,"y":650,"w":58,"h":60},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":60},
+ "sourceSize": {"w":58,"h":60}
+},
+{
+ "filename": "trop_stuff5_unlock.png",
+ "frame": {"x":56,"y":712,"w":58,"h":60},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":60},
+ "sourceSize": {"w":58,"h":60}
+},
+{
+ "filename": "trop_stuff6_lock.png",
+ "frame": {"x":116,"y":650,"w":58,"h":58},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":58},
+ "sourceSize": {"w":58,"h":58}
+},
+{
+ "filename": "trop_stuff6_unlock.png",
+ "frame": {"x":116,"y":710,"w":58,"h":58},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":58},
+ "sourceSize": {"w":58,"h":58}
+},
+{
+ "filename": "trop_stuff7_lock.png",
+ "frame": {"x":323,"y":925,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":13,"y":10,"w":50,"h":50},
+ "sourceSize": {"w":77,"h":71}
+},
+{
+ "filename": "trop_stuff7_unlock.png",
+ "frame": {"x":375,"y":925,"w":50,"h":50},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":13,"y":10,"w":50,"h":50},
+ "sourceSize": {"w":77,"h":71}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "atlas_ui_trophies.png",
+ "format": "RGBA8888",
+ "size": {"w":605,"h":977},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:69dafec6ad1d77923c2e068f9ca6a967:5b3ed2799794429017f8ceb80bf9e390:685d95ace30658176d42ee59bb29da12$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/atlas_ui_trophies.png b/gs/html5/vex5/assets/atlas/atlas_ui_trophies.png
new file mode 100644
index 0000000..9462b4e
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/atlas_ui_trophies.png differ
diff --git a/gs/html5/vex5/assets/atlas/checkpoint.json b/gs/html5/vex5/assets/atlas/checkpoint.json
new file mode 100644
index 0000000..d60b30c
--- /dev/null
+++ b/gs/html5/vex5/assets/atlas/checkpoint.json
@@ -0,0 +1,36 @@
+{"frames": [
+
+{
+ "filename": "checkpint0000.png",
+ "frame": {"x":2,"y":59,"w":21,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":21,"h":55},
+ "sourceSize": {"w":21,"h":55}
+},
+{
+ "filename": "checkpint0001.png",
+ "frame": {"x":2,"y":2,"w":22,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":22,"h":55},
+ "sourceSize": {"w":22,"h":55}
+},
+{
+ "filename": "checkpint0002.png",
+ "frame": {"x":2,"y":116,"w":21,"h":55},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":21,"h":55},
+ "sourceSize": {"w":21,"h":55}
+}],
+"meta": {
+ "app": "http://www.codeandweb.com/texturepacker",
+ "version": "1.0",
+ "image": "checkpoint.png",
+ "format": "RGBA8888",
+ "size": {"w":26,"h":173},
+ "scale": "1",
+ "smartupdate": "$TexturePacker:SmartUpdate:a2a6cc8c44856f7bac8659856c362dc5:fb04d3f7acbe5e71e8726469bcd1709d:d7381a9c3c03e1c7216a04a9e729d111$"
+}
+}
diff --git a/gs/html5/vex5/assets/atlas/checkpoint.png b/gs/html5/vex5/assets/atlas/checkpoint.png
new file mode 100644
index 0000000..eeed6fd
Binary files /dev/null and b/gs/html5/vex5/assets/atlas/checkpoint.png differ
diff --git a/gs/html5/vex5/assets/balance/levels/hubArrows.json b/gs/html5/vex5/assets/balance/levels/hubArrows.json
new file mode 100644
index 0000000..9d03248
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/hubArrows.json
@@ -0,0 +1 @@
+[[{"type":"textFade","x":237,"y":1884,"rotation":0,"textNum":13}, {"type":"textFade","x":610,"y":1891,"rotation":0,"textNum":7}, {"type":"textFade","x":810,"y":1479,"rotation":0,"textNum":2}, {"type":"textFade","x":233,"y":1741,"rotation":0,"textNum":1}], null, null, null, null, null, [{"type":"textFade","x":3735,"y":1035,"rotation":0,"textNum":30}], null, null, null, null, null, [{"type":"textFade","x":454,"y":1480,"rotation":0,"textNum":45}]]
diff --git a/gs/html5/vex5/assets/balance/levels/level01.json b/gs/html5/vex5/assets/balance/levels/level01.json
new file mode 100644
index 0000000..eb67e3a
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level01.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":849,"y":552,"width":300,"height":99},{"type":"basicBlock","x":1356,"y":627,"width":500,"height":250},{"type":"buzzsawVerticalDown","x":1050,"y":549},{"type":"elevatorGeneratorDown","x":1725,"y":289},{"type":"elevatorEliminatorDown","x":1725,"y":936},{"type":"basicBlock","x":750,"y":949,"width":400,"height":99},{"type":"buzzsaw","x":747,"y":808,"width":150},{"type":"finishPortal","x":1754,"y":226},{"type":"horizontalBlock","x":401,"y":952,"width":100,"height":100},{"type":"checkpoint","x":571,"y":868},{"type":"basicBlock","x":100,"y":950,"width":300,"height":99},{"type":"basicBlock","x":-25,"y":651,"width":50,"height":600},{"type":"bounceBlock","x":95,"y":873,"width":55,"height":55},{"type":"fallingBlock","x":226,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":276,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":326,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":375,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":425,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":475,"y":426,"width":50,"height":50},{"type":"basicBlock","x":175,"y":423,"width":50,"height":650},{"type":"basicBlock","x":-44,"y":426,"width":210,"height":150},{"type":"star","x":224,"y":525},{"type":"basicBlock","x":676,"y":376,"width":50,"height":450},{"type":"basicBlock","x":260,"y":504,"width":20,"height":20},{"type":"spike","x":259,"y":486,"rotation":0},{"type":"laserPoint","x":260,"y":503},{"type":"laserPoint","x":665,"y":502},{"type":"basicBlock","x":602,"y":425,"width":99,"height":50},{"type":"fallingBlock","x":1174,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1224,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1274,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1324,"y":925,"width":50,"height":50},{"type":"ziplinePole","x":675,"y":121},{"type":"ziplinePole","x":75,"y":-34},{"type":"buzzsaw","x":369,"y":18,"width":50},{"type":"basicBlock","x":749,"y":176,"width":100,"height":50},{"type":"basicBlock","x":23,"y":25,"width":150,"height":50},{"type":"fallingBlock","x":1024,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1074,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1124,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":824,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":925,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":1025,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":1125,"y":174,"width":50,"height":50},{"type":"fallingBlock","x":1224,"y":175,"width":50,"height":50},{"type":"checkpoint","x":718,"y":114},{"type":"checkpoint","x":-90,"y":317},{"type":"spike","x":155,"y":90,"rotation":0},{"type":"spike","x":168,"y":90,"rotation":0},{"type":"spike","x":181,"y":90,"rotation":0},{"type":"spike","x":194,"y":90,"rotation":0},{"type":"verticalUpBlock","x":-200,"y":276,"width":100,"height":50},{"type":"bounceBlock","x":-126,"y":165,"width":50,"height":30},{"type":"laserPoint","x":1662,"y":275},{"type":"laserPoint","x":688,"y":274},{"type":"textFade","x":880,"y":540,"rotation":0,"textNum":10},{"type":"textFade","x":875,"y":424,"rotation":0,"textNum":15},{"type":"textFade","x":1668,"y":496,"rotation":90,"textNum":15},{"type":"textFade","x":756,"y":941,"rotation":0,"textNum":11},{"type":"textFade","x":91,"y":940,"rotation":0,"textNum":14},{"type":"textFade","x":-26,"y":926,"rotation":-90,"textNum":17},{"type":"textFade","x":1505,"y":930,"rotation":0,"textNum":12},{"type":"textFade","x":1589,"y":819,"rotation":-180,"textNum":16},{"type":"textFade","x":-43,"y":406,"rotation":0,"textNum":41},{"type":"textFade","x":33,"y":-93,"rotation":0,"textNum":18},{"type":"textFade","x":399,"y":826,"rotation":-180,"textNum":15},{"type":"textFade","x":98,"y":420,"rotation":-110,"textNum":15},{"type":"textFade","x":-121,"y":282,"rotation":-90,"textNum":15},{"type":"textFade","x":-111,"y":82,"rotation":-60,"textNum":15},{"type":"textFade","x":237,"y":-82,"rotation":20,"textNum":15},{"type":"textFade","x":935,"y":65,"rotation":0,"textNum":15},{"type":"textFade","x":1327,"y":424,"rotation":0,"textNum":15},{"type":"basicBlock","x":1510,"y":927,"width":280,"height":78},{"type":"basicBlock","x":1829,"y":613,"width":60,"height":707},{"type":"textFade","x":1171,"y":821,"rotation":-180,"textNum":16},{"type":"blockSpike","x":1267,"y":552,"spikeUp":0,"timeUp":10,"timeDown":5,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"bounceBlock","x":1384,"y":175,"width":50,"height":35},{"type":"textFade","x":1566,"y":119,"rotation":25,"textNum":15},{"type":"blockSpike","x":1457,"y":552,"spikeUp":1,"timeUp":10,"timeDown":5,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"textFade","x":513,"y":-11,"rotation":20,"textNum":15},{"type":"buzzsaw","x":826,"y":274,"width":101},{"type":"buzzsaw","x":928,"y":273,"width":101},{"type":"buzzsaw","x":1033,"y":273,"width":101},{"type":"buzzsaw","x":1137,"y":274,"width":101},{"type":"buzzsaw","x":1239,"y":273,"width":101},{"type":"buzzsawVerticalDown","x":1799,"y":537},{"type":"buzzsawOnStick","x":-332,"y":249,"rotation":16},{"type":"basicBlock","x":349,"y":312,"width":300,"height":20,"rotation":0},{"type":"spike30x","x":349,"y":293,"rotation":0},{"type":"spawnPoint","x":741,"y":493}]
diff --git a/gs/html5/vex5/assets/balance/levels/level01hard.json b/gs/html5/vex5/assets/balance/levels/level01hard.json
new file mode 100644
index 0000000..4d1699a
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level01hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":851,"y":550,"width":300,"height":99},{"type":"basicBlock","x":1251,"y":626,"width":300,"height":250},{"type":"buzzsawVerticalDown","x":1050,"y":549},{"type":"elevatorGeneratorDown","x":1474,"y":280},{"type":"elevatorEliminatorDown","x":1476,"y":974},{"type":"basicBlock","x":750,"y":949,"width":400,"height":99},{"type":"buzzsaw","x":747,"y":808,"width":150},{"type":"finishPortal","x":1464,"y":218},{"type":"checkpoint","x":571,"y":868},{"type":"basicBlock","x":100,"y":950,"width":300,"height":99},{"type":"basicBlock","x":-25,"y":651,"width":50,"height":600},{"type":"bounceBlock","x":87.27272727272737,"y":814.2727272727271,"width":50,"height":50},{"type":"fallingBlock","x":226,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":276,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":326,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":375,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":425,"y":426,"width":50,"height":50},{"type":"fallingBlock","x":475,"y":426,"width":50,"height":50},{"type":"basicBlock","x":175,"y":423,"width":50,"height":650},{"type":"basicBlock","x":-44,"y":426,"width":210,"height":150},{"type":"star","x":224,"y":525},{"type":"basicBlock","x":676,"y":376,"width":50,"height":450},{"type":"basicBlock","x":260,"y":504,"width":20,"height":20},{"type":"spike","x":259,"y":486,"rotation":0},{"type":"laserPoint","x":260,"y":503},{"type":"laserPoint","x":665,"y":502},{"type":"basicBlock","x":602,"y":425,"width":99,"height":50},{"type":"fallingBlock","x":1224,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1324,"y":925,"width":50,"height":50},{"type":"basicBlock","x":491,"y":310,"width":20,"height":20},{"type":"spike","x":490,"y":293,"rotation":0},{"type":"laserPoint","x":491,"y":310},{"type":"laserPoint","x":190,"y":312},{"type":"ziplinePole","x":675,"y":121},{"type":"ziplinePole","x":75,"y":-34},{"type":"basicBlock","x":749,"y":176,"width":100,"height":50},{"type":"basicBlock","x":23,"y":25,"width":150,"height":50},{"type":"fallingBlock","x":1024,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":1124,"y":925,"width":50,"height":50},{"type":"fallingBlock","x":824,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":925,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":1025,"y":175,"width":50,"height":50},{"type":"fallingBlock","x":1125,"y":174,"width":50,"height":50},{"type":"checkpoint","x":718,"y":114},{"type":"checkpoint","x":-90,"y":317},{"type":"spike","x":155,"y":90,"rotation":0},{"type":"spike","x":168,"y":90,"rotation":0},{"type":"spike","x":181,"y":90,"rotation":0},{"type":"spike","x":194,"y":90,"rotation":0},{"type":"bounceBlock","x":-126,"y":165,"width":50,"height":30},{"type":"laserPoint","x":1414,"y":274},{"type":"laserPoint","x":688,"y":274},{"type":"textFade","x":828,"y":549,"rotation":0,"textNum":10},{"type":"textFade","x":1090,"y":433,"rotation":0,"textNum":15},{"type":"textFade","x":1437,"y":430,"rotation":90,"textNum":15},{"type":"textFade","x":756,"y":941,"rotation":0,"textNum":11},{"type":"textFade","x":91,"y":940,"rotation":0,"textNum":14},{"type":"textFade","x":-26,"y":926,"rotation":-90,"textNum":17},{"type":"textFade","x":1277,"y":713,"rotation":0,"textNum":12},{"type":"textFade","x":1329,"y":819,"rotation":-180,"textNum":16},{"type":"textFade","x":-43,"y":406,"rotation":0,"textNum":41},{"type":"textFade","x":33,"y":-93,"rotation":0,"textNum":18},{"type":"textFade","x":448,"y":822,"rotation":-180,"textNum":15},{"type":"textFade","x":98,"y":420,"rotation":-110,"textNum":15},{"type":"textFade","x":-121,"y":282,"rotation":-90,"textNum":15},{"type":"textFade","x":-111,"y":82,"rotation":-60,"textNum":15},{"type":"textFade","x":278,"y":-64,"rotation":25,"textNum":15},{"type":"textFade","x":857,"y":91,"rotation":0,"textNum":15},{"type":"buzzsawOnStick","x":1362,"y":597,"rotation":96},{"type":"bouncingBuzzsaw","x":924,"y":725,"width":50},{"type":"pole","x":475,"y":876},{"type":"pole","x":329,"y":822},{"type":"pole","x":-226,"y":278},{"type":"pole","x":-337,"y":225},{"type":"pole","x":-225,"y":175},{"type":"classicLaser","x":1033,"y":28},{"type":"pole","x":1223,"y":125},{"type":"buzzsawOnStick","x":175,"y":648,"rotation":96},{"type":"reaper","x":368,"y":18,"rotation":0,"width":240.18045112781954},{"type":"bouncingBuzzsaw","x":-11,"y":177,"width":50},{"type":"blockSpike","x":1257,"y":551,"spikeUp":1,"timeUp":1,"timeDown":1,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":773,"y":487}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level02.json b/gs/html5/vex5/assets/balance/levels/level02.json
new file mode 100644
index 0000000..20fb759
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level02.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":649,"y":550,"width":null,"height":99},{"type":"basicBlock","x":800,"y":550,"width":400,"height":100},{"type":"rope","x":903,"y":272,"height":335,"rotation":0},{"type":"basicBlock","x":1184,"y":350,"width":270,"height":100},{"type":"basicBlock","x":903,"y":103,"width":99,"height":100,"rotation":0},{"type":"basicBlock","x":1399,"y":175,"width":99,"height":50},{"type":"rope","x":1402,"y":375,"height":350},{"type":"buzzsaw","x":1400,"y":601,"width":101},{"type":"basicBlock","x":1299,"y":750,"width":100,"height":99},{"type":"swimmingPool","x":951,"y":924,"width":400,"height":250},{"type":"basicBlock","x":1001,"y":600,"width":99,"height":600},{"type":"rope","x":1251,"y":500,"height":300},{"type":"basicBlock","x":1201,"y":901,"width":100,"height":400},{"type":"basicBlock","x":951,"y":1096,"width":600,"height":100},{"type":"basicBlock","x":701,"y":898,"width":100,"height":400},{"type":"pushBlock","x":1076,"y":261,"width":50,"height":50},{"type":"basicBlock","x":1325,"y":275,"width":50,"height":250},{"type":"elevatorGeneratorDown","x":1524,"y":-130},{"type":"elevatorEliminatorDown","x":1525,"y":426},{"type":"star","x":1271,"y":1073},{"type":"checkpoint","x":1204,"y":667},{"type":"rope","x":1349,"y":969,"height":350},{"type":"bounceBlock","x":1426,"y":930,"width":40,"height":40},{"type":"basicBlock","x":650,"y":300,"width":99,"height":400},{"type":"basicBlock","x":576,"y":450,"width":50,"height":700},{"type":"bounceBlock","x":423,"y":677,"width":40,"height":40},{"type":"bounceBlock","x":531,"y":476,"width":40,"height":40},{"type":"bounceBlock","x":422,"y":325,"width":40,"height":40},{"type":"buzzsawVerticalDown","x":775,"y":80,"rotation":0},{"type":"buzzsaw","x":964,"y":518,"width":101},{"type":"buzzsaw","x":1305,"y":302,"width":50},{"type":"fallingBlock","x":1000,"y":32,"width":50,"height":50,"rotation":0},{"type":"ziplinePole","x":1568,"y":-186},{"type":"ziplinePole","x":2399,"y":15},{"type":"basicBlock","x":2205,"y":99,"width":800,"height":99},{"type":"checkpoint","x":658,"y":68},{"type":"checkpoint","x":2511,"y":13},{"type":"rope","x":2604,"y":448,"height":600},{"type":"rope","x":2453,"y":448,"height":600},{"type":"rope","x":2304,"y":448,"height":600},{"type":"rope","x":2153,"y":444,"height":600},{"type":"spike30x","x":1902,"y":41,"rotation":0},{"type":"spike30x","x":2139,"y":41,"rotation":0},{"type":"finishPortal","x":1842,"y":375},{"type":"rope","x":2004,"y":448,"height":600},{"type":"rope","x":2704,"y":149,"height":600},{"type":"basicBlock","x":2700,"y":-199,"width":99,"height":99},{"type":"buzzsaw","x":2450,"y":199,"width":101},{"type":"buzzsaw","x":2602,"y":501,"width":101},{"type":"buzzsawVerticalDown","x":2527,"y":347},{"type":"buzzsaw","x":2299,"y":302,"width":101},{"type":"buzzsaw","x":2449,"y":598,"width":101},{"type":"buzzsawVerticalDown","x":2221,"y":448},{"type":"buzzsaw","x":2299,"y":601,"width":101},{"type":"buzzsaw","x":2152,"y":201,"width":101},{"type":"buzzsaw","x":2152,"y":601,"width":101},{"type":"buzzsaw","x":2002,"y":502,"width":101},{"type":"buzzsaw","x":2001,"y":202,"width":101},{"type":"buzzsawVerticalUp","x":2069,"y":350},{"type":"buzzsawVerticalUp","x":2380,"y":451},{"type":"basicBlock","x":1780,"y":299,"width":50,"height":500},{"type":"spike30x","x":1746,"y":196,"rotation":-90},{"type":"spike30x","x":1746,"y":402,"rotation":-90},{"type":"buzzsawOnStick","x":1205,"y":1099,"rotation":136},{"type":"buzzsawOnStick","x":712,"y":1101,"rotation":136},{"type":"fallingBlock","x":1085,"y":-2,"width":50,"height":50,"rotation":0},{"type":"buzzsawOnStick","x":2104,"y":-78,"rotation":120},{"type":"pushBlock","x":625,"y":826,"width":50,"height":50},{"type":"basicBlock","x":352,"y":902,"width":600,"height":100},{"type":"basicBlock","x":152,"y":137,"width":200,"height":1500},{"type":"basicBlock","x":451,"y":775,"width":200,"height":50},{"type":"textFade","x":666,"y":2,"rotation":0,"textNum":15},{"type":"textFade","x":947,"y":955,"rotation":0,"textNum":20},{"type":"textFade","x":1088,"y":341,"rotation":0,"textNum":21},{"type":"textFade","x":593,"y":895,"rotation":0,"textNum":22},{"type":"textFade","x":819,"y":365,"rotation":-45,"textNum":15},{"type":"textFade","x":1208,"y":211,"rotation":-45,"textNum":15},{"type":"textFade","x":1485,"y":60,"rotation":90,"textNum":15},{"type":"textFade","x":1465,"y":306,"rotation":135,"textNum":15},{"type":"textFade","x":1091,"y":692,"rotation":90,"textNum":15},{"type":"textFade","x":857,"y":719,"rotation":-135,"textNum":15},{"type":"textFade","x":308,"y":681,"rotation":-45,"textNum":15},{"type":"textFade","x":477,"y":386,"rotation":-90,"textNum":15},{"type":"textFade","x":977,"y":-33,"rotation":-25,"textNum":15},{"type":"textFade","x":1625,"y":-237,"rotation":20,"textNum":15},{"type":"textFade","x":2641,"y":-36,"rotation":90,"textNum":15},{"type":"textFade","x":2793,"y":294,"rotation":-180,"textNum":15},{"type":"buzzsawVerticalUp","x":1804,"y":-152},{"type":"fallingBlock","x":1170,"y":-36,"width":50,"height":50,"rotation":0},{"type":"fallingBlock","x":1255,"y":-70,"width":50,"height":50,"rotation":0},{"type":"fallingBlock","x":1425,"y":-135,"width":50,"height":50},{"type":"fallingBlock","x":1340,"y":-104,"width":50,"height":50,"rotation":0},{"type":"laserPoint","x":942,"y":93,"rotation":0},{"type":"laserPoint","x":1458,"y":-113,"rotation":0},{"type":"textFade","x":1222,"y":-134,"rotation":-25,"textNum":15},{"type":"textFade","x":2069,"y":-139,"rotation":20,"textNum":15},{"type":"spike10x","x":747,"y":124,"rotation":0},{"type":"spike10x","x":812,"y":124,"rotation":0},{"type":"basicBlock","x":776,"y":143,"width":156,"height":20,"rotation":0},{"type":"buzzsaw","x":900,"y":152,"width":50,"rotation":0},{"type":"spawnPoint","x":757,"y":487}]
diff --git a/gs/html5/vex5/assets/balance/levels/level02hard.json b/gs/html5/vex5/assets/balance/levels/level02hard.json
new file mode 100644
index 0000000..a07b6a2
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level02hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":649,"y":550,"width":null,"height":99},{"type":"basicBlock","x":800,"y":550,"width":400,"height":100},{"type":"rope","x":901,"y":298,"height":300},{"type":"basicBlock","x":1184,"y":350,"width":270,"height":100},{"type":"basicBlock","x":902,"y":126,"width":99,"height":50},{"type":"basicBlock","x":1399,"y":175,"width":99,"height":50},{"type":"rope","x":1402,"y":375,"height":350},{"type":"buzzsaw","x":1400,"y":601,"width":101},{"type":"basicBlock","x":1299,"y":750,"width":100,"height":99},{"type":"swimmingPool","x":951,"y":924,"width":400,"height":250},{"type":"basicBlock","x":1001,"y":600,"width":99,"height":600},{"type":"rope","x":1251,"y":500,"height":300},{"type":"basicBlock","x":1201,"y":901,"width":100,"height":400},{"type":"basicBlock","x":951,"y":1096,"width":600,"height":100},{"type":"basicBlock","x":701,"y":898,"width":100,"height":400},{"type":"pushBlock","x":1076,"y":261,"width":50,"height":50},{"type":"basicBlock","x":1325,"y":275,"width":50,"height":250},{"type":"elevatorGeneratorDown","x":1524,"y":-130},{"type":"elevatorEliminatorDown","x":1525,"y":426},{"type":"star","x":1271,"y":1073},{"type":"checkpoint","x":1204,"y":667},{"type":"rope","x":1349,"y":969,"height":350},{"type":"bounceBlock","x":1426,"y":930,"width":40,"height":40},{"type":"basicBlock","x":650,"y":300,"width":99,"height":400},{"type":"basicBlock","x":576,"y":450,"width":50,"height":700},{"type":"bounceBlock","x":423,"y":677,"width":40,"height":40},{"type":"bounceBlock","x":528,"y":476,"width":40,"height":40},{"type":"buzzsawVerticalDown","x":772,"y":147},{"type":"buzzsaw","x":964,"y":518,"width":101},{"type":"buzzsaw","x":1305,"y":302,"width":50},{"type":"fallingBlock","x":1025,"y":76,"width":50,"height":50},{"type":"ziplinePole","x":1568,"y":-186},{"type":"ziplinePole","x":2399,"y":15},{"type":"basicBlock","x":2205,"y":99,"width":800,"height":99},{"type":"checkpoint","x":658,"y":68},{"type":"checkpoint","x":2511,"y":13},{"type":"rope","x":2601,"y":346,"height":400},{"type":"rope","x":2453,"y":448,"height":600},{"type":"rope","x":2304,"y":448,"height":600},{"type":"rope","x":2153,"y":444,"height":600},{"type":"spike30x","x":1902,"y":41,"rotation":0},{"type":"spike30x","x":2139,"y":41,"rotation":0},{"type":"finishPortal","x":1871,"y":444},{"type":"rope","x":2004,"y":448,"height":600},{"type":"rope","x":2704,"y":149,"height":600},{"type":"basicBlock","x":2700,"y":-199,"width":99,"height":99},{"type":"buzzsaw","x":2599,"y":288,"width":101},{"type":"basicBlock","x":1780,"y":299,"width":50,"height":500},{"type":"spike30x","x":1746,"y":196,"rotation":-90},{"type":"spike30x","x":1746,"y":402,"rotation":-90},{"type":"buzzsawOnStick","x":1205,"y":1099,"rotation":440},{"type":"buzzsawOnStick","x":712,"y":1101,"rotation":440},{"type":"fallingBlock","x":1123,"y":25,"width":50,"height":50},{"type":"fallingBlock","x":1224,"y":-25,"width":50,"height":50},{"type":"fallingBlock","x":1326,"y":-76,"width":50,"height":50},{"type":"pushBlock","x":625,"y":826,"width":50,"height":50},{"type":"basicBlock","x":352,"y":902,"width":600,"height":100},{"type":"basicBlock","x":152,"y":137,"width":200,"height":1500},{"type":"basicBlock","x":451,"y":775,"width":200,"height":50},{"type":"textFade","x":495,"y":24,"rotation":0,"textNum":15},{"type":"textFade","x":947,"y":955,"rotation":0,"textNum":20},{"type":"textFade","x":1088,"y":341,"rotation":0,"textNum":21},{"type":"textFade","x":593,"y":895,"rotation":0,"textNum":22},{"type":"textFade","x":819,"y":365,"rotation":-45,"textNum":15},{"type":"textFade","x":1208,"y":211,"rotation":-45,"textNum":15},{"type":"textFade","x":1485,"y":60,"rotation":90,"textNum":15},{"type":"textFade","x":1465,"y":306,"rotation":135,"textNum":15},{"type":"textFade","x":1091,"y":692,"rotation":90,"textNum":15},{"type":"textFade","x":857,"y":719,"rotation":-135,"textNum":15},{"type":"textFade","x":308,"y":681,"rotation":-45,"textNum":15},{"type":"textFade","x":477,"y":386,"rotation":-90,"textNum":15},{"type":"textFade","x":1035,"y":-7,"rotation":-30,"textNum":15},{"type":"textFade","x":1688,"y":-223,"rotation":20,"textNum":15},{"type":"textFade","x":2641,"y":-36,"rotation":90,"textNum":15},{"type":"textFade","x":2793,"y":294,"rotation":-180,"textNum":15},{"type":"buzzsaw","x":1157,"y":307,"width":50},{"type":"buzzsawOnStick","x":1420,"y":173,"rotation":304},{"type":"buzzsawOnStick","x":399,"y":894,"rotation":304},{"type":"circularCannon","x":381,"y":250},{"type":"buzzsaw","x":294,"y":119,"width":101},{"type":"buzzsaw","x":465,"y":117,"width":101},{"type":"shurikanDispenser","x":1074,"y":-153},{"type":"shurikanDispenser","x":1409,"y":-276},{"type":"reaper","x":1938,"y":-124,"rotation":0,"width":192.54135338345864},{"type":"buzzsawOnStick","x":2302,"y":412,"rotation":304},{"type":"buzzsawOnStick","x":2151,"y":232,"rotation":304},{"type":"buzzsawOnStick","x":2001,"y":420,"rotation":304},{"type":"buzzsawOnStick","x":2001,"y":201,"rotation":304},{"type":"buzzsawOnStick","x":1992,"y":644,"rotation":-56.000000000000014},{"type":"buzzsawOnStick","x":2303,"y":597,"rotation":-56.000000000000014},{"type":"buzzsawOnStick","x":997,"y":864,"rotation":-26},{"type":"blockSpike","x":2367,"y":99,"spikeUp":1,"timeUp":5,"timeDown":5,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":761,"y":459}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level03.json b/gs/html5/vex5/assets/balance/levels/level03.json
new file mode 100644
index 0000000..102bf49
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level03.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":305,"y":600,"width":300,"height":99},{"type":"basicBlock","x":698,"y":601,"width":200,"height":99},{"type":"pole","x":526,"y":475},{"type":"rope","x":702,"y":175,"height":650},{"type":"rope","x":370,"y":190,"height":230},{"type":"pole","x":292,"y":78},{"type":"buzzsaw","x":700,"y":214,"width":60},{"type":"pole","x":530,"y":-79},{"type":"basicBlock","x":501,"y":65,"width":300,"height":50},{"type":"basicBlock","x":797,"y":171,"width":105,"height":960},{"type":"basicBlock","x":696,"y":-94,"width":99,"height":430},{"type":"laserPoint","x":412,"y":604},{"type":"laserPoint","x":613,"y":603},{"type":"checkpoint","x":697,"y":-347},{"type":"pole","x":570,"y":-178},{"type":"basicBlock","x":448,"y":-199,"width":99,"height":50},{"type":"glassBlock","x":899,"y":-259,"width":100,"height":100},{"type":"glassBlock","x":900,"y":-100,"width":100,"height":100},{"type":"glassBlock","x":900,"y":101,"width":100,"height":100},{"type":"glassBlock","x":900,"y":300,"width":100,"height":100},{"type":"glassBlock","x":900,"y":501,"width":100,"height":100},{"type":"glassBlock","x":900,"y":700,"width":100,"height":100},{"type":"glassBlock","x":900,"y":800,"width":100,"height":100},{"type":"basicBlock","x":725,"y":800,"width":250,"height":99},{"type":"basicBlock","x":324,"y":849,"width":250,"height":99},{"type":"basicBlock","x":201,"y":0,"width":105,"height":1300},{"type":"elevatorGeneratorUp","x":79,"y":879},{"type":"elevatorEliminatorUp","x":81,"y":267},{"type":"basicBlock","x":1000,"y":124,"width":105,"height":1350},{"type":"rope","x":-50,"y":-102,"height":1200},{"type":"buzzsawHorizontalFast","x":-32,"y":191},{"type":"buzzsawOnStick","x":717,"y":797,"rotation":312},{"type":"buzzsawHorizontalFast","x":-32,"y":-2},{"type":"buzzsawHorizontalFast","x":-33,"y":-200},{"type":"spike30x","x":144,"y":92,"rotation":-90},{"type":"spike30x","x":144,"y":-203,"rotation":-90},{"type":"spike30x","x":141,"y":-501,"rotation":-90},{"type":"spike10x","x":58,"y":229,"rotation":0},{"type":"spike10x","x":144,"y":230,"rotation":0},{"type":"ziplinePole","x":209,"y":-678},{"type":"ziplinePole","x":1001,"y":-575},{"type":"bouncingBuzzsaw","x":295,"y":690,"width":50},{"type":"checkpoint","x":239,"y":761},{"type":"basicBlock","x":-53,"y":-751,"width":99,"height":99},{"type":"basicBlock","x":1151,"y":-501,"width":200,"height":99},{"type":"pole","x":52,"y":-616},{"type":"checkpoint","x":1052,"y":-589},{"type":"iceBlock","x":1550,"y":-500,"width":600,"height":100},{"type":"pushBlock","x":1202,"y":-575,"width":50,"height":50},{"type":"bouncingBuzzsaw","x":1325,"y":-677,"width":50},{"type":"bouncingBuzzsaw","x":1777,"y":-678,"width":50},{"type":"basicBlock","x":1950,"y":-650,"width":200,"height":200},{"type":"buzzsawOnStick","x":1554,"y":-502,"rotation":248},{"type":"finishPortal","x":1955,"y":-776},{"type":"buzzsawHorizontalFast","x":905,"y":200},{"type":"buzzsawVerticalUp","x":620,"y":-648},{"type":"star","x":-59,"y":-831},{"type":"bounceBlock","x":278,"y":-373,"width":50,"height":55},{"type":"pole","x":173,"y":-799},{"type":"textFade","x":323,"y":470,"rotation":0,"textNum":17},{"type":"textFade","x":1335,"y":-498,"rotation":0,"textNum":26},{"type":"textFade","x":529,"y":430,"rotation":0,"textNum":23},{"type":"textFade","x":537,"y":521,"rotation":0,"textNum":24},{"type":"textFade","x":200,"y":68,"rotation":0,"textNum":25},{"type":"textFade","x":796,"y":-250,"rotation":0,"textNum":27},{"type":"textFade","x":599,"y":288,"rotation":-160,"textNum":17},{"type":"textFade","x":572,"y":-325,"rotation":-25,"textNum":17},{"type":"textFade","x":898,"y":-358,"rotation":90,"textNum":17},{"type":"textFade","x":564,"y":716,"rotation":-180,"textNum":17},{"type":"textFade","x":4,"y":709,"rotation":-90,"textNum":17},{"type":"textFade","x":104,"y":-724,"rotation":0,"textNum":17},{"type":"textFade","x":1202,"y":-630,"rotation":0,"textNum":17},{"type":"bouncingBuzzsaw","x":377,"y":690,"width":50},{"type":"basicBlock","x":452,"y":362,"width":400,"height":50},{"type":"buzzsaw","x":700,"y":151,"width":60},{"type":"textFade","x":370,"y":144,"rotation":-140,"textNum":17},{"type":"textFade","x":579,"y":-3,"rotation":-25,"textNum":17},{"type":"textFade","x":604,"y":-58,"rotation":-160,"textNum":17},{"type":"textFade","x":566,"y":-237,"rotation":-160,"textNum":17},{"type":"textFade","x":478,"y":-710,"rotation":10,"textNum":17},{"type":"spawnPoint","x":297,"y":533}]
diff --git a/gs/html5/vex5/assets/balance/levels/level03hard.json b/gs/html5/vex5/assets/balance/levels/level03hard.json
new file mode 100644
index 0000000..27cdf23
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level03hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":305,"y":600,"width":300,"height":99},{"type":"basicBlock","x":698,"y":601,"width":200,"height":99},{"type":"pole","x":526,"y":475},{"type":"rope","x":702,"y":175,"height":650},{"type":"rope","x":451,"y":175,"height":450.00000000000006},{"type":"pole","x":577,"y":326},{"type":"pole","x":574,"y":177},{"type":"buzzsaw","x":697,"y":225,"width":60},{"type":"buzzsaw","x":447,"y":68,"width":60},{"type":"pole","x":575,"y":-25},{"type":"basicBlock","x":450,"y":-74,"width":99,"height":50},{"type":"basicBlock","x":798,"y":151,"width":105,"height":1000},{"type":"basicBlock","x":698,"y":-225,"width":99,"height":250},{"type":"laserPoint","x":412,"y":604},{"type":"laserPoint","x":613,"y":603},{"type":"checkpoint","x":710,"y":-383},{"type":"pole","x":570,"y":-178},{"type":"basicBlock","x":449,"y":-225,"width":99,"height":50},{"type":"glassBlock","x":901,"y":-300,"width":100,"height":100},{"type":"glassBlock","x":900,"y":102,"width":100,"height":100},{"type":"glassBlock","x":900,"y":501,"width":100,"height":100},{"type":"glassBlock","x":900,"y":700,"width":100,"height":100},{"type":"basicBlock","x":724,"y":800,"width":250,"height":99},{"type":"basicBlock","x":324,"y":849,"width":250,"height":99},{"type":"basicBlock","x":201,"y":0,"width":105,"height":1300},{"type":"elevatorGeneratorUp","x":79,"y":879},{"type":"elevatorEliminatorUp","x":81,"y":267},{"type":"basicBlock","x":1000,"y":124,"width":105,"height":1350},{"type":"rope","x":-50,"y":-102,"height":1200},{"type":"buzzsawHorizontalFast","x":-10,"y":200},{"type":"buzzsawOnStick","x":414,"y":851,"rotation":160},{"type":"bouncingBuzzsaw","x":773,"y":678,"width":50},{"type":"buzzsawHorizontalFast","x":-67,"y":52},{"type":"buzzsawHorizontalFast","x":-19,"y":-99},{"type":"spike30x","x":144,"y":92,"rotation":-90},{"type":"spike30x","x":144,"y":-203,"rotation":-90},{"type":"spike30x","x":141,"y":-501,"rotation":-90},{"type":"spike10x","x":58,"y":229,"rotation":0},{"type":"spike10x","x":144,"y":230,"rotation":0},{"type":"ziplinePole","x":209,"y":-678},{"type":"ziplinePole","x":1001,"y":-575},{"type":"bouncingBuzzsaw","x":674,"y":677,"width":50},{"type":"checkpoint","x":241,"y":758},{"type":"basicBlock","x":-53,"y":-751,"width":99,"height":99},{"type":"basicBlock","x":1151,"y":-501,"width":200,"height":99},{"type":"pole","x":52,"y":-616},{"type":"checkpoint","x":1052,"y":-589},{"type":"iceBlock","x":1550,"y":-500,"width":600,"height":100},{"type":"pushBlock","x":1202,"y":-575,"width":50,"height":50},{"type":"bouncingBuzzsaw","x":1325,"y":-677,"width":50},{"type":"bouncingBuzzsaw","x":1724,"y":-676,"width":50},{"type":"basicBlock","x":1950,"y":-694,"width":200,"height":100},{"type":"finishPortal","x":1955,"y":-776},{"type":"star","x":-59,"y":-831},{"type":"bounceBlock","x":278,"y":-373,"width":50,"height":55},{"type":"pole","x":173,"y":-799},{"type":"textFade","x":343,"y":479,"rotation":0,"textNum":17},{"type":"textFade","x":1335,"y":-498,"rotation":0,"textNum":26},{"type":"textFade","x":529,"y":430,"rotation":0,"textNum":23},{"type":"textFade","x":537,"y":521,"rotation":0,"textNum":24},{"type":"textFade","x":701,"y":-188,"rotation":0,"textNum":25},{"type":"textFade","x":800,"y":-304,"rotation":0,"textNum":27},{"type":"textFade","x":608,"y":291,"rotation":-90,"textNum":17},{"type":"textFade","x":549,"y":-311,"rotation":-45,"textNum":17},{"type":"textFade","x":899,"y":-328,"rotation":90,"textNum":17},{"type":"textFade","x":564,"y":716,"rotation":-180,"textNum":17},{"type":"textFade","x":4,"y":709,"rotation":-90,"textNum":17},{"type":"textFade","x":104,"y":-724,"rotation":0,"textNum":17},{"type":"textFade","x":1209,"y":-633,"rotation":0,"textNum":17},{"type":"buzzsawOnStick","x":772,"y":15,"rotation":280},{"type":"buzzsawOnStick","x":447,"y":69,"rotation":216},{"type":"buzzsawHorizontalFast","x":903,"y":599},{"type":"buzzsawOnStick","x":204,"y":376,"rotation":168},{"type":"buzzsawOnStick","x":-40,"y":-745,"rotation":168},{"type":"buzzsawOnStick","x":776,"y":-632,"rotation":168},{"type":"bouncingBuzzsaw","x":1427,"y":-675,"width":50},{"type":"bouncingBuzzsaw","x":1526,"y":-677,"width":50},{"type":"bouncingBuzzsaw","x":1627,"y":-676,"width":50},{"type":"buzzsawHorizontalFast","x":-17,"y":-397},{"type":"reaper","x":509,"y":-665,"rotation":0,"width":232.2406015037594},{"type":"blockSpike","x":1204,"y":-502,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":322,"y":534}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level04.json b/gs/html5/vex5/assets/balance/levels/level04.json
new file mode 100644
index 0000000..8eeee27
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level04.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":399,"y":600,"width":300,"height":99},{"type":"appearingBlock","x":652,"y":600,"width":99,"height":99,"initVisible":1,"timeShow":80,"timeHide":80},{"type":"appearingBlock","x":851,"y":600,"width":99,"height":99,"initVisible":0,"timeShow":80,"timeHide":80},{"type":"basicBlock","x":850,"y":349,"width":500,"height":99},{"type":"basicBlock","x":1101,"y":599,"width":200,"height":99},{"type":"windBlaster","x":1143,"y":551,"rotation":-90},{"type":"bouncingBuzzsaw","x":925,"y":176,"width":50},{"type":"checkpoint","x":1023,"y":268},{"type":"bouncingBuzzsaw","x":825,"y":176,"width":50},{"type":"bouncingBuzzsaw","x":876,"y":124,"width":50},{"type":"speedBlockLeft","x":500,"y":349,"width":200,"height":100},{"type":"speedBlockLeft","x":201,"y":350,"width":200,"height":100},{"type":"buzzsawVerticalUp","x":351,"y":297},{"type":"bounceBlock","x":-29,"y":374,"width":50,"height":50},{"type":"basicBlock","x":101,"y":49,"width":200,"height":99},{"type":"checkpoint","x":84,"y":-28},{"type":"appearingBlock","x":276,"y":24,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":374,"y":23,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":474,"y":23,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":625,"y":-25,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":558,"y":9,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"basicBlock","x":900,"y":12,"width":400,"height":125},{"type":"laserPoint","x":180,"y":50},{"type":"laserPoint","x":724,"y":47},{"type":"basicBlock","x":901,"y":-249,"width":400,"height":99},{"type":"fallingSpike","x":709,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":723,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":737,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":752,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":767,"y":-192,"rotation":-9720},{"type":"fallingSpike","x":780,"y":-192,"rotation":-9720},{"type":"fallingSpike","x":794,"y":-192,"rotation":-9720},{"type":"fallingSpike","x":807,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":821,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":835,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":851,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":866,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":882,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":897,"y":-191,"rotation":-9720},{"type":"fallingSpike","x":911,"y":-192,"rotation":-9720},{"type":"buzzsaw","x":874,"y":-43,"width":50},{"type":"checkpoint","x":1030,"y":-70},{"type":"elevatorGeneratorUp","x":1175,"y":45},{"type":"elevatorEliminatorUp","x":1175,"y":-571},{"type":"buzzsawOnStick","x":1065,"y":-273,"rotation":424},{"type":"basicBlock","x":99,"y":-250,"width":200,"height":99},{"type":"checkpoint","x":94,"y":-325},{"type":"basicBlock","x":-101,"y":198,"width":99,"height":1000},{"type":"glassBlock","x":-201,"y":-251,"width":100,"height":100},{"type":"glassBlock","x":-201,"y":-50,"width":100,"height":100},{"type":"glassBlock","x":-201,"y":201,"width":100,"height":100},{"type":"glassBlock","x":-202,"y":348,"width":100,"height":100},{"type":"iceBlock","x":-651,"y":373,"width":800,"height":150},{"type":"basicBlock","x":-377,"y":176,"width":250,"height":50},{"type":"basicBlock","x":-298,"y":-251,"width":99,"height":700},{"type":"pushBlock","x":-384,"y":128,"width":50,"height":50},{"type":"star","x":-170,"y":373},{"type":"basicBlock","x":-1176,"y":273,"width":250,"height":250},{"type":"shurikanSpawner","x":-673,"y":130,"rotation":90},{"type":"shurikanSpawner","x":-877,"y":127,"rotation":90},{"type":"speedBlock","x":-647,"y":72,"width":600,"height":50},{"type":"appearingBlock","x":-576,"y":-26,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"spike30x","x":-355,"y":-98,"rotation":-90},{"type":"basicBlock","x":-422,"y":-100,"width":150,"height":99},{"type":"windBlaster","x":-611,"y":-168,"rotation":0},{"type":"basicBlock","x":-649,"y":-301,"width":99,"height":600},{"type":"bounceBlock","x":-576,"y":-224,"width":50,"height":50},{"type":"spike10x","x":-649,"y":-610,"rotation":0},{"type":"speedBlock","x":54,"y":-574,"width":600,"height":50},{"type":"buzzsaw","x":2,"y":-577,"width":101},{"type":"buzzsaw","x":367,"y":-574,"width":101},{"type":"basicBlock","x":499,"y":-569,"width":99,"height":99},{"type":"finishPortal","x":497,"y":-647},{"type":"checkpoint","x":-1158,"y":121},{"type":"buzzsawOnStick","x":-307,"y":-104,"rotation":424},{"type":"buzzsawOnStick","x":-783,"y":353,"rotation":424},{"type":"buzzsawOnStick","x":-639,"y":-471,"rotation":424},{"type":"classicLaser","x":823,"y":-523},{"type":"classicLaser","x":-123,"y":-725},{"type":"textFade","x":674,"y":348,"rotation":0,"textNum":28},{"type":"textFade","x":501,"y":470,"rotation":0,"textNum":5},{"type":"textFade","x":1077,"y":474,"rotation":-90,"textNum":5},{"type":"textFade","x":1134,"y":269,"rotation":-180,"textNum":5},{"type":"textFade","x":-27,"y":227,"rotation":-90,"textNum":5},{"type":"textFade","x":23,"y":-61,"rotation":0,"textNum":5},{"type":"textFade","x":1124,"y":-85,"rotation":-90,"textNum":5},{"type":"textFade","x":1159,"y":-361,"rotation":-180,"textNum":5},{"type":"textFade","x":138,"y":-378,"rotation":-180,"textNum":5},{"type":"textFade","x":-191,"y":-401,"rotation":90,"textNum":5},{"type":"textFade","x":-327,"y":175,"rotation":-180,"textNum":5},{"type":"textFade","x":-994,"y":209,"rotation":-119.99999999999999,"textNum":5},{"type":"textFade","x":-1054,"y":79,"rotation":-20,"textNum":5},{"type":"textFade","x":-527,"y":-34,"rotation":-90,"textNum":5},{"type":"textFade","x":-536,"y":-383,"rotation":-50,"textNum":5},{"type":"textFade","x":-301,"y":-638,"rotation":0,"textNum":5},{"type":"blockSpike","x":600,"y":-251,"spikeUp":1,"timeUp":10,"timeDown":10,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":450,"y":-250,"spikeUp":0,"timeUp":10,"timeDown":10,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":299,"y":-250,"spikeUp":1,"timeUp":10,"timeDown":10,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":382,"y":495}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level04hard.json b/gs/html5/vex5/assets/balance/levels/level04hard.json
new file mode 100644
index 0000000..cb812f8
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level04hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":399,"y":600,"width":300,"height":99},{"type":"appearingBlock","x":652,"y":600,"width":99,"height":99,"initVisible":1,"timeShow":80,"timeHide":80},{"type":"appearingBlock","x":851,"y":600,"width":99,"height":99,"initVisible":0,"timeShow":80,"timeHide":80},{"type":"basicBlock","x":850,"y":349,"width":500,"height":99},{"type":"basicBlock","x":1101,"y":599,"width":200,"height":99},{"type":"windBlaster","x":1143,"y":551,"rotation":-90},{"type":"bouncingBuzzsaw","x":925,"y":176,"width":50},{"type":"checkpoint","x":1023,"y":268},{"type":"bouncingBuzzsaw","x":825,"y":176,"width":50},{"type":"bouncingBuzzsaw","x":876,"y":124,"width":50},{"type":"speedBlockLeft","x":500,"y":349,"width":200,"height":100},{"type":"speedBlockLeft","x":201,"y":350,"width":200,"height":100},{"type":"buzzsawVerticalUp","x":351,"y":297},{"type":"bounceBlock","x":-29,"y":374,"width":50,"height":50},{"type":"basicBlock","x":101,"y":49,"width":200,"height":99},{"type":"checkpoint","x":84,"y":-28},{"type":"appearingBlock","x":374,"y":23,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":625,"y":-25,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"basicBlock","x":900,"y":12,"width":400,"height":125},{"type":"laserPoint","x":180,"y":50},{"type":"laserPoint","x":724,"y":47},{"type":"basicBlock","x":901,"y":-249,"width":400,"height":99},{"type":"fallingSpike","x":709,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":723,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":737,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":752,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":767,"y":-192,"rotation":-7920},{"type":"fallingSpike","x":780,"y":-192,"rotation":-7920},{"type":"fallingSpike","x":794,"y":-192,"rotation":-7920},{"type":"fallingSpike","x":807,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":821,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":835,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":851,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":866,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":882,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":897,"y":-191,"rotation":-7920},{"type":"fallingSpike","x":911,"y":-192,"rotation":-7920},{"type":"buzzsaw","x":874,"y":-43,"width":50},{"type":"checkpoint","x":1030,"y":-70},{"type":"elevatorGeneratorUp","x":1175,"y":45},{"type":"elevatorEliminatorUp","x":1175,"y":-571},{"type":"buzzsawOnStick","x":1065,"y":-273,"rotation":352},{"type":"fallingBlock","x":675,"y":-274,"width":50,"height":50},{"type":"fallingBlock","x":574,"y":-275,"width":50,"height":50},{"type":"fallingBlock","x":475,"y":-275,"width":50,"height":50},{"type":"fallingBlock","x":376,"y":-275,"width":50,"height":50},{"type":"fallingBlock","x":275,"y":-275,"width":50,"height":50},{"type":"basicBlock","x":325,"y":-275,"width":50,"height":50},{"type":"basicBlock","x":425,"y":-275,"width":50,"height":50},{"type":"basicBlock","x":525,"y":-276,"width":50,"height":50},{"type":"basicBlock","x":624,"y":-275,"width":50,"height":50},{"type":"bouncingBuzzsaw","x":522,"y":-477,"width":50},{"type":"bouncingBuzzsaw","x":424,"y":-475,"width":50},{"type":"bouncingBuzzsaw","x":324,"y":-476,"width":50},{"type":"basicBlock","x":99,"y":-250,"width":200,"height":99},{"type":"checkpoint","x":94,"y":-325},{"type":"basicBlock","x":-101,"y":198,"width":99,"height":1000},{"type":"glassBlock","x":-201,"y":-251,"width":100,"height":100},{"type":"glassBlock","x":-201,"y":201,"width":100,"height":100},{"type":"glassBlock","x":-202,"y":348,"width":100,"height":100},{"type":"iceBlock","x":-651,"y":373,"width":800,"height":150},{"type":"basicBlock","x":-377,"y":176,"width":250,"height":50},{"type":"basicBlock","x":-298,"y":-251,"width":99,"height":700},{"type":"pushBlock","x":-384,"y":128,"width":50,"height":50},{"type":"star","x":-170,"y":373},{"type":"basicBlock","x":-1176,"y":273,"width":250,"height":250},{"type":"shurikanSpawner","x":-673,"y":130,"rotation":90},{"type":"shurikanSpawner","x":-877,"y":127,"rotation":90},{"type":"speedBlock","x":-647,"y":72,"width":600,"height":50},{"type":"appearingBlock","x":-576,"y":-26,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"spike30x","x":-355,"y":-98,"rotation":-90},{"type":"basicBlock","x":-422,"y":-100,"width":150,"height":99},{"type":"windBlaster","x":-611,"y":-168,"rotation":0},{"type":"basicBlock","x":-649,"y":-301,"width":99,"height":600},{"type":"bounceBlock","x":-576,"y":-224,"width":50,"height":50},{"type":"spike10x","x":-649,"y":-610,"rotation":0},{"type":"speedBlock","x":54,"y":-574,"width":600,"height":50},{"type":"buzzsaw","x":2,"y":-577,"width":101},{"type":"buzzsaw","x":377,"y":-570,"width":50},{"type":"basicBlock","x":701,"y":-551,"width":99,"height":99},{"type":"finishPortal","x":698,"y":-624},{"type":"checkpoint","x":-1158,"y":121},{"type":"buzzsawOnStick","x":-307,"y":-104,"rotation":352},{"type":"buzzsawOnStick","x":-1098,"y":377,"rotation":-8},{"type":"classicLaser","x":823,"y":-523},{"type":"classicLaser","x":-123,"y":-725},{"type":"textFade","x":501,"y":470,"rotation":0,"textNum":5},{"type":"textFade","x":1077,"y":474,"rotation":-90,"textNum":5},{"type":"textFade","x":1134,"y":269,"rotation":-180,"textNum":5},{"type":"textFade","x":-27,"y":227,"rotation":-90,"textNum":5},{"type":"textFade","x":23,"y":-61,"rotation":0,"textNum":5},{"type":"textFade","x":1124,"y":-85,"rotation":-90,"textNum":5},{"type":"textFade","x":1159,"y":-361,"rotation":-180,"textNum":5},{"type":"textFade","x":138,"y":-378,"rotation":-180,"textNum":5},{"type":"textFade","x":-191,"y":-401,"rotation":90,"textNum":5},{"type":"textFade","x":-327,"y":175,"rotation":-180,"textNum":5},{"type":"textFade","x":-994,"y":209,"rotation":-119.99999999999999,"textNum":5},{"type":"textFade","x":-1054,"y":79,"rotation":-20,"textNum":5},{"type":"textFade","x":-527,"y":-34,"rotation":-90,"textNum":5},{"type":"textFade","x":-536,"y":-383,"rotation":-50,"textNum":5},{"type":"textFade","x":-301,"y":-638,"rotation":0,"textNum":5},{"type":"buzzsawOnStick","x":733,"y":-30,"rotation":352},{"type":"buzzsawOnStick","x":639,"y":348,"rotation":-8},{"type":"buzzsawOnStick","x":-106,"y":252,"rotation":-8},{"type":"pole","x":475,"y":-76},{"type":"pole","x":272,"y":-75},{"type":"classicLaser","x":375,"y":-198},{"type":"bouncingBuzzsaw","x":723,"y":-476,"width":50},{"type":"bouncingBuzzsaw","x":925,"y":-478,"width":50},{"type":"bouncingBuzzsaw","x":876,"y":-427,"width":50},{"type":"bouncingBuzzsaw","x":778,"y":-428,"width":50},{"type":"buzzsawOnStick","x":528,"y":-275,"rotation":352},{"type":"buzzsawHorizontalFast","x":-298,"y":-1},{"type":"buzzsawOnStick","x":-803,"y":382,"rotation":-8},{"type":"buzzsawOnStick","x":-312,"y":-448,"rotation":352},{"type":"bouncingBuzzsaw","x":173,"y":-728,"width":50},{"type":"buzzsawVerticalUp","x":533,"y":-566},{"type":"spawnPoint","x":371,"y":537}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level05.json b/gs/html5/vex5/assets/balance/levels/level05.json
new file mode 100644
index 0000000..f9e4ec4
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level05.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":649,"y":548,"width":99,"height":99},{"type":"horizontalBlock","x":477,"y":525,"width":50,"height":50},{"type":"verticalUpBlock","x":776,"y":427,"width":50,"height":50},{"type":"basicBlock","x":649,"y":351,"width":99,"height":99},{"type":"basicBlock","x":599,"y":750,"width":500,"height":99},{"type":"basicBlock","x":300,"y":649,"width":99,"height":300},{"type":"laserPoint","x":316,"y":578},{"type":"laserPoint","x":902,"y":581},{"type":"basicBlock","x":901,"y":300,"width":99,"height":600},{"type":"portal","x":410,"y":660},{"type":"portal","x":300,"y":101},{"type":"basicBlock","x":300,"y":200,"width":99,"height":99},{"type":"elevatorEliminatorUp","x":521,"y":-77},{"type":"rope","x":523,"y":101,"height":400},{"type":"checkpoint","x":507,"y":673},{"type":"sparkBlock","x":952,"y":750,"width":100,"height":100},{"type":"sparkBlock","x":1148,"y":749,"width":100,"height":100},{"type":"elevatorGeneratorUp","x":1324,"y":870},{"type":"elevatorEliminatorUp","x":1330,"y":-272},{"type":"elevatorGeneratorUp","x":1025,"y":570},{"type":"elevatorEliminatorUp","x":1030,"y":-272},{"type":"elevatorGeneratorDown","x":1180,"y":-272},{"type":"elevatorEliminatorDown","x":1175,"y":570},{"type":"sparkBlock","x":749,"y":0,"width":100,"height":100},{"type":"fallingBlock","x":675,"y":-176,"width":50,"height":50},{"type":"fallingBlock","x":773,"y":-226,"width":50,"height":50},{"type":"fallingBlock","x":876,"y":-276,"width":50,"height":50},{"type":"checkpoint","x":906,"y":-35},{"type":"buzzsawOnStick","x":530,"y":-79,"rotation":344},{"type":"buzzsawOnStick","x":1181,"y":141,"rotation":344},{"type":"classicLaser","x":726,"y":-420},{"type":"bouncingBuzzsaw","x":1026,"y":-475,"width":50},{"type":"bouncingBuzzsaw","x":1073,"y":-524,"width":50},{"type":"bouncingBuzzsaw","x":1122,"y":-476,"width":50},{"type":"bouncingBuzzsaw","x":1175,"y":-523,"width":50},{"type":"bouncingBuzzsaw","x":1225,"y":-476,"width":50},{"type":"bouncingBuzzsaw","x":1275,"y":-524,"width":50},{"type":"ziplinePole","x":1387,"y":-330},{"type":"classicLaser","x":1466,"y":111},{"type":"basicBlock","x":2026,"y":51,"width":250,"height":400},{"type":"ziplinePole","x":2017,"y":-185},{"type":"checkpoint","x":1340,"y":-333},{"type":"swimmingPool","x":2351,"y":101,"width":400,"height":300},{"type":"basicBlock","x":2650,"y":51,"width":200,"height":400},{"type":"sparkBlock","x":2343,"y":-95,"width":100,"height":100},{"type":"basicBlock","x":2326,"y":300,"width":850,"height":99},{"type":"star","x":2073,"y":-328},{"type":"speedBlock","x":3001,"y":-100,"width":500,"height":100},{"type":"buzzsawOnStick","x":2656,"y":-96,"rotation":344},{"type":"buzzsawOnStick","x":3009,"y":-99,"rotation":344},{"type":"basicBlock","x":3351,"y":-101,"width":200,"height":99},{"type":"finishPortal","x":696,"y":-680},{"type":"buzzsawHorizontalFast","x":1685,"y":-276},{"type":"portal","x":2074,"y":-442},{"type":"portal","x":2342,"y":103},{"type":"shurikanSpawner","x":951,"y":218,"rotation":0},{"type":"shurikanSpawner","x":950,"y":318,"rotation":0},{"type":"basicBlock","x":1047,"y":-601,"width":800,"height":99},{"type":"portal","x":3358,"y":-188},{"type":"portal","x":1387,"y":-684},{"type":"checkpoint","x":1306,"y":-681},{"type":"basicBlock","x":1052,"y":-901,"width":800,"height":99},{"type":"sparkBlock","x":1050,"y":-701,"width":100,"height":100},{"type":"buzzsawOnStick","x":1042,"y":-896,"rotation":232},{"type":"buzzsawOnStick","x":839,"y":-603,"rotation":232},{"type":"fallingSpike","x":910,"y":-845,"rotation":-5400},{"type":"fallingSpike","x":889,"y":-844,"rotation":-5400},{"type":"fallingSpike","x":873,"y":-845,"rotation":-5400},{"type":"fallingSpike","x":854,"y":-845,"rotation":-5400},{"type":"fallingSpike","x":836,"y":-846,"rotation":-5400},{"type":"fallingSpike","x":816,"y":-845,"rotation":-5400},{"type":"fallingSpike","x":795,"y":-845,"rotation":-5400},{"type":"fallingSpike","x":775,"y":-846,"rotation":-5400},{"type":"textFade","x":723,"y":749,"rotation":0,"textNum":35},{"type":"textFade","x":2029,"y":-104,"rotation":0,"textNum":37},{"type":"textFade","x":408,"y":446,"rotation":0,"textNum":15},{"type":"textFade","x":724,"y":474,"rotation":-90,"textNum":15},{"type":"textFade","x":748,"y":262,"rotation":-135,"textNum":15},{"type":"textFade","x":398,"y":99,"rotation":-180,"textNum":15},{"type":"textFade","x":514,"y":623,"rotation":0,"textNum":15},{"type":"textFade","x":864,"y":649,"rotation":0,"textNum":15},{"type":"textFade","x":1285,"y":684,"rotation":-90,"textNum":15},{"type":"textFade","x":1253,"y":105,"rotation":-135,"textNum":15},{"type":"textFade","x":1103,"y":-30,"rotation":-180,"textNum":15},{"type":"textFade","x":738,"y":-113,"rotation":-180,"textNum":15},{"type":"textFade","x":589,"y":-174,"rotation":-45,"textNum":15},{"type":"textFade","x":920,"y":-356,"rotation":0,"textNum":15},{"type":"textFade","x":1435,"y":-386,"rotation":20,"textNum":15},{"type":"textFade","x":2164,"y":-203,"rotation":0,"textNum":15},{"type":"textFade","x":1317,"y":-746,"rotation":-180,"textNum":15},{"type":"bouncingBuzzsaw","x":653,"y":128,"width":99},{"type":"blockSpike","x":1200,"y":-601,"spikeUp":1,"timeUp":1,"timeDown":1,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":296,"y":478}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level05hard.json b/gs/html5/vex5/assets/balance/levels/level05hard.json
new file mode 100644
index 0000000..708399a
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level05hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":649,"y":548,"width":99,"height":99},{"type":"horizontalBlock","x":477,"y":525,"width":50,"height":50},{"type":"verticalUpBlock","x":776,"y":427,"width":50,"height":50},{"type":"basicBlock","x":649,"y":351,"width":99,"height":99},{"type":"basicBlock","x":599,"y":750,"width":500,"height":99},{"type":"basicBlock","x":300,"y":649,"width":99,"height":300},{"type":"laserPoint","x":316,"y":578},{"type":"laserPoint","x":902,"y":581},{"type":"basicBlock","x":901,"y":300,"width":99,"height":600},{"type":"portal","x":410,"y":660},{"type":"portal","x":300,"y":101},{"type":"basicBlock","x":300,"y":200,"width":99,"height":99},{"type":"elevatorEliminatorUp","x":521,"y":-77},{"type":"rope","x":523,"y":101,"height":400},{"type":"checkpoint","x":507,"y":673},{"type":"sparkBlock","x":952,"y":750,"width":100,"height":100},{"type":"sparkBlock","x":1148,"y":749,"width":100,"height":100},{"type":"elevatorGeneratorUp","x":1324,"y":870},{"type":"elevatorEliminatorUp","x":1330,"y":-272},{"type":"elevatorGeneratorUp","x":1025,"y":570},{"type":"elevatorEliminatorUp","x":1030,"y":-272},{"type":"elevatorGeneratorDown","x":1180,"y":-272},{"type":"elevatorEliminatorDown","x":1175,"y":570},{"type":"sparkBlock","x":749,"y":0,"width":100,"height":100},{"type":"checkpoint","x":906,"y":-35},{"type":"buzzsawOnStick","x":649,"y":353,"rotation":512},{"type":"buzzsawOnStick","x":530,"y":-79,"rotation":512},{"type":"buzzsawOnStick","x":1181,"y":141,"rotation":512},{"type":"classicLaser","x":726,"y":-420},{"type":"bouncingBuzzsaw","x":1026,"y":-475,"width":50},{"type":"bouncingBuzzsaw","x":1073,"y":-524,"width":50},{"type":"bouncingBuzzsaw","x":1122,"y":-476,"width":50},{"type":"bouncingBuzzsaw","x":1175,"y":-523,"width":50},{"type":"bouncingBuzzsaw","x":1225,"y":-476,"width":50},{"type":"bouncingBuzzsaw","x":1275,"y":-524,"width":50},{"type":"classicLaser","x":1466,"y":111},{"type":"basicBlock","x":2026,"y":50,"width":250,"height":400},{"type":"checkpoint","x":1340,"y":-333},{"type":"basicBlock","x":2650,"y":51,"width":200,"height":400},{"type":"basicBlock","x":2350,"y":97,"width":400,"height":99},{"type":"star","x":2073,"y":-328},{"type":"buzzsawOnStick","x":2710,"y":-100,"rotation":512},{"type":"buzzsawOnStick","x":3009,"y":-99,"rotation":512},{"type":"basicBlock","x":3351,"y":-101,"width":200,"height":99},{"type":"finishPortal","x":475,"y":-732},{"type":"portal","x":2074,"y":-442},{"type":"portal","x":1874,"y":88},{"type":"shurikanSpawner","x":951,"y":218,"rotation":0},{"type":"shurikanSpawner","x":950,"y":318,"rotation":0},{"type":"basicBlock","x":1047,"y":-601,"width":800,"height":99},{"type":"portal","x":3358,"y":-188},{"type":"portal","x":1387,"y":-684},{"type":"checkpoint","x":1306,"y":-681},{"type":"basicBlock","x":1052,"y":-901,"width":800,"height":99},{"type":"sparkBlock","x":1050,"y":-701,"width":100,"height":100},{"type":"buzzsawOnStick","x":1042,"y":-896,"rotation":40},{"type":"buzzsawOnStick","x":839,"y":-603,"rotation":400},{"type":"fallingSpike","x":910,"y":-845,"rotation":-9360},{"type":"fallingSpike","x":889,"y":-844,"rotation":-9360},{"type":"fallingSpike","x":873,"y":-845,"rotation":-9360},{"type":"fallingSpike","x":854,"y":-845,"rotation":-9360},{"type":"fallingSpike","x":836,"y":-846,"rotation":-9360},{"type":"fallingSpike","x":816,"y":-845,"rotation":-9360},{"type":"fallingSpike","x":795,"y":-845,"rotation":-9360},{"type":"fallingSpike","x":775,"y":-846,"rotation":-9360},{"type":"textFade","x":723,"y":749,"rotation":0,"textNum":35},{"type":"textFade","x":2029,"y":-108,"rotation":0,"textNum":37},{"type":"textFade","x":408,"y":446,"rotation":0,"textNum":15},{"type":"textFade","x":724,"y":474,"rotation":-90,"textNum":15},{"type":"textFade","x":748,"y":262,"rotation":-135,"textNum":15},{"type":"textFade","x":398,"y":99,"rotation":-180,"textNum":15},{"type":"textFade","x":514,"y":623,"rotation":0,"textNum":15},{"type":"textFade","x":864,"y":649,"rotation":0,"textNum":15},{"type":"textFade","x":1285,"y":684,"rotation":-90,"textNum":15},{"type":"textFade","x":1253,"y":105,"rotation":-135,"textNum":15},{"type":"textFade","x":1103,"y":-30,"rotation":-180,"textNum":15},{"type":"textFade","x":738,"y":-113,"rotation":-180,"textNum":15},{"type":"textFade","x":589,"y":-174,"rotation":-45,"textNum":15},{"type":"textFade","x":920,"y":-356,"rotation":0,"textNum":15},{"type":"textFade","x":1468,"y":-372,"rotation":20,"textNum":15},{"type":"textFade","x":2164,"y":-203,"rotation":0,"textNum":15},{"type":"textFade","x":1317,"y":-746,"rotation":-180,"textNum":15},{"type":"shurikanDispenser","x":433,"y":211},{"type":"shurikanDispenser","x":1245,"y":246},{"type":"pole","x":670,"y":-170},{"type":"pole","x":774,"y":-221},{"type":"pole","x":875,"y":-277},{"type":"pole","x":1476,"y":-374},{"type":"pole","x":1728,"y":-324},{"type":"shurikanDispenser","x":1625,"y":-530},{"type":"shurikanDispenser","x":1824,"y":-475},{"type":"sparkBlock","x":2103,"y":96,"width":100,"height":100},{"type":"swimmingPool","x":2349,"y":24,"width":400,"height":150},{"type":"speedBlockLeft","x":3003,"y":-104,"width":500,"height":100},{"type":"buzzsawOnStick","x":830,"y":-896,"rotation":40},{"type":"bouncingBuzzsaw","x":675,"y":-825,"width":50},{"type":"bouncingBuzzsaw","x":724,"y":-776,"width":50},{"type":"pole","x":579,"y":-727},{"type":"buzzsawOnStick","x":1040,"y":571,"rotation":152},{"type":"blockSpike","x":1203,"y":-601,"spikeUp":1,"timeUp":1,"timeDown":1,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":837,"y":-602,"spikeUp":1,"timeUp":1,"timeDown":1,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":303,"y":483}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level06.json b/gs/html5/vex5/assets/balance/levels/level06.json
new file mode 100644
index 0000000..ba4b4c7
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level06.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":600,"y":599,"width":500,"height":99},{"type":"circularCannon","x":704,"y":414},{"type":"circularCannon","x":496,"y":214},{"type":"basicBlock","x":899,"y":200,"width":500,"height":99},{"type":"buzzsawOnStick","x":930,"y":197,"rotation":256},{"type":"sparkBlock","x":1249,"y":200,"width":100,"height":100},{"type":"sparkBlock","x":1401,"y":151,"width":100,"height":100},{"type":"basicBlock","x":1548,"y":100,"width":99,"height":99},{"type":"checkpoint","x":1760,"y":-182},{"type":"verticalUpBlock","x":1651,"y":0,"width":100,"height":100},{"type":"basicBlock","x":1752,"y":199,"width":99,"height":700},{"type":"iceBlock","x":2250,"y":-99,"width":900,"height":100},{"type":"buzzsaw","x":1987,"y":-154,"width":101},{"type":"buzzsaw","x":2042,"y":-234,"width":101},{"type":"buzzsaw","x":2107,"y":-162,"width":101},{"type":"pole","x":1923,"y":-224},{"type":"pole","x":1826,"y":-273},{"type":"pole","x":1923,"y":-325},{"type":"elevatorEliminatorUp","x":2875,"y":-520},{"type":"rope","x":2880,"y":-142,"height":700},{"type":"buzzsawOnStick","x":2402,"y":-127,"rotation":256},{"type":"pushBlock","x":2226,"y":-176,"width":50,"height":50},{"type":"basicBlock","x":2251,"y":-1,"width":900,"height":99},{"type":"basicBlock","x":2750,"y":-126,"width":99,"height":350},{"type":"spike30x","x":1949,"y":-59,"rotation":0},{"type":"spike30x","x":2251,"y":-58,"rotation":0},{"type":"spike30x","x":2550,"y":-59,"rotation":0},{"type":"basicBlock","x":2951,"y":298,"width":300,"height":99},{"type":"elevatorEliminatorUp","x":3025,"y":-520},{"type":"rope","x":3023,"y":-150,"height":700},{"type":"bouncingBuzzsaw","x":2879,"y":-247,"width":101},{"type":"bouncingBuzzsaw","x":3019,"y":-407,"width":101},{"type":"checkpoint","x":2750,"y":-323},{"type":"basicBlock","x":899,"y":449,"width":99,"height":400},{"type":"basicBlock","x":301,"y":-102,"width":99,"height":1500},{"type":"laserPoint","x":937,"y":299},{"type":"laserPoint","x":1721,"y":298},{"type":"finishPortal","x":425,"y":678},{"type":"solarBlock","x":2201,"y":401,"width":100,"height":100},{"type":"speedBlockLeft","x":2351,"y":299,"width":900,"height":100},{"type":"spike30x","x":1810,"y":205,"rotation":90},{"type":"buzzsaw","x":2563,"y":256,"width":101},{"type":"buzzsaw","x":2357,"y":150,"width":101},{"type":"basicBlock","x":2250,"y":500,"width":900,"height":99},{"type":"checkpoint","x":1858,"y":416},{"type":"spike30x","x":2807,"y":-135,"rotation":90},{"type":"buzzsaw","x":2073,"y":260,"width":101},{"type":"lightSwitch","x":2074,"y":381},{"type":"checkpoint","x":1700,"y":767},{"type":"circularCannon","x":788,"y":864},{"type":"circularCannon","x":1555,"y":725},{"type":"circularCannon","x":1363,"y":522},{"type":"circularCannon","x":1072,"y":708},{"type":"bouncingBuzzsaw","x":771,"y":-2,"width":101},{"type":"bouncingBuzzsaw","x":2574,"y":-326,"width":50},{"type":"buzzsawVerticalUp","x":2451,"y":408},{"type":"buzzsawVerticalDown","x":2601,"y":407},{"type":"rope","x":2806,"y":693,"height":700},{"type":"rope","x":2601,"y":830,"height":700},{"type":"rope","x":2455,"y":854,"height":700},{"type":"appearingBlock","x":2301,"y":849,"width":99,"height":99,"initVisible":1,"timeShow":70,"timeHide":70},{"type":"appearingBlock","x":2149,"y":850,"width":99,"height":99,"initVisible":0,"timeShow":70,"timeHide":70},{"type":"appearingBlock","x":1851,"y":850,"width":99,"height":99,"initVisible":0,"timeShow":70,"timeHide":70},{"type":"basicBlock","x":1699,"y":850,"width":99,"height":99},{"type":"circularCannon","x":427,"y":883},{"type":"star","x":2452,"y":961},{"type":"buzzsawHorizontalFast","x":2523,"y":863},{"type":"buzzsawHorizontalFast","x":2698,"y":631},{"type":"buzzsawVerticalUp","x":2522,"y":755},{"type":"buzzsawVerticalDown","x":2697,"y":742},{"type":"buzzsawVerticalUp","x":2702,"y":1049},{"type":"buzzsawHorizontalFast","x":2514,"y":1050},{"type":"bouncingBuzzsaw","x":1547,"y":-175,"width":50},{"type":"bouncingBuzzsaw","x":1651,"y":-229,"width":50},{"type":"bouncingBuzzsaw","x":1051,"y":-1,"width":101},{"type":"bouncingBuzzsaw","x":2224,"y":-376,"width":50},{"type":"textFade","x":558,"y":455,"rotation":0,"textNum":33},{"type":"textFade","x":2054,"y":485,"rotation":0,"textNum":36},{"type":"textFade","x":586,"y":114,"rotation":0,"textNum":15},{"type":"textFade","x":612,"y":337,"rotation":-135,"textNum":15},{"type":"textFade","x":1234,"y":68,"rotation":-20,"textNum":15},{"type":"textFade","x":1651,"y":-194,"rotation":0,"textNum":15},{"type":"textFade","x":2604,"y":-239,"rotation":-45,"textNum":15},{"type":"textFade","x":2838,"y":-377,"rotation":90,"textNum":15},{"type":"textFade","x":2953,"y":150,"rotation":-180,"textNum":15},{"type":"textFade","x":1865,"y":211,"rotation":90,"textNum":15},{"type":"textFade","x":1966,"y":384,"rotation":0,"textNum":15},{"type":"textFade","x":2767,"y":437,"rotation":90,"textNum":15},{"type":"textFade","x":2839,"y":676,"rotation":-180,"textNum":15},{"type":"textFade","x":2391,"y":753,"rotation":-180,"textNum":15},{"type":"textFade","x":1722,"y":723,"rotation":-180,"textNum":15},{"type":"textFade","x":1213,"y":608,"rotation":135,"textNum":15},{"type":"textFade","x":653,"y":833,"rotation":-180,"textNum":15},{"type":"blockSpike","x":698,"y":200,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":0,"downEnable":0,"leftEnable":1,"rightEnable":0},{"type":"appearingBlock","x":1999,"y":850,"width":99,"height":99,"initVisible":1,"timeShow":70,"timeHide":70},{"type":"spawnPoint","x":429,"y":522}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level06hard.json b/gs/html5/vex5/assets/balance/levels/level06hard.json
new file mode 100644
index 0000000..ca4ef7f
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level06hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":600,"y":599,"width":500,"height":99},{"type":"circularCannon","x":704,"y":414},{"type":"circularCannon","x":496,"y":214},{"type":"basicBlock","x":899,"y":200,"width":500,"height":99},{"type":"buzzsawOnStick","x":777,"y":182,"rotation":-8},{"type":"sparkBlock","x":1249,"y":200,"width":100,"height":100},{"type":"sparkBlock","x":1400,"y":148,"width":100,"height":100},{"type":"basicBlock","x":1548,"y":100,"width":99,"height":99},{"type":"checkpoint","x":1765,"y":-190},{"type":"basicBlock","x":1752,"y":199,"width":99,"height":700},{"type":"iceBlock","x":2250,"y":-99,"width":900,"height":100},{"type":"elevatorEliminatorUp","x":2875,"y":-520},{"type":"rope","x":2880,"y":-142,"height":700},{"type":"pushBlock","x":2028,"y":-175,"width":50,"height":50},{"type":"basicBlock","x":2251,"y":-1,"width":900,"height":99},{"type":"basicBlock","x":2750,"y":-126,"width":99,"height":350},{"type":"spike30x","x":1949,"y":-59,"rotation":0},{"type":"spike30x","x":2251,"y":-58,"rotation":0},{"type":"spike30x","x":2550,"y":-59,"rotation":0},{"type":"basicBlock","x":2951,"y":298,"width":300,"height":99},{"type":"elevatorEliminatorUp","x":3025,"y":-520},{"type":"rope","x":3023,"y":-150,"height":700},{"type":"bouncingBuzzsaw","x":2879,"y":-247,"width":101},{"type":"bouncingBuzzsaw","x":3019,"y":-407,"width":101},{"type":"checkpoint","x":2750,"y":-323},{"type":"basicBlock","x":899,"y":449,"width":99,"height":400},{"type":"basicBlock","x":301,"y":-102,"width":99,"height":1500},{"type":"laserPoint","x":937,"y":299},{"type":"laserPoint","x":1721,"y":298},{"type":"finishPortal","x":425,"y":678},{"type":"solarBlock","x":2201,"y":401,"width":100,"height":100},{"type":"spike30x","x":1810,"y":205,"rotation":90},{"type":"buzzsaw","x":2563,"y":256,"width":101},{"type":"basicBlock","x":2250,"y":500,"width":900,"height":99},{"type":"checkpoint","x":1858,"y":416},{"type":"spike30x","x":2807,"y":-135,"rotation":90},{"type":"buzzsaw","x":2073,"y":260,"width":101},{"type":"lightSwitch","x":2074,"y":381},{"type":"checkpoint","x":1700,"y":767},{"type":"circularCannon","x":1555,"y":725},{"type":"circularCannon","x":1072,"y":708},{"type":"bouncingBuzzsaw","x":2623,"y":-377,"width":50},{"type":"buzzsawVerticalUp","x":2451,"y":408},{"type":"buzzsawVerticalDown","x":2601,"y":407},{"type":"rope","x":2806,"y":693,"height":700},{"type":"rope","x":2601,"y":830,"height":700},{"type":"rope","x":2455,"y":854,"height":700},{"type":"appearingBlock","x":2301,"y":849,"width":99,"height":99,"initVisible":1,"timeShow":70,"timeHide":70},{"type":"appearingBlock","x":2149,"y":850,"width":99,"height":99,"initVisible":0,"timeShow":70,"timeHide":70},{"type":"appearingBlock","x":1851,"y":850,"width":99,"height":99,"initVisible":0,"timeShow":70,"timeHide":70},{"type":"basicBlock","x":1699,"y":850,"width":99,"height":99},{"type":"circularCannon","x":427,"y":883},{"type":"star","x":2452,"y":961},{"type":"buzzsawHorizontalFast","x":2523,"y":863},{"type":"buzzsawHorizontalFast","x":2698,"y":631},{"type":"buzzsawVerticalUp","x":2522,"y":755},{"type":"buzzsawVerticalDown","x":2702,"y":747},{"type":"buzzsawVerticalUp","x":2702,"y":1049},{"type":"buzzsawHorizontalFast","x":2514,"y":1050},{"type":"bouncingBuzzsaw","x":1574,"y":-275,"width":50},{"type":"bouncingBuzzsaw","x":775,"y":-28,"width":50},{"type":"bouncingBuzzsaw","x":2075,"y":-315,"width":50},{"type":"textFade","x":558,"y":455,"rotation":0,"textNum":33},{"type":"textFade","x":2054,"y":485,"rotation":0,"textNum":36},{"type":"textFade","x":586,"y":114,"rotation":0,"textNum":15},{"type":"textFade","x":612,"y":337,"rotation":-135,"textNum":15},{"type":"textFade","x":1234,"y":68,"rotation":-20,"textNum":15},{"type":"textFade","x":1651,"y":-194,"rotation":0,"textNum":15},{"type":"textFade","x":2604,"y":-239,"rotation":-45,"textNum":15},{"type":"textFade","x":2838,"y":-377,"rotation":90,"textNum":15},{"type":"textFade","x":2953,"y":150,"rotation":-180,"textNum":15},{"type":"textFade","x":1865,"y":211,"rotation":90,"textNum":15},{"type":"textFade","x":1966,"y":384,"rotation":0,"textNum":15},{"type":"textFade","x":2767,"y":437,"rotation":90,"textNum":15},{"type":"textFade","x":2839,"y":676,"rotation":-180,"textNum":15},{"type":"textFade","x":2391,"y":753,"rotation":-180,"textNum":15},{"type":"textFade","x":1722,"y":723,"rotation":-180,"textNum":15},{"type":"textFade","x":1198,"y":620,"rotation":135,"textNum":15},{"type":"textFade","x":653,"y":833,"rotation":-180,"textNum":15},{"type":"buzzsawOnStick","x":977,"y":182,"rotation":-8},{"type":"bouncingBuzzsaw","x":973,"y":-26,"width":50},{"type":"bouncingBuzzsaw","x":876,"y":-275,"width":50},{"type":"bouncingBuzzsaw","x":1074,"y":-274,"width":50},{"type":"bouncingBuzzsaw","x":1245,"y":23,"width":50},{"type":"bouncingBuzzsaw","x":1402,"y":-25,"width":50},{"type":"pole","x":1676,"y":-25},{"type":"pole","x":1570,"y":-70},{"type":"checkpoint","x":1128,"y":119},{"type":"sparkBlock","x":1951,"y":-200,"width":100,"height":100},{"type":"sparkBlock","x":2200,"y":-224,"width":100,"height":150},{"type":"sparkBlock","x":2501,"y":-225,"width":100,"height":150},{"type":"pushBlock","x":2276,"y":-176,"width":50,"height":50},{"type":"pushBlock","x":2578,"y":-178,"width":50,"height":50},{"type":"bouncingBuzzsaw","x":2426,"y":-525,"width":50},{"type":"speedBlock","x":2351,"y":298,"width":900,"height":100},{"type":"bouncingBuzzsaw","x":2474,"y":100,"width":50},{"type":"bouncingBuzzsaw","x":2225,"y":100,"width":50},{"type":"bouncingBuzzsaw","x":1925,"y":75,"width":50},{"type":"buzzsawOnStick","x":2540,"y":506,"rotation":136},{"type":"buzzsawVerticalDown","x":2399,"y":846},{"type":"pole","x":1474,"y":575},{"type":"pole","x":1324,"y":522},{"type":"pole","x":874,"y":777},{"type":"pole","x":723,"y":780},{"type":"blockSpike","x":700,"y":200,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":0,"downEnable":0,"leftEnable":1,"rightEnable":0},{"type":"blockSpike","x":2000,"y":849,"spikeUp":1,"timeUp":70,"timeDown":70,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"buzzsawOnStick","x":2349,"y":25,"rotation":60},{"type":"spawnPoint","x":478,"y":538}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level07.json b/gs/html5/vex5/assets/balance/levels/level07.json
new file mode 100644
index 0000000..2af3fdd
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level07.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":549,"y":499,"width":400,"height":99},{"type":"lockBlock","x":700,"y":400,"width":100,"height":100},{"type":"lockBlock","x":800,"y":600,"width":100,"height":100},{"type":"lockBlock","x":600,"y":599,"width":100,"height":100},{"type":"lockBlock","x":800,"y":501,"width":100,"height":100},{"type":"lockBlock","x":999,"y":600,"width":100,"height":100},{"type":"basicBlock","x":1050,"y":500,"width":400,"height":99},{"type":"basicBlock","x":700,"y":-50,"width":99,"height":800},{"type":"basicBlock","x":799,"y":700,"width":900,"height":99},{"type":"star","x":1158,"y":612},{"type":"finishPortal","x":469,"y":609},{"type":"basicBlock","x":300,"y":799,"width":99,"height":700},{"type":"basicBlock","x":1298,"y":600,"width":99,"height":300},{"type":"basicBlock","x":1100,"y":124,"width":500,"height":50},{"type":"bounceBlock","x":276,"y":423,"width":50,"height":50},{"type":"speedBlock","x":500,"y":149,"width":300,"height":100},{"type":"verticalUpBlock","x":425,"y":-74,"width":50,"height":50},{"type":"spike30x","x":643,"y":-47,"rotation":-90},{"type":"spike30x","x":643,"y":-295,"rotation":-90},{"type":"speedBlock","x":501,"y":-300,"width":300,"height":100},{"type":"glassBlock","x":99,"y":-199,"width":100,"height":100},{"type":"glassBlock","x":99,"y":-51,"width":100,"height":100},{"type":"glassBlock","x":99,"y":99,"width":100,"height":100},{"type":"glassBlock","x":100,"y":246,"width":100,"height":100},{"type":"pole","x":101,"y":375},{"type":"basicBlock","x":25,"y":-78,"width":50,"height":750},{"type":"key","x":572,"y":-380},{"type":"spike10x","x":701,"y":-459,"rotation":0},{"type":"pole","x":324,"y":-126},{"type":"pole","x":225,"y":-173},{"type":"basicBlock","x":174,"y":-25,"width":50,"height":650},{"type":"pole","x":323,"y":-225},{"type":"pole","x":224,"y":-273},{"type":"checkpoint","x":888,"y":424},{"type":"elevatorEliminatorUp","x":799,"y":-621},{"type":"rope","x":801,"y":-96,"height":999.9999999999999},{"type":"bounceBlock","x":800,"y":635,"width":50,"height":30},{"type":"basicBlock","x":1100,"y":-250,"width":500,"height":99},{"type":"buzzsaw","x":798,"y":-503,"width":101},{"type":"buzzsawOnStick","x":1098,"y":-242,"rotation":544},{"type":"appearingBlock","x":1425,"y":-277,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1526,"y":-276,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1725,"y":-277,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1628,"y":-275,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"elevatorGeneratorDown","x":1879,"y":-569},{"type":"elevatorEliminatorDown","x":1874,"y":471},{"type":"key","x":1722,"y":-339},{"type":"bouncingBuzzsaw","x":1018,"y":-502,"width":101},{"type":"checkpoint","x":910,"y":-328},{"type":"bouncingBuzzsaw","x":1245,"y":-505,"width":101},{"type":"pole","x":1677,"y":377},{"type":"pole","x":1567,"y":328},{"type":"pole","x":1373,"y":331},{"type":"portal","x":1127,"y":-45},{"type":"portal","x":1007,"y":864},{"type":"fallingSpike","x":508,"y":758,"rotation":-6840},{"type":"fallingSpike","x":522,"y":758,"rotation":-6840},{"type":"fallingSpike","x":536,"y":758,"rotation":-6840},{"type":"fallingSpike","x":552,"y":758,"rotation":-6840},{"type":"fallingSpike","x":567,"y":758,"rotation":-6840},{"type":"fallingSpike","x":582,"y":758,"rotation":-6840},{"type":"fallingSpike","x":597,"y":758,"rotation":-6840},{"type":"fallingSpike","x":611,"y":758,"rotation":-6840},{"type":"fallingSpike","x":626,"y":758,"rotation":-6840},{"type":"fallingSpike","x":644,"y":758,"rotation":-6840},{"type":"fallingSpike","x":660,"y":758,"rotation":-6840},{"type":"fallingSpike","x":675,"y":758,"rotation":-6840},{"type":"fallingSpike","x":691,"y":758,"rotation":-6840},{"type":"fallingSpike","x":709,"y":758,"rotation":-6840},{"type":"fallingSpike","x":725,"y":757,"rotation":-6840},{"type":"fallingSpike","x":742,"y":757,"rotation":-6840},{"type":"rope","x":550,"y":897,"height":300},{"type":"rope","x":649,"y":900,"height":300},{"type":"rope","x":750,"y":901,"height":300},{"type":"fallingSpike","x":759,"y":757,"rotation":-6840},{"type":"fallingSpike","x":774,"y":758,"rotation":-6840},{"type":"fallingSpike","x":787,"y":758,"rotation":-6840},{"type":"basicBlock","x":399,"y":1100,"width":99,"height":99},{"type":"portal","x":410,"y":1001},{"type":"portal","x":1328,"y":65},{"type":"key","x":903,"y":865},{"type":"basicBlock","x":899,"y":952,"width":99,"height":99},{"type":"fallingSpike","x":801,"y":758,"rotation":-6840},{"type":"fallingSpike","x":814,"y":758,"rotation":-6840},{"type":"fallingSpike","x":827,"y":758,"rotation":-6840},{"type":"fallingSpike","x":842,"y":758,"rotation":-6840},{"type":"laserPoint","x":1337,"y":478},{"type":"laserPoint","x":1824,"y":473},{"type":"basicBlock","x":1102,"y":898,"width":99,"height":300},{"type":"fallingSpike","x":856,"y":758,"rotation":-6840},{"type":"fallingSpike","x":873,"y":758,"rotation":-6840},{"type":"fallingSpike","x":890,"y":758,"rotation":-6840},{"type":"fallingSpike","x":906,"y":758,"rotation":-6840},{"type":"fallingSpike","x":921,"y":758,"rotation":-6840},{"type":"fallingSpike","x":938,"y":758,"rotation":-6840},{"type":"fallingSpike","x":953,"y":758,"rotation":-6840},{"type":"basicBlock","x":1102,"y":275,"width":500,"height":50},{"type":"basicBlock","x":1550,"y":999,"width":800,"height":99},{"type":"basicBlock","x":1924,"y":726,"width":50,"height":450},{"type":"basicBlock","x":1725,"y":673,"width":50,"height":350},{"type":"solarBlock","x":1749,"y":898,"width":100,"height":100},{"type":"lightSwitch","x":1775,"y":809},{"type":"checkpoint","x":1874,"y":914},{"type":"portal","x":1317,"y":205},{"type":"portal","x":1781,"y":553},{"type":"portal","x":1191,"y":908},{"type":"portal","x":-181,"y":-336},{"type":"bouncingBuzzsaw","x":1627,"y":574,"width":50},{"type":"bouncingBuzzsaw","x":1576,"y":448,"width":50},{"type":"bouncingBuzzsaw","x":1517,"y":525,"width":50},{"type":"bouncingBuzzsaw","x":1473,"y":477,"width":50},{"type":"bouncingBuzzsaw","x":1425,"y":626,"width":50},{"type":"bouncingBuzzsaw","x":1375,"y":524,"width":50},{"type":"bouncingBuzzsaw","x":1675,"y":475,"width":50},{"type":"key","x":-49,"y":-300},{"type":"circularCannon","x":160,"y":809},{"type":"circularCannon","x":154,"y":1010},{"type":"circularCannon","x":-158,"y":1017},{"type":"circularCannon","x":-432,"y":1017},{"type":"circularCannon","x":-707,"y":1290},{"type":"key","x":-896,"y":1248},{"type":"circularCannon","x":-1083,"y":1307},{"type":"circularCannon","x":-1073,"y":1020},{"type":"circularCannon","x":-1076,"y":732},{"type":"circularCannon","x":-804,"y":465},{"type":"circularCannon","x":-546,"y":457},{"type":"circularCannon","x":-241,"y":450},{"type":"textFade","x":464,"y":499,"rotation":0,"textNum":32},{"type":"textFade","x":474,"y":327,"rotation":0,"textNum":31},{"type":"basicBlock","x":-149,"y":-428,"width":300,"height":50},{"type":"basicBlock","x":-274,"y":-348,"width":50,"height":200},{"type":"basicBlock","x":-126,"y":1,"width":50,"height":600},{"type":"basicBlock","x":-199,"y":-274,"width":100,"height":50},{"type":"glassBlock","x":-51,"y":-200,"width":100,"height":100},{"type":"glassBlock","x":-50,"y":-49,"width":100,"height":100},{"type":"glassBlock","x":-50,"y":100,"width":100,"height":100},{"type":"glassBlock","x":-51,"y":248,"width":100,"height":100},{"type":"pole","x":-49,"y":377},{"type":"spike30x","x":-97,"y":-462,"rotation":0},{"type":"spike30x","x":-151,"y":-461,"rotation":0},{"type":"blockSpike","x":1478,"y":999,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":1799,"y":649,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":0,"downEnable":0,"leftEnable":0,"rightEnable":1},{"type":"blockSpike","x":1100,"y":500,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":471,"y":429}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level07hard.json b/gs/html5/vex5/assets/balance/levels/level07hard.json
new file mode 100644
index 0000000..6dfa722
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level07hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":549,"y":499,"width":400,"height":99},{"type":"lockBlock","x":700,"y":400,"width":100,"height":100},{"type":"lockBlock","x":800,"y":600,"width":100,"height":100},{"type":"lockBlock","x":600,"y":599,"width":100,"height":100},{"type":"lockBlock","x":800,"y":501,"width":100,"height":100},{"type":"lockBlock","x":999,"y":600,"width":100,"height":100},{"type":"basicBlock","x":1050,"y":500,"width":400,"height":99},{"type":"basicBlock","x":700,"y":-50,"width":99,"height":800},{"type":"basicBlock","x":799,"y":700,"width":900,"height":99},{"type":"star","x":1158,"y":612},{"type":"finishPortal","x":469,"y":609},{"type":"basicBlock","x":300,"y":799,"width":99,"height":700},{"type":"basicBlock","x":1298,"y":600,"width":99,"height":300},{"type":"basicBlock","x":1100,"y":124,"width":500,"height":50},{"type":"bounceBlock","x":276,"y":423,"width":50,"height":50},{"type":"speedBlock","x":500,"y":149,"width":300,"height":100},{"type":"verticalUpBlock","x":425,"y":-74,"width":50,"height":50},{"type":"spike30x","x":643,"y":-47,"rotation":-90},{"type":"spike30x","x":643,"y":-295,"rotation":-90},{"type":"speedBlock","x":501,"y":-300,"width":300,"height":100},{"type":"glassBlock","x":99,"y":-199,"width":100,"height":100},{"type":"glassBlock","x":99,"y":-51,"width":100,"height":100},{"type":"glassBlock","x":99,"y":99,"width":100,"height":100},{"type":"glassBlock","x":100,"y":246,"width":100,"height":100},{"type":"pole","x":101,"y":375},{"type":"basicBlock","x":25,"y":-78,"width":50,"height":750},{"type":"key","x":572,"y":-380},{"type":"spike10x","x":701,"y":-459,"rotation":0},{"type":"pole","x":324,"y":-126},{"type":"pole","x":225,"y":-173},{"type":"basicBlock","x":174,"y":-25,"width":50,"height":650},{"type":"pole","x":323,"y":-225},{"type":"pole","x":224,"y":-273},{"type":"checkpoint","x":888,"y":424},{"type":"elevatorEliminatorUp","x":799,"y":-621},{"type":"rope","x":801,"y":-96,"height":999.9999999999999},{"type":"bounceBlock","x":800,"y":635,"width":50,"height":30},{"type":"basicBlock","x":1100,"y":-250,"width":500,"height":99},{"type":"buzzsaw","x":798,"y":-503,"width":101},{"type":"buzzsawOnStick","x":1098,"y":-242,"rotation":704},{"type":"appearingBlock","x":1425,"y":-277,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1526,"y":-276,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1725,"y":-277,"width":50,"height":50,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1628,"y":-275,"width":50,"height":50,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"elevatorGeneratorDown","x":1879,"y":-569},{"type":"elevatorEliminatorDown","x":1874,"y":471},{"type":"key","x":1722,"y":-339},{"type":"bouncingBuzzsaw","x":1018,"y":-502,"width":101},{"type":"checkpoint","x":910,"y":-328},{"type":"bouncingBuzzsaw","x":1245,"y":-505,"width":101},{"type":"pole","x":1677,"y":377},{"type":"pole","x":1567,"y":328},{"type":"pole","x":1373,"y":331},{"type":"portal","x":1127,"y":-45},{"type":"portal","x":1007,"y":864},{"type":"fallingSpike","x":508,"y":758,"rotation":-10800},{"type":"fallingSpike","x":522,"y":758,"rotation":-10800},{"type":"fallingSpike","x":536,"y":758,"rotation":-10800},{"type":"fallingSpike","x":552,"y":758,"rotation":-10800},{"type":"fallingSpike","x":567,"y":758,"rotation":-10800},{"type":"fallingSpike","x":582,"y":758,"rotation":-10800},{"type":"fallingSpike","x":597,"y":758,"rotation":-10800},{"type":"fallingSpike","x":611,"y":758,"rotation":-10800},{"type":"fallingSpike","x":626,"y":758,"rotation":-10800},{"type":"fallingSpike","x":644,"y":758,"rotation":-10800},{"type":"fallingSpike","x":660,"y":758,"rotation":-10800},{"type":"fallingSpike","x":675,"y":758,"rotation":-10800},{"type":"fallingSpike","x":691,"y":758,"rotation":-10800},{"type":"fallingSpike","x":709,"y":758,"rotation":-10800},{"type":"fallingSpike","x":725,"y":757,"rotation":-10800},{"type":"fallingSpike","x":742,"y":757,"rotation":-10800},{"type":"rope","x":550,"y":897,"height":300},{"type":"rope","x":649,"y":900,"height":300},{"type":"rope","x":750,"y":901,"height":300},{"type":"fallingSpike","x":759,"y":757,"rotation":-10800},{"type":"fallingSpike","x":774,"y":758,"rotation":-10800},{"type":"fallingSpike","x":787,"y":758,"rotation":-10800},{"type":"basicBlock","x":399,"y":1100,"width":99,"height":99},{"type":"portal","x":410,"y":1001},{"type":"portal","x":1328,"y":65},{"type":"key","x":903,"y":865},{"type":"basicBlock","x":899,"y":952,"width":99,"height":99},{"type":"fallingSpike","x":801,"y":758,"rotation":-10800},{"type":"fallingSpike","x":814,"y":758,"rotation":-10800},{"type":"fallingSpike","x":827,"y":758,"rotation":-10800},{"type":"fallingSpike","x":842,"y":758,"rotation":-10800},{"type":"laserPoint","x":1337,"y":478},{"type":"laserPoint","x":1824,"y":473},{"type":"basicBlock","x":1102,"y":898,"width":99,"height":300},{"type":"fallingSpike","x":856,"y":758,"rotation":-10800},{"type":"fallingSpike","x":873,"y":758,"rotation":-10800},{"type":"fallingSpike","x":890,"y":758,"rotation":-10800},{"type":"fallingSpike","x":906,"y":758,"rotation":-10800},{"type":"fallingSpike","x":921,"y":758,"rotation":-10800},{"type":"fallingSpike","x":938,"y":758,"rotation":-10800},{"type":"fallingSpike","x":953,"y":758,"rotation":-10800},{"type":"basicBlock","x":1102,"y":275,"width":500,"height":50},{"type":"basicBlock","x":1799,"y":650,"width":99,"height":99},{"type":"basicBlock","x":1550,"y":999,"width":800,"height":99},{"type":"basicBlock","x":1924,"y":726,"width":50,"height":450},{"type":"basicBlock","x":1725,"y":673,"width":50,"height":350},{"type":"solarBlock","x":1749,"y":898,"width":100,"height":100},{"type":"lightSwitch","x":1775,"y":809},{"type":"checkpoint","x":1874,"y":914},{"type":"portal","x":1317,"y":205},{"type":"portal","x":1781,"y":553},{"type":"portal","x":1191,"y":908},{"type":"portal","x":-181,"y":-336},{"type":"bouncingBuzzsaw","x":1627,"y":574,"width":50},{"type":"bouncingBuzzsaw","x":1576,"y":448,"width":50},{"type":"bouncingBuzzsaw","x":1517,"y":525,"width":50},{"type":"bouncingBuzzsaw","x":1473,"y":477,"width":50},{"type":"bouncingBuzzsaw","x":1425,"y":626,"width":50},{"type":"bouncingBuzzsaw","x":1375,"y":524,"width":50},{"type":"bouncingBuzzsaw","x":1675,"y":475,"width":50},{"type":"key","x":-49,"y":-300},{"type":"circularCannon","x":160,"y":809},{"type":"circularCannon","x":154,"y":1010},{"type":"circularCannon","x":-158,"y":1017},{"type":"circularCannon","x":-432,"y":1017},{"type":"circularCannon","x":-707,"y":1290},{"type":"key","x":-896,"y":1248},{"type":"circularCannon","x":-1083,"y":1307},{"type":"circularCannon","x":-1073,"y":1020},{"type":"circularCannon","x":-1076,"y":732},{"type":"circularCannon","x":-804,"y":465},{"type":"circularCannon","x":-546,"y":457},{"type":"circularCannon","x":-241,"y":450},{"type":"textFade","x":464,"y":499,"rotation":0,"textNum":32},{"type":"textFade","x":474,"y":327,"rotation":0,"textNum":31},{"type":"basicBlock","x":-149,"y":-428,"width":300,"height":50},{"type":"basicBlock","x":-274,"y":-348,"width":50,"height":200},{"type":"basicBlock","x":-126,"y":1,"width":50,"height":600},{"type":"basicBlock","x":-199,"y":-274,"width":100,"height":50},{"type":"glassBlock","x":-51,"y":-200,"width":100,"height":100},{"type":"glassBlock","x":-50,"y":-49,"width":100,"height":100},{"type":"glassBlock","x":-50,"y":100,"width":100,"height":100},{"type":"glassBlock","x":-51,"y":248,"width":100,"height":100},{"type":"pole","x":-49,"y":377},{"type":"spike30x","x":-97,"y":-462,"rotation":0},{"type":"spike30x","x":-151,"y":-461,"rotation":0},{"type":"bouncingBuzzsaw","x":526,"y":-77,"width":50},{"type":"bouncingBuzzsaw","x":575,"y":-126,"width":50},{"type":"bouncingBuzzsaw","x":975,"y":174,"width":50},{"type":"bouncingBuzzsaw","x":1075,"y":172,"width":50},{"type":"bouncingBuzzsaw","x":1175,"y":172,"width":50},{"type":"bouncingBuzzsaw","x":975,"y":-3,"width":50},{"type":"bouncingBuzzsaw","x":1025,"y":-44,"width":50},{"type":"bouncingBuzzsaw","x":926,"y":-41,"width":50},{"type":"bouncingBuzzsaw","x":877,"y":-76,"width":50},{"type":"buzzsawOnStick","x":456,"y":-320,"rotation":176},{"type":"buzzsawHorizontalFast","x":25,"y":-198},{"type":"buzzsawHorizontalFast","x":-128,"y":-50},{"type":"buzzsawHorizontalFast","x":174,"y":-50},{"type":"buzzsawHorizontalFast","x":23,"y":100},{"type":"buzzsawHorizontalFast","x":-124,"y":248},{"type":"buzzsawHorizontalFast","x":171,"y":246},{"type":"buzzsawOnStick","x":1146,"y":500,"rotation":176},{"type":"buzzsawOnStick","x":1571,"y":999,"rotation":176},{"type":"buzzsawOnStick","x":1996,"y":-206,"rotation":176},{"type":"buzzsawOnStick","x":2023,"y":102,"rotation":176},{"type":"shurikanDispenser","x":32,"y":1163},{"type":"shurikanDispenser","x":-582,"y":1140},{"type":"shurikanDispenser","x":-1248,"y":880},{"type":"buzzsawOnStick","x":170,"y":812,"rotation":160},{"type":"buzzsawOnStick","x":908,"y":957,"rotation":160},{"type":"buzzsawOnStick","x":646,"y":805,"rotation":160},{"type":"buzzsawOnStick","x":1331,"y":994,"rotation":176},{"type":"classicLaser","x":1567,"y":-434},{"type":"blockSpike","x":1134,"y":500,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":1332,"y":999,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":1799,"y":650,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":0,"downEnable":0,"leftEnable":0,"rightEnable":1},{"type":"spawnPoint","x":454,"y":428}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level08.json b/gs/html5/vex5/assets/balance/levels/level08.json
new file mode 100644
index 0000000..5e89667
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level08.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":350,"y":600,"width":400,"height":99},{"type":"basicBlock","x":451,"y":800,"width":400,"height":99},{"type":"basicBlock","x":700,"y":749,"width":99,"height":1000},{"type":"basicBlock","x":349,"y":998,"width":400,"height":99},{"type":"timedKey","x":524,"y":477},{"type":"lockBlock","x":503,"y":898,"width":100,"height":100},{"type":"buzzsawOnStick","x":316,"y":803,"rotation":376},{"type":"basicBlock","x":101,"y":647,"width":99,"height":800},{"type":"invisBlock","x":224,"y":275,"width":50,"height":50},{"type":"invisBlock","x":325,"y":276,"width":50,"height":50},{"type":"invisBlock","x":425,"y":276,"width":50,"height":50},{"type":"invisBlock","x":525,"y":276,"width":50,"height":50},{"type":"basicBlock","x":540,"y":1199,"width":380,"height":99},{"type":"checkpoint","x":606,"y":1115},{"type":"invisBlock","x":325,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":275,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":225,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":175,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":125,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":75,"y":1175,"width":50,"height":50},{"type":"rope","x":2,"y":768,"height":700},{"type":"basicBlock","x":-99,"y":796,"width":99,"height":500},{"type":"basicBlock","x":-198,"y":347,"width":500,"height":200},{"type":"spike10x","x":3,"y":456,"rotation":-180},{"type":"buzzsawOnStick","x":-70,"y":705,"rotation":344},{"type":"buzzsawOnStick","x":-73,"y":937,"rotation":344},{"type":"basicBlock","x":-298,"y":596,"width":300,"height":99},{"type":"checkpoint","x":-205,"y":516},{"type":"solarBlock","x":-349,"y":498,"width":100,"height":100},{"type":"invisBlock","x":-526,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-624,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-724,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-826,"y":574,"width":50,"height":50},{"type":"lightSwitch","x":-275,"y":476},{"type":"timedKey","x":-427,"y":502},{"type":"basicBlock","x":-1149,"y":597,"width":300,"height":99},{"type":"basicBlock","x":-1144,"y":399,"width":300,"height":99},{"type":"lockBlock","x":-1044,"y":498,"width":100,"height":100},{"type":"invisBlock","x":-926,"y":575,"width":50,"height":50},{"type":"elevatorEliminatorUp","x":-1373,"y":178},{"type":"elevatorGeneratorUp","x":-1375,"y":677},{"type":"checkpoint","x":-1226,"y":320},{"type":"bouncingBuzzsaw","x":-723,"y":374,"width":50},{"type":"sparkBlock","x":-898,"y":299,"width":100,"height":100},{"type":"sparkBlock","x":-801,"y":200,"width":100,"height":100},{"type":"sparkBlock","x":-951,"y":100,"width":100,"height":100},{"type":"star","x":-776,"y":-126},{"type":"portal","x":-1372,"y":103},{"type":"portal","x":-122,"y":134},{"type":"invisBlock","x":-424,"y":222,"width":50,"height":50},{"type":"invisBlock","x":-324,"y":174,"width":50,"height":50},{"type":"invisBlock","x":-374,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-274,"y":174,"width":50,"height":50},{"type":"invisBlock","x":-275,"y":124,"width":50,"height":50},{"type":"invisBlock","x":-276,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":25,"width":50,"height":50},{"type":"invisBlock","x":-323,"y":-26,"width":50,"height":50},{"type":"invisBlock","x":-373,"y":-25,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":172,"width":50,"height":50},{"type":"invisBlock","x":-226,"y":25,"width":50,"height":50},{"type":"invisBlock","x":-226,"y":-24,"width":50,"height":50},{"type":"invisBlock","x":-225,"y":-74,"width":50,"height":50},{"type":"invisBlock","x":-776,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-526,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-527,"y":-125,"width":50,"height":50},{"type":"invisBlock","x":-374,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-476,"y":-75,"width":50,"height":50},{"type":"appearingBlock","x":-676,"y":-26,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"solarBlock","x":801,"y":298,"width":100,"height":100},{"type":"basicBlock","x":900,"y":550,"width":99,"height":1000},{"type":"glassBlock","x":800,"y":501.0459587955626,"width":102,"height":100,"rotation":0},{"type":"glassBlock","x":800,"y":699.8415213946117,"width":102,"height":100,"rotation":0},{"type":"glassBlock","x":800,"y":900.6656101426308,"width":102,"height":100,"rotation":0},{"type":"glassBlock","x":801,"y":1100,"width":102,"height":100},{"type":"checkpoint","x":700,"y":212},{"type":"lightSwitch","x":801,"y":175},{"type":"timedKey","x":804,"y":400},{"type":"buzzsawHorizontalFast","x":813,"y":503},{"type":"buzzsawHorizontalFast","x":812,"y":701},{"type":"glassBlock","x":801,"y":1199,"width":100,"height":100},{"type":"basicBlock","x":1042,"y":1199,"width":380,"height":99},{"type":"lockBlock","x":901,"y":1100,"width":100,"height":100},{"type":"elevatorEliminatorUp","x":1029,"y":-71},{"type":"finishPortal","x":1023,"y":-130},{"type":"elevatorGeneratorUp","x":1023,"y":825},{"type":"checkpoint","x":1022,"y":1118},{"type":"appearingBlock","x":1276,"y":1122,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1376,"y":1074,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1354,"y":973,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1478,"y":1023,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1277,"y":925,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"rope","x":1219,"y":301,"height":1200},{"type":"elevatorEliminatorUp","x":1219,"y":-320},{"type":"buzzsaw","x":1218,"y":460,"width":101},{"type":"buzzsaw","x":1217,"y":362,"width":101},{"type":"buzzsaw","x":1217,"y":262,"width":101},{"type":"buzzsawOnStick","x":1109,"y":355,"rotation":152},{"type":"buzzsawOnStick","x":1209,"y":-314,"rotation":152},{"type":"checkpoint","x":-27,"y":204},{"type":"bouncingBuzzsaw","x":326,"y":25,"width":50},{"type":"bouncingBuzzsaw","x":525,"y":-78,"width":50},{"type":"textFade","x":406,"y":428,"rotation":0,"textNum":40},{"type":"textFade","x":478,"y":1180,"rotation":0,"textNum":39},{"type":"textFade","x":394,"y":484,"rotation":0,"textNum":5},{"type":"textFade","x":467,"y":1074,"rotation":-180,"textNum":5},{"type":"textFade","x":-30,"y":1108,"rotation":-90,"textNum":5},{"type":"textFade","x":-524,"y":480,"rotation":-180,"textNum":5},{"type":"textFade","x":-1338,"y":488,"rotation":-90,"textNum":5},{"type":"textFade","x":-1304,"y":262,"rotation":0,"textNum":5},{"type":"textFade","x":-1006,"y":267,"rotation":-45,"textNum":5},{"type":"textFade","x":-832,"y":83,"rotation":-135,"textNum":5},{"type":"textFade","x":-1055,"y":-2,"rotation":-180,"textNum":5},{"type":"textFade","x":-23,"y":149,"rotation":0,"textNum":5},{"type":"textFade","x":279,"y":177,"rotation":0,"textNum":5},{"type":"textFade","x":762,"y":147,"rotation":90,"textNum":5},{"type":"textFade","x":1206,"y":1074,"rotation":-90,"textNum":5},{"type":"textFade","x":987,"y":606,"rotation":-90,"textNum":5},{"type":"textFade","x":1077,"y":119,"rotation":-45,"textNum":5},{"type":"textFade","x":1166,"y":-54,"rotation":-135,"textNum":5},{"type":"blockSpike","x":-1151,"y":100,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"spawnPoint","x":269,"y":540}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level08hard.json b/gs/html5/vex5/assets/balance/levels/level08hard.json
new file mode 100644
index 0000000..cebfb6b
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level08hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":350,"y":600,"width":400,"height":99},{"type":"basicBlock","x":451,"y":800,"width":400,"height":99},{"type":"basicBlock","x":700,"y":749,"width":99,"height":1000},{"type":"basicBlock","x":349,"y":998,"width":400,"height":99},{"type":"timedKey","x":524,"y":477},{"type":"lockBlock","x":503,"y":898,"width":100,"height":100},{"type":"buzzsawOnStick","x":316,"y":803,"rotation":448},{"type":"basicBlock","x":101,"y":647,"width":99,"height":800},{"type":"invisBlock","x":224,"y":275,"width":50,"height":50},{"type":"invisBlock","x":325,"y":276,"width":50,"height":50},{"type":"invisBlock","x":425,"y":276,"width":50,"height":50},{"type":"invisBlock","x":525,"y":276,"width":50,"height":50},{"type":"basicBlock","x":540,"y":1199,"width":380,"height":99},{"type":"checkpoint","x":606,"y":1115},{"type":"invisBlock","x":325,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":275,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":225,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":175,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":125,"y":1175,"width":50,"height":50},{"type":"invisBlock","x":75,"y":1175,"width":50,"height":50},{"type":"rope","x":2,"y":768,"height":700},{"type":"basicBlock","x":-99,"y":796,"width":99,"height":500},{"type":"basicBlock","x":-198,"y":347,"width":500,"height":200},{"type":"spike10x","x":3,"y":456,"rotation":-180},{"type":"buzzsawOnStick","x":-70,"y":705,"rotation":416},{"type":"buzzsawOnStick","x":-73,"y":937,"rotation":416},{"type":"basicBlock","x":-298,"y":596,"width":300,"height":99},{"type":"checkpoint","x":-205,"y":516},{"type":"solarBlock","x":-349,"y":498,"width":100,"height":100},{"type":"invisBlock","x":-526,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-624,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-724,"y":575,"width":50,"height":50},{"type":"invisBlock","x":-826,"y":574,"width":50,"height":50},{"type":"lightSwitch","x":-275,"y":476},{"type":"timedKey","x":-427,"y":502},{"type":"basicBlock","x":-1149,"y":597,"width":300,"height":99},{"type":"basicBlock","x":-1144,"y":399,"width":300,"height":99},{"type":"lockBlock","x":-1044,"y":498,"width":100,"height":100},{"type":"invisBlock","x":-926,"y":575,"width":50,"height":50},{"type":"elevatorEliminatorUp","x":-1373,"y":178},{"type":"elevatorGeneratorUp","x":-1375,"y":677},{"type":"checkpoint","x":-1226,"y":320},{"type":"bouncingBuzzsaw","x":-723,"y":374,"width":50},{"type":"sparkBlock","x":-898,"y":299,"width":100,"height":100},{"type":"sparkBlock","x":-801,"y":200,"width":100,"height":100},{"type":"sparkBlock","x":-951,"y":100,"width":100,"height":100},{"type":"star","x":-776,"y":-126},{"type":"sparkBlock","x":-1151,"y":101,"width":100,"height":100},{"type":"portal","x":-1372,"y":103},{"type":"portal","x":-122,"y":134},{"type":"invisBlock","x":-424,"y":222,"width":50,"height":50},{"type":"invisBlock","x":-324,"y":174,"width":50,"height":50},{"type":"invisBlock","x":-374,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-274,"y":174,"width":50,"height":50},{"type":"invisBlock","x":-275,"y":124,"width":50,"height":50},{"type":"invisBlock","x":-276,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":75,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":25,"width":50,"height":50},{"type":"invisBlock","x":-323,"y":-26,"width":50,"height":50},{"type":"invisBlock","x":-373,"y":-25,"width":50,"height":50},{"type":"invisBlock","x":-424,"y":172,"width":50,"height":50},{"type":"invisBlock","x":-226,"y":25,"width":50,"height":50},{"type":"invisBlock","x":-226,"y":-24,"width":50,"height":50},{"type":"invisBlock","x":-225,"y":-74,"width":50,"height":50},{"type":"invisBlock","x":-776,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-526,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-527,"y":-125,"width":50,"height":50},{"type":"invisBlock","x":-374,"y":-75,"width":50,"height":50},{"type":"invisBlock","x":-476,"y":-75,"width":50,"height":50},{"type":"appearingBlock","x":-676,"y":-26,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"solarBlock","x":801,"y":298,"width":100,"height":100},{"type":"basicBlock","x":900,"y":550,"width":99,"height":1000},{"type":"glassBlock","x":800,"y":502,"width":103,"height":102,"rotation":-90},{"type":"glassBlock","x":800,"y":701,"width":102,"height":103,"rotation":-90},{"type":"glassBlock","x":800,"y":899.8726114649683,"width":102,"height":100,"rotation":-90},{"type":"glassBlock","x":800,"y":1099.6178343949045,"width":102,"height":100,"rotation":-90},{"type":"checkpoint","x":700,"y":212},{"type":"lightSwitch","x":801,"y":175},{"type":"timedKey","x":804,"y":400},{"type":"buzzsawHorizontalFast","x":813,"y":503},{"type":"buzzsawHorizontalFast","x":812,"y":701},{"type":"glassBlock","x":801,"y":1199.4904458598726,"width":103,"height":100,"rotation":-90},{"type":"basicBlock","x":1042,"y":1199,"width":380,"height":99},{"type":"lockBlock","x":901,"y":1100,"width":100,"height":100},{"type":"elevatorEliminatorUp","x":1029,"y":-71},{"type":"finishPortal","x":1023,"y":-130},{"type":"elevatorGeneratorUp","x":1023,"y":825},{"type":"checkpoint","x":1022,"y":1118},{"type":"appearingBlock","x":1276,"y":1122,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1376,"y":1074,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1354,"y":973,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1277,"y":925,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"rope","x":1219,"y":301,"height":1200},{"type":"elevatorEliminatorUp","x":1219,"y":-320},{"type":"buzzsaw","x":1218,"y":460,"width":101},{"type":"buzzsaw","x":1217,"y":362,"width":101},{"type":"buzzsaw","x":1217,"y":262,"width":101},{"type":"buzzsawOnStick","x":1109,"y":355,"rotation":224},{"type":"buzzsawOnStick","x":1209,"y":-314,"rotation":224},{"type":"checkpoint","x":-27,"y":204},{"type":"bouncingBuzzsaw","x":326,"y":25,"width":50},{"type":"bouncingBuzzsaw","x":525,"y":-78,"width":50},{"type":"textFade","x":406,"y":428,"rotation":0,"textNum":40},{"type":"textFade","x":478,"y":1180,"rotation":0,"textNum":39},{"type":"textFade","x":394,"y":484,"rotation":0,"textNum":5},{"type":"textFade","x":467,"y":1074,"rotation":-180,"textNum":5},{"type":"textFade","x":-30,"y":1108,"rotation":-90,"textNum":5},{"type":"textFade","x":-524,"y":480,"rotation":-180,"textNum":5},{"type":"textFade","x":-1338,"y":488,"rotation":-90,"textNum":5},{"type":"textFade","x":-1304,"y":262,"rotation":0,"textNum":5},{"type":"textFade","x":-1006,"y":267,"rotation":-45,"textNum":5},{"type":"textFade","x":-832,"y":83,"rotation":-135,"textNum":5},{"type":"textFade","x":-1055,"y":-2,"rotation":-180,"textNum":5},{"type":"textFade","x":-23,"y":149,"rotation":0,"textNum":5},{"type":"textFade","x":279,"y":177,"rotation":0,"textNum":5},{"type":"textFade","x":762,"y":147,"rotation":90,"textNum":5},{"type":"textFade","x":1206,"y":1074,"rotation":-90,"textNum":5},{"type":"textFade","x":994.6496815286624,"y":606.3694267515924,"rotation":-90,"textNum":5},{"type":"textFade","x":1077,"y":119,"rotation":-45,"textNum":5},{"type":"textFade","x":1166,"y":-54,"rotation":-135,"textNum":5},{"type":"buzzsawOnStick","x":700,"y":601,"rotation":448},{"type":"buzzsawOnStick","x":1076,"y":129,"rotation":224},{"type":"buzzsawOnStick","x":1276,"y":-73,"rotation":224},{"type":"buzzsawOnStick","x":1268,"y":705,"rotation":224},{"type":"bouncingBuzzsaw","x":1123,"y":924,"width":50},{"type":"buzzsawOnStick","x":295,"y":995,"rotation":448},{"type":"bouncingBuzzsaw","x":125,"y":1076,"width":50},{"type":"bouncingBuzzsaw","x":229,"y":1075,"width":50},{"type":"bouncingBuzzsaw","x":-123,"y":476,"width":50},{"type":"bouncingBuzzsaw","x":-625,"y":174,"width":50},{"type":"bouncingBuzzsaw","x":-527,"y":23,"width":50},{"type":"bouncingBuzzsaw","x":-925,"y":425,"width":50},{"type":"buzzsawOnStick","x":-1264,"y":588,"rotation":72},{"type":"buzzsawOnStick","x":-1148,"y":106,"rotation":72},{"type":"buzzsawOnStick","x":-801,"y":199,"rotation":72},{"type":"bouncingBuzzsaw","x":225,"y":-275,"width":50},{"type":"bouncingBuzzsaw","x":427,"y":-175,"width":50},{"type":"blockSpike","x":299,"y":799,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":1,"rightEnable":0},{"type":"blockSpike","x":1530,"y":1045,"spikeUp":1,"timeUp":50,"timeDown":50,"upEnable":1,"downEnable":1,"leftEnable":1,"rightEnable":1},{"type":"spawnPoint","x":223,"y":528}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level09.json b/gs/html5/vex5/assets/balance/levels/level09.json
new file mode 100644
index 0000000..5eb1929
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level09.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":299,"y":550,"width":200,"height":99},{"type":"swimmingPool","x":250,"y":750,"width":500,"height":300},{"type":"basicBlock","x":151,"y":449,"width":100,"height":300},{"type":"basicBlock","x":-49,"y":850,"width":99,"height":700},{"type":"basicBlock","x":549,"y":599,"width":99,"height":800},{"type":"basicBlock","x":250,"y":949,"width":500,"height":99},{"type":"reaper","x":244,"y":749,"rotation":0,"width":187.57894736842104},{"type":"buzzsaw","x":243,"y":748,"width":101},{"type":"bouncingBuzzsaw","x":46,"y":-49,"width":101},{"type":"basicBlock","x":-197,"y":550,"width":200,"height":99},{"type":"checkpoint","x":-117,"y":467},{"type":"pushBlock","x":-230,"y":450,"width":101,"height":100},{"type":"basicBlock","x":-374,"y":750,"width":150,"height":99},{"type":"basicBlock","x":-498,"y":300,"width":99,"height":1000},{"type":"star","x":150,"y":273},{"type":"iceBlock","x":-597,"y":1053,"width":1000,"height":100},{"type":"basicBlock","x":-598,"y":1150,"width":1000,"height":99},{"type":"spike30x","x":-951,"y":1093,"rotation":0},{"type":"spike30x","x":-660,"y":1092,"rotation":0},{"type":"spike30x","x":-368,"y":1094,"rotation":0},{"type":"spike30x","x":-153,"y":1093,"rotation":0},{"type":"portal","x":-1050,"y":857},{"type":"buzzsaw","x":-473,"y":1007,"width":101},{"type":"buzzsaw","x":-574,"y":1006,"width":101},{"type":"buzzsaw","x":-673,"y":1006,"width":101},{"type":"bouncingBuzzsaw","x":-602,"y":648,"width":101},{"type":"bouncingBuzzsaw","x":-803,"y":655,"width":101},{"type":"portal","x":-573,"y":55},{"type":"ziplinePole","x":-473,"y":-224},{"type":"ziplinePole","x":560,"y":166},{"type":"basicBlock","x":-847,"y":-150,"width":600,"height":99},{"type":"basicBlock","x":-847,"y":201,"width":600,"height":99},{"type":"checkpoint","x":-629,"y":122},{"type":"reaper","x":-888,"y":24,"rotation":0,"width":202.46616541353382},{"type":"rope","x":-1227,"y":-199,"height":700},{"type":"elevatorEliminatorUp","x":-1226,"y":-523},{"type":"buzzsawOnStick","x":-1122,"y":-148,"rotation":232},{"type":"reaper","x":-927,"y":-342,"rotation":0,"width":202.46616541353382},{"type":"bouncingBuzzsaw","x":-727,"y":-363,"width":101},{"type":"bouncingBuzzsaw","x":47,"y":49,"width":101},{"type":"checkpoint","x":-514,"y":-228},{"type":"basicBlock","x":991,"y":249,"width":800,"height":99},{"type":"enlargingBuzzsaw","x":353,"y":63,"width":101},{"type":"classicLaser","x":726,"y":24},{"type":"classicLaser","x":825,"y":24},{"type":"classicLaser","x":928,"y":24},{"type":"classicLaser","x":1027,"y":24},{"type":"classicLaser","x":1130,"y":22},{"type":"appearingBlock","x":724,"y":90,"width":50,"height":20,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":925,"y":91,"width":50,"height":20,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1126,"y":90,"width":50,"height":20,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1325,"y":90,"width":50,"height":20,"initVisible":1,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":825,"y":90,"width":50,"height":20,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1026,"y":90,"width":50,"height":20,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"appearingBlock","x":1226,"y":90,"width":50,"height":20,"initVisible":0,"timeShow":40,"timeHide":40},{"type":"classicLaser","x":1228,"y":25},{"type":"classicLaser","x":1327,"y":25},{"type":"buzzsaw","x":870,"y":220,"width":101},{"type":"buzzsaw","x":1078,"y":221,"width":101},{"type":"buzzsaw","x":1269,"y":217,"width":101},{"type":"basicBlock","x":1453,"y":452,"width":300,"height":99},{"type":"checkpoint","x":1470,"y":367},{"type":"finishPortal","x":624,"y":734},{"type":"fallingSpike","x":1383,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1368,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1353,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1337,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1323,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1307,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1290,"y":308,"rotation":-2880},{"type":"fallingSpike","x":1275,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1259,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1242,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1226,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1211,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1196,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1180,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1165,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1149,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1134,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1118,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1102,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1086,"y":307,"rotation":-2880},{"type":"fallingSpike","x":1068,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1053,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1038,"y":306,"rotation":-2880},{"type":"fallingSpike","x":1020,"y":305,"rotation":-2880},{"type":"fallingSpike","x":1003,"y":306,"rotation":-2880},{"type":"fallingSpike","x":987,"y":307,"rotation":-2880},{"type":"fallingSpike","x":971,"y":307,"rotation":-2880},{"type":"fallingSpike","x":956,"y":306,"rotation":-2880},{"type":"fallingSpike","x":937,"y":307,"rotation":-2880},{"type":"fallingSpike","x":920,"y":306,"rotation":-2880},{"type":"fallingSpike","x":903,"y":307,"rotation":-2880},{"type":"fallingSpike","x":889,"y":306,"rotation":-2880},{"type":"fallingSpike","x":872,"y":307,"rotation":-2880},{"type":"fallingSpike","x":859,"y":306,"rotation":-2880},{"type":"fallingSpike","x":843,"y":306,"rotation":-2880},{"type":"fallingSpike","x":828,"y":307,"rotation":-2880},{"type":"fallingSpike","x":813,"y":307,"rotation":-2880},{"type":"fallingSpike","x":798,"y":306,"rotation":-2880},{"type":"fallingSpike","x":783,"y":307,"rotation":-2880},{"type":"fallingSpike","x":766,"y":307,"rotation":-2880},{"type":"fallingSpike","x":752,"y":307,"rotation":-2880},{"type":"fallingSpike","x":738,"y":307,"rotation":-2880},{"type":"fallingSpike","x":723,"y":307,"rotation":-2880},{"type":"fallingSpike","x":709,"y":307,"rotation":-2880},{"type":"basicBlock","x":1553,"y":203,"width":99,"height":400},{"type":"pole","x":1226,"y":428},{"type":"pole","x":1076,"y":431},{"type":"pole","x":920,"y":430},{"type":"rope","x":769,"y":575,"height":600},{"type":"buzzsaw","x":640,"y":631,"width":101},{"type":"textFade","x":584,"y":87,"rotation":0,"textNum":5},{"type":"textFade","x":445,"y":467,"rotation":90,"textNum":5},{"type":"textFade","x":20,"y":452,"rotation":-180,"textNum":5},{"type":"textFade","x":-243,"y":676,"rotation":90,"textNum":5},{"type":"textFade","x":-246,"y":900,"rotation":-180,"textNum":5},{"type":"textFade","x":-765,"y":865,"rotation":-180,"textNum":5},{"type":"textFade","x":-710,"y":10,"rotation":-180,"textNum":5},{"type":"textFade","x":-1181,"y":51,"rotation":-90,"textNum":5},{"type":"textFade","x":-1141,"y":-293,"rotation":0,"textNum":5},{"type":"textFade","x":-468,"y":-309,"rotation":25,"textNum":5},{"type":"textFade","x":1444,"y":155,"rotation":90,"textNum":5},{"type":"textFade","x":1348,"y":365,"rotation":-180,"textNum":5},{"type":"textFade","x":813,"y":429,"rotation":90,"textNum":5},{"type":"spawnPoint","x":279,"y":484}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level09hard.json b/gs/html5/vex5/assets/balance/levels/level09hard.json
new file mode 100644
index 0000000..af2ed09
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level09hard.json
@@ -0,0 +1 @@
+[{"type":"basicBlock","x":299,"y":550,"width":200,"height":99},{"type":"swimmingPool","x":250,"y":750,"width":500,"height":300},{"type":"basicBlock","x":151,"y":449,"width":100,"height":300},{"type":"basicBlock","x":-49,"y":850,"width":99,"height":700},{"type":"basicBlock","x":549,"y":599,"width":99,"height":800},{"type":"basicBlock","x":250,"y":949,"width":500,"height":99},{"type":"reaper","x":244,"y":749,"rotation":0,"width":175.66917293233084},{"type":"buzzsaw","x":243,"y":748,"width":101},{"type":"bouncingBuzzsaw","x":46,"y":-49,"width":101},{"type":"basicBlock","x":-197,"y":550,"width":200,"height":99},{"type":"checkpoint","x":-117,"y":467},{"type":"pushBlock","x":-230,"y":450,"width":101,"height":100},{"type":"basicBlock","x":-374,"y":750,"width":150,"height":99},{"type":"basicBlock","x":-498,"y":300,"width":99,"height":1000},{"type":"star","x":150,"y":273},{"type":"iceBlock","x":-597,"y":1053,"width":1000,"height":100},{"type":"basicBlock","x":-598,"y":1150,"width":1000,"height":99},{"type":"spike30x","x":-951,"y":1093,"rotation":0},{"type":"spike30x","x":-660,"y":1092,"rotation":0},{"type":"spike30x","x":-368,"y":1094,"rotation":0},{"type":"spike30x","x":-153,"y":1093,"rotation":0},{"type":"portal","x":-1050,"y":857},{"type":"buzzsaw","x":-473,"y":1007,"width":101},{"type":"buzzsaw","x":-574,"y":1006,"width":101},{"type":"buzzsaw","x":-673,"y":1006,"width":101},{"type":"bouncingBuzzsaw","x":-602,"y":749,"width":101},{"type":"bouncingBuzzsaw","x":-803,"y":655,"width":101},{"type":"portal","x":-573,"y":55},{"type":"ziplinePole","x":-473,"y":-224},{"type":"ziplinePole","x":560,"y":166},{"type":"basicBlock","x":-847,"y":-150,"width":600,"height":99},{"type":"basicBlock","x":-847,"y":201,"width":600,"height":99},{"type":"checkpoint","x":-629,"y":122},{"type":"reaper","x":-888,"y":24,"rotation":0,"width":187.57894736842104},{"type":"rope","x":-1227,"y":-199,"height":700},{"type":"elevatorEliminatorUp","x":-1226,"y":-523},{"type":"buzzsawOnStick","x":-1114,"y":-148,"rotation":-32},{"type":"reaper","x":-923,"y":-309,"rotation":0,"width":187.57894736842104},{"type":"bouncingBuzzsaw","x":-717,"y":-355,"width":101},{"type":"bouncingBuzzsaw","x":47,"y":49,"width":101},{"type":"checkpoint","x":-514,"y":-228},{"type":"basicBlock","x":998,"y":249,"width":800,"height":99},{"type":"enlargingBuzzsaw","x":353,"y":63,"width":101},{"type":"classicLaser","x":726,"y":24},{"type":"classicLaser","x":825,"y":24},{"type":"classicLaser","x":928,"y":24},{"type":"classicLaser","x":1027,"y":24},{"type":"classicLaser","x":1130,"y":22},{"type":"classicLaser","x":1228,"y":25},{"type":"classicLaser","x":1327,"y":25},{"type":"buzzsaw","x":723,"y":200,"width":101},{"type":"buzzsaw","x":1024,"y":205,"width":101},{"type":"buzzsaw","x":1182,"y":201,"width":101},{"type":"basicBlock","x":1453,"y":452,"width":300,"height":99},{"type":"checkpoint","x":1470,"y":367},{"type":"finishPortal","x":624,"y":734},{"type":"fallingSpike","x":1383,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1368,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1353,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1337,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1323,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1307,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1290,"y":308,"rotation":-5040},{"type":"fallingSpike","x":1275,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1259,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1242,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1226,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1211,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1196,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1180,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1165,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1149,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1134,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1118,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1102,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1086,"y":307,"rotation":-5040},{"type":"fallingSpike","x":1068,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1053,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1038,"y":306,"rotation":-5040},{"type":"fallingSpike","x":1020,"y":305,"rotation":-5040},{"type":"fallingSpike","x":1003,"y":306,"rotation":-5040},{"type":"fallingSpike","x":987,"y":307,"rotation":-5040},{"type":"fallingSpike","x":971,"y":307,"rotation":-5040},{"type":"fallingSpike","x":956,"y":306,"rotation":-5040},{"type":"fallingSpike","x":937,"y":307,"rotation":-5040},{"type":"fallingSpike","x":920,"y":306,"rotation":-5040},{"type":"fallingSpike","x":903,"y":307,"rotation":-5040},{"type":"fallingSpike","x":889,"y":306,"rotation":-5040},{"type":"fallingSpike","x":872,"y":307,"rotation":-5040},{"type":"fallingSpike","x":859,"y":306,"rotation":-5040},{"type":"fallingSpike","x":843,"y":306,"rotation":-5040},{"type":"fallingSpike","x":828,"y":307,"rotation":-5040},{"type":"fallingSpike","x":813,"y":307,"rotation":-5040},{"type":"fallingSpike","x":798,"y":306,"rotation":-5040},{"type":"fallingSpike","x":783,"y":307,"rotation":-5040},{"type":"fallingSpike","x":766,"y":307,"rotation":-5040},{"type":"fallingSpike","x":752,"y":307,"rotation":-5040},{"type":"fallingSpike","x":738,"y":307,"rotation":-5040},{"type":"fallingSpike","x":723,"y":307,"rotation":-5040},{"type":"fallingSpike","x":709,"y":307,"rotation":-5040},{"type":"basicBlock","x":1553,"y":203,"width":99,"height":400},{"type":"pole","x":1226,"y":428},{"type":"pole","x":1076,"y":431},{"type":"pole","x":920,"y":430},{"type":"rope","x":754,"y":445,"height":300},{"type":"buzzsaw","x":641,"y":562,"width":101},{"type":"textFade","x":584,"y":87,"rotation":0,"textNum":5},{"type":"textFade","x":445,"y":467,"rotation":90,"textNum":5},{"type":"textFade","x":20,"y":452,"rotation":-180,"textNum":5},{"type":"textFade","x":-243,"y":676,"rotation":90,"textNum":5},{"type":"textFade","x":-246,"y":900,"rotation":-180,"textNum":5},{"type":"textFade","x":-765,"y":865,"rotation":-180,"textNum":5},{"type":"textFade","x":-710,"y":10,"rotation":-180,"textNum":5},{"type":"textFade","x":-1181,"y":51,"rotation":-90,"textNum":5},{"type":"textFade","x":-1141,"y":-293,"rotation":0,"textNum":5},{"type":"textFade","x":-468,"y":-309,"rotation":25,"textNum":5},{"type":"textFade","x":1444,"y":155,"rotation":90,"textNum":5},{"type":"textFade","x":1348,"y":365,"rotation":-180,"textNum":5},{"type":"textFade","x":813,"y":429,"rotation":90,"textNum":5},{"type":"bouncingBuzzsaw","x":449,"y":250,"width":101},{"type":"buzzsawOnStick","x":-1112,"y":201,"rotation":-32},{"type":"reaper","x":-338,"y":-199,"rotation":0,"width":187.57894736842104},{"type":"reaper","x":-127,"y":-117,"rotation":0,"width":187.57894736842104},{"type":"buzzsaw","x":879,"y":205,"width":101},{"type":"buzzsaw","x":1330,"y":207,"width":101},{"type":"buzzsawOnStick","x":-492,"y":757,"rotation":56},{"type":"bouncingBuzzsaw","x":-700,"y":549,"width":101},{"type":"spawnPoint","x":275,"y":481}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/level10.json b/gs/html5/vex5/assets/balance/levels/level10.json
new file mode 100644
index 0000000..bc31738
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/level10.json
@@ -0,0 +1 @@
+[{"type":"explosiveBlock","x":549,"y":449,"width":101,"height":100},{"type":"basicBlock","x":651,"y":398,"width":99,"height":400},{"type":"basicBlock","x":860,"y":549,"width":320,"height":99},{"type":"wire","x":550,"y":524,"rotation":180},{"type":"wire","x":550,"y":574,"rotation":180},{"type":"wire","x":550,"y":624,"rotation":180},{"type":"wire","x":550,"y":674,"rotation":180},{"type":"wire","x":550,"y":724,"rotation":180},{"type":"wire","x":576,"y":745,"rotation":90},{"type":"wire","x":626,"y":745,"rotation":90},{"type":"wire","x":655,"y":724,"rotation":0},{"type":"wire","x":655,"y":674,"rotation":0},{"type":"wire","x":676,"y":653,"rotation":90},{"type":"wire","x":725,"y":653,"rotation":90},{"type":"wire","x":746,"y":675,"rotation":180},{"type":"wire","x":746,"y":724,"rotation":180},{"type":"wire","x":775,"y":745,"rotation":90},{"type":"wire","x":825,"y":745,"rotation":90},{"type":"wire","x":848,"y":724,"rotation":0},{"type":"wire","x":848,"y":674,"rotation":0},{"type":"wire","x":877,"y":653,"rotation":90},{"type":"wire","x":926,"y":653,"rotation":90},{"type":"wire","x":947,"y":675,"rotation":180},{"type":"wire","x":947,"y":725,"rotation":180},{"type":"wire","x":976,"y":746,"rotation":90},{"type":"wire","x":1025,"y":746,"rotation":90},{"type":"wire","x":1047,"y":725,"rotation":0},{"type":"wire","x":1047,"y":675,"rotation":0},{"type":"wire","x":1075,"y":654,"rotation":90},{"type":"wire","x":1125,"y":654,"rotation":90},{"type":"wire","x":1146,"y":625,"rotation":0},{"type":"wire","x":1146,"y":575,"rotation":0},{"type":"wire","x":1125,"y":552,"rotation":-90},{"type":"wire","x":1075,"y":552,"rotation":-90},{"type":"wire","x":1054,"y":525,"rotation":0},{"type":"wire","x":1054,"y":475,"rotation":0},{"type":"wire","x":1054,"y":425,"rotation":0},{"type":"wire","x":1054,"y":375,"rotation":0},{"type":"wire","x":1025,"y":354,"rotation":-90},{"type":"wire","x":975,"y":354,"rotation":-90},{"type":"wire","x":925,"y":354,"rotation":-90},{"type":"wire","x":876,"y":354,"rotation":-90},{"type":"wire","x":826,"y":354,"rotation":-90},{"type":"finishPortal","x":547,"y":373},{"type":"basicBlock","x":1346,"y":550,"width":320,"height":99},{"type":"windBlaster","x":1449,"y":502,"rotation":-90},{"type":"pole","x":1444,"y":280},{"type":"appearingBlock","x":1325,"y":274,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1224,"y":226,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1024,"y":125,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1125,"y":175,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"elevatorGeneratorUp","x":874,"y":272},{"type":"elevatorEliminatorUp","x":875,"y":-217},{"type":"basicBlock","x":1500,"y":-50,"width":1000,"height":99},{"type":"checkpoint","x":1070,"y":-137},{"type":"buzzsawOnStick","x":1300,"y":-50,"rotation":1008},{"type":"buzzsawOnStick","x":1602,"y":-54,"rotation":1008},{"type":"bouncingBuzzsaw","x":1301,"y":-301,"width":101},{"type":"bouncingBuzzsaw","x":1402,"y":-450,"width":101},{"type":"bouncingBuzzsaw","x":1500,"y":-348,"width":101},{"type":"bouncingBuzzsaw","x":1597,"y":-446,"width":101},{"type":"bouncingBuzzsaw","x":1700,"y":-301,"width":101},{"type":"pushBlock","x":1186,"y":-151,"width":101,"height":100},{"type":"basicBlock","x":2049,"y":-150,"width":99,"height":300},{"type":"checkpoint","x":2125,"y":-338},{"type":"basicBlock","x":2148,"y":-251,"width":100,"height":99},{"type":"rope","x":2102,"y":-700,"height":300},{"type":"portal","x":-707,"y":-1309},{"type":"portal","x":-298,"y":304},{"type":"basicBlock","x":100,"y":448,"width":99,"height":500},{"type":"basicBlock","x":224,"y":649,"width":150,"height":99},{"type":"basicBlock","x":388,"y":248,"width":500,"height":99},{"type":"bounceBlock","x":2223,"y":-276,"width":50,"height":50},{"type":"basicBlock","x":1651,"y":-899,"width":1000,"height":99},{"type":"spike10x","x":853,"y":-255,"rotation":0},{"type":"spike10x","x":896,"y":-256,"rotation":0},{"type":"rope","x":1952,"y":-700,"height":300},{"type":"rope","x":1802,"y":-702,"height":300},{"type":"rope","x":1656,"y":-703,"height":300},{"type":"rope","x":1503,"y":-700,"height":300},{"type":"rope","x":1352,"y":-701,"height":300},{"type":"rope","x":1203,"y":-700,"height":300},{"type":"circularCannon","x":1008,"y":-587},{"type":"fallingSpike","x":1752,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1766,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1780,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1792,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1808,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1819,"y":-843,"rotation":-21240},{"type":"fallingSpike","x":1831,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1843,"y":-841,"rotation":-21240},{"type":"reaper","x":1501,"y":-700,"rotation":0,"width":118.10526315789474},{"type":"buzzsaw","x":1500,"y":-701,"width":101},{"type":"fallingSpike","x":1159,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1172,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1183,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1195,"y":-841,"rotation":-21240},{"type":"fallingSpike","x":1208,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1219,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1229,"y":-842,"rotation":-21240},{"type":"fallingSpike","x":1241,"y":-842,"rotation":-21240},{"type":"speedBlockLeft","x":1300,"y":-1100,"width":800,"height":100},{"type":"checkpoint","x":1208,"y":-977},{"type":"reaper","x":1419,"y":-1297,"rotation":0,"width":124.06015037593986},{"type":"enlargingBuzzsaw","x":1752,"y":-1102,"width":101},{"type":"star","x":2149,"y":-1348},{"type":"reaper","x":1085,"y":-1294,"rotation":0,"width":124.06015037593986},{"type":"timedKey","x":1875,"y":-1131},{"type":"lockBlock","x":849,"y":-1201,"width":100,"height":100},{"type":"basicBlock","x":649,"y":-1100,"width":500,"height":99},{"type":"basicBlock","x":849,"y":-1451,"width":99,"height":400},{"type":"bounceBlock","x":1874,"y":-973,"width":50,"height":50},{"type":"checkpoint","x":719,"y":-1187},{"type":"pole","x":2225,"y":-1025},{"type":"pole","x":2375,"y":-1075},{"type":"pole","x":2525,"y":-1125},{"type":"pole","x":2675,"y":-1175},{"type":"pole","x":2525,"y":-1225},{"type":"sparkBlock","x":2001,"y":-1249,"width":100,"height":100},{"type":"sparkBlock","x":2001,"y":-1149,"width":100,"height":100},{"type":"sparkBlock","x":2101,"y":-1149,"width":100,"height":100},{"type":"sparkBlock","x":2001,"y":-1349,"width":100,"height":100},{"type":"pole","x":2375,"y":-1275},{"type":"pole","x":2225,"y":-1325},{"type":"classicLaser","x":2477,"y":-1339},{"type":"classicLaser","x":2654,"y":-1310},{"type":"classicLaser","x":2319,"y":-1426},{"type":"sparkBlock","x":2001,"y":-1448,"width":100,"height":100},{"type":"sparkBlock","x":2001,"y":-1548,"width":100,"height":100},{"type":"swimmingPool","x":47,"y":-851,"width":600,"height":400},{"type":"glassBlock","x":-499,"y":-1100,"width":100,"height":100},{"type":"glassBlock","x":-501,"y":-900,"width":100,"height":100},{"type":"basicBlock","x":450,"y":-1452,"width":99,"height":400},{"type":"solarBlock","x":449,"y":-1201,"width":100,"height":100},{"type":"basicBlock","x":398,"y":-900,"width":99,"height":500},{"type":"lightSwitch","x":574,"y":-1226},{"type":"basicBlock","x":151,"y":-1250,"width":99,"height":800},{"type":"basicBlock","x":47,"y":-602,"width":800,"height":99},{"type":"basicBlock","x":-303,"y":-901,"width":99,"height":500},{"type":"bouncingBuzzsaw","x":25,"y":-1376,"width":50},{"type":"bouncingBuzzsaw","x":-23,"y":-1276,"width":50},{"type":"bouncingBuzzsaw","x":-77,"y":-1473,"width":50},{"type":"bouncingBuzzsaw","x":-124,"y":-1376,"width":50},{"type":"bouncingBuzzsaw","x":-174,"y":-1580,"width":50},{"type":"bouncingBuzzsaw","x":76,"y":-1176,"width":50},{"type":"buzzsaw","x":150,"y":-746,"width":101},{"type":"buzzsaw","x":-50,"y":-853,"width":101},{"type":"buzzsaw","x":-198,"y":-704,"width":101},{"type":"glassBlock","x":-501,"y":-700,"width":100,"height":100},{"type":"glassBlock","x":-499,"y":-498,"width":100,"height":100},{"type":"glassBlock","x":-500,"y":-299,"width":100,"height":100},{"type":"glassBlock","x":-500,"y":-101,"width":100,"height":100},{"type":"basicBlock","x":-400,"y":-601,"width":99,"height":1100},{"type":"basicBlock","x":-600,"y":-700,"width":99,"height":1300},{"type":"spike10x","x":-601,"y":-1357,"rotation":0},{"type":"spike10x","x":151,"y":-1659,"rotation":0},{"type":"spike10x","x":450,"y":-1661,"rotation":0},{"type":"spike10x","x":849,"y":-1660,"rotation":0},{"type":"spike10x","x":2001,"y":-1607,"rotation":0},{"type":"checkpoint","x":-344.8494453248811,"y":-1185.6735340729},{"type":"glassBlock","x":-501,"y":0,"width":100,"height":100},{"type":"glassBlock","x":-500,"y":100,"width":100,"height":100},{"type":"glassBlock","x":-501,"y":200,"width":100,"height":100},{"type":"glassBlock","x":-500,"y":301,"width":100,"height":100},{"type":"glassBlock","x":-600,"y":301,"width":100,"height":100},{"type":"glassBlock","x":-599,"y":200,"width":100,"height":100},{"type":"glassBlock","x":-600,"y":1,"width":100,"height":100},{"type":"glassBlock","x":-400,"y":100,"width":100,"height":100},{"type":"glassBlock","x":-401,"y":200,"width":100,"height":100},{"type":"glassBlock","x":-401,"y":301,"width":100,"height":100},{"type":"glassBlock","x":-700,"y":0,"width":100,"height":100},{"type":"glassBlock","x":-699,"y":101,"width":100,"height":100},{"type":"glassBlock","x":-699,"y":201,"width":100,"height":100},{"type":"glassBlock","x":-700,"y":301,"width":100,"height":100},{"type":"glassBlock","x":-300,"y":0,"width":100,"height":100},{"type":"glassBlock","x":-300,"y":100,"width":100,"height":100},{"type":"glassBlock","x":-301.2361331220286,"y":300.22187004754363,"width":100,"height":100},{"type":"spike30x","x":196,"y":190,"rotation":0},{"type":"spike30x","x":488,"y":191,"rotation":0},{"type":"spike30x","x":553,"y":190,"rotation":0},{"type":"spike30x","x":42,"y":345,"rotation":-90},{"type":"spike30x","x":42,"y":549,"rotation":-90},{"type":"elevatorEliminatorUp","x":399,"y":252},{"type":"spike30x","x":242,"y":305,"rotation":-180},{"type":"spike30x","x":457,"y":305,"rotation":-180},{"type":"enlargingBuzzsaw","x":-500,"y":150,"width":101},{"type":"buzzsawHorizontalFast","x":-300,"y":2},{"type":"buzzsawHorizontalFast","x":-696,"y":1},{"type":"buzzsawHorizontalFast","x":-699,"y":302},{"type":"buzzsawHorizontalFast","x":-503,"y":-299},{"type":"buzzsawHorizontalFast","x":-503,"y":-900},{"type":"buzzsawHorizontalFast","x":-599,"y":-696},{"type":"buzzsawHorizontalFast","x":-403,"y":-500},{"type":"elevatorGeneratorUp","x":376,"y":821},{"type":"checkpoint","x":277,"y":565},{"type":"buzzsawOnStick","x":548,"y":477,"rotation":592},{"type":"buzzsawOnStick","x":381,"y":264,"rotation":592},{"type":"buzzsawOnStick","x":228,"y":381,"rotation":576},{"type":"textFade","x":845,"y":546,"rotation":0,"textNum":42},{"type":"textFade","x":1134,"y":431,"rotation":0,"textNum":5},{"type":"textFade","x":1523,"y":356,"rotation":-135,"textNum":5},{"type":"textFade","x":935,"y":74,"rotation":-90,"textNum":5},{"type":"textFade","x":969,"y":-135,"rotation":0,"textNum":5},{"type":"textFade","x":1890,"y":-213,"rotation":-45,"textNum":5},{"type":"textFade","x":2204,"y":-444,"rotation":-135,"textNum":5},{"type":"textFade","x":2025,"y":-621,"rotation":-180,"textNum":5},{"type":"textFade","x":1075,"y":-705,"rotation":-90,"textNum":5},{"type":"textFade","x":1113,"y":-997,"rotation":0,"textNum":5},{"type":"textFade","x":1828,"y":-1034,"rotation":-90,"textNum":5},{"type":"textFade","x":1794,"y":-1211,"rotation":-180,"textNum":5},{"type":"textFade","x":683,"y":-1277,"rotation":-180,"textNum":5},{"type":"textFade","x":285,"y":-1196,"rotation":90,"textNum":5},{"type":"textFade","x":-487,"y":-1262,"rotation":90,"textNum":5},{"type":"textFade","x":309,"y":494,"rotation":-30,"textNum":5},{"type":"blockSpike","x":1236,"y":549,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":1857,"y":-50,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":2050,"y":-252,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":1503,"y":-900,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"basicBlock","x":-949.3502377179082,"y":-1150.1743264659272,"width":600,"height":99},{"type":"checkpoint","x":-714,"y":-1236},{"type":"basicBlock","x":-1050.7765451664027,"y":-950.3645007923932,"width":600,"height":99},{"type":"basicBlock","x":-949,"y":-750,"width":600,"height":99},{"type":"buzzsawOnStick","x":-890,"y":-1150,"rotation":196},{"type":"buzzsawOnStick","x":-1160,"y":-1165,"rotation":226},{"type":"buzzsawOnStick","x":-963,"y":-957,"rotation":250},{"type":"buzzsawOnStick","x":-1113,"y":-748,"rotation":432},{"type":"buzzsawOnStick","x":-779,"y":-760,"rotation":-72},{"type":"buzzsawOnStick","x":-1252,"y":-944,"rotation":180},{"type":"basicBlock","x":-1400,"y":-902,"width":99,"height":900},{"type":"spike10x","x":-1401,"y":-1359,"rotation":0},{"type":"speedBlock","x":-1149,"y":-199,"width":800,"height":100},{"type":"basicBlock","x":-1051,"y":-501,"width":600,"height":99},{"type":"buzzsawOnStick","x":-1275,"y":-496,"rotation":174},{"type":"buzzsawOnStick","x":-938,"y":-498,"rotation":221},{"type":"basicBlock","x":-699,"y":-200,"width":99,"height":99},{"type":"portal","x":209,"y":558},{"type":"portal","x":-798.4664536741216,"y":-396.67731629392983},{"type":"checkpoint","x":-695.2076677316296,"y":-285.23961661341866},{"type":"bouncingBuzzsaw","x":-974,"y":-391,"width":50},{"type":"bouncingBuzzsaw","x":-1122,"y":-396,"width":50},{"type":"bouncingBuzzsaw","x":-1255,"y":-397,"width":50},{"type":"bouncingBuzzsaw","x":-1366,"y":-397,"width":50},{"type":"bouncingBuzzsaw","x":-1485,"y":-395,"width":50},{"type":"iceBlock","x":-2148,"y":-199,"width":1000,"height":100},{"type":"buzzsawOnStick","x":-1804,"y":-209,"rotation":432},{"type":"buzzsawOnStick","x":-1955,"y":-206,"rotation":432},{"type":"buzzsawOnStick","x":-2120,"y":-207,"rotation":432},{"type":"buzzsawOnStick","x":-2300,"y":-204,"rotation":432},{"type":"buzzsawOnStick","x":-2499,"y":-201,"rotation":432},{"type":"basicBlock","x":-1599,"y":-200,"width":99,"height":99},{"type":"bounceBlock","x":-2673,"y":-224,"width":50,"height":50},{"type":"checkpoint","x":-1592,"y":-285},{"type":"basicBlock","x":-2604,"y":-501,"width":99,"height":99},{"type":"circularCannon","x":-2370,"y":-582},{"type":"circularCannon","x":-1746,"y":-1034},{"type":"pole","x":-2226,"y":-928},{"type":"pole","x":-2076,"y":-977},{"type":"pole","x":-2375,"y":-873},{"type":"pole","x":-1925,"y":-1028},{"type":"pole","x":2275,"y":-1475},{"type":"pole","x":2725,"y":-1475},{"type":"pole","x":2875,"y":-1425},{"type":"basicBlock","x":3004,"y":-1302,"width":99,"height":99},{"type":"blockSpike","x":3101,"y":-1302,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"basicBlock","x":3257,"y":-1302,"width":214,"height":99},{"type":"buzzsawOnStick","x":3366,"y":-1318,"rotation":328},{"type":"basicBlock","x":3470,"y":-1302,"width":214,"height":99},{"type":"basicBlock","x":3700,"y":-1509,"width":500,"height":99},{"type":"buzzsawOnStick","x":3537,"y":-1489,"rotation":365},{"type":"rope","x":3701,"y":-1407,"height":110},{"type":"rope","x":3803,"y":-1407,"height":110},{"type":"rope","x":3902,"y":-1407,"height":110},{"type":"speedBlockLeft","x":4299,"y":-1251,"width":600,"height":100},{"type":"bouncingBuzzsaw","x":4175,"y":-1450,"width":50,"rotation":0},{"type":"bouncingBuzzsaw","x":4300,"y":-1425,"width":50,"rotation":0},{"type":"bouncingBuzzsaw","x":4425,"y":-1450,"width":50,"rotation":0},{"type":"elevatorGeneratorUp","x":4725,"y":-1270},{"type":"elevatorEliminatorUp","x":4725,"y":-1979},{"type":"pole","x":4526.585788561525,"y":-1823.5008665511264,"rotation":0},{"type":"pole","x":4376.84575389948,"y":-1874.5233968804157,"rotation":0},{"type":"classicLaser","x":4473.344887348353,"y":-1972.1317157712301,"rotation":0},{"type":"spike30x","x":3596,"y":-1567,"rotation":0},{"type":"spike10x","x":3790,"y":-1566,"rotation":0},{"type":"spike10x","x":3888,"y":-1567,"rotation":0},{"type":"spike","x":3943,"y":-1567,"rotation":0},{"type":"bounceBlock","x":4176,"y":-1675,"width":50,"height":50},{"type":"bounceBlock","x":4124,"y":-1924,"width":50,"height":50},{"type":"appearingBlock","x":4026,"y":-2176,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":3875,"y":-2075,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":3774,"y":-2125,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":3675,"y":-2176,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"sparkBlock","x":3528,"y":-2175,"width":50,"height":50},{"type":"shurikanDispenser","x":4123,"y":-1825},{"type":"shurikanDispenser","x":4225,"y":-2326},{"type":"horizontalBlock","x":3352,"y":-2175,"width":100,"height":50},{"type":"basicBlock","x":3750,"y":-2375,"width":100,"height":50},{"type":"buzzsawOnStick","x":3748,"y":-2373,"rotation":306},{"type":"iceBlock","x":3050,"y":-2175,"width":300,"height":51},{"type":"buzzsawOnStick","x":3124,"y":-2175,"rotation":338},{"type":"buzzsawOnStick","x":2977,"y":-2172,"rotation":61},{"type":"basicBlock","x":2838.4055459272095,"y":-2151.819757365684,"width":120,"height":99,"rotation":0},{"type":"ziplinePole","x":2785.1646447140374,"y":-2235.0086655112646,"rotation":0},{"type":"ziplinePole","x":2437,"y":-2534},{"type":"blockSpike","x":2400,"y":-2449,"spikeUp":1,"timeUp":10,"timeDown":10,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"portal","x":2000,"y":-1900},{"type":"shurikanDispenser","x":2626,"y":-2224},{"type":"shurikanDispenser","x":2525,"y":-2324},{"type":"glassBlock","x":2000,"y":-2000,"width":100,"height":100},{"type":"glassBlock","x":2000,"y":-2100,"width":100,"height":100},{"type":"glassBlock","x":2000,"y":-2200,"width":100,"height":100},{"type":"glassBlock","x":2000,"y":-2300,"width":100,"height":100},{"type":"basicBlock","x":1940,"y":-2100,"width":20,"height":500},{"type":"basicBlock","x":2060,"y":-2100,"width":20,"height":500},{"type":"spike30x","x":2079,"y":-2204,"rotation":90},{"type":"spike30x","x":1921,"y":-2204,"rotation":-90},{"type":"spike10x","x":1921,"y":-2009,"rotation":-90},{"type":"spike10x","x":2079,"y":-2009,"rotation":90},{"type":"spike10x","x":2079,"y":-1911,"rotation":90},{"type":"spike10x","x":1921,"y":-1911,"rotation":-90},{"type":"spike","x":2078,"y":-1857,"rotation":90},{"type":"spike","x":1922,"y":-1857,"rotation":-90},{"type":"buzzsawHorizontalFast","x":2000,"y":-2001},{"type":"buzzsawHorizontalFast","x":2000,"y":-2200},{"type":"fallingBlock","x":2275,"y":-2475,"width":25,"height":25},{"type":"fallingBlock","x":2175,"y":-2475,"width":25,"height":25},{"type":"fallingBlock","x":2075,"y":-2475,"width":25,"height":25},{"type":"basicBlock","x":2175,"y":-2675,"width":250,"height":50},{"type":"buzzsawOnStick","x":2175,"y":-2675,"rotation":216},{"type":"buzzsawOnStick","x":2984,"y":-1282,"rotation":216},{"type":"checkpoint","x":3185,"y":-1390},{"type":"pole","x":2075,"y":-1375},{"type":"pole","x":2174,"y":-1425},{"type":"pole","x":2424,"y":-1525},{"type":"pole","x":2575,"y":-1524},{"type":"textFade","x":2157.188498402556,"y":-1032.5878594249202,"rotation":-45,"textNum":5},{"type":"textFade","x":2493.5463258785944,"y":-1577.507987220447,"rotation":0,"textNum":5},{"type":"textFade","x":3596.6773162939294,"y":-1392.4600638977636,"rotation":0,"textNum":5},{"type":"textFade","x":4628.242811501597,"y":-1410.8626198083066,"rotation":-90,"textNum":5},{"type":"textFade","x":4095.591054313099,"y":-2379.0415335463263,"rotation":135,"textNum":5},{"type":"textFade","x":3525.111821086262,"y":-2272.715654952077,"rotation":-180,"textNum":5},{"type":"textFade","x":2851.3738019169327,"y":-2297.252396166134,"rotation":-135,"textNum":5},{"type":"textFade","x":1999.7444089456867,"y":-2449.584664536741,"rotation":90,"textNum":5},{"type":"checkpoint","x":2804.020797227036,"y":-2236.1178509532056,"rotation":0},{"type":"spawnPoint","x":770.8838821490467,"y":491.369150779896}]
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/levels/levelEdit.json b/gs/html5/vex5/assets/balance/levels/levelEdit.json
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/levelEdit.json
@@ -0,0 +1 @@
+[]
diff --git a/gs/html5/vex5/assets/balance/levels/levelhub.json b/gs/html5/vex5/assets/balance/levels/levelhub.json
new file mode 100644
index 0000000..94b6a71
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levels/levelhub.json
@@ -0,0 +1 @@
+[{"type":"blockedWall","x":969,"y":1004,"width":65,"height":444,"rotation":0,"actNum":9},{"type":"blockedWall","x":2035,"y":960,"width":63.65,"height":443.65,"rotation":0,"actNum":8},{"type":"blockedWall","x":2945,"y":947,"width":63.65,"height":443.65,"rotation":0,"actNum":7},{"type":"blockedWall","x":4035,"y":1210,"width":443.65,"height":63.65,"rotation":-90,"actNum":6},{"type":"lockBlock","x":3395,"y":1009,"width":100.05,"height":100},{"type":"blockedWall","x":3593,"y":1400,"width":63.65,"height":443.65,"rotation":0,"actNum":5},{"type":"checkpoint","x":2879,"y":1569},{"type":"basicBlock","x":1660,"y":2349,"width":800,"height":100},{"type":"blockedWall","x":2252,"y":1465,"width":63.65,"height":443.65,"rotation":0,"actNum":4},{"type":"blockedWall","x":2321,"y":1632,"width":444,"height":65,"rotation":90,"actNum":3},{"type":"basicBlock","x":2821,"y":1206,"width":1200,"height":100},{"type":"checkpoint","x":1895,"y":1568},{"type":"checkpoint","x":1031,"y":1573},{"type":"blockedWall","x":1251,"y":1484,"width":63.65,"height":443.65,"rotation":0,"actNum":2},{"type":"blockedWall","x":981,"y":1484,"width":63.65,"height":443.65,"rotation":0,"actNum":1},{"type":"basicBlock","x":343,"y":1649,"width":500,"height":100},{"type":"basicBlock","x":510,"y":1951,"width":900,"height":200},{"type":"basicBlock","x":3587,"y":1688,"width":99,"height":400},{"type":"basicBlock","x":1000,"y":1825.4,"width":102,"height":450},{"type":"basicBlock","x":806,"y":1726,"width":290,"height":252},{"type":"spike10x","x":376,"y":1842,"rotation":0},{"type":"basicBlock","x":1249,"y":2149,"width":100,"height":1100},{"type":"checkpoint","x":1035,"y":2461},{"type":"basicBlock","x":1539,"y":1764,"width":600,"height":50},{"type":"actBlock","x":806,"y":1670,"actNum":"1"},{"type":"actBlock","x":1130,"y":2564,"actNum":"2"},{"type":"actBlock","x":1770,"y":1671,"actNum":"3"},{"type":"basicBlock","x":1888,"y":1694,"width":99,"height":190},{"type":"basicBlock","x":2234,"y":1789,"width":130,"height":380},{"type":"actBlock","x":2271,"y":2119,"actNum":"4"},{"type":"actBlock","x":3028,"y":1531,"actNum":"5"},{"type":"checkpoint","x":2254,"y":966},{"type":"actBlock","x":4015,"y":1561,"actNum":"6"},{"type":"key","x":3729,"y":1088},{"type":"actBlock","x":3278,"y":1130,"actNum":"7"},{"type":"basicBlock","x":644,"y":1265,"width":1300,"height":100.05},{"type":"actBlock","x":2137,"y":930,"actNum":"8"},{"type":"actBlock","x":1221,"y":1147,"actNum":"9"},{"type":"actBlock","x":172,"y":1040,"actNum":"10"},{"type":"actBlockHard","x":197,"y":1591,"actNum":1},{"type":"basicBlock","x":1035,"y":2593,"width":50,"height":200},{"type":"basicBlock","x":945,"y":2684,"width":708,"height":99},{"type":"actBlockHard","x":622,"y":2329,"actNum":2},{"type":"basicBlock","x":502,"y":2225,"width":99,"height":350},{"type":"basicBlock","x":641,"y":2549,"width":99,"height":300},{"type":"actBlockHard","x":2930,"y":1920,"actNum":4},{"type":"actBlockHard","x":1370,"y":2001,"actNum":3},{"type":"basicBlock","x":2649,"y":1639,"width":700,"height":80},{"type":"actBlockHard","x":3320,"y":2222,"actNum":5},{"type":"actBlockHard","x":4458,"y":1570,"actNum":6},{"type":"basicBlock","x":43,"y":1022,"width":99,"height":460},{"type":"actBlockHard","x":3683,"y":922,"actNum":7},{"type":"actBlockHard","x":2773,"y":922,"actNum":8},{"type":"actBlockHard","x":1771,"y":899,"actNum":9},{"type":"actChallenge","x":3865,"y":2066},{"type":"basicBlock","x":78,"y":1497,"width":99,"height":400},{"type":"blockSpike","x":315,"y":1649,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":412,"y":1649,"spikeUp":0,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":510,"y":1648,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"basicBlock","x":78,"y":1873,"width":99,"height":355},{"type":"rope","x":1133,"y":1870,"height":1110},{"type":"basicBlock","x":946,"y":2193,"width":210,"height":300},{"type":"basicBlock","x":946,"y":2323,"width":210,"height":50},{"type":"rope","x":751,"y":2275,"height":450.00000000000006},{"type":"spike30x","x":866,"y":2629,"rotation":0},{"type":"spike30x","x":781,"y":2628,"rotation":0},{"type":"spike30x","x":698,"y":2544,"rotation":90},{"type":"spike30x","x":1137,"y":1321,"rotation":-180},{"type":"rope","x":954,"y":2446,"height":200},{"type":"rope","x":853,"y":2446,"height":200},{"type":"spike30x","x":674,"y":2059,"rotation":-180},{"type":"fallingSpike","x":986,"y":2357,"rotation":0},{"type":"fallingBlock","x":1324,"y":1624,"width":50,"height":50},{"type":"fallingBlock","x":1374,"y":1624,"width":50,"height":50},{"type":"fallingBlock","x":1424,"y":1624,"width":50,"height":50},{"type":"fallingBlock","x":1474,"y":1624,"width":50,"height":50},{"type":"fallingBlock","x":1524,"y":1624,"width":50,"height":50},{"type":"fallingBlock","x":1573,"y":1624,"width":50,"height":50},{"type":"spike30x","x":1409,"y":1733,"rotation":0},{"type":"spike30x","x":1667,"y":1733,"rotation":0},{"type":"basicBlock","x":2050,"y":1999,"width":99,"height":800},{"type":"swimmingPool","x":1622,"y":2162,"width":800,"height":300},{"type":"bounceBlock","x":1975,"y":1987,"width":50,"height":50},{"type":"bouncingBuzzsaw","x":1523,"y":1977,"width":50},{"type":"bouncingBuzzsaw","x":1625,"y":1924,"width":50},{"type":"bouncingBuzzsaw","x":1725,"y":1874,"width":50},{"type":"spike30x","x":1305,"y":2159,"rotation":90},{"type":"spike30x","x":1992,"y":2159,"rotation":-90},{"type":"glassBlock","x":2134,"y":1749,"width":70,"height":100},{"type":"glassBlock","x":2134,"y":1900,"width":70,"height":100},{"type":"glassBlock","x":2152,"y":2099,"width":100,"height":100},{"type":"basicBlock","x":2598,"y":2240,"width":1000,"height":99},{"type":"pole","x":2428,"y":1971},{"type":"pole","x":2577,"y":1922},{"type":"pole","x":2728,"y":1871},{"type":"basicBlock","x":3048,"y":1899,"width":99,"height":600},{"type":"spike30x","x":2247,"y":2182,"rotation":0},{"type":"spike30x","x":2538,"y":2182,"rotation":0},{"type":"spike30x","x":2828,"y":2182,"rotation":0},{"type":"spike30x","x":2860,"y":2182,"rotation":0},{"type":"bouncingBuzzsaw","x":2501,"y":1776,"width":50},{"type":"bouncingBuzzsaw","x":2653,"y":1775,"width":50},{"type":"bouncingBuzzsaw","x":2802,"y":1775,"width":50},{"type":"buzzsaw","x":2446,"y":1526,"width":101},{"type":"buzzsaw","x":2597,"y":1624,"width":101},{"type":"buzzsawOnStick","x":3584,"y":1712,"rotation":896},{"type":"buzzsawOnStick","x":3577,"y":1960,"rotation":896},{"type":"elevatorEliminatorDown","x":3463,"y":2259},{"type":"elevatorGeneratorUp","x":3173,"y":2260},{"type":"elevatorGeneratorDown","x":3463,"y":1518},{"type":"elevatorEliminatorUp","x":3174,"y":1228},{"type":"buzzsaw","x":3313,"y":1745,"width":101},{"type":"buzzsaw","x":3318,"y":2009,"width":101},{"type":"buzzsaw","x":3317,"y":1868,"width":101},{"type":"basicBlock","x":3671,"y":1206,"width":500,"height":100},{"type":"sparkBlock","x":3686,"y":1538,"width":100,"height":100},{"type":"sparkBlock","x":3837,"y":1539,"width":100,"height":100},{"type":"swimmingPool","x":4226,"y":1663,"width":1200,"height":150},{"type":"basicBlock","x":4336,"y":1788,"width":802,"height":99},{"type":"rope","x":4024,"y":1075,"height":750},{"type":"checkpoint","x":3492,"y":1454},{"type":"basicBlock","x":4786,"y":1499,"width":99,"height":700},{"type":"basicBlock","x":4452,"y":1199,"width":700,"height":100},{"type":"basicBlock","x":4152,"y":902,"width":99,"height":500},{"type":"basicBlock","x":3603,"y":701,"width":1000,"height":99},{"type":"checkpoint","x":3868,"y":1120},{"type":"blockSpike","x":3581,"y":1205,"spikeUp":1,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":0,"rightEnable":0},{"type":"blockSpike","x":3396,"y":1107,"spikeUp":0,"timeUp":20,"timeDown":20,"upEnable":0,"downEnable":0,"leftEnable":0,"rightEnable":1},{"type":"spike30x","x":3956,"y":759,"rotation":-180},{"type":"blockSpike","x":3397,"y":910,"spikeUp":10,"timeUp":20,"timeDown":20,"upEnable":1,"downEnable":0,"leftEnable":1,"rightEnable":1},{"type":"basicBlock","x":3410,"y":701,"width":1000,"height":99},{"type":"pole","x":3178,"y":978},{"type":"pole","x":3027,"y":927},{"type":"pole","x":3181,"y":875},{"type":"bouncingBuzzsaw","x":3124,"y":797,"width":50},{"type":"bouncingBuzzsaw","x":3525,"y":791,"width":50},{"type":"basicBlock","x":2500,"y":701,"width":1000,"height":99},{"type":"buzzsawOnStick","x":2767,"y":1208,"rotation":672},{"type":"basicBlock","x":2248,"y":1206,"width":500,"height":100},{"type":"invisBlock","x":2426,"y":926,"width":50,"height":50},{"type":"pushBlock","x":2761,"y":1106,"width":101,"height":100},{"type":"invisBlock","x":2525,"y":926,"width":50,"height":50},{"type":"invisBlock","x":2625,"y":926,"width":50,"height":50},{"type":"invisBlock","x":2325,"y":925,"width":50,"height":50},{"type":"basicBlock","x":2148,"y":1095,"width":300,"height":200},{"type":"spike10x","x":1989,"y":1053,"rotation":-90},{"type":"spike10x","x":1990,"y":1149,"rotation":-90},{"type":"spike10x","x":1990,"y":1204,"rotation":-90},{"type":"fallingSpike","x":2316,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2332,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2347,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2361,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2375,"y":758,"rotation":-14040},{"type":"fallingSpike","x":2389,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2403,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2417,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2432,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2447,"y":758,"rotation":-14040},{"type":"fallingSpike","x":2460,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2475,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2491,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2506,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2520,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2534,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2549,"y":758,"rotation":-14040},{"type":"fallingSpike","x":2562,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2577,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2591,"y":759,"rotation":-14040},{"type":"fallingSpike","x":2607,"y":758,"rotation":-14040},{"type":"appearingBlock","x":1925,"y":1025,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1825,"y":1074,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1726,"y":1074,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1525,"y":1076,"width":50,"height":50,"initVisible":1,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1427,"y":1073,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"appearingBlock","x":1623,"y":1075,"width":50,"height":50,"initVisible":0,"timeShow":50,"timeHide":50},{"type":"elevatorGeneratorUp","x":1080,"y":1245},{"type":"elevatorEliminatorUp","x":1086,"y":721},{"type":"invisBlock","x":1224,"y":924,"width":50,"height":50},{"type":"invisBlock","x":1274,"y":924,"width":50,"height":50},{"type":"invisBlock","x":1375,"y":924,"width":50,"height":50},{"type":"invisBlock","x":1475,"y":925,"width":50,"height":50},{"type":"invisBlock","x":1524,"y":925,"width":50,"height":50},{"type":"invisBlock","x":1625,"y":874,"width":50,"height":50},{"type":"basicBlock","x":1500,"y":702,"width":1000,"height":99},{"type":"bouncingBuzzsaw","x":1274,"y":786,"width":50},{"type":"bouncingBuzzsaw","x":1476,"y":778,"width":50},{"type":"bouncingBuzzsaw","x":1624,"y":763,"width":20},{"type":"basicBlock","x":498,"y":744,"width":1020,"height":99},{"type":"checkpoint","x":897,"y":1181},{"type":"pushBlock","x":752,"y":1145,"width":100,"height":100},{"type":"buzzsawOnStick","x":674,"y":1250,"rotation":496},{"type":"buzzsawOnStick","x":482,"y":1248,"rotation":496},{"type":"basicBlock","x":153,"y":1167,"width":200,"height":99},{"type":"basicBlock","x":543,"y":1746,"width":99,"height":99},{"type":"basicBlock","x":3587,"y":2115,"width":99,"height":350},{"type":"basicBlock","x":3833,"y":2184,"width":400,"height":99},{"type":"basicBlock","x":3984,"y":2035,"width":99,"height":398},{"type":"spike10x","x":3687,"y":2126,"rotation":0},{"type":"spike10x","x":3785,"y":2126,"rotation":0},{"type":"spike10x","x":3645,"y":2076,"rotation":90},{"type":"spike10x","x":3644,"y":2032,"rotation":90},{"type":"spike10x","x":3926,"y":1892,"rotation":-90},{"type":"spike10x","x":3926,"y":1946,"rotation":-90},{"type":"spike10x","x":3885,"y":1817,"rotation":-180},{"type":"spike10x","x":3785,"y":1817,"rotation":-180},{"type":"spike10x","x":3686,"y":1817,"rotation":-180},{"type":"fallingSpike","x":971,"y":2357,"rotation":0},{"type":"fallingSpike","x":957,"y":2357,"rotation":0},{"type":"fallingSpike","x":943,"y":2357,"rotation":0},{"type":"fallingSpike","x":930,"y":2357,"rotation":0},{"type":"fallingSpike","x":916,"y":2357,"rotation":0},{"type":"fallingSpike","x":903,"y":2357,"rotation":0},{"type":"fallingSpike","x":890,"y":2357,"rotation":0},{"type":"fallingSpike","x":876,"y":2357,"rotation":0},{"type":"fallingSpike","x":863,"y":2357,"rotation":0},{"type":"fallingSpike","x":850,"y":2357,"rotation":0},{"type":"basicBlock","x":3785,"y":1773,"width":300,"height":70},{"type":"spike10x","x":3644,"y":1804,"rotation":90},{"type":"spike10x","x":3926,"y":1806,"rotation":-90},{"type":"spawnPoint","x":230,"y":1831}]
diff --git a/gs/html5/vex5/assets/balance/levelsConfig.json b/gs/html5/vex5/assets/balance/levelsConfig.json
new file mode 100644
index 0000000..aff1240
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/levelsConfig.json
@@ -0,0 +1,120 @@
+{
+ "hub": {
+ "file": "levelhub",
+ "name": "Level Hub"
+ },
+ "11": {
+ "roomsFiles": ["room01", "room02", "room03", "room04", "room05", "room06", "room07", "room08", "room09", "room10", "room11", "room12", "room13", "room14", "room15", "room16", "room17", "room18", "room19", "room20", "room21", "room22", "room24", "room25", "room26", "room26", "room27", "room28", "room29", "room30"],
+ "name": "Challenge Room"
+ },
+ "1": {
+ "file": "level01",
+ "name": "Act 1",
+ "nameHard": "Act 1 Hard",
+ "goldTime": 45,
+ "silverTime": 55,
+ "bronzeTime": 65,
+ "hue":130,
+ "fileChallengeName": "level01hard"
+ },
+ "2": {
+ "file": "level02",
+ "name": "Act 2",
+ "nameHard": "Act 2 Hard",
+ "goldTime": 70,
+ "silverTime": 90,
+ "bronzeTime": 120,
+ "hue":170,
+ "fileChallengeName": "level02hard"
+ },
+ "3": {
+ "file": "level03",
+ "name": "Act 3",
+ "nameHard": "Act 3 Hard",
+ "goldTime": 80,
+ "silverTime": 100,
+ "bronzeTime": 120,
+ "hue":190,
+ "fileChallengeName": "level03hard"
+ },
+ "4": {
+ "file": "level04",
+ "name": "Act 4",
+ "nameHard": "Act 4 Hard",
+ "goldTime": 110,
+ "silverTime": 130,
+ "bronzeTime": 150,
+ "hue":-150,
+ "fileChallengeName": "level04hard"
+ },
+ "5": {
+ "file": "level05",
+ "name": "Act 5",
+ "nameHard": "Act 5 Hard",
+ "goldTime": 140,
+ "silverTime": 180,
+ "bronzeTime": 210,
+ "hue":-90,
+ "fileChallengeName": "level05hard"
+ },
+ "6": {
+ "file": "level06",
+ "name": "Act 6",
+ "nameHard": "Act 6 Hard",
+ "goldTime": 130,
+ "silverTime": 150,
+ "bronzeTime": 180,
+ "hue":-40,
+ "fileChallengeName": "level06hard"
+ },
+ "7": {
+ "file": "level07",
+ "name": "Act 7",
+ "nameHard": "Act 7 Hard",
+ "goldTime": 140,
+ "silverTime": 180,
+ "bronzeTime": 200,
+ "hue":1,
+ "fileChallengeName": "level07hard"
+ },
+ "8": {
+ "file": "level08",
+ "name": "Act 8",
+ "nameHard": "Act 8 Hard",
+ "goldTime": 140,
+ "silverTime": 180,
+ "bronzeTime": 200,
+ "hue":30,
+ "fileChallengeName": "level08hard"
+ },
+ "9": {
+ "file": "level09",
+ "name": "Act 9",
+ "nameHard": "Act 9 Hard",
+ "goldTime": 120,
+ "silverTime": 140,
+ "bronzeTime": 180,
+ "hue":70,
+ "fileChallengeName": "level09hard"
+ },
+ "10": {
+ "file": "level10",
+ "name": "Vexation",
+ "nameHard": "Act 10 Hard",
+ "goldTime": 240,
+ "silverTime": 300,
+ "bronzeTime": 360,
+ "hue":100,
+ "fileChallengeName": "level10"
+ },
+ "edit": {
+ "file": "levelEdit",
+ "name": "Edit",
+ "nameHard": "Act 10 Hard",
+ "goldTime": 120,
+ "silverTime": 180,
+ "bronzeTime": 240,
+ "hue":100,
+ "fileChallengeName": "level10"
+ }
+}
diff --git a/gs/html5/vex5/assets/balance/localization.json b/gs/html5/vex5/assets/balance/localization.json
new file mode 100644
index 0000000..203186c
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/localization.json
@@ -0,0 +1,115 @@
+{
+ "ui_mm_start": "Play Game",
+ "ui_trophie_title": "Trophies",
+ "ui_trophie_section1_title": "Standard Acts",
+ "ui_trophie_section2_title": "Hardcore",
+ "ui_trophie_section3_title": "Awesome Stuff",
+ "ui_trophie_section4_title": "Completion",
+ "ui_trophie_name_1": "Act 1",
+ "ui_trophie_name_2": "Act 2",
+ "ui_trophie_name_3": "Act 3",
+ "ui_trophie_name_4": "Act 4",
+ "ui_trophie_name_5": "Act 5",
+ "ui_trophie_name_6": "Act 6",
+ "ui_trophie_name_7": "Act 7",
+ "ui_trophie_name_8": "Act 8",
+ "ui_trophie_name_9": "Act 9",
+ "ui_trophie_name_10": "Vexation",
+ "ui_trophie_name_11": "Mine !",
+ "ui_trophie_name_12": "Thanks Box !",
+ "ui_trophie_name_13": "It's the Climb !",
+ "ui_trophie_name_14": "Between a Saw",
+ "ui_trophie_name_15": "Leap of Faith",
+ "ui_trophie_name_16": "Keychain",
+ "ui_trophie_name_17": "Take the Plunge",
+ "ui_trophie_name_18": "Lights Out !",
+ "ui_trophie_name_19": "Outside the Box",
+ "ui_trophie_name_20": "Inside the Box",
+ "ui_trophie_name_21": "One Step At A Time",
+ "ui_trophie_name_22": "Double Down",
+ "ui_trophie_name_23": "Third's the Charm",
+ "ui_trophie_name_24": "Fantastic Four",
+ "ui_trophie_name_25": "High Five",
+ "ui_trophie_name_26": "Demon",
+ "ui_trophie_name_27": "You're Lucky",
+ "ui_trophie_name_28": "Eight Times the Champ",
+ "ui_trophie_name_29": "Nine Lives",
+ "ui_trophie_name_30": "Perfect !",
+ "ui_trophie_name_31": "Gasping",
+ "ui_trophie_name_32": "Time Flies V2.0",
+ "ui_trophie_name_33": "Heads Up",
+ "ui_trophie_name_34": "Death Tycoon",
+ "ui_trophie_name_35": "Olympian",
+ "ui_trophie_name_36": "Perfectionist",
+ "ui_trophie_name_37": "Astronomer",
+ "ui_trophie_name_38": "Winner",
+ "ui_trophie_name_39": "Challenger",
+ "ui_trophie_name_40": "Extrem",
+ "ui_trophie_name_41": "Extrem",
+ "ui_trophie_name_42": "Extrem",
+ "ui_trophie_name_43": "Extrem",
+ "ui_trophie_name_44": "Extrem",
+ "ui_trophie_name_45": "Extrem",
+ "ui_trophie_name_46": "Extrem",
+ "ui_trophie_name_47": "Extrem",
+ "ui_trophie_name_48": "Extrem",
+ "ui_trophie_description_1": "Complete Act 1 to any ranking",
+ "ui_trophie_description_2": "Complete Act 2 to any ranking",
+ "ui_trophie_description_3": "Complete Act 3 to any ranking",
+ "ui_trophie_description_4": "Complete Act 4 to any ranking",
+ "ui_trophie_description_5": "Complete Act 5 to any ranking",
+ "ui_trophie_description_6": "Complete Act 6 to any ranking",
+ "ui_trophie_description_7": "Complete Act 7 to any ranking",
+ "ui_trophie_description_8": "Complete Act 8 to any ranking",
+ "ui_trophie_description_9": "Complete Act 9 to any ranking",
+ "ui_trophie_description_10": "Complete the Vexation to any ranking",
+ "ui_trophie_description_11": "Grab the hidden star on Act 1",
+ "ui_trophie_description_12": "Grab the hidden star on Act 2",
+ "ui_trophie_description_13": "Grab the hidden star on Act 3",
+ "ui_trophie_description_14": "Grab the hidden star on Act 4",
+ "ui_trophie_description_15": "Grab the hidden star on Act 5",
+ "ui_trophie_description_16": "Grab the hidden star on Act 6",
+ "ui_trophie_description_17": "Grab the hidden star on Act 7",
+ "ui_trophie_description_18": "Grab the hidden star on Act 8",
+ "ui_trophie_description_19": "Grab the hidden star on Act 9",
+ "ui_trophie_description_20": "Grab the hidden star on the Vexation",
+ "ui_trophie_description_21": "Complete Challenge Mode for Act 1",
+ "ui_trophie_description_22": "Complete Challenge Mode for Act 2",
+ "ui_trophie_description_23": "Complete Challenge Mode for Act 3",
+ "ui_trophie_description_24": "Complete Challenge Mode for Act 4",
+ "ui_trophie_description_25": "Complete Challenge Mode for Act 5",
+ "ui_trophie_description_26": "Complete Challenge Mode for Act 6",
+ "ui_trophie_description_27": "Complete Challenge Mode for Act 7",
+ "ui_trophie_description_28": "Complete Challenge Mode for Act 8",
+ "ui_trophie_description_29": "Complete Challenge Mode for Act 9",
+ "ui_trophie_description_30": "Complete any Act with Perfect ranking",
+ "ui_trophie_description_31": "Surface from swimming with one bubble left",
+ "ui_trophie_description_32": "Play the game for over one hour",
+ "ui_trophie_description_33": "Get crushed by a pushable block",
+ "ui_trophie_description_34": "Get over 100 total deaths",
+ "ui_trophie_description_35": "Achieve Gold or better on every Act",
+ "ui_trophie_description_36": "Achieve Perfect or better on every Act",
+ "ui_trophie_description_37": "Collect every star in the game",
+ "ui_trophie_description_38": "Complete every Act in Challenge Mode",
+ "ui_trophie_description_39": "Complete the Challenge room",
+ "ui_options_title": "Options",
+ "ui_options_music": "Music",
+ "ui_options_sound": "Sound",
+ "ui_options_enable": "ON",
+ "ui_options_disable": "OFF",
+ "ui_options_auto_save": "Auto reset when\nbest time passed",
+ "ui_level_complet_title": "Level Complete",
+ "ui_gp_hub_name_title": "Your Time:",
+ "ui_gp_rank_gold": "Gold",
+ "ui_gp_rank_silver": "Silver",
+ "ui_gp_rank_bronze": "Bronze",
+ "ui_gp_deaths_hub": "{0}",
+ "ui_gp_deaths": "{0}",
+ "ui_gp_challenge_floor": "FLOOR",
+ "ui_act_select_title": "Act Select",
+ "ui_gp_challenge_floors": "Floors:",
+ "ui_gp_challenge_time": "Your Time:",
+ "ui_achievement_title": "Achievements unlocked!",
+ "act_select_hard": "Hard mode",
+ "hell_locked": "LOCKED"
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/objectConfig.json b/gs/html5/vex5/assets/balance/objectConfig.json
new file mode 100644
index 0000000..80120d9
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/objectConfig.json
@@ -0,0 +1,18 @@
+{
+ "TimeNewElevator": 60,
+ "SpeedElevator": 2,
+ "ChallegeSteps": 30,
+ "minSizeView": 640,
+ "wireSparkSpeed": 0.15,
+ "TimeCooldown": 120,
+ "LevelsResetCheckPoints": [7],
+ "ropeUpVelY": 5,
+ "ropeDownVelY": 5,
+ "alertApper": 0.3,
+ "alertDisapper": 0.3,
+ "spikeBlockVelocity": 1,
+ "spikeBlockUp": -10,
+ "spikeBlockDown": -96,
+ "widthRoom": 1000,
+ "heightRoom": 500
+}
diff --git a/gs/html5/vex5/assets/balance/rooms/room01.json b/gs/html5/vex5/assets/balance/rooms/room01.json
new file mode 100644
index 0000000..f0635b8
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room01.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":350,"width":50,"height":700},{"type":"basicBlock","x":975,"y":350,"width":50,"height":700},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":675,"width":1000,"height":50},{"type":"iceBlock","x":550,"y":602,"width":800,"height":100},{"type":"spike30x","x":193,"y":641,"rotation":0},{"type":"spike30x","x":484,"y":642,"rotation":0},{"type":"spike30x","x":777,"y":641,"rotation":0},{"type":"spike30x","x":809,"y":642,"rotation":0},{"type":"iceBlock","x":466,"y":421,"width":830,"height":100},{"type":"iceBlock","x":534,"y":278,"width":830,"height":100},{"type":"finishPortal","x":926,"y":201},{"type":"basicBlock","x":99,"y":601,"width":99,"height":99},{"type":"checkpoint","x":100,"y":521},{"type":"buzzsawVerticalDown","x":222,"y":359},{"type":"buzzsawVerticalDown","x":582,"y":354},{"type":"buzzsawVerticalDown","x":575,"y":563},{"type":"buzzsawVerticalDown","x":407,"y":234},{"type":"buzzsawVerticalDown","x":793,"y":232},{"type":"spawnPoint","x":138,"y":531}],"width":2000,"height":1700}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room02.json b/gs/html5/vex5/assets/balance/rooms/room02.json
new file mode 100644
index 0000000..2133c59
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room02.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":350,"width":50,"height":700},{"type":"basicBlock","x":975,"y":350,"width":50,"height":700},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":675,"width":1000,"height":50},{"type":"checkpoint","x":129,"y":116},{"type":"swimmingPool","x":511,"y":451,"width":950,"height":400},{"type":"basicBlock","x":499,"y":300,"width":99,"height":500},{"type":"basicBlock","x":508,"y":502,"width":700,"height":99},{"type":"basicBlock","x":150,"y":201,"width":200,"height":99},{"type":"basicBlock","x":851,"y":201,"width":200,"height":99},{"type":"finishPortal","x":879,"y":125},{"type":"buzzsawVerticalDown","x":500,"y":480},{"type":"bouncingBuzzsaw","x":281,"y":80,"width":50},{"type":"bouncingBuzzsaw","x":376,"y":124,"width":50},{"type":"bouncingBuzzsaw","x":172,"y":279,"width":50},{"type":"bouncingBuzzsaw","x":80,"y":328,"width":50},{"type":"bouncingBuzzsaw","x":921,"y":328,"width":50},{"type":"bouncingBuzzsaw","x":828,"y":280,"width":50},{"type":"bouncingBuzzsaw","x":724,"y":68,"width":20},{"type":"bouncingBuzzsaw","x":625,"y":126,"width":50},{"type":"buzzsawVerticalDown","x":272,"y":502},{"type":"buzzsawVerticalDown","x":730,"y":503},{"type":"spawnPoint","x":155.0515463917526,"y":129.75945017182133}],"width":2000,"height":1700}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room03.json b/gs/html5/vex5/assets/balance/rooms/room03.json
new file mode 100644
index 0000000..7024f4a
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room03.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":350,"width":50,"height":700},{"type":"basicBlock","x":975,"y":350,"width":50,"height":700},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":675,"width":1000,"height":50},{"type":"lockBlock","x":501,"y":300,"width":100,"height":100},{"type":"lockBlock","x":501,"y":400,"width":100,"height":100},{"type":"lockBlock","x":501,"y":500,"width":100,"height":100},{"type":"basicBlock","x":400,"y":400,"width":99,"height":500},{"type":"basicBlock","x":601,"y":400,"width":99,"height":500},{"type":"finishPortal","x":498,"y":619},{"type":"checkpoint","x":105,"y":319},{"type":"basicBlock","x":99,"y":399,"width":99,"height":99},{"type":"spike30x","x":195,"y":59,"rotation":-180},{"type":"spike30x","x":487,"y":59,"rotation":-180},{"type":"spike30x","x":779,"y":59,"rotation":-180},{"type":"rope","x":273,"y":213,"height":400},{"type":"rope","x":719,"y":238,"height":400},{"type":"swimmingPool","x":200,"y":573,"width":300,"height":250},{"type":"key","x":271,"y":500},{"type":"sparkBlock","x":400,"y":403,"width":100,"height":100},{"type":"basicBlock","x":825,"y":529,"width":250,"height":99},{"type":"key","x":915,"y":115},{"type":"key","x":926,"y":614},{"type":"fallingSpike","x":708,"y":587,"rotation":-1080},{"type":"fallingSpike","x":720,"y":586,"rotation":-1080},{"type":"fallingSpike","x":734,"y":586,"rotation":-1080},{"type":"fallingSpike","x":747,"y":587,"rotation":-1080},{"type":"fallingSpike","x":761,"y":587,"rotation":-1080},{"type":"fallingSpike","x":775,"y":587,"rotation":-1080},{"type":"fallingSpike","x":791,"y":587,"rotation":-1080},{"type":"fallingSpike","x":805,"y":587,"rotation":-1080},{"type":"fallingSpike","x":819,"y":587,"rotation":-1080},{"type":"fallingSpike","x":834,"y":587,"rotation":-1080},{"type":"fallingSpike","x":847,"y":587,"rotation":-1080},{"type":"fallingSpike","x":862,"y":586,"rotation":-1080},{"type":"fallingSpike","x":875,"y":586,"rotation":-1080},{"type":"fallingSpike","x":890,"y":587,"rotation":-1080},{"type":"fallingSpike","x":905,"y":585,"rotation":-1080},{"type":"basicBlock","x":825,"y":220,"width":99,"height":350},{"type":"spike30x","x":812,"y":58,"rotation":-180},{"type":"spawnPoint","x":93,"y":305}],"width":2000,"height":1700}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room04.json b/gs/html5/vex5/assets/balance/rooms/room04.json
new file mode 100644
index 0000000..d90e985
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room04.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"basicBlock","x":99,"y":402,"width":99,"height":99},{"type":"checkpoint","x":113,"y":319},{"type":"spike30x","x":293,"y":442,"rotation":0},{"type":"spike30x","x":584,"y":442,"rotation":0},{"type":"spike30x","x":810,"y":441,"rotation":0},{"type":"circularCannon","x":264,"y":257},{"type":"circularCannon","x":576,"y":340},{"type":"circularCannon","x":859,"y":136},{"type":"buzzsaw","x":368,"y":117,"width":101},{"type":"buzzsaw","x":420,"y":221,"width":101},{"type":"buzzsaw","x":355,"y":351,"width":101},{"type":"buzzsaw","x":708,"y":363,"width":101},{"type":"buzzsaw","x":761,"y":252,"width":101},{"type":"buzzsaw","x":564,"y":203,"width":101},{"type":"buzzsaw","x":664,"y":138,"width":101},{"type":"finishPortal","x":841,"y":377},{"type":"buzzsaw","x":915,"y":271,"width":101},{"type":"spawnPoint","x":85,"y":332}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room05.json b/gs/html5/vex5/assets/balance/rooms/room05.json
new file mode 100644
index 0000000..7a14023
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room05.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"basicBlock","x":49,"y":299,"width":99,"height":99},{"type":"checkpoint","x":68,"y":223},{"type":"elevatorGeneratorUp","x":182,"y":466},{"type":"elevatorGeneratorUp","x":772,"y":466},{"type":"elevatorEliminatorUp","x":187,"y":29},{"type":"elevatorEliminatorUp","x":773,"y":33},{"type":"elevatorEliminatorDown","x":475,"y":469},{"type":"elevatorGeneratorDown","x":474,"y":32},{"type":"spike30x","x":196,"y":443,"rotation":0},{"type":"spike30x","x":488,"y":444,"rotation":0},{"type":"spike30x","x":780,"y":444,"rotation":0},{"type":"spike30x","x":801,"y":444,"rotation":0},{"type":"bouncingBuzzsaw","x":326,"y":101,"width":50},{"type":"bouncingBuzzsaw","x":627,"y":101,"width":50},{"type":"basicBlock","x":901,"y":322,"width":99,"height":50},{"type":"basicBlock","x":902,"y":206,"width":99,"height":50},{"type":"finishPortal","x":919,"y":263},{"type":"spike10x","x":901,"y":172,"rotation":0},{"type":"spike","x":846,"y":186,"rotation":-90},{"type":"spike","x":845,"y":197,"rotation":-90},{"type":"spike","x":847,"y":208,"rotation":-90},{"type":"spawnPoint","x":67,"y":173}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room06.json b/gs/html5/vex5/assets/balance/rooms/room06.json
new file mode 100644
index 0000000..7384047
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room06.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"basicBlock","x":901,"y":249,"width":99,"height":200},{"type":"basicBlock","x":99,"y":298,"width":99,"height":99},{"type":"pole","x":224,"y":175},{"type":"pole","x":374,"y":275},{"type":"pole","x":528,"y":226},{"type":"pole","x":628,"y":278},{"type":"spike30x","x":196,"y":443,"rotation":0},{"type":"spike30x","x":488,"y":443,"rotation":0},{"type":"spike30x","x":777,"y":442,"rotation":0},{"type":"spike30x","x":809,"y":441,"rotation":0},{"type":"checkpoint","x":105,"y":217},{"type":"finishPortal","x":907,"y":122},{"type":"pole","x":772,"y":223},{"type":"fallingSpike","x":172,"y":59,"rotation":-720},{"type":"fallingSpike","x":184,"y":59,"rotation":-720},{"type":"fallingSpike","x":197,"y":58,"rotation":-720},{"type":"fallingSpike","x":210,"y":58,"rotation":-720},{"type":"fallingSpike","x":223,"y":58,"rotation":-720},{"type":"fallingSpike","x":236,"y":58,"rotation":-720},{"type":"fallingSpike","x":249,"y":57,"rotation":-720},{"type":"fallingSpike","x":262,"y":58,"rotation":-720},{"type":"fallingSpike","x":276,"y":58,"rotation":-720},{"type":"fallingSpike","x":290,"y":57,"rotation":-720},{"type":"fallingSpike","x":302,"y":57,"rotation":-720},{"type":"fallingSpike","x":316,"y":56,"rotation":-720},{"type":"fallingSpike","x":331,"y":58,"rotation":-720},{"type":"fallingSpike","x":347,"y":59,"rotation":-720},{"type":"fallingSpike","x":363,"y":58,"rotation":-720},{"type":"fallingSpike","x":377,"y":58,"rotation":-720},{"type":"fallingSpike","x":391,"y":58,"rotation":-720},{"type":"fallingSpike","x":408,"y":59,"rotation":-720},{"type":"fallingSpike","x":424,"y":58,"rotation":-720},{"type":"fallingSpike","x":438,"y":59,"rotation":-720},{"type":"fallingSpike","x":454,"y":59,"rotation":-720},{"type":"fallingSpike","x":466,"y":59,"rotation":-720},{"type":"fallingSpike","x":482,"y":59,"rotation":-720},{"type":"fallingSpike","x":500,"y":59,"rotation":-720},{"type":"fallingSpike","x":516,"y":59,"rotation":-720},{"type":"fallingSpike","x":532,"y":59,"rotation":-720},{"type":"fallingSpike","x":549,"y":59,"rotation":-720},{"type":"fallingSpike","x":564,"y":59,"rotation":-720},{"type":"fallingSpike","x":579,"y":59,"rotation":-720},{"type":"fallingSpike","x":593,"y":57,"rotation":-720},{"type":"fallingSpike","x":607,"y":57,"rotation":-720},{"type":"fallingSpike","x":622,"y":57,"rotation":-720},{"type":"fallingSpike","x":636,"y":57,"rotation":-720},{"type":"fallingSpike","x":652,"y":59,"rotation":-720},{"type":"fallingSpike","x":669,"y":59,"rotation":-720},{"type":"fallingSpike","x":685,"y":59,"rotation":-720},{"type":"fallingSpike","x":700,"y":58,"rotation":-720},{"type":"fallingSpike","x":715,"y":59,"rotation":-720},{"type":"fallingSpike","x":732,"y":59,"rotation":-720},{"type":"fallingSpike","x":747,"y":58,"rotation":-720},{"type":"fallingSpike","x":764,"y":59,"rotation":-720},{"type":"fallingSpike","x":783,"y":59,"rotation":-720},{"type":"spawnPoint","x":81,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room07.json b/gs/html5/vex5/assets/balance/rooms/room07.json
new file mode 100644
index 0000000..ddb27a2
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room07.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"pushBlock","x":174,"y":325,"width":50,"height":50},{"type":"spike30x","x":196,"y":443,"rotation":0},{"type":"spike30x","x":488,"y":442,"rotation":0},{"type":"spike30x","x":780,"y":441,"rotation":0},{"type":"spike30x","x":813,"y":441,"rotation":0},{"type":"basicBlock","x":99,"y":401,"width":99,"height":99},{"type":"iceBlock","x":499,"y":376,"width":700,"height":50},{"type":"checkpoint","x":105,"y":325},{"type":"basicBlock","x":902,"y":235,"width":99,"height":70},{"type":"finishPortal","x":914,"y":172},{"type":"bouncingBuzzsaw","x":224,"y":176,"width":50},{"type":"bouncingBuzzsaw","x":274,"y":141,"width":50},{"type":"bouncingBuzzsaw","x":323,"y":223,"width":50},{"type":"bouncingBuzzsaw","x":374,"y":136,"width":50},{"type":"bouncingBuzzsaw","x":424,"y":136,"width":50},{"type":"bouncingBuzzsaw","x":475,"y":176,"width":50},{"type":"bouncingBuzzsaw","x":525,"y":184,"width":50},{"type":"bouncingBuzzsaw","x":576,"y":177,"width":50},{"type":"bouncingBuzzsaw","x":627,"y":225,"width":50},{"type":"spawnPoint","x":81,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room08.json b/gs/html5/vex5/assets/balance/rooms/room08.json
new file mode 100644
index 0000000..161b999
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room08.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"basicBlock","x":99,"y":440,"width":99,"height":20},{"type":"bounceBlock","x":548,"y":440,"width":805,"height":20},{"type":"bounceBlock","x":452,"y":310,"width":805,"height":20},{"type":"bounceBlock","x":547,"y":179,"width":805,"height":20},{"type":"finishPortal","x":920,"y":109},{"type":"checkpoint","x":94,"y":399},{"type":"buzzsawOnStick","x":324,"y":310,"rotation":40},{"type":"buzzsawOnStick","x":670,"y":179,"rotation":40},{"type":"buzzsawVerticalDown","x":568,"y":241},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room09.json b/gs/html5/vex5/assets/balance/rooms/room09.json
new file mode 100644
index 0000000..7cc2602
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room09.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"sparkBlock","x":199,"y":400,"width":100,"height":100},{"type":"sparkBlock","x":349,"y":300,"width":100,"height":100},{"type":"sparkBlock","x":501,"y":199,"width":100,"height":100},{"type":"sparkBlock","x":651,"y":150,"width":100,"height":100},{"type":"buzzsawOnStick","x":355,"y":311,"rotation":56},{"type":"buzzsaw","x":429,"y":454,"width":60},{"type":"buzzsaw","x":572,"y":452,"width":60},{"type":"buzzsaw","x":724,"y":453,"width":60},{"type":"checkpoint","x":80,"y":423},{"type":"finishPortal","x":917,"y":420},{"type":"lockBlock","x":829,"y":400,"width":100,"height":100},{"type":"basicBlock","x":870,"y":301,"width":180,"height":99},{"type":"timedKey","x":204,"y":322},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room10.json b/gs/html5/vex5/assets/balance/rooms/room10.json
new file mode 100644
index 0000000..db4d1e4
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room10.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":487,"y":441,"rotation":0},{"type":"spike30x","x":779,"y":441,"rotation":0},{"type":"spike30x","x":811,"y":441,"rotation":0},{"type":"basicBlock","x":901,"y":401,"width":99,"height":99},{"type":"finishPortal","x":914,"y":322},{"type":"basicBlock","x":99,"y":138,"width":99,"height":50},{"type":"glassBlock","x":199,"y":200,"width":100,"height":100},{"type":"glassBlock","x":199,"y":300,"width":100,"height":100},{"type":"glassBlock","x":300,"y":100,"width":100,"height":100},{"type":"glassBlock","x":200,"y":400,"width":100,"height":100},{"type":"glassBlock","x":300,"y":400,"width":100,"height":100},{"type":"glassBlock","x":400,"y":400,"width":100,"height":100},{"type":"glassBlock","x":500,"y":400,"width":100,"height":100},{"type":"glassBlock","x":600,"y":400,"width":100,"height":100},{"type":"glassBlock","x":700,"y":400,"width":100,"height":100},{"type":"glassBlock","x":800,"y":400,"width":100,"height":100},{"type":"glassBlock","x":500,"y":200,"width":100,"height":100},{"type":"glassBlock","x":500,"y":300,"width":100,"height":100},{"type":"glassBlock","x":600,"y":100,"width":100,"height":100},{"type":"glassBlock","x":800,"y":300,"width":100,"height":100},{"type":"glassBlock","x":699,"y":300,"width":100,"height":100},{"type":"glassBlock","x":899,"y":200,"width":100,"height":100},{"type":"glassBlock","x":800,"y":200,"width":100,"height":100},{"type":"glassBlock","x":299,"y":200,"width":100,"height":100},{"type":"glassBlock","x":599,"y":301,"width":100,"height":100},{"type":"buzzsawHorizontalFast","x":299,"y":199},{"type":"buzzsawVerticalDown","x":697,"y":302},{"type":"buzzsawHorizontalFast","x":601,"y":99},{"type":"checkpoint","x":101,"y":91},{"type":"buzzsawHorizontalFast","x":695,"y":305},{"type":"buzzsawVerticalDown","x":897,"y":154},{"type":"spawnPoint","x":95,"y":108}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room11.json b/gs/html5/vex5/assets/balance/rooms/room11.json
new file mode 100644
index 0000000..0f7fe02
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room11.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"invisBlock","x":200,"y":376,"width":100,"height":50},{"type":"invisBlock","x":398,"y":375,"width":100,"height":50},{"type":"invisBlock","x":602,"y":375,"width":100,"height":50},{"type":"invisBlock","x":801,"y":375,"width":100,"height":50},{"type":"invisBlock","x":699,"y":223,"width":100,"height":50},{"type":"spike30x","x":197,"y":441,"rotation":0},{"type":"spike30x","x":490,"y":442,"rotation":0},{"type":"spike30x","x":782,"y":442,"rotation":0},{"type":"spike30x","x":815,"y":442,"rotation":0},{"type":"invisBlock","x":499,"y":225,"width":100,"height":50},{"type":"invisBlock","x":299,"y":225,"width":100,"height":50},{"type":"invisBlock","x":99,"y":173,"width":100,"height":50},{"type":"finishPortal","x":101,"y":96},{"type":"invisBlock","x":100,"y":375,"width":100,"height":50},{"type":"checkpoint","x":104,"y":316},{"type":"bouncingBuzzsaw","x":202,"y":98,"width":50},{"type":"bouncingBuzzsaw","x":402,"y":99,"width":50},{"type":"bouncingBuzzsaw","x":600,"y":96,"width":50},{"type":"bouncingBuzzsaw","x":812,"y":92,"width":50},{"type":"bouncingBuzzsaw","x":700,"y":89,"width":50},{"type":"bouncingBuzzsaw","x":502,"y":97,"width":50},{"type":"bouncingBuzzsaw","x":295,"y":97,"width":50},{"type":"bounceBlock","x":898,"y":369,"width":50,"height":40},{"type":"spawnPoint","x":96,"y":297}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room12.json b/gs/html5/vex5/assets/balance/rooms/room12.json
new file mode 100644
index 0000000..72dd5d6
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room12.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"solarBlock","x":249,"y":349,"width":100,"height":100},{"type":"checkpoint","x":108,"y":364},{"type":"basicBlock","x":249,"y":223,"width":99,"height":150},{"type":"finishPortal","x":110,"y":111},{"type":"lightSwitch","x":172,"y":321},{"type":"speedBlock","x":500,"y":425,"width":900,"height":50},{"type":"speedBlockLeft","x":549,"y":276,"width":500,"height":50},{"type":"spike10x","x":941,"y":362,"rotation":-90},{"type":"spike10x","x":306,"y":223,"rotation":90},{"type":"reaper","x":579,"y":275,"rotation":0,"width":238.1954887218045},{"type":"pole","x":857,"y":309},{"type":"pole","x":385,"y":173},{"type":"spawnPoint","x":91,"y":396}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room13.json b/gs/html5/vex5/assets/balance/rooms/room13.json
new file mode 100644
index 0000000..28c7405
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room13.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"checkpoint","x":90,"y":250},{"type":"finishPortal","x":872,"y":81},{"type":"elevatorGeneratorUp","x":316,"y":452},{"type":"basicBlock","x":500,"y":447,"width":900,"height":50},{"type":"elevatorEliminatorUp","x":321,"y":34},{"type":"basicBlock","x":500,"y":304,"width":900,"height":40},{"type":"pushBlock","x":169,"y":251,"width":50,"height":50},{"type":"elevatorGeneratorUp","x":565,"y":451},{"type":"elevatorEliminatorUp","x":569,"y":43},{"type":"buzzsawOnStick","x":453,"y":302,"rotation":72},{"type":"buzzsawOnStick","x":846,"y":306,"rotation":72},{"type":"spawnPoint","x":102,"y":191}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room14.json b/gs/html5/vex5/assets/balance/rooms/room14.json
new file mode 100644
index 0000000..b83574a
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room14.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"appearingBlock","x":176,"y":325,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":276,"y":325,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":374,"y":275,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":476,"y":325,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":575,"y":276,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":677,"y":225,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":775,"y":173,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"basicBlock","x":74,"y":325,"width":50,"height":50},{"type":"checkpoint","x":73,"y":259},{"type":"finishPortal","x":927,"y":422},{"type":"basicBlock","x":874,"y":303,"width":30,"height":350},{"type":"swimmingPool","x":450,"y":400,"width":840,"height":100},{"type":"sparkBlock","x":100,"y":400,"width":100,"height":100},{"type":"buzzsawOnStick","x":783,"y":312,"rotation":24},{"type":"spawnPoint","x":102,"y":191}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room15.json b/gs/html5/vex5/assets/balance/rooms/room15.json
new file mode 100644
index 0000000..d99e1c5
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room15.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"sparkBlock","x":248,"y":401,"width":100,"height":100},{"type":"sparkBlock","x":347,"y":401,"width":100,"height":100},{"type":"sparkBlock","x":447,"y":401,"width":100,"height":100},{"type":"buzzsawOnStick","x":355,"y":401,"rotation":64},{"type":"buzzsawOnStick","x":674,"y":325,"rotation":64},{"type":"finishPortal","x":906,"y":421},{"type":"checkpoint","x":108,"y":416},{"type":"spawnPoint","x":86,"y":449}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room16.json b/gs/html5/vex5/assets/balance/rooms/room16.json
new file mode 100644
index 0000000..a38ff38
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room16.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"iceBlock","x":550,"y":400,"width":800,"height":100},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":487,"y":442,"rotation":0},{"type":"spike30x","x":778,"y":442,"rotation":0},{"type":"spike30x","x":811,"y":441,"rotation":0},{"type":"finishPortal","x":912,"y":321},{"type":"basicBlock","x":97,"y":401,"width":99,"height":99},{"type":"checkpoint","x":94,"y":318},{"type":"buzzsaw","x":269,"y":281,"width":101},{"type":"buzzsaw","x":484,"y":282,"width":101},{"type":"buzzsaw","x":722,"y":283,"width":101},{"type":"bouncingBuzzsaw","x":371,"y":119,"width":60},{"type":"bouncingBuzzsaw","x":623,"y":121,"width":60},{"type":"spawnPoint","x":96,"y":311}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room17.json b/gs/html5/vex5/assets/balance/rooms/room17.json
new file mode 100644
index 0000000..f93672f
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room17.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"rope","x":205,"y":250,"height":450.00000000000006},{"type":"rope","x":351,"y":262,"height":450.00000000000006},{"type":"rope","x":502,"y":256,"height":450.00000000000006},{"type":"rope","x":653,"y":267,"height":450.00000000000006},{"type":"rope","x":798,"y":257,"height":450.00000000000006},{"type":"finishPortal","x":924,"y":255},{"type":"basicBlock","x":98,"y":302,"width":99,"height":99},{"type":"checkpoint","x":97,"y":219},{"type":"spike30x","x":195,"y":59,"rotation":-180},{"type":"spike30x","x":490,"y":58,"rotation":-180},{"type":"spike30x","x":782,"y":58,"rotation":-180},{"type":"spike30x","x":804,"y":56,"rotation":-180},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":492,"y":442,"rotation":0},{"type":"spike30x","x":785,"y":442,"rotation":0},{"type":"spike30x","x":840,"y":444,"rotation":0},{"type":"buzzsawHorizontalFast","x":276,"y":350},{"type":"buzzsawHorizontalFast","x":433,"y":237},{"type":"buzzsawHorizontalFast","x":506,"y":116},{"type":"buzzsawHorizontalFast","x":736,"y":238},{"type":"buzzsawHorizontalFast","x":580,"y":380},{"type":"spawnPoint","x":100,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room18.json b/gs/html5/vex5/assets/balance/rooms/room18.json
new file mode 100644
index 0000000..51585a0
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room18.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"rope","x":205,"y":250,"height":450.00000000000006},{"type":"rope","x":351,"y":262,"height":450.00000000000006},{"type":"rope","x":502,"y":256,"height":450.00000000000006},{"type":"rope","x":653,"y":267,"height":450.00000000000006},{"type":"rope","x":798,"y":257,"height":450.00000000000006},{"type":"finishPortal","x":925.0079239302695,"y":324.56418383518223},{"type":"basicBlock","x":98,"y":302,"width":99,"height":99},{"type":"checkpoint","x":97,"y":219},{"type":"spike30x","x":195,"y":59,"rotation":-180},{"type":"spike30x","x":490,"y":58,"rotation":-180},{"type":"spike30x","x":782,"y":58,"rotation":-180},{"type":"spike30x","x":804,"y":56,"rotation":-180},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":492,"y":442,"rotation":0},{"type":"spike30x","x":785,"y":442,"rotation":0},{"type":"spike30x","x":840,"y":444,"rotation":0},{"type":"buzzsawOnStick","x":348.90649762282095,"y":315.43581616481777,"rotation":24},{"type":"buzzsawOnStick","x":649.1283676703645,"y":321.52139461172743,"rotation":24},{"type":"buzzsawOnStick","x":503.0744849445325,"y":138.9540412044374,"rotation":24},{"type":"buzzsawOnStick","x":796.1965134706815,"y":144.02535657686212,"rotation":24},{"type":"spawnPoint","x":100,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room19.json b/gs/html5/vex5/assets/balance/rooms/room19.json
new file mode 100644
index 0000000..d82ea8f
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room19.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"rope","x":205,"y":250,"height":450.00000000000006},{"type":"rope","x":351,"y":262,"height":450.00000000000006},{"type":"rope","x":502,"y":256,"height":450.00000000000006},{"type":"rope","x":653,"y":267,"height":450.00000000000006},{"type":"rope","x":798,"y":257,"height":450.00000000000006},{"type":"finishPortal","x":925.0079239302695,"y":324.56418383518223},{"type":"basicBlock","x":98,"y":302,"width":99,"height":99},{"type":"checkpoint","x":97,"y":219},{"type":"spike30x","x":195,"y":59,"rotation":-180},{"type":"spike30x","x":490,"y":58,"rotation":-180},{"type":"spike30x","x":782,"y":58,"rotation":-180},{"type":"spike30x","x":804,"y":56,"rotation":-180},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":492,"y":442,"rotation":0},{"type":"spike30x","x":785,"y":442,"rotation":0},{"type":"spike30x","x":840,"y":444,"rotation":0},{"type":"bouncingBuzzsaw","x":202.3367697594502,"y":128.659793814433,"width":70},{"type":"bouncingBuzzsaw","x":348.59106529209623,"y":248.52233676975948,"width":70},{"type":"bouncingBuzzsaw","x":500.3436426116839,"y":109.96563573883162,"width":70},{"type":"bouncingBuzzsaw","x":649.8969072164949,"y":278.213058419244,"width":70},{"type":"bouncingBuzzsaw","x":795.0515463917526,"y":106.66666666666667,"width":70},{"type":"spawnPoint","x":100,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room20.json b/gs/html5/vex5/assets/balance/rooms/room20.json
new file mode 100644
index 0000000..5426627
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room20.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"rope","x":205,"y":250,"height":450.00000000000006},{"type":"rope","x":729.0721649484536,"y":238.62542955326464,"height":450.00000000000006},{"type":"finishPortal","x":925.0079239302695,"y":324.56418383518223},{"type":"basicBlock","x":98,"y":302,"width":99,"height":99},{"type":"checkpoint","x":97,"y":219},{"type":"spike30x","x":195,"y":59,"rotation":-180},{"type":"spike30x","x":490,"y":58,"rotation":-180},{"type":"spike30x","x":782,"y":58,"rotation":-180},{"type":"spike30x","x":804,"y":56,"rotation":-180},{"type":"spike30x","x":196,"y":441,"rotation":0},{"type":"spike30x","x":492,"y":442,"rotation":0},{"type":"spike30x","x":785,"y":442,"rotation":0},{"type":"spike30x","x":840,"y":444,"rotation":0},{"type":"pole","x":381.5807560137457,"y":327.69759450171824},{"type":"pole","x":524.5360824742269,"y":276.0137457044674},{"type":"bouncingBuzzsaw","x":272.7147766323024,"y":116.56357388316152,"width":70},{"type":"bouncingBuzzsaw","x":447.56013745704473,"y":122.0618556701031,"width":40},{"type":"bouncingBuzzsaw","x":607.0103092783505,"y":135.2577319587629,"width":40},{"type":"bouncingBuzzsaw","x":829.1408934707905,"y":178.14432989690724,"width":40},{"type":"bouncingBuzzsaw","x":724.6735395189004,"y":109.96563573883162,"width":70},{"type":"spawnPoint","x":100,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room21.json b/gs/html5/vex5/assets/balance/rooms/room21.json
new file mode 100644
index 0000000..f33c07f
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room21.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"appearingBlock","x":176,"y":325,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":276.0137457044674,"y":274.9140893470791,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":774.1580756013747,"y":323.298969072165,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"basicBlock","x":74,"y":325,"width":50,"height":50},{"type":"checkpoint","x":73,"y":259},{"type":"finishPortal","x":872.0274914089348,"y":142.9553264604811},{"type":"spike30x","x":195.7388316151203,"y":442.0618556701031,"rotation":0},{"type":"spike30x","x":487.1477663230241,"y":443.1615120274914,"rotation":0},{"type":"spike30x","x":777.4570446735396,"y":442.0618556701031,"rotation":0},{"type":"spike30x","x":810.4467353951891,"y":440.9621993127148,"rotation":0},{"type":"appearingBlock","x":874.2268041237114,"y":272.7147766323024,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"pole","x":423.36769759450175,"y":227.62886597938146},{"type":"pole","x":569.6219931271478,"y":174.84536082474227},{"type":"spawnPoint","x":73.67697594501719,"y":224.32989690721652}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room22.json b/gs/html5/vex5/assets/balance/rooms/room22.json
new file mode 100644
index 0000000..3900b7b
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room22.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"appearingBlock","x":176,"y":325,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":276.0137457044674,"y":274.9140893470791,"width":50,"height":50,"initVisible":0,"timeShow":60,"timeHide":60},{"type":"appearingBlock","x":774.1580756013747,"y":323.298969072165,"width":50,"height":50,"initVisible":1,"timeShow":60,"timeHide":60},{"type":"basicBlock","x":74,"y":325,"width":50,"height":50},{"type":"checkpoint","x":73,"y":259},{"type":"finishPortal","x":920.9508716323297,"y":170.3961965134707},{"type":"spike30x","x":195.7388316151203,"y":442.0618556701031,"rotation":0},{"type":"spike30x","x":487.1477663230241,"y":443.1615120274914,"rotation":0},{"type":"spike30x","x":777.4570446735396,"y":442.0618556701031,"rotation":0},{"type":"spike30x","x":810.4467353951891,"y":440.9621993127148,"rotation":0},{"type":"invisBlockDown","x":424.9762282091918,"y":323.5499207606973,"width":50,"height":50},{"type":"invisBlockDown","x":525.3882725832013,"y":272.8367670364501,"width":50,"height":50},{"type":"invisBlockDown","x":674.4849445324882,"y":321.52139461172743,"width":50,"height":50},{"type":"invisBlockDown","x":874.2947702060222,"y":272.8367670364501,"width":50,"height":50},{"type":"spawnPoint","x":73.67697594501719,"y":224.32989690721652}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room24.json b/gs/html5/vex5/assets/balance/rooms/room24.json
new file mode 100644
index 0000000..d652793
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room24.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"checkpoint","x":73.67697594501719,"y":368.38487972508597},{"type":"finishPortal","x":914.9140893470791,"y":360.6872852233677},{"type":"speedBlockLeft","x":524.5360824742269,"y":426.6666666666667,"width":851,"height":50},{"type":"basicBlock","x":52.78350515463918,"y":435.46391752577324,"width":99,"height":70},{"type":"bouncingBuzzsaw","x":224.32989690721652,"y":122.0618556701031,"width":50},{"type":"bouncingBuzzsaw","x":324.3986254295533,"y":172.64604810996565,"width":50},{"type":"bouncingBuzzsaw","x":424.46735395189006,"y":224.32989690721652,"width":50},{"type":"bouncingBuzzsaw","x":525.6357388316152,"y":127.56013745704469,"width":50},{"type":"bouncingBuzzsaw","x":623.5051546391753,"y":224.32989690721652,"width":50},{"type":"bouncingBuzzsaw","x":724.6735395189004,"y":274.9140893470791,"width":50},{"type":"spawnPoint","x":70.37800687285224,"y":385.979381443299}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room25.json b/gs/html5/vex5/assets/balance/rooms/room25.json
new file mode 100644
index 0000000..5980dd2
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room25.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"checkpoint","x":80,"y":423},{"type":"finishPortal","x":911.8225039619651,"y":228.20919175911254},{"type":"lockBlock","x":828.6529318541997,"y":197.7812995245642,"width":100,"height":100},{"type":"basicBlock","x":869.2234548335975,"y":296.1648177496038,"width":180,"height":99},{"type":"timedKey","x":177.4960380348653,"y":372.23454833597464},{"type":"sparkBlock","x":300.2218700475436,"y":399.61965134706816,"width":100,"height":100},{"type":"sparkBlock","x":400.63391442155313,"y":300.2218700475436,"width":100,"height":100},{"type":"sparkBlock","x":400.63391442155313,"y":399.61965134706816,"width":100,"height":100},{"type":"swimmingPool","x":699.8415213946117,"y":376.2916006339144,"width":500,"height":150},{"type":"basicBlock","x":828.6529318541997,"y":99.39778129952457,"width":99,"height":99},{"type":"pole","x":573.0586370839936,"y":224.15213946117274},{"type":"pole","x":674.4849445324882,"y":175.46751188589542},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room26.json b/gs/html5/vex5/assets/balance/rooms/room26.json
new file mode 100644
index 0000000..168aea2
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room26.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"checkpoint","x":80,"y":423},{"type":"finishPortal","x":912.8367670364502,"y":415.8478605388273},{"type":"lockBlock","x":897.622820919176,"y":304.2789223454834,"width":100,"height":100},{"type":"basicBlock","x":276.8938193343899,"y":301.23613312202855,"width":50,"height":300},{"type":"timedKey","x":526.4025356576863,"y":186.6244057052298},{"type":"bounceBlock","x":226.18066561014263,"y":423.9619651347068,"width":50,"height":50},{"type":"basicBlock","x":424.9762282091918,"y":199.80982567353408,"width":50,"height":300},{"type":"basicBlock","x":576.1014263074485,"y":302.2503961965135,"width":50,"height":300},{"type":"basicBlock","x":725.1980982567354,"y":197.7812995245642,"width":50,"height":300},{"type":"basicBlock","x":825.6101426307449,"y":301.23613312202855,"width":50,"height":300},{"type":"glassBlock","x":350.93502377179084,"y":200.82408874801902,"width":100,"height":100},{"type":"glassBlock","x":349.92076069730587,"y":301.23613312202855,"width":100,"height":100},{"type":"glassBlock","x":650.1426307448495,"y":299.20760697305866,"width":100,"height":100},{"type":"glassBlock","x":650.1426307448495,"y":200.82408874801902,"width":100,"height":100},{"type":"glassBlock","x":901.6798732171158,"y":201.83835182250397,"width":100,"height":100},{"type":"bounceBlock","x":526.4025356576863,"y":424.9762282091918,"width":50,"height":50},{"type":"bounceBlock","x":774.8969889064977,"y":424.9762282091918,"width":50,"height":50},{"type":"buzzsawHorizontalFast","x":343.8351822503962,"y":301.23613312202855},{"type":"buzzsawHorizontalFast","x":651.1283676703645,"y":301.25039619651346},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room27.json b/gs/html5/vex5/assets/balance/rooms/room27.json
new file mode 100644
index 0000000..9b1891d
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room27.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"checkpoint","x":80,"y":423},{"type":"finishPortal","x":917.1134020618557,"y":134.15807560137458},{"type":"basicBlock","x":276.8938193343899,"y":301.23613312202855,"width":50,"height":300},{"type":"bounceBlock","x":226.52920962199315,"y":425.5670103092784,"width":50,"height":50},{"type":"basicBlock","x":427.766323024055,"y":200.13745704467357,"width":50,"height":300},{"type":"basicBlock","x":525.6357388316152,"y":301.30584192439864,"width":50,"height":300},{"type":"glassBlock","x":350.93502377179084,"y":200.82408874801902,"width":100,"height":100},{"type":"basicBlock","x":900.618556701031,"y":300.2061855670103,"width":99,"height":300},{"type":"spike30x","x":696.0824742268042,"y":440.9621993127148,"rotation":0},{"type":"spike30x","x":718.0756013745705,"y":440.9621993127148,"rotation":0},{"type":"pole","x":719.1752577319588,"y":125.36082474226805},{"type":"glassBlock","x":350.79037800687286,"y":300.2061855670103,"width":100,"height":100},{"type":"buzzsawOnStick","x":428.8796680497925,"y":254.93775933609956,"rotation":64},{"type":"buzzsawOnStick","x":720.2749140893471,"y":271.6151202749141,"rotation":64},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room28.json b/gs/html5/vex5/assets/balance/rooms/room28.json
new file mode 100644
index 0000000..5e1980c
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room28.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"basicBlock","x":99,"y":440,"width":99,"height":20},{"type":"bounceBlock","x":548,"y":440,"width":805,"height":20},{"type":"bounceBlock","x":452,"y":310,"width":805,"height":20},{"type":"finishPortal","x":920,"y":109},{"type":"checkpoint","x":94,"y":399},{"type":"basicBlock","x":199.80982567353408,"y":163.2963549920761,"width":99,"height":30},{"type":"pole","x":375.2773375594295,"y":125.76862123613313},{"type":"pole","x":524.3740095087163,"y":125.76862123613313},{"type":"pole","x":673.4706814580032,"y":125.76862123613313},{"type":"pole","x":820.5388272583201,"y":125.76862123613313},{"type":"bouncingBuzzsaw","x":455.4041204437401,"y":122.72583201267828,"width":50},{"type":"bouncingBuzzsaw","x":600.4437400950872,"y":122.72583201267828,"width":50},{"type":"bouncingBuzzsaw","x":751.5689381933439,"y":122.72583201267828,"width":50},{"type":"bouncingBuzzsaw","x":299.20760697305866,"y":120.6973058637084,"width":50},{"type":"reaper","x":520.3169572107765,"y":310.364500792393,"rotation":0,"width":194.52631578947367},{"type":"spawnPoint","x":109,"y":380}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room29.json b/gs/html5/vex5/assets/balance/rooms/room29.json
new file mode 100644
index 0000000..12cb7ff
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room29.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":350,"width":50,"height":700},{"type":"basicBlock","x":975,"y":350,"width":50,"height":700},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":675,"width":1000,"height":50},{"type":"checkpoint","x":891.8213058419245,"y":119.86254295532648},{"type":"swimmingPool","x":473.9518900343643,"y":450.8591065292096,"width":950,"height":400},{"type":"basicBlock","x":500.3436426116839,"y":294.70790378006876,"width":99,"height":500},{"type":"basicBlock","x":500.3436426116839,"y":500.3436426116839,"width":700,"height":99},{"type":"basicBlock","x":150,"y":201,"width":200,"height":99},{"type":"basicBlock","x":851,"y":201,"width":200,"height":99},{"type":"finishPortal","x":151.75257731958763,"y":122.0618556701031},{"type":"buzzsawOnStick","x":497.04467353951895,"y":307.90378006872857,"rotation":104},{"type":"buzzsawOnStick","x":208.9347079037801,"y":347.491408934708,"rotation":104},{"type":"buzzsawOnStick","x":784.0549828178695,"y":340.89347079037805,"rotation":104},{"type":"buzzsawOnStick","x":505.84192439862545,"y":503.6426116838488,"rotation":104},{"type":"spawnPoint","x":835.7388316151204,"y":128.659793814433}],"width":2000,"height":1700}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/balance/rooms/room30.json b/gs/html5/vex5/assets/balance/rooms/room30.json
new file mode 100644
index 0000000..3a21717
--- /dev/null
+++ b/gs/html5/vex5/assets/balance/rooms/room30.json
@@ -0,0 +1 @@
+{"objects":[{"type":"basicBlock","x":25,"y":250,"width":50,"height":500},{"type":"basicBlock","x":975,"y":250,"width":50,"height":500},{"type":"basicBlock","x":500,"y":25,"width":1000,"height":50},{"type":"basicBlock","x":500,"y":475,"width":1000,"height":50},{"type":"pushBlock","x":174,"y":325,"width":50,"height":50},{"type":"spike30x","x":196,"y":443,"rotation":0},{"type":"spike30x","x":488,"y":442,"rotation":0},{"type":"spike30x","x":780,"y":441,"rotation":0},{"type":"spike30x","x":813,"y":441,"rotation":0},{"type":"basicBlock","x":99,"y":401,"width":99,"height":99},{"type":"iceBlock","x":499,"y":376,"width":700,"height":50},{"type":"checkpoint","x":105,"y":325},{"type":"basicBlock","x":551.7591125198098,"y":234.2947702060222,"width":99,"height":70},{"type":"finishPortal","x":823.581616481775,"y":119.68304278922346},{"type":"buzzsawOnStick","x":553.7876386687798,"y":234.2947702060222,"rotation":72},{"type":"pole","x":673.4706814580032,"y":172.42472266244056},{"type":"bouncingBuzzsaw","x":276.8938193343899,"y":146.053882725832,"width":50},{"type":"bouncingBuzzsaw","x":323.5499207606973,"y":172.4247226624406,"width":50},{"type":"spawnPoint","x":81,"y":215}],"width":2000,"height":1500}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/blank b/gs/html5/vex5/assets/blank
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/gs/html5/vex5/assets/blank
@@ -0,0 +1 @@
+
diff --git a/gs/html5/vex5/assets/coco/transition.json b/gs/html5/vex5/assets/coco/transition.json
new file mode 100644
index 0000000..1b5dabe
--- /dev/null
+++ b/gs/html5/vex5/assets/coco/transition.json
@@ -0,0 +1,481 @@
+{
+ "hierarchy": {
+ "name": "transition",
+ "children": [
+ {
+ "name": "base1"
+ },
+ {
+ "name": "base2"
+ },
+ {
+ "name": "base3"
+ },
+ {
+ "name": "base4"
+ },
+ {
+ "name": "base5"
+ },
+ {
+ "name": "base6"
+ },
+ {
+ "name": "base7"
+ },
+ {
+ "name": "base8"
+ },
+ {
+ "name": "base9"
+ },
+ {
+ "name": "base10"
+ },
+ {
+ "name": "base11"
+ },
+ {
+ "name": "base12"
+ },
+ {
+ "name": "base13"
+ },
+ {
+ "name": "base14"
+ },
+ {
+ "name": "base15"
+ },
+ {
+ "name": "base16"
+ },
+ {
+ "name": "base17"
+ },
+ {
+ "name": "base18"
+ },
+ {
+ "name": "base19"
+ },
+ {
+ "name": "base20"
+ },
+ {
+ "name": "base21"
+ },
+ {
+ "name": "base22"
+ },
+ {
+ "name": "base23"
+ },
+ {
+ "name": "base24"
+ },
+ {
+ "name": "base25"
+ },
+ {
+ "name": "base26"
+ },
+ {
+ "name": "base27"
+ },
+ {
+ "name": "base28"
+ },
+ {
+ "name": "base30"
+ },
+ {
+ "name": "base31"
+ },
+ {
+ "name": "base32"
+ },
+ {
+ "name": "base33"
+ },
+ {
+ "name": "base34"
+ },
+ {
+ "name": "base35"
+ },
+ {
+ "name": "base36"
+ },
+ {
+ "name": "logo"
+ }
+ ],
+ "animations": [
+ "transition_out",
+ "transition_in",
+ "transition_stand"
+ ]
+ },
+ "properties": {
+ "base1": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -445,
+ "y": -287
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base2": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -297,
+ "y": -289
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base3": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -149,
+ "y": -288
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base4": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 0,
+ "y": -288
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base5": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 148,
+ "y": -289
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base6": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 296,
+ "y": -288
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base7": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 444,
+ "y": -288
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base8": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -445,
+ "y": -139
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base9": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -297,
+ "y": -140
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base10": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -149,
+ "y": -139
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base11": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 0,
+ "y": -139
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base12": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 148,
+ "y": -140
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base13": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 296,
+ "y": -139
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base14": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 444,
+ "y": -140
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base15": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -445,
+ "y": 8
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base16": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -297,
+ "y": 8
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base17": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -149,
+ "y": 9
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base18": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -1,
+ "y": 9
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base19": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 146,
+ "y": 8
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base20": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 294,
+ "y": 9
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base21": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 442,
+ "y": 9
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base22": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -446,
+ "y": 156
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base23": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -298,
+ "y": 156
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base24": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -150,
+ "y": 157
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base25": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -1,
+ "y": 157
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base26": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 147,
+ "y": 156
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base27": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 295,
+ "y": 157
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base28": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 443,
+ "y": 155
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base30": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -446,
+ "y": 306
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base31": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -297,
+ "y": 305
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base32": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": -149,
+ "y": 306
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base33": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 0,
+ "y": 306
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base34": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 148,
+ "y": 305
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base35": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 297,
+ "y": 306
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "base36": {
+ "file": "transition_asset.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 445,
+ "y": 304
+ },
+ "angle": 45,
+ "type": "sprite"
+ },
+ "logo": {
+ "file": "mm_logo.png",
+ "image": "SIMPLE",
+ "position": {
+ "x": 0,
+ "y": 0
+ },
+ "type": "sprite"
+ }
+ }
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/coco/transition/transition_in.json b/gs/html5/vex5/assets/coco/transition/transition_in.json
new file mode 100644
index 0000000..689bd64
--- /dev/null
+++ b/gs/html5/vex5/assets/coco/transition/transition_in.json
@@ -0,0 +1,631 @@
+{
+ "name": "transition_in",
+ "speed": 1,
+ "mode": "normal",
+ "data": {
+ "base1": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 1
+ }
+ ]
+ },
+ "base2": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 1
+ }
+ ]
+ },
+ "base3": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base4": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base5": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base6": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 0
+ },
+ {
+ "frame": 750,
+ "value": 1
+ }
+ ]
+ },
+ "base7": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base8": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 1
+ }
+ ]
+ },
+ "base9": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base10": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base11": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base12": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 0
+ },
+ {
+ "frame": 750,
+ "value": 1
+ }
+ ]
+ },
+ "base13": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base14": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base15": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base16": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base17": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base18": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 0
+ },
+ {
+ "frame": 750,
+ "value": 1
+ }
+ ]
+ },
+ "base19": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base20": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base21": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base22": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base23": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base24": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 0
+ },
+ {
+ "frame": 750,
+ "value": 1
+ }
+ ]
+ },
+ "base25": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base26": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base27": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base28": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 1
+ }
+ ]
+ },
+ "base30": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base31": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 0
+ },
+ {
+ "frame": 750,
+ "value": 1
+ }
+ ]
+ },
+ "base32": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 0
+ },
+ {
+ "frame": 625,
+ "value": 1
+ }
+ ]
+ },
+ "base33": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 0
+ },
+ {
+ "frame": 500,
+ "value": 1
+ }
+ ]
+ },
+ "base34": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 0
+ },
+ {
+ "frame": 375,
+ "value": 1
+ }
+ ]
+ },
+ "base35": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 0
+ },
+ {
+ "frame": 250,
+ "value": 1
+ }
+ ]
+ },
+ "base36": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 125,
+ "value": 1
+ }
+ ]
+ },
+ "logo": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 700,
+ "value": 0
+ },
+ {
+ "frame": 850,
+ "value": 1.2
+ },
+ {
+ "frame": 975,
+ "value": 0.9
+ },
+ {
+ "frame": 1100,
+ "value": 1
+ }
+ ],
+ "scaleY": [
+ {
+ "frame": 0,
+ "value": 0
+ },
+ {
+ "frame": 700,
+ "value": 0
+ },
+ {
+ "frame": 850,
+ "value": 1.2
+ },
+ {
+ "frame": 975,
+ "value": 0.9
+ },
+ {
+ "frame": 1100,
+ "value": 1
+ }
+ ],
+ "angle": [
+ {
+ "frame": 700,
+ "value": -10
+ },
+ {
+ "frame": 900,
+ "value": 6
+ },
+ {
+ "frame": 975,
+ "value": -3
+ },
+ {
+ "frame": 1100,
+ "value": 0
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/coco/transition/transition_out.json b/gs/html5/vex5/assets/coco/transition/transition_out.json
new file mode 100644
index 0000000..cfb8869
--- /dev/null
+++ b/gs/html5/vex5/assets/coco/transition/transition_out.json
@@ -0,0 +1,583 @@
+{
+ "name": "transition_out",
+ "speed": 1,
+ "mode": "normal",
+ "data": {
+ "base1": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 1
+ },
+ {
+ "frame": 750,
+ "value": 0
+ }
+ ]
+ },
+ "base2": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 0
+ }
+ ]
+ },
+ "base3": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base4": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base5": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base6": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 0
+ }
+ ]
+ },
+ "base7": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base8": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 0
+ }
+ ]
+ },
+ "base9": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base10": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base11": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base12": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 0
+ }
+ ]
+ },
+ "base13": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base14": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base15": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base16": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base17": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base18": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 0
+ }
+ ]
+ },
+ "base19": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base20": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base21": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base22": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base23": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base24": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 0
+ }
+ ]
+ },
+ "base25": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base26": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base27": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base28": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 0
+ }
+ ]
+ },
+ "base30": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base31": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 0
+ }
+ ]
+ },
+ "base32": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 125,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 0
+ }
+ ]
+ },
+ "base33": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 250,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 0
+ }
+ ]
+ },
+ "base34": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 375,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 0
+ }
+ ]
+ },
+ "base35": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 500,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 0
+ }
+ ]
+ },
+ "base36": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 625,
+ "value": 1
+ },
+ {
+ "frame": 750,
+ "value": 0
+ }
+ ]
+ },
+ "logo": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 50,
+ "value": 1.2
+ },
+ {
+ "frame": 175,
+ "value": 0
+ }
+ ],
+ "scaleY": [
+ {
+ "frame": 0,
+ "value": 1
+ },
+ {
+ "frame": 50,
+ "value": 1.2
+ },
+ {
+ "frame": 175,
+ "value": 0
+ }
+ ],
+ "angle": [
+ {
+ "frame": 0,
+ "value": 0
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/coco/transition/transition_stand.json b/gs/html5/vex5/assets/coco/transition/transition_stand.json
new file mode 100644
index 0000000..66f4a9e
--- /dev/null
+++ b/gs/html5/vex5/assets/coco/transition/transition_stand.json
@@ -0,0 +1,307 @@
+{
+ "name": "transition_stand",
+ "speed": 1,
+ "mode": "normal",
+ "data": {
+ "base1": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base2": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base3": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base4": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base5": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base6": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base7": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base8": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base9": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base10": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base11": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base12": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base13": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base14": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base15": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base16": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base17": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base18": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base19": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base20": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base21": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base22": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base23": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base24": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base25": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base26": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base27": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base28": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base30": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base31": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base32": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base33": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base34": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base35": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "base36": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ]
+ },
+ "logo": {
+ "scaleX": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ],
+ "scaleY": [
+ {
+ "frame": 0,
+ "value": 1
+ }
+ ],
+ "angle": [
+ {
+ "frame": 0,
+ "value": 0
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/css/app.css b/gs/html5/vex5/assets/css/app.css
new file mode 100644
index 0000000..1429c5b
--- /dev/null
+++ b/gs/html5/vex5/assets/css/app.css
@@ -0,0 +1,95 @@
+/*Stylesheet*/
+body, html {
+ width: 100%;
+ height: 100%;
+}
+
+body {
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -webkit-touch-callout: none;
+ -webkit-text-size-adjust: none;
+ -webkit-user-select: none;
+ margin: 0;
+ padding: 0;
+ font-family: Arial, Verdana, sans-serif;
+ font-size: 12px;
+ font-weight: normal;
+ color: #ccc;
+ background: #00517d;
+ position: relative;
+ overflow:hidden;
+}
+#orientation {
+ margin: 0 auto;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-image: url(../images/rotate.png);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-color: rgb(0, 0, 0);
+ background-size:60%;
+ z-index: 999;
+ display: none;
+}
+#content {
+ height: 100%;
+}
+
+#loader,
+#loader:after {
+ border-radius: 50%;
+ width: 10em;
+ height: 10em;
+}
+#loader {
+ margin: 60px auto;
+ font-size: 10px;
+ position: absolute;
+ z-index: 99;
+ left: 50%;
+ top: 50%;
+ margin-left: -5em;
+ margin-top: -5em;
+ text-indent: -9999em;
+ border-top: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-right: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
+ border-left: 1.1em solid #ffffff;
+ -webkit-transform: translateZ(0);
+ -ms-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-animation: load8 1.1s infinite linear;
+ animation: load8 1.1s infinite linear;
+}
+#selectmode {
+ margin: 60px auto;
+ font-size: 10px;
+ position: absolute;
+ z-index: 100;
+ left: 50%;
+ top: 50%;
+}
+
+@-webkit-keyframes load8 {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes load8 {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
diff --git a/gs/html5/vex5/assets/css/milocha.css b/gs/html5/vex5/assets/css/milocha.css
new file mode 100644
index 0000000..e420d4f
--- /dev/null
+++ b/gs/html5/vex5/assets/css/milocha.css
@@ -0,0 +1,15 @@
+/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on March 14, 2018 */
+
+
+
+@font-face {
+ font-family: 'milocha';
+ src: url('../fonts/milocha/milocha.eot');
+ src: url('../fonts/milocha/milocha.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/milocha/milocha.woff') format('woff'),
+ url('../fonts/milocha/milocha.ttf') format('truetype'),
+ url('../fonts/milocha/milocha.svg#milocharegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
\ No newline at end of file
diff --git a/gs/html5/vex5/assets/filters/BlurX.js b/gs/html5/vex5/assets/filters/BlurX.js
new file mode 100644
index 0000000..b8a8b15
--- /dev/null
+++ b/gs/html5/vex5/assets/filters/BlurX.js
@@ -0,0 +1,53 @@
+/**
+* A horizontal blur filter by Mat Groves http://matgroves.com/ @Doormat23
+*/
+Phaser.Filter.BlurX = function (game) {
+
+ Phaser.Filter.call(this, game);
+
+ this.uniforms.blur = { type: '1f', value: 1 / 512 };
+
+ this.fragmentSrc = [
+
+ "precision mediump float;",
+ "varying vec2 vTextureCoord;",
+ "varying vec4 vColor;",
+ "uniform float blur;",
+ "uniform sampler2D uSampler;",
+
+ "void main(void) {",
+
+ "vec4 sum = vec4(0.0);",
+
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x - 4.0*blur, vTextureCoord.y)) * 0.05;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x - 3.0*blur, vTextureCoord.y)) * 0.09;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x - 2.0*blur, vTextureCoord.y)) * 0.12;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x - blur, vTextureCoord.y)) * 0.15;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x + blur, vTextureCoord.y)) * 0.15;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x + 2.0*blur, vTextureCoord.y)) * 0.12;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x + 3.0*blur, vTextureCoord.y)) * 0.09;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x + 4.0*blur, vTextureCoord.y)) * 0.05;",
+
+ "gl_FragColor = sum;",
+
+ "}"
+ ];
+
+};
+
+Phaser.Filter.BlurX.prototype = Object.create(Phaser.Filter.prototype);
+Phaser.Filter.BlurX.prototype.constructor = Phaser.Filter.BlurX;
+
+Object.defineProperty(Phaser.Filter.BlurX.prototype, 'blur', {
+
+ get: function() {
+ return this.uniforms.blur.value / (1/7000);
+ },
+
+ set: function(value) {
+ this.dirty = true;
+ this.uniforms.blur.value = (1/7000) * value;
+ }
+
+});
diff --git a/gs/html5/vex5/assets/filters/BlurY.js b/gs/html5/vex5/assets/filters/BlurY.js
new file mode 100644
index 0000000..9c7d7d5
--- /dev/null
+++ b/gs/html5/vex5/assets/filters/BlurY.js
@@ -0,0 +1,54 @@
+/**
+* A vertical blur filter by Mat Groves http://matgroves.com/ @Doormat23
+*/
+Phaser.Filter.BlurY = function (game) {
+
+ Phaser.Filter.call(this, game);
+
+ this.uniforms.blur = { type: '1f', value: 1 / 512 };
+
+ this.fragmentSrc = [
+
+ "precision mediump float;",
+ "varying vec2 vTextureCoord;",
+ "varying vec4 vColor;",
+ "uniform float blur;",
+ "uniform sampler2D uSampler;",
+
+ "void main(void) {",
+
+ "vec4 sum = vec4(0.0);",
+
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 4.0*blur)) * 0.05;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 3.0*blur)) * 0.09;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 2.0*blur)) * 0.12;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - blur)) * 0.15;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + blur)) * 0.15;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 2.0*blur)) * 0.12;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 3.0*blur)) * 0.09;",
+ "sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 4.0*blur)) * 0.05;",
+
+ "gl_FragColor = sum;",
+
+ "}"
+
+ ];
+
+};
+
+Phaser.Filter.BlurY.prototype = Object.create(Phaser.Filter.prototype);
+Phaser.Filter.BlurY.prototype.constructor = Phaser.Filter.BlurY;
+
+Object.defineProperty(Phaser.Filter.BlurY.prototype, 'blur', {
+
+ get: function() {
+ return this.uniforms.blur.value / (1/7000);
+ },
+
+ set: function(value) {
+ this.dirty = true;
+ this.uniforms.blur.value = (1/7000) * value;
+ }
+
+});
diff --git a/gs/html5/vex5/assets/filters/ColorMatrixFilter.js b/gs/html5/vex5/assets/filters/ColorMatrixFilter.js
new file mode 100644
index 0000000..564f719
--- /dev/null
+++ b/gs/html5/vex5/assets/filters/ColorMatrixFilter.js
@@ -0,0 +1,559 @@
+/**
+ * @author Mat Groves http://matgroves.com/ @Doormat23
+ */
+
+/**
+ * The ColorMatrixFilter class lets you apply a 4x4 matrix transformation on the RGBA
+ * color and alpha values of every pixel on your displayObject to produce a result
+ * with a new set of RGBA color and alpha values. It's pretty powerful!
+ *
+ * @class ColorMatrixFilter
+ * @extends AbstractFilter
+ * @constructor
+ */
+PIXI.ColorMatrixFilter = function()
+{
+ PIXI.AbstractFilter.call( this );
+
+ this.passes = [this];
+
+ // set the uniforms
+ this.uniforms = {
+ m: {
+ type: '1fv', value: [
+ 1, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 0,
+ 0, 0, 0, 1, 0
+ ]
+ }
+ };
+
+ this.fragmentSrc = [
+ 'precision mediump float;',
+ 'varying vec2 vTextureCoord;',
+ 'uniform float m[25];',
+ 'uniform sampler2D uSampler;',
+
+ 'void main(void)',
+ '{',
+ '',
+ ' vec4 c = texture2D(uSampler, vTextureCoord);',
+ '',
+ ' gl_FragColor.r = (m[0] * c.r);',
+ ' gl_FragColor.r += (m[1] * c.g);',
+ ' gl_FragColor.r += (m[2] * c.b);',
+ ' gl_FragColor.r += (m[3] * c.a);',
+ ' gl_FragColor.r += m[4];',
+ ' gl_FragColor.g = (m[5] * c.r);',
+ ' gl_FragColor.g += (m[6] * c.g);',
+ ' gl_FragColor.g += (m[7] * c.b);',
+ ' gl_FragColor.g += (m[8] * c.a);',
+ ' gl_FragColor.g += m[9];',
+ ' gl_FragColor.b = (m[10] * c.r);',
+ ' gl_FragColor.b += (m[11] * c.g);',
+ ' gl_FragColor.b += (m[12] * c.b);',
+ ' gl_FragColor.b += (m[13] * c.a);',
+ ' gl_FragColor.b += m[14];',
+ ' gl_FragColor.a = (m[15] * c.r);',
+ ' gl_FragColor.a += (m[16] * c.g);',
+ ' gl_FragColor.a += (m[17] * c.b);',
+ ' gl_FragColor.a += (m[18] * c.a);',
+ ' gl_FragColor.a += m[19];',
+ '',
+ '}'
+
+ ];
+};
+
+PIXI.ColorMatrixFilter.prototype = Object.create( PIXI.AbstractFilter.prototype );
+PIXI.ColorMatrixFilter.prototype.constructor = PIXI.ColorMatrixFilter;
+/**
+ * Transforms current matrix and set the new one
+ *
+ * @param matrix {number[]} (mat 5x4)
+ * @param multiply {boolean} if true, current matrix and matrix are multiplied. If false, just set the current matrix with @param matrix
+ */
+PIXI.ColorMatrixFilter.prototype._loadMatrix = function (matrix, multiply)
+{
+ multiply = !!multiply;
+
+ var newMatrix = matrix;
+
+ if (multiply) {
+ this._multiply(newMatrix, this.uniforms.m.value, matrix);
+ newMatrix = this._colorMatrix(newMatrix);
+ }
+
+ // set the new matrix
+ this.uniforms.m.value = newMatrix;
+};
+
+/**
+ * Multiplies two mat5's
+ *
+ * @param out {number[]} (mat 5x4) the receiving matrix
+ * @param a {number[]} (mat 5x4) the first operand
+ * @param b {number[]} (mat 5x4) the second operand
+ * @returns out {number[]} (mat 5x4)
+ */
+PIXI.ColorMatrixFilter.prototype._multiply = function (out, a, b)
+{
+
+ // Red Channel
+ out[0] = (a[0] * b[0]) + (a[1] * b[5]) + (a[2] * b[10]) + (a[3] * b[15]);
+ out[1] = (a[0] * b[1]) + (a[1] * b[6]) + (a[2] * b[11]) + (a[3] * b[16]);
+ out[2] = (a[0] * b[2]) + (a[1] * b[7]) + (a[2] * b[12]) + (a[3] * b[17]);
+ out[3] = (a[0] * b[3]) + (a[1] * b[8]) + (a[2] * b[13]) + (a[3] * b[18]);
+ out[4] = (a[0] * b[4]) + (a[1] * b[9]) + (a[2] * b[14]) + (a[3] * b[19]);
+
+ // Green Channel
+ out[5] = (a[5] * b[0]) + (a[6] * b[5]) + (a[7] * b[10]) + (a[8] * b[15]);
+ out[6] = (a[5] * b[1]) + (a[6] * b[6]) + (a[7] * b[11]) + (a[8] * b[16]);
+ out[7] = (a[5] * b[2]) + (a[6] * b[7]) + (a[7] * b[12]) + (a[8] * b[17]);
+ out[8] = (a[5] * b[3]) + (a[6] * b[8]) + (a[7] * b[13]) + (a[8] * b[18]);
+ out[9] = (a[5] * b[4]) + (a[6] * b[9]) + (a[7] * b[14]) + (a[8] * b[19]);
+
+ // Blue Channel
+ out[10] = (a[10] * b[0]) + (a[11] * b[5]) + (a[12] * b[10]) + (a[13] * b[15]);
+ out[11] = (a[10] * b[1]) + (a[11] * b[6]) + (a[12] * b[11]) + (a[13] * b[16]);
+ out[12] = (a[10] * b[2]) + (a[11] * b[7]) + (a[12] * b[12]) + (a[13] * b[17]);
+ out[13] = (a[10] * b[3]) + (a[11] * b[8]) + (a[12] * b[13]) + (a[13] * b[18]);
+ out[14] = (a[10] * b[4]) + (a[11] * b[9]) + (a[12] * b[14]) + (a[13] * b[19]);
+
+ // Alpha Channel
+ out[15] = (a[15] * b[0]) + (a[16] * b[5]) + (a[17] * b[10]) + (a[18] * b[15]);
+ out[16] = (a[15] * b[1]) + (a[16] * b[6]) + (a[17] * b[11]) + (a[18] * b[16]);
+ out[17] = (a[15] * b[2]) + (a[16] * b[7]) + (a[17] * b[12]) + (a[18] * b[17]);
+ out[18] = (a[15] * b[3]) + (a[16] * b[8]) + (a[17] * b[13]) + (a[18] * b[18]);
+ out[19] = (a[15] * b[4]) + (a[16] * b[9]) + (a[17] * b[14]) + (a[18] * b[19]);
+
+ return out;
+};
+
+/**
+ * Create a Float32 Array and normalize the offset component to 0-1
+ *
+ * @param matrix {number[]} (mat 5x4)
+ * @return m {number[]} (mat 5x4) with all values between 0-1
+ */
+PIXI.ColorMatrixFilter.prototype._colorMatrix = function (matrix)
+{
+ // Create a Float32 Array and normalize the offset component to 0-1
+ var m = new Float32Array(matrix);
+ m[4] /= 255;
+ m[9] /= 255;
+ m[14] /= 255;
+ m[19] /= 255;
+
+ return m;
+};
+
+/**
+ * Adjusts brightness
+ *
+ * @param b {number} value of the brigthness (0 is black)
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.brightness = function (b, multiply)
+{
+ var matrix = [
+ b, 0, 0, 0, 0,
+ 0, b, 0, 0, 0,
+ 0, 0, b, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Set the matrices in grey scales
+ *
+ * @param scale {number} value of the grey (0 is black)
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.greyscale = function (scale, multiply)
+{
+ var matrix = [
+ scale, scale, scale, 0, 0,
+ scale, scale, scale, 0, 0,
+ scale, scale, scale, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+//Americanized alias
+PIXI.ColorMatrixFilter.prototype.grayscale = PIXI.ColorMatrixFilter.prototype.greyscale;
+
+/**
+ * Set the black and white matrice
+ * Multiply the current matrix
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.blackAndWhite = function (multiply)
+{
+ var matrix = [
+ 0.3, 0.6, 0.1, 0, 0,
+ 0.3, 0.6, 0.1, 0, 0,
+ 0.3, 0.6, 0.1, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Set the hue property of the color
+ *
+ * @param rotation {number} in degrees
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.hue = function (rotation, multiply)
+{
+ rotation = (rotation || 0) / 180 * Math.PI;
+ var cos = Math.cos(rotation),
+ sin = Math.sin(rotation);
+
+ // luminanceRed, luminanceGreen, luminanceBlue
+ var lumR = 0.213, // or 0.3086
+ lumG = 0.715, // or 0.6094
+ lumB = 0.072; // or 0.0820
+
+ var matrix = [
+ lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,
+ lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,
+ lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+
+/**
+ * Set the contrast matrix, increase the separation between dark and bright
+ * Increase contrast : shadows darker and highlights brighter
+ * Decrease contrast : bring the shadows up and the highlights down
+ *
+ * @param amount {number} value of the contrast
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.contrast = function (amount, multiply)
+{
+ var v = (amount || 0) + 1;
+ var o = -128 * (v - 1);
+
+ var matrix = [
+ v, 0, 0, 0, o,
+ 0, v, 0, 0, o,
+ 0, 0, v, 0, o,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Set the saturation matrix, increase the separation between colors
+ * Increase saturation : increase contrast, brightness, and sharpness
+ *
+ * @param amount {number}
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.saturate = function (amount, multiply)
+{
+ var x = (amount || 0) * 2 / 3 + 1;
+ var y = ((x - 1) * -0.5);
+
+ var matrix = [
+ x, y, y, 0, 0,
+ y, x, y, 0, 0,
+ y, y, x, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Desaturate image (remove color)
+ *
+ * Call the saturate function
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.desaturate = function (multiply) // jshint unused:false
+{
+ this.saturate(-1);
+};
+
+/**
+ * Negative image (inverse of classic rgb matrix)
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.negative = function (multiply)
+{
+ var matrix = [
+ 0, 1, 1, 0, 0,
+ 1, 0, 1, 0, 0,
+ 1, 1, 0, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Sepia image
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.sepia = function (multiply)
+{
+ var matrix = [
+ 0.393, 0.7689999, 0.18899999, 0, 0,
+ 0.349, 0.6859999, 0.16799999, 0, 0,
+ 0.272, 0.5339999, 0.13099999, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Color motion picture process invented in 1916 (thanks Dominic Szablewski)
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.technicolor = function (multiply)
+{
+ var matrix = [
+ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,
+ -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,
+ -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Polaroid filter
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.polaroid = function (multiply)
+{
+ var matrix = [
+ 1.438, -0.062, -0.062, 0, 0,
+ -0.122, 1.378, -0.122, 0, 0,
+ -0.016, -0.016, 1.483, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Filter who transforms : Red -> Blue and Blue -> Red
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.toBGR = function (multiply)
+{
+ var matrix = [
+ 0, 0, 1, 0, 0,
+ 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Color reversal film introduced by Eastman Kodak in 1935. (thanks Dominic Szablewski)
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.kodachrome = function (multiply)
+{
+ var matrix = [
+ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,
+ -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,
+ -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/**
+ * Brown delicious browni filter (thanks Dominic Szablewski)
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.browni = function (multiply)
+{
+ var matrix = [
+ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,
+ -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,
+ 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/*
+ * Vintage filter (thanks Dominic Szablewski)
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.vintage = function (multiply)
+{
+ var matrix = [
+ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,
+ 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,
+ 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/*
+ * We don't know exactly what it does, kind of gradient map, but funny to play with!
+ *
+ * @param desaturation {number}
+ * @param toned {number}
+ * @param lightColor {string} (example : "0xFFE580")
+ * @param darkColor {string} (example : "0xFFE580")
+ *
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.colorTone = function (desaturation, toned, lightColor, darkColor, multiply)
+{
+ desaturation = desaturation || 0.2;
+ toned = toned || 0.15;
+ lightColor = lightColor || 0xFFE580;
+ darkColor = darkColor || 0x338000;
+
+ var lR = ((lightColor >> 16) & 0xFF) / 255;
+ var lG = ((lightColor >> 8) & 0xFF) / 255;
+ var lB = (lightColor & 0xFF) / 255;
+
+ var dR = ((darkColor >> 16) & 0xFF) / 255;
+ var dG = ((darkColor >> 8) & 0xFF) / 255;
+ var dB = (darkColor & 0xFF) / 255;
+
+ var matrix = [
+ 0.3, 0.59, 0.11, 0, 0,
+ lR, lG, lB, desaturation, 0,
+ dR, dG, dB, toned, 0,
+ lR - dR, lG - dG, lB - dB, 0, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/*
+ * Night effect
+ *
+ * @param intensity {number}
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.night = function (intensity, multiply)
+{
+ intensity = intensity || 0.1;
+ var matrix = [
+ intensity * ( -2.0), -intensity, 0, 0, 0,
+ -intensity, 0, intensity, 0, 0,
+ 0, intensity, intensity * 2.0, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+
+/*
+ * Predator effect
+ *
+ * Erase the current matrix by setting a new indepent one
+ *
+ * @param amount {number} how much the predator feels his future victim
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.predator = function (amount, multiply)
+{
+ var matrix = [
+ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount,
+ -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount,
+ -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/*
+ * LSD effect
+ *
+ * Multiply the current matrix
+ *
+ * @param amount {number} How crazy is your effect
+ * @param multiply {boolean} refer to ._loadMatrix() method
+ */
+PIXI.ColorMatrixFilter.prototype.lsd = function (multiply)
+{
+ var matrix = [
+ 2, -0.4, 0.5, 0, 0,
+ -0.5, 2, -0.4, 0, 0,
+ -0.4, -0.5, 3, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, multiply);
+};
+
+/*
+ * Erase the current matrix by setting the default one
+ *
+ */
+PIXI.ColorMatrixFilter.prototype.reset = function ()
+{
+ var matrix = [
+ 1, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
+
+ this._loadMatrix(matrix, false);
+};
+
+
+Object.defineProperties(PIXI.ColorMatrixFilter.prototype, {
+ /**
+ * Sets the matrix of the color matrix filter
+ *
+ * @member {number[]}
+ * @memberof PIXI.filters.ColorMatrixFilter#
+ * @default [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]
+ */
+ matrix: {
+ get: function ()
+ {
+ return this.uniforms.m.value;
+ },
+ set: function (value)
+ {
+ this.uniforms.m.value = value;
+ }
+ }
+});
diff --git a/gs/html5/vex5/assets/filters/Gray.js b/gs/html5/vex5/assets/filters/Gray.js
new file mode 100644
index 0000000..9133697
--- /dev/null
+++ b/gs/html5/vex5/assets/filters/Gray.js
@@ -0,0 +1,50 @@
+/**
+* @author Mat Groves http://matgroves.com/ @Doormat23
+*/
+
+/**
+* This turns your displayObjects to grayscale.
+* @class Gray
+* @contructor
+*/
+Phaser.Filter.Gray = function (game) {
+
+ Phaser.Filter.call(this, game);
+
+ this.uniforms.gray = { type: '1f', value: 1.0 };
+
+ this.fragmentSrc = [
+
+ "precision mediump float;",
+
+ "varying vec2 vTextureCoord;",
+ "varying vec4 vColor;",
+ "uniform sampler2D uSampler;",
+ "uniform float gray;",
+
+ "void main(void) {",
+ "gl_FragColor = texture2D(uSampler, vTextureCoord);",
+ "gl_FragColor.rgb = mix(gl_FragColor.rgb, vec3(0.2126 * gl_FragColor.r + 0.7152 * gl_FragColor.g + 0.0722 * gl_FragColor.b), gray);",
+ "}"
+ ];
+
+};
+
+Phaser.Filter.Gray.prototype = Object.create(Phaser.Filter.prototype);
+Phaser.Filter.Gray.prototype.constructor = Phaser.Filter.Gray;
+
+/**
+* The strength of the gray. 1 will make the object black and white, 0 will make the object its normal color
+* @property gray
+*/
+Object.defineProperty(Phaser.Filter.Gray.prototype, 'gray', {
+
+ get: function() {
+ return this.uniforms.gray.value;
+ },
+
+ set: function(value) {
+ this.uniforms.gray.value = value;
+ }
+
+});
diff --git a/gs/html5/vex5/assets/fonts/milocha/milocha.woff b/gs/html5/vex5/assets/fonts/milocha/milocha.woff
new file mode 100644
index 0000000..322be53
Binary files /dev/null and b/gs/html5/vex5/assets/fonts/milocha/milocha.woff differ
diff --git a/gs/html5/vex5/assets/images/L_R-circle-button.png b/gs/html5/vex5/assets/images/L_R-circle-button.png
new file mode 100644
index 0000000..384998b
Binary files /dev/null and b/gs/html5/vex5/assets/images/L_R-circle-button.png differ
diff --git a/gs/html5/vex5/assets/images/blank b/gs/html5/vex5/assets/images/blank
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/gs/html5/vex5/assets/images/blank
@@ -0,0 +1 @@
+
diff --git a/gs/html5/vex5/assets/images/blocks/arrow-animation.png b/gs/html5/vex5/assets/images/blocks/arrow-animation.png
new file mode 100644
index 0000000..163ce01
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/arrow-animation.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/basic-block-colors.png b/gs/html5/vex5/assets/images/blocks/basic-block-colors.png
new file mode 100644
index 0000000..1743baf
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/basic-block-colors.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/blocked-wall.png b/gs/html5/vex5/assets/images/blocks/blocked-wall.png
new file mode 100644
index 0000000..80f5eea
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/blocked-wall.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/box_1.png b/gs/html5/vex5/assets/images/blocks/box_1.png
new file mode 100644
index 0000000..290b2be
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/box_1.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/cable.png b/gs/html5/vex5/assets/images/blocks/cable.png
new file mode 100644
index 0000000..00d7521
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/cable.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/elevator_down.png b/gs/html5/vex5/assets/images/blocks/elevator_down.png
new file mode 100644
index 0000000..385ec87
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/elevator_down.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/elevator_up.png b/gs/html5/vex5/assets/images/blocks/elevator_up.png
new file mode 100644
index 0000000..b2a11d6
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/elevator_up.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/left-slope.png b/gs/html5/vex5/assets/images/blocks/left-slope.png
new file mode 100644
index 0000000..d5dd91c
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/left-slope.png differ
diff --git a/gs/html5/vex5/assets/images/blocks/slope-colors.png b/gs/html5/vex5/assets/images/blocks/slope-colors.png
new file mode 100644
index 0000000..08a7f17
Binary files /dev/null and b/gs/html5/vex5/assets/images/blocks/slope-colors.png differ
diff --git a/gs/html5/vex5/assets/images/brand-logo.png b/gs/html5/vex5/assets/images/brand-logo.png
new file mode 100644
index 0000000..4a96abf
Binary files /dev/null and b/gs/html5/vex5/assets/images/brand-logo.png differ
diff --git a/gs/html5/vex5/assets/images/breathe-block.png b/gs/html5/vex5/assets/images/breathe-block.png
new file mode 100644
index 0000000..a2cc899
Binary files /dev/null and b/gs/html5/vex5/assets/images/breathe-block.png differ
diff --git a/gs/html5/vex5/assets/images/btnBothPressed.png b/gs/html5/vex5/assets/images/btnBothPressed.png
new file mode 100644
index 0000000..42dd5bd
Binary files /dev/null and b/gs/html5/vex5/assets/images/btnBothPressed.png differ
diff --git a/gs/html5/vex5/assets/images/btnLeftPressed.png b/gs/html5/vex5/assets/images/btnLeftPressed.png
new file mode 100644
index 0000000..b0eb143
Binary files /dev/null and b/gs/html5/vex5/assets/images/btnLeftPressed.png differ
diff --git a/gs/html5/vex5/assets/images/btnNonePressed.png b/gs/html5/vex5/assets/images/btnNonePressed.png
new file mode 100644
index 0000000..87b5cbe
Binary files /dev/null and b/gs/html5/vex5/assets/images/btnNonePressed.png differ
diff --git a/gs/html5/vex5/assets/images/btnRightPressed.png b/gs/html5/vex5/assets/images/btnRightPressed.png
new file mode 100644
index 0000000..9d8dbb7
Binary files /dev/null and b/gs/html5/vex5/assets/images/btnRightPressed.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/achievement-progress-bar.png b/gs/html5/vex5/assets/images/buttons/achievements/achievement-progress-bar.png
new file mode 100644
index 0000000..5a44285
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/achievement-progress-bar.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act1-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act1-achievement.png
new file mode 100644
index 0000000..e00f78d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act1-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act10-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act10-achievement.png
new file mode 100644
index 0000000..66242b5
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act10-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act2-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act2-achievement.png
new file mode 100644
index 0000000..bf8f5a3
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act2-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act3-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act3-achievement.png
new file mode 100644
index 0000000..09dc8cf
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act3-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act4-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act4-achievement.png
new file mode 100644
index 0000000..c037400
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act4-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act5-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act5-achievement.png
new file mode 100644
index 0000000..36436d1
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act5-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act6-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act6-achievement.png
new file mode 100644
index 0000000..641fb37
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act6-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act7-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act7-achievement.png
new file mode 100644
index 0000000..b5c424d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act7-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act8-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act8-achievement.png
new file mode 100644
index 0000000..f4efc59
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act8-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/act9-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/act9-achievement.png
new file mode 100644
index 0000000..0eb475e
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/act9-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome1-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome1-achievement.png
new file mode 100644
index 0000000..15f2d34
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome1-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome2-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome2-achievement.png
new file mode 100644
index 0000000..844c4b6
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome2-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome3-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome3-achievement.png
new file mode 100644
index 0000000..5fe94de
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome3-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome4-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome4-achievement.png
new file mode 100644
index 0000000..484534b
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome4-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome5-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome5-achievement.png
new file mode 100644
index 0000000..494b621
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome5-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome6-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome6-achievement.png
new file mode 100644
index 0000000..a4ee638
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome6-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/awesome7-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/awesome7-achievement.png
new file mode 100644
index 0000000..ef1fef6
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/awesome7-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge1-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge1-achievement.png
new file mode 100644
index 0000000..f79c79e
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge1-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge2-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge2-achievement.png
new file mode 100644
index 0000000..f79c79e
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge2-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge3-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge3-achievement.png
new file mode 100644
index 0000000..798bb67
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge3-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge4-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge4-achievement.png
new file mode 100644
index 0000000..28afeae
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge4-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge5-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge5-achievement.png
new file mode 100644
index 0000000..fa43ce7
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge5-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge6-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge6-achievement.png
new file mode 100644
index 0000000..328a681
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge6-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge7-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge7-achievement.png
new file mode 100644
index 0000000..937993f
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge7-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge8-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge8-achievement.png
new file mode 100644
index 0000000..f7b603d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge8-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/challenge9-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/challenge9-achievement.png
new file mode 100644
index 0000000..a480dcc
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/challenge9-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/complete1-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/complete1-achievement.png
new file mode 100644
index 0000000..b800840
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/complete1-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/complete2-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/complete2-achievement.png
new file mode 100644
index 0000000..484534b
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/complete2-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/complete3-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/complete3-achievement.png
new file mode 100644
index 0000000..0aa8792
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/complete3-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/complete4-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/complete4-achievement.png
new file mode 100644
index 0000000..1e4427a
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/complete4-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star1-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star1-achievement.png
new file mode 100644
index 0000000..5096bc6
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star1-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star10-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star10-achievement.png
new file mode 100644
index 0000000..c11d671
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star10-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star2-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star2-achievement.png
new file mode 100644
index 0000000..9a41204
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star2-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star3-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star3-achievement.png
new file mode 100644
index 0000000..e706cf9
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star3-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star4-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star4-achievement.png
new file mode 100644
index 0000000..e360b24
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star4-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star5-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star5-achievement.png
new file mode 100644
index 0000000..bd3dea4
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star5-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star6-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star6-achievement.png
new file mode 100644
index 0000000..97e81f0
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star6-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star7-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star7-achievement.png
new file mode 100644
index 0000000..06ad5ff
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star7-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star8-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star8-achievement.png
new file mode 100644
index 0000000..06381ae
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star8-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/achievements/star9-achievement.png b/gs/html5/vex5/assets/images/buttons/achievements/star9-achievement.png
new file mode 100644
index 0000000..272d92e
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/achievements/star9-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act-select-logo.png b/gs/html5/vex5/assets/images/buttons/act-select-logo.png
new file mode 100644
index 0000000..e7314d5
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act-select-logo.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act1-button.png b/gs/html5/vex5/assets/images/buttons/act1-button.png
new file mode 100644
index 0000000..a91ee3f
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act1-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act10-button.png b/gs/html5/vex5/assets/images/buttons/act10-button.png
new file mode 100644
index 0000000..412fa29
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act10-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act2-button.png b/gs/html5/vex5/assets/images/buttons/act2-button.png
new file mode 100644
index 0000000..3baf6b3
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act2-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act3-button.png b/gs/html5/vex5/assets/images/buttons/act3-button.png
new file mode 100644
index 0000000..80ed75d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act3-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act4-button.png b/gs/html5/vex5/assets/images/buttons/act4-button.png
new file mode 100644
index 0000000..a855de7
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act4-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act5-button.png b/gs/html5/vex5/assets/images/buttons/act5-button.png
new file mode 100644
index 0000000..9abfec3
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act5-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act6-button.png b/gs/html5/vex5/assets/images/buttons/act6-button.png
new file mode 100644
index 0000000..e7a26be
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act6-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act7-button.png b/gs/html5/vex5/assets/images/buttons/act7-button.png
new file mode 100644
index 0000000..018f332
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act7-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act8-button.png b/gs/html5/vex5/assets/images/buttons/act8-button.png
new file mode 100644
index 0000000..4559550
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act8-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/act9-button.png b/gs/html5/vex5/assets/images/buttons/act9-button.png
new file mode 100644
index 0000000..1941079
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/act9-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/awesome-stuff-button.png b/gs/html5/vex5/assets/images/buttons/awesome-stuff-button.png
new file mode 100644
index 0000000..53d6459
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/awesome-stuff-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/back-button.png b/gs/html5/vex5/assets/images/buttons/back-button.png
new file mode 100644
index 0000000..9200fbd
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/back-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/bottom-label-bg.png b/gs/html5/vex5/assets/images/buttons/bottom-label-bg.png
new file mode 100644
index 0000000..dde6c48
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/bottom-label-bg.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/challenge-acts-button.png b/gs/html5/vex5/assets/images/buttons/challenge-acts-button.png
new file mode 100644
index 0000000..f508973
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/challenge-acts-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/clear-all-button.png b/gs/html5/vex5/assets/images/buttons/clear-all-button.png
new file mode 100644
index 0000000..db2a79d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/clear-all-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/close-button.png b/gs/html5/vex5/assets/images/buttons/close-button.png
new file mode 100644
index 0000000..d94c767
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/close-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/completion-button.png b/gs/html5/vex5/assets/images/buttons/completion-button.png
new file mode 100644
index 0000000..242527a
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/completion-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-achievement.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-achievement.png
new file mode 100644
index 0000000..07fe096
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-achievement.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-leaderboard.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-leaderboard.png
new file mode 100644
index 0000000..9ffa430
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-leaderboard.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-more-games.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-more-games.png
new file mode 100644
index 0000000..119d448
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-more-games.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-options.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-options.png
new file mode 100644
index 0000000..ccb2a89
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-options.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-play-game.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-play-game.png
new file mode 100644
index 0000000..4db5693
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-play-game.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mainmenu/menu-trophy.png b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-trophy.png
new file mode 100644
index 0000000..882629d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mainmenu/menu-trophy.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/mute-button.png b/gs/html5/vex5/assets/images/buttons/mute-button.png
new file mode 100644
index 0000000..2fc3b17
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/mute-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/options-logo.png b/gs/html5/vex5/assets/images/buttons/options-logo.png
new file mode 100644
index 0000000..dfceeb5
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/options-logo.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/options-noclear.png b/gs/html5/vex5/assets/images/buttons/options-noclear.png
new file mode 100644
index 0000000..8491192
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/options-noclear.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/pause-button.png b/gs/html5/vex5/assets/images/buttons/pause-button.png
new file mode 100644
index 0000000..36e1937
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/pause-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/quality-button.png b/gs/html5/vex5/assets/images/buttons/quality-button.png
new file mode 100644
index 0000000..4378666
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/quality-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/quit-logo.png b/gs/html5/vex5/assets/images/buttons/quit-logo.png
new file mode 100644
index 0000000..0ef771a
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/quit-logo.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/reset-logo.png b/gs/html5/vex5/assets/images/buttons/reset-logo.png
new file mode 100644
index 0000000..0440749
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/reset-logo.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/slide-drag.png b/gs/html5/vex5/assets/images/buttons/slide-drag.png
new file mode 100644
index 0000000..1cdd011
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/slide-drag.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/slider.png b/gs/html5/vex5/assets/images/buttons/slider.png
new file mode 100644
index 0000000..82bd665
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/slider.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/stage-button-bg.png b/gs/html5/vex5/assets/images/buttons/stage-button-bg.png
new file mode 100644
index 0000000..a6ce96a
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/stage-button-bg.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/standard-acts-button.png b/gs/html5/vex5/assets/images/buttons/standard-acts-button.png
new file mode 100644
index 0000000..dea0a4d
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/standard-acts-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/tick-button.png b/gs/html5/vex5/assets/images/buttons/tick-button.png
new file mode 100644
index 0000000..ef55599
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/tick-button.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/tick_white_box.png b/gs/html5/vex5/assets/images/buttons/tick_white_box.png
new file mode 100644
index 0000000..ea39d09
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/tick_white_box.png differ
diff --git a/gs/html5/vex5/assets/images/buttons/trophy-logo.png b/gs/html5/vex5/assets/images/buttons/trophy-logo.png
new file mode 100644
index 0000000..e829096
Binary files /dev/null and b/gs/html5/vex5/assets/images/buttons/trophy-logo.png differ
diff --git a/gs/html5/vex5/assets/images/circle-button.png b/gs/html5/vex5/assets/images/circle-button.png
new file mode 100644
index 0000000..87e47b9
Binary files /dev/null and b/gs/html5/vex5/assets/images/circle-button.png differ
diff --git a/gs/html5/vex5/assets/images/crouch-button.png b/gs/html5/vex5/assets/images/crouch-button.png
new file mode 100644
index 0000000..1fc4369
Binary files /dev/null and b/gs/html5/vex5/assets/images/crouch-button.png differ
diff --git a/gs/html5/vex5/assets/images/dark-overlay.png b/gs/html5/vex5/assets/images/dark-overlay.png
new file mode 100644
index 0000000..749c590
Binary files /dev/null and b/gs/html5/vex5/assets/images/dark-overlay.png differ
diff --git a/gs/html5/vex5/assets/images/fonts/grob24.fnt b/gs/html5/vex5/assets/images/fonts/grob24.fnt
new file mode 100644
index 0000000..db3357c
--- /dev/null
+++ b/gs/html5/vex5/assets/images/fonts/grob24.fnt
@@ -0,0 +1,100 @@
+
+
Math.pow(e.radius,2))return 0;if(h)return!0;var c=this.createContactEquation(t,o,e,n);return V.copy(c.normalA,l),V.normalize(c.normalA,c.normalA),V.scale(c.contactPointA,c.normalA,e.radius),z(c.contactPointA,c.contactPointA,i),H(c.contactPointA,c.contactPointA,t.position),H(c.contactPointB,a,o.position),this.contactEquations.push(c),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(c)),1};var T=new r({radius:1}),k=V.create(),A=V.create();V.create();$.prototype[l.PLANE|l.CAPSULE]=$.prototype.planeCapsule=function(t,e,i,s,o,n,a,r,h){var l,c=k,p=A,u=T;V.set(c,-n.length/2,0),V.rotate(c,c,r),z(c,c,a),V.set(p,n.length/2,0),V.rotate(p,p,r),z(p,p,a),u.radius=n.radius,this.enableFrictionReduction&&(l=this.enableFriction,this.enableFriction=!1);var d=this.circlePlane(o,u,c,0,t,e,i,s,h),y=this.circlePlane(o,u,p,0,t,e,i,s,h);if(this.enableFrictionReduction&&(this.enableFriction=l),h)return d||y;var g=d+y;return this.enableFrictionReduction&&g&&this.frictionEquations.push(this.createFrictionFromAverage(g)),g},$.prototype[l.CIRCLE|l.PLANE]=$.prototype.circlePlane=function(t,e,i,s,o,n,a,r,h){var l=t,c=e,p=i,u=o,d=a,y=r;y=y||0;var g=j,f=W,m=q;H(g,p,d),V.rotate(f,S,y);var v=X(f,g);if(v>c.radius)return 0;if(h)return!0;var x=this.createContactEquation(u,l,n,e);return V.copy(x.normalA,f),V.scale(x.contactPointB,x.normalA,-c.radius),z(x.contactPointB,x.contactPointB,p),H(x.contactPointB,x.contactPointB,l.position),V.scale(m,x.normalA,v),H(x.contactPointA,g,m),z(x.contactPointA,x.contactPointA,d),H(x.contactPointA,x.contactPointA,u.position),this.contactEquations.push(x),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(x)),1},$.prototype[l.CONVEX]=$.prototype[l.CONVEX|l.BOX]=$.prototype[l.BOX]=$.prototype.convexConvex=function(t,e,i,s,o,n,a,r,h,l){var c=j,p=W,u=q,d=Y,y=K,g=J,f=Q,m=Z,v=0;l="number"==typeof l?l:0;if(!$.findSeparatingAxis(e,i,s,n,a,r,c))return 0;H(f,a,i),0 g[0]&&(w=y,b=g,!0),h=(P=w[0]-b[1])<=0,(null===r||r =c.length&&(b=c.length-1);for(var w=c[x],P=c[b],_=x;_w&&(w=c[_]);if(i[1]-l>w)return!h&&0;var S=!1;for(_=x;_=m[0]&&d[0] n.x?o.x>a.x?o.x:a.x:n.x>a.x?n.x:a.x,c=o.y>n.y?o.y>a.y?o.y:a.y:n.y>a.y?n.y:a.y,p=PIXI.EarCut.zOrder(r,h,e,i,s),u=PIXI.EarCut.zOrder(l,c,e,i,s),d=t.nextZ;d&&d.z<=u;){if(d!==t.prev&&d!==t.next&&PIXI.EarCut.pointInTriangle(o.x,o.y,n.x,n.y,a.x,a.y,d.x,d.y)&&0<=PIXI.EarCut.area(d.prev,d,d.next))return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=p;){if(d!==t.prev&&d!==t.next&&PIXI.EarCut.pointInTriangle(o.x,o.y,n.x,n.y,a.x,a.y,d.x,d.y)&&0<=PIXI.EarCut.area(d.prev,d,d.next))return!1;d=d.prevZ}return!0},PIXI.EarCut.cureLocalIntersections=function(t,e,i){var s=t;do{var o=s.prev,n=s.next.next;PIXI.EarCut.intersects(o,s,s.next,n)&&PIXI.EarCut.locallyInside(o,n)&&PIXI.EarCut.locallyInside(n,o)&&(e.push(o.i/i),e.push(s.i/i),e.push(n.i/i),PIXI.EarCut.removeNode(s),PIXI.EarCut.removeNode(s.next),s=t=n),s=s.next}while(s!==t);return s},PIXI.EarCut.splitEarcut=function(t,e,i,s,o,n){var a=t;do{for(var r=a.next.next;r!==a.prev;){if(a.i!==r.i&&PIXI.EarCut.isValidDiagonal(a,r)){var h=PIXI.EarCut.splitPolygon(a,r);return a=PIXI.EarCut.filterPoints(a,a.next),h=PIXI.EarCut.filterPoints(h,h.next),PIXI.EarCut.earcutLinked(a,e,i,s,o,n),void PIXI.EarCut.earcutLinked(h,e,i,s,o,n)}r=r.next}a=a.next}while(a!==t)},PIXI.EarCut.eliminateHoles=function(t,e,i,s){var o,n,a,r,h,l=[];for(o=0,n=e.length;oo&&(o=t.y),t.ythis.children.length||-1===t&&-1===e)return!1;for(var a=new H.Rectangle(0,0,i,s),r=t*i,h=e*s,l=n;l=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(l.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);if(l.data.bodyDirty&&(this._data.customBody&&l.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),l.body.collideWorldBounds=this.bulletCollideWorldBounds,l.data.bodyDirty=!1),l.body.velocity.set(r,h),l.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y),0!==this.bulletSpeedVariance){var p=this.fireRate;(p+=H.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(p=0),this._nextFire=this.game.time.now+p}else this._nextFire=this.game.time.now+this.fireRate;this.shots++,this.onFire.dispatch(l,this,s),0=n.f?s():o.fonts.load((t=n.a,P(t)+" "+t.f+"00 300px "+b(t.c)),n.h).then(function(t){1<=t.length?i():setTimeout(e,25)},function(){s()})}()}),i=null,e=new Promise(function(t,e){i=setTimeout(e,n.f)});Promise.race([e,t]).then(function(){i&&(clearTimeout(i),i=null),n.g(n.a)},function(){n.j(n.a)})};var O={D:"serif",C:"sans-serif"},M=null;function L(){if(null===M){var t=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);M=!!t&&(parseInt(t[1],10)<536||536===parseInt(t[1],10)&&parseInt(t[2],10)<=11)}return M}function D(t,e,i){for(var s in O)if(O.hasOwnProperty(s)&&e===t.f[O[s]]&&i===t.f[O[s]])return!0;return!1}function R(t){var e,i=t.g.a.offsetWidth,s=t.h.a.offsetWidth;(e=i===t.f.serif&&s===t.f["sans-serif"])||(e=L()&&D(t,i,s)),e?r()-t.A>=t.w?L()&&D(t,i,s)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?F(t,t.v):F(t,t.B):setTimeout(y(function(){R(this)},t),50):F(t,t.v)}function F(t,e){setTimeout(y(function(){i(this.g.a),i(this.h.a),i(this.j.a),i(this.m.a),e(this.a)},t),0)}function G(t,e,i){this.c=t,this.a=e,this.f=0,this.m=this.j=!1,this.s=i}I.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=r(),R(this)};var U=null;function N(t){0==--t.f&&t.j&&(t.m?((t=t.a).g&&g(t.f,[t.a.c("wf","active")],[t.a.c("wf","loading"),t.a.c("wf","inactive")]),T(t,"active")):S(t.a))}function t(t){this.j=t,this.a=new k,this.h=0,this.f=this.g=!0}function V(t,e){this.c=t,this.a=e}function H(t,e){this.c=t,this.a=e}function z(t,e){this.c=t||"https://fonts.googleapis.com/css",this.a=[],this.f=[],this.g=e||""}G.prototype.g=function(t){var e=this.a;e.g&&g(e.f,[e.a.c("wf",t.c,w(t).toString(),"active")],[e.a.c("wf",t.c,w(t).toString(),"loading"),e.a.c("wf",t.c,w(t).toString(),"inactive")]),T(e,"fontactive",t),this.m=!0,N(this)},G.prototype.h=function(t){var e=this.a;if(e.g){var i=n(e.f,e.a.c("wf",t.c,w(t).toString(),"active")),s=[],o=[e.a.c("wf",t.c,w(t).toString(),"loading")];i||s.push(e.a.c("wf",t.c,w(t).toString(),"inactive")),g(e.f,s,o)}T(e,"fontinactive",t),N(this)},t.prototype.load=function(t){this.c=new e(this.j,t.context||this.j),this.g=!1!==t.events,this.f=!1!==t.classes,function(o,t,e){var i=[],s=e.timeout;n=t,n.g&&g(n.f,[n.a.c("wf","loading")]),T(n,"loading");var n;var i=function(t,e,i){var s,o=[];for(s in e)if(e.hasOwnProperty(s)){var n=t.c[s];n&&o.push(n(e[s],i))}return o}(o.a,e,o.c),a=new G(o.c,t,s);for(o.h=i.length,t=0,e=i.length;tn&&(n=r.y)}return new l(this.pos.clone().add(new h(i,s)),o-i,n-s).l()},(i.Box=l).prototype.toPolygon=l.prototype.l=function(){var t=this.pos,e=this.w,i=this.h;return new s(new h(t.x,t.y),[new h,new h(e,0),new h(e,i),new h(0,i)])},(i.Response=e).prototype.clear=e.prototype.clear=function(){return this.bInA=this.aInB=!0,this.overlap=Number.MAX_VALUE,this};for(var m=[],a=0;a<10;a++)m.push(new h);var u=[];for(a=0;a<5;a++)u.push([]);var r=new e,d=new l(new h,1e-6,1e-6).l();return i.isSeparatingAxis=p,i.pointInCircle=function(t,e){var i=m.pop().c(t).sub(e.pos),s=e.r*e.r,o=i.g();return m.push(i),o<=s},i.pointInPolygon=function(t,e){d.pos.c(t),r.clear();var i=n(d,e,r);return i&&(i=r.aInB),i},i.testCircleCircle=function(t,e,i){var s=m.pop().c(e.pos).sub(t.pos),o=t.r+e.r,n=s.g();return o*o=i&&(o._startTime+=t),o=o._next;if(e)for(s in n)n[s]>=i&&(n[s]+=t);return this._uncache(!0)},i._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),s=i.length,o=!1;-1<--s;)i[s]._kill(t,e)&&(o=!0);return o},i.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;-1<--i;)e[i]._enabled(!1,!1);return!1!==t&&(this._labels={}),this._uncache(!0)},i.invalidate=function(){for(var t=this._first;t;)t.invalidate(),t=t._next;return c.prototype.invalidate.call(this)},i._enabled=function(t,e){if(t===this._gc)for(var i=this._first;i;)i._enabled(t,!0),i=i._next;return p.prototype._enabled.call(this,t,e)},i.totalTime=function(t,e,i){this._forcingPlayhead=!0;var s=c.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,s},i.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},i.totalDuration=function(t){if(arguments.length)return t&&this.totalDuration()?this.timeScale(this._totalDuration/t):this;if(this._dirty){for(var e,i,s=0,o=this._last,n=999999999999;o;)e=o._prev,o._dirty&&o.totalDuration(),o._startTime>n&&this._sortChildren&&!o._paused&&!this._calculatingDuration?(this._calculatingDuration=1,this.add(o,o._startTime-o._delay),this._calculatingDuration=0):n=o._startTime,o._startTime<0&&!o._paused&&(s-=o._startTime,this._timeline.smoothChildTiming&&(this._startTime+=o._startTime/this._timeScale,this._time-=o._startTime,this._totalTime-=o._startTime,this._rawPrevTime-=o._startTime),this.shiftChildren(-o._startTime,!1,-9999999999),n=0),s<(i=o._startTime+o._totalDuration/o._timeScale)&&(s=i),o=e;this._duration=this._totalDuration=s,this._dirty=!1}return this._totalDuration},i.paused=function(t){if(!t)for(var e=this._first,i=this._time;e;)e._startTime===i&&"isPause"===e.data&&(e._rawPrevTime=0),e=e._next;return c.prototype.paused.apply(this,arguments)},i.usesFrames=function(){for(var t=this._timeline;t._timeline;)t=t._timeline;return t===c._rootFramesTimeline},i.rawTime=function(t){return t&&(this._paused||this._repeat&&0