A Programming Project (Muster Maker)

Anything unrelated to any of the other forums
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 2:40 am

Hello all,

So with the release of the new Muster Rules, I found myself a bit lost with the building of my hosts. As a Computer Science student, I decided to code a solution. I don't know if anyone else has done anything similar, but this is my go at a Muster Maker.

Current Status: Release 0.05a
URL: https://www.dropbox.com/s/q0kcdclzct7x4 ... 1.zip?dl=0
Updated: Monday, April 21th, 10:23 PM
(You may need to RIght-Click and save the link instead of clicking it.)
(Only tested on Windows 7; all other OS are untested and anything could happen)

Available Kindreds:
- Albainn: https://www.dropbox.com/s/4oicw5r6of99c ... nn.db?dl=0
- Erainn: https://www.dropbox.com/s/zj1d53ey5tchx ... nn.db?dl=0

Unavailable Kindreds:
- Everything else

Implemented:
- Select a General, and use the General to lead the First Command.
- Add Units to different commands
- Add additional commands
- Change between different Battle Sizes
- Track ubiquity counts, both Min and Current counts
- Authority limits (hopefully)
- Champion's, Banner Bearer's, Horn Blower's (Units and Host)
- Sorcerer Invocation Selection
- Create New Host via File Menu

Notes:
- Only units of Unit Size: 1, and Authority > 50 can be selected as a General/Commander (Personal Choice, can be changed of course)
- Ubiquity now implemented correctly
- Currently, any unit can join the Host Command; this will be changed eventually

Unimplemented Features:
- Unit Options (Mounts, Weapons, etc.)
- Specific rules for many Kindreds
- Saving and Loading muster lists
- Probably many others that you think should be there

Installation:
- Simply download and stick it in a folder
- Make sure that the .db file is in the same folder as the .exe file, otherwise you won't have anything.
- In fact, it should hopefully work if you just include the whole contents of the ZIP file in the same folder (unless you know what you're doing)
- If you run into an error message upon startup, please try installing the (x86) or (x64) version of this software: https://www.microsoft.com/en-ca/downloa ... x?id=30679

Notes on using:
- Create New Host via File Menu, SELECT ERAINN AND UI NEILL, THEN CLICK OK. (otherwise it might break, k thks)
- As mentioned, only certain units may be the General
- If you want the General to lead the First Command, simply select "General" at the bottom of the list
- Nothing forces you to stick to the limits at current time; it simply tells you what they are
- To keep track of ubiquity, just check all the "Min Ubiquity?" check boxes.
- Some units have two entries; these are cases where the unit changes different ubiquities as a General vs. Commander. If it doesn't change how you want, choose the other one.
- Cost and Ubiquity are formatted as follows (cost is only 3 boxes; top left is current):

MIN_CUR CURRENT
----------- -----------
MINIMUM MAXIMUM


That's everything! Please leave opinions, bug reports, requested features, etc. below. Hope you enjoy!

Created using Qt Open Source and Qt Creator. Statically linked with necessary .dll files for standalone executable.
Source code: https://github.com/JediCat/Muster_Maker/
Last edited by JediCat on Sun Apr 24, 2016 7:17 pm, edited 17 times in total.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 6:29 am

Errrr, technical difficulties have been discovered, sorry if anyone tried it. Weeeee this is how development goes XD

EDIT: Technical difficulties have been resolved, try again if it was acting funny
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 18, 2016 9:28 am

Hi - I had a bash at something similar, but I got a bit defeated by all the special rules that affect other units. I was trying to make it so that all the logic was in the application, with each muster list being loaded in as an XML file. Here's Penda's entry:

<UNIT Id="ANG-PENDA" Name="Penda" Ubiquity="Unique" WarriorClass="Warlord" Authority="95" MinSize="1" MaxSize="1" Gold="289">
<OPTIONGROUP Name="Combat Weapon" SingleSelect="True">
<OPTION Id="COM-SP" Name="Guthgār (Spear)" Gold="32"/>
</OPTIONGROUP>
<OPTIONGROUP Name="Mount" SingleSelect="True">
<OPTION Id="MNT-FRAM" Name="Fram" Gold="35" />
</OPTIONGROUP>
<RULE Type="CommandDoubleMaxSize::ANG-WULF" />
<RULE Type="CommandDoubleMaxSize::ANG-FREA" />
<RULE Type="CommandDoubleMaxSize::ANG-WAEL" />
<RULE Type="CommandDoubleMaxSize::ANG-WERW" />
<RULE Type="CommandUbiqChange::ANG-WULF::Mainstay" />
<RULE Type="CommandUbiqChange::ANG-FREA::Mainstay" />
<RULE Type="CommandUbiqChange::ANG-WAEL::Mainstay" />
<RULE Type="CommandUbiqChange::ANG-WERW::Mainstay" />
<RULE Type="CommandHalfAuth::ANG-WULF" />
<RULE Type="CommandHalfAuth::ANG-FREA" />
<RULE Type="CommandHalfAuth::ANG-WAEL" />
<RULE Type="CommandHalfAuth::ANG-WERW" />
<RULE Type="GenUbiqChange::ANG-GES::Mainstay" />
<RULE Type="GenUbiqChange::ANG-WERW::Mainstay" />
<RULE Type="GenCompanions::ANG-GES" />
<RULE Type="GenCompanions::ANG-WERW" />
</UNIT>

I may come back to it at some point as it is a very interesting challenge! :)

