Please read the Forum Rules before posting.
![]() ![]() |
26th August 2004, 8:51pm
Post
#1
|
|
|
Sergeant ![]() ![]() ![]() Group: Members Posts: 81 Joined: August 2004 From: Peoria, IL, USA Member No.: 485 |
Hey all, my listing is coming along pretty well. I need help on a few files however. If you can give me any info on the following files, I'd greatly appreciate it.
ACTS.DAT, AKNOW.DAT, BGLOB.DAT, BPROD.DAT, GEODATA.DAT, INTER.DAT, LEASE.DAT, MAP.DAT, MISDATA.DAT, OBPOS.DAT, PROJECT.DAT, RESEARCH.DAT, ROUTES.DAT, SEEMAP.DAT, SMOKBIT.DAT, SMOKREF.DAT, SOURCEMP.DAT, TERMP.DAT, UIGLOB.DAT, UNITPOS.DAT, WGLOB.DAT, XBASES.DAT, ZONAL.DAT I realize that's a long list but if anyone has any info on the contents of those files (what offsets represent and whatnot). Even one file would be great. I'll probably start tackling OBPOS.DAT and UNITPOS.DAT next but I'd still like to hear about any of these files. Thanks a lot. -------------------- |
|
|
|
27th August 2004, 4:33am
Post
#2
|
|
![]() Rowboat ![]() ![]() ![]() ![]() ![]() Group: Site Staff Posts: 2,725 Joined: September 2002 From: Outer Space Member No.: 813 |
Split the savegame file listing into two sections. The Geoscape and Battlescape files. This helps keep things in order.
Here, I'll copy one of my note files for your reference. CODE Battlescape data file manifest (save files) wglob - Contains information about the current map. Including the size and elevations of the map. May this contain the time, troop transport AND type of enemy ship under attack? What about the graphic tile sets in use? Contains the current 'turn' and which game turn (turn/2). bglob - No idea. Has two bytes of some significance, but what I wonder? geodata - misdata - routes - Soldier and AI spawn locations, walk nodes, etc map - physical map data (walls, non-interactive objects, etc) seemap - visibility of tiles (for fog of war) sourcemp - Permanent lightsources (natural lighting, power/entertainment units) termp - Temporary lightsources (units, flares) (probably other way around termp - sourcemp) smokbit - These two files control smoke and fire particles smokref - obpos - object information file (guns, grenades, medikits, etc) unitpos - Another 'unit' table, but also stores the various 'dummy' units for large units. Stores basic map location information, visibility/mind control status and ownership flags of units. unitref - Unit table. Contains information specific to each unit. Current stats, experience gathered, mobility modes, etc. --- MISDAT specific files --- Possibly not for battlescape: direct.dat - stores directory name for current game (last loaded game) code.dat - options.dat- This file's a bit outdated. Unitref, obpos and unitpos are the files I've concentrated on the most so far. - NKF -------------------- Current Avatar Source: A custom GM-Striker. The 'British' counterpart to the 'German' Zaku in Ich trage eine Wanne für einen Hut. I still have no idea if that's been mistranslated.
|
|
|
|
27th August 2004, 5:33am
Post
#3
|
|
|
Sergeant ![]() ![]() ![]() Group: Members Posts: 81 Joined: August 2004 From: Peoria, IL, USA Member No.: 485 |
If you'd like to check out my site http://www.xcomufo.com/hatfarm/ and see if you have anything I don't have that would be great of you. I'd of course give you credit. Those files I really haven't been able to understand (other than unitref.dat). I don't know which files are which (battlscape and geodata) so if you could help with that, that would be greatly appreciated. Though all my info is for CE I'm sure most of it is valid for the DOS version as well. Thanks a lot.
-------------------- |
|
|
|
27th August 2004, 7:53am
Post
#4
|
|
![]() Rowboat ![]() ![]() ![]() ![]() ![]() Group: Site Staff Posts: 2,725 Joined: September 2002 From: Outer Space Member No.: 813 |
I've just listed the battlescape files. I got them by clearing a savegame slot, then saving over it with a Geoscape save. Then, I tabbed over to the file explorer, selected all the files and then tabbed back to the game and saved in the battlescape. When I looked at the savegame directory again, all the files that weren't selected were the battlescape files. You can probably doublecheck this yourself by comparing a savegame saved purely in the Geoscape against one in the battlescape and see which files are missing.
Here are my notes on obpos.dat. Pick at it and add to it as necessary. QUOTE savegame_n\obpos.dat (battlescape data file) INFO: 16 bytes per entry Only 170 possible entries. (for UFO at least, not sure about TFTD) NOTE: The 'triggered' proximity mine flag is NOT saved in this save file. In fact, this is only stored in memory and not saved in any way. Thus, saving, restarting the game and then reloading will disable the proximity mine. And if the game is not ended and the proximity mine is not used up, the next item to occupy the proximity object slot will be be turned into an armed proximity mine and detonate if it is walked over. Possible Theory about clips inside corpses: New objects created, such as bodies for unconcious or dead units, will fill in the first unused slot they encounter. If, for example, a gun is destroyed, but the loaded clip still exists, the new object that fills the destroyed gun's slot will have the clip loaded into it. Byte: 0: Object type Object is the item ID# in geodata\obdata.dat Value of 255/-1 = item in this slot is meant to be unused or destroyed. 1: X \ 2: Y -> Object coordinates when on the ground. 3: Z / Note: When first starting the mission, these coordinates all default to the first node in the Skyranger -- i.e. the 'equipment pile'. Even if the item supposedly begins in the soldier's inventory. (This is true for all equipment owned by you) Therefore, if a clip loaded into a gun is transformed into a grenade, the explosion will occur on the Skyranger's equipment pile (or where the item was last 'dropped'). These values determine where an unconcious unit will wake up. Oddly enough, when ported around by a unit, these values ARE NOT UPDATED. 4: Owner of item References the units in unitpos. First unit unit index is 0, naturally. Just tells the game who's holding the current item. If 255 = object will be on the ground. 5: Inventory slot (from left to right) 0 = Right hand (it's right in the battlescape, but not in the inventory) 1 = Left hand 2 - 5 = Leg slots 6 - 9 = Shoulder slots 10 - 18 = backpack 19 - 22 = top row of belt 23 - 24 = side pockets of belt Note: For the hand slots, you must also remember to update the left/right hand item 'image' in unitref.dat as well or else you can cause the game to crash by using an item that does not exist. 6: -1/255 by default 7: Object the current item is loaded into Uses obpos item index - first object in obpos is 0 -1/255 by default for no item. 8: Ammo quantity (Ammo quantity) (Medikit medicine - painkiller) (grenade) 0 = grenade object has not been primed. Non zero positive value = What turn to explode on. Grenade will explode if current 'turn' is equal or greater than this number. See wglob.dat for No. of turns. When priming grenades this is set to the current turn number for 0 turns and +1 for every additional turn. (or was it +1?) 9 : (Medikit medicine - stimulants) (grenades) Owner For remembering who last threw the live grenade. For morale loss calculations and for determining the soldier's combat experience. 0 by default Does it refer to unitpos or unitref? 10: (Medikit medicine - heal) 11: 12: 13: 14: 15: You can now manipulate any object in the battlescape that you can pick up. I just wish I knew which of these stats points to an unconcious unit. Probably byte 6... - NKF -------------------- Current Avatar Source: A custom GM-Striker. The 'British' counterpart to the 'German' Zaku in Ich trage eine Wanne für einen Hut. I still have no idea if that's been mistranslated.
|
|
|
|
27th August 2004, 3:30pm
Post
#5
|
|
|
Sergeant ![]() ![]() ![]() Group: Members Posts: 81 Joined: August 2004 From: Peoria, IL, USA Member No.: 485 |
Thanks a lot. That's really helpful. That's exactly the kind of thing I'm looking for.
-------------------- |
|
|
|
28th August 2004, 10:21pm
Post
#6
|
|
![]() Xcomutil Developer ![]() ![]() ![]() ![]() Group: Members Posts: 573 Joined: November 2002 From: Gresham, Oregon, USA Member No.: 136 |
I lost alot of that info a week ago in a hard drive crash.
The ufo2000 team has decoded a lot of this stuff. and Scott T Jones has a large amount of referance mateiral. I will search my notes and see if I have anything that is missing. -Blade FireLight -------------------- QUOTE Combat is very simple, there is a first place and second place, second place is laying face down in the mud, sometimes, so is first place. |
|
|
|
31st August 2004, 5:04am
Post
#7
|
|
![]() Rowboat ![]() ![]() ![]() ![]() ![]() Group: Site Staff Posts: 2,725 Joined: September 2002 From: Outer Space Member No.: 813 |
I'll toss in my notes on unit_pos.dat. Remember that unit_pos and unit_ref work together to make up every unit in the battlescape.
CODE game_n\unitpos.dat (battlescape file) 14 bytes per entry 80 entries Note, apparently the unit positions are stored the same way as they are in unit references. However, for large units, the next three unit positions in the file will belong to that unit. Also see flags. How is a large unit recognised? Is there a unique identifier for it? How does it control the three extra dummy sections? Where's the flag that tells the game that the unit is under mind control? MS Edit columns (for C/C++ offsets, just -1) 1: Y Axis (top = 0, bottom = mapheight -1 ) 2: X Axis (left = 0, right = mapwidth -1 ) 3: Z Axis (bottom-most(3 or 1) - ground, 0 topmost level) 4: garbage? 5: garbage? 6: garbage? 7: garbage? 8: garbage? 9: garbage? 255 for XCOM, 2, 1 and 0 for floaters? X-COM: 255 1111 1111 TANKC: 1 0000 0001 Ethereal: 3 0000 0011 94 0101 1110 15 0000 1111 Civ: 0 0000 0000 12 0000 1100 91 0101 1011 Sectopod: 1 0000 0001 2 0000 0010 13 0000 1101 92 0101 1100 10: Owner flag 0 - X-Com (under your control) 1 - Alien (AI controlled -- aggressive against 0 and 2) 2 - Civilian (AI controlled - neutral, but will reaction fire against 0 and 1) 11: Unit INFORMATION FLAGS NOTE: In order for a deleted unit in unitpos_dat to NOT EXIST, this must be set to 0 in addition to removing the unit from unitref by setting its sprite to -1. Bits: (from right to left, 12345678) (bits probably in reverse, but nevermind) 8 - 0 = invisible, 1 = Visible 7 - Unit is alive ? Except for one instance, this seems to be true. 6 - 1 for large units (only large units have this!) 5 - } LARGE TERROR UNIT (low bit) (00=q1,01=q2,10=q3,11=q4) 4 - } LARGE TERROR UNIT (high bit) 3 - ???? Unused? Small units only perhaps? 2 - 0 = No Mind Control, 1 = Under Temporary Mind Control (will revert ownership at the end of the turn) 1 - ???? (bits 4 and 5 are for large terror units!!) (To erase the unit, just set everything to 0) Large unit quarters (only used if unit is large) / \ | |Large unit | || Alive MC | || |Visible ?| ?| || || Dec. val = 12 34 56 78 REAPER(s) (unseen) 06 = 00 00 01 10 14 = 00 00 11 10 54 = 00 11 01 10 62 = 00 11 11 10 36 = 00 10 01 00 44 = 00 10 11 00 52 = 00 11 01 00 60 = 00 11 11 00 38 = 00 10 01 10 46 = 00 10 11 10 22 = 00 01 01 10 30 = 00 01 11 10 CHRYSSALID(unseen) 58 = 00 11 10 10 MUTON(s) (unseen) 34, 42, 2 34 = 00 10 00 10 42 = 00 10 10 10 02 = 00 00 00 10 ETHEREALS (unseen) 26 = 00 01 10 10 10 = 00 00 10 10 02 = 00 00 00 10 CIVILIAN (unseen) 02 = 00 00 00 10 10 = 00 00 10 10 26 = 00 01 10 10 SECTOPOD (unseen) 6 = 00 00 01 10 14 = 00 00 11 10 22 = 00 01 01 10 30 = 00 01 11 10 LASER TANK 07 = 00 00 01 11 Q1 // 7 47 = 00 10 11 11 Q2 //15 55 = 00 11 01 11 Q3 //23 31 = 00 01 11 11 Q4 //31 CANNON TANK 39 = 00 10 01 11 47 = 00 10 11 11 55 = 00 11 01 11 63 = 00 11 11 11 X-Com Soldier? 35 = 00 10 00 11 More X-Com units (power suits) 3, 27, 11, 3 = 00 00 00 11 27 = 00 01 10 11 11 = 00 00 10 11 If invisible is set for an AI controlled unit, the unit will become visible the moment the unit enters your field of vision. Note, if you make player controlled units invisible, they will appear to YOU as invisible, not the AI. You will remain invisible for the rest of the turn. Also note, you can shoot your own invisible units - something that's not possible for invisible AI controlled units? 12: Rubbish? 13: Rubbish? 14: Rubbish? I just hope all my spacing's not wrecked... - NKF -------------------- Current Avatar Source: A custom GM-Striker. The 'British' counterpart to the 'German' Zaku in Ich trage eine Wanne für einen Hut. I still have no idea if that's been mistranslated.
|
|
|
|
![]() ![]() |
Similar Topics
| Topic Title | Replies | Topic Starter | Views | Last Action | |||
|---|---|---|---|---|---|---|---|
![]() |
18 | thecyke | 7,829 | 4th May 2007, 12:26am Last post by: Cpl. Facehugger |
|||
![]() |
6 | DevBael | 488 | 22nd September 2002, 6:52am Last post by: Caco |
|||
![]() |
1 | usmarox | 442 | 15th October 2002, 10:36pm Last post by: NKF |
|||
![]() |
1 | ravage777 | 326 | 21st February 2003, 9:36pm Last post by: Slythe |
|||
![]() |
8 | bevan | 624 | 23rd March 2003, 5:08am Last post by: NKF |
|||
|
Lo-Fi Version | Time is now: 21st November 2008, 12:16pm |