AceToolkit

Any utility that assists in the creation of mods, assets, etc, go here. For example: Ultimate Doom Builder, Slade, WadSmoosh, Oblige, etc.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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
Last edited by Accensus on Sun Apr 26, 2020 4:05 pm, edited 1 time in total.
User avatar
Nash
 
 
Posts: 17439
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: AceToolkit

Post 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!
User avatar
StroggVorbis
Posts: 866
Joined: Wed Nov 08, 2017 4:23 pm
Graphics Processor: nVidia with Vulkan support
Location: Germany

Re: AceToolkit

Post 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)?
User avatar
Redneckerz
Spotlight Team
Posts: 1052
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: AceToolkit

Post 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
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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.
Last edited by Accensus on Mon Apr 27, 2020 4:26 pm, edited 1 time in total.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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™.
User avatar
Nash
 
 
Posts: 17439
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: AceToolkit

Post 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. :)
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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.
User avatar
Nash
 
 
Posts: 17439
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: AceToolkit

Post 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!
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post by Accensus »

Ok all fixed. Many many thanks to Nash for reporting these issues!
User avatar
HAL9000
Posts: 266
Joined: Fri Mar 16, 2018 7:44 am
Contact:

Re: AceToolkit

Post 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
Last edited by HAL9000 on Wed Apr 29, 2020 10:01 am, edited 3 times in total.
Accensus
Posts: 2383
Joined: Thu Feb 11, 2016 9:59 am

Re: AceToolkit

Post 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 all

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]);
}
User avatar
HAL9000
Posts: 266
Joined: Fri Mar 16, 2018 7:44 am
Contact:

Re: AceToolkit

Post by HAL9000 »

Thanks @Accensus
Post Reply

Return to “Creation, Conversion, and Editing”