Skip to content

Instantly share code, notes, and snippets.

@YellowAfterlife
Last active November 24, 2017 19:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YellowAfterlife/33cbe30dacb92f72ac74 to your computer and use it in GitHub Desktop.
Save YellowAfterlife/33cbe30dacb92f72ac74 to your computer and use it in GitHub Desktop.
A userscript that introduces syntax highlighting for code snippets posted on /r/gamemaker
// ==UserScript==
// @name /r/gamemaker syntax highlighting
// @namespace https://yal.cc
// @include http://www.reddit.com/r/gamemaker/*
// @include https://www.reddit.com/r/gamemaker/*
// @author YellowAfterlife
// @description Syntax highlighting for /r/gamemaker ~ http://yellowafterlife.itch.io/syntax-highlighting-for-gamemaker-reddit
// @license https://creativecommons.org/licenses/by-nc-sa/3.0/
// @version 1.100
// @grant none
// ==/UserScript==
// Generated by Haxe 4.0.0 (git build development @ 0ecf104c0)
(function () { "use strict";
var $estr = function() { return js_Boot.__string_rec(this,''); };
function $extend(from, fields) {
function Inherit() {} Inherit.prototype = from; var proto = new Inherit();
for (var name in fields) proto[name] = fields[name];
if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
return proto;
}
var EReg = function(r,opt) {
this.r = new RegExp(r,opt.split("u").join(""));
};
EReg.__name__ = true;
EReg.prototype = {
match: function(s) {
if(this.r.global) {
this.r.lastIndex = 0;
}
this.r.m = this.r.exec(s);
this.r.s = s;
return this.r.m != null;
}
,matched: function(n) {
if(this.r.m != null && n >= 0 && n < this.r.m.length) {
return this.r.m[n];
} else {
throw new js__$Boot_HaxeError("EReg::matched");
}
}
,matchedPos: function() {
if(this.r.m == null) {
throw new js__$Boot_HaxeError("No string matched");
}
return { pos : this.r.m.index, len : this.r.m[0].length};
}
,matchSub: function(s,pos,len) {
if(len == null) {
len = -1;
}
if(this.r.global) {
this.r.lastIndex = pos;
this.r.m = this.r.exec(len < 0 ? s : HxOverrides.substr(s,0,pos + len));
var b = this.r.m != null;
if(b) {
this.r.s = s;
}
return b;
} else {
var b1 = this.match(len < 0 ? HxOverrides.substr(s,pos,null) : HxOverrides.substr(s,pos,len));
if(b1) {
this.r.s = s;
this.r.m.index += pos;
}
return b1;
}
}
};
var HxOverrides = function() { };
HxOverrides.__name__ = true;
HxOverrides.cca = function(s,index) {
var x = s.charCodeAt(index);
if(x != x) {
return undefined;
}
return x;
};
HxOverrides.substr = function(s,pos,len) {
if(len == null) {
len = s.length;
} else if(len < 0) {
if(pos == 0) {
len = s.length + len;
} else {
return "";
}
}
return s.substr(pos,len);
};
Math.__name__ = true;
var MiscTools = function() { };
MiscTools.__name__ = true;
MiscTools.each = function(rx,s,fn) {
var p = 0;
while(rx.matchSub(s,p)) {
fn(rx);
var mp = rx.matchedPos();
p = mp.pos + mp.len;
}
};
var Reflect = function() { };
Reflect.__name__ = true;
Reflect.makeVarArgs = function(f) {
return function() {
var a = Array.prototype.slice.call(arguments);
return f(a);
};
};
var Std = function() { };
Std.__name__ = true;
Std.string = function(s) {
return js_Boot.__string_rec(s,"");
};
var StringBuf = function() {
this.b = "";
};
StringBuf.__name__ = true;
var StringTools = function() { };
StringTools.__name__ = true;
StringTools.htmlEscape = function(s,quotes) {
s = s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
if(quotes) {
return s.split("\"").join("&quot;").split("'").join("&#039;");
} else {
return s;
}
};
StringTools.replace = function(s,sub,by) {
return s.split(sub).join(by);
};
var gml_GmlAPI = function() { };
gml_GmlAPI.__name__ = true;
gml_GmlAPI.keywords_init = function() {
var r = new haxe_ds_StringMap();
var kd = ["globalvar","var","enum","if","then","else","begin","end","for","while","do","until","repeat","switch","case","default","break","continue","with","exit","return","self","other","noone","all","global","mod","div","not","and","or","xor","wait","in","try","catch","throw"];
var _g = 0;
while(_g < kd.length) {
var s = kd[_g];
++_g;
if(__map_reserved[s] != null) {
r.setReserved(s,true);
} else {
r.h[s] = true;
}
}
return r;
};
gml_GmlAPI.builtin_init = function() {
var r = new haxe_ds_StringMap();
var d = ["object_index","id","persistent","x","y","xprevious","yprevious","xstart","ystart","hspeed","vspeed","direction","speed","friction","gravity","gravity_direction","visible","depth","sprite_index","mask_index","sprite_width","sprite_height","sprite_xoffset","sprite_yoffset","image_number","image_index","image_speed","image_xscale","image_yscale","image_angle","image_alpha","image_blend","solid","bbox_left","bbox_right","bbox_top","bbox_bottom","mask_index","argument","argument_count","true","false","undefined","argument0","argument1","argument2","argument3","argument4","argument5","argument6","argument7","argument8","argument9","argument10","argument11","argument12","argument13","argument14","argument15"];
var _g = 0;
while(_g < d.length) {
var s = d[_g];
++_g;
if(__map_reserved[s] != null) {
r.setReserved(s,true);
} else {
r.h[s] = true;
}
}
return r;
};
gml_GmlAPI.loadEntries = function(gml1) {
MiscTools.each(new EReg("^\\s*(?::\\s*)?(\\w+)","gm"),gml1,function(rx) {
var this1 = gml_GmlAPI.builtin;
var key = rx.matched(1);
var _this = this1;
if(__map_reserved[key] != null) {
_this.setReserved(key,true);
} else {
_this.h[key] = true;
}
});
};
var gml_GmlData = function() { };
gml_GmlData.__name__ = true;
var gml_GmlVersion = function() { };
gml_GmlVersion.__name__ = true;
gml_GmlVersion.verify = function(gml1,v) {
var q_source = gml1;
var q_length = q_source.length;
var q_pos = 0;
while(q_pos < q_length) {
var c = q_source.charCodeAt(q_pos++);
switch(c) {
case 34:
if(v >= 2) {
while(q_pos < q_length) {
c = q_source.charCodeAt(q_pos++);
if(c == 34) {
break;
}
if(c == 92) {
switch(c) {
case 117:
q_pos += 5;
break;
case 120:
q_pos += 3;
break;
default:
++q_pos;
}
}
}
if(q_pos >= q_length) {
return false;
}
} else {
while(q_pos < q_length) {
c = q_source.charCodeAt(q_pos++);
if(c == 34) {
break;
}
}
if(q_pos >= q_length) {
return false;
}
}
break;
case 39:
if(v >= 2) {
return false;
} else {
while(q_pos < q_length) {
c = q_source.charCodeAt(q_pos++);
if(c == 39) {
break;
}
}
if(q_pos >= q_length) {
return false;
}
}
break;
case 47:
var _g = q_source.charCodeAt(q_pos);
switch(_g) {
case 42:
++q_pos;
while(q_pos < q_length) if(q_source.charCodeAt(q_pos) == 42) {
++q_pos;
if(q_source.charCodeAt(q_pos) == 47) {
++q_pos;
break;
}
} else {
++q_pos;
}
break;
case 47:
++q_pos;
while(q_pos < q_length) {
var _g1 = q_source.charCodeAt(q_pos);
switch(_g1) {
case 10:case 13:
break;
default:
++q_pos;
continue;
}
break;
}
break;
default:
}
break;
case 64:
var _g2 = q_source.charCodeAt(q_pos);
switch(_g2) {
case 34:
if(v < 2) {
return false;
}
++q_pos;
while(q_pos < q_length) {
c = q_source.charCodeAt(q_pos++);
if(c == 34) {
break;
}
}
if(q_pos >= q_length) {
return false;
}
break;
case 39:
if(v < 2) {
return false;
}
++q_pos;
while(q_pos < q_length) {
c = q_source.charCodeAt(q_pos++);
if(c == 39) {
break;
}
}
if(q_pos >= q_length) {
return false;
}
break;
default:
}
break;
default:
}
}
return true;
};
gml_GmlVersion.detect = function(gml1) {
gml1 += "\n";
if(gml_GmlVersion.verify(gml1,2)) {
return 2;
}
if(gml_GmlVersion.verify(gml1,1)) {
return 1;
}
return 0;
};
var gml_HintGML = function() { };
gml_HintGML.__name__ = true;
gml_HintGML.parseSub = function(q,tokens,tplStart) {
var start;
var c;
var c1;
var i;
var s;
var cubDepth = 0;
var v = gml_HintGML.version;
var lx = gml_HintGML.liveExt;
while(q.pos < q.length) {
start = q.pos;
c = q.source.charCodeAt(q.pos++);
switch(c) {
case 9:case 10:case 13:case 32:
while(q.pos < q.length) {
var _g = q.source.charCodeAt(q.pos);
switch(_g) {
case 9:case 10:case 13:case 32:
q.pos += 1;
continue;
default:
}
break;
}
tokens.push(gml_GmlToken.Spaces(q.source.substring(start,q.pos)));
break;
case 34:
if(v >= 2) {
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos++);
if(c == 34) {
break;
}
if(c == 92) {
switch(c) {
case 117:
q.pos += 5;
break;
case 120:
q.pos += 3;
break;
default:
q.pos += 1;
}
}
}
} else {
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos++);
if(c == 34) {
break;
}
}
}
tokens.push(gml_GmlToken.CString(q.source.substring(start,q.pos)));
break;
case 35:
if(HxOverrides.substr(q.source,q.pos,6) == "define") {
q.pos += 6;
tokens.push(gml_GmlToken.Define);
} else if(HxOverrides.substr(q.source,q.pos,5) == "macro") {
q.pos += 5;
tokens.push(gml_GmlToken.Macro);
} else {
tokens.push(gml_GmlToken.Op("#"));
}
break;
case 33:case 37:case 42:case 61:
if(q.source.charCodeAt(q.pos) == 61) {
q.pos += 1;
}
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
break;
case 39:
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos++);
if(c == 39) {
break;
}
}
tokens.push(gml_GmlToken.CString(q.source.substring(start,q.pos)));
break;
case 40:
tokens.push(gml_GmlToken.ParOpen);
break;
case 41:
tokens.push(gml_GmlToken.ParClose);
break;
case 44:case 58:case 59:case 63:case 126:
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
break;
case 47:
var _g1 = q.source.charCodeAt(q.pos);
switch(_g1) {
case 42:
q.pos += 1;
while(q.pos < q.length) if(q.source.charCodeAt(q.pos) == 42) {
q.pos += 1;
if(q.source.charCodeAt(q.pos) == 47) {
q.pos += 1;
break;
}
} else {
q.pos += 1;
}
tokens.push(gml_GmlToken.Comment(q.source.substring(start,q.pos)));
break;
case 47:
q.pos += 1;
while(q.pos < q.length) {
var _g2 = q.source.charCodeAt(q.pos);
switch(_g2) {
case 10:case 13:
break;
default:
q.pos += 1;
continue;
}
break;
}
tokens.push(gml_GmlToken.Comment(q.source.substring(start,q.pos)));
break;
case 61:
q.pos += 1;
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
break;
default:
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
}
break;
case 60:
var _g3 = q.source.charCodeAt(q.pos);
switch(_g3) {
case 60:case 61:case 62:
q.pos += 1;
break;
}
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
break;
case 38:case 43:case 45:case 62:case 94:case 124:
c1 = q.source.charCodeAt(q.pos);
if(c1 == 61 || c1 == c) {
q.pos += 1;
}
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
break;
case 64:
if(v >= 2) {
var _g4 = q.source.charCodeAt(q.pos);
switch(_g4) {
case 34:
q.pos += 1;
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos++);
if(c == 34) {
break;
}
}
tokens.push(gml_GmlToken.CString(q.source.substring(start,q.pos)));
break;
case 39:
q.pos += 1;
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos++);
if(c == 39) {
break;
}
}
tokens.push(gml_GmlToken.CString(q.source.substring(start,q.pos)));
break;
default:
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
}
} else {
tokens.push(gml_GmlToken.Op(q.source.substring(start,q.pos)));
}
break;
case 91:
tokens.push(gml_GmlToken.SqbOpen);
break;
case 93:
tokens.push(gml_GmlToken.SqbClose);
break;
case 96:
if(lx) {
c1 = q.source.charCodeAt(q.pos);
while(c1 != 96 && q.pos < q.length) {
q.pos += 1;
if(c1 == 36) {
c1 = q.source.charCodeAt(q.pos);
if(c1 == 123) {
q.pos += 1;
tokens.push(gml_GmlToken.TString(q.source.substring(start,q.pos)));
gml_HintGML.parseSub(q,tokens,q.pos);
start = q.pos;
}
}
c1 = q.source.charCodeAt(q.pos);
}
if(q.pos < q.length) {
q.pos += 1;
}
tokens.push(gml_GmlToken.TString(q.source.substring(start,q.pos)));
}
break;
case 123:
++cubDepth;
tokens.push(gml_GmlToken.CubOpen);
break;
case 125:
if(--cubDepth <= 0 && tplStart >= 0) {
q.pos -= 1;
return;
} else {
tokens.push(gml_GmlToken.CubClose);
}
break;
default:
if(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c == 95) {
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos);
if(c == 95 || c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57) {
q.pos += 1;
} else {
break;
}
}
s = q.source.substring(start,q.pos);
var _this = gml_GmlAPI.keywords;
if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) {
tokens.push(gml_GmlToken.Keyword(s));
} else if(q.source.charCodeAt(q.pos) == 40) {
var _this1 = gml_GmlAPI.builtin;
tokens.push((__map_reserved[s] != null ? _this1.existsReserved(s) : _this1.h.hasOwnProperty(s)) ? gml_GmlToken.Func(s) : gml_GmlToken.Script(s));
} else {
var _this2 = gml_GmlAPI.builtin;
if(__map_reserved[s] != null ? _this2.existsReserved(s) : _this2.h.hasOwnProperty(s)) {
tokens.push(gml_GmlToken.Builtin(s));
} else {
var _this3 = gml_GmlAPI.assets;
if(__map_reserved[s] != null ? _this3.existsReserved(s) : _this3.h.hasOwnProperty(s)) {
tokens.push(gml_GmlToken.Asset(s));
} else if(start > 0 && q.source.charCodeAt(start - 1) != 46) {
if(gml_HintGML.rxScript.match(s)) {
tokens.push(gml_GmlToken.Script(s));
} else if(gml_HintGML.rxAsset.match(s)) {
tokens.push(gml_GmlToken.Asset(s));
} else {
tokens.push(gml_GmlToken.Ident(s));
}
} else {
tokens.push(gml_GmlToken.Ident(s));
}
}
}
} else if(c >= 48 && c <= 57 || c == 46) {
var isPeriod;
if(c == 46) {
c1 = q.source.charCodeAt(q.pos + 1);
isPeriod = c1 < 48 || c1 > 57;
} else {
isPeriod = false;
}
if(isPeriod) {
tokens.push(gml_GmlToken.Op("."));
} else {
while(q.pos < q.length) {
c = q.source.charCodeAt(q.pos);
if(c == 46 || c >= 48 && c <= 57) {
q.pos += 1;
} else {
break;
}
}
tokens.push(gml_GmlToken.Number(q.source.substring(start,q.pos)));
}
}
}
}
};
gml_HintGML.parse = function(code) {
var reader = new sf_io_StringReader(code);
var tokens = [];
gml_HintGML.parseSub(reader,tokens,-1);
return tokens;
};
gml_HintGML.hintLocals = function(tokens) {
var start = 0;
var end = 0;
var length = tokens.length;
var scripts = new haxe_ds_StringMap();
var pos = -1;
while(++pos < length) {
var _g = tokens[pos];
var tmp;
switch(_g[1]) {
case 2:case 3:
tmp = true;
break;
default:
tmp = false;
}
if(tmp) {
var _g1 = tokens[pos + 2];
if(_g1[1] == 11) {
var s = _g1[2];
if(__map_reserved[s] != null) {
scripts.setReserved(s,true);
} else {
scripts.h[s] = true;
}
}
}
}
while(++end <= length) {
var tmp1;
if(end < length) {
var _g2 = tokens[end];
tmp1 = _g2[1] != 2;
} else {
tmp1 = false;
}
if(tmp1) {
continue;
}
var locals = new haxe_ds_StringMap();
var pos1;
var tmp2;
var _g11 = tokens[start];
if(_g11[1] == 2 && start + 3 < end) {
var _g21 = tokens[start + 3];
tmp2 = _g21[1] == 16;
} else {
tmp2 = false;
}
if(tmp2) {
pos1 = start + 4;
_hx_loop3: while(pos1 < end) {
var _g3 = tokens[pos1++];
switch(_g3[1]) {
case 11:
var s1 = _g3[2];
if(__map_reserved[s1] != null) {
locals.setReserved(s1,true);
} else {
locals.h[s1] = true;
}
break;
case 17:
break _hx_loop3;
default:
}
}
}
pos1 = start;
while(pos1 < end) {
var _g31 = tokens[pos1++];
if(!(_g31[1] == 8 && _g31[2] == "var")) {
continue;
}
var depth = -1;
_hx_loop5: while(pos1 < end) {
var _g4 = tokens[pos1++];
switch(_g4[1]) {
case 4:
switch(_g4[2]) {
case ",":
if(depth == 0) {
--depth;
}
break;
case ";":
break _hx_loop5;
default:
continue;
}
break;
case 11:
var s2 = _g4[2];
if(depth < 0) {
if(__map_reserved[s2] != null) {
locals.setReserved(s2,true);
} else {
locals.h[s2] = true;
}
}
var _g41 = tokens[pos1++];
if(_g41[1] == 4) {
if(_g41[2] == "=") {
++depth;
} else {
break _hx_loop5;
}
} else {
break _hx_loop5;
}
break;
case 16:case 18:
++depth;
break;
case 17:case 19:
--depth;
break;
default:
continue;
}
}
}
pos1 = start - 1;
while(++pos1 < end) {
var _g32 = tokens[pos1];
if(_g32[1] == 11) {
var s3 = _g32[2];
if(__map_reserved[s3] != null ? locals.existsReserved(s3) : locals.h.hasOwnProperty(s3)) {
tokens[pos1] = gml_GmlToken.Local(s3);
} else if(__map_reserved[s3] != null ? scripts.existsReserved(s3) : scripts.h.hasOwnProperty(s3)) {
tokens[pos1] = gml_GmlToken.Script(s3);
}
}
}
start = end;
}
};
gml_HintGML.print = function(tokens,cname) {
var q = new sf_io_StringBuilder();
if(cname != null) {
q.b += Std.string("<pre class=\"" + cname + "\">");
}
var _g = 0;
while(_g < tokens.length) {
var tk = tokens[_g];
++_g;
switch(tk[1]) {
case 0:
var s = tk[2];
q.b += s == null ? "null" : "" + s;
break;
case 1:
var s1 = tk[2];
q.b += Std.string("<span class=\"" + "co" + "\">");
var s2 = StringTools.htmlEscape(s1);
q.b += Std.string(s2);
q.b += "</span>";
break;
case 2:
q.b += Std.string("<span class=\"" + "md" + "\">");
var s3 = StringTools.htmlEscape("#define");
q.b += Std.string(s3);
q.b += "</span>";
break;
case 3:
q.b += Std.string("<span class=\"" + "md" + "\">");
var s4 = StringTools.htmlEscape("#macro");
q.b += Std.string(s4);
q.b += "</span>";
break;
case 4:
var s5 = tk[2];
q.b += Std.string("<span class=\"" + "op" + "\">");
var s6 = StringTools.htmlEscape(s5);
q.b += Std.string(s6);
q.b += "</span>";
break;
case 5:
var s7 = tk[2];
q.b += Std.string("<span class=\"" + "nu" + "\">");
var s8 = StringTools.htmlEscape(s7);
q.b += Std.string(s8);
q.b += "</span>";
break;
case 6:
var s9 = tk[2];
q.b += Std.string("<span class=\"" + "st" + "\">");
var s10 = StringTools.htmlEscape(s9);
q.b += Std.string(s10);
q.b += "</span>";
break;
case 7:
var s11 = tk[2];
q.b += Std.string("<span class=\"" + "ts" + "\">");
var s12 = StringTools.htmlEscape(s11);
q.b += Std.string(s12);
q.b += "</span>";
break;
case 8:
var s13 = tk[2];
q.b += Std.string("<span class=\"" + "kw" + "\">");
var s14 = StringTools.htmlEscape(s13);
q.b += Std.string(s14);
q.b += "</span>";
break;
case 9:
var s15 = tk[2];
q.b += Std.string("<span class=\"" + "sf" + "\">");
var s16 = StringTools.htmlEscape(s15);
q.b += Std.string(s16);
q.b += "</span>";
break;
case 10:
var s17 = tk[2];
q.b += Std.string("<span class=\"" + "sv" + "\">");
var s18 = StringTools.htmlEscape(s17);
q.b += Std.string(s18);
q.b += "</span>";
break;
case 11:
var s19 = tk[2];
q.b += Std.string("<span class=\"" + "uv" + "\">");
var s20 = StringTools.htmlEscape(s19);
q.b += Std.string(s20);
q.b += "</span>";
break;
case 12:
var s21 = tk[2];
q.b += Std.string("<span class=\"" + "lv" + "\">");
var s22 = StringTools.htmlEscape(s21);
q.b += Std.string(s22);
q.b += "</span>";
break;
case 13:
var s23 = tk[2];
q.b += Std.string("<span class=\"" + "uf" + "\">");
var s24 = StringTools.htmlEscape(s23);
q.b += Std.string(s24);
q.b += "</span>";
break;
case 14:
var s25 = tk[2];
q.b += Std.string("<span class=\"" + "ri" + "\">");
var s26 = StringTools.htmlEscape(s25);
q.b += Std.string(s26);
q.b += "</span>";
break;
case 16:
q.b += Std.string("<span class=\"" + "op" + "\">");
var s27 = StringTools.htmlEscape("(");
q.b += Std.string(s27);
q.b += "</span>";
break;
case 17:
q.b += Std.string("<span class=\"" + "op" + "\">");
var s28 = StringTools.htmlEscape(")");
q.b += Std.string(s28);
q.b += "</span>";
break;
case 18:
q.b += Std.string("<span class=\"" + "op" + "\">");
var s29 = StringTools.htmlEscape("[");
q.b += Std.string(s29);
q.b += "</span>";
break;
case 19:
q.b += Std.string("<span class=\"" + "op" + "\">");
var s30 = StringTools.htmlEscape("]");
q.b += Std.string(s30);
q.b += "</span>";
break;
case 20:
q.b += Std.string("<span class=\"" + "cb" + "\">");
var s31 = StringTools.htmlEscape("{");
q.b += Std.string(s31);
q.b += "</span>";
break;
case 21:
q.b += Std.string("<span class=\"" + "cb" + "\">");
var s32 = StringTools.htmlEscape("}");
q.b += Std.string(s32);
q.b += "</span>";
break;
default:
var s33 = StringTools.htmlEscape(Std.string(tk));
q.b += Std.string(s33);
}
}
if(cname != null) {
q.b += "</pre>";
}
return q.b;
};
gml_HintGML.unindent = function(code) {
var rx = new EReg("^[ \t]*\r?\n([ \t]+)","g");
if(rx.match(code)) {
var _this_r = new RegExp("\n" + rx.matched(1),"g".split("u").join(""));
return code.replace(_this_r,"\n");
} else {
return code;
}
};
gml_HintGML.proc = function(code,cname) {
code = gml_HintGML.unindent(code);
var tokens = gml_HintGML.parse(code);
gml_HintGML.hintLocals(tokens);
return gml_HintGML.print(tokens,cname);
};
var gml_GmlToken = { __ename__ : true, __constructs__ : ["Spaces","Comment","Define","Macro","Op","Number","CString","TString","Keyword","Func","Builtin","Ident","Local","Script","Asset","Field","ParOpen","ParClose","SqbOpen","SqbClose","CubOpen","CubClose"] };
gml_GmlToken.Spaces = function(s) { var $x = ["Spaces",0,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Comment = function(s) { var $x = ["Comment",1,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Define = ["Define",2];
gml_GmlToken.Define.toString = $estr;
gml_GmlToken.Define.__enum__ = gml_GmlToken;
gml_GmlToken.Macro = ["Macro",3];
gml_GmlToken.Macro.toString = $estr;
gml_GmlToken.Macro.__enum__ = gml_GmlToken;
gml_GmlToken.Op = function(s) { var $x = ["Op",4,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Number = function(s) { var $x = ["Number",5,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.CString = function(s) { var $x = ["CString",6,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.TString = function(s) { var $x = ["TString",7,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Keyword = function(s) { var $x = ["Keyword",8,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Func = function(s) { var $x = ["Func",9,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Builtin = function(s) { var $x = ["Builtin",10,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Ident = function(s) { var $x = ["Ident",11,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Local = function(s) { var $x = ["Local",12,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Script = function(s) { var $x = ["Script",13,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Asset = function(s) { var $x = ["Asset",14,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.Field = function(s) { var $x = ["Field",15,s]; $x.__enum__ = gml_GmlToken; $x.toString = $estr; return $x; };
gml_GmlToken.ParOpen = ["ParOpen",16];
gml_GmlToken.ParOpen.toString = $estr;
gml_GmlToken.ParOpen.__enum__ = gml_GmlToken;
gml_GmlToken.ParClose = ["ParClose",17];
gml_GmlToken.ParClose.toString = $estr;
gml_GmlToken.ParClose.__enum__ = gml_GmlToken;
gml_GmlToken.SqbOpen = ["SqbOpen",18];
gml_GmlToken.SqbOpen.toString = $estr;
gml_GmlToken.SqbOpen.__enum__ = gml_GmlToken;
gml_GmlToken.SqbClose = ["SqbClose",19];
gml_GmlToken.SqbClose.toString = $estr;
gml_GmlToken.SqbClose.__enum__ = gml_GmlToken;
gml_GmlToken.CubOpen = ["CubOpen",20];
gml_GmlToken.CubOpen.toString = $estr;
gml_GmlToken.CubOpen.__enum__ = gml_GmlToken;
gml_GmlToken.CubClose = ["CubClose",21];
gml_GmlToken.CubClose.toString = $estr;
gml_GmlToken.CubClose.__enum__ = gml_GmlToken;
var gml_user_HintWeb = function() { };
gml_user_HintWeb.__name__ = true;
gml_user_HintWeb.main = function() {
var q1 = ".md pre";
gml_GmlAPI.loadEntries(gml_GmlData.raw);
var css = document.createElement("style");
css.type = "text/css";
css.innerHTML = StringTools.replace("pre {\r\n\tfont-style: normal;\r\n\tbackground: #222222;\r\n}\r\npre.background-important {\r\n\tbackground: #222222!important;\r\n}\r\npre.has-line-numbers {\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n}\r\npre table {\r\n\tmargin: 0;\r\n\tborder-collapse: collapse;\r\n\tborder-spacing: 0px;\r\n}\r\npre td {\r\n\tpadding: 0;\r\n\tborder: 0;\r\n}\r\npre tr:first-of-type td {\r\n\tpadding-top: 4px;\r\n}\r\npre tr:last-of-type td {\r\n\tpadding-bottom: 4px;\r\n}\r\npre .code-line {\r\n\tpadding-left: 10px;\r\n\tcolor: #C0C0C0;\r\n}\r\npre .code-line-number {\r\n\twidth: 1%;\r\n\twhite-space: nowrap;\r\n\ttext-align: right;\r\n\tpadding-left: 10px;\r\n\tpadding-right: 10px;\r\n\tborder-right: 2px solid #97B2C8;\r\n\tmin-width: 20px;\r\n\tbackground-color: #2B343B;\r\n\tcolor: #40C3F4;\r\n}\r\npre .code-line-number::before {\r\n\tcontent: attr(data-line-number);\r\n}\r\npre .co { color: #5B995B }\r\npre .kw { color: #FFB871 }\r\npre .md { color: #FFB871 }\r\npre .cb { color: #FFB871 }\r\npre .sf { color: #FFB871 }\r\npre .uf { color: #FFB871 }\r\npre .nu { color: #FF8080 }\r\npre .st { color: #FFFF00 }\r\npre .ts { color: #FF8080 }\r\npre .sv { color: #FF8080 }\r\npre .ri { color: #FF8080 }\r\npre .lv { color: #FFF899 }\r\npre .uv { color: #B2B1FF }\r\n","pre",q1 + ".gmlmd");
css.id = "cc_yal_gmlhint";
document.body.appendChild(css);
var _g = 0;
var _g1 = document.querySelectorAll(q1);
while(_g < _g1.length) {
var _el = _g1[_g];
++_g;
var el = _el;
var code = el.textContent;
var v = gml_GmlVersion.detect(code);
if(v == 0) {
continue;
}
gml_HintGML.version = v;
var html = gml_HintGML.proc(code,null);
el.classList.add("background-important");
el.innerHTML = "<code style=\"background-color:transparent!important\">" + html + "</code>";
el.classList.add("gmlmd");
}
};
var haxe_IMap = function() { };
haxe_IMap.__name__ = true;
var haxe_ds_StringMap = function() {
this.h = { };
};
haxe_ds_StringMap.__name__ = true;
haxe_ds_StringMap.__interfaces__ = [haxe_IMap];
haxe_ds_StringMap.prototype = {
setReserved: function(key,value) {
if(this.rh == null) {
this.rh = { };
}
this.rh["$" + key] = value;
}
,getReserved: function(key) {
if(this.rh == null) {
return null;
} else {
return this.rh["$" + key];
}
}
,existsReserved: function(key) {
if(this.rh == null) {
return false;
}
return this.rh.hasOwnProperty("$" + key);
}
};
var js__$Boot_HaxeError = function(val) {
Error.call(this);
this.val = val;
this.message = String(val);
if(Error.captureStackTrace) {
Error.captureStackTrace(this,js__$Boot_HaxeError);
}
};
js__$Boot_HaxeError.__name__ = true;
js__$Boot_HaxeError.wrap = function(val) {
if((val instanceof Error)) {
return val;
} else {
return new js__$Boot_HaxeError(val);
}
};
js__$Boot_HaxeError.__super__ = Error;
js__$Boot_HaxeError.prototype = $extend(Error.prototype,{
});
var js_Boot = function() { };
js_Boot.__name__ = true;
js_Boot.__string_rec = function(o,s) {
if(o == null) {
return "null";
}
if(s.length >= 5) {
return "<...>";
}
var t = typeof(o);
if(t == "function" && (o.__name__ || o.__ename__)) {
t = "object";
}
switch(t) {
case "function":
return "<function>";
case "object":
if(o instanceof Array) {
if(o.__enum__) {
if(o.length == 2) {
return o[0];
}
var str = o[0] + "(";
s += "\t";
var _g1 = 2;
var _g = o.length;
while(_g1 < _g) {
var i = _g1++;
if(i != 2) {
str += "," + js_Boot.__string_rec(o[i],s);
} else {
str += js_Boot.__string_rec(o[i],s);
}
}
return str + ")";
}
var l = o.length;
var i1;
var str1 = "[";
s += "\t";
var _g11 = 0;
var _g2 = l;
while(_g11 < _g2) {
var i2 = _g11++;
str1 += (i2 > 0 ? "," : "") + js_Boot.__string_rec(o[i2],s);
}
str1 += "]";
return str1;
}
var tostr;
try {
tostr = o.toString;
} catch( e ) {
return "???";
}
if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") {
var s2 = o.toString();
if(s2 != "[object Object]") {
return s2;
}
}
var k = null;
var str2 = "{\n";
s += "\t";
var hasp = o.hasOwnProperty != null;
for( var k in o ) {
if(hasp && !o.hasOwnProperty(k)) {
continue;
}
if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
continue;
}
if(str2.length != 2) {
str2 += ", \n";
}
str2 += s + k + " : " + js_Boot.__string_rec(o[k],s);
}
s = s.substring(1);
str2 += "\n" + s + "}";
return str2;
case "string":
return o;
default:
return String(o);
}
};
var sf_io_StringBuilder = function() {
this.addFormat = null;
StringBuf.call(this);
this.addFormat = Reflect.makeVarArgs($bind(this,this.addFormatImpl));
};
sf_io_StringBuilder.__name__ = true;
sf_io_StringBuilder.formatInit = function() {
var _g = new haxe_ds_StringMap();
if(__map_reserved["%s"] != null) {
_g.setReserved("%s",function(b1,s1,i1) {
if(typeof(s1) == "string") {
b1.b += Std.string(s1);
} else {
throw new js__$Boot_HaxeError("Expected a string for arg#" + i1);
}
});
} else {
_g.h["%s"] = function(b1,s1,i1) {
if(typeof(s1) == "string") {
b1.b += Std.string(s1);
} else {
throw new js__$Boot_HaxeError("Expected a string for arg#" + i1);
}
};
}
if(__map_reserved["%d"] != null) {
_g.setReserved("%d",function(b21,v1,i21) {
if(typeof(v1) == "number" && ((v1 | 0) === v1)) {
b21.b += Std.string(v1);
} else {
throw new js__$Boot_HaxeError("Expected an int for arg#" + i21);
}
});
} else {
_g.h["%d"] = function(b21,v1,i21) {
if(typeof(v1) == "number" && ((v1 | 0) === v1)) {
b21.b += Std.string(v1);
} else {
throw new js__$Boot_HaxeError("Expected an int for arg#" + i21);
}
};
}
if(__map_reserved["%c"] != null) {
_g.setReserved("%c",function(b31,v21,i31) {
if(typeof(v21) == "number" && ((v21 | 0) === v21)) {
b31.b += Std.string(v21);
} else {
throw new js__$Boot_HaxeError("Expected a char for arg#" + i31);
}
});
} else {
_g.h["%c"] = function(b31,v21,i31) {
if(typeof(v21) == "number" && ((v21 | 0) === v21)) {
b31.b += Std.string(v21);
} else {
throw new js__$Boot_HaxeError("Expected a char for arg#" + i31);
}
};
}
if(__map_reserved["%t"] != null) {
_g.setReserved("%t",function(b41,v31,i41) {
if(typeof(v31) == "number" && ((v31 | 0) === v31)) {
var _g11 = 0;
var _g21 = v31;
while(_g11 < _g21) {
var i51 = _g11++;
b41.b += "\t";
}
} else {
throw new js__$Boot_HaxeError("Expected a tab count for arg#" + i41);
}
});
} else {
_g.h["%t"] = function(b41,v31,i41) {
if(typeof(v31) == "number" && ((v31 | 0) === v31)) {
var _g11 = 0;
var _g21 = v31;
while(_g11 < _g21) {
var i51 = _g11++;
b41.b += "\t";
}
} else {
throw new js__$Boot_HaxeError("Expected a tab count for arg#" + i41);
}
};
}
return _g;
};
sf_io_StringBuilder.__super__ = StringBuf;
sf_io_StringBuilder.prototype = $extend(StringBuf.prototype,{
addFormatImpl: function(args) {
var fmt = args[0];
var _this = sf_io_StringBuilder.formatCache;
var data = __map_reserved[fmt] != null ? _this.getReserved(fmt) : _this.h[fmt];
var i;
var n;
if(data == null) {
data = [];
var start = 0;
i = 0;
n = fmt.length;
while(i < n) if(HxOverrides.cca(fmt,i) == 37) {
if(i > start) {
data.push(fmt.substring(start,i));
}
data.push(HxOverrides.substr(fmt,i,2));
i += 2;
start = i;
} else {
++i;
}
if(i > start) {
data.push(fmt.substring(start,i));
}
var _this1 = sf_io_StringBuilder.formatCache;
if(__map_reserved[fmt] != null) {
_this1.setReserved(fmt,data);
} else {
_this1.h[fmt] = data;
}
}
i = -1;
n = data.length;
var argi = 0;
while(++i < n) {
var arg = data[i];
if(HxOverrides.cca(arg,0) == 37) {
var _this2 = sf_io_StringBuilder.formatMap;
var fn = __map_reserved[arg] != null ? _this2.getReserved(arg) : _this2.h[arg];
if(fn != null) {
++argi;
fn(this,args[argi],argi);
} else {
throw new js__$Boot_HaxeError("" + arg + " is not a known format.");
}
} else {
this.b += arg == null ? "null" : "" + arg;
}
}
return null;
}
});
var sf_io_StringReader = function(src) {
this.source = src;
this.length = this.source.length;
this.pos = 0;
};
sf_io_StringReader.__name__ = true;
var $_, $fid = 0;
function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $fid++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = function(){ return f.method.apply(f.scope, arguments); }; f.scope = o; f.method = m; o.hx__closures__[m.__id__] = f; } return f; }
String.__name__ = true;
Array.__name__ = true;
Date.__name__ = ["Date"];
var __map_reserved = {};
gml_GmlAPI.keywords = gml_GmlAPI.keywords_init();
gml_GmlAPI.builtin = gml_GmlAPI.builtin_init();
gml_GmlAPI.assets = new haxe_ds_StringMap();
gml_GmlData.raw = "argument_relative\nargument\nargument0\nargument1\nargument2\nargument3\nargument4\nargument5\nargument6\nargument7\nargument8\nargument9\nargument10\nargument11\nargument12\nargument13\nargument14\nargument15\nargument_count\nself\nother\nall\nnoone\nglobal\nlocal\nundefined\npointer_invalid\npointer_null\npath_action_stop\npath_action_restart\npath_action_continue\npath_action_reverse\ntrue\nfalse\npi\nGM_build_date\nGM_version\ntimezone_local\ntimezone_utc\ngamespeed_fps\ngamespeed_microseconds\nx\ny\nxprevious\nyprevious\nxstart\nystart\nhspeed\nvspeed\ndirection\nspeed\nfriction\ngravity\ngravity_direction\npath_index\npath_position\npath_positionprevious\npath_speed\npath_scale\npath_orientation\npath_endaction\nobject_index\nid\nsolid\npersistent\nmask_index\ninstance_count\ninstance_id\nroom_speed\nfps\nfps_real\ncurrent_time\ncurrent_year\ncurrent_month\ncurrent_day\ncurrent_weekday\ncurrent_hour\ncurrent_minute\ncurrent_second\nalarm\ntimeline_index\ntimeline_position\ntimeline_speed\ntimeline_running\ntimeline_loop\nroom\nroom_first\nroom_last\nroom_width\nroom_height\nroom_caption\nroom_persistent\nscore\nlives\nhealth\nshow_score\nshow_lives\nshow_health\ncaption_score\ncaption_lives\ncaption_health\nevent_type\nevent_number\nevent_object\nevent_action\nev_create\nev_destroy\nev_step\nev_alarm\nev_keyboard\nev_mouse\nev_collision\nev_other\nev_draw\nev_draw_begin\nev_draw_end\nev_draw_pre\nev_draw_post\nev_keypress\nev_keyrelease\nev_trigger\nev_left_button\nev_right_button\nev_middle_button\nev_no_button\nev_left_press\nev_right_press\nev_middle_press\nev_left_release\nev_right_release\nev_middle_release\nev_mouse_enter\nev_mouse_leave\nev_mouse_wheel_up\nev_mouse_wheel_down\nev_global_left_button\nev_global_right_button\nev_global_middle_button\nev_global_left_press\nev_global_right_press\nev_global_middle_press\nev_global_left_release\nev_global_right_release\nev_global_middle_release\nev_joystick1_left\nev_joystick1_right\nev_joystick1_up\nev_joystick1_down\nev_joystick1_button1\nev_joystick1_button2\nev_joystick1_button3\nev_joystick1_button4\nev_joystick1_button5\nev_joystick1_button6\nev_joystick1_button7\nev_joystick1_button8\nev_joystick2_left\nev_joystick2_right\nev_joystick2_up\nev_joystick2_down\nev_joystick2_button1\nev_joystick2_button2\nev_joystick2_button3\nev_joystick2_button4\nev_joystick2_button5\nev_joystick2_button6\nev_joystick2_button7\nev_joystick2_button8\nev_outside\nev_boundary\nev_game_start\nev_game_end\nev_room_start\nev_room_end\nev_no_more_lives\nev_animation_end\nev_end_of_path\nev_no_more_health\nev_close_button\nev_user0\nev_user1\nev_user2\nev_user3\nev_user4\nev_user5\nev_user6\nev_user7\nev_user8\nev_user9\nev_user10\nev_user11\nev_user12\nev_user13\nev_user14\nev_user15\nev_step_normal\nev_step_begin\nev_step_end\nev_gui\nev_gui_begin\nev_gui_end\nev_gesture\nev_gesture_tap\nev_gesture_double_tap\nev_gesture_drag_start\nev_gesture_dragging\nev_gesture_drag_end\nev_gesture_flick\nev_gesture_pinch_start\nev_gesture_pinch_in\nev_gesture_pinch_out\nev_gesture_pinch_end\nev_gesture_rotate_start\nev_gesture_rotating\nev_gesture_rotate_end\nev_global_gesture_tap\nev_global_gesture_double_tap\nev_global_gesture_drag_start\nev_global_gesture_dragging\nev_global_gesture_drag_end\nev_global_gesture_flick\nev_global_gesture_pinch_start\nev_global_gesture_pinch_in\nev_global_gesture_pinch_out\nev_global_gesture_pinch_end\nev_global_gesture_rotate_start\nev_global_gesture_rotating\nev_global_gesture_rotate_end\napplication_surface\ngamemaker_pro\ngamemaker_registered\ngamemaker_version\nerror_occurred\nerror_last\ndebug_mode\nfont_texture_page_size\nkeyboard_key\nkeyboard_lastkey\nkeyboard_lastchar\nkeyboard_string\nvk_nokey\nvk_anykey\nvk_enter\nvk_return\nvk_shift\nvk_control\nvk_alt\nvk_escape\nvk_space\nvk_backspace\nvk_tab\nvk_pause\nvk_printscreen\nvk_left\nvk_right\nvk_up\nvk_down\nvk_home\nvk_end\nvk_delete\nvk_insert\nvk_pageup\nvk_pagedown\nvk_f1\nvk_f2\nvk_f3\nvk_f4\nvk_f5\nvk_f6\nvk_f7\nvk_f8\nvk_f9\nvk_f10\nvk_f11\nvk_f12\nvk_numpad0\nvk_numpad1\nvk_numpad2\nvk_numpad3\nvk_numpad4\nvk_numpad5\nvk_numpad6\nvk_numpad7\nvk_numpad8\nvk_numpad9\nvk_divide\nvk_multiply\nvk_subtract\nvk_add\nvk_decimal\nvk_lshift\nvk_lcontrol\nvk_lalt\nvk_rshift\nvk_rcontrol\nvk_ralt\nmouse_x\nmouse_y\nmouse_button\nmouse_lastbutton\nmb_any\nmb_none\nmb_left\nmb_right\nmb_middle\ncursor_sprite\nvisible\nsprite_index\nsprite_width\nsprite_height\nsprite_xoffset\nsprite_yoffset\nimage_number\nimage_index\nimage_speed\ndepth\nimage_xscale\nimage_yscale\nimage_angle\nimage_alpha\nimage_blend\nbbox_left\nbbox_right\nbbox_top\nbbox_bottom\nlayer\nbackground_colour\nbackground_showcolour\nbackground_color\nbackground_showcolor\nc_aqua\nc_black\nc_blue\nc_dkgray\nc_fuchsia\nc_gray\nc_green\nc_lime\nc_ltgray\nc_maroon\nc_navy\nc_olive\nc_purple\nc_red\nc_silver\nc_teal\nc_white\nc_yellow\nc_orange\nfa_left\nfa_center\nfa_right\nfa_top\nfa_middle\nfa_bottom\npr_pointlist\npr_linelist\npr_linestrip\npr_trianglelist\npr_trianglestrip\npr_trianglefan\nbm_complex\nbm_normal\nbm_add\nbm_max\nbm_subtract\nbm_zero\nbm_one\nbm_src_colour\nbm_inv_src_colour\nbm_src_color\nbm_inv_src_color\nbm_src_alpha\nbm_inv_src_alpha\nbm_dest_alpha\nbm_inv_dest_alpha\nbm_dest_colour\nbm_inv_dest_colour\nbm_dest_color\nbm_inv_dest_color\nbm_src_alpha_sat\ntf_point\ntf_linear\ntf_anisotropic\nmip_off\nmip_on\nmip_markedonly\naudio_falloff_none\naudio_falloff_inverse_distance\naudio_falloff_inverse_distance_clamped\naudio_falloff_linear_distance\naudio_falloff_linear_distance_clamped\naudio_falloff_exponent_distance\naudio_falloff_exponent_distance_clamped\naudio_old_system\naudio_new_system\naudio_mono\naudio_stereo\naudio_3d\ncr_default\ncr_none\ncr_arrow\ncr_cross\ncr_beam\ncr_size_nesw\ncr_size_ns\ncr_size_nwse\ncr_size_we\ncr_uparrow\ncr_hourglass\ncr_drag\ncr_appstart\ncr_handpoint\ncr_size_all\nview_enabled\nview_current\nview_visible\nview_xport\nview_yport\nview_wport\nview_hport\nview_surface_id\nview_camera\nspritespeed_framespersecond\nspritespeed_framespergameframe\nasset_object\nasset_unknown\nasset_sprite\nasset_sound\nasset_room\nasset_path\nasset_script\nasset_font\nasset_timeline\nasset_tiles\nasset_shader\nfa_readonly\nfa_hidden\nfa_sysfile\nfa_volumeid\nfa_directory\nfa_archive\ngame_id\ngame_display_name\ngame_project_name\ngame_save_id\nworking_directory\ntemp_directory\nprogram_directory\nds_type_map\nds_type_list\nds_type_stack\nds_type_queue\nds_type_grid\nds_type_priority\nef_explosion\nef_ring\nef_ellipse\nef_firework\nef_smoke\nef_smokeup\nef_star\nef_spark\nef_flare\nef_cloud\nef_rain\nef_snow\npt_shape_pixel\npt_shape_disk\npt_shape_square\npt_shape_line\npt_shape_star\npt_shape_circle\npt_shape_ring\npt_shape_sphere\npt_shape_flare\npt_shape_spark\npt_shape_explosion\npt_shape_cloud\npt_shape_smoke\npt_shape_snow\nps_distr_linear\nps_distr_gaussian\nps_distr_invgaussian\nps_shape_rectangle\nps_shape_ellipse\nps_shape_diamond\nps_shape_line\nty_real\nty_string\ndll_cdecl\ndll_stdcall\nmatrix_view\nmatrix_projection\nmatrix_world\nos_win32\nos_windows\nos_macosx\nos_ios\nos_android\nos_linux\nos_unknown\nos_winphone\nos_win8native\nos_psvita\nos_ps4\nos_xboxone\nos_ps3\nos_uwp\nbrowser_not_a_browser\nbrowser_unknown\nbrowser_ie\nbrowser_firefox\nbrowser_chrome\nbrowser_safari\nbrowser_safari_mobile\nbrowser_opera\nbrowser_tizen\nbrowser_edge\nbrowser_windows_store\nbrowser_ie_mobile\nbrowser_width\nbrowser_height\ndevice_ios_unknown\ndevice_ios_iphone\ndevice_ios_iphone_retina\ndevice_ios_ipad\ndevice_ios_ipad_retina\ndevice_ios_iphone5\ndevice_ios_iphone6\ndevice_ios_iphone6plus\ndevice_emulator\ndevice_tablet\ndisplay_landscape\ndisplay_landscape_flipped\ndisplay_portrait\ndisplay_portrait_flipped\nos_type\nos_device\nos_browser\nos_version\ndisplay_aa\nasync_load\ndelta_time\nwebgl_enabled\nevent_data\nof_challenge_win\nof_challen\nge_lose\nof_challenge_tie\nleaderboard_type_number\nleaderboard_type_time_mins_secs\ncmpfunc_never\ncmpfunc_less\ncmpfunc_equal\ncmpfunc_lessequal\ncmpfunc_greater\ncmpfunc_notequal\ncmpfunc_greaterequal\ncmpfunc_always\ncull_noculling\ncull_clockwise\ncull_counterclockwise\nlighttype_dir\nlighttype_point\niap_data\niap_ev_storeload\niap_ev_product\niap_ev_purchase\niap_ev_consume\niap_ev_restore\niap_storeload_ok\niap_storeload_failed\niap_status_uninitialised\niap_status_unavailable\niap_status_loading\niap_status_available\niap_status_processing\niap_status_restoring\niap_failed\niap_unavailable\niap_available\niap_purchased\niap_canceled\niap_refunded\nfb_login_default\nfb_login_fallback_to_webview\nfb_login_no_fallback_to_webview\nfb_login_forcing_webview\nfb_login_use_system_account\nfb_login_forcing_safari\nphy_rotation\nphy_position_x\nphy_position_y\nphy_angular_velocity\nphy_linear_velocity_x\nphy_linear_velocity_y\nphy_speed_x\nphy_speed_y\nphy_speed\nphy_angular_damping\nphy_linear_damping\nphy_bullet\nphy_fixed_rotation\nphy_active\nphy_mass\nphy_inertia\nphy_com_x\nphy_com_y\nphy_dynamic\nphy_kinematic\nphy_sleeping\nphy_collision_points\nphy_collision_x\nphy_collision_y\nphy_col_normal_x\nphy_col_normal_y\nphy_position_xprevious\nphy_position_yprevious\nphy_joint_anchor_1_x\nphy_joint_anchor_1_y\nphy_joint_anchor_2_x\nphy_joint_anchor_2_y\nphy_joint_reaction_force_x\nphy_joint_reaction_force_y\nphy_joint_reaction_torque\nphy_joint_motor_speed\nphy_joint_angle\nphy_joint_motor_torque\nphy_joint_max_motor_torque\nphy_joint_translation\nphy_joint_speed\nphy_joint_motor_force\nphy_joint_max_motor_force\nphy_joint_length_1\nphy_joint_length_2\nphy_joint_damping_ratio\nphy_joint_frequency\nphy_joint_lower_angle_limit\nphy_joint_upper_angle_limit\nphy_joint_angle_limits\nphy_joint_max_length\nphy_joint_max_torque\nphy_joint_max_force\nphy_debug_render_aabb\nphy_debug_render_collision_pairs\nphy_debug_render_coms\nphy_debug_render_core_shapes\nphy_debug_render_joints\nphy_debug_render_obb\nphy_debug_render_shapes\nphy_particle_flag_water\nphy_particle_flag_zombie\nphy_particle_flag_wall\nphy_particle_flag_spring\nphy_particle_flag_elastic\nphy_particle_flag_viscous\nphy_particle_flag_powder\nphy_particle_flag_tensile\nphy_particle_flag_colourmixing\nphy_particle_flag_colormixing\nphy_particle_group_flag_solid\nphy_particle_group_flag_rigid\nphy_particle_data_flag_typeflags\nphy_particle_data_flag_position\nphy_particle_data_flag_velocity\nphy_particle_data_flag_colour\nphy_particle_data_flag_color\nphy_particle_data_flag_category\nachievement_our_info\nachievement_friends_info\nachievement_leaderboard_info\nachievement_achievement_info\nachievement_filter_all_players\nachievement_filter_friends_only\nachievement_filter_favorites_only\nachievement_type_achievement_challenge\nachievement_type_score_challenge\nachievement_pic_loaded\nachievement_show_ui\nachievement_show_profile\nachievement_show_leaderboard\nachievement_show_achievement\nachievement_show_bank\nachievement_show_friend_picker\nachievement_show_purchase_prompt\nnetwork_socket_tcp\nnetwork_socket_udp\nnetwork_socket_bluetooth\nnetwork_type_connect\nnetwork_type_disconnect\nnetwork_type_data\nnetwork_type_non_blocking_connect\nnetwork_config_connect_timeout\nnetwork_config_use_non_blocking_socket\nnetwork_config_enable_reliable_udp\nnetwork_config_disable_reliable_udp\nbuffer_fixed\nbuffer_grow\nbuffer_wrap\nbuffer_fast\nbuffer_vbuffer\nbuffer_network\nbuffer_u8\nbuffer_s8\nbuffer_u16\nbuffer_s16\nbuffer_u32\nbuffer_s32\nbuffer_u64\nbuffer_f16\nbuffer_f32\nbuffer_f64\nbuffer_bool\nbuffer_text\nbuffer_string\nbuffer_seek_start\nbuffer_seek_relative\nbuffer_seek_end\nbuffer_generalerror\nbuffer_outofspace\nbuffer_outofbounds\nbuffer_invalidtype\ntext_type\nbutton_type\ninput_type\nANSI_CHARSET\nDEFAULT_CHARSET\nEASTEUROPE_CHARSET\nRUSSIAN_CHARSET\nSYMBOL_CHARSET\nSHIFTJIS_CHARSET\nHANGEUL_CHARSET\nGB2312_CHARSET\nCHINESEBIG5_CHARSET\nJOHAB_CHARSET\nHEBREW_CHARSET\nARABIC_CHARSET\nGREEK_CHARSET\nTURKISH_CHARSET\nVIETNAMESE_CHARSET\nTHAI_CHARSET\nMAC_CHARSET\nBALTIC_CHARSET\nOEM_CHARSET\ngp_face1\ngp_face2\ngp_face3\ngp_face4\ngp_shoulderl\ngp_shoulderr\ngp_shoulderlb\ngp_shoulderrb\ngp_select\ngp_start\ngp_stickl\ngp_stickr\ngp_padu\ngp_padd\ngp_padl\ngp_padr\ngp_axislh\ngp_axislv\ngp_axisrh\ngp_axisrv\nov_friends\nov_community\nov_players\nov_settings\nov_gamegroup\nov_achievements\nlb_sort_none\nlb_sort_ascending\nlb_sort_descending\nlb_disp_none\nlb_disp_numeric\nlb_disp_time_sec\nlb_disp_time_ms\nugc_result_success\nugc_filetype_community\nugc_filetype_microtrans\nugc_visibility_public\nugc_visibility_friends_only\nugc_visibility_private\nugc_query_RankedByVote\nugc_query_RankedByPublicationDate\nugc_query_AcceptedForGameRankedByAcceptanceDate\nugc_query_RankedByTrend\nugc_query_FavoritedByFriendsRankedByPublicationDate\nugc_query_CreatedByFriendsRankedByPublicationDate\nugc_query_RankedByNumTimesReported\nugc_query_CreatedByFollowedUsersRankedByPublicationDate\nugc_query_NotYetRated\nugc_query_RankedByTotalVotesAsc\nugc_query_RankedByVotesUp\nugc_query_RankedByTextSearch\nugc_sortorder_CreationOrderDesc\nugc_sortorder_CreationOrderAsc\nugc_sortorder_TitleAsc\nugc_sortorder_LastUpdatedDesc\nugc_sortorder_SubscriptionDateDesc\nugc_sortorder_VoteScoreDesc\nugc_sortorder_ForModeration\nugc_list_Published\nugc_list_VotedOn\nugc_list_VotedUp\nugc_list_VotedDown\nugc_list_WillVoteLater\nugc_list_Favorited\nugc_list_Subscribed\nugc_list_UsedOrPlayed\nugc_list_Followed\nugc_match_Items\nugc_match_Items_Mtx\nugc_match_Items_ReadyToUse\nugc_match_Collections\nugc_match_Artwork\nugc_match_Videos\nugc_match_Screenshots\nugc_match_AllGuides\nugc_match_WebGuides\nugc_match_IntegratedGuides\nugc_match_UsableInGame\nugc_match_ControllerBindings\nvertex_usage_position\nvertex_usage_colour\nvertex_usage_color\nvertex_usage_normal\nvertex_usage_texcoord\nvertex_usage_textcoord\nvertex_usage_blendweight\nvertex_usage_blendindices\nvertex_usage_psize\nvertex_usage_tangent\nvertex_usage_binormal\nvertex_usage_fog\nvertex_usage_depth\nvertex_usage_sample\nvertex_type_float1\nvertex_type_float2\nvertex_type_float3\nvertex_type_float4\nvertex_type_colour\nvertex_type_color\nvertex_type_ubyte4\nlayerelementtype_undefined\nlayerelementtype_background\nlayerelementtype_instance\nlayerelementtype_oldtilemap\nlayerelementtype_sprite\nlayerelementtype_tilemap\nlayerelementtype_particlesystem\nlayerelementtype_tile\ntile_rotate\ntile_flip\ntile_mirror\ntile_index_mask\nglobalvar\nGM_runtime_version\ntransition_kind\ntransition_steps\ntransition_colour\nbackground_visible\nbackground_foreground\nbackground_index\nbackground_x\nbackground_y\nbackground_width\nbackground_height\nbackground_htiled\nbackground_vtiled\nbackground_xscale\nbackground_yscale\nbackground_hspeed\nbackground_vspeed\nbackground_blend\nbackground_alpha\nvbm_fast\nvbm_compatible\nvbm_most_compatible\ncr_nodrop\ncr_hsplit\ncr_vsplit\ncr_multidrag\ncr_sqlwait\ncr_no\ncr_help\nview_xview\nview_yview\nview_wview\nview_hview\nview_angle\nview_hborder\nview_vborder\nview_hspeed\nview_vspeed\nview_object\nse_none\nse_chorus\nse_echo\nse_flanger\nse_gargle\nse_reverb\nse_compressor\nse_equalizer\nasset_background\nsecure_mode\nps_force_constant\nps_force_linear\nps_force_quadratic\nps_deflect_vertical\nps_deflect_horizontal\nps_change_all\nps_change_shape\nps_change_motion\nos_psp\nos_symbian\nos_tizen\nos_wiiu\nos_3ds\nos_bb10\nos_xbox360\ndevice_ios_iphone6s\ndevice_ios_iphone6splus";
gml_HintGML.rxScript = new EReg("^scr[_A-Z]","g");
gml_HintGML.rxAsset = new EReg("^(?:obj|spr|bck|rm|fnt|snd|tl)[_A-Z]","g");
gml_HintGML.version = 1;
gml_HintGML.liveExt = false;
sf_io_StringBuilder.formatCache = new haxe_ds_StringMap();
sf_io_StringBuilder.formatMap = sf_io_StringBuilder.formatInit();
gml_user_HintWeb.main();
})();
@YellowAfterlife
Copy link
Author

Updated to 1.001 - line numbers now start at 1 rather than 0.

@YellowAfterlife
Copy link
Author

Updated to 1.002 - fixed compatibility with recent subreddit theme edits and included and or xor in the keyword list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment