- 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>
87 lines
1.8 KiB
C++
87 lines
1.8 KiB
C++
// ---------------------------------------------------------------------------
|
|
// Copyright (C) 1994 Borland International
|
|
// Simple OLE Container using OCF
|
|
// ---------------------------------------------------------------------------
|
|
#if !defined(CPPOCF3_H)
|
|
#define CPPOCF3_H
|
|
|
|
#include <dir.h>
|
|
#include "ocfhlpr.h"
|
|
#include "cppocf3.rh"
|
|
|
|
//
|
|
// Prototypes
|
|
//
|
|
bool InitInstance(HINSTANCE, int);
|
|
bool InitFrame(HINSTANCE);
|
|
bool InitChild(HINSTANCE);
|
|
|
|
|
|
//
|
|
// Retrieve OCF Helper associated with a window
|
|
//
|
|
TOleWin* GetOleWinObj(HWND hwnd);
|
|
|
|
|
|
//
|
|
// MDI Frame and MDI Child Window Callbacks
|
|
//
|
|
LRESULT CALLBACK _export
|
|
MainWndProc(HWND hwnd, uint message, WPARAM wParam, LPARAM lParam);
|
|
LRESULT CALLBACK _export
|
|
ViewWndProc(HWND hwnd, uint message, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
//
|
|
//
|
|
//
|
|
typedef TArray<TPoint> TPoints;
|
|
typedef TArrayIterator<TPoint> TPointsIterator;
|
|
|
|
|
|
//
|
|
// Container class - holds array of points
|
|
//
|
|
class TLine : public TPoints {
|
|
public:
|
|
TLine(int penSize = 1, COLORREF color = RGB(0, 0, 0)) :
|
|
TPoints(10, 0, 10), PenSize(penSize), Color(color)
|
|
{}
|
|
|
|
// The == operator must be defined for the container class, even if unused
|
|
bool operator ==(const TLine& other) const
|
|
{
|
|
return &other == this;
|
|
}
|
|
|
|
COLORREF Color;
|
|
int PenSize;
|
|
};
|
|
|
|
|
|
typedef TArray<TLine> TLines;
|
|
typedef TArrayIterator<TLine> TLinesIterator;
|
|
|
|
|
|
//
|
|
// Class which holds the data of the MDI Child window i.e. and array of Lines
|
|
//
|
|
class ViewWndData {
|
|
public:
|
|
ViewWndData() : Lines(new TLines(100, 0, 5)), IsDirty(false)
|
|
{
|
|
FileName[0] = 0;
|
|
}
|
|
~ViewWndData()
|
|
{
|
|
delete Lines;
|
|
}
|
|
|
|
TLines* Lines;
|
|
bool IsDirty;
|
|
char FileName[MAXPATH];
|
|
};
|
|
|
|
|
|
#endif // CPPOCF3_H
|