• ubuntu install dosbox and wolf3d


    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

  • 相关阅读:
    vue解决报错Unable to preventDefault inside passive event listener invocation.
    Jmeter分布式压力测试
    端口已被占用
    了解CSS Flex:解析实例、用法和案例研究
    「Python条件结构」实现超市付款功能
    Matlab数学建模常用函数
    vue3中安装并使用CSS预处理器Sass的方法介绍
    双目立体视觉(平行的视角)
    【牛客网面试必刷TOP101】二叉树篇(二)
    AC发声:我踩过的坑 你们都(别再)踩了
  • 原文地址:https://blog.csdn.net/hb_zxl/article/details/126823164