- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
72 lines
2.3 KiB
Batchfile
72 lines
2.3 KiB
Batchfile
@echo off
|
|
if not "%TASM%"=="" goto skip
|
|
set tasm=tasm
|
|
:skip
|
|
|
|
if not %3.==. goto noobjdir
|
|
set objdir=.
|
|
goto objdirset
|
|
:noobjdir
|
|
set objdir=%3
|
|
:objdirset
|
|
|
|
if not %2.==. goto noc0dir
|
|
set c0dir=.
|
|
goto c0dirset
|
|
:noc0dir
|
|
set c0dir=%2
|
|
:c0dirset
|
|
|
|
if %1.==clib. goto clib
|
|
if %1.==winlib. goto winlib
|
|
if %1.==dpmi16. goto dpmi16
|
|
goto error
|
|
:clib
|
|
echo Building DOS startups
|
|
cd %c0dir%
|
|
%TASM% /M /MX /Q /T /D__TINY__ c0, %objdir%\c0t
|
|
%TASM% /M /MX /Q /T /D__SMALL__ c0, %objdir%\c0s
|
|
%TASM% /M /MX /Q /T /D__COMPACT__ c0, %objdir%\c0c
|
|
%TASM% /M /MX /Q /T /D__MEDIUM__ c0, %objdir%\c0m
|
|
%TASM% /M /MX /Q /T /D__LARGE__ c0, %objdir%\c0l
|
|
%TASM% /M /MX /Q /T /D__HUGE__ c0, %objdir%\c0h
|
|
|
|
%TASM% /M /MX /Q /T /D__TINY__ /D_DSSTACK_ c0, %objdir%\c0ft
|
|
%TASM% /M /MX /Q /T /D__SMALL__ /D_DSSTACK_ c0, %objdir%\c0fs
|
|
%TASM% /M /MX /Q /T /D__COMPACT__ /D_DSSTACK_ c0, %objdir%\c0fc
|
|
%TASM% /M /MX /Q /T /D__MEDIUM__ /D_DSSTACK_ c0, %objdir%\c0fm
|
|
%TASM% /M /MX /Q /T /D__LARGE__ /D_DSSTACK_ c0, %objdir%\c0fl
|
|
%TASM% /M /MX /Q /T /D__HUGE__ c0, %objdir%\c0fh
|
|
if not %c0dir%==. cd ..
|
|
goto exit
|
|
:winlib
|
|
echo Building Windows startups
|
|
cd %c0dir%
|
|
%TASM% /M /MX /Q /T /D__SMALL__ /D__WINDOWS__ c0w, %objdir%\c0ws
|
|
%TASM% /M /MX /Q /T /D__COMPACT__ /D__WINDOWS__ c0w, %objdir%\c0wc
|
|
%TASM% /M /MX /Q /T /D__MEDIUM__ /D__WINDOWS__ c0w, %objdir%\c0wm
|
|
%TASM% /M /MX /Q /T /D__LARGE__ /D__WINDOWS__ c0w, %objdir%\c0wl
|
|
|
|
%TASM% /M /MX /Q /T /D__SMALL__ /D__WINDOWS__ c0d, %objdir%\c0ds
|
|
%TASM% /M /MX /Q /T /D__COMPACT__ /D__WINDOWS__ c0d, %objdir%\c0dc
|
|
%TASM% /M /MX /Q /T /D__MEDIUM__ /D__WINDOWS__ c0d, %objdir%\c0dm
|
|
%TASM% /M /MX /Q /T /D__LARGE__ /D__WINDOWS__ c0d, %objdir%\c0dl
|
|
if not %c0dir%==. cd ..
|
|
goto exit
|
|
:dpmi16
|
|
echo Building DPMI16 startup
|
|
cd %c0dir%
|
|
%TASM% /M /MX /Q /T /D__LARGE__ /D__WINDOWS__ /D__DPMI16__ c0w, %objdir%\c0x
|
|
if not %c0dir%==. cd ..
|
|
goto exit
|
|
:error
|
|
echo BUILD-C0.BAT
|
|
echo Usage: build-c0 libtype [srcdir [objdir]]
|
|
echo libtype clib (DOS) or winlib (Windows) or dpmi16 (DPMI16)
|
|
echo srcdir source subdirectory (default is ".")
|
|
echo objdir object subdirectory relative to srcdir (default is ".")
|
|
echo Example: build-c0 clib startup ..\lib
|
|
echo This batch file builds the C startup module (or modules) for
|
|
echo DOS or Windows. All memory models are built.
|
|
:exit
|