Initial commit of Command & Conquer Red Alert source code.

This commit is contained in:
LFeenanEA
2025-02-27 16:15:05 +00:00
parent b685cea758
commit 5e733d5dcc
2082 changed files with 797727 additions and 0 deletions

9
WINVQ/VPLAY32/BCC32.CFG Normal file
View File

@@ -0,0 +1,9 @@
-c
-3
-d
-H=c:\projects\vplay32\obj\headers.sym
-wpro
-weas
-wpre
-IC:\PROJECTS\INCLUDE;C:\DEV\BC4\INCLUDE;C:\DEV\TNT\INCLUDE
-DPHARLAP_TNT=1

BIN
WINVQ/VPLAY32/CAPTION.FNT Normal file

Binary file not shown.

BIN
WINVQ/VPLAY32/EVA.FNT Normal file

Binary file not shown.

165
WINVQ/VPLAY32/MAKEFILE Normal file
View File

@@ -0,0 +1,165 @@
#
# Command & Conquer Red Alert(tm)
# Copyright 2025 Electronic Arts Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#****************************************************************************
#
# C O N F I D E N T I A L --- W E S T W O O D S T U D I O S
#
#----------------------------------------------------------------------------
#
# FILE
# makefile (Watcom C/C++ 10.0a)
#
# DESCRIPTION
# Makefile for test program
#
# PROGRAMMER
# Denzil E. Long, Jr.
#
# DATE
# February 10, 1995
#
# ENVIROMENT
# PRJ - Projects path.
# PRJVCS - Version control archive path.
# WATCOM - Watcom C installation path.
#
#****************************************************************************
#----------------------------------------------------------------------------
# VERIFY ENVIROMENT
#----------------------------------------------------------------------------
!ifndef %PRJ || %PRJVCS || %WATCOM
!error Environment not configured.
!endif
.OPTIMIZE
.ERASE
#----------------------------------------------------------------------------
# PROJECT DEPENDENT MACROS
#----------------------------------------------------------------------------
PRJNAME = VPLAY4GW
PRJDIR = $(%PRJ)\VPLAY32
OBJECTS = &
plyvqa32.obj
#LIBRARYS = vqm32w.lib vqa32w.lib sosdw1cs.lib
LIBRARYS = vqm32wp.lib vqa32wp.lib sosdw1ps.lib
#----------------------------------------------------------------------------
# PATH MACROS
#----------------------------------------------------------------------------
!ifdef %LIB
LIBPATH = $(%PRJ)\LIB;$(%LIB)
!else
LIBPATH = $(%PRJ)\LIB;$(%WATCOM)\LIB386
!endif
!ifdef %INCLUDE
INCLUDEPATH = $(%PRJ)\INCLUDE;$(%INCLUDE)
!else
INCLUDEPATH = $(%PRJ)\INCLUDE;$(%WATCOM)\H
!endif
path_c = .\
path_cpp = .\
path_h = .\
path_asm = .\
path_i = .\
path_obj = .\O
path_lib = $(%PRJ)\LIB
path_exe = .\
#----------------------------------------------------------------------------
# IMPLICIT RULE EXTENSIONS AND PATHS
#----------------------------------------------------------------------------
.EXTENSIONS :
.EXTENSIONS : .exe .lib .obj .c .cpp .asm .h .i
.c : $(path_c)
.cpp : $(path_cpp)
.cpp : $(path_cpp)
.h : $(path_h)
.asm : $(path_asm)
.i : $(path_i)
.obj : $(path_obj)
.lib : $(path_lib)
.exe : $(path_exe)
#----------------------------------------------------------------------------
# TOOLS, COMMANDS AND CONFIGURATIONS
#----------------------------------------------------------------------------
CC_CMD = wcc386
CCP_CMD = wpp386
ASM_CMD = tasm32
LINK_CMD = wlink
LIB_CMD = wlib
CC_OPTS = -i$(INCLUDEPATH) -j -zp1 -5s -mf -oaeilrt -s -zq -d2
ASM_OPTS = /t /m /w+ /jJUMPS /ml /p /z /dPHARLAP_TNT=0
LIB_OPTS = /b /c /q /t
LINK_CFG = $(PRJNAME).lnk
#----------------------------------------------------------------------------
# DEFAULT TARGET
#----------------------------------------------------------------------------
all : $(LINK_CFG) $(PRJNAME).exe .SYMBOLIC
#----------------------------------------------------------------------------
# IMPLICIT RULES
#----------------------------------------------------------------------------
.c.obj :
$(CC_CMD) $(CC_OPTS) -fo=$(PATH_OBJ)\$^. $<
.cpp.obj :
$(CCP_CMD) $(CC_OPTS) -fo=$(PATH_OBJ)\$^. $<
.asm.obj :
$(ASM_CMD) $(ASM_OPTS) $<,$(path_obj)\$^.
#----------------------------------------------------------------------------
# BUILD THE APPLICATION
#----------------------------------------------------------------------------
$(PRJNAME).exe : $(OBJECTS) $(LIBRARYS) $(LINK_CFG)
$(LINK_CMD) @$(LINK_CFG)
#----------------------------------------------------------------------------
# LINKER CONFIGURATION
#----------------------------------------------------------------------------
$(LINK_CFG) : makefile
@echo Updating $(LINK_CFG)!
@%create $(LINK_CFG)
@%write $(LINK_CFG) SYSTEM dos4g
@%write $(LINK_CFG) OPTION map
@%write $(LINK_CFG) NAME $(PRJNAME)
@%write $(LINK_CFG) DEBUG ALL
@%write $(LINK_CFG) LIBPATH $(LIBPATH)
@for %i in ($(OBJECTS)) do @%write $(LINK_CFG) FILE $(path_obj)\%i
@for %i in ($(LIBRARYS)) do @%write $(LINK_CFG) LIBRARY %i

