4cade/winmake.bat

184 lines
7.6 KiB
Batchfile
Raw Normal View History

@echo off
rem
rem 4cade Makefile for Windows
rem assembles source code, optionally builds a disk image
rem
rem a qkumba monstrosity from 2018-10-29
rem
2019-06-19 04:49:12 +00:00
setlocal enabledelayedexpansion
set DISK=4cade.2mg
set VOLUME=A.4AM.PACK
rem third-party tools required to build (must be in path)
rem https://sourceforge.net/projects/acme-crossass/
set ACME=acme
rem https://www.brutaldeluxe.fr/products/crossdevtools/cadius/
rem https://github.com/mach-kernel/cadius
set CADIUS=cadius
if "%1" equ "asm" (
:asm
2>nul md build
2>nul md build\po
2>nul md build\X
2019-03-04 22:03:01 +00:00
2>nul md build\TITLE.HGR
2>nul md build\TITLE.DHGR
2>nul md build\ACTION.HGR
2>nul md build\ACTION.DHGR
2019-09-06 00:59:34 +00:00
2>nul md build\ACTION.GR
2019-03-04 22:03:01 +00:00
2>nul md build\ARTWORK.SHR
2019-06-27 04:38:30 +00:00
2>nul md build\ATTRACT
2>nul md build\SS
2>nul md build\DEMO
2>nul md build\FX
2019-09-14 05:30:01 +00:00
2>nul md build\CHEAT
2019-06-19 04:49:12 +00:00
2>build\out.txt %ACME% -r build\4cade.lst src\4cade.a
2019-09-09 21:28:13 +00:00
for /f "tokens=*" %%q in (build\out.txt) do set _make=%%q
%ACME% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
2019-06-22 20:08:44 +00:00
%ACME% src\fx\fx.cover.fade.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.fizzle.a
%ACME% src\fx\fx.dhgr.fizzle.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.ripple.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.ripple.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.iris.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.iris.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.radial.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.radial.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.radial2.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.radial2.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.radial3.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.radial3.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.radial4.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.radial4.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.radial5.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.radial5.white.a
2018-11-08 00:10:45 +00:00
%ACME% src\fx\fx.dhgr.star.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.dhgr.star.white.a
%ACME% src\fx\fx.hgr.diagonal.a
%ACME% src\fx\fx.hgr.interlock.ud.a
%ACME% src\fx\fx.hgr.interlock.lr.a
%ACME% src\fx\fx.hgr.spiral.a
2018-11-06 06:16:35 +00:00
%ACME% src\fx\fx.hgr.fourspiral.a
%ACME% src\fx\fx.hgr.fizzle.a
%ACME% src\fx\fx.hgr.bar.dissolve.a
2018-10-31 06:01:22 +00:00
%ACME% src\fx\fx.hgr.block.fizzle.a
2018-11-06 06:16:35 +00:00
%ACME% src\fx\fx.hgr.block.fizzle.white.a
2018-10-31 06:01:22 +00:00
%ACME% src\fx\fx.hgr.2pass.lr.a
%ACME% src\fx\fx.hgr.crystal.a
2018-11-06 06:16:35 +00:00
%ACME% src\fx\fx.hgr.foursquare.white.a
%ACME% src\fx\fx.hgr.onesquare.white.a
%ACME% src\fx\fx.hgr.diamond.a
%ACME% src\fx\fx.hgr.checkerboard.white.a
%ACME% src\fx\fx.hgr.halfblock.fizzle.a
%ACME% src\fx\fx.hgr.halfblock.fizzle.white.a
%ACME% src\fx\fx.hgr.stagger.ud.a
%ACME% src\fx\fx.hgr.stagger.ud.white.a
%ACME% src\fx\fx.hgr.stagger.lr.a
%ACME% src\fx\fx.hgr.stagger.lr.white.a
%ACME% src\fx\fx.hgr.corner.circle.a
%ACME% src\fx\fx.hgr.sunrise.a
%ACME% src\fx\fx.hgr.sunset.a
%ACME% src\fx\fx.hgr.radial.a
%ACME% src\fx\fx.hgr.radial2.a
%ACME% src\fx\fx.hgr.radial3.a
%ACME% src\fx\fx.hgr.radial4.a
%ACME% src\fx\fx.hgr.radial5.a
%ACME% src\fx\fx.hgr.split.ud.intro.a
%ACME% src\fx\fx.hgr.iris.a
%ACME% src\fx\fx.hgr.ripple.a
%ACME% src\fx\fx.hgr.ripple2.a
%ACME% src\fx\fx.hgr.star.a
2019-06-25 00:00:42 +00:00
%ACME% src\fx\fx.hgr.star.white.a
2019-01-16 05:50:51 +00:00
%ACME% src\fx\fx.shr.fizzle.a
2019-09-06 00:59:34 +00:00
%ACME% src\fx\fx.gr.fizzle.a
2019-09-14 05:30:01 +00:00
for %%q in (src\cheat\*.a) do %ACME% %%q
goto :EOF
)
if "%1" equ "clean" (
:clean
echo y|1>nul 2>nul rd build /s
goto :EOF
)
if "%1" equ "dsk" (
:dsk
call :asm
2>nul del build\log
2019-08-23 19:52:44 +00:00
rem %CADIUS% CREATEVOLUME "build\%DISK%" "%VOLUME%" 32766KB >>build\log
1>nul copy /y res\blank.2mg "build\%DISK%" >>build\log
1>nul copy /y res\_FileInformation.txt build\ >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\LAUNCHER.SYSTEM" >>build\log
2019-09-06 00:59:34 +00:00
1>nul copy /y res\attract.conf build\ATTRACT.CONF >>build\log
1>nul copy /y res\dfx.conf build\DFX.CONF >>build\log
1>nul copy /y res\fx.conf build\FX.CONF >>build\log
1>nul copy /y res\games.conf build\GAMES.CONF >>build\log
2018-11-26 03:46:34 +00:00
1>nul copy /y res\prefs.conf build\PREFS.CONF >>build\log
2019-07-10 19:37:16 +00:00
1>nul copy /y res\credits.txt build\CREDITS >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\padto.js 512 build\PREFS.CONF
2019-06-25 00:00:42 +00:00
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\TITLE" >>build\log
2019-01-03 21:57:01 +00:00
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\COVER" >>build\log
2018-11-26 03:46:34 +00:00
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\PREFS.CONF" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\GAMES.CONF" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\ATTRACT.CONF" >>build\log
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\FX.CONF" >>build\log
2018-11-08 00:10:45 +00:00
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\DFX.CONF" >>build\log
2019-07-10 19:37:16 +00:00
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\CREDITS" >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\rsync.js res\title.hgr\* build\TITLE.HGR >>build\log
2019-06-18 03:05:19 +00:00
cscript /nologo bin\buildfileinfo.js build\TITLE.HGR "06" "4000" >>build\log
2019-03-04 22:03:01 +00:00
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.HGR" "build\TITLE.HGR" >>build\log
cscript /nologo bin\rsync.js res\title.dhgr\* build\TITLE.DHGR >>build\log
cscript /nologo bin\buildfileinfo.js build\TITLE.DHGR "06" "4000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.DHGR" "build\TITLE.DHGR" >>build\log
cscript /nologo bin\rsync.js res\action.hgr\* build\ACTION.HGR >>build\log
cscript /nologo bin\buildfileinfo.js build\ACTION.HGR "06" "4000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ACTION.HGR" "build\ACTION.HGR" >>build\log
cscript /nologo bin\rsync.js res\action.dhgr\* build\ACTION.DHGR >>build\log
cscript /nologo bin\buildfileinfo.js build\ACTION.DHGR "06" "4000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ACTION.DHGR" "build\ACTION.DHGR" >>build\log
2019-09-06 00:59:34 +00:00
cscript /nologo bin\rsync.js res\action.gr\* build\ACTION.GR >>build\log
cscript /nologo bin\buildfileinfo.js build\ACTION.GR "06" "6000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ACTION.GR" "build\ACTION.GR" >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\rsync.js res\artwork.shr\* build\ARTWORK.SHR >>build\log
cscript /nologo bin\buildfileinfo.js build\ARTWORK.SHR "C1" "2000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ARTWORK.SHR" "build\ARTWORK.SHR" >>build\log
2019-06-27 04:38:30 +00:00
cscript /nologo bin\rsync.js res\attract\* build\ATTRACT >>build\log
cscript /nologo bin\buildfileinfo.js build\ATTRACT "04" "8000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ATTRACT" "build\ATTRACT" >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\rsync.js res\ss\* build\SS >>build\log
cscript /nologo bin\buildfileinfo.js build\SS "04" "4000" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/SS" "build\SS" >>build\log
cscript /nologo bin\rsync.js res\demo\* build\DEMO >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/DEMO" "build\DEMO" >>build\log
2019-09-06 00:59:34 +00:00
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.11" "SPCARTOON.1." >>build\log
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.22" "SPCARTOON.2." >>build\log
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.33" "SPCARTOON.3." >>build\log
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.44" "SPCARTOON.4." >>build\log
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.55" "SPCARTOON.5." >>build\log
%CADIUS% RENAMEFILE "build\%DISK%" "/%VOLUME%/DEMO/SPCARTOON.66" "SPCARTOON.6." >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\rsync.js res\fx\* build\FX >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/FX" "build\FX" >>build\log
%CADIUS% CREATEFOLDER "build\%DISK%" "/%VOLUME%/X/" >>build\log
2019-06-25 00:00:42 +00:00
cscript /nologo bin\do2po.js res\dsk build\po
cscript /nologo bin\rsync.js res\dsk\*.po build\po
cscript /nologo bin\extract.js build\po >>build\log
2019-01-10 02:51:12 +00:00
echo y|1>nul 2>nul del /s build\X\.DS_Store
echo y|1>nul 2>nul del /s build\X\PRODOS
echo y|1>nul 2>nul del /s build\X\LOADER.SYSTEM
2019-09-14 05:30:01 +00:00
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/X" "build\X" >>build\log
cscript /nologo bin\buildfileinfo.js build\CHEAT "06" "014D" >>build\log
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/CHEAT" "build\CHEAT" >>build\log
2019-03-04 22:03:01 +00:00
cscript /nologo bin\changebootloader.js "build\%DISK%" res\proboothd
goto :EOF
)
2019-08-23 19:52:44 +00:00
if "%1" equ "chd" (
call :dsk
chdman createhd -c none -isb 64 -i "build\%DISK%" -o "build\%DISK%.chd" >>build\log
goto :EOF
)
echo usage: %0 clean / asm / dsk / chd