Depends on the code of BoP-large (same as base with different values or other special changes?).
Same code frame = same four UE adaptions for inner ring area=0, so no issues
Moderator: thunderchero
Depends on the code of BoP-large (same as base with different values or other special changes?).
Guess I need to fix UE to interpret these op codes as signed byte values then. Bet that breaks TC's fixture again.Spocks-cuddly-tribble wrote: ↑Thu Sep 22, 2022 1:42 pm Yes, it would be a 'mess up at your own risk' option. I don't argue against your point, but funny thing is that UE doesn't understand the requested opcode frame. In this example it allowed input values of invalid range (IDs >127) but rejects the same values with a working, but unkown frame.
luckily we have validation, you swapped the offsetsthunderchero wrote: ↑Thu Sep 22, 2022 1:50 pm I start getting ready to patch installer trek.exe's but noticed the "large map" version had different values
4AF30A 0xae70a B9 0B -> BA 00
4AF194 0xae594 B9 0F -> BA 00
any potential issues?
BotF default code for small & large ring galaxies (not medium) uses each the same shared value for WidthOfRing and HomeSystemsMinDistance (ecx).
Code: Select all
004AF026 33C9 XOR ECX,ECX // set 0
004AF028 90909090 NOP
004AF1A9 B1 04 MOV CL,4 // small ring
004AF31F B1 06 MOV CL,6 // large ring
I have compiled and installed beta 6 for basic testing before release later this weekend, anything I should be checking for on ECM?
All test games with pending patches were flawless. So I hope all is fine. And thank you for all your efforts.
Ah I see, that patch actually is already integrated with UE (RingMinEmpireDistanceFix)Spocks-cuddly-tribble wrote: ↑Thu Sep 22, 2022 4:15 pm BotF default code for small & large ring galaxies (not medium) uses each the same shared value for WidthOfRing and HomeSystemsMinDistance (ecx).
I think Gowron fixed this limitation in the BoP code and the UE issue with his RingCentreSize workaround is just a side effect.
Such a value separating patch (and UE support for it) might be useful for many mods...![]()
after compiling 3 time due to missing tasks and syntax ECM now is installing with all the correct files.Spocks-cuddly-tribble wrote: ↑Thu Sep 22, 2022 5:04 pmAll test games with pending patches were flawless. So I hope all is fine. And thank you for all your efforts.![]()
For ECM its (many changes/patches): viewtopic.php?p=57301#p57301 + download/file.php?id=3125 (other res.files)
thunderchero wrote: ↑Tue Sep 20, 2022 8:43 amMUM use less than 9 upgrades and UE tends to break upgrades by changing a working upgrade list.
So BoP issue was uneeded/unused special group buildings in between. But what was the MUM issue?
I don't mean to beat a dead horse, but rereading this it still feels like an epic miscommunication.Flocke wrote: ↑Thu Sep 22, 2022 12:58 pmNo, this basic validation really is great to detect and avoid coding mess. Further UE has no mod detection, but you'd need different configurations for different mods plus your modifications of mods. Adding all those options leads to alot of mess where you easily forget on some changes, not to speak of all the needed code refactoring to make all those locations configurable.Spocks-cuddly-tribble wrote: ↑Thu Sep 22, 2022 11:41 am UE Read/Write Error Validation error/unknown modification
Wouldn't it be an easy workaround (e.g. MUM morale buildings) to just add the option to modifiy value at position X regardless of unexpected opcode?
Furthermore many patch locations have duplicates, some are overridden by mods, some become completely unavailable.
MUM morale buildings here are a good example where even the data type is changed. It wouldn't be enough to tell the new location, UE needs to be aware of what values it can write - which is validated by the op code.
you really expect BOTF to be logical?Spocks-cuddly-tribble wrote: ↑Fri Sep 23, 2022 11:27 am So BoP issue was uneeded/unused special group buildings in between. But what was the MUM issue?
I currently can't debug, but by the integrity check the ids look fine:Spocks-cuddly-tribble wrote: ↑Fri Sep 23, 2022 11:27 am So BoP issue was uneeded/unused special group buildings in between. But what was the MUM issue?
Code: Select all
Info: in edifice.bst: Empire 0 main industry buildings: IDs 42 to 46.
Info: in edifice.bst: Empire 0 main food buildings (minus primitive farms): IDs 48 to 52.
Info: in edifice.bst: Empire 0 main intel buildings: IDs 53 to 57.
Info: in edifice.bst: Empire 0 main energy buildings: IDs 58 to 62.
Info: in edifice.bst: Empire 0 main research buildings: IDs 63 to 67.
Info: in edifice.bst: Empire 1 main industry buildings: IDs 82 to 86.
Info: in edifice.bst: Empire 1 main food buildings (minus primitive farms): IDs 88 to 92.
Info: in edifice.bst: Empire 1 main intel buildings: IDs 93 to 97.
Info: in edifice.bst: Empire 1 main energy buildings: IDs 98 to 102.
Info: in edifice.bst: Empire 1 main research buildings: IDs 103 to 107.
Info: in edifice.bst: Empire 2 main industry buildings: IDs 122 to 126.
Info: in edifice.bst: Empire 2 main food buildings (minus primitive farms): IDs 128 to 132.
Info: in edifice.bst: Empire 2 main intel buildings: IDs 133 to 137.
Info: in edifice.bst: Empire 2 main energy buildings: IDs 138 to 142.
Info: in edifice.bst: Empire 2 main research buildings: IDs 143 to 147.
Info: in edifice.bst: Empire 3 main industry buildings: IDs 162 to 166.
Info: in edifice.bst: Empire 3 main food buildings (minus primitive farms): IDs 168 to 172.
Info: in edifice.bst: Empire 3 main intel buildings: IDs 173 to 177.
Info: in edifice.bst: Empire 3 main energy buildings: IDs 178 to 182.
Info: in edifice.bst: Empire 3 main research buildings: IDs 183 to 187.
Info: in edifice.bst: Empire 4 main industry buildings: IDs 202 to 206.
Info: in edifice.bst: Empire 4 main food buildings (minus primitive farms): IDs 208 to 212.
Info: in edifice.bst: Empire 4 main intel buildings: IDs 213 to 217.
Info: in edifice.bst: Empire 4 main energy buildings: IDs 218 to 222.
Info: in edifice.bst: Empire 4 main research buildings: IDs 223 to 227.
Thing is already on load it must be enforced, then it must apply to all hidden values (like patch code or value duplicates) the user isn't even aware of. Furthermore all the asm reading code must be refactored since the read and written values are content of many encapsulating classes that each have their own validation.Spocks-cuddly-tribble wrote: ↑Fri Sep 23, 2022 11:27 am I don't mean to beat a dead horse, but rereading this it still feels like an epic miscommunication.
It's about a power-user override option (if it's not too much work, a simple 'do it anyway' checkbox) for guys like thunderchero who are able to understand and use OllyDbg. A person of your intelligence should understand the ask (not the same as approve), but the answer indicates the contrary (it's not about refactoring the validation / UE 'awareness')?
but here is the changes UE wants to make to upgrade tableFlocke wrote: ↑Fri Sep 23, 2022 1:41 pm I currently can't debug, but by the integrity check the ids look fine:since the upgrade table is written along with it, the ids should be correctCode: Select all
Info: in edifice.bst: Empire 0 main industry buildings: IDs 42 to 46. Info: in edifice.bst: Empire 0 main food buildings (minus primitive farms): IDs 48 to 52. Info: in edifice.bst: Empire 0 main intel buildings: IDs 53 to 57. Info: in edifice.bst: Empire 0 main energy buildings: IDs 58 to 62. Info: in edifice.bst: Empire 0 main research buildings: IDs 63 to 67. Info: in edifice.bst: Empire 1 main industry buildings: IDs 82 to 86. Info: in edifice.bst: Empire 1 main food buildings (minus primitive farms): IDs 88 to 92. Info: in edifice.bst: Empire 1 main intel buildings: IDs 93 to 97. Info: in edifice.bst: Empire 1 main energy buildings: IDs 98 to 102. Info: in edifice.bst: Empire 1 main research buildings: IDs 103 to 107. Info: in edifice.bst: Empire 2 main industry buildings: IDs 122 to 126. Info: in edifice.bst: Empire 2 main food buildings (minus primitive farms): IDs 128 to 132. Info: in edifice.bst: Empire 2 main intel buildings: IDs 133 to 137. Info: in edifice.bst: Empire 2 main energy buildings: IDs 138 to 142. Info: in edifice.bst: Empire 2 main research buildings: IDs 143 to 147. Info: in edifice.bst: Empire 3 main industry buildings: IDs 162 to 166. Info: in edifice.bst: Empire 3 main food buildings (minus primitive farms): IDs 168 to 172. Info: in edifice.bst: Empire 3 main intel buildings: IDs 173 to 177. Info: in edifice.bst: Empire 3 main energy buildings: IDs 178 to 182. Info: in edifice.bst: Empire 3 main research buildings: IDs 183 to 187. Info: in edifice.bst: Empire 4 main industry buildings: IDs 202 to 206. Info: in edifice.bst: Empire 4 main food buildings (minus primitive farms): IDs 208 to 212. Info: in edifice.bst: Empire 4 main intel buildings: IDs 213 to 217. Info: in edifice.bst: Empire 4 main energy buildings: IDs 218 to 222. Info: in edifice.bst: Empire 4 main research buildings: IDs 223 to 227.
Code: Select all
Description: None
Changes:
30 00 58 00 80 00 A8 00 D0 00 30 00 58 00 80 00 A8 00 D0 00 30 00 58 00 80 00 A8 00 D0 00 33 00 5B 00 83 00 AB 00 D3 00 31 00 59 00 81 00 A9 00 D1 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 2A 00 52 00 7A 00 A2 00 CA 00 2A 00 52 00 7A 00 A2 00 CA 00 2A 00 52 00 7A 00 A2 00 CA 00 2D 00 55 00 7D 00 A5 00 CD 00 2B 00 53 00 7B 00 A3 00 CB 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 3A 00 62 00 8A 00 B2 00 DA 00 3A 00 62 00 8A 00 B2 00 DA 00 3A 00 62 00 8A 00 B2 00 DA 00 3D 00 65 00 8D 00 B5 00 DD 00 3B 00 63 00 8B 00 B3 00 DB 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3F 00 67 00 8F 00 B7 00 DF 00 3F 00 67 00 8F 00 B7 00 DF 00 3F 00 67 00 8F 00 B7 00 DF 00 42 00 6A 00 92 00 BA 00 E2 00 40 00 68 00 90 00 B8 00 E0 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB D0 E3 00 35 00 5D 00 85 00 AD 00 D5 00 35 00 5D 00 85 00 AD 00 D5 00 35 00 5D 00 85 00 AD 00 D5 00 38 00 60 00 88 00 B0 00 D8 00 36 00 5E 00 86 00 AE 00 D6 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00
Original:
30 00 58 00 80 00 A8 00 D0 00 31 00 59 00 81 00 A9 00 D1 00 32 00 5A 00 82 00 AA 00 D2 00 33 00 5B 00 83 00 AB 00 D3 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 34 00 5C 00 84 00 AC 00 D4 00 2A 00 52 00 7A 00 A2 00 CA 00 2B 00 53 00 7B 00 A3 00 CB 00 2C 00 54 00 7C 00 A4 00 CC 00 2D 00 55 00 7D 00 A5 00 CD 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 2E 00 56 00 7E 00 A6 00 CE 00 3A 00 62 00 8A 00 B2 00 DA 00 3B 00 63 00 8B 00 B3 00 DB 00 3C 00 64 00 8C 00 B4 00 DC 00 3D 00 65 00 8D 00 B5 00 DD 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3E 00 66 00 8E 00 B6 00 DE 00 3F 00 67 00 8F 00 B7 00 DF 00 40 00 68 00 90 00 B8 00 E0 00 41 00 69 00 91 00 B9 00 E1 00 42 00 6A 00 92 00 BA 00 E2 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB 00 E3 00 43 00 6B 00 93 00 BB D0 E3 00 35 00 5D 00 85 00 AD 00 D5 00 36 00 5E 00 86 00 AE 00 D6 00 37 00 5F 00 87 00 AF 00 D7 00 38 00 60 00 88 00 B0 00 D8 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00 39 00 61 00 89 00 B1 00 D9 00
That issue is fixed along with a bunch of other stuff and code refactoring.thunderchero wrote: ↑Fri Sep 23, 2022 2:30 pm just compare first entry cards food (fed, fer, klin, rom between each entry)
my table
30 00 31 00 32 00 33 00 34 00 34 00 34 00 34 00 34 00
UE table
30 00 30 00 30 00 33 00 31 00 34 00 34 00 34 00 34 00
I admittedly noticed that glitch before on multiple mods, not sure which it was. I however thought it was related to the many broken dictionary address mappings in some of the mods. Therefore, half a year back, I fixed UE to not automatically recompute the addresses but display the text like it is shown ingame. Plus I added option menus to either recalculate the addresses based on the dictionary index, or to reset them to current description start.Spocks-cuddly-tribble wrote: ↑Mon Sep 12, 2022 2:24 pm I don't recall sociology during 7 years usage of my german BotF 1.0.2 CD rom version. And I should have noticed that (Flocke or any other old school german user?).
Is that current development version or last release? I changed and fixed lots on reading and writing the descriptions. If there still are issues with it, please report.thunderchero wrote: ↑Mon Sep 12, 2022 7:39 pm answer is UE make changes that is not needed to make files look more logical (description pointers not in same order as tech list)
I can't recall to have fixed such a bug. But I just tested to edit the tech level descriptions with latest development build and all went fine.thunderchero wrote: ↑Sat Sep 17, 2022 8:19 pm hope you did not waste too much time on this one, this issue was due to UE adjusting description order. game code can handle any description order.
techdesc.tec
English
weapon 0 - 10
sociology 0 - 10
German
sociology 0 - 10
weapon 0 - 10
so after UE adjusted order it read sociology descriptions for weapons
sorry I did not explain issue better.
Glad to hear you already could make practical use of it.thunderchero wrote: ↑Tue Oct 04, 2022 10:09 am UE even found an error in my upgrade table.I doubt if error had any effect (unused upgrade slot) but needed to be fixed.
I think it is fixed
at a quick glance most "invalid" look to be irregular galaxies changes and extended tech levels