217
WINVQ/VPLAY32/MAKEFILE.BOR Normal file
View File

@@ -0,0 +1,217 @@
#
# Command & Conquer Red Alert(tm)
# Copyright 2025 Electronic Arts Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#****************************************************************************
#
# C O N F I D E N T I A L --- W E S T W O O D S T U D I O S
#
#----------------------------------------------------------------------------
#
# PROJECT
# VPlay32 - VQA player (32-bit protected mode)
#
# FILE
# Makefile
#
# PROGRAMMER
# Denzil E. Long, Jr.
#
# DATE
# February 9, 1995
#
# ENVIROMENT
# PRJ = Root projects path
# PRJVCS = Root path for projects version control archive
# BCDIR = Root Borland installation path
# TNTDIR = Root Pharlap TNT-DOS Extender path
#
#****************************************************************************
#----------------------------------------------------------------------------
# VERIFY ENVIROMENT
#----------------------------------------------------------------------------
!if !$d(PRJ) || !$d(PRJVCS) || !$d(BCDIR) || !$d(TNTDIR)
!error Environment not configured.
!endif
.AUTODEPEND
#----------------------------------------------------------------------------
# PROJECT DEPENDENT MACROS
#----------------------------------------------------------------------------
PRJNAME = vplaytnt
PRJDIR = $(PRJ)\VPLAY32
OBJECTS = \
obj\plyvqa32.obj \
PRJLIBS = \
vqa32bp.lib \
vqm32bp.lib \
#----------------------------------------------------------------------------
# PATH MACROS
#----------------------------------------------------------------------------
!if $d(LIB)
LIBPATH = $(PRJ)\LIB;$(LIB)
!else
LIBPATH = $(PRJ)\LIB;$(TNTDIR)\LIB;$(BCDIR)\LIB
!endif
!if $d(INCLUDE)
INCLUDEPATH = $(PRJ)\INCLUDE;$(INCLUDE)
!else
INCLUDEPATH = $(PRJ)\INCLUDE;$(TNTDIR)\INCLUDE;$(BCDIR)\INCLUDE
!endif
.path.asm = $(PRJDIR)
.path.c = $(PRJDIR)
.path.cpp = $(PRJDIR)
.path.h = $(PRJDIR)
.path.def = $(PRJDIR)
.path.exe = $(PRJDIR)
.path.obj = $(PRJDIR)\OBJ
.path.sym = $(PRJDIR)\OBJ
.path.map = $(PRJDIR)\OBJ
.path.lib = $(PRJ)\LIB
#----------------------------------------------------------------------------
# TOOLS, COMMANDS AND CONFIGURATIONS
#----------------------------------------------------------------------------
CC_CMD = bcc32
ASM_CMD = tasm32
LINK_CMD = tlink32
LIB_CMD = tlib
TNT_CMD = cfig386
CC_CFG = bcc32.cfg
ASM_CFG = tasm32.cfg
LINK_CFG = tlink32.cfg
LIB_CFG = tlib.cfg
CFG_FILES = $(CC_CFG) $(ASM_CFG) $(LINK_CFG) $(LIB_CFG)
TNT_FLAGS = -minreal 256
#----------------------------------------------------------------------------
# DEFAULT TARGET
#----------------------------------------------------------------------------
all: $(PRJNAME).exe
#----------------------------------------------------------------------------
# IMPLICIT RULES
#----------------------------------------------------------------------------
.c.obj:
$(CC_CMD) -P- -n$(.path.obj) {$< }
.cpp.obj:
$(CC_CMD) -P -n$(.path.obj) {$< }
.asm.obj:
$(ASM_CMD) @$(ASM_CFG) $<,$(.path.obj)\$&
#----------------------------------------------------------------------------
# BUILD THE APPLICATION
#----------------------------------------------------------------------------
$(PRJNAME).exe: $(OBJECTS) $(PRJLIBS) $(PRJNAME).def
$(LINK_CMD) @&&|
c0x32.obj+
$(OBJECTS)
$(.path.exe)\$(PRJNAME).exe
$(.path.map)\$(PRJNAME).map
$(PRJLIBS)+
dos32.lib+
dosx32.lib+
errno.lib+
import32.lib+
cw32.lib
$(.path.def)\$(PRJNAME).def
|
$(TNT_CMD) $(PRJNAME) $(TNT_FLAGS)
#----------------------------------------------------------------------------
# ALL OBJECTS DEPEND ON THE CONFIGURATION FILES
#----------------------------------------------------------------------------
$(OBJECTS): $(CFG_FILES)
#----------------------------------------------------------------------------
# COMPILER CONFIGURATION
#----------------------------------------------------------------------------
$(CC_CFG): makefile
copy &&|
-c
-3
-d
-H=$(.path.sym)\headers.sym
-wpro
-weas
-wpre
-I$(INCLUDEPATH)
-DPHARLAP_TNT=1
#-v
| $(CC_CFG)
#----------------------------------------------------------------------------
# ASSEMBLER CONFIGURATION
#----------------------------------------------------------------------------
$(ASM_CFG): makefile
copy &&|
/la
/t
/m
/w+
/jJUMPS
/ml
/p
/z
/i$(PRJ)\INCLUDE
/zi
| $(ASM_CFG)
#----------------------------------------------------------------------------
# LINKER CONFIGURATION
#----------------------------------------------------------------------------
$(LINK_CFG): makefile
copy &&|
/c
/m
/Gm
-L$(LIBPATH)
-v
| $(LINK_CFG)
#----------------------------------------------------------------------------
# LIBRARIAN CONFIGURATION
#----------------------------------------------------------------------------
$(LIB_CFG): makefile
copy &&|
/C /E
| $(LIB_CFG)