Good luck with your efforts too, I will try to DL and test it for you later.
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 18, 2016 9:32 am

It won't start for me as I don't have MSVCP110.dll or MSVCR110.dll on this PC, you may want to include those in the release?
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 9:41 am

Thanks for the rules and error notes, will include in next release; which should be in 10 or so minutes XD.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 9:50 am

New release! Give it a go people! This one gives you banner bears and stuff, for both Host and Command! Only for Erainn of course...

EDIT: Banner BEARERS mind you, but banner bears sound cool too....
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 18, 2016 10:00 am

Hmm, for some reason it still won't start on my Windows 10 PC. Nothing in the Event Log to give a clue.
Rob Boyce
Posts: 114
Joined: Wed Feb 17, 2016 8:42 pm

Re: A Programming Project (Muster Maker)

Postby Rob Boyce » Mon Apr 18, 2016 10:13 am

I'm a good way into an android app, and overcame a big hurdle this morning. Probably won't materialise for a few months yet though as I'm teaching myself to code from scratch for it. Just found out this morning that I shouldn't be constantly accessing the database so got to go back and redo all that :(
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 10:40 am

Slinky: Hmm, I'll update the notes to mention that I'm on Windows 7. Couldn't tell you why it isn't working as I don't have a Windows 10 machine to test on currently.

Rob Boyce: Good to hear Android is covered at some point XD, means I don't ever have to worry about porting :P
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 18, 2016 9:46 pm

Are there any other DLLs that appear in your output folder? Perhaps try including all of them in the release zip, that might do the trick.
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 18, 2016 11:02 pm

Will do. As a small note, the database had some incorrect info for champs and the like, which should be fixed if anyone who can run it was having issues. (AKA redownload XD)

EDIT: I've updated the DLLs included with the program, hopefully that fixes it for you Slinky. If it does, please remove DLLs until you find a necessary combination XD. Only ones I didn't inclue were Kernel32.dll and shell32.dll, because those should be native to windows no matter what.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Tue Apr 19, 2016 6:02 am

Alpha 0.04 has been released! Invocation selection/management has now been added! Woo!
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Tue Apr 19, 2016 2:44 pm

Still no joy - I get "The application was unable to start correctly (0xc000007b). Click OK to close the application.
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Tue Apr 19, 2016 4:52 pm

Slinky: Go here, and download this program
http://www.dependencywalker.com/

Open the Muster_Maker.exe with it, and see if all the .dlls it shows are found. If you can't tell, post a screen shot with the all the .dlls condensed down.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Tue Apr 19, 2016 5:01 pm

That shows some inconsistencies between 32/64 bit DLLs - My system is 64 bit, what system type are you targeting with your build?
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Tue Apr 19, 2016 5:51 pm

It shouldn't matter; my system is 64bit, but /most/ 32bit programs are backwards compatible. I built 32bit to try and have a wider distribution net. I'll see about re-creating on a 64-bit build of Qt, if I can get one. Put up a screen of dependency walker and I'll see if it matches what mine shows.

EDIT: Ya, my friend who has Windows 10 64-bit can get it to run just fine. He has other errors, but it at least runs.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Tue Apr 19, 2016 7:05 pm

Strange, sorry I can't test it for you :(
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Wed Apr 20, 2016 3:46 am

Slinky, I poked around some more and added a few other things to the folder, please try again.

If it still doesn't work, try moving the .dlls from the platform folder into the main folder.

If it works, please determine whether or not it is the platform folder (or their DLLs) or libEGL.dll.

Also, released 0.041a, which includes a small bug fix.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Wed Apr 20, 2016 10:12 am

Weeeeee, new full release. Build 0.05a out and about! This includes (I think) some bug fixes here and there, as well as properly introduces the New Host feature in the "File" menu. This has NOT been extensively tested, and as the Kindred list shows, you NEED to pick Erainn - Ui Neill to ENSURE you get the correct display setup. Chance are I'll leave it as is until Beta, and focus will now shift to Unit Options and the other Kindreds. I just didn't want to do Unit Options yet, so you get this XD.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Fri Apr 22, 2016 4:24 am

Hello all, back again with a patch, Alpha 0.051

This time I've got the Albainn included. No special rules or anything else (if there are any), but if you were waiting for the Albainn before testing for me, give it a go!
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Sat Apr 23, 2016 5:52 pm

Same issue, I'm afraid. Really not sure what's up with it! :(
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Sat Apr 23, 2016 10:58 pm

Can you use DependancyWalker and save the results from it? I could try and debug from that.

EDIT: Slinky, do you have Microsoft Visual C++ 2012 Redistributable (x86) or (x64) on your machine? If not, that could be the problem.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Sun Apr 24, 2016 7:33 am

Installing the Visual C++ redistributable did the trick - I am in!

Got a busy day today, but will try to test it for you soon :)
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Sun Apr 24, 2016 9:23 am

Time to include those installers as a side download XD WOOOOOO!!!!!
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Sun Apr 24, 2016 10:50 am

First thing you should test for me is how many of those DLL files can be dropped from the download XD
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Sun Apr 24, 2016 10:57 am

Looks like "all of 'em" - I copied just the .exe and the .db into another folder and it started up okay.
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Sun Apr 24, 2016 7:17 pm

Awesome! Thanks dude :)
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 25, 2016 1:30 pm

