source410: literal 4.10 source reconstruction + BC++ 4.52 fleet toolchain archived

- 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>
This commit is contained in:
Cyd
2026-07-19 07:33:26 -05:00
co-authored by Claude Fable 5
parent 599b2388a1
commit 63312e07f9
5913 changed files with 756089 additions and 0 deletions
@@ -0,0 +1,64 @@
// ---------------------------------------------------------------------------
// Copyright (C) 1994 Borland International
// array.cpp
// Must link with myclass.cpp.
// ---------------------------------------------------------------------------
#include <classlib/arrays.h>
#include <iostream.h>
#include <strstrea.h>
#include "../myclass.h"
typedef TArrayAsVector<MyClass> ContainerType;
typedef TArrayAsVectorIterator<MyClass> IteratorType;
const int MaxItems=6;
void ForEachCallBack(MyClass& mc, void* s)
{
cout << (char*)s << mc << endl;
}
void AddItems(ContainerType& container, int numItems)
{
for( int i=numItems; i>0; i-- )
{
char buf[80];
ostrstream str( buf, sizeof(buf) );
str << i << " hello" << ends;
container.Add(MyClass(buf));
}
}
void UseForwardIterator(ContainerType& container)
{
IteratorType iterator(container);
while( iterator )
{
cout << iterator.Current() << endl;
iterator++;
}
}
void UseIndex(ContainerType& container)
{
for( int i=container.LowerBound(); i<container.UpperBound(); i++ )
cout << container[i] << endl;
}
int main()
{
ContainerType container(MaxItems);
AddItems(container, MaxItems);
cout << "--- Starting ForEach" << endl;
container.ForEach(ForEachCallBack, (void*)"FE ");
cout << "--- Starting Iterator (forward)" << endl;
UseForwardIterator(container);
cout << "--- Using operator[]" << endl;
UseIndex(container);
return 0;
}
@@ -0,0 +1,64 @@
// ---------------------------------------------------------------------------
// Copyright (C) 1994 Borland International
// iarray.cpp
// Must link with myclass.cpp.
// ---------------------------------------------------------------------------
#include <classlib/arrays.h>
#include <iostream.h>
#include <strstrea.h>
#include "../myclass.h"
typedef TIArrayAsVector<MyClass> ContainerType;
typedef TIArrayAsVectorIterator<MyClass> IteratorType;
const int MaxItems=6;
void ForEachCallBack(MyClass& mc, void* s)
{
cout << (char*)s << mc << endl;
}
void AddItems(ContainerType& container, int numItems)
{
for( int i=numItems; i>0; i-- )
{
char buf[80];
ostrstream str( buf, sizeof(buf) );
str << i << " hello" << ends;
container.Add( new MyClass(buf) );
}
}
void UseForwardIterator(ContainerType& container)
{
IteratorType iterator(container);
while( iterator )
{
cout << *iterator.Current() << endl;
iterator++;
}
}
void UseIndex(ContainerType& container)
{
for( int i=container.LowerBound(); i<container.UpperBound(); i++ )
cout << *container[i] << endl;
}
int main()
{
ContainerType container(MaxItems);
AddItems(container, MaxItems);
cout << "--- Starting ForEach" << endl;
container.ForEach(ForEachCallBack, (void*)"FE ");
cout << "--- Starting Iterator (forward)" << endl;
UseForwardIterator(container);
cout << "--- Using operator[]" << endl;
UseIndex(container);
return 0;
}
@@ -0,0 +1,64 @@
// ---------------------------------------------------------------------------
// Copyright (C) 1994 Borland International
// isarray.cpp
// Must link with myclass.cpp.
// ---------------------------------------------------------------------------
#include <classlib/arrays.h>
#include <iostream.h>
#include <strstrea.h>
#include "../myclass.h"
typedef TIArrayAsVector<MyClass> ContainerType;
typedef TIArrayAsVectorIterator<MyClass> IteratorType;
const int MaxItems=6;
void ForEachCallBack(MyClass& mc, void* s)
{
cout << (char*)s << mc << endl;
}
void AddItems(ContainerType& container, int numItems)
{
for( int i=numItems; i>0; i-- )
{
char buf[80];
ostrstream str( buf, sizeof(buf) );
str << i << " hello" << ends;
container.Add( new MyClass(buf) );
}
}
void UseForwardIterator(ContainerType& container)
{
IteratorType iterator(container);
while( iterator )
{
cout << *iterator.Current() << endl;
iterator++;
}
}
void UseIndex(ContainerType& container)
{
for( int i=container.LowerBound(); i<container.UpperBound(); i++ )
cout << *container[i] << endl;
}
int main()
{
ContainerType container(MaxItems);
AddItems(container, MaxItems);
cout << "--- Starting ForEach" << endl;
container.ForEach(ForEachCallBack, (void*)"FE ");
cout << "--- Starting Iterator (forward)" << endl;
UseForwardIterator(container);
cout << "--- Using operator[]" << endl;
UseIndex(container);
return 0;
}
@@ -0,0 +1,30 @@
#--------------------------------------------------------------------------#
# #
# MAKEFILE for ARRAY examples #
# #
# Copyright (c) 1994 Borland International #
# All Rights Reserved #
# #
# Usage: #
# #
# make -DCON32 for 32-bit Windows Console #
# make MODEL={s|m|c|l} for 16-bit Windows using EasyWin #
# make MODEL={s|m|c|l|h} -DDOS16 for 16-bit DOS #
# #
#--------------------------------------------------------------------------#
EXE = array
EXEALL = array.exe iarray.exe sarray.exe isarray.exe
EXEMAKE= $(ARRAY) $(IARRAY) $(SARRAY) $(ISARRAY)
RULES = myclass.obj: ..\myclass.cpp
ARRAY=$(EXERULE:array.obj=array.obj myclass.obj)
IARRAY=$(ARRAY:array=iarray)
SARRAY=$(ARRAY:array=sarray)
ISARRAY=$(ARRAY:array=isarray)
!include $(BCEXAMPLEDIR)\bidsmake.gen
@@ -0,0 +1,64 @@
// ---------------------------------------------------------------------------
// Copyright (C) 1994 Borland International
// sarray.cpp
// Must link with myclass.cpp.
// ---------------------------------------------------------------------------
#include <classlib/arrays.h>
#include <iostream.h>
#include <strstrea.h>
#include "../myclass.h"
typedef TSArrayAsVector<MyClass> ContainerType;
typedef TSArrayAsVectorIterator<MyClass> IteratorType;
const int MaxItems=6;
void ForEachCallBack(MyClass& mc, void* s)
{
cout << (char*)s << mc << endl;
}
void AddItems(ContainerType& container, int numItems)
{
for( int i=numItems; i>0; i-- )
{
char buf[80];
ostrstream str( buf, sizeof(buf) );
str << i << " hello" << ends;
container.Add(MyClass(buf));
}
}
void UseForwardIterator(ContainerType& container)
{
IteratorType iterator(container);
while( iterator )
{
cout << iterator.Current() << endl;
iterator++;
}
}
void UseIndex(ContainerType& container)
{
for( int i=container.LowerBound(); i<container.UpperBound(); i++ )
cout << container[i] << endl;
}
int main()
{
ContainerType container(MaxItems);
AddItems(container, MaxItems);
cout << "--- Starting ForEach" << endl;
container.ForEach(ForEachCallBack, (void*)"FE ");
cout << "--- Starting Iterator (forward)" << endl;
UseForwardIterator(container);
cout << "--- Using operator[]" << endl;
UseIndex(container);
return 0;
}