Difference between revisions of "UFOextender"

From UFOpaedia
Jump to navigation Jump to search
Line 24: Line 24:
 
== Some Disclaimers==
 
== Some Disclaimers==
 
:'''Extender and ET_2005 or other modified executables''': These may work together but there is no guarentee. ET_2005 heavily modifies the binary and trying to patch on top of it is quite hazardous. Some stuff may work, some other may not; you're on your own there.
 
:'''Extender and ET_2005 or other modified executables''': These may work together but there is no guarentee. ET_2005 heavily modifies the binary and trying to patch on top of it is quite hazardous. Some stuff may work, some other may not; you're on your own there.
:'''DAT file mod requests''': DAT files modifications are not done because there are already lots of mods of them and data editors available. This allows all data mods to keep working with the loader (that is why some xcomutil features should still work, as long as they are those only based on resource modifications).
+
:'''DAT file mod requests''': DAT files modifications are not done because there are already lots of them and various data editors available to do them for yourself. This rule allows all data mods to keep working with the loader (that is why some xcomutil features should still work, as long as they are those only based on resource modifications). Any bug fix that changes some resource data in order to compensate for the fix provided will have an option to exclude the data change so that any player changes will not be overwritten.
  
 
For the curious out there, Seb's source is available here: [[Image:UFOExtender-src.zip]].
 
For the curious out there, Seb's source is available here: [[Image:UFOExtender-src.zip]].

Revision as of 04:19, 1 October 2012

This is the loader written for Enemy Unknown by Seb76 which adds functionalities and fixes to the Collector's Edition (a.k.a. CE or Gold Edition) of the game. This program only works with the Windows version and will not work through DOSbox. Furthermore, a version compatible with DOS will not be created due to difference in memory management used.

UFO Extender

The loader patches the program in memory, it does not modify the executable. The advantage is that it won't change the file on disk so there is little risk of destroying your game installation (still, it is wise to do a backup of your game folder before using this). Modifications are seamless: there is no need to restart or wait for a geoscape/tactical transition to see the effect of the patches. Of course, if your computer stops responding and starts singing "Daisy Bell", I don't take any responsability...

Do not hesitate to report any problem you encounter with it, I'll try to help you fix it.--Tycho

Installation

  • You need a program that can extract zip files.
  • You need the VC2008 runtime to run this program. If you don't already have it installed, you can get it here.
  • If you wish to use enhanced music, you need to have Window Media Player installed.
    • For enhanced music, you will need to create a folder called MP3 in the same folder as your UFO Defense executable. Copy the music files to this folder.
  • Download the appropriate version and/or patches. File:UFOLoader.zip
  • Extract these files into the game folder containing the UFO Defense.exe (or whatever the windows version of Enemy Unknown executable is on your machine.)
  • Using a simple text editor, like Notepad, open the INI file and enable the options you wish to use. By default, only a few options are enabled. For most options, you enable it by changing the value from zero to one.
The extender looks for the file UFO Defense.exe but this can be changed under the [Loader] section.
Some mods have multiple options. Refer to this page for detailed information on each one in the INI file.
You may have to leave certain options disabled if you intend to run the extender with other mods, such as XComUtil.
  • Run UFOloader.exe instead of UFO Defense.exe.

Some Disclaimers

Extender and ET_2005 or other modified executables: These may work together but there is no guarentee. ET_2005 heavily modifies the binary and trying to patch on top of it is quite hazardous. Some stuff may work, some other may not; you're on your own there.
DAT file mod requests: DAT files modifications are not done because there are already lots of them and various data editors available to do them for yourself. This rule allows all data mods to keep working with the loader (that is why some xcomutil features should still work, as long as they are those only based on resource modifications). Any bug fix that changes some resource data in order to compensate for the fix provided will have an option to exclude the data change so that any player changes will not be overwritten.

For the curious out there, Seb's source is available here: File:UFOExtender-src.zip.

Extender INI references

Equipment Screen

This patch changes the equipment screen. It effectively renders statstrings obsolete ;-)

  • Before battle, it changes the screen like this (in the final version, the psi stats are only shown when the psi skill has been trained):

Equip.png

  • During a mission, it looks like this:

Ingame.png

  • You can also have the rank shown:

Rank.png

