This commit is contained in:
Peter Ferrie 2021-11-18 12:52:11 -08:00
parent da8498e330
commit fc0c2095c4
7 changed files with 131 additions and 108 deletions

View File

@ -1,5 +1,5 @@
a=new ActiveXObject("scripting.filesystemobject") a=new ActiveXObject("scripting.filesystemobject")
offset=a.getfile("BUILD\\TOTAL.IDX").size offset=a.getfile("BUILD\\TOTAL.DATA").size
new ActiveXObject("wscript.shell").run('cmd /c copy /b /y BUILD\\TOTAL.IDX + ' + WScript.Arguments(0) + ' BUILD\\TOTAL.IDX', 0, 1) new ActiveXObject("wscript.shell").run('cmd /c copy /b /y BUILD\\TOTAL.DATA + ' + WScript.Arguments(0) + ' BUILD\\TOTAL.DATA', 0, 1)
size=a.getfile(WScript.Arguments(0)).size size=a.getfile(WScript.Arguments(0)).size
a.createtextfile(WScript.Arguments(1)).write(";\r\n; Index record for " + WScript.Arguments(0).replace(/\\/, "/") + "\r\n;\r\n; This file is automatically generated\r\n;\r\n !byte 0\r\n !be24 " + " ".substr(0, 8 - offset.toString().length) + offset + "\r\n !le16 " + " ".substr(0, 8 - size.toString().length) + size + "\r\n") a.createtextfile(WScript.Arguments(1)).write(";\r\n; Index record for " + WScript.Arguments(0).replace(/\\/, "/") + "\r\n;\r\n; This file is automatically generated\r\n;\r\n !byte 0\r\n !be24 " + " ".substr(0, 8 - offset.toString().length) + offset + "\r\n !le16 " + " ".substr(0, 8 - size.toString().length) + size + "\r\n")

View File

@ -27,9 +27,13 @@ while (!b.stdout.atendofstream)
a.createtextfile(WScript.Arguments(1)).write(";\r\n; Game count\r\n;\r\n; This file is automatically generated\r\n;\r\n" + "!word " + " ".substr(0, 8 - entries.length.toString().length) + entries.length + "\r\n") a.createtextfile(WScript.Arguments(1)).write(";\r\n; Game count\r\n;\r\n; This file is automatically generated\r\n;\r\n" + "!word " + " ".substr(0, 8 - entries.length.toString().length) + entries.length + "\r\n")
source = a.createtextfile("build\\okvs.tmp") source = a.createtextfile("build\\search.a")
source.writeline("*=0") source.writeline("*=$6000")
source.writeline("!le16 " + entries.length + ", 0") source.writeline("!le16 " + entries.length)
source.writeline("!word KeyLookup")
hgrlog = a.opentextfile("build\\HGR.TITLES.LOG").readall().replace(/\r\n/, "\n")
dhgrlog = a.opentextfile("build\\DHGR.TITLES.LOG").readall().replace(/\r\n/, "\n")
for (i = 0; i < entries.length; i++) for (i = 0; i < entries.length; i++)
{ {
@ -39,14 +43,42 @@ for (i = 0; i < entries.length; i++)
eq = entries[i].indexOf("=") eq = entries[i].indexOf("=")
key = ((eq >= 0) ? entries[i].substr(bits + 1, eq - bits - 1) : entries[i]) key = ((eq >= 0) ? entries[i].substr(bits + 1, eq - bits - 1) : entries[i])
value = ((eq >= 0) ? entries[i].substr(eq + 1) : "") value = ((eq >= 0) ? entries[i].substr(eq + 1) : "")
source.writeline("!byte " + (key.length + value.length + 5).toString()) source.writeline("!byte " + (key.length + value.length + 10).toString())
source.writeline("Key" + (i + 1).toString())
source.writeline("!byte " + key.length) source.writeline("!byte " + key.length)
source.writeline("!text \"" + key + "\"") source.writeline("!text \"" + key + "\"")
source.writeline("!byte " + value.length) source.writeline("!byte " + value.length)
source.writeline("!text \"" + value + "\"") source.writeline("!text \"" + value + "\"")
source.writeline("!byte 1") source.writeline("!byte 1")
source.writeline("!byte " + ((dhgr * 128) + Number(cheat))) source.writeline("!byte " + ((dhgr * 128) + Number(cheat)))
if (dhgr != 0)
{
dname = dhgrlog.indexOf("\n" + key + ",") + key.length + 2
dpos = dhgrlog.substr(dname).indexOf(",")
dsize = dhgrlog.substr(dname + dpos + 1).indexOf("\n")
dsize = dhgrlog.substr(dname + dpos + 1, dsize)
dpos = dhgrlog.substr(dname, dpos)
}
else
{
dname = hgrlog.indexOf("\n" + key + ",") + key.length + 2
dpos = hgrlog.substr(dname).indexOf(",")
dsize = hgrlog.substr(dname + dpos + 1).indexOf("\n")
dsize = hgrlog.substr(dname + dpos + 1, dsize)
dpos = hgrlog.substr(dname, dpos)
}
source.writeline("!be24 " + dpos)
source.writeline("!le16 " + dsize)
}
source.writeline("KeyLookup")
for (i = 0; i < entries.length; i++)
{
source.writeline("!word Key" + (i + 1))
} }
source.close() source.close()
new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + ' build\\okvs.tmp', 0, 1) new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + ' build\\search.a', 0, 1)

