https://fabiensanglard.net/Compile_Like_Its_1992/index.php
Setup filesystem ? ?cd ~ ? ?mkdir system ? ?cd system ? ?mkdir c ? ?mkdir a ? ?cd ~ Download ? ? cd system/a ? ? curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/BCPP31.zip ? ? http://fabiensanglard.net/Compile_Like_Its_1992/tools/BCPP31.zip ? ??
? ? cd ../c ? ? curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/wolfsrc.zip ? ? curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/vgafiles.zip ? ? http://fabiensanglard.net/Compile_Like_Its_1992/tools/wolfsrc.zip ? ? http://fabiensanglard.net/Compile_Like_Its_1992/tools/vgafiles.zip ? ?cd .. ? ?find ~/system
Decompress everything ? ? cd ~/system/a ? ? unzip BCPP31.zip ? ? jar xvf BCPP31.zip ? ? sudo apt install openjdk-17-jdk-headless
? ? cd ~/system/c ? ? unzip vgafiles.zip ? ? unzip wolfsrc.zip Download and start DosBox: https://www.dosbox.com/ sudo apt-get install dosbox https://blog.csdn.net/weixin_42361495/article/details/116691919
Mount the filesystem, one folder for each drive : ? ?Z:/> mount c ~/system/c? ? ?Z:/> mount a ~/system/a Install the compiler Now is time to install Borland C++ 3.1 : ? ? Z:\> a: ? ? A:\> cd BCPP31 ? ? A:\> install
Install Wolfenstein 3D source code We have a system running and a compiler on it: Time to decompress (again) the source code. ? ?
? A:\> c: ? C:\> cd\ ? C:\> install ? Type 'C' ? Keep the default path: \WOLFSRC ? Y to create the directory. ? Installing ! Compiling Start Borland C++ 3.1: ? ? ?C:\> cd\ ? ? ?C:\> cd borlandc ? ? ?C:\> cd bin ? ? ?C:\> bc.exe After pressing OK, use the mouse or the shortcuts to Project -> Open Project ..\..\WOLFSRC\WOLF3D.PRJ: Select Options -> Directories and change the value as follow : ? ? Include Directories: C:\BORLANDC\INCLUDE ? ? Library Directories: C:\BORLANDC\LIB ? ? Ouptput Directories: OBJ ? ? Source Directories: ?C:\WOLFSRC Let's try to compile: Compile -> Build All We get an error: "Cannot find executable TASM"
Exit Borland C++, we need to set the PATH:
? ? ? ? ? ?C:\> CD .. ? ? ?C:\> PATH=C:\BORLANDC\BIN ? ? ?C:\> BC.EXE Try to compile again (Compile -> Build All):
Compiling did work but the linking failed: "Unable to find OBJ file" because the path of SIGNON.OBJ and GAMEPAL.OBJ in wrong in the project: They are marked in C:\SOURCE\WOLF\ :
Delete them from the project (Select and the Projext -> Delete item). Add them again via PROJECT -> Add Item... . Add WOLFSRC\OBJ\SIGNON.OBJ and WOLFSRC\OBJ\GAMEPAL.OBJ
Try to compile again via (Compile -> Build All) IT WORKED ! But will it run ?
Getting the assets Download the shareware version or even better: Purchase as full version on Wolfenstein 3D. ? ? cd ~/system/c ? ? curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/1wolf14.zip ? ? unzip 1wolf14.zip Go back to DosBox and install the game to C:\WOLF3D.
? C:\> c: ? C:\> cd \ ? C:\> cd 1wolf14 ? C:\1WOLF14> install
After installation of the game, copy the .EXE we just compiled to the game folder,
? ? C:\> c: ? ? C:\> cd wolf3d ? ? C:\WOLF3D> copy WOLF3D.EXE WOLF3D.OLD ? ? C:\WOLF3D> copy ..\WOLFSRC\WOLF.EXE .
Running the game Try to run it:
? ? C:\> cd wolf3d ? ? C:\WOLF3D> copy WOLF3D.EXE WOLF3D.OLD ? ? C:\WOLF3D> copy ../WOLRSRC/OBJ/WOLF3D.EXE . ? ? C:\WOLF3D> WOLF3D.EXE
解决显示错误问题: ? C:\> copy C:\vgafiles\VGADICT.WL6 C:\WOLF3D\VGADICT.WL1 ? C:\> copy C:\vgafiles\VGAGRAPH.WL6 C:\WOLF3D\VGAGRAPH.WL1 ? C:\> copy C:\vgafiles\VGAHEAD.WL6 C:\WOLF3D\VGAHEAD.WL1 not work
vi ~/Library/Preferences/DOSBox\ 0.74\ Preferences (Linux) ~/.dosbox/dosbox-0.74.conf (MAC OS X) ~/Library/Preferences/"DOSBox 0.74 Preferences"
vi ~/.dosbox/dosbox-0.74.conf [render] ? ? # frameskip: How many frames DOSBox skips before drawing one. ? ? # aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!. ? ? # scaler: Scaler used to enlarge/enhance low resolution modes. ? ? ? # If 'forced' is appended, then the scaler will be used even if the result might not be desired. ? ? ? # Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, ...
? ? frameskip=0 ? ? aspect=false ? ? scaler=normal2x Change that aspect to true: Try again :
? C:\WOLF3D> WOLF3D.EXE Finally, IT WORKS !
安装好环境,可以继续学习黑皮书
GitHub - jagregory/abrash-black-book: Markdown source for Michael Abrash's Graphics Programming Black Book
Game Engine Black Book
|