(The "Weight>" at the bottom is only because I use a modified english.dat with an old patch, you should not see it in your version)

  • Show Grenade State: if you select a primed grenade, it'll be indicated in the description
  • Save Equipment: automatically reequip your team with their last weapon layout (HIGHLY EXPERIMENTAL). New recruits will be given a gun and some ammo but nothing outstanding. Don't forget to properly equip them
  • Auto Flares: automatically equip flares (if available in the craft) during night missions (only works with Save Equipment)

Music

PSX CD

If you have the PSX version of the game, you can enjoy the CD music with this patch. The tracks are mapped like that:

  • 1,2,3,4: geoscape music
  • 5: gmdefend
  • 6: gmenbase
  • 7: gmmars
  • 8: gminter
  • 9: gmstory
  • 10,11: battlescape music
  • 12: gmnewmar

gmwin and gmlose are not available. Because of similarity, gmlose is replaced with gmstory and gmwin with gminter.

I'm just wondering if it would be an idea to providing a selectable option that allows you to mix up the tactical music to include some of the other tracks as well, like the Geoscape tracks or gmstory. Breaks up the monotony a bit and can sometimes change the mood of the battle. But leave that until after you've achieved what you're setting out to achieve.
The intro should stick with the midi music, or you could use the interception music since that is a remix of the intro. On second though, scrap that - it lacks the slow buildup that is a major part of the intro.
P. S. Oh, and don't forget that the PSX music tracks start from track 02. -NKF
Hehe, you should have posted this yesterday. I lost one hour banging my head in a why-the-hell-does-it-play-interception-music-in-the-menu way before I realised that ;-) The intro music does not use the same mecanism as ingame music so it is not impacted by the modification. As for your suggestion, well the patch is written in C and mciSendString is flexible enough to allow stuff like that I think. The most difficult part is to define what we want... I'll however update with the current version and keep that improvement for later.

MP3 music

If you have mp3 music files available for the game, you can use them instead of the default MIDI ones (see default ini file as an example). Note that the intro music will still use the original files.

Wreck Analysis

Until the construction of hyper-wave decoders, it is impossible to know what missions aliens are performing. Even after recovering an alien ship, XCOM intelligence is unable to determine what was its purpose. This is no longer true. Salvaged navigation modules can now be analysed and may reveal what evil intentions the aliens had:

Wreck analysis.png

The probability of retrieving the information is based on the difficulty and on the number of UFO navigation items recovered from the mission. UFO mission and geographical zone can be discovered individually too.

Roswell mod

Make scout ships possibly crash during their missions:

Roswell.png

It can happen to all scouts, either detected or not. Crashed UFOs will be made visible so that you can initiate recovery missions.

Base Disjoint Bug

Disjoint.png

Base Building Stacking

You can place base stuctures in advance. The construction will start when possible:

Queue1.png Queue2.png

Funds are credited when you place an element. No refund is possible. There might be some issues with 2x2 structures, report any problem you encounter.

Heavy Laser

This adds 2 firing modes to the heavy laser (which sucks big time by default :p):

  • Burst mode: you select 3 target points, and the soldier will shoot a 5 shots burst (on each and between points)

Burst1.png Burst2.png Burst3.png

  • Full auto: you select 2 points, the soldier will spray the area inbetween with 8 shots

Fullauto1.png Fullauto2.png Fullauto3.png

  • Firing the weapon will cost 50 energy

Range Based Accuracy

This modifies the accuracy based on the distance from the target. The accuracy decreases linearly (2% per tile) when shooting beyond the limit of the firing mode:

  • auto shot: 7 tiles
  • snap shot: 15 tiles
  • aimed shot: no penalty

These values should be considered as a first draft; they are configurable in the ini file so feel free to test other settings and report back if you find good ones.

Acc0000.png Acc0001.png Acc0002.png

Stun Fest

Add the "Stun" command in the menu for most weapons. The TU/Damage is based on the weapon's class:

Weapon ClassStun DamageTU %s
Pistols2015
Rifles and small launcher5040
"Heavy" weapons and auto-cannon6550
Launchers8080
Stun Rod (unchanged)6530

Bug Fixes

Shortcuts

Enable keyboard shortcuts. The keymap is qwerty.

Default key mapping in geoscape

  • UpArrow: Rotate Up
  • DownArrow: Rotate Down
  • LeftArrow: Rotate Left
  • RighArrow: Rotate Right
  • MouseWheelUp: Zoom In
  • MouseWheelDown: Zoom Out
  • 1: Geo Speed1
  • 2: Geo Speed2
  • 3: Geo Speed3
  • 4: Geo Speed4
  • 5: Geo Speed5
  • 6: Geo Speed6
  • MouseMiddle: Intercept
  • B: Bases
  • G: Graphs
  • U: Ufopaedia
  • Escape: Options
  • F: Fundings

