Coder Social home page Coder Social logo

community-module-pack's Introduction

Blish HUD

Build status Discord Quality Gate Status

Visit our site: https://blishhud.com

Check our Setup Guide

Blish HUD Setup Video

Download Blish HUD

You can download Blish HUD:

Need Help?

Visit our #💢help channel in Discord.

Links of Interest

Blish HUD Resources

Marker Pack Support

For Developers

Pull requests are welcome. You are encouraged to join the discussion in the Blish HUD #🔨core_discussion Discord channel.

Build Requirements

Prerequisites

  • Visual Studio 2022
  • Individual Components that need to be installed in Visual Studio via the Visual Studio Installer:
    • .NET Core 3.1 Runtime
    • .NET Framework 4.7.2 SDK
    • .NET Framework 4.7.2 targeting pack
    • Visual C++ Redistributable 2012

Instructions

  1. Clone the repo: git clone -v --recurse-submodules --progress https://github.com/blish-hud/Blish-HUD.git
  2. Launch the project solution (.sln file) in Visual Studio 2022.
  3. In the Solution Explorer right click on the solution icon. In the context menu click "Restore NuGet Packages".
  4. Right click the solution icon again and click "Build Solution".

Module Development

Thanks

Thank you JetBrains for providing free open source licenses to our primary contributers.

License

Licensed under the MIT License

community-module-pack's People

Contributors

agaertner avatar bennieboj avatar cheahjs avatar denrage avatar dependabot[bot] avatar dlamkins avatar gamingrobot avatar imgbotapp avatar invisi avatar metallis avatar mikayex avatar nickcode122 avatar pluckerpluck avatar quitarhero avatar rgobo avatar willoughbyb avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

community-module-pack's Issues

Markers & Paths module needs support for AugTyr files.

The format only supports a small number of behaviors and the core application already supports a few of them.

Per https://github.com/ideka/AugTyr the available behaviors we'll need implemented and aliased are:

I will compile a list of behaviors that need implemented and aliased for AugTyr support.

(For review)
https://github.com/ideka/AugTyr/blob/master/Assets/Augmented%20Tyria/Scripts/Route%20Data/Node.cs

These files are .json and should be placed alongside the marker pack .zip files in the Markers folder.

REF: https://discordapp.com/channels/531175899588984842/534492012263636992/598364166113198092

Behavior to toggle culling on or off.

QuitarHero at 7/19/2019 10:28:18 PM +00:00

So a really dumb idea came into mind; because with the rotate attribute, people could make a bunch of markers and pictures, abusing rotate and iconSize, and create houses; statues, furniture, and really anything they want.
But something that stops fun stuff like that is when using the rotate attribute, it only shows the image in 180 degrees; if you go behind the image, it's as if it's not there.
Now I love how it currently is, but I would appreciate an additional argument with the rotate attribute that allows the image to show on both sides, not just one. a simple 0 or 1 can suffice

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/601903170939125771

Add support for .taco marker pack files.

It appears TacO now supports .taco files (same as the archives, but with taco as the file extension instead of .zip). We'll need to make sure we detect these as valid marker archives and read them in.

Wallet module

a commerce module that would allow you to pin currency & item counts on screen, see them in a tab in the main window

Rotate behavior should still apply if the value provided is 0.

Per QuitarHero:

The defualt behavior of the rotate attribute is if you, for example, have rotate-x="0", it pretends that the attribute wasn't specified and retains the normal marker behavior of always facing you.
But sometimes it's nice to have rotate-x="0" to have a marker that can only be seen by looking up at it.
An easy workaround is rotate-x="0.01" (or any small number) which barely moves it, but it'd be cool if the default functionality is, if the attribute is specified, even if it's 0, it forces the marker to abide by the rotate behavior.

I agree. If any of the rotate attributes are added, the rotation should be forced to be static.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/601049435635712009

WvW Module

WvW camp flipping timers (with toggle option for herd icons)

Library Module

QuitarHero at 1/14/2020 8:06:45 AM +00:00

Module Suggestion: Library
I think the pictures explain it pretty well. Remembered some work for this stuff was done around the middle of last year. Also reference this pic: https://cdn.discordapp.com/attachments/534490472224391169/666553818611318784/Blish_Library_Pic_Two.png

