diff --git a/bin/buildsearch.js b/bin/buildsearch.js index 8819d0011..fa34129a6 100644 --- a/bin/buildsearch.js +++ b/bin/buildsearch.js @@ -1,13 +1,50 @@ a = new ActiveXObject("scripting.filesystemobject") x = new ActiveXObject("wscript.shell") b = x.exec('findstr /b \"' + WScript.Arguments(0) + '\" build\\DISPLAY.CONF') -c = a.createtextfile("build\\search.txt") + +entries = [] while (!b.stdout.atendofstream) { - d = b.stdout.readline() - c.writeline(d.substr(d.indexOf(",") + 1)) + c = b.stdout.readline() + d = c.indexOf("#") + + if (d >= 0) + { + c = c.substr(0, d) + } + + if (c.indexOf("[eof]") >= 0) + { + break + } + + if (c.length > 0) + { + entries.push(c) + } } -c.close() -x.run('cscript /nologo bin\\buildokvs.js build\\search.txt ' + WScript.Arguments(1), 0, 1) +source = a.createtextfile("build\\okvs.tmp") +source.writeline("*=0") +source.writeline("!le16 " + entries.length + ", 0") + +for (i = 0; i < entries.length; i++) +{ + bits = entries[i].indexOf(",") + dhgr = entries[i].substr(bits - 2, 1) + cheat = entries[i].substr(bits - 1, 1) + eq = entries[i].indexOf("=") + key = ((eq >= 0) ? entries[i].substr(bits + 1, eq - bits - 1) : entries[i]) + value = ((eq >= 0) ? entries[i].substr(eq + 1) : "") + source.writeline("!byte " + (key.length + value.length + 5).toString()) + source.writeline("!byte " + key.length) + source.writeline("!text \"" + key + "\"") + source.writeline("!byte " + value.length) + source.writeline("!text \"" + value + "\"") + source.writeline("!byte 1") + source.writeline("!byte " + ((dhgr * 128) + Number(cheat))) +} + +source.close() +new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp', 0, 1)