Quest Editor

For all talk about quest development - creation, testing, and quest system.
Post Reply
User avatar
Binarynova
Posts: 6
Joined: Sat Feb 17, 2018 3:47 am

Re: Syntax highlighting

Post by Binarynova »

If you want to send me that info, in like a PM, that'd be cool. I don't know anything about Atom.io or how to set up highlighting, but it might be fun to look into. :)

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Syntax highlighting

Post by TheLacus »

Glad we solved this. I was just surprised because it challenged my understanding of the Person definition :)
Binarynova wrote: Thu Sep 20, 2018 4:03 pm I did a search through this topic, and I see that it kind of came up, but I didn't see like a definitive answer or a download, so I just wanted to ask, is there a way to get this functionality in Atom.io?
Syntax highlighting is provided with an xml file following TextMate grammar. The Atom documentation say that TextMate is not supported directly but can be automatically converted to a compatible format. I never tried to do it so i don't know more.

Note that the Vs Code extension provides much more than highlighting: it offers IDE functionalities such as go to definition, find references etc., formatting and even some basic diagnostics. In the long run, the best option is to implement the Language Server Protocol that allows to provide a editor-agnostic set of common features. Atom is listed in the supporting editors. My main concern now is to provide a stable and useful editor for Daggerfall quests, and at the moment i'm using a more direct approach that do all the work from the VS Code extension. I'm not against the idea of separating client and server code, though, but i can't say if and when this would happen. Note that clients for specific editors would still need to be written.

User avatar
Hazelnut
Posts: 3014
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Syntax highlighting

Post by Hazelnut »

TheLacus wrote: Thu Sep 20, 2018 5:01 pm Glad we solved this. I was just surprised because it challenged my understanding of the Person definition :)
Well you were correct. Thanks for following up and not letting it drop. :)
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Syntax highlighting

Post by TheLacus »

Finally implemented signature help provider. This builds on top of previous work for autocomplete and diagnostics to shows a description that appears when entering a parameter. The description is for the parameter "type" rather than the specific action (that would require a manual work to write all of them), nevertheless i think it can be useful in certain situations. For example when an action request a message reference, the description informs if this should be given as ID, a text alias or either one.

Image

I also wanted to do something for unknown actions. If an action is matched, diagnostics can provide errors and warnings for parameters but if the "constant structure" is not recognised there is not much to do. In order to alleviate this issue i've now introduced a basic case-insensitive query on the start of the action, which should allow to find most minor issues.

Image

Another change worth of notice is that selection formatting has been improved. If you select only a portion of a message/task block, formatter seeks the lines above until a known block start is found. This allow to apply the correct formatting even if the selection is not choosen wisely an also allowed me to safely enable support for format on type. The actual feature can now be enabled from user settings (editor.formatOnType) and i suggest to do so.

As usual, this the complete changelog and here the downloads.

User avatar
Interkarma
Posts: 7234
Joined: Sun Mar 22, 2015 1:51 am

Re: Syntax highlighting

Post by Interkarma »

This was already amazing, and just keeps getting better.

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Syntax highlighting

Post by Jay_H »

I'm using 1.28.1 right now and diagnostics have stopped working. VSC recently upgraded so I suspect it has to do with that. Is there any other info I should give you for troubleshooting?

EDIT: It's fixed! I had switched installation folders and needed to update my workspace. All good.

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Quest Editor

Post by TheLacus »

Version 0.6.0 is available. Among other changes, it introduces support for spells (Quests-Spells) and effect keys (hardcoded but expandable with modules).
Full changelog and download. :)

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Quest Editor

Post by Jay_H »

Great! I didn't want to bug you about the spell effects, but I'm glad to have them in :) This has been such an awesome tool for making quests. Thank you!

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Quest Editor

Post by Jay_H »

I recently updated DFU to the new versions, and my usual method of transferring my workspace isn't working. I've tried uninstalling and reinstalling the VSIX, wiping the workspace and starting another, and nothing works. I get a persistent error "Failed to load language data: Tables path not set." What should I do? The program still works but I get no diagnostics.

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Quest Editor

Post by TheLacus »

Jay_H wrote: Fri Dec 21, 2018 5:03 am I recently updated DFU to the new versions, and my usual method of transferring my workspace isn't working. I've tried uninstalling and reinstalling the VSIX, wiping the workspace and starting another, and nothing works. I get a persistent error "Failed to load language data: Tables path not set." What should I do? The program still works but I get no diagnostics.
Open File > Preferences > Settings > User Settings. Search dftemplate.tablespath and set the path to StreamingAssets/Tables.

If it doesn't work it might be overriden in the workspace. Open Workspace Settings and make sure this setting is empty there. This will allow the user setting to be used for all workspaces.

Post Reply