This would require the user's API key as it'd display the books a user has unlocked. The endpoint required would be progression (achievements)

image

image

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/666553782955540491

Inconsistent marker rendering

QuitarHero at 11/16/2019 9:26:45 PM +00:00

Bug Report:
Module: Markers & Paths / Core
Issue: For an unknown reason, markers that have text (not titles, but pictures with text in them, maybe only when the text is part of a transparent background) bold.
Picture of Issue:
image
Temporary? Fix: Reload the Markers & Paths module in the gw2 map that the bugged marker(s) appear on. This needs to be done on a per-gw2 map that have markers basis.

  • I have theorized (though seemingly proven wrong) that Blish interacts with something with windows that "resets" when your computer takes a long rest after a shut down, and Blish only interacts with that thing when you reload the module.
  • I've also theorized (though again, proven wrong) that iconSize may be part of the culprit, considering the pictures I'm using are 128x128 and iconSize="1" or even slightly larger doesn't correspond to the origional / larger size (in short, the pictures are smaller) so it temporarily bolds to compensate.
  • I've also theorized (yet to be proven) that re-organizing categories (even if the final result is the same) in the .xml results in this issue.

Attached to this bug report is the marker pack I was using (and developing) when this issue occured.

https://cdn.discordapp.com/attachments/534492173362528287/645374221303808032/Blish.Text.Bug.zip

REF: https://discordapp.com/channels/531175899588984842/534492173362528287/645374222104788992

Allow markers to specify a default toggle state on the MarkerCategory.

QuitarHero at 8/16/2019 5:47:10 PM +00:00

Suggestion:
Add a category attribute for default category toggle status.
Example:

<MarkerCategory name="quest5" DisplayName="Quest 5" defaultToggle="0"/>

Normally, all categories are toggled on by default, which can get a little overwhelming with some packs. But sometimes a pack dev would want to do this intentionally, whether for role-playing or organization purposes.
This attribute is only considered until the user toggles a category, then it's ignored thereafter.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/611979280280453172

Discord Rich Presence

Checklist

Everything is a Setting

  • Enable/Disable Discord Rich Presence provided by Blish HUD.
  • Show how long I've been playing GW2.
  • Show map type details (PvP, WvW, closest waypoint for PvE, instance, and storyline) as mini-icons.
  • Show relevant artwork based on your current map or instance.

QoL

  • Show heart progress and heart details when in a heart zone that is incomplete. (missing data)
  • Show details about participating metas based on map, time, and position data.

Description

Displays contextual information and map/instance artwork to your friends in Discord when they hover over your user icon while you're playing GW2.

Some limitations in this integration have been identified. The primary limitation is that there is a limit to the number of images that can be uploaded into the management back-end for DRP for users to display. This limit is far below the actual number of GW2 maps. An evaluation of what maps utilize the same artwork as well as which maps are most frequently visited will need to be performed to improve the amount of time that the artwork can be displayed.

The option to customize this feature further with details such as PvP & WvW rank as well as guild information would allow it to cater to a wider audience. The authenticated API includes endpoints that would cover these things. - @ Nax

QuitarHero's Bug Report [666105882484015105]

QuitarHero at 1/13/2020 2:26:58 AM +00:00

Bug Report:
Module/Version: Markers & Paths / Core. dev-285
Issue: An inconsistent issue, but every now and then, when I reload markers (using the 'reload all' button on the markers and paths icon), Blish will start loading markers, then suddenly the blish icons dissapear from the top left of the game screen and no markers will display.

Blish is still running, but if left alone for a bit, will result in the picture provided; unresponsive and unable to close Blish HUD outside of task manager.

When Blish reloads, it's as if the markers are fully loaded and pretends it never had this issue.

As a sidenote, when restarting Blish after this issue presents itself (so blish has issue, you kill it with task manager, reload, THEN exit and re-launch), it needs to take time to look through all available markers in order to display them - the intended behavior.

There are no error messages in the log, so providing one isn't relevant.

REF: https://discordapp.com/channels/531175899588984842/534492173362528287/666105882484015105

Taco Compatibility

