Difference between revisions of "GEOSCAPE.EXE"

From UFOpaedia
Jump to navigation Jump to search
Line 40: Line 40:
I've just downloaded the package from Direct2Disk.
I've just downloaded the package from Direct2Disk.
* Ufo Defense. Version 1.2 running under DOSBox. The installer takes care of all configuration and creates an icon for the game. I noticed some changes in the sounds. The intro seems to have been modified to include sounds from the game (weapons fire, doors opening). Sectoids don't make the high-pitched scream when killed, they sound more like Mutons. Maybe V1.2 is like this and I've never played it before? More on this as I keep playing
* Ufo Defense. Version 1.2 running under DOSBox. The installer takes care of all configuration and creates an icon for the game. I noticed some changes in the sounds. The intro seems to have been modified to include sounds from the game (weapons fire, doors opening). Sectoids don't make the high-pitched scream when killed, they sound more like Mutons. Maybe V1.2 is like this and I've never played it before? More on this as I keep playing.
= XCOM: UFO Defense (U.S. DOS) version 1.4 =
= XCOM: UFO Defense (U.S. DOS) version 1.4 =

Revision as of 17:15, 3 October 2009

The "Geoscape" program that handles base management and aircraft, a.k.a. XCOM outside of tactical combat. TACTICAL.EXE handles combat.

NOTE: In the WinCE version, GEOSCAPE and TACTICAL are one executable, "UFO Defense.exe". Due to this confusion (what wiki pages place things on, when they're practically identical), currently GEOSCAPE, TACTICAL, and UFO Defense information appear here. (Unless and until someone wants to break everything up... then again, having highly related stuff in one place is a good thing.)

Also see Versions.

X-COM Complete Packages

This entry is only a stub for the moment. We grognards on the wiki ask anyone who has bought one of the new packages to tell us things like:

  1. Who did you get it from - GamersGate, Steam, or elsewhere? (If it is found that they're both selling the exact same package, we'll say so here.)
  2. What version of X-COM UFO Defense is included? Probably the Win CE version (below), yes?
  3. Any trouble installing, or other considerations to keep in mind?
  4. Any problems versus what you expect from X-COM? (if you played it before, or have been reading this wiki, or whatever)

Et cetera. This info is intended to help those who might buy the packages in the future, and is also intended to tell us old hands what's in the package.

Once we get 3-5 mini-reviews, we'll remove these italicized comments, and collapse reviews into a more "wiki-like" overview. (We'll include a link to the time/version when you posted individual reviews.) So, newcomers who bought the Complete Package, please make a new "Review #(next #)" section below, with a summary review. And see the new Talk:GEOSCAPE.EXE#New Bundles section for more in-depth Q&A and comments.

If any of you have the ability to make comments on Steam or GamersGate that are tacked onto the new X-COM bundles, please post a comment letting people know about this wiki. www.UFOpaedia.org, loud and proud. It's 1999. We're here to save Earth.

Thanks, and welcome!

wfames, elliotw2, or other new Complete Package folks - please put your comments under a heading like the one below - thanks! -MikeTheRed 03:51, 19 January 2009 (CST)

Review #1 by wfames

Everything seems fine except for psionics. Soldiers in both original X-Com and TFTD do not seem to gain any Psi Skill for either successful or unsuccessful mind control attempts. MC also never seems to work more than once in any given battle. Makes psionics practically useless. It's still a great game, even with that frustration, though.

Review #2 by Draco Cracona

Had MC in TFTD work multiple times in one battle with the steam version and seemed like MC-Str was going up faster with those using it (can check tomorrow night) - they definately got some TUs from just MCing; will try to check out some of the TFTD research bugs soon, although the magnetic navigation is available as soon as ion armour is done iirc, although I do remember needing a lobsterman nav for something, I didn't spend much time going from ion to magnetic ion and I saw no Tasoth Commanders. Seems like UFO still has the very annoying difficulty bug; will try it with Xcomutil soon and see if theres a difference. Not played apocalypse yet. Tried many times with decent MC-skill to MC terror units; never managed it - no idea if this happens in the original too though.

