- Joined
- Sep 21, 2016
- Messages
- 6
Hello all,
I am in the process of writing a tool that automates fixing facial dialogue animations by using the same techniques employed in native campaign maps. It will work by unpacking a map file, patch the .w3s, .wtg, and .wts files, and repack them. The map would need to have a "Cinematic - Play Dialogue from Speaker" or "Cinematic - Transmission From Unit" triggers referencing campaign dialogue audio, and the tool will patch the .w3s file to add full dialogue capabilities, copying data from the native maps that use them, as well as converting transmission triggers to dialogue triggers.
Most of the research is completed, and I'll have tons to share, people to thank, and plan on releasing the tool with a guide when appropriate.
An issue however I ran into automating the saving of map files. The changes the tool will make influence the embedded map's JASS code file generation, as well as the conversation.json file. Potentially others, not sure. But patching the .w3s file does influence the editor to update other files upon saving. I am trying to automate this function, so I can have the tool batch process maps, and not need human intervention to save a map after patching is completed to regenerate files.
I've looked into known available parameters to pass into the .exe, but didn't see anything of use.
I also decompiled the code to study it, looking for ways to automate this. I didn't see any additional new parameters not mentioned elsewhere, but did notice an "automation" parameter, as well as code that implies the editor has a debug mode that can be turned on somehow. Not sure if those would be helpful.
I've even looked into the possibility of calling WE code from it's .exe from my tool, or even WE memory manipulation to invoke the "Save Map" command, as well as closing it. Opening a map can be done with the -loadfile parameter. Not sure if these are viable options.
I've also been looking through the War3Net.Build project, and it's been a huge help and answering some questions. But it also seems like it is not yet 1:1 with the native builder.
Does anyone have any ideas or suggestions on how to automate this? If not, any suggestions to provide the best user experience?
Thank you for your time, and I look forward to any feedback!
I am in the process of writing a tool that automates fixing facial dialogue animations by using the same techniques employed in native campaign maps. It will work by unpacking a map file, patch the .w3s, .wtg, and .wts files, and repack them. The map would need to have a "Cinematic - Play Dialogue from Speaker" or "Cinematic - Transmission From Unit" triggers referencing campaign dialogue audio, and the tool will patch the .w3s file to add full dialogue capabilities, copying data from the native maps that use them, as well as converting transmission triggers to dialogue triggers.
Most of the research is completed, and I'll have tons to share, people to thank, and plan on releasing the tool with a guide when appropriate.
An issue however I ran into automating the saving of map files. The changes the tool will make influence the embedded map's JASS code file generation, as well as the conversation.json file. Potentially others, not sure. But patching the .w3s file does influence the editor to update other files upon saving. I am trying to automate this function, so I can have the tool batch process maps, and not need human intervention to save a map after patching is completed to regenerate files.
I've looked into known available parameters to pass into the .exe, but didn't see anything of use.
I also decompiled the code to study it, looking for ways to automate this. I didn't see any additional new parameters not mentioned elsewhere, but did notice an "automation" parameter, as well as code that implies the editor has a debug mode that can be turned on somehow. Not sure if those would be helpful.
I've even looked into the possibility of calling WE code from it's .exe from my tool, or even WE memory manipulation to invoke the "Save Map" command, as well as closing it. Opening a map can be done with the -loadfile parameter. Not sure if these are viable options.
I've also been looking through the War3Net.Build project, and it's been a huge help and answering some questions. But it also seems like it is not yet 1:1 with the native builder.
Does anyone have any ideas or suggestions on how to automate this? If not, any suggestions to provide the best user experience?
Thank you for your time, and I look forward to any feedback!
Last edited: