GEOSCAPE.EXE

From UFOpaedia
Revision as of 04:26, 17 September 2006 by Zombie (talk | contribs) (→‎Alien Stats: Bingo! Solved another unknown!)
Jump to navigation Jump to search

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.)

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

  • Is 382,957 bytes long
  • Has alien statistics starting at (non-offset) byte 379,729. There are 33 records of 39 bytes each. No alien names, though.

Can someone tell me - is this 382,957 version for a game that XcomUtil messed with? --MikeTheRed

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 run XcomUtil, it will separate your UFO Defense.exe into GEOSCAPE and TACTICAL executables
  • Has alien statistics starting at (non-offset) byte 480,145. There are 33 records of 39 bytes each. No alien names, though.
  • Has tank & inbuilt alien weapon stats at byte 447,868 (see below)

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.

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

1: Rank

2: Unknown - Always 0

3: Can Fly

4: TUs

5: Health

6: Energy

7: Reactions

8: Strength

9: Firing Accuracy

10: Throwing Accuracy

11: Melee Accuracy

12: Armor - Front

13: Armor - Left Side

14: Armor - Right Side

15: Armor - Rear

16: Armor - Underside

17: Unknown - Always 0

18: Energy Recharge

19: Unknown - Always 0

20: Unknown - Always 1

21: Unknown - Always 0

22: Equals Unitref[48] and [52], whatever they are (see below)

23: Equals Unitref[48] and [52], whatever they are (see below)

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.

I've made a nice summary below, in the hopes we can figure it out. Since we have other vertical dimensions directly after this (and note the proximity), at this point, I'm thinking perhaps it's width... for shooting purposes? ---MikeTheRed 19:26, 15 September 2006 (PDT)

                 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

25: Kneeling Height

26: Floating Height

27: Damage Modifiers

28: Psi Skill

29: Psi Strength

30: Bravery (encoded)

31: Motion scanner size

32: 1 for Cyberdisc, 0 for all others including TFTD... explodes? Zombie says TFTD Bio-Drone also explodes... it's EDIT time!

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)

33: Unknown - Always 0

34: Corpse type

35: Big unit (2x2)

36: Victory point score

37: Aggression

38: Intelligence

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

Weapon Stats

The following info is for the WinCE version (UFO Defense.exe), but presumably is identical in other versions. It is probably in TACTICAL.EXE for the DOS version.

For WinCE, the tank and inbuilt alien weapon stats start at byte 447,868. These are 8 records of 20 bytes each. They're all stored in 16-bit (2 byte) words.

0: Damage type

1: Damage

2: Firing costs, etc.

Hmm... Ethereal, can you turn this into the usual offset structure? I'm not sure I'll get it right. (20 words must be 10 fields, but I see only 9 for the RTL example) --MikeTheRed 18:22, 15 September 2006 (PDT)

For example, the rocket tank's launcher will have values of: 2 (high explosive), 12 (default ammo), 85 (damage), 55, 45, 0 (aimed, snap, and auto costs), 115, 75, 0 (aimed, snap, and auto accuracies), etc.

Weapons are in this order:

Tank/Cannon
Tank/Rocket Launcher
Tank/Laser
Hovertank/Plasma
Hovertank/Launcher
Celatid
Cyberdisc
Sectopod