Review #3 by Muton commander

I've had the Steam version package for a while, but I've mostly played Apoc or UFO Defense, not TFTD. In Apoc, I've yet to see anything wrong with it so far, and in UFO Defense, It appears to be the original DOS version, as the Blaster Launcher can fire normally, with no Up Waypoint Bug (accidently tested to my dismay and the death of half of my squad). I'm going to go test TFTD more, as it is really what needs or seems to need to most attention on the Wiki.

Review #4 by Diegoba

I've just downloaded the package from Direct2Disk.

  • Ufo Defense. Version 1.2 running under DOSBox. The installer takes care of all configuration and creates an icon for the game. I noticed some changes in the sounds. The intro seems to have been modified to include sounds from the game (weapons fire, doors opening). Sectoids don't make the high-pitched scream when killed, they sound more like Mutons. Maybe V1.2 is like this and I've never played it before? More on this as I keep playing.

XCOM: UFO Defense (U.S. DOS) version 1.4

  • Is 382,957 bytes long for the virgin 1.4 executable
  • Has alien statistics starting at (non-offset) byte 379,729. There are 33 records of 39 bytes each. No alien names, though.
  • If you have installed XcomUtil, it may alter the length of GEOSCAPE. Does anybody have a modified version, so we can put the length here? --MikeTheRed
    • My XCOM Util GEOSCAPE size is 415,271 --Pi Masta
    • My XCOM Util GEOSCAPE size is still 382,957, Pi Masta I think is using 1.2, because that is the size of that file normally --hatfarm

XCOM Windows Collector's Edition

  • Variously called the Win CE or Gold version on the wiki
  • Is 495,616 bytes long
  • Starting at byte 648, reads:
XCOM: UFO Defense Gold Edition
This awesome game was compiled on Sep  8 1999 at 08:57:11
Copyright - 1999 Hasbro Interactive/MicroProse Software
Party on dude.
  • If you install XcomUtil, it separates your UFO Defense.exe into GEOSCAPE and TACTICAL executables. They are almost identical copies of UFO Defense.exe, however they start at the right place when run. This allows the game to closely mimick the Dos version by having its main loop run in a batch file.
  • Has alien statistics starting at (non-offset) byte 480,145 (75391x). There are 33 records of 39 bytes each. No alien names, though.
  • Has tank & inbuilt alien weapon stats at byte 447,868 (6D57Cx, see below).
  • Has the copy protection codes written in the manual starting at byte 475,176 (74028x) (despite the fact that the game stopped asking for these prior to the Windows port!).

Craft Stats

At offset 353,020 in X-COM 1.4 (DOS - modified by XCUtil), the aircraft statistics begin. In WinCE (XCUtil) this starts at hex offset 0x6F9A8 and Alien craft start at 0x6fa34. Emphyrio: start at 353014?, each entry 14 records of 2 bytes, 5 Xcom craft and then 8 Alien

Each Vessel Statistic is two bytes and is 0 through 65,535 (in UGE format), and go in the following order:

Pointer to craft name in ENGLISH.DAT
Weapon Pods
Maximum Speed
Damage (armor)
Size Class
Unknown (UFO only stat). Believed to be the base firing interval of the weapon
Unknown (UFO only stat). Value is roughly similar to score for destroying?
Weapon Range (in 1/8ths of km)(UFOs only)
Weapon Damage (UFOs only)

To help you find it in UGE, here are the various X-COM vessel section in UGE format:

Skyranger: 248 - 2 - 2 - 0 - 220 - 5 - 150 - 0
Lightning: 28 - 12 - 8 - 0 - 30 - 0 - 32 - 3
Avenger: 24 - 21 - 10 - 0 - 60 - 0 - 176 - 4
Interceptor: 52 - 8 - 3 - 0 - 232 - 3 - 100 - 0
Firestorm: 104 - 16 - 9 - 0 - 20 - 0 - 244 - 1

A bit below the Firestorm statistics are the stats for various Alien Ships, I'll probably do them later.

Here is a hex signature to help find the first alien craft record (Small Scout):

b2 02 64 00 02 00 98 08 0c 00 00 00 32 00

