diff --git a/.gitattributes b/.gitattributes index b742be2f..e6d6e419 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ *.asm text eol=crlf +*.bat text eol=crlf *.[ch]* text eol=lf *.mak text eol=lf zuncom/zun*.txt -text diff --git a/Tupfile.bat b/Tupfile.bat index e0762e93..27dadea9 100644 --- a/Tupfile.bat +++ b/Tupfile.bat @@ -1,88 +1,88 @@ -: Dumb, full batch build script, provided as a fallback for systems that can't -: run Tup. Auto-generated via `tup generate`; make sure to re-run that command -: if the Tupfile changes. -@echo on -bcc32 -w-8004 -w-8012 -O2 -v- -x- -nbin/Pipeline/ Pipeline/bmp2arr.c Pipeline/bmp2arrl.c -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_s.bmp -o th01/sprites/leaf_s.csp -sym sSPARK -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_l.bmp -o th01/sprites/leaf_l.csp -sym sLEAF_LEFT -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_r.bmp -o th01/sprites/leaf_r.csp -sym sLEAF_RIGHT -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/ileave_m.bmp -o th01/sprites/ileave_m.csp -sym sINTERLEAVE_MASKS -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/laser_s.bmp -o th01/sprites/laser_s.csp -sym sSHOOTOUT_LASER -of cpp -sw 16 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/mousecur.bmp -o th01/sprites/mousecur.csp -sym sMOUSE_CURSOR -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet.bmp -o th01/sprites/pellet.csp -sym sPELLET -of cpp -sw 8 -sh 8 -pshf inner -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet_c.bmp -o th01/sprites/pellet_c.csp -sym sPELLET_CLOUD -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pillar.bmp -o th01/sprites/pillar.csp -sym sPILLAR -of cpp -sw 32 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/shape8x8.bmp -o th01/sprites/shape8x8.csp -sym sSHAPE8X8 -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/bonusbox.bmp -o th01/sprites/bonusbox.csp -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/bombpart.bmp -o th02/sprites/bombpart.asp -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pellet.bmp -o th02/sprites/pellet.asp -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/sparks.bmp -o th02/sprites/sparks.asp -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pointnum.bmp -o th02/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/verdict.bmp -o th02/sprites/verdict.csp -sym sVERDICT_MASKS -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th03/sprites/score.bmp -o th03/sprites/score.asp -sym _sSCORE_FONT -of asm -sw 8 -sh 8 -u -bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pelletbt.bmp -o th04/sprites/pelletbt.asp -sym _sPELLET_BOTTOM -of asm -sw 8 -sh 4 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pointnum.bmp -o th04/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -pshf inner -bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/gaiji.bmp -o th05/sprites/gaiji.asp -sym _sGAIJI -of asm -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/piano_l.bmp -o th05/sprites/piano_l.asp -sym _sPIANO_LABEL_FONT -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i Research/blitperf.bmp -o Research/blitperf.csp -sym sBLITPERF -of cpp -sw 16 -sh 16 -tasm32 /m /mx /kh32768 /t /ml libs\piloadc\piloadc.asm bin\piloadc.obj -tasm32 /m /mx /kh32768 /t zuncom\zun_stub.asm bin\zuncom\zun_stub.obj -tasm32 /m /mx /kh32768 /t zuncom\cstmstub.asm bin\zuncom\cstmstub.obj -tasm32 /m /mx /kh32768 /t th01_op.asm bin\th01\op.obj -tasm32 /m /mx /kh32768 /t th01_reiiden.asm bin\th01\reiiden.obj -tasm32 /m /mx /kh32768 /t th01_fuuin.asm bin\th01\fuuin.obj -tasm32 /m /mx /kh32768 /t th02_zuninit.asm bin\th02\zuninit.obj -tasm32 /m /mx /kh32768 /t th02_op.asm bin\th02\op.obj -tasm32 /m /mx /kh32768 /t th02_main.asm bin\th02\main.obj -tasm32 /m /mx /kh32768 /t th02_maine.asm bin\th02\maine.obj -tasm32 /m /mx /kh32768 /t /DTHIEF libs\sprite16\sprite16.asm bin\th03\zunsp.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_put.asm bin\th03\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_p_na.asm bin\th03\cdg_p_na.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\collmap.asm bin\th03\collmap.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\hfliplut.asm bin\th03\hfliplut.obj -tasm32 /m /mx /kh32768 /t th03_op.asm bin\th03\op.obj -tasm32 /m /mx /kh32768 /t th03_op2.asm bin\th03\op2.obj -tasm32 /m /mx /kh32768 /t th03_main.asm bin\th03\main.obj -tasm32 /m /mx /kh32768 /t th03_mainl.asm bin\th03\mainl.obj -tasm32 /m /mx /kh32768 /t th04_zuninit.asm bin\th04\zuninit.obj -tasm32 /m /mx /kh32768 /t th04_memchk.asm bin\th04\memchk.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\scoreupd.asm bin\th04\scoreupd.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_put.asm bin\th04\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_nc.asm bin\th04\cdg_p_nc.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pl.asm bin\th04\cdg_p_pl.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pr.asm bin\th04\cdg_p_pr.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\input_s.asm bin\th04\input_s.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_load.asm bin\th04\cdg_load.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\bgimager.asm bin\th04\bgimager.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\motion_3.asm bin\th04\motion_3.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\spark_a.asm bin\th04\spark_a.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\vector2n.asm bin\th04\vector2n.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\grppsafx.asm bin\th04\grppsafx.obj -tasm32 /m /mx /kh32768 /t th04_op.asm bin\th04\op.obj -tasm32 /m /mx /kh32768 /t th04_op2.asm bin\th04\op2.obj -tasm32 /m /mx /kh32768 /t th04_op_master.asm bin\th04\opm.obj -tasm32 /m /mx /kh32768 /t th04_main.asm bin\th04\main.obj -tasm32 /m /mx /kh32768 /t th04_maine.asm bin\th04\maine.obj -tasm32 /m /mx /kh32768 /t th04_maine_master.asm bin\th04\mainem.obj -tasm32 /m /mx /kh32768 /t th05_zuninit.asm bin\th05\zuninit.obj -tasm32 /m /mx /kh32768 /t th05_gjinit.asm bin\th05\gjinit.obj -tasm32 /m /mx /kh32768 /t th05_memchk.asm bin\th05\memchk.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th04\scoreupd.asm bin\th05\scoreupd.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\player.asm bin\th05\player.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\hud_bar.asm bin\th05\hud_bar.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet_1.asm bin\th05\bullet_1.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet.asm bin\th05\bullet.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\input_s.asm bin\th05\input_s.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\cdg_put.asm bin\th05\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\musicp_a.asm bin\th05\musicp_a.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bgimager.asm bin\th05\bgimager.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_1.asm bin\th05\pi_asm_1.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_2.asm bin\th05\pi_asm_2.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\spark_a.asm bin\th05\spark_a.obj -tasm32 /m /mx /kh32768 /t th05_op.asm bin\th05\op.obj -tasm32 /m /mx /kh32768 /t th05_op2.asm bin\th05\op2.obj -tasm32 /m /mx /kh32768 /t th05_op_master.asm bin\th05\opm.obj -tasm32 /m /mx /kh32768 /t th05_main.asm bin\th05\main.obj -tasm32 /m /mx /kh32768 /t th05_maine.asm bin\th05\maine.obj -tasm32 /m /mx /kh32768 /t th05_maine_master.asm bin\th05\mainem.obj -@echo off +: Dumb, full batch build script, provided as a fallback for systems that can't +: run Tup. Auto-generated via `tup generate`; make sure to re-run that command +: if the Tupfile changes. +@echo on +bcc32 -w-8004 -w-8012 -O2 -v- -x- -nbin/Pipeline/ Pipeline/bmp2arr.c Pipeline/bmp2arrl.c +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_s.bmp -o th01/sprites/leaf_s.csp -sym sSPARK -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_l.bmp -o th01/sprites/leaf_l.csp -sym sLEAF_LEFT -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_r.bmp -o th01/sprites/leaf_r.csp -sym sLEAF_RIGHT -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/ileave_m.bmp -o th01/sprites/ileave_m.csp -sym sINTERLEAVE_MASKS -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/laser_s.bmp -o th01/sprites/laser_s.csp -sym sSHOOTOUT_LASER -of cpp -sw 16 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/mousecur.bmp -o th01/sprites/mousecur.csp -sym sMOUSE_CURSOR -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet.bmp -o th01/sprites/pellet.csp -sym sPELLET -of cpp -sw 8 -sh 8 -pshf inner +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet_c.bmp -o th01/sprites/pellet_c.csp -sym sPELLET_CLOUD -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pillar.bmp -o th01/sprites/pillar.csp -sym sPILLAR -of cpp -sw 32 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/shape8x8.bmp -o th01/sprites/shape8x8.csp -sym sSHAPE8X8 -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/bonusbox.bmp -o th01/sprites/bonusbox.csp -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/bombpart.bmp -o th02/sprites/bombpart.asp -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pellet.bmp -o th02/sprites/pellet.asp -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/sparks.bmp -o th02/sprites/sparks.asp -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pointnum.bmp -o th02/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/verdict.bmp -o th02/sprites/verdict.csp -sym sVERDICT_MASKS -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th03/sprites/score.bmp -o th03/sprites/score.asp -sym _sSCORE_FONT -of asm -sw 8 -sh 8 -u +bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pelletbt.bmp -o th04/sprites/pelletbt.asp -sym _sPELLET_BOTTOM -of asm -sw 8 -sh 4 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pointnum.bmp -o th04/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -pshf inner +bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/gaiji.bmp -o th05/sprites/gaiji.asp -sym _sGAIJI -of asm -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/piano_l.bmp -o th05/sprites/piano_l.asp -sym _sPIANO_LABEL_FONT -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i Research/blitperf.bmp -o Research/blitperf.csp -sym sBLITPERF -of cpp -sw 16 -sh 16 +tasm32 /m /mx /kh32768 /t /ml libs\piloadc\piloadc.asm bin\piloadc.obj +tasm32 /m /mx /kh32768 /t zuncom\zun_stub.asm bin\zuncom\zun_stub.obj +tasm32 /m /mx /kh32768 /t zuncom\cstmstub.asm bin\zuncom\cstmstub.obj +tasm32 /m /mx /kh32768 /t th01_op.asm bin\th01\op.obj +tasm32 /m /mx /kh32768 /t th01_reiiden.asm bin\th01\reiiden.obj +tasm32 /m /mx /kh32768 /t th01_fuuin.asm bin\th01\fuuin.obj +tasm32 /m /mx /kh32768 /t th02_zuninit.asm bin\th02\zuninit.obj +tasm32 /m /mx /kh32768 /t th02_op.asm bin\th02\op.obj +tasm32 /m /mx /kh32768 /t th02_main.asm bin\th02\main.obj +tasm32 /m /mx /kh32768 /t th02_maine.asm bin\th02\maine.obj +tasm32 /m /mx /kh32768 /t /DTHIEF libs\sprite16\sprite16.asm bin\th03\zunsp.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_put.asm bin\th03\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_p_na.asm bin\th03\cdg_p_na.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\collmap.asm bin\th03\collmap.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\hfliplut.asm bin\th03\hfliplut.obj +tasm32 /m /mx /kh32768 /t th03_op.asm bin\th03\op.obj +tasm32 /m /mx /kh32768 /t th03_op2.asm bin\th03\op2.obj +tasm32 /m /mx /kh32768 /t th03_main.asm bin\th03\main.obj +tasm32 /m /mx /kh32768 /t th03_mainl.asm bin\th03\mainl.obj +tasm32 /m /mx /kh32768 /t th04_zuninit.asm bin\th04\zuninit.obj +tasm32 /m /mx /kh32768 /t th04_memchk.asm bin\th04\memchk.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\scoreupd.asm bin\th04\scoreupd.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_put.asm bin\th04\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_nc.asm bin\th04\cdg_p_nc.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pl.asm bin\th04\cdg_p_pl.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pr.asm bin\th04\cdg_p_pr.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\input_s.asm bin\th04\input_s.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_load.asm bin\th04\cdg_load.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\bgimager.asm bin\th04\bgimager.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\motion_3.asm bin\th04\motion_3.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\spark_a.asm bin\th04\spark_a.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\vector2n.asm bin\th04\vector2n.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\grppsafx.asm bin\th04\grppsafx.obj +tasm32 /m /mx /kh32768 /t th04_op.asm bin\th04\op.obj +tasm32 /m /mx /kh32768 /t th04_op2.asm bin\th04\op2.obj +tasm32 /m /mx /kh32768 /t th04_op_master.asm bin\th04\opm.obj +tasm32 /m /mx /kh32768 /t th04_main.asm bin\th04\main.obj +tasm32 /m /mx /kh32768 /t th04_maine.asm bin\th04\maine.obj +tasm32 /m /mx /kh32768 /t th04_maine_master.asm bin\th04\mainem.obj +tasm32 /m /mx /kh32768 /t th05_zuninit.asm bin\th05\zuninit.obj +tasm32 /m /mx /kh32768 /t th05_gjinit.asm bin\th05\gjinit.obj +tasm32 /m /mx /kh32768 /t th05_memchk.asm bin\th05\memchk.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th04\scoreupd.asm bin\th05\scoreupd.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\player.asm bin\th05\player.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\hud_bar.asm bin\th05\hud_bar.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet_1.asm bin\th05\bullet_1.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet.asm bin\th05\bullet.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\input_s.asm bin\th05\input_s.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\cdg_put.asm bin\th05\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\musicp_a.asm bin\th05\musicp_a.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bgimager.asm bin\th05\bgimager.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_1.asm bin\th05\pi_asm_1.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_2.asm bin\th05\pi_asm_2.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\spark_a.asm bin\th05\spark_a.obj +tasm32 /m /mx /kh32768 /t th05_op.asm bin\th05\op.obj +tasm32 /m /mx /kh32768 /t th05_op2.asm bin\th05\op2.obj +tasm32 /m /mx /kh32768 /t th05_op_master.asm bin\th05\opm.obj +tasm32 /m /mx /kh32768 /t th05_main.asm bin\th05\main.obj +tasm32 /m /mx /kh32768 /t th05_maine.asm bin\th05\maine.obj +tasm32 /m /mx /kh32768 /t th05_maine_master.asm bin\th05\mainem.obj +@echo off diff --git a/build.bat b/build.bat index 8be81cb3..cff88aac 100755 --- a/build.bat +++ b/build.bat @@ -1,2 +1,2 @@ -@call BUILD32B.BAT -@call BUILD16B.BAT +@call BUILD32B.BAT +@call BUILD16B.BAT diff --git a/build16b.bat b/build16b.bat index b740b60f..f1979f06 100755 --- a/build16b.bat +++ b/build16b.bat @@ -1,37 +1,37 @@ -@echo off -echo Running the second, 16-bit part of the ReC98 build process. -echo If this fails or shows other weird behavior, run BUILD16B separately in DOSBox. -REM (Yes, we don't use %0%, as it actually has to be %0 on DOS. Just spelling -REM out the name saves us that trouble.) - -tlink >NUL -if errorlevel 9009 goto no_tlink -if errorlevel 216 goto 64_bit - -tcc >NUL -if errorlevel 9009 goto no_tcc -if errorlevel 216 goto 64_bit - -maker -B -if errorlevel 9009 goto no_make -if errorlevel 216 goto 64_bit -goto eof - -:64_bit -echo You're running a 64-bit OS. Run BUILD16B.BAT separately in DOSBox instead. -goto eof - -:no_tcc -echo Could not find TCC. -goto tc4j_bin -:no_tlink -echo Could not find TLINK. -goto tc4j_bin -:no_make -echo Could not find MAKER. -goto tc4j_bin -:tc4j_bin -echo Please make sure that the BIN directory of Turbo C++ 4.0J is in your PATH. -goto eof - -:eof +@echo off +echo Running the second, 16-bit part of the ReC98 build process. +echo If this fails or shows other weird behavior, run BUILD16B separately in DOSBox. +REM (Yes, we don't use %0%, as it actually has to be %0 on DOS. Just spelling +REM out the name saves us that trouble.) + +tlink >NUL +if errorlevel 9009 goto no_tlink +if errorlevel 216 goto 64_bit + +tcc >NUL +if errorlevel 9009 goto no_tcc +if errorlevel 216 goto 64_bit + +maker -B +if errorlevel 9009 goto no_make +if errorlevel 216 goto 64_bit +goto eof + +:64_bit +echo You're running a 64-bit OS. Run BUILD16B.BAT separately in DOSBox instead. +goto eof + +:no_tcc +echo Could not find TCC. +goto tc4j_bin +:no_tlink +echo Could not find TLINK. +goto tc4j_bin +:no_make +echo Could not find MAKER. +goto tc4j_bin +:tc4j_bin +echo Please make sure that the BIN directory of Turbo C++ 4.0J is in your PATH. +goto eof + +:eof diff --git a/build32b.bat b/build32b.bat index 1abb9be0..b6ea0f8f 100755 --- a/build32b.bat +++ b/build32b.bat @@ -1,62 +1,62 @@ -@echo off -echo Running the first, 32-bit part of the ReC98 build process. - -: Windows 9x doesn't support stderr redirection, and always sets ERRORLEVEL to -: 2 if you attempt to do that, regardless of `tasm32`'s existence. NT properly -: returns 9009 if not found, or 0 otherwise. -set STDERR_IGNORE= -tasm32 >NUL 2>NUL -if errorlevel 9009 goto no_tasm32 -if errorlevel 2 goto check_tasm32_win9x - -: NT + TASM32 existing confirmed at this point -setlocal -set STDERR_IGNORE=2^>NUL -goto check_bcc32 - -: Re-run the actual TASM check for Windows 9x. Calling a nonexistent command -: leaves ERRORLEVEL untouched, so we have to override it ourselves first. -:check_tasm32_win9x -call set_errorlevel_to_1.bat -tasm32 >NUL %STDERR_IGNORE% -if errorlevel 1 goto no_tasm32 - -:check_bcc32 -call set_errorlevel_to_1.bat -bcc32 >NUL %STDERR_IGNORE% -if errorlevel 1 goto no_bcc32 - -: Neither BCC32 nor TASM32 automatically create nonexisting output -: directories. Tup would, but not everybody can use it. -mkdir bin\zuncom %STDERR_IGNORE% -mkdir bin\Pipeline %STDERR_IGNORE% -for %%i in (1 2 3 4 5) do mkdir bin\th0%%i %STDERR_IGNORE% - -call set_errorlevel_to_1.bat -tup version >NUL -if errorlevel 1 goto fallback -: NT returns negative values for things like DLL import failures -if not errorlevel 0 goto fallback - -tup -goto eof - -:fallback -echo [:(] Failed to run Tup (gittup.org/tup), falling back on a dumb full rebuild... -if not errorlevel 0 echo (Delete `tup.exe` to avoid the error message boxes in the future) -call Tupfile.bat - -goto eof - -:no_tasm32 -echo Could not find TASM32. -echo Please make sure that the BIN directory of Turbo Assembler 5.0 is in your PATH. -goto eof - -:no_bcc32 -echo Could not find BCC32. -echo Please make sure that the BIN directory of Borland C++ 5.5 is in your PATH. -goto eof - -:eof -echo ------------------------------------------------------------------------------- +@echo off +echo Running the first, 32-bit part of the ReC98 build process. + +: Windows 9x doesn't support stderr redirection, and always sets ERRORLEVEL to +: 2 if you attempt to do that, regardless of `tasm32`'s existence. NT properly +: returns 9009 if not found, or 0 otherwise. +set STDERR_IGNORE= +tasm32 >NUL 2>NUL +if errorlevel 9009 goto no_tasm32 +if errorlevel 2 goto check_tasm32_win9x + +: NT + TASM32 existing confirmed at this point +setlocal +set STDERR_IGNORE=2^>NUL +goto check_bcc32 + +: Re-run the actual TASM check for Windows 9x. Calling a nonexistent command +: leaves ERRORLEVEL untouched, so we have to override it ourselves first. +:check_tasm32_win9x +call set_errorlevel_to_1.bat +tasm32 >NUL %STDERR_IGNORE% +if errorlevel 1 goto no_tasm32 + +:check_bcc32 +call set_errorlevel_to_1.bat +bcc32 >NUL %STDERR_IGNORE% +if errorlevel 1 goto no_bcc32 + +: Neither BCC32 nor TASM32 automatically create nonexisting output +: directories. Tup would, but not everybody can use it. +mkdir bin\zuncom %STDERR_IGNORE% +mkdir bin\Pipeline %STDERR_IGNORE% +for %%i in (1 2 3 4 5) do mkdir bin\th0%%i %STDERR_IGNORE% + +call set_errorlevel_to_1.bat +tup version >NUL +if errorlevel 1 goto fallback +: NT returns negative values for things like DLL import failures +if not errorlevel 0 goto fallback + +tup +goto eof + +:fallback +echo [:(] Failed to run Tup (gittup.org/tup), falling back on a dumb full rebuild... +if not errorlevel 0 echo (Delete `tup.exe` to avoid the error message boxes in the future) +call Tupfile.bat + +goto eof + +:no_tasm32 +echo Could not find TASM32. +echo Please make sure that the BIN directory of Turbo Assembler 5.0 is in your PATH. +goto eof + +:no_bcc32 +echo Could not find BCC32. +echo Please make sure that the BIN directory of Borland C++ 5.5 is in your PATH. +goto eof + +:eof +echo ------------------------------------------------------------------------------- diff --git a/set_errorlevel_to_1.bat b/set_errorlevel_to_1.bat index a0a11ed5..5dee3673 100644 --- a/set_errorlevel_to_1.bat +++ b/set_errorlevel_to_1.bat @@ -1 +1 @@ -@< NUL find "" +@< NUL find ""