Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

X-COM: UFO Defense

From PCGamingWiki, the wiki about fixing PC games
Revision as of 18:50, 12 September 2012 by Citadel (talk | contribs) (Robot: Cosmetic changes)

Template:Infobox

X-COM: UFO Defense is also known as UFO: Enemy Unknown and X-Com: Enemy Unknown.

Installing

Windows

The recommended methods are purchase a packaged DOSBox version of the game. It is currently available from Steam, this version is only Windows compatible at the moment, but can be easily ported to other operating systems. It is also possible to install games from disk (or the original files) using DOSBox, although i would recommend a graphical frontend for the tool.

Steam Version

The game is currently available for sale through Steam. It comes preinstalled with a DosBOX copy. The version as sold will enter full screen mode and has some graphical performance issues due to the settings being scaled wrong.

Mac

Using Windows Steam Version

It is recommended you read the recommended settings at the bottom of this article after installing if you experience any difficulties.

  1. Download the appropriate version of this tool.
  2. You will find the game files at this location:
     \Program\ Files\ \(x86\)/Steam/steamapps/common/XCom UFO Defense 
    If you do not have a windows computer to install this on, you can of course use Bootcamp, VMware Fusion or Parallels to install Steam and download the game, otherwise you can attempt to install via WINE, where you would need to install steam and install the game, then copy the game files, but that is beyond the scope of this guide. It is not advisable to run these games in WINe, as DOSBox is not heavily tested for this and it may introduce unexpected errors and break with upgrades.
    • If you are on the computer where you want to create the Mac port of the game, just leave a window witht he folder open, otherwise copy the files to the computer where you'd o want to do so.
  3. Open Boxer and click on "Import a new game"
  4. Inside the XCom: UFO Defence folder the is another refolded called "XCOM", drag this folder into the "Drop You're Games Here" window.
  5. Select SETUP.EXE as your installer.
  6. Accept all defaults using enter until you are prompted to Relaunch the installer or Finish importing. Press Finish importing.
  7. The game will important show you you're new Game.
  8. This Step is optional and may not be required, irt is recommended, and may fix any crashes.
    1. Right clock on the icon and click Show in Finder.
    2. In Finder click Show Package Contents.
    3. Copy "DOSBox Preferences.conf" into the Application bundle.
      • You scan copy the files from the "XCom: UFO Defence" folder and rename the file.
      • Or you can create a new file with that name, using these settings:
Default Steam File: DOSBox Preferences.conf
 [sdl]
# fullscreen -- Start dosbox directly in fullscreen.
# fulldouble -- Use double buffering in fullscreen.
# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
# windowresolution -- Scale the window to this size IF the output device supports hardware scaling.
# output -- What to use for output: surface,overlay,opengl,openglnb,ddraw.
# autolock -- Mouse will automatically lock, if you click on the screen.
# sensitiviy -- Mouse sensitivity.
# waitonerror -- Wait before closing the console if dosbox has an error.
# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest,pause (when not focussed).
#             Second entry behind the comma is for when dosbox is not focused/minimized.
# mapperfile -- File used to load/save the key/event mappings from.
# usescancodes -- Avoid usage of symkeys, might not work on all operating systems.

fullscreen=true
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper.txt
usescancodes=true