At offset 380,668 the Tank Statistics begin.

Armor Stats

At offset 369,898 in the DOS version; the personal armor statistics begin.

The Statistics are in two byte format and go in the following order:

Front Armor
Left Armor
Right Armor
Rear Armor
Under Armor

To help you find it in UGE, here are the various armor stats in UGE format:

Unarmored X-COM Personnel: 12 - 0 - 8 - 0 - 8 - 0 - 5 - 0 - 2 - 0
Personal Armor: 50 - 0 - 40 - 0 - 40 - 0 - 30- 0 - 30 - 0

So on, etc.

Alien Stats

This section is for the structure of the alien stats, as found in GEOSCAPE. For actual data and additional information, see the alien statistics page. Also see Zombie's excellent alien stats page at StrategyCore. (Have YOU made your StratCore and XCOMUFO accounts yet?)

Alien stats are found as 33 records of 39 bytes each, in all versions of X-COM. They are identical in all versions. This data actually represents the "core" alien stats; modifiers are used to determine the final stats relative to game difficulty level. (In most, but not all, cases, the core stats are the same as the Beginner level stats.)

Alien stats start in each version of X-COM at the following location. This is a byte count, not an offset; with counts, the first byte in the file is byte 1:

Version        Location
DOS 1.4         379,729  (GEOSCAPE.EXE)  
WinCE Gold      480,145  (UFO Defense.exe)
Playstation     501,212
TFTD            486,930

Alien names are not actually found in Geoscape; it just has 33 strings of data... the alien each string applies to has been inferred by matching against aliens in the game.

The 39 bytes correspond to the following values. For the below, statements also apply to TFTD, since it's relevant to understanding the bytes:

0: Race - Corresponds to Unitref[000]

1: Rank - Corresponds to Unitref[042]

2: Unknown - Always 0 - Corresponds to Unitref[011]

3: Can Fly - No Corresponding Unitref offset

4: TUs - Corresponds to Unitref[025]

5: Health - Corresponds to Unitref[026]

6: Energy - Corresponds to Unitref[027]

7: Reactions - Corresponds to Unitref[028]

8: Strength - Corresponds to Unitref[017]

9: Firing Accuracy - Corresponds to Unitref[023]

10: Throwing Accuracy - Corresponds to Unitref[024]

11: Melee Accuracy - Corresponds to Unitref[056]

12: Front Armor - Corresponds to Unitref[029]

13: Left Armor - Corresponds to Unitref[030]

14: Right Armor - Corresponds to Unitref[031]

15: Rear Armor - Corresponds to Unitref[032]

16: Under Armor - Corresponds to Unitref[033]

17: Unknown - Always 0 - Corresponds to Unitref[034]

18: Energy Recharge - Corresponds to Unitref[035]

19: Unknown - Always 0 - Corresponds to Unitref[036]

20: Unknown - Always 1 No Corresponding Unitref offset

21: Unknown - Always 0 - Corresponds to Unitref[046]

22: Unknown - Corresponds to Unitref[048] (see below)

23: Unknown - Corresponds to Unitref[052] (see below)

NOTE: For additional important info on the last two bytes, see Talk:UNITREF.DAT. My notes below do not take that info into account. For the moment though I'm leaving it as is. I sure wish we could figure the bytes out, and get rid of all the conjecture! - MikeTheRed 08:05, 6 November 2006 (PST)

