gwdevhub / GWToolboxpp

Tools for Guild Wars players
http://www.gwtoolbox.com/
Other
140 stars 77 forks source link

GWToolbox++

A set of tools for Guild Wars Players

If you are here to check toolbox features and for a download link to go https://gwtoolbox.com. Keep reading for information on how to download and build from the source.

How to download, build, and run

Requirements

  1. Open Git Bash. Use all the following commands in Git Bash.

  2. Clone the repository recursively: git clone --recursive https://github.com/gwdevhub/GWToolboxpp.git

  3. Navigate to the GWToolboxpp folder: cd GWToolboxpp

  4. Build: cmake -B build

  5. Open: cmake --open build

  6. Build the solution.

  7. Run.

Notes

How to contribute

Quick code overview: There are three main kinds of Toolbox components: Modules, Widgets and Windows. Any new code is most likely an additional one of those, or some change in one.

Both Widgets and Windows can also have a panel in Settings, and share common code in ToolboxUIElement, which handles saving of position, visibility, etc. If you wish to create a new window/widget, please take a look at how similar ones have already been implemented.

Important: The destruction chain is as follows: SignalTerminate -> Terminate -> Destructor. Make sure to handle all destruction logic that uses other modules or interfaces with GWCA in SignalTerminate, Terminate to revert any changes to the game and only use the destructor for class scope clean up.

Plugins

Toolbox supports plugins, meaning you can extend Toolbox functionality. Please take note that plugins are currently a beta feature - plugins compiled for one version of toolbox should continue working, but may have to be recompiled

For users: put the plugin into GWToolboxpp/\<Computername>/plugins If you use plugins that aren't compatible with your Toolbox version, you might experience crashes.

For developers: there are a few things you should take note of:

Credits

HasKha

KAOS

Ziox

Jon

Dub

[Itecka]()

Misty/DarkManic

JetBrains

Everyone who proposed a PR

and everyone suggesting ideas!

All images in resources/icons are from www.flaticon.com