Jump to content

Editing a DLG Text String [SOLVED]


Thimblerig

Recommended Posts

Or something.

There is a minor inconsistency in BG1 - Dreppin calls his cow "Nessa" in the prologue, and "Arabelle" when you talk to him in the return to Candlekeep. I'm pretty sure it's a bug - among other things "Arabelle" is the name of another cow in the game.

I am trying to fix it for consistency - this is just going to nag and nag at me now that I've spotted it. I just can't get my fix to work.

I've tried:

 
COPY_EXISTING ~DREPPI2.dlg~ ~override~  // Changes name of cow to Prologue version
              ~DREPPI3.dlg~ ~override~
  DECOMPILE_DLG_TO_D
REPLACE_TEXTUALLY EXACT_MATCH ~Arabelle~ ~Nessa~ 
  COMPILE_D_TO_DLG 
BUT_ONLY

and

COPY_EXISTING ~DREPPI2.dlg~ ~override~  // Changes name of cow to Prologue version
              ~DREPPI3.dlg~ ~override~
  DECOMPILE_AND_PATCH 
  BEGIN
       REPLACE_TEXTUALLY EXACT_MATCH ~Arabelle~ ~Nessa~
  END
BUT_ONLY

While both versions compile fine, they don't touch the dialogue strings I want changed at all.

 

Could someone please point out what I'm missing? Pretty please?

 

These are how the unmodified strings appear:

 

 

 

DREPPI2 phrase 4 ~Like you'd ever need a stablehand. Me and Arabelle are staying right here, thank you very much.~

 

DREPPI3 phrase 0 ~Poisoned Arabelle, have you? And to think I would have left this Keep with the likes of you! Rraaaarrrrh, fleshling...~

Link to comment
You can't recompile the DILF, Gorion died

 

Typo when starting this post. Fixed now.

 

I'll look up SET_STRING. Thanks.

 

EDIT:

 

"STRING_SET" comes with a boatload of "Do not use this command." warnings in WeiDU Documentation.

 

I'll look for something else.

Link to comment

Or something.

 

There is a minor inconsistency in BG1 - Dreppin calls his cow "Nessa" in the prologue, and "Arabelle" when you talk to him in the return to Candlekeep. I'm pretty sure it's a bug

So no one in the world can own two cows ? Have you even considered the fact that there could be more than one ? The other is just not in the players eye sight cause it never became important for the time being.

And what if the other Dreppin is not a human, a doppleganger...

Link to comment

Those are both valid theories, Jarno. And I might have to stick with that. But -

 

- the Dreppin3 dialogue, when he's really a doppelganger, says ~Poisoned Arabelle, have you? And to think I would have left this Keep with the likes of you! Rraaaarrrrh, fleshling...~ - which strongly implies that he's talking about the cow you fetched the Antidote potion for;

 

- there's another cow in the game called Arabelle (Hulrik the Farmer asks you to save her from Xvarts), and the double-up makes me twitch;

 

- the Dudleyville fixpack already changes it - http://www.forgottenwars.com/dudleyfix/bg1_dialogue.htm

 

- this thread: http://forum.baldursgate.com/discussion/4738/inconsistincy-arabelle-the-cow - implies that BGEE changes it.

 

Consistency, one way or another, is good.

 

EDIT:

 

Or I could add a couple of dialogue options for DREPPI2, where he first gets the name wrong, that imply he's tripping on the name because he's already replaced the real guy. Hmmm...

Link to comment
(Time to find out how the Fixpack does things, I guess.)

 

Wait, they... just load in another tra file with the altered strings...?

 

That seems way too simple... It can't be that easy. I'm missing something.

 

EDIT:

 

Ah - STRING_SET commands in a different file. Gotcha.

Link to comment

I would appreciate a correction here. For a short moment, I pondered whether a reply option à la "Ha! The name of the cow was Nessa, or are you Hulrik?" would be funny, but for me, it sounds too much like a name mix-up of the game developpers and comes across like a 4th wall break.

Link to comment

Just to close this thread off neatly:

 

- I couldn't just use a STRREF here because I'm using crossplatform code and a conversion like BGT will have a different DIALOG.TLK from install to install.

 

- As Mike1072 pointed out - if I know the exact text string to replace, I can just use:

STRING_SET ~Old string~ ~New string of goodness and glory~

It really is that simple.

 

Yayy!

Link to comment

- I couldn't just use a STRREF here because I'm ...

But there's a RESOLVE_STR_REF option you can use... :p

I have no idea, but this could work better if the mod is translated and both the original and the new string need to be .tra -fied.

Link to comment

Oh, really? Interesting. (Hadn't spotted it in the WeiDU Readme.)

 

If the mod gets translated, I would still need the exact %language% string to do the find-and-replace, and at the moment it's only two lines of code to do exactly what I want, so I'm going to leave things as is.

 

But that's very good to know. :)

Link to comment

 

"STRING_SET" comes with a boatload of "Do not use this command." warnings in WeiDU Documentation.

 

Which documentation are you looking at in that case? There (correctly) are no warnings about STRING_SET in my copy. STRING_SET is perfectly safe. Go nuts.

Link to comment

 

 

"STRING_SET" comes with a boatload of "Do not use this command." warnings in WeiDU Documentation.

 

Which documentation are you looking at in that case? There (correctly) are no warnings about STRING_SET in my copy. STRING_SET is perfectly safe. Go nuts.

 

 

The WeiDU readme that comes up with a Google search: http://weidu.org/WeiDU/README-WeiDU.html#STRING_SET

 

 

 

This command replaces each given string in the user's TLK file with the associated newValue. Do not use this command. If a traFile is given, that file is is read once before all of the replacements take place and its contents are forgotten after. Do not use this command.

 

But reading through the Q & A netted me a link to a different version: http://www.weidu.org/~thebigg/README-WeiDU.html#STRING_SET

 

 

 

This command replaces each given string in the user’s TLK file with the associated newValue. If a traFile is given, that file is is read once before all of the replacements take place and its contents are forgotten after.

 

The bigg's (and your) version also had info on RESOLVE_STR_REF which wasn't in the first readme I looked at.

 

So... next time I need the readme, I'll be more careful with my Google search terms, I guess. And Wisp? Thank you for all your hard work on this. It's amazing.

Link to comment

The bigg's (and your) version also had info on RESOLVE_STR_REF which wasn't in the first readme I looked at.

This is because the non-bigg version is only up to date to the v185(you can find that link at the very last line in the readme). Google drools. You got to know that... as in, it gives search result at a randomly/the best matching ways, that's not a good way to find up to date references.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...