UFO.EXE: - This is the main game file. Edit at your own risk. Much is unknown, but I hope to change that. Right now it just looks like base.dat's info.

Offset 00 to 6F1DD  - no idea. Any help would be appreciated.

Offset 6F1DE to 6F201 - Starting base layout default... like so:

/------------------------------------------------\
|
6F1DE | 6F1DF | 6F1E0 | 6F1E1 | 6F1E2 | 6F1E3 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F1E4 | 6F1E5 | 6F1E6 | 6F1E7 | 6F1E8 | 6F1E9 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F1EA | 6F1EB | 6F1EC | 6F1ED | 6F1EE | 6F1EF |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F1F0 | 6F1F1 | 6F1F2 | 6F1F3 | 6F1F4 | 6F1F5 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F1F6 | 6F1F7 | 6F1F8 | 6F1F9 | 6F1FA | 6F1FB |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F1FC | 6F1FD | 6F1FE | 6F1FF | 6F200 | 6F201 |
|          |          |          |          |          |          |
\------------------------------------------------/

The possible values are as follows:
00 - Access Lift
01 - Living Quarters
02 - Laboratory
03 - Workshop
04 - Small Radar System
05 - Large Radar System
06 - Missile Defense
07 - General Stores
08 - Alien Containment
09 - Laser Defense
0A - Plasma Defense
0B - Fusion Ball Defense
0C - Grav Shield
0D - Mind Shield
0E - Psionic Laboratory
0F - Hyper-wave Decoder
10 - Hangar (Top Left)
11 - Hangar (Top Right)
12 - Hangar (Bottom Left)
13 - Hangar (Bottom Right)
FF - Empty

Offset 6F202 to 6F225 - Days until complete for those are laid out like so :

/------------------------------------------------\
|
6F202 | 6F203 | 6F204 | 6F205 | 6F206 | 6F207 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F208 | 6F209 | 6F20A | 6F20B | 6F20C | 6F20D |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F20E | 6F20F | 6F210 | 6F211 | 6F212 | 6F213 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F214 | 6F215 | 6F216 | 6F217 | 6F218 | 6F219 |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F21A | 6F21B | 6F21C | 6F21D | 6F21E | 6F21F |
|          |          |          |          |          |          |
|------------------------------------------------|
|
6F220 | 6F221 | 6F222 | 6F223 | 6F224 | 6F225 |
|          |          |          |          |          |          |
\------------------------------------------------/

Possible values are 00 to FF. Empty spaces must have a FF value in it's corresponding offset.

The following are the rest of the offsets I know. There holes in the numbering but I have no idea what they are. All possible values are 00 to FF, but when you go over 32,766 (it looks like FE 7F but translates to 7F FE) on 2-byte values, the number goes negative. Any help would be appreciated. Also, if it's two bytes then the first byte is the low bit and the second bit is the high bit. Example: if it looks like this: 05 00, it reads like this: 00 05. Here's the info:

