Jump to content

Weidu .TLK commands for .bat files


Aquadrizzt

Recommended Posts

Posted

I'm trying to port the dialog.tlk file for Torment over to BGEE. I know that IWD in BG2 used a .bat file with some weidu commands, but when I tried to do the same thing (with path and files replaced as appropriate), I kept getting errors.

 

The documentation of Weidu says that the --make-tlk and --tlkout are both semi-deprecated and thus I'm not sure if the fact that it's not working is due to weidu no longer using the commands or some problems with my path setup or something else.

Posted

How many dialog.tlk -lines do you need ?

Maybe the best way to do this is open up the PST game files with Near Infinity, and export the whole dialog.tlk -file there as a .txt, and use that as the base of your .tra file.

Posted

Okay so I've .TRA'd the entire planescape dialog.tlk. How would I actually get the stringrefs for the item, based on the existing string refs?

 

For example, scalpel.itm has strrefs: NAME1 = 65, NAME2 = 66, UNID._DESC = 67, ID._DESC = 68. I can get those from the original file. But how do I tell weidu that I want it to SAY NAME1 @67 using patches?

 

Basic structure is

COPY ~blah/PSTXXX.ITM~ ~blah/temp~
    READ_LONG 0x0008 ~name_unid~ 
    ... 
    INNER_ACTION BEGIN 
        COPY ~blah/newitm.itm~ ~override/%SOURCE_RES%.itm~
        WRITE_LONG 0x0008 [] 
    END
 

Thus, name_unid will have the original string reference number (#), but I need it to convert from a regular strref to a .tra @#.

Posted

but I need it to convert from a regular strref to a .tra @#.

So after you made the .txt into the .tra, just put the @ before the said numbers. And yes, you can use your own numbering system, but it might be simplier to not.

And generally I would advice not to read the 0x0008 bite, but do it simply with replace, aka:

 

COPY ~blah/PSTXXX.ITM~ ~override/PSTXXX.ITM~

WRITE_LONG 0x0008 @67

//SAY NAME1 @67 //these both lines will do the exact same thing, so you can choose to use either

 

And as the @67 is in the mods english .tra file...

Which should be in this form:

@67 = ~decription~
@68 = ~... etc
the whole thing sould be very simple.
Posted

Is there no way to do it, other than manually?

 

I have the .TRA file with all of the PST strings working fine.

My issue is that I can't seem to get WeiDu to use the .tra instead of the literal string.

SAY NAME1 ~@~^~%name_unid%~

yields items with names of "@number", and I want it to actually evaluate the @number.

 

Is there any way to do that?

Posted

Alternatively, is there a way that I could have the strings added, in order to the existing dialog.tlk, starting at some offset? Then I could just use the existing strref + the offset to get the new strings.

Posted

Again. How many strings do you really are going to need ? If it's less than 1000, you probably should do it by hand.

Posted

Yeah but part of the fun of coding is spending more time getting the machine to do it than it would take you if you just did it. :p

 

Using (AT "var") seemed to do what I needed it to do, in conjunction with the dialog.tra.

Posted

It's impossible anyway. The pst engine is a special little snowflake, only sometimes for the better.

Posted

lynx, I don't think you need to convert the PST engine. You port the PST animations, areas, creatures, dialogue files. Edit the scripts to fit BG2 as best as you can. Edit and add in the spells and items manually. Create new portraits for the Nameless One and Companions. More work than the IWD to BG2 conversion sure, but hardly "impossible".

Posted

lynx, I don't think you need to convert the PST engine.

You know, lynx would be the person to actually know about this stuff as he works on the GemRB... The fact remains, the PST and BGEE's effect files have a large amount of asynchronicities, there's about 20 opcodes you need to replace, not to mention the fact that you have somehow make the quests that require the player death not end the game, but always give the player the proper replacement for the player character up on the said deaths.

Posted

 

lynx, I don't think you need to convert the PST engine.

You know, lynx would be the person to actually know about this stuff as he works on the GemRB... The fact remains, the PST and BGEE's effect files have a large amount of asynchronicities, there's about 20 opcodes you need to replace, not to mention the fact that you have somehow make the quests that require the player death not end the game, but always give the player the proper replacement for the player character up on the said deaths.

 

 

Using the "Player1 Can Die" flag (in the Enhanced Engine) means that the game doesn't end even when the main character dies or the party wipes. So couldn't you have a script running in BALDUR.BCS that checks if Player1 is Dead and respawns them in the Mortuary/Marta's Hut/etc.?

 

And the Dungeon in the Drowned Warrens could have a similar script that resurrects you and sends you to the next part of the "puzzle".

Archived

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

×
×
  • Create New...