Page 2 of 6 FirstFirst 1234 ... LastLast
Results 11 to 20 of 56

Thread: Getting Duke Nukem 3d to work

  1. #11
    Join Date
    Aug 2005
    Location
    Birmingham, AL
    Beans
    974
    Distro
    Kubuntu

    Re: Getting Duke Nukem 3d to work

    Whew. I got Duke3d working but it wasn't easy. JonoF has a modified build that works better.

    I'll try to document the steps I took, but if I miss something, or screw up a step, I apologize... warning: long and complicated instructions follow:

    Grab the build engine source here (JFBuild source code 20051009 596.43 kB), and the Duke3d source here. Extract both from the same directory so that you have both "jfbuild_src_20051009" and "jfduke3d_src_20051009" directories in the same place.

    Then link the build directory to "build" (from the directory you have both these subdirs in, do ln -s jfbuild_src_20051009 build --this is because the jfduke3dsrc expects jfbuild to be in a directory called simply "build".)

    You'll need several -dev libraries (libsdl1.2-dev, I'm sure, and possibly others -- I already had several game-related development libraries installed, so I'm not sure what all it needs). In addition, you'll need the nasm assembler (sudo apt-get install nasm), and fmod...

    I didn't see fmod in the repositories, so I went to the site, grabbed the "FMOD 3.75 Programmers API" (fmodapi375linux.tar.gz). Extracted it and found it had to be manually installed... *grr*. After extract, cd fmodapi375linux/api then sudo cp libfmod-3.75.so /usr/lib/ and sudo cp inc/* /usr/include/, and finally sudo ln -s /usr/lib/libfmod-3.75.so /usr/lib/libfmod.so.

    Next: sound patches for Build and Duke Nukem. (Yeah, I know, it's a lot.) Save this link into the jfbuild_src_20051009 directory, and this link into the jfduke3d_src_20051009 directory. (These patches are from this thread on JonoF's messageboard.)

    Now we finally start building. cd jfbuild_src_20051009 and do the patch: patch -p1 < jfbuild_src_20051009.patch. Then just type make. Any errors, look for what it's trying to find (particularly in lines saying they can't find a .h file) and install the appropriate -dev package.

    When done, cd ../jfduke3d_src_20051009, patch it with patch -p1 < jfduke3d_src_20051009.patch, and type make.

    *whew*. Copy over your duke3d.grp file from a Duke3d install or disk into the jfduke3d source directory where the duke3d binary now rests (duke3d.grp must be lowercase) and type ./duke3d to start the game.

    It worked for me, anyway... sorry if it doesn't for you.

  2. #12
    Join Date
    May 2006
    Beans
    17
    Distro
    Xubuntu

    Re: Getting Duke Nukem 3d to work

    This worked great for me. I at least have the game installed and able to run.
    But..:
    When I type ./duke3d it starts up in 320x240 (8-bpp windowed)!

    Code:
    addsearchpath(): Added /home/orenn/Spill/duke3d/jfduke3d_src_20051009/
    addsearchpath(): Added /home/orenn/.jfduke3d/
    Duke Nukem 3D v1.999
    Copyright (c) 1996 3D Realms Entertainment
    Compiling: GAME.CON (151190 bytes)
    Including: DEFS.CON (35992 bytes)
    Including: USER.CON (45482 bytes)
    Looks like Atomic Edition CON files.
    Code Size: 64824 bytes (1795 labels).
    Initialising SDL system interface (compiled with SDL version 1.2.9, DLL version 1.2.9)
    Loading libGL.so
    Xlib:  extension "XFree86-DRI" missing on display ":1.0".
    Using "x11" video driver
    Detecting video modes:
      - 1280x1024 32-bit fullscreen
      - 1152x864 8-bit windowed
      - 1024x768 8-bit windowed
      - 800x600 8-bit windowed
      - 640x480 8-bit windowed
      - 640x400 8-bit windowed
      - 512x384 8-bit windowed
      - 480x360 8-bit windowed
      - 400x300 8-bit windowed
      - 320x240 8-bit windowed
      - 320x200 8-bit windowed
      - 1152x864 32-bit windowed
      - 1024x768 32-bit windowed
      - 800x600 32-bit windowed
      - 640x480 32-bit windowed
      - 640x400 32-bit windowed
      - 512x384 32-bit windowed
      - 480x360 32-bit windowed
      - 400x300 32-bit windowed
      - 320x240 32-bit windowed
      - 320x200 32-bit windowed
    0 joystick(s) found
    Initialising mouse
    CONTROL_Startup: Mouse Present
    Initialising timer
    Loading art header.
    initcache(): Initialised with 33554416 bytes
    mmulti: This machine's IP is 127.0.0.1
    RTS Manager Started.
    RTS file DUKE.RTS was not found
    Loading palette/lookups.
    Setting video mode 320x240 (8-bpp windowed)
    Checking music inits.
    Checking sound inits.
    open /dev/sequencer: No such file or directory
    Any idea how this can be corrected? On the first run I got:
    Code:
    Failure setting video mode 640x480x8 fullscreen! Attempting safer mode...Setting video mode 320x240 (8-bpp windowed)
    Last edited by Or'Enn; July 28th, 2006 at 05:14 PM.

  3. #13
    Join Date
    Jul 2006
    Location
    Melbourne, Australia
    Beans
    121
    Distro
    Ubuntu 11.10 Oneiric Ocelot

    Re: Getting Duke Nukem 3d to work

    Thanks for that tutorial, DoktorSeve! It's all working fine for me I did need to install some libraries (libsdl1.2-dev and libsdl-mixer1.2, and I think libgl1-mesa-dev as well. There may be others which I've installed in the past).

    When I type ./duke3d it starts up in 320x240 (8-bpp windowed)!
    That happened for me as well. However, going into the options and selecting a higher resolution seems to work fine

  4. #14
    Join Date
    Aug 2006
    Beans
    8

    Re: Getting Duke Nukem 3d to work

    Anyone had any luck getting this to work on amd64? All I get when I try to build jfbuild_src_20051009 is this:

    Code:
    gcc -march=pentium -fomit-frame-pointer -O2 -W -Wall -Wimplicit -Wno-char-subscripts -Wno-unused -funsigned-char -fno-strict-aliasing -DNO_GCC_BUILTINS -DKSFORBUILD -Iinclude  -DRENDERTYPESDL=1 -DSUPERBUILD -DPOLYMOST -DUSE_OPENGL -DDYNAMIC_OPENGL -I/usr/include/SDL -D_REENTRANT -DHAVE_GTK2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -c src/game.c -o obj.gnu/game.o 2>&1
    src/game.c:1: error: CPU you selected does not support x86-64 instruction set
    src/game.c:1: error: CPU you selected does not support x86-64 instruction set
    make: *** [obj.gnu/game.o] Error 1
    Editing the Makefile and adding march=athlon64, gives this:

    Code:
    In file included from src/game.c:10:
    include/pragmas.h:3699:2: error: #error Unsupported compiler or architecture.
    src/game.c: In function ‘prepareboard’:
    src/game.c:1139: warning: implicit declaration of function ‘clearbufbyte’
    src/game.c:1349: warning: implicit declaration of function ‘klabs’
    src/game.c:1475: warning: implicit declaration of function ‘mulscale7’
    src/game.c:1477: warning: implicit declaration of function ‘mulscale5’
    src/game.c:1493: warning: implicit declaration of function ‘copybuf’
    src/game.c:1504: warning: implicit declaration of function ‘scale’
    src/game.c: In function ‘checktouchsprite’:
    src/game.c:1561: warning: implicit declaration of function ‘mulscale4’
    src/game.c:1562: warning: implicit declaration of function ‘mulscale8’
    src/game.c: In function ‘analyzesprites’:
    src/game.c:1905: warning: implicit declaration of function ‘mulscale16’
    src/game.c: In function ‘statuslistcode’:
    src/game.c:2513: warning: implicit declaration of function ‘sqr’
    src/game.c:2546: warning: implicit declaration of function ‘divscale7’
    src/game.c:2550: warning: implicit declaration of function ‘divscale9’
    src/game.c:2564: warning: implicit declaration of function ‘mulscale22’
    src/game.c:2597: warning: implicit declaration of function ‘mulscale30’
    src/game.c:2599: warning: implicit declaration of function ‘ksgn’
    src/game.c:2615: warning: implicit declaration of function ‘mulscale14’
    src/game.c:2623: warning: implicit declaration of function ‘divscale17’
    src/game.c:2626: warning: implicit declaration of function ‘mulscale12’
    src/game.c:2643: warning: implicit declaration of function ‘mulscale13’
    src/game.c:2649: warning: implicit declaration of function ‘dmulscale14’
    src/game.c: In function ‘view’:
    src/game.c:3506: warning: implicit declaration of function ‘mulscale28’
    src/game.c:3514: warning: implicit declaration of function ‘divscale16’
    src/game.c: In function ‘drawscreen’:
    src/game.c:3693: warning: implicit declaration of function ‘dmulscale12’
    src/game.c: In function ‘movethings’:
    src/game.c:4196: warning: implicit declaration of function ‘copybufbyte’
    src/game.c:4949:2: error: #error Unsupported compiler or architecture
    src/game.c: In function ‘movelava’:
    src/game.c:5019: warning: implicit declaration of function ‘addlava’
    src/game.c: In function ‘drawoverheadmap’:
    src/game.c:5824: warning: implicit declaration of function ‘dmulscale16’
    make: *** [obj.gnu/game.o] Error 1
    Any ideas?

  5. #15
    Join Date
    Aug 2006
    Beans
    450

    Re: Getting Duke Nukem 3d to work

    Bah! Just wait for Duke Nukem' Forever...and ever and ever and ever and ever.......

    I hear some stores allow you to pre-order the game...for when hell freezes over.
    Last edited by jdunn; October 1st, 2006 at 03:38 PM.

  6. #16
    Join Date
    May 2006
    Beans
    86
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Getting Duke Nukem 3d to work

    fixed the dependency, will provide ready to run duke3d without licensed files
    Last edited by Zaggy; October 17th, 2006 at 02:34 PM.

  7. #17
    Join Date
    Apr 2006
    Location
    Surrounded by idiots!
    Beans
    1,295
    Distro
    Kubuntu 4.10

    Re: Getting Duke Nukem 3d to work

    Hey zaggy, I would like a copy of that when you get it done.

    Regards, Kev

  8. #18
    Join Date
    Oct 2006
    Beans
    3

    Re: Getting Duke Nukem 3d to work

    Hi Zaggy id like a copy of it too

  9. #19
    Join Date
    Jan 2006
    Beans
    16

    Re: Getting Duke Nukem 3d to work

    Quote Originally Posted by saladasalad View Post
    Anyone had any luck getting this to work on amd64?
    Any ideas?
    For getting it to work on AMD64, you should probably try this:

    edit the Makefile to change the CFLAGS variable. Instead of -march=pentium, make it -march=athlon64 -m32

    Code:
    CFLAGS=-march=athlon64 -m32 $(debug)
    The only problem is that you now have to link to several 32-bit libraries, so you'd better install them in /usr/lib32 or whereever you like. If you add the 32 bit libraries from some uncommon place, you'd better adjust the LIBS variable to make it say:

    Code:
    LIBS=-L/your/lib32/directory/
    I have tested the compiling, that works, but I don't have time to find the libs (yet). Hope to have helped someone...

  10. #20
    Join Date
    Jan 2006
    Beans
    16

    Re: Getting Duke Nukem 3d to work

    Ok, I've got it working on my AMD64 dapper drake. Here's what I did:

    I edited the Makefiles and adjusted these values:
    Code:
    CFLAGS=-march=athlon64 -m32 $(debug)
    LIBS=-L/your/lib32/directory/
    In the lfduke directory there is something in the LIBS variable that must be appended to the value I gave here. Then I had to search for the correct libraries. I already had a few, and I have a edgy i386 version on this pc, so I could combine those. Then before running, if you don't want to install the libs in your /usr/lib32 directory, you have to adjust your LD_LIBRARY_PATH variable to include your win32 libs (in terminal):

    Code:
    export LD_LIBRARY=$LD_LIBRARY_PATH:/your/lib32/directory

    Happy Duking!


    The libs that I needed were:
    libatk-1.0.so
    libatk-1.0.so.0.1114.0
    libcairo.so
    libcairo.so.2.2.4
    libc.so
    libdl.a
    libdl.so
    libexpat.so.0
    libexpat.so.1
    libexpat.so.1.0.0
    libfmod-3.75.so
    libfontconfig.so
    libfontconfig.so.1.0.4
    libfreetype.so
    libfreetype.so.6
    libfreetype.so.6.3.8
    libgcc_s.so.1
    libgdk_pixbuf-2.0.so
    libgdk_pixbuf-2.0.so.0.800.20
    libgdk-x11-2.0.so
    libgdk-x11-2.0.so.0.800.20
    libglib-2.0.so
    libglib-2.0.so.0.1000.3
    libGL.so
    libGL.so.1
    libGL.so.1.2
    libGLU.so.1
    libGLU.so.1.3.060401
    libgmodule-2.0.so
    libgmodule-2.0.so.0.1000.3
    libgobject-2.0.so
    libgobject-2.0.so.0.1000.3
    libgtk-x11-2.0.so
    libgtk-x11-2.0.so.0.800.20
    libm.a
    libm.so
    libogg.so.0
    libogg.so.0.5.2
    libpango-1.0.so
    libpango-1.0.so.0.1201.2
    libpangocairo-1.0.so
    libpangocairo-1.0.so.0.1201.2
    libpangoft2-1.0.so.0
    libpangoft2-1.0.so.0.1201.2
    libpng12.so.0
    libpng12.so.0.1.2.8
    libpthread-2.3.6.so
    libpthread.a
    libpthread.so
    libpthread.so.0
    libsasl2.so.2.0.19
    libSDL-1.2.so.0.7.1
    libSDL_mixer-1.2.so.0
    libSDL_mixer-1.2.so.0.2.4
    libSDL_mixer.so
    libSDL.so
    libsmpeg-0.4.so.0
    libsmpeg-0.4.so.0.1.4
    libstdc++.so.6
    libstdc++.so.6.0.7
    libvorbisfile.so
    libvorbisfile.so.3
    libvorbisfile.so.3.1.1
    libvorbis.so.0
    libvorbis.so.0.3.0
    libX11.so
    libX11.so.6
    libX11.so.6.2.0
    libXau.so.6
    libXau.so.6.0.0
    libXcursor.so
    libXcursor.so.1.0.2
    libXext.so
    libXext.so.6
    libXext.so.6.4.0
    libXfixes.so
    libXfixes.so.3.0.0
    libXinerama.so
    libXinerama.so.1.0.0
    libXi.so
    libXi.so.6.0.0
    libXrandr.so
    libXrandr.so.2.0.0
    libXrender.so
    libXrender.so.1.3.0
    libz.so.1
    libz.so.1.2.3
    list.txt

Page 2 of 6 FirstFirst 1234 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •