dialogic icon indicating copy to clipboard operation
dialogic copied to clipboard

Dialogic 1.4.3 breaks Tiled Importer plugin v2.4

Open jonbonazza opened this issue 1 year ago • 4 comments

The problem

When Dialogic v1.4.3 is enabled, it completely breaks Tiled Importer v2.4. Tiled resources can no longer be imported. it looks like Dialogic is taking ownership of those resources instead. This seems to be a regression, as it looks like the same issue (or at least a similar one) was already reported and allegedly fixed: #784 .

To Reproduce Steps to reproduce the behavior:

  1. Have a project with both Dialogic v1.4.3 and Tiled Importer v2.4 from the assetlib installed and a tsx file in the project files.
  2. open the project in Godot.
  3. Notice that the tsx file is not visible in the project files and there are errors in the debug output showing that it failed to import.

Expected behavior I would expect Tiled resources to continue to import properly while Dialogic JSON files also continue to import.

System (please complete the following information):

  • OS: Windows 11
  • Godot Version: 3.4.4 stable (non-mono build)
  • Dialogic Version: v1.4.3

jonbonazza avatar Jul 21 '22 05:07 jonbonazza

Hey @jonbonazza

Do you have a minimal reproduction project to test and debug the issue? I would like to know what your current setup to reproduce it.

coppolaemilio avatar Aug 05 '22 10:08 coppolaemilio

Found the issue, unfortunately it seems to be from the Tiled plugin. I will try to come up with a fix for it but it will most likely require you to go in and modify a script. I'll keep you posted.

coppolaemilio avatar Aug 05 '22 10:08 coppolaemilio

To fix the issue you have to:

  1. Make a backup of your project (really, please do)
  2. Go to project settings and disable the tiled importer .json extension: image
  3. The tiled importer generates .import files for each .json inside your dialogic folder. This includes:
    • /dialogic/definitions.json.import
    • /dialogic/folder_structure.json.import
    • /dialogic/characters/*.import
    • /dialogic/timelines/*.import
    • And any other one you might find.
    • Removing the .import files is required.
    • Don't remove your .json files! ⚠️
  4. Reboot your project and everything should be working again.

The issue happens because the Tiled import creates .import files for every .json file on your project dir, so Godot tries to read them as if they were Tiled maps. Since Dialogic 1.4 uses .json files for storing data this creates a conflict and it prevents you to work normally with them. A fix should be made in the Tiled plugin to avoid doing this because it might generate the same kind of issues with other plugins, but since we are moving away from using .json files I won't be uploading a fix to this one.

Of course this isn't a fix if you need the tiled importer for .json files, but if you don't, this should do the trick.

coppolaemilio avatar Aug 05 '22 10:08 coppolaemilio

I have a similar issue using Dialogic 1.4.5 and Tiled 2.4, where it breaks the tiled import (.tmx) in the Godot HTML export. I assume it's not exactly the same issue, it seems more like something goes wrong while loading the Dialogic Plugin in the Web export and thus the Tiled plugin does not get loaded at all.

The fix above didn't work in that case but I found the following workaround: Rename res://addons/vnen.tiled_importer/ to something like res://addons/a.vnen.tiled_importer/ (has to be before Dialogic in the alphabet) Screenshot 2023-03-02 at 01 48 45

This way (I assume) Godot loads the tiled importer before the dialogic importer and importing .tmx will work in the HTML export.

dardanbujupaj avatar Mar 02 '23 09:03 dardanbujupaj

Is this still relevant?

CakeVR avatar Apr 09 '24 06:04 CakeVR

I don't think it is relevant anymore, especially not for 2.x.

Jowan-Spooner avatar Apr 09 '24 09:04 Jowan-Spooner