Checklist

  • Ability to read TacO XML overlay data files into internal marker classes.
  • Ability to read TacO trail (.trl) data files into internal trail classes.
  • Adjust UI to compensate for TacO, if it is running.markers will need to be cached and the decision of when to load in sprites will need to be made. In the first release of this module, loading map specific sprites will likely occur when a map change event fires.
  • Ability to read trail/marker files from compressed archives.
  • Expose settings to UI.

Required

  • Ability to toggle visibility for trails/marker sets.
  • (not TacO specific - related to markers / trails in general) Sprites used by trails and
  • Markers and trails must support all attributes currently supported by TacO.

QoL

  • Ability to specify where specifically path and marker files should be automatically loaded from.
  • Option to have a prompt upon entering a map that asks which paths to enable.

Description

In order to avoid multiple file formats and, ultimately, the duplication of hard work put in by the GW2 community, Blish HUD should be able to natively load in marker packs and trails created in or for TacO.

Additionally, Blish HUD should never assume it is the only overlay running. In the event that TacO is detected running, Blish HUD's UI icon should move over to make space (and prevent icons from overlapping).

The option to disable the display of marker packs and trails must be available so that users still using TacO have the choice to utilize it instead of Blish HUD for markers and trails.

Switch TacO marker pack loading to use a custom XML parser instead of XmlDocument.

Benefits:

  • Potentially improved marker loading speeds.
  • Loser syntax requirements.
  • Reduced memory usage when loading and while running.

Requirements:

  • In Blish HUD, attributes will need to be stored as an intermediate type instead of directly storing the XmlNode.
  • TacO format parser will need to be switched to use the new parser instead of XmlDocument.

Considerations:

  • It's important that we keep namespace parsing in mind during this transition as this may be a good time to also add the localization support.

The change to Blish HUD is a breaking change to the Pathing API. I'll be creating an issue in that repo shortly and linking it here to better represent the changes needed.

I'll update this issue as additional details become available.

Create behaviors that match the TacO behaviors

Here are the behaviors that need an equivalent in Blish HUD (based on original implementation description):

  • 0: the default value. Marker is always visible.
  • 1: 'Reappear on map change' - this is not implemented yet, it will be useful for markers that need to reappear if the player changes the map instance.
  • 2: 'Reappear on daily reset' - these markers disappear if the player presses 'F' over them, and reappear at the daily reset. These were used for the orphan markers during wintersday.
  • 3: 'Only visible before activation' - these markers disappear forever once the player pressed 'F' over them. Useful for collection style markers like golden lost badges, etc.
  • 4: 'Reappear after timer' - This behavior makes the marker reappear after a fix amount of time given in 'resetLength'.
  • 5: 'Reappear on map reset' - not implemented yet. This will make the marker reappear when the map cycles. In this case 'resetLength' will define the map cycle length in seconds, and 'resetOffset' will define when the first map cycle of the day begins after the daily reset, in seconds.
  • 6: 'Once per instance' - these markers disappear when triggered but reappear if you go into another instance of the map
  • 7: 'Once daily per character' - these markers disappear when triggered, but reappear with the daily reset, and can be triggered separately for every character

http://www.gw2taco.com/2016/01/how-to-create-your-own-marker-pack.html

TacO MarkerCategory names are alphanumeric + `_` exclusive

QuitarHero at 5/9/2020 11:22:04 AM +00:00

Bug Report:
Module: Markers & Paths
Issue: A difference between Taco and Blish in regards to the name MarkerCategory attribute:

  • Taco: It forces all empty spaces into underscores, so this would be the same to Taco:
<MarkerCategory name="test.T e s t i n g"/>
<POI marker="stuff" type="test.t_e_s_t_i_n_g"/>
  • Blish: It does not force all empty spaces into underscores, so the above example makes the name and type incompatible.
    Edit: Looks like any character that isn't a . or a letter/number is swapped for a _

In the effort to make Taco marker packs a seamless transition into Blish HUD, this is something that should be addressed.

Related discussion: https://discordapp.com/channels/531175899588984842/534492012263636992/708616039298236457

REF: https://discordapp.com/channels/531175899588984842/534492173362528287/708639926995910686

Events & Metas Observer: Add "Toggle notifications" checkbox left of sortings dropdown.

Tybalt at 4/8/2020 3:04:30 AM +00:00

