Can someone help me with U/ZSDF?

Hi,

I'm trying to figure out how to get USDF and/or ZSDF working. I've been wrestling with the wiki for a while, but I just can't seem to get it to work.

I've added a new actor to DECORATE and supplied it with a ConversationID (which should allow me to use both USDF and ZSDF); I've also added a DIALOGUE lump to my .pk3 with the nescessary dialogue. I've got said new actor in my map, tagged to begin a conversation when the player presses use.

Except nothing happens.

I've managed to get it to work once by compiling the script with USDC, but I'd rather not do that; flat text is a lot easier to work with.

What am I doing wrong?

Share this post


Link to post
Luke Gevaerts said:

added a DIALOGUE lump to my .pk3 with the nescessary dialogue.

The DIALOGUE lump is to be used with UDMF format maps. It goes in the WAD file between the TEXTMAP and ENDMAP markers.

If you are not using UDMF your map must be in MAPxy format and the script goes in the corresponding DIALOGxy lump.

Share this post


Link to post

Ah, so it has to be inside the .wad? That explains.

I'll go try that, and see what happens.

Share this post


Link to post

Well, still nothing.

Clicking on "Open Dialogue Editor" in DB2 shows a blank list, even though I think the DIALOGUE lump is in the right place now (under SCRIPTS and above ENDMAP in the .wad).

It would be immensely helpful if I could download a sample .wad somewhere that has a working dialogue example...

Share this post


Link to post

here you go, i did it in zdoom strife dialog format, since the compiler hate me i do not compile it, so you need the latest version of zdoom to run it, the universal strife etc. is not that different, you can also assign dynamically a conversation using an acs script, but you maybe already know that.

http://www.mediafire.com/?67acflq1q3r84v9

Share this post


Link to post

Okay, that did the trick. =D Thanks for taking the time to create a tutorial!

Two more questions:

- Is there a way to get rid of the default "See you!" response? My "dialogue" is actually supposed to be a menu that opens when you interact with the front door, and saying "See you!" to the front door is... Odd.
- Is there a way to modify the sound that plays when you initiate conversation? (Got it, override DSRADIO)

Share this post


Link to post

unfortunatly, no. but you can fake a conversation using acs, unfortunatly i am not able to do it right now.

Share this post


Link to post
Luke Gevaerts said:

- Is there a way to get rid of the default "See you!" response? My "dialogue" is actually supposed to be a menu that opens when you interact with the front door, and saying "See you!" to the front door is... Odd.


Override the default messages with a LANGUAGE lump. There are three that are defined:

TXT_RANDOMGOODBYE_1
TXT_RANDOMGOODBYE_2
TXT_RANDOMGOODBYE_3

Share this post


Link to post

I have to say that this stuff is pretty damn tricky: whenever it doesn't work, there's essentially zero feedback on why it doesn't work. Even though I've managed to get one method to work, I still have some more questions - for future reference:

- I'm using UDMF. Why does DIALOGxx work, while DIALOGUE doesn't? Both files have the exact same content.
- Why can DIALOGxx be dumped anywhere in the .wad, while DIALOGUE has to go specifically between TEXTMAP and ENDMAP? Again, both files have the exact same content.
- What do I have to do to get DB2 (or GZDB) to display my dialogues in the Dialogue Editor? Compressed, uncompressed, DIALOGxx, DIALOGUE - it doesn't matter, I can't get the Builder to read any of them.

Additionally, according to the USDF specs, conversation pages are numbered automatically starting from 0. If I have two pages in a conversation, and use "link = 1" on the first page, the game will lock up when I try to advance the conversation; but if I use "link = 2", it works as intended. Either it skips page 1, or the pages are numbered automatically starting from 1; the latter seems more likely.

Share this post


Link to post

i never tryed to read the dialogue lumps from db2, i just edited the lumps directly and then compile them, also the usdf isn't very used, and the only ones that fully understand it's usage are who are involved in making sourceport that support it. i had some trouble to make it work as intended the first time, also some functions are quite hidden (like how to make a random message from an npc or to chance the existing "goodbye" message).
maybe dialogue must be compiled while dialogxx not. also i don't know wery well the udmf format, so i can't help you more than this.

Share this post


Link to post
Cacowad said:

maybe dialogue must be compiled while dialogxx not. also i don't know wery well the udmf format, so i can't help you more than this.

One important thing to note is that there is no compiled form of Z/USDF. USDC is a tool which takes a subset of the USDF standard and converts to vanilla compatible binary lumps. The compiler should, of course, warn should it have to discard information.

The DIALOGUE lump in a UDMF map can be in either format. Be sure to look at the console for any parsing errors though.

As far as "compiled" lumps go, vanilla Strife used SCRIPTxy to store them. Historically though, some editors put Hexen ACS script sources in SCRIPTxy so the detection logic of "binary or ASCII" wouldn't really work here. Because of this, Z/USDF scripts must be placed in a DIALOGxy lump instead when used with non-UDMF maps.

Luke Gevaerts said:

- I'm using UDMF. Why does DIALOGxx work, while DIALOGUE doesn't? Both files have the exact same content.

It's difficult to say without the problematic WAD/PK3.

Share this post


Link to post
Luke Gevaerts said:

I could upload it to my site so you can download it. Let me know if you want to, and I'll drop a link.

Sure. Feel free to PM the link if you don't want to share it publicly.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now