Saturday, 13 July 2019

World Boss Tracking, Map Timer Update and Localization Support

Hi, everyone!

First of all thank you for the number of donations and kind messages I received after the last update, it's nice to see that TacO has such a cool following :)

It's also been brought to my attention that I missed an interesting API endpoint that allows you to see which world bosses you've already slain today. There also happens to be such an endpoint for the daily hero's choice chests for the expansion maps (not available for living world maps yet it seems, sorry). So I present to you a map timer update: the world boss kill and daily meta chest tracker! Also it turns out that the next major community event is a Boss Rush event, so the timing is pretty good too :)
Finished daily hero's choice chests and bosses will have a yellow highlight
This feature requires that you have your API key set up. If you don't, the map timer will function as before.

The built-in map timer descriptor has also been updated to include the PoF and Living World Season 4 maps.

Also good news for those who have been experiencing instant crashes on startup: the culprit has finally been identified, turns out it had to do with non-latin text input. There may be some lingering issues that pop up later, but if you're using Japanese/Chinese/Korean text input on windows, this should at least allow you to run TacO now.

Something else also happened, people started hacking the TacO executable itself to try to add localization support. This is not something that I feel good about since it probably won't ever result in a fully translated overlay but on the other hand if not done right, it'll introduce instability into the program. I pride myself on the stability and robustness of my work, so yeah... This made me bite the bullet and thus I give you the long awaited Localization Support. TacO now comes with a language file, and most of the visible text (aside of marker editing functionality and copyright info) in the overlay comes from this file. The file supplied with the TacO package is called TacO_Language_en.xml, however the overlay will try to load all TacO_Language_*.xml files on startup and let the user select between their contents in the overlay settings submenu. The intent is that content creators can go ahead and translate the language file and distribute their own TacO_Language_fr.xml or TacO_Language_de.xml or similar without having to edit or overwrite the English original. Changing languages in the overlay has a small limitation, WvW location names will only update after the overlay has been restarted. Text that hasn't been translated in a specific language file will show up as a token name between [brackets] and the log file will contain any missing tokens that need to be translated, to help with such efforts. Non-latin text is not supported as the TacO fonts are missing these characters, and utf-8 support in the ui engine is still a bit dodgy.
Language selector and the new submenu for overlay settings
The localization feature can also be used to have WvW location names appear different than they are in the API. This was a request I had way back when WvW support was first added.