Engineer                     6F226 1 Byte
Scientist                    
6F227 1 Byte
Stingray Launcher       
6F228 - 2 Bytes
Avalanche Launcher     
6F22A - 2 Bytes
Cannon                      
6F22C - 2 Bytes
Fusion Ball Launcher     
6F22E - 2 Bytes
Laser Cannon              
6F230 - 2 Bytes
Plasma Beam               
6F232 - 2 Bytes
Stingray Missile            
6F234 - 2 Bytes
Avalanche Missile         
6F236 - 2 Bytes
Cannon Rounds            
6F238 - 2 Bytes
Fusion Balls                 
6F23A - 2 Bytes
Tank/Cannon               
6F23C - 2 Bytes
Tank/Rocket Launcher   
6F23E - 2 Bytes
Tank/Laser Cannon       
6F240 - 2 Bytes
Hovertank/Plasma         
6F242 - 2 Bytes
Hovertank/Launcher      
6F244 - 2 Bytes
Pistol                          
6F246 - 2 Bytes
Pistol Clip                    
6F248 - 2 Bytes
Rifle                           
6F24A - 2 Bytes
Rifle Clip                      
6F24C - 2 Bytes
Heavy Cannon              
6F24E - 2 Bytes
HC-AP Ammo                
6F250 - 2 Bytes
HC-HE Ammo                
6F252 - 2 Bytes
HC-IN Ammo                 
6F254 - 2 Bytes
Auto Cannon                
6F256 - 2 Bytes
AC-AP Ammo                
6F258 - 2 Bytes
AC-HE Ammo                
6F25A - 2 Bytes
AC-IN Ammo                
6F25C - 2 Bytes
Rocket Launcher           
6F25E - 2 Bytes
Small Rocket                
6F260 - 2 Bytes
Large Rocket                
6F262 - 2 Bytes
Incendiary Rocket         
6F264 - 2 Bytes
Laser Pistol                  
6F266 - 2 Bytes
Laser Rifle                    
6F268 - 2 Bytes
Heavy Laser                 
6F26A - 2 Bytes
Grenade                       
6F26C - 2 Bytes
Smoke Grenade             
6F26E - 2 Bytes
Proximity Grenade          
6F270 - 2 Bytes
High Explosive               
6F272 - 2 Bytes
Motion Scanner             
6F274 - 2 Bytes
Medi-Kit                       
6F276 - 2 Bytes
Psi-Amp                       
6F278 - 2 Bytes
Stun Rod                      
6F27A - 2 Bytes
Electro Flare                 
6F27C - 2 Bytes
Heavy Plasma               
6F28A - 2 Bytes
Heavy Plasma Clip         
6F28C - 2 Bytes
Plasma Rifle                  
6F28E - 2 Bytes
Plasma Rifle Clip            
6F290 - 2 Bytes
Plasma Pistol                
6F292 - 2 Bytes
Plasma Pistol Clip          
6F294 - 2 Bytes
Blaster Launcher           
6F296 - 2 Bytes
Blaster Bomb                
6F298 - 2 Bytes
Small Launcher             
6F29A - 2 Bytes
Stun Bomb                   
6F29C - 2 Bytes
Alien Grenade               
6F29E - 2 Bytes
Elerium-115                 
6F2A0 - 2 Bytes
Mind Probe                  
6F2A2 - 2 Bytes
Sectoid Corpse            
6F2AA - 2 Bytes
Snakeman Corpse         
6F2AC - 2 Bytes
Ethereal Corpse           
6F2AE - 2 Bytes
Muton Corpse              
6F2B0 - 2 Bytes
Floater Corpse             
6F2B2 - 2 Bytes
Celatid Corpse             
6F2B4 - 2 Bytes
Silacoid Corpse            
6F2B6 - 2 Bytes
Chryssalid Corpse         
6F2B8 - 2 Bytes
Reaper Corpse             
6F2BA - 2 Bytes
Sectopod Corpse         
6F2BC - 2 Bytes
Cyberdisc Corpse         
6F2BE - 2 Bytes
UFO Power Source       
6F2C8 - 2 Bytes
UFO Navigation            
6F2CA - 2 Bytes
UFO Construction         
6F2CC - 2 Bytes
Alien Food                  
6F2CE - 2 Bytes
Alien Reproduction       
6F2D0 - 2 Bytes
Alien Entertainment      
6F2D2 - 2 Bytes
Alien Surgery              
6F2D4 - 2 Bytes
Examination Room        
6F2D6 - 2 Bytes
Alien Alloys                 
6F2D8 - 2 Bytes
Alien Habitat               
6F2DA - 2 Bytes
Personal Armour           
6F2DC - 2 Bytes
Power Suit                  
6F2DE - 2 Bytes
Flying Suit                  
6F2E0 - 2 Bytes
HWP Cannon Shell        
6F2E2 - 2 Bytes
HWP Rockets               
6F2E4 - 2 Bytes
HWP Fusion Bomb         
6F2E6 - 2 Bytes

6F2E8 to 7538F - NEED HELP

Offset 75390 Starts the unit (aliens, civilians and tanks) stats, each unit entry is 38 bytes long I'll list what each offset does for the first unit (Floater Soldier) and then I'll just list the first and last offset for the rest of the units.