Event & Metas Observer <@!164832069401182210>
should have a tick box to the left of the sort dropdown to toggle all notifications on/off. Currently, you need to disable the entire module. This is bad because often you want to check on a specific event or meta in the interface but not have the notification annoy your gameplay. It also doesn't help that you could disable each individually because then you have to reenable for when you do want to get notified.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/697280685714440252

Notes Module

Dependency

blish-hud/Blish-HUD#6

Description

Basic note taking support is a very common need. The Notepad module intends to allow users to:

  • Allow users to take notes in an unstructured text input window.
  • Provide multiple note sections (for basic sorting needs).
  • Allow users to copy & paste data to and from notes.

Stretch

  • The ability to add daily checkoff items would also be a good feature to provide in this module.

Speedometer

  • Expose settings in UI.

QoL

  • Implement alpha masking.

Settings

  • Select color of speedometer bar.
  • Toggle enabled/disabled.
  • (Feature) Display numerical speed above the speedometer.

QuitarHero's Feature Request [618906587800535063]

QuitarHero at 9/4/2019 8:33:49 PM +00:00

Suggestion:
Markers & Paths: Cross-Category Interaction

In short, when a category is toggled, other categories are also toggled.

Every marker pack has some sort of general categorization that the creator chose to sort their markers by, but unfortunately that sorting method isn't gonna work for most people. This works in conjunction with multiple types, where if a category is toggled whose types match other categories, they are also toggled, via an attribute that says so: catToggle="1" for example. The attribute essentially says, "if this category is toggled, it toggles everything that also points to that category to the new toggled value.

An example to showcase:

<MarkerCategory name="CreatorPack">
    <MarkerCategory name="Sort">
        <MarkerCategory name="Mounds"/>
        <MarkerCategory name="Kill"/>
        <MarkerCategory name="HelpSoldiers/>
    </MarkerCategory>
    <MarkerCategory name="Hearts">
        <MarkerCategory name=Location1">
            <MarkerCategory name="Mounds"/>
            <MarkerCategory name="Kill"/>
            <MarkerCategory name="HelpSoldiers"/>
        </MarkerCategory>
    </MarkerCategory>
</MarkerCategory

Lets say that I only wanted a marker pack to show me "Kills", and nothing else. Imagine if the example had multiple locations (discord char limit, so..). I would go to CreatorPack -> Sort -> Mounds and CreatorPack -> Sort -> HelpSoldiers. I would toggle those two off, and by toggling them off, they would also toggle every single instance of "Mounds" and "HelpSoldiers" off. Now I can individually toggle each location's back on if I want them again, or I can go back to the "Sort" category and toggle every instance of them back on again.

Now it doesn't have to look like that, but it's one example of how multiple types and cross-category interaction can function to help marker packs organize themselves to every individual user's specifications.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/618906587800535063

Support "IsSeperator" attribute.

QuitarHero at 8/16/2019 5:58:10 PM +00:00

Suggestion:
Since we're replicating attributes in Tac0 for Blish for complete Tac0 pack compatibility, add support for the IsSeparator attribute.
From the Tac0 Site:

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

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/611982047183110145

Blish HUD ignores specialization attribute and uses profession instead

QuitarHero at 5/20/2020 8:10:51 PM +00:00

Bug Report:
Version: v387
Module: Markers & Paths / Core
Issue: Incorrect markers are shown when toggling categories that support the specialization mumble-link attribute.

It seems that Blish falls back on mumble-link's provided profession when a marker category is toggled off, so in the below example, you see that even though I disable the Tempest category while on Weaver and vice-versa, it shows the other elite spec, even though that's not what I'm using.
In this example, I do not specify the profession attribute; only the specialization attribute (and put it in the MarkerCategory).
https://gfycat.com/everlastingfantasticgrebe

https://gfycat.com/everlastingfantasticgrebe

REF: https://discordapp.com/channels/531175899588984842/534492173362528287/712759266347581550

Split Community-Module-Pack repository into Community-Modules & Official-Modules

Tybalt at 4/17/2020 4:56:22 AM +00:00

I have suggested this before but I didn't make a post for it here so here it goes.

Split Community -Module-Pack repository into

  1. Community-Modules

With the README.md saying something along the lines:

These modules are viewed over before they are merged in here but are not officially supported by BlishHUD staff. The author acknowledges to take full responsibility of his or her module.
If a module stops working with newer releases of BlishHUD it can be reported via the issue tracker.

  1. Official-Modules

