xhud / libxwing

By sirjorj, in X-Wing

Over the last year and half or so, I have been working on an overlay generator called xhud. Unlike the fancy point-and-click options that are out there, I made a command line one. It's not the most user-friendly, but I've had a lot of fun working on it and the underlying c++ library (libxwing) that contains all the game data.

Recently, I have been working on a way to make all the information stored in libxwing easier to view. Well, I think I am ready to unveil the results of this little experiment.

http://xhud.sirjorj.com/

This site is the main resource for all things xhud and libxwing. In addition to those projects, there is a new one called xwing.cgi. This is a web interface to libxwing. I am not a web developer (this site has NO javascript!), so this was a new experience for me. From the above link, you can check out the xwing.cgi site. It has all the info from all the main parts of the game such as ships, pilots, upgrades, and expansion releases. All of them are linked to each other, so you can pick a pilot, go to its expansion pack, see what upgrade cards come with it, click a card, and then see what all expansions have that card. Another fun thing is that each expansion has hyperlinks to the official announcement, preview, and release pages on FFG, so it's kind of fun to go back and read those. It's not the prettiest, but it loads pretty quickly and doesn't have ads all over the place. In addition to this, there is a page called 'validator'. This lets you paste in the xws text of you squad (as exported from YASB or whatever squad builder you choose). It will then use libxwing to validate the list (make sure it is legal) and then use xhud to generate an image which is included in the page. This lets you see how your squad would look in xhud.

At this point, I am pretty sure that there are some card combos that are not properly validated, and there are probably typos and data entry errors so if you see something that isn't right please let me know and I will fix it ASAP.

Thanks to all of you for making this game fun and I hope you find my little contribution useful.

jorj

Intriguing. Do you have any example outputs so we can see the power of this thing? :)

The text-based card reference site is certainly promising, for a start!

I do need to post some sample images. For now, you can go to the validator on xwing.cgi ( http://xhud.sirjorj.com/xwing.cgi/validator ), and paste the xws of your squad (that is what is exported from YASB or any other squad builder). The image that you will see is exactly what xhud will put on your side of the screen.

Nice job! I like the fast text version to see upgrade cards in packs.

Hilarious reading the old preview articles. Ewing one is great as they try and sell R2-F2 as a legitimate droid, pairing it with Sensor Jammer. Same cost as Adv Sensors and R2D2!!!

Legion is using Xhud for our streams. It's good!

Interesting project! I'm wondering if you knew xwing-data existed and what shortcoming it had relative to what you had in mind?

https://github.com/guidokessels/xwing-data

Edited by Mu0n729
38 minutes ago, Mu0n729 said:

Interesting project! I'm wondering if you knew xwing-data existed and what shortcoming it had relative to what you had in mind?

https://github.com/guidokessels/xwing-data

I think i discovered this well into development. Libxwing started out as a sqlite db (partially because i had never done much with db creation and wanted to learn) but when i got to cards like the TIE Advanced title, i realized a pure DB was inadequate so I remade it as a vector of objects. This way each object could have std::function() validators that get the pilot and/or list passed to them so each card could validate itself.

The xwing.cgi site has been updated with a darker look and I have started adding Second Edition data.

http://xhud.sirjorj.com/xwing.cgi