Duke3D

From DingooWiki

Jump to: navigation, search
Duke3d
Platform(s): Dingoo-Linux
Download(s): Dingoo File Archive
Developer(s): joyrider
Version: unknown, uploaded 06/13/2009
Status: Released, works well
Homepage: Duke 3D Linux

Duke3D is the engine for Duke Nukem 3D. The engine has now been ported to the Dingoo, and so with the files for Duke Nukem 3D 1.4, you can play Duke Nukem 3D on your Dingoo.

Contents

[edit] Installation Guide

Make sure wherever you're placing Duke3D is writable, and make sure you can run whatever commands necessary to open Duke3D. Reading the Post-Installation Dual Boot guide is recommended.

[edit] Needed Files

Extract the Duke3D archive. Copy the Duke3D executable to a folder where you plan on running it from. Then, from a shareware version of Duke Nukem 3D, or from your own copy of Duke Nukem 3D (available from GoodOldGames for $6), copy the following files to the same directory as the Duke3D executable:

  • defs.con
  • duke.rts (not sure if this file is necessary, please test)
  • duke3d.grp
  • game.con
  • ultramid.ini (not sure if this file is necessary, please test)
  • user.con

Save the following to the file "duke3d.cfg" to the same directory as all these other files (depending on the source of your files, duke3d.cfg might be in all capital letters. DO NOT save it like this. It must be in lowercase letters! If you don't save it in lowercase letters, you'll find that Duke3D will give you an error saying that it can't find the duke3d.cfg file in the /root/.duke3d directory. If you copy the DUKE3D.CFG file to that directory, it'll run, but then you'll reach a blank screen. So, make sure the cfg file is named "duke3d.cfg"):


[Setup]
SetupVersion = "1.4"

[Screen Setup]
ScreenMode = 1
ScreenWidth = 320
ScreenHeight = 240
Shadows = 1
Password = ""
Detail = 1
Tilt = 1
Messages = 1
Out = 1
ScreenSize = 8
ScreenGamma = 16

[Sound Setup]
FXDevice = 0
MusicDevice = 0
FXVolume = 228
MusicVolume = 224
NumVoices = 8
NumChannels = 2
NumBits = 16
MixRate = 16000
MidiPort = 0x330
BlasterAddress = 0x220
BlasterType = 4
BlasterInterrupt = 7
BlasterDma8 = 1
BlasterDma16 = 5
BlasterEmu = 0x640
ReverseStereo = 1
SoundToggle = 1
VoiceToggle = 1
AmbienceToggle = 1
MusicToggle = 1

[KeyDefinitions]
Move_Forward = "Up" "Kpad8"
Move_Backward = "Down" "Kpad2"
Turn_Left = "Left" "Kpad4"
Turn_Right = "Right" "KPad6"
Strafe = "LAlt" "RAlt"
Fire = "RCtrl" "LCtrl"
Open = "Space" ""
Run = "/" "LShift"
AutoRun = "CapLck" ""
Jump = "Z" "/"
Crouch = "X" ""
Look_Up = "PgUp" "Kpad9"
Look_Down = "PgDn" "Kpad3"
Look_Left = "Insert" "Kpad0"
Look_Right = "Delete" "Kpad."
Strafe_Left = "," ""
Strafe_Right = "." ""
Aim_Up = "Home" "KPad7"
Aim_Down = "End" "Kpad1"
Weapon_1 = "1" ""
Weapon_2 = "2" ""
Weapon_3 = "3" ""
Weapon_4 = "4" ""
Weapon_5 = "5" ""
Weapon_6 = "6" ""
Weapon_7 = "7" ""
Weapon_8 = "8" ""
Weapon_9 = "9" ""
Weapon_10 = "0" ""
Inventory = "Enter" "KpdEnt"
Inventory_Left = "[" ""
Inventory_Right = "]" ""
Holo_Duke = "H" ""
Jetpack = "J" ""
NightVision = "N" ""
MedKit = "M" ""
TurnAround = "BakSpc" ""
SendMessage = "T" ""
Map = "Tab" ""
Shrink_Screen = "-" "Kpad-"
Enlarge_Screen = "=" "Kpad+"
Center_View = "KPad5" ""
Holster_Weapon = "ScrLck" ""
Show_Opponents_Weapon = "W" ""
Map_Follow_Mode = "F" ""
See_Coop_View = "K" ""
Mouse_Aiming = "U" ""
Toggle_Crosshair = "I" ""
Steroids = "R" ""
Quick_Kick = "`" ""
Next_Weapon = "'" ""
Previous_Weapon = ";" ""

[Controls]
ControllerType = 0
JoystickPort = 0
MouseSensitivity = 3072
ExternalFilename = "EXTERNAL.EXE"
EnableRudder = 0
MouseAiming = 1
MouseAimingFlipped = 1
MouseButton0 = "Fire"
MouseButtonClicked0 = ""
MouseButton1 = "Jump"
MouseButtonClicked1 = "Open"
MouseButton2 = "Move_Forward"
MouseButtonClicked2 = ""
JoystickButton0 = "Fire"
JoystickButtonClicked0 = ""
JoystickButton1 = "Strafe"
JoystickButtonClicked1 = "Inventory"
JoystickButton2 = "Run"
JoystickButtonClicked2 = "Jump"
JoystickButton3 = "Open"
JoystickButtonClicked3 = "Crouch"
JoystickButton4 = "Aim_Down"
JoystickButtonClicked4 = ""
JoystickButton5 = "Look_Right"
JoystickButtonClicked5 = ""
JoystickButton6 = "Aim_Up"
JoystickButtonClicked6 = ""
JoystickButton7 = "Look_Left"
JoystickButtonClicked7 = ""
MouseAnalogAxes0 = "analog_turning"
MouseDigitalAxes0_0 = ""
MouseDigitalAxes0_1 = ""
MouseAnalogScale0 = 0
MouseAnalogAxes1 = "analog_moving"
MouseDigitalAxes1_0 = ""
MouseDigitalAxes1_1 = ""
MouseAnalogScale1 = 0
JoystickAnalogAxes0 = "analog_turning"
JoystickDigitalAxes0_0 = ""
JoystickDigitalAxes0_1 = ""
JoystickAnalogScale0 = 0
JoystickAnalogAxes1 = "analog_moving"
JoystickDigitalAxes1_0 = ""
JoystickDigitalAxes1_1 = ""
JoystickAnalogScale1 = 0
JoystickAnalogAxes2 = "analog_strafing"
JoystickDigitalAxes2_0 = ""
JoystickDigitalAxes2_1 = ""
JoystickAnalogScale2 = 0
JoystickAnalogAxes3 = ""
JoystickDigitalAxes3_0 = "Run"
JoystickDigitalAxes3_1 = ""
JoystickAnalogScale3 = 0
GamePadDigitalAxes0_0 = "Turn_Left"
GamePadDigitalAxes0_1 = "Turn_Right"
GamePadDigitalAxes1_0 = "Move_Forward"
GamePadDigitalAxes1_1 = "Move_Backward"
GameMouseAiming = 0
AimingFlag = 0

[Comm Setup]
ComPort = 2
IrqNumber = 65535
UartAddress = 65535
PortSpeed = 9600
ToneDial = 1
SocketNumber = 65535
NumberPlayers = 2
ModemName = ""
InitString = "ATZ"
HangupString = "ATH0=0"
DialoutString = ""
PlayerName = "Cobra"
RTSName = "DUKE.RTS"
RTSPath = ".\"
UserPath = ".\"
PhoneNumber = ""
ConnectType = 0
CommbatMacro#0 = "An inspiration for birth control."
CommbatMacro#1 = "You're gonna die for that!"
CommbatMacro#2 = "It hurts to be you."
CommbatMacro#3 = "Lucky Son of a Bitch."
CommbatMacro#4 = "Hmmm....Payback time."
CommbatMacro#5 = "You bottom dwelling scum sucker."
CommbatMacro#6 = "Damn, you're ugly."
CommbatMacro#7 = "Ha ha ha...Wasted!"
CommbatMacro#8 = "You suck!"
CommbatMacro#9 = "AARRRGHHHHH!!!"
PhoneName#0 = ""
PhoneNumber#0 = ""
PhoneName#1 = ""
PhoneNumber#1 = ""
PhoneName#2 = ""
PhoneNumber#2 = ""
PhoneName#3 = ""
PhoneNumber#3 = ""
PhoneName#4 = ""
PhoneNumber#4 = ""
PhoneName#5 = ""
PhoneNumber#5 = ""
PhoneName#6 = ""
PhoneNumber#6 = ""
PhoneName#7 = ""
PhoneNumber#7 = ""
PhoneName#8 = ""
PhoneNumber#8 = ""
PhoneName#9 = ""
PhoneNumber#9 = ""
PhoneName#10 = ""
PhoneNumber#10 = ""
PhoneName#11 = ""
PhoneNumber#11 = ""
PhoneName#12 = ""
PhoneNumber#12 = ""
PhoneName#13 = ""
PhoneNumber#13 = ""
PhoneName#14 = ""
PhoneNumber#14 = ""
PhoneName#15 = ""
PhoneNumber#15 = ""

[Misc]
Executions = 37
RunMode = 0
Crosshairs = 1
WeaponChoice0 = 3
WeaponChoice1 = 4
WeaponChoice2 = 5
WeaponChoice3 = 7
WeaponChoice4 = 8
WeaponChoice5 = 6
WeaponChoice6 = 0
WeaponChoice7 = 2
WeaponChoice8 = 9
WeaponChoice9 = 1

[edit] Running Duke3D

Do what you must to make duke3d executable. If it's stored in your rootfs, run chmod +x on the executable. If it's stored on your fat partition, you have no worries.

Run the following command:

export SDL_NOMOUSE=1

If you don't want to have to run this command every time before playing Duke3D, or many other SDL based games, add that line to the file /etc/profile, or create the file /root/.profile in your rootfs and save that line to the file.

Then, run duke3d

./duke3d

Hit start a couple times and you should reach the menu.

[edit] Controls

[edit] Browsing menus

Dingoo Select Button Escape
Dingoo Start Button Enter
Dingoo X Button Space (useful for saving)

[edit] In-Game

Dingoo D-Pad Movement
Dingoo A Button Shoot
Dingoo X Button Interact with doors/objects
Dingoo Left Shoulder Button Change View
Dingoo Right Shoulder Button 180 Degree Turn

[edit] Media

Personal tools