Offset 75390 to 753B6 - Floater Soldier:

Offset 75390 - Race - Possible values =     03 - Tank
                                                          04 - Sectoid
                                                          05 - Snakeman
                                                          06 - Ethereal
                                                          07 - Muton
                                                          08 - Floater
                                                          09 - Celatid
                                                          0A - Silacoid
                                                          0B - Chryssalid
                                                          0C - Reaper
                                                          0D - Sectopod
                                                          0E - Cyberdisc
                                                          0F - Civilian 1
                                                          10 -
Civilian 2

Offset 75391 - Rank - Possible values =     00 - None
                                                          01 - Commander
                                                          02 - Leader
                                                          03 - Engineer
                                                          04 - Medic
                                                          05 - Navigator
                                                          06 - Soldier
                                                          07 - Terrorist

Offset 75392 - NEED HELP - Always 00

Offset 75393 - Flying flag - Possible values = 00 - cannot fly, 01 - can fly

Offset 75394 - Time Units - Possible values = 00 to FF

Offset 75395 - Health - Possible values = 00 to FF

Offset 75396 - Energy - Possible values = 00 to FF

Offset 75397 - Reaction - Possible values = 00 to FF

Offset 75398 - Strength - Possible values = 00 to FF

Offset 75399 - Firing Accuracy- Possible values = 00 to FF

Offset 7539A - Throwing Accuracy - Possible values = 00 to FF

Offset 7539B - NEED HELP

Offset 7539C - Front Armour - Possible values = 00 to FF

Offset 7539D - Left Armour - Possible values = 00 to FF

Offset 7539E - Right Armour - Possible values = 00 to FF

Offset 7539F - Rear Armour - Possible values = 00 to FF

Offset 753A0 - Under Armour - Possible values = 00 to FF

Offset 753A1 to 753AB - NEED HELP

Offset 753AC - Psi Skill - Possible values = 00 to FF

Offset 753AD - Psi Strength - Possible values = 00 to FF

Offset 753AE - Bravery - Possible values = 00 to FF

Offset 753AF to 753B2 - NEED HELP

Offset 753B3 - Large Unit Flag - Possible values = 00 - takes up one square, 01 - takes up four squares

Offset 753B4 to 753B6 - NEED HELP

 

Here is the list of the rest of the units:

Offset 753B7 to 753DD - Floater Navigator

Offset 753DE to 75404 - Floater Medic

Offset 75405 to 7542B - Floater Engineer

Offset 7542C to 75452 - Floater Leader

Offset 75453 to 75479 - Floater Commander

Offset 7547A to 754A0 - Reaper Terrorist

Offset 754A1 to 754C7 - Sectoid Soldier

Offset 754C8 to 754EE - Sectoid Navigator

Offset 754EF to 75515 - Sectoid Medic

Offset 75516 to 7553C - Sectoid Engineer

Offset 7553D to 75563 - Sectoid Leader

Offset 75564 to 7558A - Sectoid Commander

Offset 7558B to 755B1 - Snakeman Soldier

Offset 755B2 to 755D8 - Snakeman Navigator

Offset 755D9 to 755FF - Snakeman Engineer

Offset 75600 to 75626 - Snakeman Leader

Offset 75627 to 7564D - Snakeman Commander

Offset 7564E to 75674 - Ethereal Soldier

Offset 75675 to 7569B - Ethereal Leader

Offset 7569C to 756C2 - Ethereal Commander

Offset 756C3 to 756E9 - Muton Soldier

Offset 756EA to 75710 - Muton Navigator

Offset 75711 to 75737 - Muton Engineer

Offset 75738 to 7575E - Tank

Offset 7575F to 75785 - Civilian 1

Offset 75786 to 757AC - Civilian 2

Offset 757AD to 757D3 - Chryssalid Terrorist

Offset 757D4 to 757FA - Silacoid Terrorist

Offset 757FB to 75821 - Celatid Terrorist

Offset 75822 to 75848 - Sectopod Terrorist

Offset 75849 to 7586F - Cyberdisc Terrorist

Offset 75870 to 75896 - Hover Tank

BACK