Changelog:
  • Map timer config context menu doesn't close now when toggling a map
  • Updated map timer info for PoF and later maps
  • Map timer can now track your daily boss kills for those bosses that have an API endpoint (world bosses and hardcore world bosses, requires API key)
  • Map timer can now track your daily map metas that have an API endpoint (Maps that have a hero's choice chest, requires API key)
  • TacO should no longer crash on startup when non-latin input methods are used (Disabling the IME altogether for TacO seems to have fixed it)
  • Marker distance text now has a slight outline for better visibility
  • Marker distance text is now faded out with the marker to remove clutter
  • Even faster start-up and significant memory use improvements by on-demand loading of POI graphics.
  • Hidden windows should no longer hold up clicks to GW2. Hopefully. I couldn't reproduce the original issue to test it.
  • Range circle toggles will now keep the menu open like the marker filters
  • Added "IsSeparator" attribute to marker category descriptions. If it's value is 1, the category will act as a separator in the marker category filter and won't have an [x] toggle
  • Moved [x] toggles to the beginning of the line in the marker category filter menu
  • Highlighted some toggled features of the menu system
  • Rearranged the TacO menu to hide overlay-related settings and make things a bit cleaner
  • Added localization support. The default TacO install will only come with an English language pack though, it's up to you guys to create (and update) other translations.

23 comments:

  1. how can i update without losing all my config?

    ReplyDelete
    Replies
    1. All taco settings are stored in the tacoconfig.xml, which is not supplied in the release zip. You can freely overwrite the old version with the new one to update, but if it makes you feel better, do a backup first :)

      Delete
  2. Hey, you accepting any translation packages to add your release?

    ReplyDelete
    Replies
    1. That would mean that for each package when I create a new release I’d have to track down the author to make updates. No, this is a community effort. Upload the language files to github or something, and i might link to them.

      Delete
  3. I've run into multiple crashes after downloading GW2TacO_036r. Not something that occurred with GW2TacO_034r. I deleted the contents of the directory where I had 34r installed, made sure the directory and all files were editable and full control for all users, started taco, started gw2, selected a character and chose various options (basically deactivating visible except the 600y range circle at 60% vis) and entered an API key.

    The 3 crash logs are identical.
    Crash occurred at: 2019-07-14 09:09:07
    Build version: GW2 TacO 036.2052r
    Exception Type: c0000005
    f:\dd\vctools\crt\vcruntime\src\string\i386\memcpy.asm (194)
    e:\!code\workshop\basecode\baselib\string.cpp (179)
    e:\!code\workshop\gw2overlay\gw2taco.cpp (1359)
    e:\!code\workshop\gw2overlay\gw2taco.cpp (983)
    e:\!code\workshop\basecode\whiteboard\guiitem.cpp (516)
    e:\!code\workshop\basecode\whiteboard\guiitem.cpp (527)
    e:\!code\workshop\basecode\whiteboard\application.cpp (456)
    e:\!code\workshop\gw2overlay\gw2pois.cpp (1107)
    f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl (253)
    Unresolved address: 77AC0419
    I've saved the dmp files and can email them to you if you like.
    For now I'm rolling back to GW2TacO_034r

    ReplyDelete
    Replies
    1. Could you please check if the same thing happens with r35? Need to narrow down the source of the issue.
      What input method are you using on your system?

      Delete
    2. No issues with R35. As an input method I'm using a standard USB PC keyboard with the basic Windows 10 driver and a Razer Naga Chroma MMO mouse that uses Razer Synapse v2.21 which I've used for 4+ years.
      1 Crash that didn't even create a log or a crash window occurred when I unchecked Toggle Tactical Display
      2 crashes occurred while I had minimized GW2 to check the wiki website (I use chrome)
      1 crash also occurred when I was in an Asura personal story instance in Rata Sum and I wasn't doing anything with taco just in combat.

      Delete
    3. I most likely found your issue in the meantime, a hotfix will be coming out later tonight.

      Delete
    4. Until then you can close the map timer window to avoid the issue :)

      Delete
    5. Played using R37 for several hours and no crashing. I think you have the issue fixed.

      Delete
  4. Since last update I've been getting an issue where using F next to a marker is not hiding the marker (that should be hiding). Toggling Tactical display off and on again fixes it and using F again will hide the marker.

    Then, after some time playing, it happens again. (Since it is so random cannot be sure it actually is from latest update)

    ReplyDelete
  5. Hello, after I translate the menu into Chinese, the characters overlap

    ReplyDelete
    Replies
    1. There are already 2 separate chinese translations, none of them had any issues with this, please coordinate with them.
      https://www.reddit.com/r/GW2TacO/comments/cd4eo5/gw2_taco_help_to_translate_with_a_maximum_of/

      Delete
  6. I'm trying to GW2TacO on linux via wine but i'm getting a black windows with only gw2taco markes/paths on top of the game window. from what i find out is something related to windows theme (aero needs to be enable) but wine does not have such thing. is there any way to change the way window is handle? or somehow to make the black background fully transparent? also another problem i have is controlling the game. also the window ends most of the time in the background. i don't know how to make it stay on top but somehow i can end up with it on top of the game

    ReplyDelete
    Replies
    1. Sorry, that's a wine issue and you'll have to look for a solution in the wine community.

      Delete
    2. For reference PAO works. i can use it over the game without loosing windows focus or black screen. i had some strange "windows" that froze over the game but somehow i manage to turn them off.

      Delete
    3. PAO uses completely different technologies to display the UI, TacO uses directx directly and doesn't use any WPF or GDI components, so the two aren't really comparable.

      Delete
  7. BTW what are the requirements for TacO. does it need a specific vs runtime or specific version of .NET?

    ReplyDelete
    Replies
    1. None. TacO doesn't use .NET and the necessary VS runtime code is embedded, not linked to from a dll to make it more portable.

      Delete
  8. TacO will not work on anything but Window or Windowed Full Screen, even when running. My game lags horribly on anything but 1366x768 and TacO will not show up on this setting. Please help?

    ReplyDelete
    Replies
    1. Sorry I have no idea what's causing your issue. If the game on its own runs fine in fullscreen and doesn't in windowed mode, the problem isn't with TacO.

      Delete