Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

Hex editing for dialog: Subtitles & Conditionals

Deprecated or out of scope tutorials.

Hex editing for dialog: Subtitles & Conditionals

Postby Inquiring » 02 Mar 2013, 08:56

1. Open up PCC Editor 2.0
2. Open the appropriate file ending in Loc_Int (If you have a different language voice for your Mass Effect, "Int" will be something else)
In the export list, find the appropriate file ending in _dlg.
A really good way to find both of these is to use this.
3. Examine that dlg file in the interpreter and start the scan.
4a. The field "srtext" contains the ID for subtitles. If you plug in an ID you found from the TLK file and convert to that to hex, you will be able to tell what dialog line you are looking at. For example, "39 5F 09 00" translates to "614201" (remember that ME3 files use little endian) which, when you reference the tlk file, is a line spoken by James.
If you want to edit the subtitle ID, then, search for "39 5F 09 00" in your hex editor and change it to the appropriate hex value. The field "srParaphrase" contains the string ID for the paraphrase used by choices and is edited the same way.

4b. The field "nConditionalFunc" is the conditional or bool ID. Use a combination of the dialog dump I linked in #2 and the conditional list (here's another, shorter one as well) to pinpoint the conditional/bool and what they mean. The procedure for changing the ID is the same as 4a, with one nuance that -1 means no bool or conditional is used. The hex value for -1 here is "FF FF FF FF" Therefore, you can eliminate conditional/bool checks by changing it to -1.

The field "nConditionalParam" is the value for the conditional or bool it checks for. 1 is "01" in hex - since the field here uses four pairs of numbers (notice the "size" is 4), it will technically be "01 00 00 00"

For conditionals that are either true or false, 1 is equal to true. -1 also seems equal to true - although I imagine someone here will know what the real difference is. 0 is equal false.

Otherwise, the value in "nConditionalParam" is an integer value it checks for.

[conditional_15]
(plot.ints[10296] == arg)

is an example of a conditional with a variable integer.

Inquiring has been thanked by:
User avatar
Inquiring
Modder
 
Posts: 106
Joined: 17 Oct 2012, 20:05
Has thanked: 19 time
Have thanks: 53 time

Re: Hex editing for dialog: Subtitles & Conditionals

Postby The Fob » 02 Mar 2013, 11:32

Hey, nice tutorial. Thanks!
You wouldn't by any chance know how to change the string of the subtitle identifier? By that I mean changing the string for the person that is actually speaking (As in when the Subtitles read: "Admiral Hackett: All Ships, retreat!", you described above how to change the "All ships, retreat" but I have been trying forever now to find out how to change the "Admiral Hackett")
Would be grateful for any info on this. Cheers!
User avatar
The Fob
Modder
 
Posts: 702
Joined: 08 Oct 2012, 04:37
Has thanked: 242 time
Have thanks: 212 time

Re: Hex editing for dialog: Subtitles & Conditionals

Postby WarrantyVoider » 02 Mar 2013, 12:42



do you know by any chance how this treestructure is generated? It looks like one of gibbeds tools.

greetz WV
always backup your files!
mess with the best or die like the rest!
"I tried everything!" - "mkay, please list that..." ; please dont pm me for help, we have a help section
User avatar
WarrantyVoider
Emeritus
 
Posts: 2270
Joined: 22 Aug 2012, 11:33
Has thanked: 480 time
Have thanks: 626 time

Re: Hex editing for dialog: Subtitles & Conditionals

Postby Inquiring » 02 Mar 2013, 23:18

The Fob wrote:Hey, nice tutorial. Thanks!
You wouldn't by any chance know how to change the string of the subtitle identifier? By that I mean changing the string for the person that is actually speaking (As in when the Subtitles read: "Admiral Hackett: All Ships, retreat!", you described above how to change the "All ships, retreat" but I have been trying forever now to find out how to change the "Admiral Hackett")
Would be grateful for any info on this. Cheers!

I'll look into that, but so far I think it has to do with "nSpeakerIndex" as "sText" seems to have no value (I've tried putting in a tlk value, but the game crashes). "SpeakerList" at the top and/or bottom of the interpreter lists all of the speakers. m_aSpeakerlist has numbers corresponding to the name list of the .pcc file - for example "hench_marine," "global_miranda," etc.

do you know by any chance how this treestructure is generated? It looks like one of gibbeds tools.

I don't believe that gibbed has released any tools to generate it. Hopefully he'd share if he was asked.
User avatar
Inquiring
Modder
 
Posts: 106
Joined: 17 Oct 2012, 20:05
Has thanked: 19 time
Have thanks: 53 time

Re: Hex editing for dialog: Subtitles & Conditionals

Postby The Fob » 03 Mar 2013, 00:17

Oh, that sounds promising. I'll check into it as well. Thanks heaps!
User avatar
The Fob
Modder
 
Posts: 702
Joined: 08 Oct 2012, 04:37
Has thanked: 242 time
Have thanks: 212 time


Return to Tutorials - Deprecated

Who is online

Users browsing this forum: No registered users and 0 guests

suspicion-preferred