SuiteGM4-pre-alpha 20091113a Now available for download
Productive 2 hours, need to get back to other priorities, but on a good roll. Just uploaded another Jar file with all these fixes included:
Download latest version here: https://sourceforge.net/projects/suitegm/
Fixed bug in DiceRollerUtil, it was adding min to max, rather than just making sure it did not roll below min.
Added buttons for hardcoded d20 3.5 D&D character generation, Babylon 5 d20 3.5 first edition character generation, and Cthulhu BRP Sixth edition character generation. These were all refactored copies from the Merp hard coded class.
Fixed bugs in Cthulhu dice rolling, and cleaned up more cruft. Cthulhu rolling for just abilities now appears complete, next need to have it calculate mods for each ability (later).
Tweaked dice roll settings for each. Tweaked mods for d20, still have to do so for the others later. Updated fields listed for Cthulhu abilities to match Cthulhu.
removed now unnecessary do/while loops from Hard coded in all 4 (Merp, d20, Bab5, Cthulhu), since DiceRollerUtil now handling that better/correctly.
Changed Ability roll value boxes from netbeans IDE autogenerated names (ex: jTextField4) to named (ex: jtxtfldSTRval). Not sure if this will bite me later when trying to abstract this whole process, will probably need to create a logic that binds the names together based on what is read from XML file with a formula, something like this:
If XML text abbreviation for Constitution is <ability3_abbrev>CON</ability3_abbrev>, strAbility[2], then autocreate txtfield with name "jtxtfld" + strAbility[2] + "val". so in this example it would be jtxtfld + CON + val = jtxtfldCONval.
Temporarily remmed out modifiers listing for all non-merp hard coded test runs (D&D d20, Bab5 d20, and Cthulhu), since was creating exception error array out of bounds for not fitting different system requirements, will fix that later when work on mods be calculated and printed (As mentioned above).
Fixed bug in Merp hard coded, it was showing min = 1, because I had been making a do/while loop to keep calling DiceRollerUtil until above 25. Doesn't make sense to do that in MerpHardCoded, since DiceRollerUtil now handles that (correctly). So set to min = 25, since rules say to not allow stats lower than 25 for player characters.
need to have someone QA to make sure max works correctly, didn't see any 100 rolls, but that could just be due to not rolling it. Someone please see if you can get it to roll a 100 eventually.
hmmm, set min to 99 and kept max 100 to test, Only 99's, no 100's. need to fix how max is handled, maybe in the rand util?
It appears that maybe Random is doing a < rather than equal to for the max number? So i set, within DiceRollerUtil, maxroll = max +1, and then modified within do/while nextInet to be maxroll instead of max. That appears to have fixed, it now can roll 100's, and doesn't appear to skew result other than that. testing with the other game system showed that they are correct as well.
No need for users to test the 100 rolls anymore, confirmed fixed, and on 3-18 as well.
Added jlbl for substitute title for each one, need to figure out how to confire the correct title in the top window bar for each util....
Cleaned up title bars on all windows (I think), except couldn't for MainMenu (THE main menu), it is not in a Jframe, and could not find a way to set it's title (yet). However I think I fixed the titles for all the other windows. Some testing should be done to verify.
TODO:
Now I have I can use the layout of these 4 hardcoded character generators, to begin creating abstracted classes and calling them with just the variable differences needed to then not have to hard code each one separately (way too much redundant code). Will start with just abstracting out:
1. The number and range of dice rolls
2. the text field names listed for jlabels (jlblST (Strength (ST), jlblAG(Ability (AG), etc). initially pass via class method call, but later read from xml file.
3. the val fieldname matching ability name (jtxtbxSTval, etc.)
After that works, then just do the same for modifier fields.
Enjoy!
-Hawke
----------------------
SuiteGM Founder & Developer
http://suitegm.com
http://suitegm.sourceforge.net
Email lists at: http://suitegm.com/email-lists
Anonymous Subversion Access:
http://suitegm.svn.sourceforge.net
SuiteGM is a project dedicated to creating an extensive
set of computer based utilities to aid classical paper and dice Game Masters in their work.
This project is Java based, open source, open platform,
open game system and multi-lingual.
Features to be included:
* Cross-platform (Java & XML based)
* Tested to work on Linux, Mac OSX, & Windows
* Character Generation
* Character/Party tracking
* Combat resolution
* Mapping
* Adventure logging (with wiki export)
* Synchronizable/updateable software and data files
* On and offline capabilities
* Modular design to make it easy for others to contribute features and content

