AsherGlick / Burrito

An overlay tool for Guild Wars 2 that works on linux
GNU General Public License v2.0
79 stars 18 forks source link

Question About Marker Conversion On The User Side #50

Closed jimmon89 closed 2 years ago

jimmon89 commented 2 years ago

Is there currently a way to convert marker data from the TacO format to Burrito's JSON format on our side as the user? i ask because i'd like to have markers based on the latest GW2 TacO ReActif Pack if it's not currently feasible user side, it's okay and completely understandable. i was just curious if there was anything i could do at the moment

AsherGlick commented 2 years ago

Right now there is scripts/taco_to_burrito.py which handles converting between the file formats. There has also been some work to allow burrito to ingest the xml files directly via the taco_parser.

jimmon89 commented 2 years ago

Right now there is scripts/taco_to_burrito.py which handles converting between the file formats. There has also been some work to allow burrito to ingest the xml files directly via the taco_parser.

you sir and/or madame are an absolute legend! that's exactly what i was looking for TYVM, cheers!

--edit--

@AsherGlick what is the preferred version of python for the script? with Python v3.9.9 i'm getting this error trying to test the script on GW2 TacO version 047

jimmy@jimmy-pc ~/A/r/B/scripts (master) [1]> python ./taco_to_burrito.py ~/Apps/GW2TacO/POIs/ ~/Apps/Out/
/home/jimmy/Apps/GW2TacO/POIs/GuildMission_Bounty_Prisoner1141.xml
    key DisplayName missing from marker category
    key color found that is not allowed
    key color found that is not allowed
    key color found that is not allowed
    POI element has children
Traceback (most recent call last):
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 374, in <module>
    main()
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 32, in main
    convert_markers(full_path, target_path)
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 153, in convert_markers
    burrito_marker_data = parse_icons_and_paths(root[1], marker_metadata, os.path.dirname(xml_path))
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 319, in parse_icons_and_paths
    eprint("First element of root is {} not POIs".format(root[1].tag))
NameError: name 'root' is not defined

--edit-2--

it would appear that the converter is not gracefully handling trails with multiple sub-trails afaict after un-commenting the 5 lines calling print the log is

jimmy@jimmy-pc ~/A/r/B/scripts (master) [1]> python ./taco_to_burrito.py ~/Apps/GW2TacO/POIs/ ~/Apps/Out/
/home/jimmy/Apps/GW2TacO/POIs/GuildMission_Bounty_Prisoner1141.xml
/home/jimmy/Apps/GW2TacO/POIs/GuildMission_Bounty_Prisoner1141.xml
    key DisplayName missing from marker category
{'Tactical.GuildMission.Bounty': {'height_offset': 0}, 'Tactical.GuildMission.Bounty.Prisoner1141Blue': {'icon_file': 'Data/Bounty_bw.png', 'height_offset': 0}, 'Tactical.GuildMission.Bounty.Prisoner1141Orange': {'icon_file': 'Data/Bounty_bw.png', 'height_offset': 0}, 'Tactical.GuildMission.Bounty.Prisoner1141Red': {'icon_file': 'Data/Bounty_bw.png', 'height_offset': 0}}
    POI element has children
Traceback (most recent call last):
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 374, in <module>
    main()
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 32, in main
    convert_markers(full_path, target_path)
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 153, in convert_markers
    burrito_marker_data = parse_icons_and_paths(root[1], marker_metadata, os.path.dirname(xml_path))
  File "/home/jimmy/Apps/repos/Burrito/scripts/./taco_to_burrito.py", line 319, in parse_icons_and_paths
    eprint("First element of root is {} not POIs".format(root[1].tag))
NameError: name 'root' is not defined

--edit-3--

all of these POIs fail to convert for the same reason NameError: name 'root' is not defined POIs.zip

--edit-4--

all of these from the reactif external marker pack fail to convert because Root has 1 children instead of the expected 2 ReActiff.zip