techtree.tec - TalShiar operatives report successful mission
Moderator: thunderchero
- Tethys
- Past Administrator
- Posts: 2404
- Joined: Fri Jul 18, 2008 2:00 am
- Location: Your mom's bed ;)
- Contact:
techtree.tec - TalShiar operatives report successful mission
Ive been doing some digging to try to find out how to make tech levels show up above 10 since we have found out how to add ships at higher techs and make them available, so I opened up techtree.tec in HxD...
I will attempt to decode it to the best of my knowledge:
Each Technology level for each field of Technology (Bionics, Metagenics, Positronics, Ultra emitters, etc) is 72 bytes (48 in hex?) in techtree.tec
After editing one tech into techtree.tec, no crash up until i click on Tech 11 ship, but look before crash!
Success in adding an 11th Comp Tech to techtree.tec! But it crashes when clicked... and many of the following Techs must be hex edited to compensate for new tech! See screenshot below!
EDIT: Blue bits; Computer 0 = 12th Tech placement but is stored as 0B in hex (or 11) since 00 in hex (0) is first entry for Basic Biotech.
EDIT: The PINK refers to the location of the beginning of Techs description within techdesc.tec - if referred to the end of the list it starts over with a Basic Biotech description!
I would need (please) DCER to make an update for UE to be able to edit techtree.tec in order to update the bits in blue, since it is a pain to add them one by one in Hex (call me lazy, thats ok lol)
I will attempt to decode it to the best of my knowledge:
Each Technology level for each field of Technology (Bionics, Metagenics, Positronics, Ultra emitters, etc) is 72 bytes (48 in hex?) in techtree.tec
After editing one tech into techtree.tec, no crash up until i click on Tech 11 ship, but look before crash!
Success in adding an 11th Comp Tech to techtree.tec! But it crashes when clicked... and many of the following Techs must be hex edited to compensate for new tech! See screenshot below!
EDIT: Blue bits; Computer 0 = 12th Tech placement but is stored as 0B in hex (or 11) since 00 in hex (0) is first entry for Basic Biotech.
EDIT: The PINK refers to the location of the beginning of Techs description within techdesc.tec - if referred to the end of the list it starts over with a Basic Biotech description!
I would need (please) DCER to make an update for UE to be able to edit techtree.tec in order to update the bits in blue, since it is a pain to add them one by one in Hex (call me lazy, thats ok lol)
Last edited by Tethys on Sun May 16, 2010 1:30 pm, edited 11 times in total.
- Tethys
- Past Administrator
- Posts: 2404
- Joined: Fri Jul 18, 2008 2:00 am
- Location: Your mom's bed ;)
- Contact:
Ive come to the conclusion that there must be a Limiting function somewhere in trek.exe that limits each tech level to 11 levels per tech category (0 - 10), so the Limiter would probably be stored as a single byte: 0A (in this case it could mean stop when reached) or 0B (in this case it would mean begin new/next when reached)
Would be near impossible to find I am afraid unless someone knows where in trek.exe calls for the tech tree are assessed.
So i guess this is Mothballed until one of the experienced codemasters finds the locations
Edit: Unless it is stored at or near one of the locations specified in this post: viewtopic.php?name=Forums&file=viewtopi ... 6&start=15
Would be near impossible to find I am afraid unless someone knows where in trek.exe calls for the tech tree are assessed.
So i guess this is Mothballed until one of the experienced codemasters finds the locations
Edit: Unless it is stored at or near one of the locations specified in this post: viewtopic.php?name=Forums&file=viewtopi ... 6&start=15
Last edited by Tethys on Mon May 03, 2010 12:46 am, edited 1 time in total.
- Tethys
- Past Administrator
- Posts: 2404
- Joined: Fri Jul 18, 2008 2:00 am
- Location: Your mom's bed ;)
- Contact:
I just realized that all this info is available at http://members.aon.at/zelli/technic.htm
crap, i thought i did something new
EDIT: but the more i look at it the more i believe that there is a limiter somewhere in trek.exe... when I added a 12th level to techtree.tec and added another description in techdesc.tec, this time I placed it at the END of the entire techtree list, but I numbered it as if it were after Tech11, the result was UE reads both new Tech11 and Tech12, but when in game Tech screen, only Tech11 shows up and no Tech 12 (i am assuming its placed in the Sociology screen at the end, which is limited to 11 Techs (0-10) and cannot be seen)
crap, i thought i did something new
EDIT: but the more i look at it the more i believe that there is a limiter somewhere in trek.exe... when I added a 12th level to techtree.tec and added another description in techdesc.tec, this time I placed it at the END of the entire techtree list, but I numbered it as if it were after Tech11, the result was UE reads both new Tech11 and Tech12, but when in game Tech screen, only Tech11 shows up and no Tech 12 (i am assuming its placed in the Sociology screen at the end, which is limited to 11 Techs (0-10) and cannot be seen)
- Tethys
- Past Administrator
- Posts: 2404
- Joined: Fri Jul 18, 2008 2:00 am
- Location: Your mom's bed ;)
- Contact:
I just got to thinking that maybe we are looking for a series of 6 or 7 Limiters...
On the other hand, it could be that we are looking for a reference pointer in Trek.exe to the first Tech Level (Tech 0) of each Tech field in its place in techtree.tec
The second option to me seems the most plausible... Ill be doing more digging later on tonight...
EDIT: To add to second option, there could be a pointer in Trek.exe to the Tech Fields techtree placement (the blue highlights in 3rd pic from top) (meaning that each entry for each Tech will be different, so we would be looking for these values near or at where we would find the 7 Techs in Trek.exe (i believe))
00 - Basic Biotech location in techtree.tec
0B - Basic Computers location
16 - Basic Construction
21 - Basic Energy
2C - Basic Propulsion
37 - Basic Weapons
42 - Sociology 0
On the other hand, it could be that we are looking for a reference pointer in Trek.exe to the first Tech Level (Tech 0) of each Tech field in its place in techtree.tec
The second option to me seems the most plausible... Ill be doing more digging later on tonight...
EDIT: To add to second option, there could be a pointer in Trek.exe to the Tech Fields techtree placement (the blue highlights in 3rd pic from top) (meaning that each entry for each Tech will be different, so we would be looking for these values near or at where we would find the 7 Techs in Trek.exe (i believe))
00 - Basic Biotech location in techtree.tec
0B - Basic Computers location
16 - Basic Construction
21 - Basic Energy
2C - Basic Propulsion
37 - Basic Weapons
42 - Sociology 0
Last edited by Tethys on Mon May 03, 2010 6:37 pm, edited 1 time in total.
- Flocke
- BORG Trouble Maker
- Posts: 3247
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
That's just some stored failure text. You wouldn't find anything by try and error over there.Tethys wrote:Could someone take a look at 0x17735B and tell me what this is supposed to do? Is this a check of some sort? If so, this looks promising... Ill see if i can change some values around to see what happens...
Taking a look with ida 4.9 (the free one), the text get's loaded at asm452777 (0x51B77), around there you might have more luck. But best take a look with ida yourself, even if you don't know anything about assembler it might help you to figure much more.
I've also seen, the error message get's loaded in case of the value 0xC80 in the cx register.
good luck =)
Edit: there's a similar procedure + failure message for the minor races some lines above. I guess the whole check could be related to the race's advancement and to the galaxy generation. The research index might be used to retrieve the evolution state (research, systemcount, buildings, ships,...).
But only guessed...
- Flocke
- BORG Trouble Maker
- Posts: 3247
- Joined: Sun Apr 27, 2008 2:00 am
- Location: Hamburg, Germany
- Contact:
I don't think so, just wanted to let you know there's a free version in existance (on ida's homepage). Didn't know you already have one bought. *fib*Tethys wrote:I have IDA 5.2.0.908
Does text only load in IDA 4.9?
I didn't run the debugger, just watched the source. I didn't find a working way to play botf in windowed mode yet and without it's quite hard to debug. For me, tools like D3DWindower always had troubles with moving the cursor.