View File

@ -41,13 +41,14 @@ if (!a.fileexists(WScript.Arguments(1)) || a.getfile(WScript.Arguments(1)).datel
name = name.substr(0, name.indexOf("\n")) name = name.substr(0, name.indexOf("\n"))
needsjoystick = q.substr(bits - 5, 1) needsjoystick = q.substr(bits - 5, 1)
needs128k = q.substr(bits - 4, 1) needs128k = q.substr(bits - 4, 1)
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + name.length + 5)) displayname = ((WScript.Arguments.length == 3) ? name : "")
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + displayname.length + 5))
source.writeline("!byte " + ((val >= 0) ? val : entries[i].length)) source.writeline("!byte " + ((val >= 0) ? val : entries[i].length))
source.writeline("!text \"" + ((val >= 0) ? entries[i].substr(0, val) : entries[i]) + "\"") source.writeline("!text \"" + ((val >= 0) ? entries[i].substr(0, val) : entries[i]) + "\"")
source.writeline("!byte " + ((val >= 0) ? (entries[i].length - (val + 1)) : 0)) source.writeline("!byte " + ((val >= 0) ? (entries[i].length - (val + 1)) : 0))
source.writeline("!text \"" + ((val >= 0) ? (entries[i].substr(val + 1)) : "") + "\"") source.writeline("!text \"" + ((val >= 0) ? (entries[i].substr(val + 1)) : "") + "\"")
source.writeline("!byte " + name.length) source.writeline("!byte " + displayname.length)
source.writeline("!text \"" + name + "\"") source.writeline("!text \"" + displayname + "\"")
source.writeline("!byte " + ((needsjoystick * 128) + (Number(needs128k) * 64))) source.writeline("!byte " + ((needsjoystick * 128) + (Number(needs128k) * 64)))
} }

View File

