PDA

View Full Version : How to Get Changes in STBL Strings to Appear In-Game Properly and NOT Overwrite Non-Changed Strings?


gesimz
30th Nov 2011, 05:45 AM
See post 4 for new issue.

Inge Jones
30th Nov 2011, 09:12 AM
There seems to be a bug in the tool's deletion of multiple strings. I'll see if it can be fixed. Peter is sadly up to his neck in work these days but maybe I can do something...

gesimz
30th Nov 2011, 09:42 AM
That would be brilliant if a fix is found. It's really the only thing preventing quick editing of strings. For now, i'll make do with whats available and continue knocking off these strings one by one. Thanks!

gesimz
1st Dec 2011, 11:12 PM
After doing a lot of clicking, I finally removed all irrelevant strings and left only the strings I wanted to be edited in-game. However, when using the in-progress mod, mass chunks of text suddenly disappear (see first attached image) everywhere from the loading screen, to interactions, to even Build/Buy objects. This does not happen when I leave all the thousands of irrelevant strings in (see other attached screenshot for example of mod working as intended with the thousands of irrelevant strings left in). Basically, as the screenshot indicates, I'm attempting to change all instances of Nectar to Wine, and as mentioned, this works, only when I leave all the thousands of unedited instances in tact that are in the duplicate deltabuild0, p02 and p06 STBL files. As soon as I remove all strings except those that reference the word Nectar which have been changed to Wine, its like the game thinks i've deleted all these other strings, rather than only overwriting the ones I want the game to overwrite with which are the strings that have the word Nectar in it which I changed to Wine. In a bid to find a possible cause/solution to this issue, I'm going to detail the EXACT PROCESS I went through to complete the mod-in-progress in case I made a mistake along the way:

1) Opened deltabuild0 (base game), deltabuildp02 (world adventures, in base game directory) and deltabuildp06 (late night, in base game directory) in S3PE and exported the relevant Eng_US STBL files;

2) Opened these STBLs up in S3Translate and used the find function to find all instances of Nectar and change it to Wine and saved the changes;

3) Re-opened these edited STBL files in S3PE, brought up the STBL editor and removed every single String that didn't contain the word Nectar (which was changed to wine) in any capacity, leaving only the strings that referenced the word Nectar/Wine and saved the results into one final package.

4) Dragged/Copied and Pasted the final .package file that has the 3 edited STBL files in it to my Mods\Packages folder as normal.

That's the entire process I went through.

The following are the details of each STBL file within the final package (the resource name, type, group, and instance):

deltabuild0

Resource Name: Strings_ENG_US_0x000f16b00ba8342f

Type: STBL 0x220557DA

Group: 0x00000000

Instance: 0x000F16B00BA8342F


deltabuildp02

Resource Name: Strings_ENG_US_0x0040e85822fde81a

Type: STBL 0x220557DA

Group: 0x08000000

Instance: 0x0040E85822FDE81A


deltabuildp06

Resource Name: Strings_ENG_US_0x00412f6bf0473b4c

Type: STBL 0x220557DA

Group: 0x28000000

Instance: 0x00412F6BF0473B4C

I'm scratching my head to work out what exactly i've failed to do/done wrong in the process. I've tried creating new STBL files, adding all instances manually one by one, same result as the above. I tested each of the three STBL files individually to see if it was only one of them that was causing an issue, it seems all three of them have the same common problem above with mass dissapearance of in-game text.

Does anyone here have any idea what I could've possibly done wrong/missed out on during the process of creating the STBL files to cause the in-game issues with strings disappearing/not working properly? Once the mod is removed, it just reverts back to the old default normal game text with no issue.

Inge Jones
1st Dec 2011, 11:50 PM
Well do these STBLs still have the same IIDs as the ones you are trying to override? If so, you are overriding the entire STBL resource, not just the strings you changed. In order to only override selected strings, you need to change the resource IIDs while keeping the string GUIDs the same.

gesimz
1st Dec 2011, 11:58 PM
That may just be what's happening. The group and instance numbers I posted above, are the same as those in the original delta build files, but so are the resource names.

gesimz
2nd Dec 2011, 12:44 AM
Where are the resource IIDs (the thing that needs to be changed) and the string GUIDs (the thing that needs to remain the same) [see attached images] again?

Inge Jones
2nd Dec 2011, 09:27 AM
The Instance (1st image) needs changing (don't touch group or type). Keep the first two digits as they are - those are the language code. Make all the STBLs have the same last 14 new digits as each other. In the 2nd image you don't want to change any numbers. Those are the string-specifix unique IDs needed for overriding individual strings.

gesimz
2nd Dec 2011, 10:40 AM
It's weird, changing the three packaged STBL files instance numbers with the same last 14 digits after the 0x00 makes it go back to the games default as if the mod has no effect at all (i.e. the modified strings do not appear and default game text appears as normal instead). I wonder why...

Inge Jones
2nd Dec 2011, 10:57 AM
Then you may need to keep the whole lot after all, as a complete stringset override. I am sure it *used* to work as I described, but EA do keep changing how things interact.

gesimz
2nd Dec 2011, 11:55 AM
It's definitely annoying (EA changing stuff that is). I'll keep the trial and error thing happening and see if I discover a solution by chance. Want to try and avoid the complete string override as much as possible. A file size nearly 100 times the size of a selective string override (nearing 4mb for keeping all strings) isn't ideal.

Inge Jones
2nd Dec 2011, 12:10 PM
Well that;s not to say I am not simply a little behind on this particular technique. Maybe someone else can cast further light?

Buzzler
2nd Dec 2011, 12:37 PM
If I remember correctly, the instance of the STBL resource needs to be lower than the original instance (maybe even lower than a certain value) for its entries to become overrides.