These Unitref bytes ([48] and [52]) and now Geoscape Core values have long stumped us hardcore X-Commies. The two bytes always equal the same value for a given alien, including all aliens of the same race (the N's below). And, they're the same between Geoscape and Unitref. Clearly it must be important (or a goof!), but exactly what it is, who knows. Although this page is for X-COM, I've included TFTD in the hopes it helps folks - but it's been so long since I've played TFTD, I can't remember those units at all.

How's this for a thought?...

Dimension   Byte(s)

       X     22

       Y     23

       Z     24  (top when standing)
             25  (top when kneeling)
             26  (bottom)

Maybe they represent the "size in profile" ("width"), affecting likelihood to hit. A game could be tried with a target 20 squares away, set 22 and 23 alternately to 5 or 2 (or 1 or 0?), and see if it affects the successful shots percentage. 0 or even 1 might break the game, though.

Also, how do these values (2 to 5) correlate with the "pixel drawings" of units? I can't seem to find that info at the moment... aren't units and tiles defined as something like 16x16x28? If so, then perhaps the values (2 to 5) are multiplied by 3 or something to get their final "width" for bullet interception?? --MikeTheRed 05:20, 17 September 2006 (PDT)

I finally got the OSG (w00t!), and noticed the following: The section on weapon accuracy says (p. 221) that target size affects the chance to hit, and "the 'size' of each alien is listed along with all other alien statistics in Chapter 9". But the alien stats tables (p. 250 ff.) only lists Height as a possible 'size' stat, and the text write-ups don't otherwise address "target size" with any precision. This discrepancy - that Chapter 8 talks about size, but Chapter 9 only has height - might (might!) mean there are more variables that determine target area size, but somehow they didn't make it to the alien stats tables.
The description for Height (p. 249) does say, "Taller creatures are easier to hit than short ones are. An alien with a height of 40, for example, is twice as easy to hit as an alien with a height of 20." (Note: The tallest Height is actually 23. And also notice, Float is never mentioned.) This might mean only height affects this, or it could be read in a general way; other dimensions (X and Y in addition to Z) might also affect it.
Somebody should do some firing accuracy tests while hacking these potential X & Y bytes! But I still don't know how the values for [22] & [23] compare to what X-COM considers tile width... we know the Height byte accurately reflects the full range of possible values (0 to 23), but I doubt 5 is the full (pixel?) width of a tile. This might mean it's not width, then (or maybe [22] & [23] are added, or they are individually multiplied by 3 or something??) If anyone who knows about tile width could say something, I'd appreciate it. --MikeTheRed 11:24, 1 October 2006 (PDT)

In any event, here's a summary of bytes [22] and [23], in the hopes we can figure it out. They're always identical for a given race, and [22] always equals [23].

                 X-COM                            TFTD

         Value   Alien           N        Value   Alien           N

           2     Sectoid         6          2     Aquatoid        6   
                                                  Bio-Drone       1 
           3     Celatid         1                Tentaculat      1   
                 Chryssalid      1
                 Civilian        2          3     Calcinite       1   
                 Ethereal        3                Civilian        2   
                 Floater         6                Deep_One        1   
                 Muton           3                Gill_Man        4   
                 Snakeman        5                Tasoth          2   

           4     Cyberdisc       1          4     Coelacant       1   
                 Hovertank       1                Displacer       1   
                 Reaper          1                Hallucinoid     1   
                 Sectopod        1                Lobster_Man     5   
                 Tank            1                Triscene        1   
                                                  Xarquid         1 
           5     Silacoid        1  

24: Standing Height - Corresponds to Unitref[049]

25: Kneeling Height - Corresponds to Unitref[050]

26: Floating Height - Corresponds to Unitref[051]

27: Damage Modifier Category - Corresponds to Unitref[055]

This field is simply a look-up table, or more directly, a way to categorize the units into similar groups. The actual modifiers are listed elsewhere in the executable. A value of 1 indicates the second DM category, a value of 4 indicates the 5th, etc. The values of 2 and 3 are not seen in the alien stats as they refer to X-COM soldier armor info. I'm not sure about 13 as the Zombie's stats haven't been found yet, but there is a category in the DM's for it.

Category    Unit Type(s)
    0      Not for units, but is used for Terrain and Items
    1      Civilian, Sectoid, Celatid, Floater
    2      Personal Armor
    3      Power Suit, Flying Suit
    4      Tanks, Hovertanks
    5      Snakemen
    6      Ethereal
    7      Muton
    8      Silacoid
    9      Chryssalid
   10      Reaper
   11      Sectopod
   12      Cyberdisc
   13      Zombie

28: Psi Skill - Corresponds to Unitref[037]

29: Psi Strength - Corresponds to Unitref[057]

30: Bravery (encoded) - Corresponds to Unitref[059]

31: Motion scanner size - Corresponds to Unitref[061]

32: 1 for Cyberdisc, 0 for all others including TFTD... isn't "Explodes"; the TFTD Bio-Drone also explodes... - Corresponds to Unitref[071]

I edited the Cyberdisc's field to 0 and checked to see if it exploded. It still did. Obviously this field is for something else. I'll work on this some more. --Zombie 20:15, 15 September 2006 (PDT)

I have a theory. I vaguely remember something about Cyberdiscs cannot be stunned. Even if you poke it with a Stun Rod and bypass it's self-destruct, it still counts as a kill. Maybe this has something to do with it (as I also remember that none of the other aliens exhibit this behavior)?--amitakartok 12:55, 23 June 2009 (EDT)
Good thinking. But the Stun page shows that Cyberdiscs can be stunned. Checking Unitref.Dat byte 71 (hex 0x47) shows that, after Zombie posted his statement, there's been a lot of on its Talk page about this byte. -MikeTheRed 20:07, 2 July 2009 (EDT)

33: Unknown - Always 0 No Corresponding Unitref offset

34: Corpse type - Corresponds to Unitref[038]

35: Big unit (2x2) No Corresponding Unitref offset

36: Victory point score - Corresponds to Unitref[039]

37: Aggression - Corresponds to Unitref[044]

38: Intelligence - Corresponds to Unitref[073]

This data was just put together working heavily with Zombie and his great SC alien stats page.

Country Labels

Starting at offset 396480 (hex: 0x60CC0) are the records that contain the location of the labels for the country names on the world. In order they are X, Y, and English.dat index all signed short integers (6 bytes for each record). X should never be negative but between 0 and 2880, Y should be between -720 and 720 (See WORLD.DAT). The English.dat file, despite all other array indexes appears to start at 1 and not 0, thus a value of 611 in here represents index 610 in a zero based English.dat array. (It stands to reason that these work for the other language files as well)

File Templates

There appears to be 'templates' of some of the game files stored within this executable. Makes sense as initially no saved game files are present when installed. Here is a list of known positions and the corresponding file. Offsets are from DOS Version of the game patched with XComUtil

Offset (Hex) Offset (Dec) Length (Bytes) File
5AB28 371496 2112 RESEARCH.DAT
5B5E0 374240 272 FACIL.DAT
5B6F0 374512 1820 PURCHASE.DAT
5D894 383124 576 DIPLOM.DAT
5E48C 386188 1392 UP.DAT
5EB90 387984 84 ACTS.DAT
5FAC0 391872 2336 BASE.DAT
5FBB8 392120 5200 CRAFT.DAT

Possibly these are in-game data structures used to hold the current in-memory state, between game saves?

Detection Ranges

Detection ranges are hard coded into the executable at the following locations (Win CE / Gold edition):

Platform Address Data bytes Hex Range nm
Aircraft 591EA C8 00 x00C8 200 600
Hyperwave 59237 20 03 x0328 800 2400
Lg Radar 5926D EE 02 x02EE 750 2250
Sm Radar 59278 F4 01 x01F4 500 1500

Patching "88 13" to these locations = x1388 = 5000 range units = 15,000 nm pretty much gives that platform visibility over the whole world. Of course Small Radar still only has a 10% detection chance per half hour.

Battlescape Terrain List

In the UFO CE executable, offset 476156 (743FCx) marks the beginning of the WORLD.DAT terrain to battlescape terrain conversion list. 13 double byte values.

02 00 01 00 01 00 01 00 01 00 07 00 02 00 06 00 06 00 08 00 00 00 02 00 08 00

For example, a mission initiated in a GeoScape polygon of type 5 will be performed in battlescape terrain type 7 (mountains).

Note that jungle (type 00) missions in the north will end up as forest missions, and forest (type 02) missions in the south will end up as jungle missions. See offset 10 in GEODATA.DAT for the full battlescape terrain list.

Manufacturing stats

The original data for the product manufacturing information in PRODUCT.DAT is contained in the geoscape executable, at offset 355600 (for plain 1.4 version).

See Also