Official supported modules.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/700570330921435227

Support toggle marker visibility based on current character class

QuitarHero at 12/20/2019 3:44:40 AM +00:00

Suggestion:

For Markers & Paths, since we can specify optional and required API permissions, using the /v2/characters endpoint, create an attribute that only shows markers based on the current class the user is playing.

This can also be used for /v2/mounts and whatever else we can think of.

This would require the developer to specify a default attribute in the case that the user doesn't want to provide the optional API permissions.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/657428130725756929

Can't type in landmark search textbox after you've typed and then removed all text.

QuitarHero at 8/23/2019 6:12:47 PM +00:00

Bug Report:

Module: Universal Search (Landmark)
Build: v0.4.2-dev+203
Issue: Upon loading, it is finicky to type in, but you can type in it.
The issue is after you type in it and remove all text, you are unable to type in the "search" field thereafter. Closing and re-opening the module doesn't fix the issue.
The only temporary fix currently is to unload, then reload the module.

REF: https://discordapp.com/channels/531175899588984842/534492173362528287/614522444027396180

Markerpacks - Updating / Meta-Data / Structure

System for Marker-Updates

I know that this idea was already mentioned (I think its also on the Trello-page) but I thought i would write a little draft on how it could work.

The basic idea would be to ONLY use ZIP-files for marker-packs that contain at least 1 file - the so called packinfo.xml

The "packinfo.xml"-file would look like this:

<?xml version="1.0" encoding="utf-8"?>
<PackData>
	<Author>
		<Name>Tiscan</Name>
		<InGame>Tiscan.8345</InGame>
		<Email>[email protected]</Email>
		<Website>http://gw2info.net</Website>
	</Author>
	<Meta>
		<Name>Skyscale Markers</Name>
		<Description>A simple pack containing markers for the Skyscale-Collections in Dragonfall.</Description>
		<Version>1.0.0</Version>
		<UUID>61cfb756-c080-4850-875b-ac60048e50f8</UUID>
		<FileURL>http://markers.gw2info.net/files/gw2i_skyscale.zip</FileURL>
		<UpdateURL>http://markers.gw2info.net/files/gw2i_skyscale.xml</UpdateURL>
	</Meta>
</PackData>

Most of the fields would be optional (InGame, Email, Website, Description, etc.)

The only mandatory fields would be the two Name Fields and the UUID-Field.

Updating would work like this:

Blish would try to download the xml-file from the URL stored in "UpdateURL". This XML-File would be a copy of the packinfo.xml - Blish would then first compare the UUID and if they match, it would compare the values of the "Version"-field. If the Version from the XML that's found on the server is higher, Blish would download the file given in "FileURL".

The UUID would ALWAYS stay the same for a certain markerpack. so no matter if you have version 1, 2 or 349 or a pack - the UUID would always match (that way, Blish could also decide to skip loading a pack to prevent duplicate packs)

And in case you're wondering why i said that only the packinfo.xml is madatory: this way a pack-creator could create a base-pack with images for all his packs and ship all other packs without any images in them.

Which brings me to another possible addition: dependencies. By having unique UUIDs for all packs, we could also add a "DependsOn" Field containing the UUID of another pack.

I don't know if there are already other plans but i thought i would just post this here so you guys can make use/fun of it :) :) :)

QuitarHero's Feature Request [639241404866101268]

QuitarHero at 10/30/2019 11:17:07 PM +00:00

This would purely be an advanced QoL feature that wouldn't be implemented for quite some time, but...

Suggestion:
Module: Markers & Paths
Purely for devs and very slightly optimizing code, a way to transform iconFile to look at an entire folder and associate a picture (via numerically & alphabetically) with each marker of a category. The attribute could be called, iconFolder.
Example:

<MarkerCategory name="Race1" iconFolder="Data/Numbers"/>

<POIs>
  <Marker1 type="Race1"/>
  <Marker2 type="Race1"/>
  <Marker3 type="Race1"/>
  ...
  <Marker59 type="Race1"/>
  <Marker60 type="Race1"/>
<POIs>

the Data/Numbers folder has pictures for 1-60, numerically labeled, in this example.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/639241404866101268

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.