Sunday, 16 September 2018

Big changes afoot

Hi folks

I know, it has been a while since I posted anything here. Shut up. I've been busy, honest! Mainly I have been tidying up small bugs in NPC Engineer and Spell Engineer, readying Equipment Engineer's framework, and tying all the modules together into one unifying program called Engineer Suite. You should be able to jump between modules if you wish (although you'd be better to close one module and open the next from the main window). This has advantages going forward. Much as I liked the idea of a whole suite of individual programs, the integration and shared code seemed like a better idea. It makes it easier for people to update too.

Here is a screenshot of its main interface - this will grow as I add modules to it:



There should be no changes that affect your data, but you'll note that the version number indicates a beta again. You'd be advised to keep a backup of your data for now in case of crashes. I don't expect any, but then I never do!

Please feel free to get in touch about any issues. I hope there are none!

Maasq





Engineer Suite information

Current release Version: 0.5.9
(release date 24 April 2019)

Engineer Suite setup.exe
Full installer. This is the recommended method.


Engineer Suite.zip - All files necessary to run NPC Engineer.
    NOTE: For best results, install the font included in the zip (right click and choose 'install' - it is a free font.)

    The program comprises several modules:

    NPC Engineer
    • Enable the import of NPCs from a variety of sources (PDFs, D&D Beyond, CritterDB, RPG Tinker and others);
    • Edit the imported information;
    • Parse to produce a bestiary module for Fantasy Grounds;
    • Export to a variety of formats, including RTF for MS Word, BBCode and HTML.
    It is also possible to create NPCs from scratch, save them individually to an NPC file for later parsing, and export to a NPC file suitable for other parsers.
    Images and tokens are handled as smoothly as possible - both are copied to the correct directory and renamed properly to make the process of building a bestiary as quick and as accurate as possible.
    The module file produced has a library section which mimics the Monster Manual, and NPCs import spell information and spell slots automatically when opened or added to the combat tracker (assuming you have the source book required open). All NPC functions are fully supported - Actions, Legendary Actions, Lair Actions, Spellcasting and so on.

    This version also creates a reference manual section for NPCs fully automatically.





    Spell Engineer
    • Enable the import of spells from a variety of sources (PDFs, D&D Beyond and others);
    • Edit the imported information;
    • Parse to produce a codex module for Fantasy Grounds;
    • Export to a variety of formats, including RTF for MS Word, BBCode and HTML.
    It is also possible to create spells from scratch, and save them individually  to a Spell file for later parsing.
    The module file produced has a library section which mimics the Player's Handbook.






    Source code can be found on Github.


    New version changes


    v0.5.9

    Engineer Suite
    NEW: A menu entry in the 'Information' menu - 'Links in FG' - will open a help document to support the link system.
    UPDATED: The link entry system has been upgraded. The menu entries hopefully read better, and there is a GUI to support the entry of links. This GUI can be switched off in options if it feels unwieldy.
    UPDATED: Some changes to how the XML is displayed in the 'validate' box.

    NPC Engineer
    FIXED: Shut down a 'slow down' bug when opening NPCs.
    FIXED: Languages now show properly when clicking 'next NPC' or 'Previous NPC'

    Spell Engineer
    UPDATED: The 'At Higher Levels' box has been merged with the spell description. There was no actual need for it to be separate (other than saving you typing 3 words!) You don't need to do anything with previously-saved spells as the two fields will be merged on load. Typing 'at higher levels: ' (note the colon and space after it) will be bolded and italicised automatically.
    UPDATED: The spell text box has a 'validate XML' button.
    FIXED: Auto-highlighting 'At Higher Levels: ' now additionally occurs if a period is used instead of a colon.

    Table Engineer
    NEW: Very basic GUI shell & internal workings completed.

    Equipment Engineer





    v0.4.55

    Engineer Suite
    NEW: You can insert links to other objects in free text fields. These are Rich Text fields (recognisable by the 'bold' etc buttons underneath them). There is a right-click menu with several options. Please note - DON'T FORMAT INSIDE THE LINKS!
    The ones in the top half of the menu are riskier - you need to know the object's correct name or the link will not have an effect. The 'Displaytext' part of the link is what you want it to show on screen. There are just a few options for now, but I am happy to add whatever people feel they need - just request.
    The bottom half of the menu is safer - it only allows you to add objects from your current project. It opens a small GUI to allow you to choose the object and generates the link code automatically. This is obviously limited to NPCs and Spells at the moment, but will be expanded as each new part of Engineer Suite is coded.
    NEW: Windows 'Toast' notifications can be turned off. If you do so, the notifications will be delivered on the statusbar.
    NEW: There is a 'Quickstart Guide' option in the information menu (F12 shortcut). Engineer Suite is becoming quite complex and I felt that an 'in-house' help document might be in order.
    UPDATED: Object types are highlighted in bold.
    UPDATED: Tooltips in the 'Options' box.
    UPDATED: Status bar text has been removed. With the control of the tooltip timer, this text was pointless.

    NPC Engineer
    NEW: The NPC's description box can have any number of links inserted. See general text above.
    UPDATED: Some missing tooltips added.

    Spell Engineer
    NEW: The spell's information box can have any number of links inserted. See general text above.
    NEW: There is a menu option to add custom classes or archetypes to the interface. It works exactly the same as weapons, traits etc in that it saves to an external json file.
    UPDATED: You can add any number of casters to a user-defined list. When setting who can cast a spell, items in this list are available.
    UPDATED: Artificer and its archetypes added to casters list.
    UPDATED: Casters aren't tagged automatically on import as there is no standard way to deliver this information. To deal with this, the 'Casters' box opens automatically after an import. If this is NOT to your liking, you can turn it off in 'Options'.
    UPDATED: The import function should deal with custom spell schools. Let me know if anything isn't working!

    Table Engineer
    NEW: An icon :) Watch for things appearing as time goes on.

    Equipment Engineer


    v0.4.44

    Engineer Suite
    UPDATED: I changed the 'Parse Log' window quite radically. It is no longer a log - mainly because I never managed to implement an XML checker. That is far harder than it looks :)  Anyway, the window is still called a parse log for now, but really it just updates the progress. Bonus: it compiles a module far faster now. Bonus 2: The reason I changed it was that I was seeing some strange (but non-critical) behaviour. That is gone now. I hope you all like it.

    NPC Engineer
    NEW: A checkbox on the 'Innate Casting' tab allows you to mark the casting as Psionics. No other changes are necessary to introduce psionic casters to FG (thankfully!).
    NEW: There is a menu option to add custom languages to the interface. It works exactly the same as weapons, traits etc in that it saves to an external json file. This was part of the overhaul of Languages (see below).
    NEW: There is a 'Validate' button under the RTF window on the 'description' tab. At the moment this just displays the XML, but it will build up into an XML checker over the next few releases. For now, though, it allows you to have a look for errors in the description code before committing the NPC to a module.
    UPDATED: The 'Languages' interface on the 'Skills' tab has been radically reworked. It should still operate flawlessly with save files - let me know of any issues. The tickboxes are gone, replaced with 4 multiselect boxes. Click to select, click again to deselect. A dropdown box for the special language options replaces the 8 radio buttons. The biggest impact on users is the ability to add custom languages to suit your campaign. I have added two from Frog God Games' NPCs as an example. The other knock-on effect is that it gives me GUI space to expand the skills section, something I have had multiple requests for over the years.
    UPDATED: Languages sort alphabetically in the statblock.
    UPDATED: Autosaving NPCs is now an option. It is on by default to ensure consistency of naming of NPC and graphics. You may switch it off to cause a 'Save NPC as..." box to pop up. This will point at your selected NPC save path and have the NPC name as the suggested name.
    UPDATED: Range increased on 'Senses' by request.
    UPDATED: Weapon damage bonuses are suppressed if they are zero ('1d8' rather than '1d8 + 0')
    UPDATED: Removed mention of 'JSON' in menu options.
    UPDATED: Added 'half-orc' and 'dragonborn' to the drop down list of tags for NPCs.
    FIXED: Parentheses at the end of some fields were disappearing - weapon names, for instance. I've added a check for the parentheses. If anyone needs other non-alphanumeric character specifically excluded in this way, let me know.
    FIXED: (I think) Issues with adding asterisks to spells.
    FIXED: NPCs with numbers in their name will now properly add to a project in Fantasy Grounds.
    FIXED: NPCs with an ampersand in their name will now have that ampersand appear in Fantasy Grounds.

    Spell Engineer
    UPDATED: Removed mention of 'JSON' in menu options.
    UPDATED: Added 'CTRL-M' keyboard to edit the spells file.

    Equipment Engineer



    v0.4.40

    Engineer Suite
    FIXED: A bug in the updater was fixed.

    NPC Engineer
    FIXED: Parentheses at the end of some fields were disappearing - weapon names, for instance. I've added a check for the parentheses. If anyone needs other non-alphanumeric character specifically excluded in this way, let me know.

    FIXED: (I think) Issues with adding asterisks to spells.

    v0.4.38

    Engineer Suite
    FIXED: A bug in the updater was fixed.

    NPC Engineer
    NEW: Support for accented characters added to the RTF box. At last you can have Faerûn recognised in your flowing descriptions! This has been tested with exactly 2 characters... 'û' and 'ë'. I will be interested to hear feedback on this and apologise if I broke anything :)
    UPDATED: The import filter for Lair Actions was made a bit more robust.
    UPDATED: The RTF box was tweaked again. I think I've improved it. Let me know if I broke anything for you.
    FIXED: A bug was preventing a new Action added to the Actions.json showing up until the next launch. Fixed.
    FIXED: A bug was inserting a blank line into dropdown lists when Actions or Traits were added to their respective json files. This no longer happens.
    FIXED: If you selected 'Other Language Text' for languages, although this saved and parsed into FG modules correctly, it never loaded back in to NPC Engineer. This also affected imports. I added code for this, and now it works like it should.

    Spell Engineer

    Equipment Engineer
    NEW: GUI Added.


    v0.4.26

    Engineer Suite
    UPDATED: The 'About Engineer Suite' help box is no longer empty. You can check your version number!
    FIXED: A bug was making the loading of projects not be consistent throughout the Suite. All components were given a lecture on the importance of a consistent approach and told to buck up their ideas.
    FIXED: Each component will now display the number of items correctly, rather than possibly just showing NPC numbers everywhere. This was a visible result of the sloppiness referenced above.

    NPC Engineer
    NEW: Buttons on the button bar allows you to 'Open Next NPC' & 'Open Previous NPC'. This gives a quick way to cycle through all the NPCs in a project if you need to check or add something. Note that this will only work if (a) you are using Engineer Suite as the parser, (b) you have a project loaded, and (c) the current NPC is in the project - all conditions that will usually be met, but worth mentioning for edge cases.
    UPDATED: The 'HP' pop-up dialogue now allows the HP bonus to go up to +800.
    FIXED: A small bug in the import of Innate Spellcasting was spotted and corrected.
    FIXED: If you overrode the calculated passive Perception, this was being ignored on reloading the NPC. This has been fixed, and passive Perception should always show as the value previously set when you load the NPC.

    Spell Engineer
    NEW: Buttons on the button bar allows you to 'Open Next Spell' & 'Open Previous Spell'. This gives a quick way to cycle through all the spells in a project if you need to check or add something. Note that this will only work if (a) you are using Engineer Suite as the parser, (b) you have a project loaded, and (c) the current spell is in the project - all conditions that will usually be met, but worth mentioning for edge cases.
    FIXED: The final caster in the source list wasn't parsing. Fixed. Reparse to correct this; no other action needed.

    Equipment Engineer
    Code was added to give the item cycling above, but there's still nothing meaningful to see here. Sorry!



    v0.4.19

    Engineer Suite
    NEW: Added an option in 'Settings' to set the tooltip timeout to a custom value to allow more time for reading them if desired.

    NPC Engineer
    No changes

    Spell Engineer
    NEW: The spell count for the current project is displayed in brackets in the status bar, mirroring NPCE behaviour.
    NEW: The 'Add to Project' button changes to 'Update Project' if the current spell name is already in the project, mirroring NPCE behaviour.
    UPDATED: The 'edit' button in the 'manage spells.json' dialogue now works as expected - ie. it reloads a spell from the json file to be edited anew.
    FIXED: A rogue comma was appearing at the end of the source list. Removed.

    Equipment Engineer
    Still not usable!



    v0.4.15


    Engineer Suite

    NEW: Initial interface designed and implemented - this is an overall control for all the modules in Engineer Suite.
    NEW: Menu system added.
    NEW: You can specify to boot into a chosen module on launch, bypassing the Engineer Suite GUI. This speeds up your workflow if you know, for example, you only need to get to NPC Engineer in your next session. This option is in the Options dialogue (see what I did there?) and can be cleared to allow you to boot to the Engineer Suite GUI again. Currently only NPC, Spell and Equipment Engineer will take any notice of this setting.
    UPDATED: Options window is multi-tabbed and can be accessed from any module of Engineer Suite.

    UPDATED: Check for newer version now runs on the launch of Engineer Suite.
    FIXED: You can now jump between windows with impunity (I think!) but for best data integrity and memory management it is best to close a module to get back to the Engineer Suite interface before launching the next module.
    FIXED: Options now carry over correctly between modules.

    NPC Engineer

    NEW: Roll20 Compendium import filter added.
    UPDATED: Minor tweaks to enable Suite version.
    FIXED: Slight issues with the Roll20 Compendium fixed.

    Spell Engineer

    NEW: You can check an option to have the spell you are working on reload at launch.
    UPDATED: Minor tweaks to enable Suite version.
    UPDATED: Spell text layout changed slightly to be no longer indented.
    FIXED: Imported paragraphs are spaced properly.

    Equipment Engineer

    NEW: Basic structure and menu implemented. GUI started, but still looks suspiciously like Spell Engineer. DO NOT USE YET!