fix search*.idx building

This commit is contained in:
Peter Ferrie 2021-10-28 10:16:46 -07:00
parent 154c1e9f5a
commit eb262a4b82

View File

@ -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)