Default key mapping in battlescape

  • UpArrow: unit goes up
  • DownArrow: unit goes down
  • LeftArrow: left menu
  • RightArrow: right menu
  • Return: end of turn
  • Escape: options menu
  • BackSpace: go to next unit, remove current from the queue
  • Tab: go to next unit
  • Space: go to inventory
  • PageUp: view goes up one level
  • PageDown: view goes down one level
  • 1: reserve mode off
  • 2: reserve mode snap
  • 3: reserve mode auto
  • 4: reserve mode aimed

Key names

Standard keys (A, 2, etc) are indicated as-is, the following "special" keynames are available (case insensitive):

  • Back
  • BackSpace
  • Back Space
  • Tab
  • Clear
  • Return
  • Enter
  • Shift
  • Control
  • Menu
  • Pause
  • Escape
  • Space
  • Prior
  • PageUp
  • Next
  • PageDown
  • End
  • Home
  • Left
  • Up
  • Right
  • Down
  • Print
  • Insert
  • Delete
  • Num0
  • Numpad0
  • Num1
  • Numpad1
  • Num2
  • Numpad2
  • Num3
  • Numpad3
  • Num4
  • Numpad4
  • Num5
  • Numpad5
  • Num6
  • Numpad6
  • Num7
  • Numpad7
  • Num8
  • Numpad8
  • Num9
  • Numpad9
  • Multiply
  • Add
  • Separator
  • Subtract
  • Decimal
  • Divide
  • F1
  • F2
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12
  • MouseMiddle
  • MouseWheelUp
  • MouseWheelDown
  • MouseWheelLeft
  • MouseWheelRight

If you need a key not listed here and you know its VK_* code, you can specify it with it's hex value (e.g. 0x90 for num lock)

The implementation is rather messy, expect side effects and report them...

Mods

  • Hot grenades: they do explode even when held...
  • Alien Inventory: access to mind controlled units' inventory is granted
  • Crafts Always Ready: allow crafts to take off even when not 100% refueled/rearmed/repaired
  • Aliens do not seem to care if you assault a landed UFO. You can now have them retaliate as if their ship was shot down. Note that this was not extensively tested so feel free to report any odd thing that may happen when this patch is activated!!
  • Skippable intro movie
  • Why can't we use alien weaponry without researching? After all a gun's a gun, you just pull the trigger... A new hack was added for this. When activated, you can use all alien items you recovered. Of course you still do need to research items before you're able to manufacture them!
  • No Blaster Bomb Drift: disable the randomness applied to blaster bomb trajectories between waypoints. It'll solve drifting issues experimented with the blaster launcher, but also make aliens even more deadly with that weapon since the hard coded accuracy of 55% they have won't affect their shots anymore
  • Recover All Clips: recover all clips after tactical phase, even those that have been used (does not recover completely depleted ones)
  • No Alien Psi: no more psi trouble when fighting sectoids/ethereals
  • Kill stunned units in explosions: usually, unconscious units just disappear when they blow up. Now you can score a kill when you blast stunned units (with the experience, morale and all the stuff that goes with it).

Blasted1.png Blasted2.png

In case of XCom units destroyed that way, they'll no longer go MIA but KIA

  • Keep Base Navigation Modules: do not remove navigation controls from recovered items after a successful base assault
  • More Smoke: set the limit of smoking tiles to 2048 (up from 400). I don't expect this to work perfectly on the first try; smoke is referenced on lots of places and I'm not sure I patched everywhere needed. Report what works and what fails
  • Force Language: tired of selectin your language every time your start the game? This is for you
  • Funding Council Income Only
  • Surrender Defence Missions
  • Disable Base Defenses: disable the base defence mecanism. Why delay the inevitable? A battle ship will eventually come through... Useful if you want to use some defence modules for tactical purposes
  • Initial Alien Bases without the trouble of setting things up
  • Show grenades primed status
  • Faster base defense sequence: remove the wait periods during base defense sequence. The need to press the button can be removed too
  • Reorder soldiers in craft

SoldiersPosition.png