@ -28,23 +28,41 @@ entries.sort()
f = a.createtextfile("build\\GAMES.SORTED") f = a.createtextfile("build\\GAMES.SORTED")
f.write(entries.toString().replace(/,/g, "\n")) f.write(entries.toString().replace(/,/g, "\n"))
f.close() f.close()
ss_off = a.fileexists(WScript.Arguments(2)) ? a.getFile(WScript.Arguments(2)).size : 0 ss_off = a.fileexists(WScript.Arguments(3)) ? a.getFile(WScript.Arguments(3)).size : 0
groups = "*=0\n" + "!le16 " + entries.length + ", 0\n" groups = "*=0\n" + "!le16 " + entries.length + ", 0\n"
q = 0
if (WScript.Arguments(2) != "nul")
{
q = a.createtextfile(WScript.Arguments(2))
q.writeline()
}
for (i = 0; i < entries.length; i++) for (i = 0; i < entries.length; i++)
{ {
size = a.getfile(p + "\\" + entries[i]).size size = a.getfile(p + "\\" + entries[i]).size
c = ss_off c = ss_off
ss_off += size ss_off += size
if (WScript.Arguments.length == 5) if (WScript.Arguments.length == 6)
{ {
// if offset+size does not cross a block boundary, use the size // if offset+size does not cross a block boundary, use the size
// otherwise adjust size until it ends at the next block boundary to avoid a partial copy on the last block // otherwise adjust size until it ends at the next block boundary to avoid a partial copy on the last block
size = ((Math.floor(c / 512) == Math.floor((c + size) / 512)) ? size : (((c + size + 511) & -512) - c)) size = ((Math.floor(c / 512) == Math.floor((c + size) / 512)) ? size : (((c + size + 511) & -512) - c))
} }
groups += "!byte " + (1 + 1 + entries[i].length + 5) + "\n" + "!byte " + entries[i].length + "\n" + "!text \"" + entries[i] + "\"\n" + "!be24 " + c + "\n" + "!le16 " + size + "\n" groups += "!byte " + (entries[i].length + 7) + "\n" + "!byte " + entries[i].length + "\n" + "!text \"" + entries[i] + "\"\n" + "!be24 " + c + "\n" + "!le16 " + size + "\n"
if (typeof(q) == "object")
{
q.writeline(entries[i] + "," + c + "," + size)
}
}
if (typeof(q) == "object")
{
q.close()
} }
f = a.createtextfile("build\\ss.tmp") f = a.createtextfile("build\\ss.tmp")
@ -52,4 +70,4 @@ f.write(groups)
f.close() f.close()
x = new ActiveXObject("wscript.shell") x = new ActiveXObject("wscript.shell")
x.run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\ss.tmp', 0, 1) x.run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\ss.tmp', 0, 1)
x.run('cmd /c bin\\buildpreall.bat ' + p + ' ' + WScript.Arguments(2) + ' ' + WScript.Arguments(3), 0, 1) x.run('cmd /c bin\\buildpreall.bat ' + p + ' ' + WScript.Arguments(3) + ' ' + WScript.Arguments(4), 0, 1)

View File

@ -1,52 +0,0 @@
a = new ActiveXObject("scripting.filesystemobject")
if (!a.fileexists(WScript.Arguments(1)) || a.getfile(WScript.Arguments(1)).datelastmodified < a.getFile(WScript.Arguments(0)).datelastmodified)
{
b = a.opentextfile(WScript.Arguments(0))
entries = []
while (!b.atendofstream)
{
c = b.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)
}
}
source = a.createtextfile("build\\okvs.tmp")
source.writeline("*=0")
source.writeline("!le16 " + entries.length + ", 0")
q = a.opentextfile("build\\DISPLAY.CONF").readall().replace(/\r\n/g, "\n")
for (i = 0; i < entries.length; i++)
{
val = entries[i].indexOf("=")
name = ((val >= 0) ? entries[i].substr(val + 1) : entries[i])
bits = q.indexOf("," + name + "=") + 1
name = q.substr(bits + name.length + 1)
name = name.substr(0, name.indexOf("\n"))
needsjoystick = q.substr(bits - 5, 1)
needs128k = q.substr(bits - 4, 1)
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + 3))
source.writeline("!byte " + ((val >= 0) ? val : entries[i].length))
source.writeline("!text \"" + ((val >= 0) ? entries[i].substr(0, val) : entries[i]) + "\"")
source.writeline("!byte " + ((needsjoystick * 128) + (Number(needs128k) * 64)))
}
source.close()
new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp', 0, 1)
}

View File

@ -1,5 +1,14 @@
a = new ActiveXObject("scripting.filesystemobject") a = new ActiveXObject("scripting.filesystemobject")
b = a.opentextfile(WScript.Arguments(1))
c = b.readall().replace(/\r\n/g, "\n") if (WScript.Arguments(1) == "build\\PREFS.CONF")
b.close() {
a.createtextfile(WScript.Arguments(1)).write(String(c + Array(512).join(String.fromCharCode(0))).substr(0, 512)) b = a.opentextfile(WScript.Arguments(1))
c = b.readall().replace(/\r\n/g, "\n")
b.close()
b = a.createtextfile(WScript.Arguments(1))
b.write(c)
b.close()
}
c = a.getfile(WScript.Arguments(1)).size
b = a.opentextfile(WScript.Arguments(1), 8).write(Array((Math.floor((c + 511) / 512) * 512) - c + 1).join(String.fromCharCode(0)))