I had a play. Very good start, here are a few notes:

UI issues
* Min ubiquity checkbox still enabled for characters
* Ubiquity text box allows edit
* Remove command always removes the last one, not the selected one
* Remove unit always removes the last one, doesn't seem possible to remove a selected unit

Things to consider
* Vassal Generals and Vassal Commanders for small games
* Some units have multiple ubiquity types (Rare and Unique)
* Consider abbreviating Uncommon as Unc rather than Un to avoid confusion with Unique
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Mon Apr 25, 2016 6:36 pm

Mmmm, all good points. Only two I don't quite follow:

- "Min ubiquity checkbox still enabled for characters" thing. Can you elaborate further?

- "Some units have multiple ubiquity types (Rare and Unique)" In what context? Some units do in fact have multiple ubiquities in their muster list (signified, for example, as Unique + Rare) so I'm not sure the issue.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Mon Apr 25, 2016 6:39 pm

JediCat wrote:Mmmm, all good points. Only two I don't quite follow:

- "Min ubiquity checkbox still enabled for characters" thing. Can you elaborate further?

- "Some units have multiple ubiquity types (Rare and Unique)" In what context? Some units do in fact have multiple ubiquities in their muster list (signified, for example, as Unique + Rare) so I'm not sure the issue.


The first point was just that the "Min ubiquity?" checkbox is enabled on the general and commander entries, where it should only be enabled for units.

The second was an observation about something that you might not have considered, if your code already supports that, then super! :)
Rob Boyce
Posts: 114
Joined: Wed Feb 17, 2016 8:42 pm

Re: A Programming Project (Muster Maker)

Postby Rob Boyce » Tue Apr 26, 2016 5:04 am

Characters can fill min ubiquity slots, although in mine I've left that option off as the only reason I can see to record it is to assign which units get free command so no need to record it for commanders/general
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Tue Apr 26, 2016 4:45 pm

Sounds like I need to make a rules post XD

EDIT: It's also there to just keep track of which units fulfill your slots. It's only possible for a few kindreds, but you could create a Host with no Command options at all.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017
User avatar
Slinky
Posts: 148
Joined: Mon Feb 25, 2013 3:54 pm

Re: A Programming Project (Muster Maker)

Postby Slinky » Tue Apr 26, 2016 5:37 pm

Wouldn't the counter at the bottom tell you which slots have enough/too few/too many entries in, though? Seems to me that it only really makes sense in terms of free banners etc for units.
User avatar
JediCat
Posts: 65
Joined: Thu Feb 18, 2016 4:10 am

Re: A Programming Project (Muster Maker)

Postby JediCat » Wed Apr 27, 2016 5:15 am

Top left: How many min's you have filled out.
Bottom Left: The minimum required for that battle size.
Top right: Your total ubiquity used.
Bottom right: The maximum ubiquity for this battle size.

The reason the checkbox is there is specifically for Command, but even when no command are present, you can keep track of what you've fulfilled, especially at larger battle sizes.
"Be as brutal and as sneaky and as nasty with your list as you wish - Darklands is not pink fluffy communist Warhammer" ~Rob Lane, May 17th, 2017

Return to “Other Topics”

Who is online

Users browsing this forum: No registered users and 3 guests