[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# captures -- Directory where things like wave,midi,screenshot get captured.

language=
machine=vga
captures=capture
memsize=32

[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.
#           Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x,
#                         2xsai,super2xsai,supereagle,advinterp2x,advinterp3x,
#                         tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.

frameskip=0
aspect=false
scaler=advinterp2x

[cpu]
# core -- CPU Core used in emulation: normal,simple,dynamic,auto.
#         auto switches from normal to dynamic if appropriate.
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
#           Setting this value too high results in sound dropouts and lags.
#           You can also let DOSBox guess the correct value by setting it to max.
#           The default setting (auto) switches to max if appropriate.
# cycleup   -- Amount of cycles to increase/decrease with keycombo.
# cycledown    Setting it lower than 100 will be a percentage.

core=auto
cycles=auto limit 8000
cycleup=500
cycledown=20

[mixer]
# nosound -- Enable silent mode, sound is still emulated though.
# rate -- Mixer sample rate, setting any devices higher than this will
#         probably lower their sound quality.
# blocksize -- Mixer block size, larger blocks might help sound stuttering
#              but sound will also be more lagged.
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=22050
blocksize=4096
prebuffer=14

[midi]
# mpu401      -- Type of MPU-401 to emulate: none, uart or intelligent.
# device      -- Device that will receive the MIDI data from MPU-401.
#                This can be default,alsa,oss,win32,coreaudio,none.
# config      -- Special configuration options for the device. In Windows put
#                the id of the device you want to use. See README for details.

mpu401=intelligent
device=default
config=

[sblaster]
# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.
# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.
# mixer -- Allow the soundblaster mixer to modify the dosbox mixer.
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.
#            On auto the mode is determined by sblaster type.
#            All OPL modes are 'Adlib', except for CMS.
# oplrate -- Sample rate of OPL music emulation.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=22050

[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the 
#            Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# gusrate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory.  In this directory
#             there should be a MIDI directory that contains
#             the patch files for GUS playback.  Patch sets used
#             with Timidity should work fine.

gus=true
gusrate=22050
gusbase=240
irq1=5
irq2=5
dma1=3
dma2=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandy -- Enable Tandy Sound System emulation (off,on,auto).
#          For auto Tandysound emulation is present only if machine is set to tandy.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation.

pcspeaker=true
pcrate=22050
tandy=auto
tandyrate=22050
disney=true

[joystick]
# joysticktype -- Type of joystick to emulate: auto (default), none,
#                 2axis (supports two joysticks), 4axis,
#                 fcs (Thrustmaster), ch (CH Flightstick).
#                 none disables joystick emulation.
#                 auto chooses emulation depending on real joystick(s).
# timed -- enable timed intervals for axis. (false is old style behaviour).
# autofire -- continuously fires as long as you keep the button pressed.
# swap34 -- swap the 3rd and the 4th axis. can be useful for certain joysticks.
# buttonwrap -- enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=true

[serial]
# serial1-4 -- set type of device connected to com port.
#              Can be disabled, dummy, modem, nullmodem, directserial.
#              Additional parameters must be in the same line in the form of
#              parameter:value. Parameter for all types is irq.
#              for directserial: realport (required), rxdelay (optional).
#              for modem: listenport (optional).
#              for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                             transparent, port, inhsocket (all optional).
#              Example: serial1=modem listenport:5000

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support.
# keyboardlayout -- Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=none

[ipx]
# ipx -- Enable ipx over UDP/IP emulation.

ipx=false

@echo off
mount c XCOM -freesize 1024
c:
cd XCOM
call ufocd.bat
exit 

If you are then prompted to select the file to run, when you attempt to start the application, select "xcom.bat".

Bugs

Difficulty Bug

The original version of the game has a bug which would run the game at the Beginner difficulty regardless of what the player actually selected. This bug went undetected until before the release of the sequel, at which time it was patched. The complaints regarding the game being too easy even at the highest difficulty setting led to the sequel's difficulty being scaled up so much that it's easiest difficulty was harder than the intended hardest difficulty for this game. The patch is included in all Steam versions of the game.

Recomended Settings

DOSBox Settings

In order to improve performance in DOSBox, it is recommended you set the following in the dosbox.conf file:

 output=opengl
 memsize=64
 cycles=auto limit 10000

The settings will not be found grouped together, but will each be in a different category throughout the document. Search for the name in order to find the setting to change.

Running X-COM with UFO Extender plus XcomUtil

The UFO Extender program allows the game to run without DOS or DOSBOX, providing a mouse-resizable window and a smoother-running, more responsive screen than DOSBOX. It also supports the use of higher-quality .mp3 music from the Playstation release, and keyboard shortcuts. XcomUtil provides bug fixes, including for the disjointed-base bug, and additional ease-of-use features like the automatic re-equipping of soldiers before a mission and appending rank and stat info to soldier names.

Both also offer many gameplay modifications such as enhanced weaponry, different starting-base layouts, and randomized terrain and UFO layouts. These are all optional and turned off by default.

The programs are confirmed to run on Windows 7 as well as older operating systems, and with the Steam release.

XcomUtil supports the UFOExtender launcher, but assumes the use of DOS or DOSBOX at several points in the installation process, so specific steps are required to run them simultaneously:

  1. Install X-COM. If installing from CD, make sure it is a full installation.
  2. Download the UFO Extender loader "UFOLoader.zip", available at this Ufopaedia page, and extract it directly to the folder "XCOM", which is inside the base install folder (e.g. "Xcom UFO Defense") in distributions with DOSBOX.
  3. In the "XCOM" folder open the file "UFOExtender.ini" with Notepad, find the line "D3D=0" and change it to "D3D=1" and change the value of "D3D Windowed" from 0 to 1. Save and close the modified .ini file.
    • On Windows 7 and Vista, you'll only be able to run this mod combo in a window. It will launch work once in fullscreen, and not again subsequently. (The window can be maximized though.)
    • If you do not wish to install XcomUtil as well, stop here, and you may run the game by launching "UFOLoader.exe" in the "XCOM" folder.
  4. Download the XcomUtil install file, currently "XcomUtil 9.7 Beta-442.exe", available at the downloads page at Bladefirelight.com. Run this file, again directly selecting the "XCOM" folder as the install location. If unavailable, use this .zip file for build 442, extract it into the XCOM folder, and then run XcuSetup.bat.
  5. XcomUtil setup should now be running in a cmd.exe window. If the cmd.exe screen appears blank, right-click on its title bar and select Properties. Under the Colors tab set "Screen Text" to a contrasting color from "Screen Background".
  6. When asked if you wish to configure XcomUtil now, enter "yes" and allow the program to run.
    • XcomUtil setup may also ask Steam users if they wish to use XcomUtil when X-COM is launched from Steam. However, launching from within Steam will still launch DOSBOX instead of the UFO Extender launcher, so select "no". You cannot launch with UFO Extender from Steam's menu.
  7. On the screen that says "Windows 7/Vista has Issues displaying DOS/Win. On startup you get a blank screen..." enter "no" to decline installing the patch suggested.
  8. Enter "yes" when asked if you wish to enable the use of UFO Extender when you launch the game.
  9. Continue answering the rest of the prompts with the options you prefer. If you do not wish to change gameplay, you can still enable the re-equipping of soldiers before each battle with their last set of items, and the automatic addition of useful information to soldier name strings after battles. Info on all the options can be found in the "XcomUtil.txt" file in the "XComUtil" folder.
  10. If you want to change these options, run setup again by launching "XcuSetup.bat" in the "XCOM" folder. You can also do this after starting a game.
  11. You may now launch the game by running "RunXCom.bat" (not "XCOM.bat") in the "XCOM" folder.
    • If you are running Steam do not launch X-COM directly from its menu.
    • Do not run the file "xcomutil.exe" to launch the game. It will not work outside DOS or DOSBOX. Xcomutil.exe simply provides a launch menu, with options for running the Xcomutil setup and the X-COM sound programs.
  12. Set additional UFO Extender options as you see fit by altering UFOextender.ini with Notepad. Information can be found here. In the provided download, all options are off by default, including enhancements that do not affect gameplay. You may enable Geoscape and Battlescape keyboard shortcuts and the stat display on the equip screen by setting the appropriate "Apply" values from 0 to 1, and set the keyboard shortcuts.
  13. To use the enhanced music from the Playstation version of the game, download the appropriate .mp3 files found here (right-click and select to save the links). Place them together in a new folder inside your XCOM folder. Name the new folder "mp3". Open "UFOExtender.ini" with Notepad and under the "Music" heading set "Apply" from 0 to 1. Set the track names to match those in the new mp3 folder. The .ini file should appear similar to the excerpt below. The Playstation files include additional Geoscape music; you may choose to set up different tracks:
UFOExtender.ini suggested music settings
[Music]
Apply=1
Source=MP3
;Source=PSX CD

CD Drive=F

MP3 Folder=mp3
Battlescape=X-COM UFO Defense PSX - 10 - Battlescape1.mp3
Start Menu=X-COM UFO Defense PSX - 09 - Final Briefing.mp3
Bad Ending=X-COM UFO Defense PSX - 09 - Final Briefing.mp3
Good Ending=X-COM UFO Defense PSX - 12 - Mission Accomplished.mp3
Geoscape=X-COM UFO Defense PSX - 01 - Geoscape1.mp3
Dogfight=X-COM UFO Defense PSX - 08 - Dogfight.mp3
Mission Debriefing=X-COM UFO Defense PSX - 07 - Debriefing.mp3
UFO Assault=X-COM UFO Defense PSX - 05 - Briefing1.mp3
Base Defense=X-COM UFO Defense PSX - 06 - Briefing2.mp3
Base Attack=X-COM UFO Defense PSX - 05 - Briefing1.mp3
Mars=X-COM UFO Defense PSX - 07 - Debriefing.mp3
Terror Mission=X-COM UFO Defense PSX - 06 - Briefing2.mp3

System Requirements

Template:SysReq