
UE Map Editor
Moderator: thunderchero
- deva5tator
- Cadet 2nd Year
- Posts: 7
- Joined: Sun Jul 28, 2013 4:01 pm
UE Map Editor
A canon large map would be awesome! I've been trying to edit the map using the UE for a save game on the UDML mod but everytime it crashes after 1 or two turns.. can't figure it out.. So frustrating.. If anyone has any ideas how to get the UE Map editor to work i'd be so grateful! 

Re: Canon game star map
I too have trouble with the UE Galaxy Map editor. I basically just switch minor races around with uninhabited planets, as I usually place as the Federation and like to expand through diplomacy. I give the other major races the uninhabited systems to conquer. I can usually get to around turn 30 and then the game crashes. Not sure what I could do in the UE to fix that.
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7369
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
- Contact:
Re: Canon game star map
UE map editor has major flaws and has no current support to fix any issues.
It took mentat over 6 months to produce a single map and this was mainly hex edited by hand not with UE using the limited info Flocke has published.
It took mentat over 6 months to produce a single map and this was mainly hex edited by hand not with UE using the limited info Flocke has published.
Re: Canon game star map
Thank you thunderchero for the heads up. I have only used UE to change out ship models in the past. Is there any threads that explain basic hex editing or how to get started?
- thunderchero
- Site Administrator aka Fleet Admiral
- Posts: 7369
- Joined: Fri Apr 25, 2008 2:00 am
- Location: On a three month training mission, in command of the USS Valiant.
- Contact:
Re: UE Map Editor
This is what I know about creating the saved game with Mentat
Any saved game must start at tech 1 and turn 0
ships can not be moved
you can not move majors or Echo Papa and Edo Guardian even by hex editing.
so expect 1000's of loading over and over to get a map with major and aliens in correct place.
also you need to edit game files to lower tech on minors and pray you don't get any minor ships
Note: I honestly think when Mentat moved the minors, this is what caused the start of his corruption.
here is the nuts and bolts guide to hex editing
viewtopic.php?f=70&t=2926#p26480
here is the limited info list of saved game files by Flocke.
http://flocke.bplaced.net/botfwiki/inde ... le-Listing
Note; Flocke even states "Please aware that some information might be incomplete or even incorrect."
to be honest you are wasting your time to attempt this. Even Mentat saves were corrupt and would fail after 100 or so turns and he studied this months before he attempted it.
sorry I will be of no further help, I just don't know the info
but good luck
Any saved game must start at tech 1 and turn 0
ships can not be moved
you can not move majors or Echo Papa and Edo Guardian even by hex editing.
so expect 1000's of loading over and over to get a map with major and aliens in correct place.
also you need to edit game files to lower tech on minors and pray you don't get any minor ships
Note: I honestly think when Mentat moved the minors, this is what caused the start of his corruption.
here is the nuts and bolts guide to hex editing
viewtopic.php?f=70&t=2926#p26480
here is the limited info list of saved game files by Flocke.
http://flocke.bplaced.net/botfwiki/inde ... le-Listing
Note; Flocke even states "Please aware that some information might be incomplete or even incorrect."
to be honest you are wasting your time to attempt this. Even Mentat saves were corrupt and would fail after 100 or so turns and he studied this months before he attempted it.
sorry I will be of no further help, I just don't know the info
but good luck
Re: UE Map Editor
I don´t know if anyone has ever mentioned this, but if you modify the game and start a new game with a previous seed number, then the map will be different than that which hasn´t been modified (hex edited or UE´d). I mean the trek.exe, stbof.res does not seem to affect.
No men est omen.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
I did some testing on exchanging systems with UE_0.7.2dev5c on a Klingon vanilla turn 195 save with all majors still alive, that I found on my disk and have attached.
By my surprise, swapping systems with ships, outposts and even the home systems initially all seemed to work fine.
With further testing, playing a few turns, I found a few conditions that fail:
When I moved the Sol system to the upper left corner, on turn 201 the game crashed without of a crash log. This is pretty reproducable, but doesn't happen with some other locations I moved it to, and it doesn't happen either when I moved it a later turn.
Having the ida-debugger attached, I found it crashes at asm 0x4451fb in sub_4451E0 (add_output_of_same_output_IDs) where it reads the system info at a specified index.
That routine is called by sub_4690C0 (Train_ships) and debugging it some little, the call to sub_4B6D80 (starID_from_sector_lst) returns -1, which ofc is an invalid star system index.
And the problem is that sub_46F3D0 (ORDER_MILITARY_2?) still returns the old sector location of edx = 0x18 and ecx = 0x9.
Checking GTForceList, GWTForce and GShipList, it is "USS Rio Branco A" with shipID 0x016E which moved to the old Sol location and now attempts to train, and likely fails to read the system training abilities the next turn.
Another issue I found was with romulan and cardassian home systems moved to some other locations, a few turns later I got:
So it seems the AI still knows on old sector locations and attempts to order ships and assign trade routes and the like.
I'll try to figure this out.
By my surprise, swapping systems with ships, outposts and even the home systems initially all seemed to work fine.
With further testing, playing a few turns, I found a few conditions that fail:
When I moved the Sol system to the upper left corner, on turn 201 the game crashed without of a crash log. This is pretty reproducable, but doesn't happen with some other locations I moved it to, and it doesn't happen either when I moved it a later turn.
Having the ida-debugger attached, I found it crashes at asm 0x4451fb in sub_4451E0 (add_output_of_same_output_IDs) where it reads the system info at a specified index.
That routine is called by sub_4690C0 (Train_ships) and debugging it some little, the call to sub_4B6D80 (starID_from_sector_lst) returns -1, which ofc is an invalid star system index.
And the problem is that sub_46F3D0 (ORDER_MILITARY_2?) still returns the old sector location of edx = 0x18 and ecx = 0x9.
Checking GTForceList, GWTForce and GShipList, it is "USS Rio Branco A" with shipID 0x016E which moved to the old Sol location and now attempts to train, and likely fails to read the system training abilities the next turn.
Another issue I found was with romulan and cardassian home systems moved to some other locations, a few turns later I got:
Code: Select all
-------------------------------------
ST:BOF Sat Apr 24 08:51:56 2021
Version Under Test: 72
File: ..\..\source\game\solarapi.c, Line: 2792, System is not dest or source of trade route
Initialize State: 31
Player Empire: 3 Starting Seed: 1329645910
Galaxy shape: 0 Galaxy Size: 2
Turn State: 20
Turn Number: 211
I'll try to figure this out.
- Attachments
-
- Game7.sav
- (224.02 KiB) Downloaded 44 times
- Spocks-cuddly-tribble
- Code Master
- Posts: 1532
- Joined: Sun Apr 27, 2008 2:00 am
Re: UE Map Editor
The training issue is consistent with Mentat's problems when moving turn 1 map star systems with ships in sector, but most likely affects other orders as well.
The problem wrt sub_46F3D0 is the OrdInfo (structure unknown) i.e. you have to check and update coordinates (resp cancel if out of range now) when moving starsystems (same for tradeInfo, AI orders, GTForceList, GWTForce, GShipList and so on).
EDIT: Here is how to spy on the AI tasks: (ship data 6, 7 and E) viewtopic.php?p=34204#p34204
Let's hope the AI will update it's map scan base data when loading edited saved games. But some invalid ship tasks will stay even if conditions of the destination system have changed (source of many vanilla AI glitches).
EDIT2: If you are lucky the trade route source and destination coordinates are also taken from ordInfo. This would mean you need to edit just this file, since other AI glitches won't crash the game but just cripple AI tasks a bit more than ususal.
The problem wrt sub_46F3D0 is the OrdInfo (structure unknown) i.e. you have to check and update coordinates (resp cancel if out of range now) when moving starsystems (same for tradeInfo, AI orders, GTForceList, GWTForce, GShipList and so on).
EDIT: Here is how to spy on the AI tasks: (ship data 6, 7 and E) viewtopic.php?p=34204#p34204
Let's hope the AI will update it's map scan base data when loading edited saved games. But some invalid ship tasks will stay even if conditions of the destination system have changed (source of many vanilla AI glitches).
EDIT2: If you are lucky the trade route source and destination coordinates are also taken from ordInfo. This would mean you need to edit just this file, since other AI glitches won't crash the game but just cripple AI tasks a bit more than ususal.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
Thx SCT, the link you provided is exactly what I was looking for. 
Extracting the whole save with UE and searching the folder for sector references with Hexprobe ( http://www.turing321.com/hex_edit/hexprobe/index.htm - the first free one I found with directory hex search ), I found the following references: Having manually patched all those locations (except sector.lst ofc), the save game now works fine with moved Sol for already more than 100 turns without a single crash. I stopped testing stability any further. The Fed AI pumps out ships and moves around without an issue.
--
I then had a closer look at the AITask files:
0x00-0x02 looks to be the Ai-TaskId, a short value, followed by
0x03-0x04 an additional sequel Ai-TaskId, which usually is set to "FF FF" (-1)
0x04-0x07 with above info from SCT I identified as the TaskType id:
0x0C-0x0F is the responsible AgentId, written to the start of each AIAgent file (which in turn includes the raceId)
Checking on the different AI tasks, I further found they all list the sector source and target location at:
0x70-0x73: source sector row
0x74-0x77: source sector column
0x78-0x7B: target sector row
0x7C-0x7F: target sector column
For Develop System and Build Ship tasks, the sector source and target is set to "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" for -1 -1 -1 -1 = unspecified. However it is always the exact same offset.
The file length seems to be determined by the TaskType.
Other values I could not determine, but I did not test by editing the values like I did with my other save game analysis.
--
I verified above with my previously posted save file. AITask61 seems to be responsible for above ship training issue and reads "0D 00 00 00" for the TaskType. Both sector references are set to old Sol location and overwriting it fixes the crash. Note that the ship actually is located in a different location, so this task is independent from ship or fleet but rather a general purpose task for ship training.
AITask118, which points from 09/18 to the far away, yet uncolonized 11/0B system, not in reach by the Federation, has TaskType 0x00 = Explore, a perfect match.
AITask140 has 0x0C patrol order set, pointing from old Sol to the very same location. I'm not surprised.
AITask157 has 0x0E repair order set, again with both coordinates set to old Sol location.
AITask169 points from 09/17 to 09/18, from a system that got occupied by the Ferengi next to old Sol location. It has Task 0x07 Invade set. By this, one might assume the Ferengi wanted to invade Sol next, but by now they are both in peace. Instead, looking up the AIAgent23 file with the matching AgentId 0x03, it is the Romulans, who indeed are the only ones currently at war with the Federation. They probably wanted to use the nearby Ferengi system to arrange troops.
--
In summary from investigation and testing I feel rather safe that the AITask coordinates can be overridden to fix related issues. I noticed the ai updates it's tasks from time to time anyhow and ships seem to regard their range. See the exploration task partially is set out of range anyhow.

Extracting the whole save with UE and searching the folder for sector references with Hexprobe ( http://www.turing321.com/hex_edit/hexprobe/index.htm - the first free one I found with directory hex search ), I found the following references: Having manually patched all those locations (except sector.lst ofc), the save game now works fine with moved Sol for already more than 100 turns without a single crash. I stopped testing stability any further. The Fed AI pumps out ships and moves around without an issue.
--
I then had a closer look at the AITask files:
0x00-0x02 looks to be the Ai-TaskId, a short value, followed by
0x03-0x04 an additional sequel Ai-TaskId, which usually is set to "FF FF" (-1)
0x04-0x07 with above info from SCT I identified as the TaskType id:
0x08-0x0B I call the TaskCategory, and indicates whether this is a ship task (1) or a system task (2) or 3 for Gifts/Offers = Diplomacy I guessExplore (0)
Raid (1)
Colonize (2)
Tform (3)
Develop System (4)
Build Ship (5)
Buildbase (6)
Invade (7)
Accept Proposal (8) default modifier -1
Offer Proposal (9)
Attack (A)
Build Wonder (B)
Patrol (C)
Train (D)
Repair (E)
Harass (F)
0x0C-0x0F is the responsible AgentId, written to the start of each AIAgent file (which in turn includes the raceId)
Checking on the different AI tasks, I further found they all list the sector source and target location at:
0x70-0x73: source sector row
0x74-0x77: source sector column
0x78-0x7B: target sector row
0x7C-0x7F: target sector column
For Develop System and Build Ship tasks, the sector source and target is set to "FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" for -1 -1 -1 -1 = unspecified. However it is always the exact same offset.
The file length seems to be determined by the TaskType.
Other values I could not determine, but I did not test by editing the values like I did with my other save game analysis.
--
I verified above with my previously posted save file. AITask61 seems to be responsible for above ship training issue and reads "0D 00 00 00" for the TaskType. Both sector references are set to old Sol location and overwriting it fixes the crash. Note that the ship actually is located in a different location, so this task is independent from ship or fleet but rather a general purpose task for ship training.
AITask118, which points from 09/18 to the far away, yet uncolonized 11/0B system, not in reach by the Federation, has TaskType 0x00 = Explore, a perfect match.
AITask140 has 0x0C patrol order set, pointing from old Sol to the very same location. I'm not surprised.
AITask157 has 0x0E repair order set, again with both coordinates set to old Sol location.
AITask169 points from 09/17 to 09/18, from a system that got occupied by the Ferengi next to old Sol location. It has Task 0x07 Invade set. By this, one might assume the Ferengi wanted to invade Sol next, but by now they are both in peace. Instead, looking up the AIAgent23 file with the matching AgentId 0x03, it is the Romulans, who indeed are the only ones currently at war with the Federation. They probably wanted to use the nearby Ferengi system to arrange troops.
--
In summary from investigation and testing I feel rather safe that the AITask coordinates can be overridden to fix related issues. I noticed the ai updates it's tasks from time to time anyhow and ships seem to regard their range. See the exploration task partially is set out of range anyhow.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
some further analysis:
AISysUnt matched by systInfo:
AITasks, all referenced by AgtTk, AISysUnt:
Develop System (4), Build Ship (5)
AgtTk_ is a pure list of AITaskIds, 2 bytes each, for the number of AgtTk_.cnt
Notice that new colonized systems have no AITask yet.
AIShpUnt matched by GShipList:
ShpT (ship type)
00 = Scout
01 = Destroyer
02 = Cruiser
03 = Attack Cruiser
04 = Command Cruiser
05 = Colony Ship
09 = Troop Transport
AITasks, all referenced by AgtTk, AIShpUnt:
Explore (0), Raid (1), Colonize (2), Tform (3), Buildbase (6), Invade (7), Patrol (C), Repair (E), Harass (F), likely also including Train (D) which was not in my list
other AITasks:
Offer Proposal (9), Build Wonder (B), referenced by AgtTk only
Accept Proposal (8) and Attack (A) I missed in my list, but are likely the same
I additionally checked on the Chodak dreadnought (Juggernaut) alien flying around.
It's position is both listed by the sector.lst and a single AITask, nothing else.
--
Furthermore I had a look at the trdeInfo files again, each entry in there has a length of 20 bytes.
updated info for game7.sav:
--
With above post from SCT I once more checked on ordInfo. UE here already reads in all the orders and updates the target sector row and column for the moved fleets. It however misses to update other fleets so that it is better be patched for moved systems.
Dunno what else to check, I'll next try patch UE and overwrite the AITask coordinates. I'm confident that the normal sector move should work fine then.
---
edit: added trdeInfo game7.sav sample data
AISysUnt matched by systInfo:
Code: Select all
01 00 FF FF EE 00 00 00 00 00 00 00 Pyris
03 00 08 06 08 06 00 00 01 00 00 00 Vadris
06 00 35 00 35 00 00 00 00 00 00 00 Romulus
07 00 18 04 18 04 00 00 01 00 00 00 Lamenda
0B 00 F4 0B F4 0B 00 00 01 00 00 00 Rochani
0C 00 FF FF D0 00 00 00 01 00 00 00 Gemulon
10 00 0F 04 0F 04 00 00 01 00 00 00 Qualor
19 00 00 03 00 03 00 00 01 00 00 00 Carema
1A 00 56 06 56 06 00 00 01 00 00 00 Emila
1D 00 B2 04 B2 04 00 00 01 00 00 00 Thalos
1E 00 09 01 09 01 00 00 01 00 00 00 Evadne
22 00 CE 0A CE 0A 00 00 00 00 00 00 Shelia
23 00 FF FF B9 00 00 00 01 00 00 00 Titus
25 00 -- missing, just colonized -- Moab
27 00 FF FF 39 01 00 00 01 00 00 00 Hoek
2A 00 EC 01 EC 01 00 00 01 00 00 00 Kostolain
2C 00 95 0C 24 00 00 00 00 00 00 00 Sol
30 00 FF FF 6A 01 00 00 01 00 00 00 Pythro
32 00 98 00 98 00 00 00 00 00 00 00 Ogus
33 00 1F 03 1F 03 00 00 01 00 00 00 Talar
35 00 C4 00 C4 00 00 00 00 00 00 00 Harrakis
39 00 FF FF 2C 00 00 00 00 00 00 00 Ferenginar
3B 00 A9 00 A9 00 49 00 01 00 00 00 Largo
3C 00 FA 00 FA 00 49 00 00 00 00 00 Melnos
3F 00 6A 09 6A 09 49 00 00 00 00 00 Canopus
40 00 47 00 47 00 49 00 00 00 00 00 Boreth
41 00 1B 00 1B 00 00 00 00 00 00 00 Cardassia
42 00 8A 00 8A 00 49 00 00 00 00 00 Ruah
43 00 6C 03 6C 03 49 00 01 00 00 00 Ariannus
45 00 FF FF 6D 07 49 00 01 00 00 00 No'Mat
48 00 7E 02 7E 02 00 00 00 00 00 00 Bajor
49 00 FB 00 FB 00 49 00 00 00 00 00 Erabus
4D 00 04 02 04 02 49 00 01 00 00 00 Tycho
4E 00 E1 00 E1 00 49 00 00 00 00 00 Morikin
4F 00 4A 08 4A 08 00 00 01 00 00 00 Galen
50 00 FF FF 4E 00 00 00 00 00 00 00 Atalia
51 00 72 00 72 00 49 00 00 00 00 00 Mintaka
===== ===== ===== ===== ===========
SysId AITsk AITsk TskSy enabled?
Next? Curr? ??
Develop System (4), Build Ship (5)
AgtTk_ is a pure list of AITaskIds, 2 bytes each, for the number of AgtTk_.cnt
Notice that new colonized systems have no AITask yet.
AIShpUnt matched by GShipList:
Code: Select all
65 01 02 00 FF FF F0 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
66 01 02 00 FF FF F0 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
67 01 02 00 FF FF F0 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
6A 01 05 00 FF FF 65 05 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
6B 01 02 00 5F 0C C0 0C FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
6E 01 00 00 FF FF D1 0B FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
70 01 02 00 2B 00 2B 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
71 01 09 00 2B 00 2B 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
73 01 03 00 49 09 D1 0B FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
74 01 09 00 2B 00 2B 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
===== ===== ===== ===== ===============================================
ShpId ShpT AITsk AITsk unknown, looks unused
Next? Curr?
e.g. 47 04 FF FF misses the AITask
00 = Scout
01 = Destroyer
02 = Cruiser
03 = Attack Cruiser
04 = Command Cruiser
05 = Colony Ship
09 = Troop Transport
AITasks, all referenced by AgtTk, AIShpUnt:
Explore (0), Raid (1), Colonize (2), Tform (3), Buildbase (6), Invade (7), Patrol (C), Repair (E), Harass (F), likely also including Train (D) which was not in my list
other AITasks:
Offer Proposal (9), Build Wonder (B), referenced by AgtTk only
Accept Proposal (8) and Attack (A) I missed in my list, but are likely the same
I additionally checked on the Chodak dreadnought (Juggernaut) alien flying around.
It's position is both listed by the sector.lst and a single AITask, nothing else.
--
Furthermore I had a look at the trdeInfo files again, each entry in there has a length of 20 bytes.
updated info for game7.sav:
Code: Select all
trdeInfo0:
00 00 00 00 00 00 00 00 41 00 44 00 31 00 00 00 13 00 00 00
00 00 01 00 00 00 00 00 41 00 48 00 41 00 00 00 13 00 00 00
00 00 02 00 00 00 00 00 40 00 35 00 2C 00 00 00 0C 00 00 00
00 00 03 00 00 00 00 00 3B 00 39 00 2C 00 00 00 0D 00 00 00
00 00 04 00 00 00 00 00 4D 00 47 00 2F 00 00 00 0F 00 00 00
trdeInfo1:
01 00 00 00 00 00 00 00 2C 00 09 00 32 00 00 00 10 00 00 00
01 00 01 00 00 00 00 00 2C 00 44 00 2E 00 00 00 10 00 00 00
01 00 02 00 00 00 00 00 33 00 17 00 3C 00 00 00 0E 00 00 00
01 00 04 00 00 00 00 00 1E 00 11 00 33 00 00 00 09 00 00 00
01 00 05 00 00 00 00 00 10 00 FF FF 00 00 00 00 00 00 00 00
01 00 06 00 00 00 00 00 19 00 FF FF 00 00 00 00 00 00 00 00
trdeInfo2:
02 00 0A 00 00 00 00 00 50 00 3E 00 22 00 00 00 09 00 00 00
02 00 0B 00 00 00 00 00 35 00 44 00 2E 00 00 00 10 00 00 00
02 00 0C 00 00 00 00 00 32 00 FF FF 00 00 00 00 00 00 00 00
02 00 0D 00 00 00 00 00 35 00 FF FF 00 00 00 00 00 00 00 00
02 00 10 00 00 00 00 00 2A 00 FF FF 00 00 00 00 00 00 00 00
02 00 11 00 00 00 00 00 4F 00 FF FF 00 00 00 00 00 00 00 00
02 00 12 00 00 00 00 00 4F 00 FF FF 00 00 00 00 00 00 00 00
02 00 00 00 00 00 00 00 39 00 FF FF 00 00 00 00 00 00 00 00
02 00 01 00 00 00 00 00 39 00 FF FF 00 00 00 00 00 00 00 00
02 00 02 00 00 00 00 00 39 00 FF FF 00 00 00 00 00 00 00 00
02 00 03 00 00 00 00 00 39 00 FF FF 00 00 00 00 00 00 00 00
02 00 04 00 00 00 00 00 39 00 41 00 37 00 00 00 0F 00 00 00
02 00 05 00 00 00 00 00 39 00 FF FF 00 00 00 00 00 00 00 00
02 00 06 00 00 00 00 00 39 00 40 00 27 00 00 00 0F 00 00 00
02 00 07 00 00 00 00 00 48 00 FF FF 00 00 00 00 00 00 00 00
02 00 08 00 00 00 00 00 48 00 FF FF 00 00 00 00 00 00 00 00
02 00 09 00 00 00 00 00 48 00 FF FF 00 00 00 00 00 00 00 00
trdeInfo3:
03 00 0A 00 00 00 00 00 2E 00 FF FF 00 00 00 00 00 00 00 00 Acamar -> unassigned
03 00 0B 00 00 00 00 00 29 00 1D 00 17 00 00 00 0E 00 00 00 Antede -> Thalos (fed)
03 00 0C 00 00 00 00 00 2D 00 10 00 26 00 00 00 0B 00 00 00 Quazulu -> Qualor (fed)
03 00 0D 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00 Browder -> unassigned
03 00 0E 00 00 00 00 00 17 00 FF FF 00 00 00 00 00 00 00 00 Marlonia -> unassigned
03 00 0F 00 00 00 00 00 11 00 FF FF 00 00 00 00 00 00 00 00 Ktaria -> unassigned
03 00 10 00 00 00 00 00 11 00 FF FF 00 00 00 00 00 00 00 00 Ktaria -> unassigned
03 00 11 00 00 00 00 00 0A 00 FF FF 00 00 00 00 00 00 00 00 Gamma Tauri -> unassigned
03 00 12 00 00 00 00 00 17 00 FF FF 00 00 00 00 00 00 00 00 Marlonia -> unassigned
03 00 00 00 00 00 00 00 0E 00 2C 00 33 00 00 00 12 00 00 00 Qo'nos -> Sol (fed)
03 00 01 00 00 00 00 00 0E 00 33 00 2E 00 00 00 12 00 00 00 Qo'nos -> Talar (fed)
03 00 02 00 00 00 00 00 52 00 19 00 21 00 00 00 11 00 00 00 Tyrellia -> Carema (fed)
03 00 04 00 00 00 00 00 0F 00 23 00 17 00 00 00 0E 00 00 00 Vulcan -> Titus (fed)
03 00 05 00 00 00 00 00 53 00 FF FF 00 00 00 00 00 00 00 00 Eden -> unassigned
03 00 06 00 00 00 00 00 24 00 1B 00 26 00 00 00 0E 00 00 00 Andor -> Pakled
03 00 07 00 00 00 00 00 12 00 30 00 09 00 00 00 00 00 00 00 Trill -> Pythro (fed)
03 00 08 00 00 00 00 00 1F 00 1A 00 12 00 00 00 0C 00 00 00 Antica -> Emila (fed)
03 00 09 00 00 00 00 00 2E 00 1E 00 25 00 00 00 12 00 00 00 Acamar -> Evadne (fed)
trdeInfo4:
04 00 00 00 00 00 00 00 06 00 48 00 3E 00 00 00 10 00 00 00
04 00 01 00 00 00 00 00 06 00 18 00 2C 00 00 00 10 00 00 00
----- ----- ----------- ----- ----- ----------- -----------
race nbr empty src trgt crdInc crdOut
----------- sysId sysId
trdeId
0x00-0x01 race: raceId 0x02-0x03 nbr: trade route number (race + nbr = trade route id) 0x04-0x07 empty: unknown empty space 0x08-0x09 src sysId: source system StarID 0x0A-0x0B trgt sysId: target system StarID 0x0C-0x0F crdInc: credits income 0x10-0x13 crdOut: credit output of incoming trade routes (0.05 * pop source system)By my testing, changing the system location had no effect on established trade routes. They all adapted automatically. I found no sector coordinates for it at all.
--
With above post from SCT I once more checked on ordInfo. UE here already reads in all the orders and updates the target sector row and column for the moved fleets. It however misses to update other fleets so that it is better be patched for moved systems.
Dunno what else to check, I'll next try patch UE and overwrite the AITask coordinates. I'm confident that the normal sector move should work fine then.
---
edit: added trdeInfo game7.sav sample data
Last edited by Flocke on Sun Jun 06, 2021 2:37 pm, edited 2 times in total.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
Ah well, I knew there was a limitYour message contains 85686 characters.
The maximum number of allowed characters is 60000.

Happy reading!
I continued analysing and testing with same above save7.sav save game playing the Klingons, and kept punching the UE code.
While moving sectors, systems, outposts and task forces looks to be stable now, and adding new task forces does work also, the removal of task forces with assigned tasks does not. But I'm at it and I think with below analysis I can fix that one as well now.
Further I stumbled upon one major issue with the UE LZSS sav file compression, which led to corrupt any save game ever touched.
====
First, regarding the LZSS compression, while the algorithm itself works fine, it uses some little trick to further reduce the space some little.
It pre-fills the lookup dictionary with some configurable character. And while for compression in LzssOutputStream.java, it was set to 32, the space character, for decompression in LzssInputStream.java it was set to 0. These values however MUST match, and same wise they must match with whatever values trek.exe uses to pre-fill the dictionary.
It's amazing that most of the time the game loaded anyhow. I only noticed by re-opening an already modified sav file with UE, where I got prompted with an error stating that there was a tech entry or something missing. It turned out that for an expected index 32 the value was zeroed. Left me puzzled for quite some while. The compression algorithm here however expected the wrong value in the dictionary.
By testing, I found that I had to use the space character 32 (0x20) to pre-fill the dictionary, else the save wouldn't load. This likely goes back to a mis-assumption I found in my original sav file notes, where I assumed the dictionary was pre-filled with zeros. The algorithm there however featured that the dictionary was filled and written character by character, so for a long 00 00 .. 00 00 it would just refer the first value and assume the rest would be filled just in place while it went to copy the next character.
I found no reference to assume it is pre-filled to some other character for any of the files, and testing so far tells it is the space character for all of the sav contained files.
For proof however one would have to check the trek.exe implementation for each of the files.
I leave it at that as long no further errors show up.
update: I now found evidence, that at least for the techInfo file the LZSS dictionary indeed must be pre-filled with 00s, see viewtopic.php?p=54203#p54203 below
====
But now to the sav analysis updates:
--- GTForceList/GWTForce ---
hex view width: 108
I found a fault in here for 0x30-0x33:
this is not related to TT based system attacks at all, instead it is the computed
target sector index (row*columns + column-1, same like the outpost ids and 0xFFFFFFFF if none) !!
Guess that is not so unimportant when you change some task force move destination.
Further for the task force listings, the ability bitmask hasn't been documented yet. The only sparse documentation I found is in viewtopic.php?f=275&t=500&p=32183&hilit ... ask#p32183
From my testing I found this unlocks the task force mission menu buttons. And you perfectly can allow a battle cruiser to colonize a system. The next turn however all abilities are reset automatically.
For myself btw I prefer the term 'flags', cause a 'mask' in programming is used for search algorithms and match making. E.g. you use a mask to filter for whether a task force has some required flags.
ability flags / ability mask
0x0001 (01 00) = can colonize
0x0002 (02 00) = can raid system
0x0004 (04 00) = can invade system
0x0008 (08 00) = ?? never seen used
0x0010 (10 00) = can intercept
0x0020 (20 00) = ?? never seen used
0x0040 (40 00) = can terraform
0x0080 (80 00) = can cloak
0x0100 (00 01) = can build outpost
0x0200 (00 02) = can build starbase
0x0400 (00 04) = can be scrapped
0x0800 (00 08) = can bombard system
0x1000 (00 10) = ?? never seen used
0x2000 (00 20) = ?? never seen used
0x4000 (00 40) = ?? never seen used
0x8000 (00 80) = ?? never seen used
(xx xx) = little endian
e.g.
00 04 Chodak
02 0C ferg attack cruiser, fed command cruiser
04 07 fed troop transport
12 0C tamarian ship, card cruiser, ferg weapon cruiser, fed scout, pakled transport
41 04 klng colony ship, rom colony ship
45 07 klng colony ship + troop transport
82 04 rom attack cruiser
92 04 cloaked klingon battle cruiser
92 0C uncloaked klingon battle cruiser
--- GShipHead = GTForceHd = GWTForceHd = GTFStasisHd ---
The header files still aren't fully known either. But from what I found, the unknown values are:
0x00-0x0F = asm function pointer offsets, see sub_46C430 / set_ship_lists?_startgame
_ 0x00-0x03 = GShipHead: offset sub_449C00, others: offset loc_448D00
_ 0x04-0x07 = offset sub_492F90 / call_get_code_address?
_ 0x08-0x0B = offset sub_492E90 / call__EnterCriticalSection_
_ 0x0C-0x0F = offset sub_492E60 / system_memory__clear_file?
0x1C-0x1F = some file flags, always: GTFStasisHd/GWTForceHd = 0x1, GShipHead/GTForceHd = 0x81
0x20-0x27 = some data pointer it seems, possibly the content data
--- TskSh files ---
Similar to the AgtSh files, these list the ship ids to be controlled by some agent.
It is a pure list of short values for the ship ids, and the .cnt files tell how many.
Like already documented, the race agent id can be matched by the AIAgent files.
By my guess these files list the current active ship tasks. It is not relevant when adding new ships, but for sure is when removing some.
--- treaty file ---
hex view width: 116
lists active treaties
0x0-0x3: num treaties
0x4-0x7: next id
[num * treaties]
0x00-0x27: contact race name if player initiated
0x28-0x2B: delay? (1 if waiting on player response, two majors involved, or for gifts to take effect)
0x2C-0x2F: treatyId
0x30-0x33: treatyType (1:peace 2:alliance 3:war pact 4:accepted demand 5:friendship 6:affiliation 7:membership 8:gift)
0x34-0x35: initiator raceId
0x36-0x37: recipient raceId
0x38-0x38: turns (-1 if unlimited)
0x39-0x3B: empty data alignment
0x3C-0x3F: turnStart (first active turn)
0x40-0x43: turnEnd (last active turn)
0x44-0x47: hasGift (0 or 1)
0x48-0x4B: hasDemand (0 or 1)
0x4C-0x4F: hasRepeatedGift (0 or 1)
0x50-0x53: hasRepeatedDemand (0 or 1)
0x54-0x57: credits gift (one time)
0x58-0x5B: credits demand (one time)
0x5C-0x60: cede disputed territories
0x61-0x63: unknown
0x64-0x67: peaceType (for major empires -> 0:non-aggression 1:friendship 2:affiliation)
0x68-0x6B: declareWar? (0 or 1)
0x6C-0x6F: declareWarAsWell? (0 or 1)
0x70-0x71: targetRaceId (for war pact, else -1)
0x72-0x73: empty data alignment
--- intelInfo file (update) ---
0x0058 to 0x02D7 (5 empires * 0x80) = intel expense:
Code: Select all
card:
00 00 00 00 2A 00 00 00 B3 00 00 00 87 00 00 00 8D 00 00 00 00 00 39 05 07 1C F2 28 09 08 00 00 general
00 00 00 00 2A 00 00 00 28 00 00 00 87 00 00 00 BC 00 00 00 00 00 3A 03 D6 03 23 77 67 08 00 00 economy
00 00 00 00 2A 00 00 00 95 00 00 00 87 00 00 00 8D 00 00 00 00 00 1C 00 28 00 48 00 22 00 00 00 research
00 00 00 00 A6 00 00 00 28 00 00 00 87 00 00 00 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 military
fed:
2A 00 00 00 00 00 00 00 87 00 00 00 C1 00 00 00 67 00 00 00 12 04 00 00 16 14 8C 30 EC 04 00 00 general
2A 00 00 00 00 00 00 00 87 00 00 00 C1 00 00 00 67 00 00 00 01 03 00 00 91 1F FF 93 5D 04 00 00 economy
2A 00 00 00 00 00 00 00 87 00 00 00 C1 00 00 00 67 00 00 00 1B 00 00 00 26 00 48 00 1E 00 00 00 research
2A 00 00 00 00 00 00 00 87 00 00 00 C1 00 00 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 military
ferg:
28 00 00 00 87 00 00 00 00 00 00 00 72 00 00 00 82 00 00 00 8B 03 10 0D 00 00 25 27 E5 06 00 00 general
28 00 00 00 87 00 00 00 00 00 00 00 72 00 00 00 82 00 00 00 01 03 FF 0A 00 00 2D 65 03 05 00 00 economy
28 00 00 00 87 00 00 00 00 00 00 00 72 00 00 00 82 00 00 00 1B 00 25 00 00 00 48 00 20 00 00 00 research
28 00 00 00 87 00 00 00 00 00 00 00 72 00 00 00 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 military
klng:
00 00 00 00 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 14 00 00 00 00 00 00 00 00 general
00 00 00 00 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 21 00 00 00 00 00 00 00 00 economy
00 00 00 00 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 00 00 00 00 00 00 00 00 00 research
00 00 00 00 C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 military
rom:
8D 00 00 00 67 00 00 00 82 00 00 00 19 00 00 00 00 00 00 00 0A 0B 83 0A 71 13 CB 0A 00 00 00 00 general
8D 00 00 00 67 00 00 00 82 00 00 00 19 00 00 00 00 00 00 00 95 0C A5 01 89 1D AF 0F 00 00 00 00 economy
8D 00 00 00 67 00 00 00 82 00 00 00 19 00 00 00 00 00 00 00 24 00 22 00 25 00 40 00 00 00 00 00 research
8D 00 00 00 67 00 00 00 82 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 military
----------- ----------- ----------- ----------- ----------- ----- ----- ----- ----- ----- -----
trn change trn change trn change trn change trn change spent spent spent spent spent empty
card fed ferg klng rom card fed ferg klng rom
0x00 0x10 0x20 * 5 * 4 = 0x280
--- result.lst / ordInfo ---
Now it gets interesting. While I analysed the result.lst file, I found it partially refers the exact same ordInfo data structures. So you find it used in both.
The one major difference is that in result.lst the compression is split to separate chunks and so is the ordInfo header and content data.
Like already has been found, in result.lst each data chunk is introduced by some header chunk, which is 12 bytes long, containing:
0x00-0x03 the data offset, 0x0C for the fist chunk
0x04-0x07 the uncompressed data size
0x08-0x0B the compressed data size
The data chunk then is LZSS compressed like any other sav file.
And the count of the chunks is listed by the sav file table at the end of the sav file.
Note that saving the uncompressed file with UE, instead of the chunk headers, the plain uncompressed size is prepended to each of the chunks. It however is not part of the actual data!
For result.lst, which from all I know is the only chunk based file, the first chunk lists the entry count and nothing else.
0x00-0x03: entry count
Each of the following entries then consist of a header chunk and a content chunk. Well, the header itself contains relevant info though.
Some of these entries however list another sub-entry or details chunk which by itself has a header chunk as well.
To give a better view on this, the result.lst is structured like this:
[first chunk header] if compressed: 12 bytes for the data offset, uncompressed and compressed size, or if uncompressed by UE: 4 bytes for the content size [entry count] the first data chunk, 5 bytes if compressed, 4 bytes if uncompressed - the algorithm here doesn't do well [next chunk header] [first entry header] [next chunk header] [first entry content] [next chunk header] [an optional sub-entry header] [next chunk header] [followed by the sub-entry content] [next chunk header] [next entry header] [next chunk header] [next entry content] .. and so on for all the entriesI identified the following six cases where only the 0x28 byte header is counted:
- 0x28 header -> 0x10 content for economic results
- 0x28 header -> 0x10 content for economic results -> 0x20 ordInfo-header -> 0x34 ordInfo economic order
- 0x28 header -> 0x10 content for economic results -> 0x20 ordInfo-header -> 0x48C ordInfo diplomatic order
- 0x28 header -> 0x9C content for military results
- 0x28 header -> 0x9C content for military results -> 0x20 ordInfo-header -> 0x34 ordInfo military order
- 0x28 header -> 0x74 content for intel results
Then I further had a look at each of these entries. With almost no testing and asm analysis but comparing some botf and known sav file values, I figured the following with all save7 entries listed:
header 0x28
===========
This is the central entry header for each of the entries.
1: economic result header (little endian)
Code: Select all
<38> 28 00 00 00 | 84 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF 00 FF FF FF FF 00 00 25 00 00 00 00 80 00 00 00 00 30 E6 ED 03 10 00 00 00 Carema (fed y:5 x:14):
<39> 28 00 00 00 | 85 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF 01 FF FF FF FF 00 80 06 00 00 00 00 00 00 00 00 00 18 E3 ED 03 10 00 00 00 Carema (fed y:5 x:14): ?insufficient energy
<49> 28 00 00 00 | CB 55 55 55 02 00 00 00 00 01 00 00 04 FF FF 00 FF FF FF FF 00 00 1F 00 00 00 00 00 00 00 00 00 A0 EB ED 03 10 00 00 00 Moab (ferg y:8 x:10): enthused on new trading (Begeisterung, neuer Handel)
<56> 28 00 00 00 | 49 00 00 80 03 00 FF FF 00 01 00 00 08 00 00 00 FF FF FF FF 00 00 40 00 00 00 00 40 00 00 00 00 08 79 8B 02 10 00 00 00 Marlonia (klng y:5 x:B): planet 4 became barren (unfruchtbar)
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----------- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | sysId flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt 0x10 0x20 0x28
race flags
Code: Select all
<11> 28 00 00 00 | F4 00 00 00 00 00 00 00 00 01 00 00 01 FF FF 40 43 00 00 00 00 80 00 00 00 00 00 00 50 FD 8B 02 B8 40 ED 03 10 00 00 00 Ariannus (card): upgraded type 6 constr. yard
<12> 28 00 00 00 | F5 00 00 00 00 00 00 00 00 01 00 00 01 FF FF 42 4D 00 00 00 00 80 00 00 00 00 00 00 18 5A 88 02 F8 42 ED 03 10 00 00 00 Tycho (card): upgraded type 2 constr. yard
<13> 28 00 00 00 | F6 00 00 00 00 00 00 00 00 01 00 00 01 FF FF EF 3F 00 00 00 00 80 00 00 00 00 00 00 D8 DC C5 02 30 EF ED 03 10 00 00 00 Canopus (card): built typ 1 shadow team
<40> 28 00 00 00 | 86 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF A1 FF FF FF FF 00 80 00 00 00 00 00 00 88 12 FA 04 80 42 ED 03 10 00 00 00 (fed): sent 7335 credits to the ferengi
<41> 28 00 00 00 | 87 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF 00 19 00 00 00 00 80 00 00 00 00 00 00 90 93 8B 02 40 EE ED 03 10 00 00 00 Carema (fed): built type 1 plasma reactor
<42> 28 00 00 00 | 88 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF EC 0B 00 00 00 00 80 00 00 00 00 00 00 F8 59 ED 03 88 EB ED 03 10 00 00 00 Rochani (fed): built wind turbines
<43> 28 00 00 00 | 89 AB AA 2A 01 00 00 00 00 01 00 00 02 FF FF 00 10 00 00 00 00 80 00 00 00 00 00 00 08 6F 88 02 F0 44 ED 03 10 00 00 00 Qualor (fed): built type 1 autom. farm
<52> 28 00 00 00 | CE 55 55 55 02 00 00 00 00 01 00 00 04 FF FF A5 FF FF FF FF 00 80 00 00 00 00 00 00 58 12 FA 04 68 2D 8B 02 10 00 00 00 (ferg): sent 665 credits to the takarians
<53> 28 00 00 00 | CF 55 55 55 02 00 00 00 00 01 00 00 04 FF FF 00 35 00 00 00 00 80 00 00 00 00 00 00 58 5A ED 03 B0 FC ED 03 10 00 00 00 Harrakis (ferg): built shied generator
<54> 28 00 00 00 | D0 55 55 55 02 00 00 00 00 01 00 00 04 FF FF 00 2A 00 00 00 00 80 00 00 00 00 00 00 78 49 ED 03 58 EB ED 03 10 00 00 00 Kostolain (ferg): upgraded type 2 market
<60> 28 00 00 00 | 4D 00 00 80 03 00 00 00 00 01 00 00 08 00 00 00 53 00 00 00 00 80 00 00 00 00 00 00 28 1B FA 04 28 3D ED 03 10 00 00 00 Eden (klng): built Scout II: IKC Dughro' B
<68> 28 00 00 00 | 43 AB AA AA 04 00 00 00 00 01 00 00 10 FF FF EB 51 00 00 00 00 80 00 00 00 00 00 00 48 49 ED 03 70 EB ED 03 10 00 00 00 Mintaka (rom): upgraded type 3 energy exchange
<69> 28 00 00 00 | 44 AB AA AA 04 00 00 00 00 01 00 00 10 FF FF 00 06 00 00 00 00 80 00 00 00 00 00 00 A8 04 FA 04 80 B2 8B 02 10 00 00 00 Romulus (rom): built orbital battery
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----------- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | sysId flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt 0x10 0x20 0x28
race flags
Code: Select all
<03> 28 00 00 00 | EC 00 00 00 00 00 FF FF 00 05 00 00 11 00 00 00 FF FF FF FF 00 80 14 00 00 00 00 00 A8 12 ED 03 70 E5 C5 02 10 00 00 00 Diplomacy (rom): please keep sabotaging the klingons
<47> 28 00 00 00 | C9 55 55 55 02 00 FF FF 00 05 00 00 06 00 00 00 FF FF FF FF 00 80 15 00 00 00 00 00 78 10 FA 04 48 8D C5 02 10 00 00 00 Diplomacy (fed): rejected alliance or war pact
<48> 28 00 00 00 | CA 55 55 55 02 00 00 00 00 05 00 00 06 FF FF FB FF FF FF FF 00 00 19 00 00 00 00 00 D8 0A FA 04 C8 94 ED 03 10 00 00 00 Diplomacy (fed): sent ferengi 7335 credits
<61> 28 00 00 00 | 4E 00 00 80 03 00 00 00 00 05 00 00 0A FF FF 00 FF FF FF FF 00 00 17 00 00 00 00 00 08 0E FA 04 D8 E6 ED 03 10 00 00 00 Diplomacy (fed): demand 5345 credits, immediate
<72> 28 00 00 00 | 9A 55 55 D5 19 00 FF FF 00 05 00 00 04 00 00 00 FF FF FF FF 00 00 15 00 00 00 00 00 28 09 FA 04 40 3D ED 03 10 00 00 00 Diplomacy (ferg): Selay ??friendship
<73> 28 00 00 00 | 9B 55 55 D5 1B 00 00 00 00 05 00 00 04 FF FF FB FF FF FF FF 00 00 19 00 00 00 00 00 F8 27 C5 02 B0 94 ED 03 10 00 00 00 Diplomacy (ferg): sent takarians 665 credits
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----------- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | ?unused flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt 0x10 0x20 0x28
race flags
Code: Select all
<01> 28 00 00 00 | EA 00 00 00 00 00 FF FF 00 03 00 00 01 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 90 EC 8B 02 9C 00 00 00 card
<02> 28 00 00 00 | EB 00 00 00 00 00 FF FF 00 03 00 00 01 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 C8 12 C5 02 9C 00 00 00 card
<04> 28 00 00 00 | ED 00 00 00 00 00 FF FF 00 03 00 00 03 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 78 1C 8B 02 9C 00 00 00 card/fed
<05> 28 00 00 00 | EE 00 00 00 00 00 FF FF 00 03 00 00 05 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 A0 31 8B 02 9C 00 00 00 card/ferg
<06> 28 00 00 00 | EF 00 00 00 00 00 00 00 00 03 00 00 01 00 00 00 FF FF FF FF 00 80 0A 00 00 80 00 00 00 00 00 00 80 33 8B 02 9C 00 00 00 card: Nausicaan discovered in R1
<07> 28 00 00 00 | F0 00 00 00 00 00 FF FF 00 03 00 00 01 00 00 00 01 00 00 00 00 80 09 00 00 00 00 00 00 00 00 00 A8 22 C5 02 9C 00 00 00 card Ruah U15: 1 cruiser2
<08> 28 00 00 00 | F1 00 00 00 00 00 FF FF 00 03 00 00 01 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 80 81 79 01 9C 00 00 00 card
<09> 28 00 00 00 | F2 00 00 00 00 00 00 00 00 03 00 00 01 FF FF 10 FF FF 84 01 00 80 05 00 00 00 00 00 00 00 00 00 88 8D ED 03 9C 00 00 00 card: ship 84 01 got destroyed, still listed by AgtSh0, but missing from GShipList
<16> 28 00 00 00 | 6E AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 10 EF 8B 02 9C 00 00 00 fed
<17> 28 00 00 00 | 6F AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 E8 4B C5 02 9C 00 00 00 fed
<18> 28 00 00 00 | 70 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 80 15 C5 02 9C 00 00 00 fed
<19> 28 00 00 00 | 71 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 38 1B 8B 02 9C 00 00 00 fed
<20> 28 00 00 00 | 72 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 F8 20 C5 02 9C 00 00 00 fed
<21> 28 00 00 00 | 73 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 78 56 C5 02 9C 00 00 00 fed
<22> 28 00 00 00 | 74 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 D0 21 C5 02 9C 00 00 00 fed
<23> 28 00 00 00 | 75 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 F0 11 C5 02 9C 00 00 00 fed
<24> 28 00 00 00 | 76 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 A8 14 C5 02 9C 00 00 00 fed
<25> 28 00 00 00 | 77 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 B8 1D 8B 02 9C 00 00 00 fed
<26> 28 00 00 00 | 78 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 A8 DF 88 03 9C 00 00 00 fed
<27> 28 00 00 00 | 79 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 A8 25 C5 02 9C 00 00 00 fed
<28> 28 00 00 00 | 7A AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 E0 69 8B 02 9C 00 00 00 fed
<29> 28 00 00 00 | 7B AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 E0 66 8B 02 9C 00 00 00 fed
<30> 28 00 00 00 | 7C AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 C0 34 8B 02 9C 00 00 00 fed
<31> 28 00 00 00 | 7D AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 60 35 8B 02 9C 00 00 00 fed
<32> 28 00 00 00 | 7E AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 18 09 8B 02 9C 00 00 00 fed
<33> 28 00 00 00 | 7F AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 80 67 8B 02 9C 00 00 00 fed
<34> 28 00 00 00 | 80 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 18 1D 8B 02 9C 00 00 00 fed
<35> 28 00 00 00 | 81 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 00 36 8B 02 9C 00 00 00 fed
<36> 28 00 00 00 | 82 AB AA 2A 01 00 FF FF 00 03 00 00 02 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 A0 36 8B 02 9C 00 00 00 fed
<37> 28 00 00 00 | 83 AB AA 2A 01 00 FF FF 00 03 00 00 12 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 D8 1B 8B 02 9C 00 00 00 fed/rom
<45> 28 00 00 00 | C7 55 55 55 02 00 FF FF 00 03 00 00 04 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 D0 ED 8B 02 9C 00 00 00 ferg
<46> 28 00 00 00 | C8 55 55 55 02 00 FF FF 00 03 00 00 04 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 98 1A 8B 02 9C 00 00 00 ferg
<50> 28 00 00 00 | CC 55 55 55 02 00 00 00 00 03 00 00 04 FF FF 10 FF FF 6A 01 00 80 05 00 00 00 00 00 00 00 00 00 28 8E ED 03 9C 00 00 00 ferg: ship 6A 01 got destroyed, still listed by AgtSh2, but missing from GShipList
<57> 28 00 00 00 | 4A 00 00 80 03 00 FF FF 00 03 00 00 0A 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 F8 19 8B 02 9C 00 00 00 klng/fed
<58> 28 00 00 00 | 4B 00 00 80 03 00 00 00 00 03 00 00 00 FF FF FB FF FF FF FF 00 00 05 00 00 00 00 00 00 00 00 00 00 54 FA 04 9C 00 00 00 klng: built Scout II "IKC Dughro' B" in Eden
<59> 28 00 00 00 | 4C 00 00 80 03 00 00 00 00 03 00 00 08 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 A0 54 FA 04 9C 00 00 00 klng
<62> 28 00 00 00 | 3D AB AA AA 04 00 FF FF 00 03 00 00 10 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 20 34 8B 02 9C 00 00 00 rom
<63> 28 00 00 00 | 3E AB AA AA 04 00 FF FF 00 03 00 00 10 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 30 8A 79 01 9C 00 00 00 rom
<64> 28 00 00 00 | 3F AB AA AA 04 00 FF FF 00 03 00 00 10 00 00 00 FF FF FF FF 00 80 04 00 00 00 00 00 00 00 00 00 E8 87 79 01 9C 00 00 00 rom
<65> 28 00 00 00 | 40 AB AA AA 04 00 FF FF 00 03 00 00 11 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 80 26 C5 02 9C 00 00 00 rom/card
<66> 28 00 00 00 | 41 AB AA AA 04 00 FF FF 00 03 00 00 12 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 40 69 8B 02 9C 00 00 00 rom/fed
<67> 28 00 00 00 | 42 AB AA AA 04 00 FF FF 00 03 00 00 12 00 00 00 01 00 00 00 00 00 10 00 00 00 00 80 00 00 00 00 60 53 FA 04 9C 00 00 00 rom/fed: 5 rom cruisers attack Qualor
<70> 28 00 00 00 | 98 55 55 D5 26 00 FF FF 00 03 00 00 00 00 00 00 FF FF FF FF 00 00 05 00 00 00 00 00 00 00 00 00 78 08 8B 02 9C 00 00 00 chodak alien / Juggernaut
<71> 28 00 00 00 | 99 55 55 D5 26 00 FF FF 00 03 00 00 40 00 00 00 FF FF FF FF 00 00 04 00 00 00 00 00 00 00 00 00 40 37 8B 02 9C 00 00 00 chodak alien / Juggernaut
<74> 28 00 00 00 | 9C 55 55 D5 17 00 00 00 00 03 00 00 00 00 00 00 FF FF FF FF 00 80 0A 00 00 80 00 00 00 00 00 00 E0 32 8B 02 9C 00 00 00 Nausicaan: card discovered in R1
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----- ----- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | unk4 shpId flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt ----------- 0x28
race flags ?deps->evt
Code: Select all
<10> 28 00 00 00 | F3 00 00 00 00 00 FF FF 00 03 00 00 01 00 00 00 01 00 00 00 00 80 13 00 00 00 00 00 18 C4 C5 02 30 ED 8B 02 9C 00 00 00 card Canopus: 1 colony ship2
<51> 28 00 00 00 | CD 55 55 55 02 00 00 00 00 03 00 00 04 00 00 00 FF FF FF FF 00 80 10 00 00 01 00 00 38 10 ED 03 70 EE 8B 02 9C 00 00 00 ferg Moab: 1 light raider II
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----- ----- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | unk4 shpId flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt ----------- 0x28
race flags ?deps->evt
Code: Select all
<14> 28 00 00 00 | F7 00 00 00 00 00 00 00 00 04 00 00 00 FF FF FB FF FF FF FF 00 80 00 00 00 00 00 00 00 00 00 00 58 E8 8B 02 74 00 00 00 discovored military structure of the federation
<15> 28 00 00 00 | F8 00 00 00 00 00 00 00 00 04 00 00 00 FF FF 00 FF FF FF FF 00 80 00 00 00 00 00 00 00 00 00 00 88 01 8B 02 74 00 00 00 lost important spion to the ferengi
<44> 28 00 00 00 | 8A AB AA 2A 01 00 00 00 00 04 00 00 00 FF FF FB FF FF FF FF 00 80 00 00 00 00 00 00 00 00 00 00 00 02 8B 02 74 00 00 00 enemy agents received secret military data
<55> 28 00 00 00 | D1 55 55 55 02 00 00 00 00 04 00 00 00 FF FF A2 FF FF FF FF 00 80 00 00 00 00 00 00 00 00 00 00 E0 E7 8B 02 74 00 00 00 repelled cardassian sabotage network
---- ----------- ----------- ----- ----- ----- ----- -- ----- -- ----------- ----- ----- ----------- ----------- ----------- -----------
entr size resultId race unk1 type emp1 | unk2 | ?unused flgs1 cntT flags2 subAddr contentAddr contentSize
nbr 0x00 | ?evt 0x10 0x20 0x28
race flags
entr nbr: the save7.sav result.lst entry number size: Uncompressed chunk data size of the result header. 0x00-0x03 resultId: incremented unique result number, starting at different offsets for the races: card: 01 00 00 00 (little endian) = 1 fed: AA AA AA 2A (little endian) = max_uint * 1/6 ferg: 55 55 55 55 (little endian) = max_uint * 2/6 klng: FF FF FF 7F (little endian) = max_uint * 3/6 rom: AA AA AA AA (little endian) = max_uint * 4/6 max_uint (unsigned) = 0xFFFFFFFF = 4294967295 decimal The klingon 0x8000004D here ofc flipped all F when it reached 0x80000000. 0x04-0x05 race: the race id (card:0 fed:1 ferg:2 klng:3 rom:4 like usual) 0x06-0x07 unk1: unknown, sometimes FF FF = -1 0x08-0x0B type: the entry type 00 00 ?? none in save7, but refer bottom ordInfo 00 01 for economic results (little endian) 00 02 ?? none in save7, but refer bottom ordInfo 00 03 for military results 00 04 for intel results 00 05 for diplomatic results 00 06 for mp ship update 00 07 for labor results 0x0C-0x0D emp1: always empty 00 from what I've seen 0x0E race flags: flags for all the involved races (card:1 fed:2 ferg:4 klng:8 rom:10, no minors) 0x0F evt: likely some event type identifier 10 -> ship destroyed in battle, cntT = 05 9D -> ship or structure gained B5 -> ship or structure lost D1 -> ship lost on system attack FB -> unit spawned, shared for at least result2, ship, intel and diplomacy results --------- economic ordInfo results: 0x10-0x13 sysId: system/star id, but this isn't consistent for other entry types, see below military results: 0x10-0x11 unk4: For military results, this obviously is not the system id. It might be some boolean, I dunno. 0x12-0x13 shpId: Instead of the system id, we now sometimes have a ship id listed. --------- 0x14-0x15 flags1: some event dependent flags it seems 0x16-0x17 cntT: content related event type 00 'none', shared for economic, intel and other results - economic results 06 EnergyShortage, 1F EnthusedTrading, happy trading happening 40 PlanetaryShift, when a planet gets barren - military results 04 TaskForceEvent for movement, details list the task force id 05 ShipEvent for ships built or lost, details list the ship id 09 Unknown, but occured with one cruiser that possibly reached home destination, details list the sector index 0A RaceDiscovery, when a race got discovered, no task force, sector or system details... 10 SystemManeuver, happens by system attack and system protect it seems, details list both the system and task force id 13 Terraformed, happens on terraform progress or completion, details list both the system and task force id 24 Combat, occures by encounter or battle, the race flags have always more than one race listed, but no task force... - diplomatic results 14 Encouragement, when sabotage is encouraged 15 Rejection, when some alliance or war pact is rejected 17 Demand, a demand for credits is sent 19 Gift, when credits are sent 0x18-0x1B flags2: some event dependent flags it seems 0x1C-0x1F subAddr: most likely the loaded memory address of the ordInfo sub-entry data 0x20-0x23 contentAddr: most likely the loaded memory address of the content data 0x24-0x27 contentSize: the content entry data sizeThat's for the entry header, next comes the actual data contents I analysed.
Last edited by Flocke on Mon Mar 06, 2023 4:17 pm, edited 19 times in total.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
Ofc course I didn't stop with the entry headers. Here comes the rest.
economic result 0x10
==================
1: economic result data without sub-entry
0x00-0x03 treatyId: the entry id for above treaty file
0x04-0x05 evtId: the event type it seems
0x08-0x09 sysId: the system / star id
0x0C-0x0F unk4: some type or flags it seems
2: economic result data with economic ordInfo sub-entry
0x04-0x05 shpId: here the evtId actually is the ship id, at least for the single entry using it
3: economic result data with diplomatic ordInfo sub-entry
Well, I play the german version, therefore here the actual event text of save7.sav:
military result 0x9C
=================
0x00-0x4B
0x4C-0x9B
intel result 0x74
==============
0x00-0x37
0x38-0x73
--- ordInfo details ---
ordInfo header 0x20 (same for ordInfo & result.lst)
=================
economy:
military:
diplomacy:
economic order 0x34 (same for ordInfo & result.lst)
==================
military order 0x34 (same for ordInfo & result.lst)
================
diplomatic order 0x48C (same for ordInfo & result.lst)
====================
0x00-0x39

economic result 0x10
==================
1: economic result data without sub-entry
Code: Select all
<38> 10 00 00 00 | 00 00 00 00 FF 7F 00 00 19 00 49 00 01 00 00 00 Carema (fed y:5 x:14): ?insufficient energy
<39> 10 00 00 00 | 00 00 00 00 FE FF FF FF 19 00 49 00 00 00 00 00 Carema (fed y:5 x:14): ?insufficient energy
<49> 10 00 00 00 | 00 00 00 00 09 00 00 00 25 00 49 00 02 00 00 00 Moab (ferg y:8 x:10): enthused on new trading (Begeisterung, neuer Handel)
<56> 10 00 00 00 | 00 00 00 00 03 00 00 00 17 00 49 00 01 00 00 00 Marlonia (klng y:5 x:B): planet 4 became barren (unfruchtbar)
---- ----------- ----------- ----- ----- ----- ----- -----------
entr size treatyId evtId unk1 sysId unk3 unk4
nbr 0x00 type 0x10
0x04-0x05 evtId: the event type it seems
0x08-0x09 sysId: the system / star id
0x0C-0x0F unk4: some type or flags it seems
2: economic result data with economic ordInfo sub-entry
Code: Select all
<11> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Ariannus (card): upgraded type 6 constr. yard
<12> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Tycho (card): upgraded type 2 constr. yard
<13> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Canopus (card): built typ 1 shadow team
<40> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 (fed) sent 7335 credits to the ferengi
<41> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Carema (fed): built type 1 plasma reactor
<42> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Rochani (fed): built wind turbines
<43> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Qualor (fed): built type 1 autom. farm
<47> 10 00 00 00 | FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 Diplomacy (fed): rejected alliance or war pact
<48> 10 00 00 00 | FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 Diplomacy (fed): sent ferengi 7335 credits
<52> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 (ferg): sent 665 credits to the takarians
<53> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Harrakis (ferg): built shied generator
<54> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Kostolain (ferg): upgraded type 2 market
<60> 10 00 00 00 | 00 00 00 00 91 01 00 00 FF FF 49 00 00 00 00 00 Eden (klng): built Scout II: IKC Dughro' B
<61> 10 00 00 00 | FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 Diplomacy (fed): demand 5345 credits, immediate
<68> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Mintaka (rom): upgraded type 3 energy exchange
<69> 10 00 00 00 | 00 00 00 00 FE FF FF FF FF FF 49 00 00 00 00 00 Romulus (rom): built orbital battery
<72> 10 00 00 00 | 78 02 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 Diplomacy (ferg): Selay ??friendship
<73> 10 00 00 00 | FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 Diplomacy (ferg): sent takarians 665 credits
---- ----------- ----------- ----- ----- ----- ----- -----------
entr size treatyId shpId unk1 unk2 unk3 unk4
nbr 0x00 0x10
3: economic result data with diplomatic ordInfo sub-entry
Code: Select all
<03> 10 00 00 00 | FF FF FF FF 04 00 FF FF 00 00 00 00 00 00 00 00 Diplomacy (rom): please keep sabotaging the klingons
---- ----------- ----------- ----- ----- ----- ----- -----------
entr size treatyId evtId unk1 unk2 unk3 unk4
nbr 0x00 0x10
<03> Diplomacy(rom): "Alles, was die Klingonen schädigt, ist für uns eine willkommene Neuigkeit. Setzen Sie mit allen Mitteln Ihre Sabotage fort!" <47> Diplomacy(fed): "Ihre Feinde sind nicht unsere Feinde. Der Preis einer Allianz erscheint uns im Moment zu hoch." <48> Diplomacy(fed): "Föderation übertrugen 7335 Credits an Ferengi" <61> Diplomacy(fed): "Wir haben über viele Ihrer Aktivitäten hinweggesehen. Wir werden es auch weiterhin tun, wenn Sie bereit sind, in bestimmtem Umfang Wiedergutmachung zu leisten." <72> Diplomacy(ferg): <Doesn't show any player event, but from what I found the ferengi likely accepted a friendship treaty with the Selay.> <73> Diplomacy(ferg): "Ferengi übertrugen 665 Credits an Takaraner"
military result 0x9C
=================
0x00-0x4B
Code: Select all
<01> 9C 00 00 00 | FF 12 FF FF FF FF FF FF F9 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card
<02> 9C 00 00 00 | FF EF FF FF FF FF FF FF EE 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 card
<04> 9C 00 00 00 | FF 31 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 card/fed
<05> 9C 00 00 00 | FF 1B FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card/ferg
<06> 9C 00 00 00 | 00 32 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 card: Nausicaan discovered in R1
<07> 9C 00 00 00 | 00 81 FF FF FF FF FF FF FF FF FF FF 72 01 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 card Ruah U15: 1 cruiser2
<08> 9C 00 00 00 | FF 8D FF FF FF FF FF FF AA 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 card
<09> 9C 00 00 00 | FF ED FF FF FF FF FF FF FF FF 84 01 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 card: ship 84 01 got destroyed
<10> 9C 00 00 00 | FF 8E FF FF FF FF FF FF C8 04 FF FF FF FF 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card Canopus: 1 colony ship2
<16> 9C 00 00 00 | FF 4B FF FF FF FF FF FF FA 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<17> 9C 00 00 00 | FF 15 FF FF FF FF FF FF FB 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<18> 9C 00 00 00 | FF 1B FF FF FF FF FF FF FC 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<19> 9C 00 00 00 | FF 20 FF FF FF FF FF FF D6 03 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<20> 9C 00 00 00 | FF 56 FF FF FF FF FF FF DD 03 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<21> 9C 00 00 00 | FF 21 FF FF FF FF FF FF 58 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<22> 9C 00 00 00 | FF 11 FF FF FF FF FF FF 67 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<23> 9C 00 00 00 | FF 14 FF FF FF FF FF FF 81 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<24> 9C 00 00 00 | FF 1D FF FF FF FF FF FF AF 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 fed
<25> 9C 00 00 00 | FF DF FF FF FF FF FF FF B0 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<26> 9C 00 00 00 | FF 25 FF FF FF FF FF FF B1 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<27> 9C 00 00 00 | FF 69 FF FF FF FF FF FF B2 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<28> 9C 00 00 00 | FF 66 FF FF FF FF FF FF B3 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<29> 9C 00 00 00 | FF 34 FF FF FF FF FF FF B4 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 fed
<30> 9C 00 00 00 | FF 35 FF FF FF FF FF FF B5 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<31> 9C 00 00 00 | FF 09 FF FF FF FF FF FF B6 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 fed
<32> 9C 00 00 00 | FF 67 FF FF FF FF FF FF B7 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<33> 9C 00 00 00 | FF 1D FF FF FF FF FF FF B8 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<34> 9C 00 00 00 | FF 36 FF FF FF FF FF FF B9 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed
<35> 9C 00 00 00 | FF 36 FF FF FF FF FF FF BA 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<36> 9C 00 00 00 | FF ED FF FF FF FF FF FF BB 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 0C 00 00 fed
<37> 9C 00 00 00 | FF 33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 fed/rom
<45> 9C 00 00 00 | FF 1A FF FF FF FF FF FF FD 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 ferg
<46> 9C 00 00 00 | FF 34 FF FF FF FF FF FF F4 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 ferg
<50> 9C 00 00 00 | FF EE FF FF FF FF FF FF FF FF 6A 01 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 ferg: ship 6A 01 got destroyed
<51> 9C 00 00 00 | FF 53 FF FF FF FF FF FF FD 04 FF FF FF FF 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ferg Moab: 1 light raider II
<57> 9C 00 00 00 | FF 26 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 0C 00 00 klng/fed
<58> 9C 00 00 00 | FF 54 FF FF FF FF FF FF FF FF 91 01 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 klng: built Scout II "IKC Dughro' B" in Eden
<59> 9C 00 00 00 | FF 55 FF FF FF FF FF FF 01 05 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 klng
<62> 9C 00 00 00 | FF 8A FF FF FF FF FF FF FE 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 rom
<63> 9C 00 00 00 | FF 87 FF FF FF FF FF FF FF 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 rom
<64> 9C 00 00 00 | FF 08 FF FF FF FF FF FF F5 04 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 rom
<65> 9C 00 00 00 | FF 69 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rom/card
<66> 9C 00 00 00 | FF 1C FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 rom/fed
<67> 9C 00 00 00 | FF 54 FF FF FF FF FF FF FF FF FF FF FF FF 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 rom/fed: 5 rom cruisers attack Qualor
<70> 9C 00 00 00 | FF 37 FF FF FF FF FF FF FF FF 90 01 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 chodak alien / Juggernaut
<71> 9C 00 00 00 | FF 19 FF FF FF FF FF FF 00 05 FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 6E 69 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 chodak alien / Juggernaut
<74> 9C 00 00 00 | 17 22 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6E 69 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 0C 00 00 Nausicaan: card discovered in R1
---- ----------- -- -- ----- ----------- ----- ----- ----- ----- ------------------------------------------------------------------------------------ ----- ----- ----------- ----------- ----------------------- ----------- ----------- ----- -----
entr size r ? unk1 unk2 tfId shpId sctr sysId empty1 trgt unk3 sector row sector col empty2 unk4 unk5 unk6 emp3
nbr 0x00 idx 0x10 0x20 race 0x30 09 = sys 0x4B
attack
0x00 r: for some events it includes a one byte race identifier it seems, 0x00 = Cardassians, 0x17 = Nausicaans 0x01 ?: these are no flags and it doesn't seem to be a valid identifier either, let me know if you have a clue 0x08-0x09 tfId: the task force id, or -1 0x0A-0x0B shpId: the ship id, or -1 0x0C-0x0D sctr idx: the computed sector index (row*columns + column-1, same like the outpost ids), or -1 0x0E-0x0F sysId: the system id, or -1 0x2C-0x2D trgt race: e.g. the race id for the discovered race, or -1 0x30-0x33 sector row: the sector row this event is taking place, or -1 0x34-0x37 sector col: the sector column this event is taking place, or -1most of these values are optional and set to -1 (FF) if not available
0x4C-0x9B
Code: Select all
<01> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F6 64 65 72 61 74 69 6F 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card
<02> 54 61 72 73 3C 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 card
<04> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 61 72 61 6E 65 72 00 72 00 AC 57 01 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 card/fed
<05> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card/ferg
<06> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4E 61 75 73 69 63 61 61 6E 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card: Nausicaan discovered in R1
<07> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 card Ruah U15: 1 cruiser2
<08> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 card
<09> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 card: ship 84 01 got destroyed
<10> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F6 64 65 72 61 74 69 6F 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 card Canopus: 1 colony ship2
<16> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<17> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<18> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F6 64 65 72 61 74 69 6F 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<19> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 72 64 61 73 73 69 61 6E 65 72 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<20> 54 61 72 73 3C 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<21> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 72 65 6E 67 69 00 00 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<22> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 72 65 6E 67 69 00 65 72 00 72 20 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<23> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 72 65 6E 67 69 00 65 72 00 72 20 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<24> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<25> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6E 67 6F 73 69 61 6E 65 72 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<26> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 72 64 61 73 73 69 61 6E 65 72 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<27> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<28> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 6E 7A 69 74 65 6E 00 00 00 00 AC 57 01 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<29> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<30> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<31> 00 00 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6C 61 6D 61 72 61 69 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<32> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<33> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 00 00 AC 57 01 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<34> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<35> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fed
<36> 54 61 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 6C 61 79 00 74 69 6F 6E 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed
<37> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 fed/rom
<45> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 00 00 AC 57 01 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 ferg
<46> 54 61 72 73 3C 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 ferg
<50> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6B 64 6F 72 6E 00 72 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 ferg: ship 6A 01 got destroyed
<51> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ferg Moab: 1 light raider II
<57> 54 61 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 00 00 AC 57 01 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 klng/fed
<58> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 klng: built Scout II "IKC Dughro' B" in Eden
<59> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 klng
<62> 00 00 00 00 7B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rom
<63> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 rom
<64> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6E 67 6F 73 69 61 6E 65 72 00 00 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 rom
<65> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 75 DF 65 6E 70 6F 73 74 65 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rom/card
<66> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6F 6D 75 6C 61 6E 65 72 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rom/fed
<67> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 6C 61 6D 61 72 61 69 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rom/fed: 5 rom cruisers attack Qualor
<70> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 72 65 6E 67 69 00 65 72 00 72 20 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 chodak alien / Juggernaut
<71> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 53 20 53 61 72 61 74 6F 67 61 20 41 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 chodak alien / Juggernaut
<74> 54 61 72 73 75 73 20 49 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 61 72 64 61 73 73 69 61 6E 65 72 00 00 00 00 02 00 D3 01 00 00 00 00 6C 02 6C 02 01 00 00 00 02 0A 00 00 00 00 00 00 Nausicaan: card discovered in R1
---- ----------- ------------------------------------------------------------------------------------------------------------- ------------------------------------------------ ------------------------------------------------------------------------
entr | | <-- up to 9 shpIds --> | name: race, ship, outpost - 00 terminated likely unused memory garbage of the name, total would be 40 characters
nbr | <-- usually just memory garbage, here Tarsus II, 00 terminated, totals 40 characters --> | first letter usually zeroed out
0x4C 0x60 0x70 0x80 0x90 0x9C
intel result 0x74
==============
0x00-0x37
Code: Select all
<14> 74 00 00 00 | 1E 00 00 00 00 01 00 00 01 00 00 00 00 00 00 00 47 65 68 65 69 6D 64 69 65 6E 73 74 20 65 6E 74 64 65 63 6B 74 65 20 20 6D 69 6C 69 74 E4 72 69 73 63 68 65 20 45 69 6E
<15> 74 00 00 00 | 1F 00 00 00 00 02 64 81 02 00 00 00 00 00 00 00 44 65 72 20 47 65 68 65 69 6D 64 69 65 6E 73 74 20 76 65 72 6C 6F 72 20 65 69 6E 65 6E 20 77 69 63 68 74 69 67 65 6E 20
<44> 74 00 00 00 | 16 00 00 00 FF 01 00 00 01 00 00 00 04 00 00 00 46 65 69 6E 64 6C 69 63 68 65 20 41 67 65 6E 74 65 6E 20 68 61 62 65 6E 20 67 65 68 65 69 6D 65 20 4D 69 6C 69 74 E4 72
<55> 74 00 00 00 | 22 00 00 00 00 02 64 81 02 00 00 00 04 00 00 00 53 61 62 6F 74 61 67 65 6E 65 74 7A 77 65 72 6B 20 64 65 72 20 43 61 72 64 61 73 73 69 61 6E 65 72 20 20 75 6E 73 63 68
---- ----------- ----------- -- -- ----- ----------- ----------- -------------------------------------------------------------------------------------------------------------------------
entr size type u1 | unk2 ?kind ?actor description text
nbr 0x00 ?kind 0x10 0x20 0x30 0x37
Code: Select all
<14> 72 69 63 68 74 75 6E 67 20 64 65 72 20 46 F6 64 65 72 61 74 69 6F 6E 20 00 C7 52 00 F0 BD 48 00 90 09 1B 05 20 00 1B 05 00 00 00 00 3B 00 00 00 23 00 00 00 B0 53 2E 03 C6 51 1B 05
<15> 41 67 65 6E 74 65 6E 20 61 6E 20 64 69 65 20 46 65 72 65 6E 67 69 20 00 FA C7 52 00 F0 BD 48 00 20 03 1B 05 20 00 1B 05 00 00 00 00 3B 00 00 00 23 00 00 00 7C 1B B1 02 C6 51 1B 05
<44> 64 61 74 65 6E 20 65 72 68 61 6C 74 65 6E 2E 00 90 09 1B 05 30 00 1B 05 FA C7 52 00 F0 BD 48 00 F0 12 1B 05 20 00 1B 05 00 00 00 00 3B 00 00 00 23 00 00 00 B1 53 2E 03 C6 51 1B 05
<55> E4 64 6C 69 63 68 20 67 65 6D 61 63 68 74 00 00 20 03 1B 05 64 B9 5A 00 8C B9 5A 00 F0 BD 48 00 B0 03 1B 05 20 00 1B 05 00 00 00 00 3B 00 00 00 23 00 00 00 7D 1B B1 02 C6 51 1B 05
---- ---------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------
entr description text, ends on 00 likely unused memory garbage of the description text, total would be 100 characters
nbr 0x38 0x40 0x50 0x60 0x70 0x74
<14> discovored military structure of the federation (Geheimdienst entdeckte militärische Einrichtung der Föderation) <15> lost important spion to the ferengi (Der Geheimdienst verlor einen wichtigen Agenten an die Ferengi) <44> enemy agents received secret military data (Feindliche Agenten haben geheime Militärdaten erhalten.) <55> repelled cardassian sabotage network (Sabotagenetzwerk der Cardassianer unschädlich gemacht) kind: 01 = espionage 02 = sabotage actor: 00 = self 04 = enemyThat's for the result entry content, next comes the often referenced ordInfo details.
--- ordInfo details ---
ordInfo header 0x20 (same for ordInfo & result.lst)
=================
economy:
Code: Select all
<11> 20 00 00 00 | 98 B0 02 00 BE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 56 C5 02 70 19 4E 00 34 00 00 00 Ariannus (card): upgraded type 6 constr. yard
<12> 20 00 00 00 | DB BA 02 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 66 C5 02 70 19 4E 00 34 00 00 00 Tycho (card): upgraded type 2 constr. yard
<13> 20 00 00 00 | F7 BA 02 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 11 C5 02 70 19 4E 00 34 00 00 00 Canopus (card): built typ 1 shadow team
<40> 20 00 00 00 | A3 CD AD 2A C1 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 30 C5 88 02 70 19 4E 00 34 00 00 00 (fed): sent 7335 credits to the ferengi
<41> 20 00 00 00 | BA C1 AD 2A C0 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 18 1A C5 02 70 19 4E 00 34 00 00 00 Carema (fed): built type 1 plasma reactor
<42> 20 00 00 00 | E4 C1 AD 2A C0 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 80 94 88 02 70 19 4E 00 34 00 00 00 Rochani (fed): built wind turbines
<43> 20 00 00 00 | 1A CB AD 2A C1 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 60 5E C5 02 70 19 4E 00 34 00 00 00 Qualor (fed): built type 1 autom. farm
<52> 20 00 00 00 | 47 E4 57 55 C1 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 C3 88 02 70 19 4E 00 34 00 00 00 (ferg): sent 665 credits to the takarians
<53> 20 00 00 00 | C3 DB 57 55 C0 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 C0 20 C5 02 70 19 4E 00 34 00 00 00 Harrakis (ferg): built shied generator
<54> 20 00 00 00 | AB DC 57 55 C0 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 38 CA 88 02 70 19 4E 00 34 00 00 00 Kostolain (ferg): upgraded type 2 market
<60> 20 00 00 00 | B5 62 15 80 BD 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 D8 8C 88 02 70 19 4E 00 34 00 00 00 Eden (klng): built Scout II: IKC Dughro' B
<68> 20 00 00 00 | CB 6F AC AA C0 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 38 A6 88 02 70 19 4E 00 34 00 00 00 Mintaka (rom): upgraded type 3 energy exchange
<69> 20 00 00 00 | 38 74 AC AA C1 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 28 65 C5 02 70 19 4E 00 34 00 00 00 Romulus (rom): built orbital battery
---- ----------- ----------- ----------- ----- ----- ----------- ----------- ----------- ----------- -----------
entr size orderId turn race unk1 empty1 type contentAddr subroutine contentSize
nbr 0x00 0x10 0x20
Code: Select all
<10> 20 00 00 00 | D2 C0 02 00 C1 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 48 15 C5 02 70 19 4E 00 34 00 00 00 Canopus (card): 1 colony ship2
<51> 20 00 00 00 | 3F E4 57 55 C1 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 C8 A5 88 02 70 19 4E 00 34 00 00 00 Moab (ferg): 1 light raider II
---- ----------- ----------- ----------- ----- ----- ----------- ----------- ----------- ----------- -----------
entr size orderId turn race unk1 empty1 type contentAddr subroutine contentSize
nbr 0x00 0x10 0x20
Code: Select all
<03> 20 00 00 00 | AA 73 AC AA C1 00 00 00 04 00 00 00 00 00 00 00 05 00 00 00 B0 05 E7 03 70 19 4E 00 8C 04 00 00 Diplomacy (rom): please keep sabotaging the klingons
<47> 20 00 00 00 | D4 C7 AD 2A C1 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 08 03 33 03 70 19 4E 00 8C 04 00 00 Diplomacy (fed): rejected alliance or war pact
<48> 20 00 00 00 | 18 CC AD 2A C1 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 28 29 93 02 70 19 4E 00 8C 04 00 00 Diplomacy (fed): sent ferengi 7335 credits
<61> 20 00 00 00 | D9 C7 AD 2A C1 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 40 0A E7 03 70 19 4E 00 8C 04 00 00 Diplomacy (fed): demand 5345 credits, immediate
<72> 20 00 00 00 | 21 E2 57 55 C1 00 00 00 02 00 00 00 00 00 00 00 05 00 00 00 80 04 64 03 70 19 4E 00 8C 04 00 00 Diplomacy (ferg): Selay ??friendship
<73> 20 00 00 00 | 60 E3 57 55 C1 00 00 00 02 00 00 00 00 00 00 00 05 00 00 00 08 03 8B 03 70 19 4E 00 8C 04 00 00 Diplomacy (ferg): sent takarians 665 credits
---- ----------- ----------- ----------- ----- ----- ----------- ----------- ----------- ----------- -----------
entr size orderId turn race unk1 empty1 type contentAddr subroutine contentSize
nbr 0x00 0x10 0x20
0x00-0x03 orderId: similar to the resultId from result.lst this looks to be incremented starting from a race offset [raceId*max_uint/6] 0x04-0x07 turn: likely the turn this order got issued, where 0 ist first turn (C1=>194, current=195) (already known) 0x08-0x09 race: the race id this event is related to (already known) 0x0A-0x0B unk1: some unknown flags I found used in a BOPL game 0x10-0x13 type: the order type 0 for economic orders (already known) 1 ?? none in save7, but refer result.lst 2 for military orders (already known) 3 ?? none in save7, but refer result.lst 4 ?? by guess for intel results, refer result.lst 5 for diplomatic orders 7 for labor orders
economic order 0x34 (same for ordInfo & result.lst)
==================
Code: Select all
<11> 34 00 00 00 | 02 00 00 00 43 00 00 80 5C 00 5D 00 06 00 00 00 02 00 00 00 FF FF FF FD FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Ariannus (card): upgraded type 6 constr. yard
<12> 34 00 00 00 | 02 00 00 00 4D 00 00 80 58 00 59 00 06 00 00 00 02 00 00 00 FF FF FF 5A FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Tycho (card): upgraded type 2 constr. yard
<13> 34 00 00 00 | 00 00 00 00 3F 00 00 80 6B 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF 59 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Canopus (card): built typ 1 shadow team
<40> 34 00 00 00 | 08 00 00 00 FF FF 00 80 FF 7F FF 7F 22 00 00 00 00 00 00 00 FF FF FF FB FF FF FF FF FF FF FF FF 00 00 00 00 A7 1C 00 00 00 00 00 00 02 00 00 00 00 00 00 00 (fed) sent 7335 credits to the ferengi
<41> 34 00 00 00 | 00 00 00 00 19 00 00 80 A2 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF 49 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Carema (fed): built type 1 plasma reactor
<42> 34 00 00 00 | 00 00 00 00 0B 00 00 80 13 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF 5A FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Rochani (fed): built wind turbines
<43> 34 00 00 00 | 00 00 00 00 10 00 00 80 90 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF 1D FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Qualor (fed): built type 1 autom. farm
<52> 34 00 00 00 | 08 00 00 00 FF FF 00 80 FF 7F FF 7F 22 00 00 00 00 00 00 00 FF FF FF FB FF FF FF FF FF FF FF FF 00 00 00 00 99 02 00 00 00 00 00 00 1B 00 00 00 00 00 00 00 (ferg): sent 665 credits to the takarians
<53> 34 00 00 00 | 00 00 00 00 35 00 00 80 14 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF 49 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Harrakis (ferg): built shied generator
<54> 34 00 00 00 | 02 00 00 00 2A 00 00 80 BE 00 BF 00 02 00 00 00 02 00 00 00 FF FF FF 6F FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Kostolain (ferg): upgraded type 2 market
<60> 34 00 00 00 | 00 00 00 00 53 00 00 80 FF 7F FF 7F 22 00 00 00 03 00 00 00 4C 00 FF 2F FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Eden (klng): built Scout II: IKC Dughro' B
<68> 34 00 00 00 | 02 00 00 00 51 00 00 80 D1 00 D2 00 0E 00 00 00 02 00 00 00 FF FF FF A5 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Mintaka (rom): upgraded type 3 energy exchange
<69> 34 00 00 00 | 00 00 00 00 06 00 00 80 05 00 FF 7F 22 00 00 00 01 00 00 00 FF FF FF A3 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 Romulus (rom): built orbital battery
---- ----------- ----------- ----- ----- ----- ----- ----------- ----------- ----- ----- ----------------------- ----------- ----------- ----------- ----- ------------------
entr size type sysId unk1 build upgr unk2 subtype shp unk4 unk5 empty1 crds spent empty2 trgt empty3
nbr 0x00 flags strct strct 0x10 type 0x20 race 0x30
type type
0x00-0x03 type: economic order type 0 = build structure or ship 1 = buy 2 = upgrade structure 3 = scrap structure 7 = trade route 8 = send credits and by SCT @ viewtopic.php?p=54283#p54283 9 = transfer dilithium (unfinished) 10 = transfer food (unfinished) 11 = transfer energy (unfinished) 0x04-0x05 sysId: system or star id the order is assigned to, or -1 0x08-0x09 build strct type: the structure type being built, or FF 7F (max signed int) 0x0A-0x0B upgr strct type: the structure upgrade being built, or FF 7F (max signed int) 0x10-0x13 subtype: a more specific sub-type of the economic order type 0 = send credits 1 = build structure 2 = upgrade structure 3 = build ship 5 = build trade goods 0x14-0x15 shp type: the ship type being built, or -1 0x24-0x27 crds spent: the amount of credits being spent 0x2C-0x2D trgt race: the race an action like a gift is directed at
military order 0x34 (same for ordInfo & result.lst)
================
Code: Select all
<10> 34 00 00 00 | 01 00 00 00 0E 00 00 00 0D 00 00 00 FF FF FF FF FF FF FF FF 01 00 00 00 01 00 00 00 C8 04 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF Canopus N15: 1 card colony ship II, likely completed to terraform another planet
<51> 34 00 00 00 | 01 00 00 00 08 00 00 00 10 00 00 00 FF FF FF FF FF FF FF FF 02 00 00 00 01 00 00 00 FD 04 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF Moab Q9: 1 ferg light raider II, likely been joined with a colony ship that now colonized the system
and for reference a few a few samples from ordInfo:
00 00 00 00 0D 00 00 00 02 00 00 00 06 00 00 00 14 00 00 00 00 00 00 00 FF FF FF FF 1B 03 FF FF 00 00 00 00 86 98 00 00 00 00 00 00 01 00 00 00 01 00 00 00 sector D13: 1 fed colony ship II
00 00 00 00 11 00 00 00 0B 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 FF FF FF FF FC 02 FF FF 00 00 00 00 87 98 00 00 00 00 00 00 02 00 00 00 02 00 00 00 sector D12: 1 fed science vessel II
00 00 00 00 0D 00 00 00 0F 00 00 00 03 00 00 00 12 00 00 00 00 00 00 00 FF FF FF FF 98 00 FF FF 00 00 00 00 5A DE 00 00 00 00 00 00 02 00 00 00 01 00 00 00 sector S8: 1 rom scout II (cloaked)
00 00 00 00 0F 00 00 00 0D 00 00 00 0E 00 00 00 14 00 00 00 00 00 00 00 FF FF FF FF 7F 04 FF FF 00 00 00 00 FC D2 00 00 00 00 00 00 01 00 00 00 01 00 00 00 sector E11: 1 card cruiser II
00 00 00 00 03 00 00 00 0D 00 00 00 08 00 00 00 15 00 00 00 00 00 00 00 FF FF FF FF 1B 00 FF FF 00 00 00 00 AE C1 00 00 00 00 00 00 01 00 00 00 03 00 00 00 sector P6: 9 klng battle cruiser II (cloaked)
00 00 00 00 0E 00 00 00 17 00 00 00 0B 00 00 00 14 00 00 00 00 00 00 00 FF FF FF FF EC 04 FF FF 00 00 00 00 FE D2 00 00 00 00 00 00 01 00 00 00 01 00 00 00 sector W14: 1 card cruiser II
00 00 00 00 0A 00 00 00 06 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 FF FF FF FF 12 04 FF FF 00 00 00 00 5C DE 00 00 00 00 00 00 02 00 00 00 01 00 00 00 sector C15: 1 rom scout II (cloaked)
00 00 00 00 0F 00 00 00 0D 00 00 00 0E 00 00 00 12 00 00 00 00 00 00 00 FF FF FF FF 0F 04 FF FF 00 00 00 00 8B 98 00 00 00 00 00 00 01 00 00 00 01 00 00 00 sector E11: 1 fed tt II
00 00 00 00 03 00 00 00 0D 00 00 00 02 00 00 00 10 00 00 00 00 00 00 00 FF FF FF FF C4 04 FF FF 00 00 00 00 93 98 00 00 00 00 00 00 01 00 00 00 02 00 00 00 sector O3: 1 fed destroyer II
00 00 00 00 03 00 00 00 0D 00 00 00 01 00 00 00 0E 00 00 00 00 00 00 00 FF FF FF FF F0 04 FF FF 00 00 00 00 97 98 00 00 00 00 00 00 01 00 00 00 01 00 00 00 sector O3: 1 fed light cruiser II
00 00 00 00 01 00 00 00 18 00 00 00 0D 00 00 00 0F 00 00 00 00 00 00 00 FF FF FF FF 89 04 FF FF 00 00 00 00 EF ED 01 00 00 00 00 00 02 00 00 00 03 00 00 00 sector P11: 1 ferg scout II
01 00 00 00 03 00 00 00 14 00 00 00 FF FF FF FF FF FF FF FF 0E 00 00 00 01 00 00 00 FE 04 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 5F 00 00 00 FF FF FF FF sector U4: 5 rom cruiser II attacking fed Qualor
---- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----- ----- ----------- ----------- ----------- ----------- -----------
entr size type dest row dest col start row start col mission sys eff tskf unk1 empty1 unk2 empty2 missDat1 missDat2
nbr 0x00 0x10 id 0x20 0x30 0x34
0x00-0x03 type: military order type 0 = movement 1 = action (terraform, system attack, etc.) 0x04-0x07 dest row: the destination sector row, for result.lst the reached destination 0x08-0x0B dest col: the destination sector column, for result.lst the reached destination 0x0C-0x0F start row: the start sector row when the order was initially given 0x10-0x13 start col: the start sector column when the order was initially given 0x14-0x17 mission: the already known task force / ship mission 0 = move 1 = terraform 2 = colonize 3 = raid 4 = intercept 5 = evade 6 = engage 7 = build outpost 8 = build starbase 9 = train crew 10 = ?expand 11 = ?invalid 12 = scrap 13 = enter wormhole 14 = attack system 0x18-0x1B sys eff: whether the action is system effective like system attack, terraform or colonize 0x1C-0x1D tskf id: the task force id 0x24-0x27 unk2: Unknown, but for ordInfo the same as GTForceList / GWTForce 0x54-0x57. Looks like some counted identifier, but isn't listed by any other file. 0x2C-0x2F missDat1: first mission value, which depends on the assigned mission for the move mission, this looks to be the max range of the task force (0:short, 1:med, 2:large) for terraform mission, it is the planet id (0 = right most) for system attack, it is the computed sector index (row*columns + column-1, same like the outpost ids) 0x30-0x33 missDat2: second mission value, which depends on the assigned mission for the move mission this looks to be the speed when the order was given. The romulan scout here makes an exception, but I guess it just upgraded.
diplomatic order 0x48C (same for ordInfo & result.lst)
====================
0x00-0x39
Code: Select all
<03> 8C 04 00 00 | 07 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF FF rom: please keep sabotaging the klingons
<47> 8C 04 00 00 | 02 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF 02 00 00 00 02 00 01 00 fed: rejected alliance or war pact
<48> 8C 04 00 00 | 08 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF 08 00 00 00 01 00 02 00 fed: sent ferengi 7335 credits
<61> 8C 04 00 00 | 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF 04 00 00 00 01 00 03 00 fed: demand 5345 credits, immediate
<72> 8C 04 00 00 | 01 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 05 00 00 00 19 00 02 00 ferg: Selay ??friendship
<73> 8C 04 00 00 | 08 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF 08 00 00 00 02 00 1B 00 ferg: sent takarians 665 credits
---- ----------- ----------- ----------- ------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ----- -----
entr size type unk1 empty1 player msg unk2 type2 src trgt
nbr 0x00 0x10 0x20 y/n race race 0x40
0x00-0x03 type: diplomatic action type 00 = request money 02 = reject alliance or war pact 07 = encourage to keep sabotaging 08 = send credits 0x30-0x33 player msg: whether the player gets to see a message in the event log 0x38-0x3B type2: again some diplomatic action related type, but with a different value assignment possibly this relates to the target effect 00 = encourage to keep sabotaging 02 = reject alliance or war pact 04 = request money 08 = send credits 0x3C-0x3D src race: the race that issued the diplomatic action 0x3E-0x3F trgt race: the race to that the diplomatic action is directed0x40-0x83
Code: Select all
<03> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 rom: please keep sabotaging the klingons
<47> FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 02 00 00 00 00 00 00 00 fed: rejected alliance or war pact
<48> 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A7 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 00 00 00 00 fed: sent ferengi 7335 credits
<61> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E1 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 C1 00 00 00 fed: demand 5345 credits, immediate
<72> FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 19 00 00 00 00 00 00 00 ferg: Selay ??friendship
<73> 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 99 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 00 00 00 00 ferg: sent takarians 665 credits
---- -- -------------------------------- ----------- ----------- ----------------------- ----------- ----------- ------------------------------------------------------------ ----- ----- ----- ----- -----------
entr u3 empty2 sent crds req crds empty3 crds sent crds req empty4 unk4 emp5 resp emp6 turn
nbr 0x40 ?gift ?rsp expct 0x60 0x70 race 0x84
0x4C-0x4F sent crds: some boolean or type value for when credits are sent, possibly a boolean for when a favor is made 0x50-0x53 req crds: some boolean or type value for when demanding a payment, possibly a boolean for when a response is expected 0x5C-0x59 crds sent: the credits being sent 0x60-0x63 crds req: the credits that is asked for 0x7C-0x7D resp race: set to the race that reacted on some message or event, or -1 0x80-0x83 turn: the turn the message got sent (C1=>194, current=195), likely set when a response is expected0x84-0x48B (all):
Code: Select all
01 00 00 00 XX ......................................... 00 00 00 00 00
----------- ----------------------------------------------- -----------
text y/n 400 bytes of text, 0A 00 terminated empty
<03> " Alles, was die Klingonen schädigt, ist für uns eine willkommene Neuigkeit. Setzen Sie mit allen Mitteln Ihre Sabotage fort!" <47> " Ihre Feinde sind nicht unsere Feinde. Der Preis einer Allianz erscheint uns im Moment zu hoch." <48> no text -> Föderation übertrugen 7335 Credits an Ferengi <61> " Wir haben über viele Ihrer Aktivitäten hinweggesehen. Wir werden es auch weiterhin tun, wenn Sie bereit sind, in bestimmtem Umfang Wiedergutmachung zu leisten. " <72> no text <73> no text -> Ferengi übertrugen 665 Credits an TakaranerNow I'm done, just need to fix this UE thing.

Last edited by Flocke on Mon Mar 06, 2023 5:09 pm, edited 11 times in total.
- Spocks-cuddly-tribble
- Code Master
- Posts: 1532
- Joined: Sun Apr 27, 2008 2:00 am
Re: UE Map Editor
Respect! Looks like great progress! Sadly I can't keep up to study most AFC post in detail or even just to read them.
- sub_448970 overwrites [GTForceList or GWTForce+30h] (you say sector index ID?) when ordering task forces with TTs to attack systems, so it should use the same location for both functions
- Of course we can refer to bit tables as flags and not masks from now on and you guys may use admin powers to change my older posts if you want to
And sorry if I caused any inconvenience with mentioning the ordInfo as source of the training crash. It's the asm-technical carrier. Of course the loaded ordInfo file could carry out the AI agent's orders between turns without having the crash-source stored in the ordInfo of the saved game. Since ordInfo is also used for human players, and they cannot preset subsequent orders in destination sector, I should have considered this even without knowing about the file itself. At least I edited my post with the map AI data link to help analysing AI agents.
The delay of the trade route saved game crash was always strange, unless it's triggered by opening or clicking on parts of the GUI?
- sub_448970 overwrites [GTForceList or GWTForce+30h] (you say sector index ID?) when ordering task forces with TTs to attack systems, so it should use the same location for both functions
- Of course we can refer to bit tables as flags and not masks from now on and you guys may use admin powers to change my older posts if you want to
And sorry if I caused any inconvenience with mentioning the ordInfo as source of the training crash. It's the asm-technical carrier. Of course the loaded ordInfo file could carry out the AI agent's orders between turns without having the crash-source stored in the ordInfo of the saved game. Since ordInfo is also used for human players, and they cannot preset subsequent orders in destination sector, I should have considered this even without knowing about the file itself. At least I edited my post with the map AI data link to help analysing AI agents.
The delay of the trade route saved game crash was always strange, unless it's triggered by opening or clicking on parts of the GUI?
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
Thx, I went into analysing this when I encountered some issues removing ai ships.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm Respect! Looks like great progress! Sadly I can't keep up to study most AFC post in detail or even just to read them.
I am sure the ordInfo and result.lst analysis help to bring more light to the ai workings if you ever take another look.
Clearing task force orders and removing ships I got to work by now.

The target sector index indeed is set for any task force movement. So checking GWTForce or GSchipList you can already see where the task force is moving to. Different from UE I think it is also being read to display the movement path for player task forces.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm - sub_448970 overwrites [GTForceList or GWTForce+30h] (you say sector index ID?) when ordering task forces with TTs to attack systems, so it should use the same location for both functions
I figured this while I actually was analysing the ordInfo file and checked on matching values.
Ah well, we already deviate with other namings. While coding however I always try to find proper self descriptive names and hate to always type some name I find improper just to keep consistency.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm - Of course we can refer to bit tables as flags and not masks from now on and you guys may use admin powers to change my older posts if you want to
It's rather been the included sector and task force references that got me to analyse this data. And I first went to analyse result.lst till I noticed it contained same ordInfo structures. Further I didn't take a look into crew training yet, but I am confident that'll be no issue now with the other fixes.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm And sorry if I caused any inconvenience with mentioning the ordInfo as source of the training crash.

Therefore I analysed some more on AIShpUnt and other agent files as well. But that was not as much trouble I feared.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm It's the asm-technical carrier. Of course the loaded ordInfo file could carry out the AI agent's orders between turns without having the crash-source stored in the ordInfo of the saved game.
AgtSh lists the ship ids to manage, and by AIShpUnt (possibly an abbreviation for ship undertake) the ai assigns an AITask, which can be simply cleared by setting the next task reference to -1. AITask in turn tells on the command and target sector, and includes alot of sub routine and memory offset references that is no relevant sav data.
Further there are the TskSh files that are numbered by the AITask id and tell on what agent ships are assigned to what task, just like it is stored with the AIShpUnt files. It is just AIShpUnt links Ship -> AITask, while TskSH links AITask -> Ship.
Clear both and the ai will assign a new task the next turn.
I am currently not sure on this error but it might already be fixed.Spocks-cuddly-tribble wrote: ↑Sat May 22, 2021 12:17 pm The delay of the trade route saved game crash was always strange, unless it's triggered by opening or clicking on parts of the GUI?
The trade routes themselves just point to the system id. But it might be that for establishing the trade routes the old sector location is looked up. Only testing can tell.
---
While testing btw I now found evidence that at least the techInfo file needs to have the LZSS dictionary filled with 0 to not mess it up.
I guess there are more of such files. Possibly all binary files have the dict filled with 0, while textual files have it filles with 0x20 space characters.
I figured this again encountering a missing tech entry when I re-opened a file with UE that I first modified with UE, and then loaded and stored with BotF.
When the dictionary is read from a pre-filled location, the game then read 0x00 for the id where actually it was 0x20, and in other locations in UE it afterwards read 0x20 where actually trek.exe meant to refer a pre-filled 0. Guess I will have to try each of the files to figure them all.
- Flocke
- BORG Trouble Maker
- Posts: 2980
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
Re: UE Map Editor
I tested all of the files now and the results are inconclusive.
From testing, techInfo is the only file that must be 00 defaulted to not loose the 0x20 tech entry index, but many others could be 00 defaulted without error and no file corruption I found.
Alot of files I assumed binary actually must be 0x20 defaulted. The game crashes on load if 00'ed for:
- Agt* files
- alienInfo
- empsInfo
- gameInfo <- this one actually loaded, but the ai took over and it crashed next turn
- GTForceList
- GWTForce
- ordInfo
- provInfo* files
- result.lst
- sector.lst
- starBaseInfo
- strcInfo
- systInfo
- trdeInfo* files
- AI* files
- alienTFInfo* files
- galInfo
- GShipHead
- GShipList
- GTForceHd
- GTFStasis
- GTFStasisHd
- GWTForceHd
- intelInfo
- monster.lst
- RToSInfo
- SeedInfo
- ShipCntr
- shipname.dat
- SphOfIn* files
- stellInfo
- TForceCntr
- treaty
- Tsk* files
- version
Therefore I decided to check on the asm code whether I could find anything, but it's hard to decrypt what's going on there and I found no clue on it either. I can't even tell what routine is responsible for the LZSS decryption and what is the LZSS dictionary.
With these inconsistent results and given the larger sav file sizes, I now believe trek.exe never used that feature.
I never found it being used by any of my LZSS sav file decryption analysis, and it is the only explanation UE doesn't care with what value a trek.exe stored sav is decrypted.
Therefore I overworked the compression algorithm to disable that feature, and voila, trek.exe now doesn't care anymore either with what value the dictionary is filled. It might even be the trek.exe decryption leaves the dictionary uninitialized. Given one would have to debug the trek.exe sav decryption to ever tell for sure, the safest really is to not depend on it but just allow for value references to already written data.
It didnt even have a noticable effect on the file size.
----
While checking on the asm code, I btw found that the race based ordInfo id offsets is set in:
sub_456A70
AUTO:00456A79 mov edx, 1
AUTO:00456A7E mov ecx, 2AAAAAAAh
AUTO:00456A83 mov ebx, 55555555h
AUTO:00456A88 mov esi, 7FFFFFFFh
AUTO:00456A8D mov edi, 0AAAAAAAAh
AUTO:00456A92 push offset aOrdinfo ; "ordInfo"
AUTO:00456A97 mov ebp, 0D5555552h
----
And on another note, testing the removal of task forces, I noticed that it indeed speeds ai turn processing time alot!
Adding and removing task forces or altering orders therefore could help further analysing this.