View File

@ -33,9 +33,6 @@ cscript /nologo bin\padto.js 512 build\PREFS.CONF
rem rem
rem create _FileInformation.txt files for subdirectories rem create _FileInformation.txt files for subdirectories
rem rem
cscript /nologo bin\buildfileinfo.js res\TITLE.HGR "06" "4000" >>build/log
cscript /nologo bin\buildfileinfo.js res\TITLE.DHGR "06" "4000" >>build/log
cscript /nologo bin\buildfileinfo.js res\ACTION.GR "06" "6000" >>build/log
cscript /nologo bin\buildfileinfo.js res\ICONS "CA" "0000" >>build/log cscript /nologo bin\buildfileinfo.js res\ICONS "CA" "0000" >>build/log
cscript /nologo bin\buildfileinfo.js build\FX "06" "6000" >>build/log cscript /nologo bin\buildfileinfo.js build\FX "06" "6000" >>build/log
cscript /nologo bin\buildfileinfo.js build\PRELAUNCH "06" "0106" >>build/log cscript /nologo bin\buildfileinfo.js build\PRELAUNCH "06" "0106" >>build/log
@ -44,19 +41,9 @@ rem add everything to the disk
rem rem
echo|set/p="adding files..." echo|set/p="adding files..."
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\TOTAL.DATA" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\TOTAL.DATA" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\TOTAL.IDX" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\TITLE" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\COVER" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\HELP" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\PREFS.CONF" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\PREFS.CONF" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\CREDITS" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPTEXT" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\DECRUNCH" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\JOYSTICK" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\Finder.Data" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\Finder.Data" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\Finder.Root" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\Finder.Root" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.HGR" "res\TITLE.HGR" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.DHGR" "res\TITLE.DHGR" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/DEMO" "res\DEMO" >>build\log %CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/DEMO" "res\DEMO" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.ANIMATED" "res\TITLE.ANIMATED" >>build\log %CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.ANIMATED" "res\TITLE.ANIMATED" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ICONS" "res\ICONS" >>build\log %CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ICONS" "res\ICONS" >>build\log
@ -115,19 +102,10 @@ echo|set/p="converting gamehelp..."
for %%q in (res\GAMEHELP\*) do cscript /nologo bin\converthelp.js %%q build\GAMEHELP\%%~nxq >>build\log for %%q in (res\GAMEHELP\*) do cscript /nologo bin\converthelp.js %%q build\GAMEHELP\%%~nxq >>build\log
echo done echo done
rem rem
rem create a sorted list of game filenames, without metadata or display names rem create a list of all game filenames, without metadata or display names, sorted by game filename
rem rem
cscript /nologo bin\makesorted.js cscript /nologo bin\makesorted.js
rem
rem create search indexes: (game-requires-joystick) X (game-requires-128K)
rem
echo|set/p="indexing search..."
cscript /nologo bin\builddisplaynames.js cscript /nologo bin\builddisplaynames.js
cscript /nologo bin\buildsearch.js "00" src\index\count00.a build\SEARCH00.IDX
cscript /nologo bin\buildsearch.js "0" src\index\count01.a build\SEARCH01.IDX
cscript /nologo bin\buildsearch.js ".0" src\index\count10.a build\SEARCH10.IDX
cscript /nologo bin\buildsearch.js "." src\index\count11.a build\SEARCH11.IDX
echo done
rem rem
rem precompute indexed files for prelaunch rem precompute indexed files for prelaunch
rem note: prelaunch must be first in TOTAL.DATA due to a hack in LoadStandardPrelaunch rem note: prelaunch must be first in TOTAL.DATA due to a hack in LoadStandardPrelaunch
@ -138,30 +116,46 @@ echo|set/p="indexing prelaunch..."
cscript /nologo bin\buildpre.js build\PRELAUNCH.INDEXED build\PRELAUNCH.IDX build\TOTAL.DATA >>build\log cscript /nologo bin\buildpre.js build\PRELAUNCH.INDEXED build\PRELAUNCH.IDX build\TOTAL.DATA >>build\log
echo done echo done
rem rem
rem precompute indexed files for HGR & DHGR titles
rem note: these are not padded because they are all an exact block-multiple anyway
rem
echo|set/p="indexing titles..."
cscript /nologo bin\padto.js 512 build\TOTAL.DATA
cscript /nologo bin\buildss.js res\TITLE.HGR build\TITLE.IDX build\HGR.TITLES.LOG build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js res\TITLE.DHGR build\DTITLE.IDX build\DHGR.TITLES.LOG build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\addfile.js res\COVER src\index\res.cover.idx.a
cscript /nologo bin\addfile.js res\TITLE src\index\res.title.idx.a
cscript /nologo bin\addfile.js res\HELP src\index\res.help.idx.a
echo done
rem
rem precompute indexed files for game help rem precompute indexed files for game help
rem note: these can be padded because they're loaded into $800 at a time when $800..$1FFF is clobber-able
rem rem
echo|set/p="indexing gamehelp..." echo|set/p="indexing gamehelp..."
cscript /nologo bin\makesorted.js
cscript /nologo bin\buildpre.js build\GAMEHELP build\GAMEHELP.IDX build\TOTAL.DATA pad >>build\log cscript /nologo bin\buildpre.js build\GAMEHELP build\GAMEHELP.IDX build\TOTAL.DATA pad >>build\log
echo done echo done
rem rem
rem precompute indexed files for slideshows rem precompute indexed files for slideshows
rem note: these can be padded because they're loaded into $800 at a time when $800..$1FFF is clobber-able
rem rem
echo|set/p="indexing slideshows..." echo|set/p="indexing slideshows..."
for %%q in (res\SS\*) do ( for %%q in (res\SS\*) do (
set _ss=%%~nxq set _ss=%%~nxq
set _ss=!_ss:~0,3! set _ss=!_ss:~0,3!
if !_ss!==ACT ( if !_ss!==ACT (
cscript /nologo bin\buildaction.js %%q build\SS\%%~nxq >>build\log cscript /nologo bin\buildslideshow.js %%q build\SS\%%~nxq -d >>build\log
) else ( ) else (
cscript /nologo bin\buildtitle.js %%q build\SS\%%~nxq >>build\log cscript /nologo bin\buildslideshow.js %%q build\SS\%%~nxq >>build\log
) )
) )
cscript /nologo bin\buildss.js build\SS build\SLIDESHOW.IDX build\TOTAL.DATA nul pad >>build\log cscript /nologo bin\buildss.js build\SS build\SLIDESHOW.IDX nul build\TOTAL.DATA nul pad >>build\log
for %%q in (res\ATTRACT\*) do cscript /nologo bin\buildokvs.js %%q build\ATTRACT\%%~nxq >>build\log for %%q in (res\ATTRACT\*) do cscript /nologo bin\buildokvs.js %%q build\ATTRACT\%%~nxq >>build\log
cscript /nologo bin\buildss.js build\ATTRACT build\MINIATTRACT.IDX build\TOTAL.DATA nul pad >>build\log cscript /nologo bin\buildss.js build\ATTRACT build\MINIATTRACT.IDX nul build\TOTAL.DATA nul pad >>build\log
echo done echo done
rem rem
rem precompute indexed files for graphic effects rem precompute indexed files for graphic effects
rem note: these can be padded because they're loaded into $6000 at a time when $6000..$BEFF is clobber-able
rem rem
echo|set/p="indexing fx..." echo|set/p="indexing fx..."
cscript /nologo bin\buildfx.js res\FX.CONF build\FX.IDX build\TOTAL.DATA build\FX.INDEXED >>build\log cscript /nologo bin\buildfx.js res\FX.CONF build\FX.IDX build\TOTAL.DATA build\FX.INDEXED >>build\log
@ -188,14 +182,14 @@ for %%q in (res\ACTION.HGR\Q* res\ACTION.HGR\R* res\ACTION.HGR\S* res\ACTION.HGR
for %%q in (res\ACTION.HGR\U* res\ACTION.HGR\V* res\ACTION.HGR\W* res\ACTION.HGR\X*) do 1>nul >>build\ACTIONHGR5 echo %%q for %%q in (res\ACTION.HGR\U* res\ACTION.HGR\V* res\ACTION.HGR\W* res\ACTION.HGR\X*) do 1>nul >>build\ACTIONHGR5 echo %%q
for %%q in (res\ACTION.HGR\Y* res\ACTION.HGR\Z*) do 1>nul >>build\ACTIONHGR6 echo %%q for %%q in (res\ACTION.HGR\Y* res\ACTION.HGR\Z*) do 1>nul >>build\ACTIONHGR6 echo %%q
for %%q in (res\ACTION.DHGR\*) do 1>nul >>build\ACTIONDHGR echo %%q for %%q in (res\ACTION.DHGR\*) do 1>nul >>build\ACTIONDHGR echo %%q
cscript /nologo bin\buildss.js build\ACTIONHGR0* build\HGR0.IDX build\TOTAL.DATA nul >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR0* build\HGR0.IDX nul build\TOTAL.DATA nul >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR1* build\HGR1.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR1* build\HGR1.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR2* build\HGR2.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR2* build\HGR2.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR3* build\HGR3.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR3* build\HGR3.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR4* build\HGR4.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR4* build\HGR4.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR5* build\HGR5.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR5* build\HGR5.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONHGR6* build\HGR6.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONHGR6* build\HGR6.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
cscript /nologo bin\buildss.js build\ACTIONDHGR* build\DHGR.IDX build\TOTAL.DATA build\TOTAL.DATA >>build\log cscript /nologo bin\buildss.js build\ACTIONDHGR* build\DHGR.IDX nul build\TOTAL.DATA build\TOTAL.DATA >>build\log
echo done echo done
rem precompute indexed files for GR action screenshots rem precompute indexed files for GR action screenshots
rem note: these can be padded because they are not compressed rem note: these can be padded because they are not compressed
@ -203,21 +197,30 @@ rem
echo|set/p="indexing gr action..." echo|set/p="indexing gr action..."
1>nul copy /y nul build\ACTIONGR 1>nul copy /y nul build\ACTIONGR
for %%q in (res\ACTION.GR\*) do 1>nul >>build\ACTIONGR echo %%q for %%q in (res\ACTION.GR\*) do 1>nul >>build\ACTIONGR echo %%q
cscript /nologo bin\buildss.js build\ACTIONGR* build\GR.IDX build\TOTAL.DATA build\TOTAL.DATA pad >>build\log cscript /nologo bin\buildss.js build\ACTIONGR* build\GR.IDX nul build\TOTAL.DATA build\TOTAL.DATA pad >>build\log
echo done echo done
rem rem
rem precompute indexed files for SHR artwork rem precompute indexed files for SHR artwork
rem note: these can not be padded because they are compressed and the decompressor needs the exact size rem note: these can not be padded because they are compressed and the decompressor needs the exact size
rem rem
echo|set/p="indexing shr..." echo|set/p="indexing shr..."
cscript /nologo bin\buildss.js res\ARTWORK.SHR build\ARTWORK.IDX build\TOTAL.DATA nul >>build\log cscript /nologo bin\buildss.js res\ARTWORK.SHR build\ARTWORK.IDX nul build\TOTAL.DATA nul >>build\log
echo done
rem
rem create search indexes for each variation of (game-requires-joystick) X (game-requires-128K)
rem in the form of OKVS data structures, plus game counts in the form of source files
rem
echo|set/p="indexing search..."
cscript /nologo bin\buildsearch.js "00" src\index\count00.a build\SEARCH00.IDX
cscript /nologo bin\buildsearch.js "0" src\index\count01.a build\SEARCH01.IDX
cscript /nologo bin\buildsearch.js ".0" src\index\count10.a build\SEARCH10.IDX
cscript /nologo bin\buildsearch.js "." src\index\count11.a build\SEARCH11.IDX
echo done echo done
rem rem
rem add IDX files to the combined index file and generate rem add IDX files to the combined index file and generate
rem the index records that callers use to reference them rem the index records that callers use to reference them
rem rem
echo|set/p="preparing index file..." echo|set/p="preparing index file..."
1>nul copy /y nul build\TOTAL.IDX
cscript /nologo bin\addfile.js build\SEARCH00.IDX src\index\search00.idx.a cscript /nologo bin\addfile.js build\SEARCH00.IDX src\index\search00.idx.a
cscript /nologo bin\addfile.js res\CACHE00.IDX src\index\cache00.idx.a cscript /nologo bin\addfile.js res\CACHE00.IDX src\index\cache00.idx.a
cscript /nologo bin\addfile.js build\SEARCH01.IDX src\index\search01.idx.a cscript /nologo bin\addfile.js build\SEARCH01.IDX src\index\search01.idx.a
@ -233,6 +236,8 @@ cscript /nologo bin\addfile.js build\DFX.IDX src\index\dfx.idx.a
cscript /nologo bin\addfile.js build\GAMEHELP.IDX src\index\gamehelp.idx.a cscript /nologo bin\addfile.js build\GAMEHELP.IDX src\index\gamehelp.idx.a
cscript /nologo bin\addfile.js build\SLIDESHOW.IDX src\index\slideshow.idx.a cscript /nologo bin\addfile.js build\SLIDESHOW.IDX src\index\slideshow.idx.a
cscript /nologo bin\addfile.js build\MINIATTRACT.IDX src\index\miniattract.idx.a cscript /nologo bin\addfile.js build\MINIATTRACT.IDX src\index\miniattract.idx.a
cscript /nologo bin\addfile.js build\TITLE.IDX src\index\title.idx.a
cscript /nologo bin\addfile.js build\DTITLE.IDX src\index\dtitle.idx.a
cscript /nologo bin\addfile.js build\HGR0.IDX src\index\hgr0.idx.a cscript /nologo bin\addfile.js build\HGR0.IDX src\index\hgr0.idx.a
cscript /nologo bin\addfile.js build\HGR1.IDX src\index\hgr1.idx.a cscript /nologo bin\addfile.js build\HGR1.IDX src\index\hgr1.idx.a
cscript /nologo bin\addfile.js build\HGR2.IDX src\index\hgr2.idx.a cscript /nologo bin\addfile.js build\HGR2.IDX src\index\hgr2.idx.a
@ -243,6 +248,16 @@ cscript /nologo bin\addfile.js build\HGR6.IDX src\index\hgr6.idx.a
cscript /nologo bin\addfile.js build\DHGR.IDX src\index\dhgr.idx.a cscript /nologo bin\addfile.js build\DHGR.IDX src\index\dhgr.idx.a
cscript /nologo bin\addfile.js build\GR.IDX src\index\gr.idx.a cscript /nologo bin\addfile.js build\GR.IDX src\index\gr.idx.a
cscript /nologo bin\addfile.js build\ARTWORK.IDX src\index\artwork.idx.a cscript /nologo bin\addfile.js build\ARTWORK.IDX src\index\artwork.idx.a
rem
rem add additional miscellaneous files
rem
cscript /nologo bin\addfile.js build\COVERFADE src\index\coverfade.idx.a
cscript /nologo bin\addfile.js build\SHR.FIZZLE src\index\shr.fizzle.idx.a
cscript /nologo bin\addfile.js build\GR.FIZZLE src\index\gr.fizzle.idx.a
cscript /nologo bin\addfile.js build\HELPTEXT src\index\helptext.idx.a
cscript /nologo bin\addfile.js build\CREDITS src\index\credits.idx.a
cscript /nologo bin\addfile.js res\DECRUNCH src\index\decrunch.idx.a
cscript /nologo bin\addfile.js res\JOYSTICK src\index\joystick.idx.a
echo done echo done
goto :EOF goto :EOF