165
WINVQ/VPLAY32/MAKEFILE.WAT Normal file
View File

@@ -0,0 +1,165 @@
#
# Command & Conquer Red Alert(tm)
# Copyright 2025 Electronic Arts Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#****************************************************************************
#
# C O N F I D E N T I A L --- W E S T W O O D S T U D I O S
#
#----------------------------------------------------------------------------
#
# FILE
# makefile (Watcom C/C++ 10.0a)
#
# DESCRIPTION
# Makefile for test program
#
# PROGRAMMER
# Denzil E. Long, Jr.
#
# DATE
# February 10, 1995
#
# ENVIROMENT
# PRJ - Projects path.
# PRJVCS - Version control archive path.
# WATCOM - Watcom C installation path.
#
#****************************************************************************
#----------------------------------------------------------------------------
# VERIFY ENVIROMENT
#----------------------------------------------------------------------------
!ifndef %PRJ || %PRJVCS || %WATCOM
!error Environment not configured.
!endif
.OPTIMIZE
.ERASE
#----------------------------------------------------------------------------
# PROJECT DEPENDENT MACROS
#----------------------------------------------------------------------------
PRJNAME = VPLAY4GW
PRJDIR = $(%PRJ)\VPLAY32
OBJECTS = &
plyvqa32.obj
#LIBRARYS = vqm32w.lib vqa32w.lib sosdw1cs.lib
LIBRARYS = vqm32wp.lib vqa32wp.lib sosdw1ps.lib
#----------------------------------------------------------------------------
# PATH MACROS
#----------------------------------------------------------------------------
!ifdef %LIB
LIBPATH = $(%PRJ)\LIB;$(%LIB)
!else
LIBPATH = $(%PRJ)\LIB;$(%WATCOM)\LIB386
!endif
!ifdef %INCLUDE
INCLUDEPATH = $(%PRJ)\INCLUDE;$(%INCLUDE)
!else
INCLUDEPATH = $(%PRJ)\INCLUDE;$(%WATCOM)\H
!endif
path_c = .\
path_cpp = .\
path_h = .\
path_asm = .\
path_i = .\
path_obj = .\O
path_lib = $(%PRJ)\LIB
path_exe = .\
#----------------------------------------------------------------------------
# IMPLICIT RULE EXTENSIONS AND PATHS
#----------------------------------------------------------------------------
.EXTENSIONS :
.EXTENSIONS : .exe .lib .obj .c .cpp .asm .h .i
.c : $(path_c)
.cpp : $(path_cpp)
.cpp : $(path_cpp)
.h : $(path_h)
.asm : $(path_asm)
.i : $(path_i)
.obj : $(path_obj)
.lib : $(path_lib)
.exe : $(path_exe)
#----------------------------------------------------------------------------
# TOOLS, COMMANDS AND CONFIGURATIONS
#----------------------------------------------------------------------------
CC_CMD = wcc386
CCP_CMD = wpp386
ASM_CMD = tasm32
LINK_CMD = wlink
LIB_CMD = wlib
CC_OPTS = -i$(INCLUDEPATH) -j -zp1 -5s -mf -oaeilrt -s -zq
ASM_OPTS = /t /m /w+ /jJUMPS /ml /p /z /dPHARLAP_TNT=0
LIB_OPTS = /b /c /q /t
LINK_CFG = $(PRJNAME).lnk
#----------------------------------------------------------------------------
# DEFAULT TARGET
#----------------------------------------------------------------------------
all : $(LINK_CFG) $(PRJNAME).exe .SYMBOLIC
#----------------------------------------------------------------------------
# IMPLICIT RULES
#----------------------------------------------------------------------------
.c.obj :
$(CC_CMD) $(CC_OPTS) -fo=$(PATH_OBJ)\$^. $<
.cpp.obj :
$(CCP_CMD) $(CC_OPTS) -fo=$(PATH_OBJ)\$^. $<
.asm.obj :
$(ASM_CMD) $(ASM_OPTS) $<,$(path_obj)\$^.
#----------------------------------------------------------------------------
# BUILD THE APPLICATION
#----------------------------------------------------------------------------
$(PRJNAME).exe : $(OBJECTS) $(LIBRARYS) $(LINK_CFG)
$(LINK_CMD) @$(LINK_CFG)
#----------------------------------------------------------------------------
# LINKER CONFIGURATION
#----------------------------------------------------------------------------
$(LINK_CFG) : makefile
@echo Updating $(LINK_CFG)!
@%create $(LINK_CFG)
@%write $(LINK_CFG) SYSTEM dos4g
@%write $(LINK_CFG) OPTION map
@%write $(LINK_CFG) NAME $(PRJNAME)
@%write $(LINK_CFG) DEBUG ALL
@%write $(LINK_CFG) LIBPATH $(LIBPATH)
@for %i in ($(OBJECTS)) do @%write $(LINK_CFG) FILE $(path_obj)\%i
@for %i in ($(LIBRARYS)) do @%write $(LINK_CFG) LIBRARY %i

1019
WINVQ/VPLAY32/PLYVQA32.CPP Normal file

File diff suppressed because it is too large Load Diff

10
WINVQ/VPLAY32/TASM32.CFG Normal file
View File

@@ -0,0 +1,10 @@
/la
/t
/m
/w+
/jJUMPS
/ml
/p
/z
/iC:\PROJECTS\INCLUDE
/zi

1
WINVQ/VPLAY32/TLIB.CFG Normal file
View File

@@ -0,0 +1 @@
/C /E

View File

@@ -0,0 +1,5 @@
/c
/m
/Gm
-LC:\PROJECTS\LIB;C:\DEV\BC4\LIB
-v

View File

@@ -0,0 +1 @@
stub 'gotnt.exe'