Page 2 of 3

Re: AceToolkit

PostPosted: Sun Apr 26, 2020 9:57 am
by Accensus
kodi wrote:An interesting thing you can do with MTAConvert is if you've got say a torch model for your dungeon map, you can make a copy of the model and remove all but the part that's supposed to burn and make an obj of that. Run the result through MTAConvert, and you can now spawn fire particles (actors or A_SpawnParticle) on the exact vertices of the model that are supposed to be burning.

Huh, that's actually a very nice use for it.

In other news, I've been hard at work refactoring ZSDFEdit over the last few days. Performance went off the charts and the UI also sucks less. Managed to load about 1.1 million lines of DIALOGUE in less than two seconds. Obviously this is an absolutely INSANE number to normally load, but you get the idea. Some flickering can be noticed sometimes when clicking between elements. I have an idea on how to fix it that I'll try later. Overall I'm quite near the point where it's ready for release, just need to do some touch-ups and add a few missing features.

Spoiler: Screenshot

Re: AceToolkit

PostPosted: Sun Apr 26, 2020 10:20 am
by Nash
ZSDFEdit is another tool that people don't know they need and have been settling without for years, but once they actually use it, they're going to punch themselves for thinking it's fine to edit dialogs in Notepad for the past 10 years or whatever. :) Good stuff!

Re: AceToolkit

PostPosted: Sun Apr 26, 2020 10:53 am
by StroggVorbis
Can ZSDFEdit only import XML files or .txt files too? If the former, how do I convert existing Strife binary or decompiled USDF scripts to XML (other than by hand ofc)?

Re: AceToolkit

PostPosted: Sun Apr 26, 2020 11:12 am
by Redneckerz
Accensus wrote:In other news, I've been hard at work refactoring ZSDFEdit over the last few days. Performance went off the charts and the UI also sucks less. Managed to load about 1.1 mullion lines of DIALOGUE in less than two seconds. Obviously this is an absolutely INSANE number to normally load, but you get the idea. Some flickering can be noticed sometimes when clicking between elements. I have an idea on how to fix it that I'll try later. Overall I'm quite near the point where it's ready for release, just need to do some touch-ups and add a few missing features.

... This is beyond a useful feature and into the ''Holy shit this changes everything'' kind of territory.

I found an old .webm clip of the previous iteration that does highlight it well (Well, you uploaded it haha): https://i.warosu.org/data/vr/img/0059/9 ... 62246.webm

Re: AceToolkit

PostPosted: Sun Apr 26, 2020 12:13 pm
by Accensus
StroggVorbis wrote:Can ZSDFEdit only import XML files or .txt files too? If the former, how do I convert existing Strife binary or decompiled USDF scripts to XML (other than by hand ofc)?


The former. I haven't written a proper DIALOGUE parser and there are currently no plans to do so. A feature was suggested earlier today to allow the exported DIALOGUE to be localized, but that means replacing the text in the output, so there has to be a separate editor-only workfile that preserves the sacred original texts. Existing dialogues for which there is no XML would have to be remade through the editor and saved as XML for future editing. That's the easiest way that doesn't involve writing XML by hand.

Also worth noting that this only supports the GZDoom namespace which allows strings as page names instead of indices. I originally tried to support both ZDoom and GZDoom, but the difference in how the links were handled between the two was not worth the trouble in maintaining both approaches, so I chose the GZDoom namespace, which technically supersedes the previous ones.

Redneckerz wrote:... This is beyond a useful feature and into the ''Holy shit this changes everything'' kind of territory.

I found an old .webm clip of the previous iteration that does highlight it well (Well, you uploaded it haha): https://i.warosu.org/data/vr/img/0059/9 ... 62246.webm

Ah, yes. Forgot about that one, heh. That version's rather old, but it does show how the tool works in general, yeah. I've kept the page highlighting, which is a core feature of the editor. Now that I've ditched the tree view I can also properly implement item duplication without having to sacrifice a child to Moloch.

Re: AceToolkit

PostPosted: Mon Apr 27, 2020 12:01 pm
by Accensus
Oh shit I dropped this.

Updated OP as well. Please report any issues so that I may fix them.

EDIT: Bleh, forgot to add confirmation when closing the program. Pushed a commit with the feature, but it'll appear in 1.3.1. Gonna wait a bit before releasing it in case any bugs pop up.

Re: AceToolkit

PostPosted: Tue Apr 28, 2020 4:26 pm
by Accensus
I've discovered a somewhat critical bug with page duplication in ZSDFEdit that I somehow overlooked [mild shock], and have temporarily taken down the repository. Am working on fixing it. I'm also trying to add support for importing compiled Strife dialogs, so the next update will likely be 1.4.0. Soon™.

Re: AceToolkit

PostPosted: Tue Apr 28, 2020 11:47 pm
by Nash
Compiled Strife dialog import would mean being able to edit and re-export the vanilla conversations, right? That would open cool modding options for Strife. I'm looking forward. :)

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 12:07 am
by Accensus
No vanilla export, just import. It'd export to ZSDF. The use case that was described to me was to edit the vanilla dialogues to support modded shop items that use strings instead of IDs. There are a couple of concerns I have, such as having to make a hardcoded dictionary that maps the imported IDs to strings so the imported dialog is ready-to-use as soon as you import it.

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 12:33 am
by Nash
Oh yeah that's what I meant - exporting to ZSDF (I don't care about vanilla binary format LOL). And yeah that was the exact situation I imagined - making modern mods for Strife. Sounds dope!

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 7:54 am
by Accensus
Fixed that issue and added support for importing compiled Strife dialogs. Check out the changelog in the link below for a full list of features/fixes.

Dawnlawd & Stuff.

EDIT: lol cost blocks aren't saved. Guess it's time for 1.4.1. Will add some other QoL features as well while I'm at it.

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 9:12 am
by Accensus
Ok all fixed. Many many thanks to Nash for reporting these issues!

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 9:50 am
by HAL9000
kodi wrote:An interesting thing you can do with MTAConvert is if you've got say a torch model for your dungeon map, you can make a copy of the model and remove all but the part that's supposed to burn and make an obj of that. Run the result through MTAConvert, and you can now spawn fire particles (actors or A_SpawnParticle) on the exact vertices of the model that are supposed to be burning.


This is great feature/tool, I was thinking about MD3 tag features to spawn blood trails from bodies(MD3 tag is not supprted in gzdoom iirc), but this MTAConvert will work just fine. Can you give an short example code how can I spawn particles on specific vertices of the model? Im working on dismemberment system for my mod, and this will help me a lot! :D

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 9:56 am
by Accensus
The tool itself generates an array of the vertices. Every three sequential elements make up a single vector3. You can iterate through the array and spawn a particle on each vec3.

EDIT:
Code: Select allExpand view
for (int i = 0; i < VertexArray.Size(); i += 3)
{
   A_SpawnParticle("Red", SPF_RELATIVE, 10, 8, 0, VertexArray[i], VertexArray[i + 1], VertexArray[i + 2]);
}

Re: AceToolkit

PostPosted: Wed Apr 29, 2020 1:31 pm
by HAL9000
Thanks @Accensus