If you hold the mouse button for more than 200ms when clicking, the soldier will be moved to the top/bottom of the list. Now you can force rookies on the front line... It also enables you to check the soldier's stats by clicking on his name.

  • Line of fire restriction for psiamp and mind probe. Of course the aliens are not impacted
  • Change initial base layout
  • Change experience caps
  • No Funkers: only guys that went on the last mission are checked for promotion
  • Bloodthirst: compute the "promotion score" based on killing stats only
  • Limited Military
  • De equip crafts

Deequip.png

  • TFTD Doors: open a facing door by right-clicking. It'll cost you 4 TUs
  • Assign all personnel (scientists/engineers) on a project by decreasing quantity below zero (à la ET)
  • HQ4x: raise the resolution of the game and apply some filtering. It is quite CPU intensive though...
  • D3D: replace DirectDraw calls to Direct3D9. It sets the monitor to its default resolution and uses D3D to stretch the image on screen. It may also fix the speed issues if your video driver is configured properly. With version 1.28, this is the default setting.Tycho 04:42, 23 September 2012 (EDT)
  • D3D Windowed: run the game in a window Default setting with version 1.28Tycho 04:42, 23 September 2012 (EDT)
  • Always On Top: force the window in the foreground
  • Clip Cursor: prevent the cursor from going outside the window. Move/resize the window to unlock it. With version 1.28, this function should work with all version of Windows. Two modes: 1=Tactical only. Mouse only clipped in Battlescape. 2=Constant. Mouse is always confined to the window. Note: Mouse is not confined on initial screens until a game is started.[Default=1] Tycho 04:42, 23 September 2012 (EDT)
  • Scale Mouse: attempt to fix the cursor running off screen when using HQ4x and/or D3D
  • Screen Ratio: add black bars to keep aspect ratio on non 16/10 monitors (based on patch from mikawo)
  • No Auto Wake Up: stunned unit still have their stun level decrease, but they won't wake up on there own
  • Alien Bleeding: aliens suffer from fatal wounds
  • No Alien Freak Out Messages: don't show "Alien Commander has panicked" and the like messages
  • Max FPS: limit the framerate for the ones that cannot get vsync working. Not as smooth as vsync limited, but better than nothing (only works with D3D or Video Pitch enabled)
  • Craft Ready Message: notify when a craft is ready

CraftReady.png

  • CPU Mask: force the process on a specific processor (1 is processor 0, 2 is processor 1, 4 is processor 2, etc)
  • High Priority: run XCOM with "above normal" priority
  • General Store Capacity: change the capacity of general stores (default is 50). Capped at 187 to prevent integer overflows.
  • Auto Sell: allows the player to activate an automatic production and automatic selling mode in manufacturing. By pressing the down arrow button to reduce the quantity of desired items below zero, the mode will switch to the autosell mode, represented by three dollar signs ("$$$"). In this mode, production will never cease unless resources become unavailable, and all produced items will be immediately sold. By pressing the down arrow a second time, it will switch to autoproduce mode, represented by three asterisks ("***"). This functions in the same way as autosell, but the results will not be sold, merely stockpiled forever; caution should be used with this mode, as it can drain resources quickly
  • Show Money: shrink the clock in the date/time panel on the main geoscape screen, and adds a funds display above it. It is useful for examining remaining funds during manufacturing projects, while waiting for time to pass.
  • Doubleclick Movement: change the requirement for moving a unit in the battlescape from clicking a tile once, to doubleclicking it (within 500ms). Failing to doubleclick will result in no action being taken. This allows for a considerable safety margin with movement, as the default movement controls are easy to accidentally trigger on the wrong tiles.

OBDATA.DAT patching

Change the value of some OBDATA.DAT settings on the fly. To change a value, add a line "itemname setting=value" (without the quotes). For example:

High Explosive Damage=200

Available settings:

  • Damage
  • Resistance (to explosions)
  • Weight
  • Damage Type
  • Auto accuracy
  • Snap accuracy
  • Aimed accuracy
  • Auto TUs
  • Snap TUs
  • Aimed TUs
  • Size (clip size)

Item names are case insensitive and available at OBDATA.DAT.

Hacks

These hacks heavily alter the gameplay and should only be used for testing purpose.

  • Prevent game over when score is really bad at the end of the month
  • Big brother: all shall be revealed ;-)
  • Alien pets: Alien turn handed over to the human player
  • Show All Locations: displays all active locations, detected or not
  • FPS: show an FPS counter in the geoscape. Mostly used for debugging D3D