I Got it!!!
The "secret" was to use wlink instead of wcl386. I created a batch script so anyone who wants to try the original
Beats of Rage should be able to compile and link it easily. All they have to do is install Watcom or Open Watcom at C:\ and make sure
PMODEW is there. Also make sure the batch script is named "
COMPILE.BAT"
It is here for the record. Not that beautiful but it works.
Code:
@ECHO OFF
CLS
ECHO ----------------------------------------------
ECHO - Beats of Rage -
ECHO - Compilation Script by Lost in Time 2023 -
ECHO ----------------------------------------------
ECHO - 1) Set Watcom environment variables -
ECHO - 2) Clean Compilation Directory -
ECHO - 3) Full Project Compilation -
ECHO ----------------------------------------------
ECHO - 4) Exit -
ECHO ----------------------------------------------
choice /c1234 /s Wassup? [1-4]: /n
if errorlevel 4 goto exit
if errorlevel 3 goto compile
if errorlevel 2 goto clean
if errorlevel 1 goto setenv
:setenv
PATH=C:\WATCOM\BINW;C:\WATCOM\PMODEW;%PATH%
SET WATCOM=C:\WATCOM
SET INCLUDE=C:\WATCOM\H
SET EDPATH=C:\WATCOM\EDDAT
SET WIPFC=C:\WIPFC
echo .
echo DONE!
PAUSE
COMPILE.BAT
:clean
:: CLEAN THE PROJECT
@echo off
echo.
echo Removing OBJ, ERR and EXE files
echo.
del *.obj
del *.err
del BOR.EXE
cd GAMELIB3
del *.obj
del *.err
cd ..
echo .
echo DONE!
PAUSE
COMPILE.BAT
:compile
@echo off
:: DEFINE COMPILATION COMMAND
SET COMPASM=wasm -5pr -fp5 -mf -bt=pmodew
SET COMPC=wcc386 -5r -fp5 -mf -i=C:\WATCOM\H -bt=pmodew
:: COMPILE GAMELIB FILES
CD GAMELIB3
:: ASM Files
%COMPASM% ASMCOPY.ASM
%COMPASM% KEYBOARD.ASM
%COMPASM% RAND32.ASM
%COMPASM% TIMER.ASM
%COMPASM% VGA.ASM
:: C FILES
%COMPC% ANIGIF.C
%COMPC% SPRITE.C
%COMPC% SOUNDMIX.C
%COMPC% VESA.C
%COMPC% CONTROL.C
%COMPC% VIDEO.C
%COMPC% PALETTE.C
%COMPC% SYSTEM.C
%COMPC% LOADIMG.C
%COMPC% BITMAP.C
%COMPC% PACKFILE.C
%COMPC% DRAW.C
%COMPC% SAVEPCX.C
%COMPC% FONT.C
%COMPC% SCREEN.C
%COMPC% JOY.C
%COMPC% SBLASTER.C
%COMPC% SPRITEQ.C
%COMPC% ADPCM.C
%COMPC% TEXTURE.C
%COMPC% SSPRITE.C
:: COMPILE MAIN SOURCE CODE
CD ..
%COMPC% BOR.C
:: LINK THE PROJECT
wlink system pmodew file BOR.OBJ,gamelib3\*.obj
echo.
PAUSE
COMPILE.BAT
:exit
echo .<-
echo -------
echo - Ok. -
echo -------
Thank you very much, Roel, for your time and your amazing work! Although I played many mods at the time, not much from the OpenBoR era, but the original ones, the original BoR still has me. It's very neat and well crafted. I still play it to this day, but mostly the console ports.
Again, thank you Roel, Jeroen, Ian Micheal, Kirby2K, Shaun Nichols, Mr. Q (Mauricio), Master Drico, bWWd, Rameen, L@Cible, DemonCaskey, KungFuCoder, KungPow and of course Neil Corlett for porting this amazing game to PS2, Dreamcast and og XboX (or was the original XboX port made by a600? Can't remember).
Well, just in case I forgot to mention someone, thanks to all the BoR community, from all over the world, who always brings me sweet memories from 20 years ago.
That was a really, really nice time.
That's why it's important to me my nephew could play with the original BoR source code.
All the best!
EDIT: I just forgot to mention:
Make sure you have
PMODEW directives in your
WLINK.LNK:
File:
C:\WATCOM\BINW\WLINK.LNK
Code:
# example linker initialization file.
# remember, don't put carets (^) in these!
system begin 286
libpath %WATCOM%\lib286
libpath %WATCOM%\lib286\dos
format dos
end
system begin 386
option osname='DOS/4G'
libpath %WATCOM%\lib386
libpath %WATCOM%\lib386\dos
op stub=wstub.exe
format os2 le
end
system begin pmodew
option osname='PMODE/W'
libpath %WATCOM%\pmodew
libpath %WATCOM%\lib386
libpath %WATCOM%\lib386\dos
option stub=pmodew.exe
format os2 le
end
@%watcom%\binw\wlsystem.lnk
This should avoid the annoyance of calling DOS4GW.EXE before BOR.EXE.
I think this is it.