PDA

View Full Version : Project: Par5e



Pages : [1] 2 3 4 5 6 7 8 9 10 11 12

Zeus
January 29th, 2013, 22:58
Hey All,

[Update]: New Java Version available for Windows, Mac and Linux platforms. v0.0.8-b28 (alpha) now available for testing.
requires pre-installed Java Runtime Environment 1.8 or higher.

[NEW! - Tutorial Video by Xorn]: PAR5E Tutorial (rough cut) (https://www.fantasygrounds.com/forums/showthread.php?21964-PAR5E-Tutorial-(rough-cut))

Download from: https://www.drzeuss.co.uk/fantasy-grounds/utilities-tools/

v0.0.9-b56



Engine: Added checks to ensure users do not set the module source to either C:\, \ or User home folders - if detected PAR5E will abort the parse with an error.
Engine: Removed module temp path field -- PAR5E now creates (and deletes) a subfolder called output under the root module path at the start of each parse action, the output subfolder is used to compile the final ZIP archive.



Engine: Removed module thumbnail path field -- PAR5E is now hard-coded to look for a file named thumbnail.png in the root of the module path
Engine: Removed module ID field -- this functionality is no longer required in FG
Engine: Added module author field -- allows for author field in module definition to be customised (defaults to PAR5E version release if left blank)
FT: #zal;<linkclass>;<object name>;<title> functionality to support anonymous data source linking (i.e. linking to a known object which can be referenced in one or more modules subject to whichever is open)
FT: #zl;spell;... functionality - individual spells can now be linked to from within formattedtext fields
5E: Tables: Updated row handling to include custom reference links using syntax:


row;1;1;#zl:class:object name:<title>

where class equates to one of the classes supported by the #zl tag and object name is the name of the object to link to. An optional <title> can also be applied.



5E: Encounters: Updated encounters so that CR/XP line can be omitted from the source file. Where no CR/XP line is provided, PAR5E will now auto calculate the CR and XP of the encounter automatically.
5E: Magic Items: Added support for Rods
5E: Images: Added new data item imagegrids which allows for grids to be specified for each image. imagegrids.txt should contain a list of:


name of image + extension;grid size;grid X offset; grid Y offset;on|off

See 5E user guide for exact syntax.

NOTE: this release updates the module configuration file format for 5E, as such existing configuration files will no longer work. A new module configuration file will need to be
created.

v0.0.8-b28


Equipment - Added support for equipment weight to be specified as a fraction (e.g. 1/2 lb., 1/4 lb.) or as a float (e.g. 0.5 lb., 0.25 lb.)
Backgrounds - (Re)Fixed table row parsing to support greater than 10 rows.


v0.0.8-b27


Engine: Added OK/WARNING message suffixes to console reporting of parsed elements as an additional aid to help users with who cannot differentiate between the green/red message colouring.
CoreRPG,3.5E/PF/5E libraries : updated to no longer use Module ID. When these rulesets are selected the Module ID field will be reset and disabled.
5E: pregens - updated syntax for Features, Equipment and Spell Casting to support 5E v3.0.8+. See updated documentation in 5E User guide.
5E: npcs - reference npcs updated to use consolidated campaign wclass npc (replacing reference_npc)


v0.0.8-b26


5E: docs - updated documentation for equipment, feats, #zl; tag
5E: npcs - Npc reactions were bing merged with Npc actions. Fixed
5E: tables - multiple versions of tables were being output, each under its own category. Fixed.
5E: tables - tables with multiple columns were incorrectly setting resultscols causing columns > 1 to be dropped. Fixed


v0.0.8-b25


5E: backgrounds - suggested characteristics text was being dropped from output - Fixed.
5E: docs - updated magic items with Type, Rarity / updated equipment renaming waterborne vehicles.
5E: equipment - renamed Waterbourne Vehicles to Waterborne Vehicles (table and records)
5E: feats - last feat was being dropped from output - Fixed.
5E: formattedtext - Broke #zft; tag when #zf; introduced. Fixed


...

See changelog.txt in zip archive for more information.


Original Post

A post to say that starting with the development of a new Parser tool, I have started laying down the foundation for a new module toolchain. By toolchain I mean a suite of interoperable tools that will aid in the development and conversion of RPG adventure and rule book data into FantasyGrounds II modules.

Project: Par5e

Par5e is the project name I have dubbed for the new 5E tools, starting with a new Parser. Written in Perl, the new Parser currently supports the parsing of DDN NPCs and Spells and the creation of a module ready for the new 5E ruleset, once it's written :).

Why Perl? Some might say. - Well for a few reasons really, i) Its a powerful and fast scripting language which is great for text/XML file manipulation, ii) Its open-source and available on all three core FGII platforms and iii) I want to release this tool as well as the Decompiler as open-source to the FGII community in the hopes that you guys can provide additional development and testing/support and provide variants of the toolchain to support other RPG systems and rulesets.

I am writing this modularly so that its easier to adapt to other content; the current pre-alpha version provides a number of common base subroutines and separates the 5E specific logic, the intention being to make it simple to drop in new routines to deal with differing ruleset database structures and content. I am also currently considering moving this to Object Oriented Perl to make it even simpler to replace the logic by exploiting object inheritance and overriding (we will see).

Once released the tool will support all the features supported by Tenian's excellent 4EParser including support for 3.5E/4E and 5E (future) rulesets and exporting of data directly to flat file (module) or database formats (for use with Module Workshop and if/when in the future FGII supports a restful HTTP API). The only thing the tool won't have on day one is a GUI front-end, this will be pure command line only (I believe adding a GUI would only slow down development at this stage and would not really add that much additional value). When time permits and if theres enough demand I may pen a front end in the future.

Anyhow I hope to have an alpha version I can release for testing in the next two-three weeks (subject to available time really) this unless I decide to move to OOP in which case maybe a month. Given 5E will be in flux for good while yet as well as the enormity of the 3.5E/4E/5E support - I will need testers (particularly anyone who has experience of Perl) so leave a comment and I'll be sure to keep you apprised of developments.

DrZ.

damned
January 29th, 2013, 23:35
some of you guys are really clever buggers!

S Ferguson
January 31st, 2013, 15:52
Thank you. Lord knows we need it. :)

Willot
January 31st, 2013, 20:56
sometimes I wish Id kept up with programming. When I studied programming two of the languages I had to learn were Pascal & Cobal. AND when I wanted to compile my code I had to submitt it to a queue on a PDP-11. MAN thats was a long time ago

hawkwind
January 31st, 2013, 20:58
sometimes I wish Id kept up with programming. When I studied programming two of the languages I had to learn were Pascal & Cobal. AND when I wanted to compile my code I had to submitt it to a queue on a PDP-11. MAN thats was a long time ago

I can remember punching cards to be sent off to the main frame

Acroyear
January 31st, 2013, 21:24
Count me in for testing please.

- I'll write my code in Pascal for ya! :)

S Ferguson
January 31st, 2013, 21:25
Ditto. Fortran 77 kept the punch codes forever. I actually had to program on a PDP-8 (even though the 11's were available). I had a drill master for an instructor who said he'd kill us if he found an infinite loop in our *tiny* programs.

Willot
February 1st, 2013, 08:52
Ditto. Fortran 77 kept the punch codes forever. I actually had to program on a PDP-8 (even though the 11's were available). I had a drill master for an instructor who said he'd kill us if he found an infinite loop in our *tiny* programs.
You could probably pickup a PDP now for like $50. Remember the old Winchester hardrives like size of a washing machine but like 1mb total or something ridiculous

S Ferguson
February 1st, 2013, 14:04
Not as bad as magnetic core memory on a LISP Machine. Don't think you could by one, and why would you? An Ipod holds, like a gazillion of them (that's a transcendental number...;))

Zeus
February 3rd, 2013, 00:19
Update.

Development is moving along nicely. 5E Magic Items, NPC, Spells and Equipment are all now supported with ZERO markup of the source content required. You still need to ensure your source is good quality but no need for dreaded ZZX type tagging so far.

I stopped focusing on content a couple of evenings ago whilst I started re-writing the core script loop to better support additional rulesets and future planned functionality. I managed to work in some abstraction too, its now possible for other libraries to register their subroutines with the Parser. In short the main Perl script (par5e) makes use of a common Perl Module (PAR5E::Parser) to provide basic subroutine support whilst the the script hooks its main parse, generative and write XML handlers from the applied ruleset specific library (the lib for 5E is called PAR5E::dnd5Elib) via call back mechanisms, so in theory any ruleset that FGII supports can be supported by PAR5E, all that is needed is a custom library. :)

Also added the following:

- support for Perl 5 v14, v16 and v17
- command line option support
- configuration file support
- messaging and status updates - PAR5E will highlight status through colour coded (user configurable) messages making it easier to spot problems before you open up the module in FGII.
- ZIP archive support
- option to auto move the finalised module to the FGII modules folder
- common support functions to aid in ruleset library development
- template for base ruleset support
- 4E ruleset library - for testing purposes
- configurable unicode support default is utf-8 to iso-8859-1
- lots of bug fixes and tweaks

To do
- write lots more script ... :square:

Some screenshots of PAR5E in action:

Parse completed, having run in default mode i.e. no verbose messaging:
https://farm9.staticflickr.com/8214/8438627021_c8d24dedc6_m.jpg (https://farm9.staticflickr.com/8214/8438627021_b70f44991b_o.png)

Parse underway with verbose messaging ...
https://farm9.staticflickr.com/8492/8439714460_67180a0692_m.jpg (https://farm9.staticflickr.com/8492/8439714460_4960b089fc_o.png)

Parse still underway ...
https://farm9.staticflickr.com/8494/8438627837_61fac8df9b_m.jpg (https://farm9.staticflickr.com/8494/8438627837_4375091721_o.png)

Only joking ;) current 5E available playtesting material takes less than 6 seconds to Parse, less than 14 to produce an entire module!

Irondrake
February 3rd, 2013, 00:41
I'd love to help test this out.

Zeus
February 3rd, 2013, 00:52
@Irondrake - Great. I'll be uploading a development build to GitHub in the next few days. Keep posted.

Willot
February 3rd, 2013, 09:30
Don't think you could by one, and why would you?

It looks impressive!!!!
I remeber when I was going to tafe and they had finally mothballed the PDP-11 for a unix box. Some minsters came for a visit and the did the tour. Of course they had the PDP-11 all powered up in it's air conditioned room> All the little lights and tape drives whiring around and they hum of high voltage. They were VERY impressed. Of course they only thing ACCUALLY doing any work was the small suitcase sided unix box tucked in the corner!!:D

Zeus
February 7th, 2013, 00:15
Been making some steady progress, the parser engine is coming along nicely and seems to be holding up against the current 5E playtesting material, so far I have the following content supported:

- Adventuring Gear, Armor, Magic Items and Weapons (Library and Items)
- Backgrounds (Library)
- Maneuvers (Library)
- NPCs (Library and Personalities)
- Skills (Library)
- Spells (Library)

I'll be starting work on Story, Encounters, Images and Tokens over this weekend and will look to complete Classes and Races too before taking on the reference text. I have no doubt Wizards will change the formats of the content between now and release but so far I am happy the engine seems to cope well enough.

Also prototyped a quick front-end GUI whilst I take a break from engine coding. This one is again written in Perl using wxPerl (derived from the wxWidgets library). The screenshots are all OSX flavoured windows (as thats what I am developing on) but wxPerl is available (as is wxWidgets) on Windows and Linux so hopefully (fingers crossed) the GUI will run on all three platforms using native window APIs.

Configuration tab (WiP):
https://farm9.staticflickr.com/8088/8452157440_8e6b9e4d0a_n.jpg (https://farm9.staticflickr.com/8088/8452157440_020c2a42cc_o.png)

Console tab (again WiP):
https://farm9.staticflickr.com/8525/8451065589_0d3e9f557c_n.jpg (https://farm9.staticflickr.com/8525/8451065589_fe8bdac0ab_o.png)

S Ferguson
February 7th, 2013, 00:31
This I definitely want to test drive. Just like a well-tuned car, it sounds sleek and of high performance.

Irondrake
February 7th, 2013, 02:45
This is looking better and better!

Zeus
February 12th, 2013, 01:50
Hey All, another update. I'm continuing to make good progress. Fell a bit behind as I decided a graphical interface would be better for a day one release but I am back on track and adding more functionality to the engine and 5E module library. I should be in a position to release an alpha later this week - keep you all posted.

v0.2

Added a functional GUI
Updated the PAR5E engine to make better use of multi-threading - GUI uses up to 2 threads whilst Parsing can use 4 or more if CPU resources are available
Added support for Win32 file paths
Added support for Perl 5-17.8 with threads
Updated library module console output methods to use windows messaging
Lots of bug fixes

Its is a simple interface however aside from a couple of differences I am quite pleased with the parity of the user interface between OS X and Win32 flavours (functionality on both platforms is equal) - not sure about Linux yet as I haven't had a chance to test it but hopefully GTK AUI will look similar. Some screen shot comparisons.

https://farm9.staticflickr.com/8378/8465873557_69e67676ee.jpg (https://farm9.staticflickr.com/8378/8465873557_503a8dd74e_o.png)

I am also investigating available Perl wrappers for Win32, OSX and Linux. I figured it maybe easier for the average user who is not Perl literate to use PAR5E if I provide native .exe, .app and Elf-32 binaries. As it stands PAR5E is simple enough to execute (single script command from the command line) however its a pain to get installed as it requires many module packages to be installed prior to execution, here's a sample of some of the modules required:

threads
threads::shared
Wx
XML::Writer
Carp
Encode::Detect::Detector
Text::Unidecode
XML::Tidy
File::Copy
Archive::Zip

I still plan to release the source Perl scripts for community developers to exploit particularly the bundled 5E ruleset library Perl module. The latter can be copied and tweaked to support other RPG game system data and FGII rulesets. I will be providing detailed user and developer documentation and for the latter have also taken care to add reasonable comments in the scripts themselves.

Irondrake
February 12th, 2013, 04:06
Outstanding, I can't wait to give this a go. Do the parsed 5E spells and other items work correctly with the 3.5e ruleset? Or would it be better to change to 4E?

Zeus
February 12th, 2013, 09:44
Outstanding, I can't wait to give this a go. Do the parsed 5E spells and other items work correctly with the 3.5e ruleset? Or would it be better to change to 4E?

The modules PAR5E produces with the 5E lib uses standard FGII Library reference index tags so in theory (not tested yet) the modules will display their main content indexes in either 3.5E or 4E, however the specific useable content will unlikely work in 3.5E or 4E as the data is tagged with new windowclasses (yet to be developed) in mind.

In other words, 5E modules will require a 5E ruleset. I am collaborating dev efforts with JPG, hoping to begin towards the end of this week. Watch this space.

Irondrake
February 13th, 2013, 04:12
I'll keep my eye out!

Olodrin
February 13th, 2013, 14:50
To clarify,

Are you saying that the 5e ruleset and the Par5e tool are being developed in parallel?

What is the input for the Par5e tool? I know Tenian's original tool required pasting material from pdfs into a txt file; is that the case here as well?

Thanks for all the work,
Olodrin

Zeus
February 13th, 2013, 19:06
To clarify,

Are you saying that the 5e ruleset and the Par5e tool are being developed in parallel?

What is the input for the Par5e tool? I know Tenian's original tool required pasting material from pdfs into a txt file; is that the case here as well?

Thanks for all the work,
Olodrin

Yes, both a new 5E ruleset and PAR5E are being developed in parallel. See screenshot below.

The input for PAR5E is currently text files i.e. cut n paste text from PDFs. Assuming Wizards release an online compendium for 5E I will also look to support scraping.

https://farm9.staticflickr.com/8373/8471736230_d8e02ff3dc.jpg (https://farm9.staticflickr.com/8373/8471736230_863a5a5ff2_o.png)

Olodrin
February 13th, 2013, 20:14
Fantastic!

S Ferguson
February 13th, 2013, 20:27
This is sounding better by the minute.

lordsoth
February 13th, 2013, 22:04
Very nice. I'd love to get that Advantage/Disadvantage widget off you!

Irondrake
February 13th, 2013, 22:56
I've got a vested interest in this, I'm running a 5E homebrew campaign and any and all utilities that would allow us to run this better would be fantastic! Is there anything I can do to help this project and...when can I get my hands on a beta?? :bandit:

Zeus
February 14th, 2013, 00:56
Here's the skinny. I started work on a new Parser about 10 days ago in preparation of a 5E release next year. Writing a Parser is a bit like writing a compiler, its laborious and pretty intensive at the same time. I am no where near finished yet but have already written over 10,000 lines of script. Hopefully that gives you an idea of the size of the undertaking.

moon_wizard began work on a new 5E ruleset for FGII some time ago however has temporarily parked it whilst he focuses on FGII v2.9.3+ and other as critical tasks. Given I am working on the Parser and that this entails detailed work within the ruleset library code, moon_wizard wondered whether I wanted to start work on the ruleset. I said yes. I received a dev build late last week. The advantage/disadvantage panel and mechanics were coded by moon_wizard before he passed the 5e ruleset shell to me, so I cannot say about extracting it at this moment.

To give myself a break from coding, I decided to begin with re-skinning the new ruleset rather than re-use an existing one. Skinning a ruleset takes me about 5 evenings (give or take 1) but believe it or not I find artwork very relaxing in comparison to coding so this is light work by comparison.

Once I have completed the re-skinning (hopefully by mid next week), I will then move back to coding the Parser and ruleset functionality.

So in short, I am working as fast as I can but in truth there are a like a gazillion tasks to complete before I can pass the ruleset back to JPG in a ready state or release anything out into the wilds as all three (theme+ruleset+parser) are required to do anything useful. All, I can say is please be patient.

Here's another screenshot of the ruleset after this evenings changes.

https://farm9.staticflickr.com/8107/8472485760_20a6b3d7e1.jpg (https://farm9.staticflickr.com/8107/8472485760_96768c78bb_o.png)

DrZ.

S Ferguson
February 14th, 2013, 01:06
I agree. Artwork is far more relaxing than programming. Actually, blasting Zombies, and Alien Invaders away in video games is fairly relaxing too. But then, I guess I'm a pretty relaxed individual.;)

So I suppose since you've taken over the code set I guess congratulations are in order:), and I suppose we'll see project PAR5E with 2.9.3.

Can't wait.

morgurth
February 14th, 2013, 01:09
This looks really good. :)

Irondrake
February 14th, 2013, 02:26
I'll do my best to have patience ;) If there is anything I can do to help, I'll be here!

Vergence
February 15th, 2013, 02:45
I have no words for how excited I am for this ruleset. We just started an FG 5E playtest (in 4e rs, we're making it work) last week so its still early enough for me to say we are jumping rulesets.

Zeus
February 15th, 2013, 22:44
Hey all,

More progress. Parser output seems to be working with FGII ok.

Another screenshot and a small selection of new windowclasses (mainly reference library windows).

https://farm9.staticflickr.com/8095/8477514082_11d20fde89_z.jpg (https://farm9.staticflickr.com/8095/8477514082_9c0fa6e4b0_o.png)

S Ferguson
February 15th, 2013, 22:47
Ooooh, that looks fantastic. What was the projected release date again? I can't wait.

vegaserik
February 16th, 2013, 01:01
That looks really good.

Irondrake
February 16th, 2013, 03:09
That's some great progress!

Zeus
February 16th, 2013, 18:53
Update. Draft reference Library (read only) NPC Stat windowclass, thoughts?

https://farm9.staticflickr.com/8095/8479810836_069fb99904.jpg (https://farm9.staticflickr.com/8095/8479810836_2c9356bf83_o.png)

S Ferguson
February 16th, 2013, 19:23
Nice. Except that the Mind Flayer is missing his "size/type/subtype" field. Was that intentional?

Zeus
February 16th, 2013, 19:39
Nice. Except that the Mind Flayer is missing his "size/type/subtype" field. Was that intentional?

The content for mind flayer is a little larger than the window can display and is scrolled down to show the bottom of the stat page, see the scrollbar on the right of the window.

Rest assured, the size and type fields are there.

S Ferguson
February 16th, 2013, 20:01
Fantastic. But don't burn yourself out. We *need* this. Most Definitely. :)

Irondrake
February 17th, 2013, 00:00
Looks great, is the little shield icon in the upper left corner where the token would be placed? Or is there another spot to link a token to an NPC on that window?

trenth99
February 18th, 2013, 13:48
Yeah, this looks great so far buddy. Very excited to test drive this thing

lordsoth
February 18th, 2013, 16:48
It's looking great!

I'm sure that final release of the monster manual will have a lot more information per monster. At the moment they are only giving us the mechanics. In the end the monster write-ups will be more like 2e, and they'll need more tabs. :)

S Ferguson
February 18th, 2013, 17:07
No.... please.... don't .... bring .... up .... 2e. It almost made me toss my cookies. :(There *was* a reason they tore it down from there to build the 3e ruleset. ;)

Zeus
February 18th, 2013, 19:42
@Irondrake: Oops, forgot to add a token link field for NPCs, nicely spotted. I will add one. The shield icon your referring to, is my replacement for the standard dragon link icon. Effectively anything with a shield in its top left means the sheet can be dragged to the hotkey bar for easy reference.

@trenth99: Thanks.

@lordsoth: Yeah, I will update the classes as and when the data is revised. Rest assured I intend to support as much content as possible.

@S Ferguson: I expect 5e wil be a mismash of all good elements from all 4 editions to date. From what I have read it seems Wizards intend 5E to be cater to all play styles i.e tactical for 4E fans and more role play based for 1E-3.5E fans. The great thing about RPGs is you get to dictate how you want each game to play, the rules are simply guidelines.

Ablefish
February 18th, 2013, 20:24
This post is purely to say thanks for doing this, and for the frequent updates. Fantasy Grounds is the main thing that has kept our gaming group going with the continual assault on our time by level 5 Wives and swarms of kids. I'm in the early stages of rebooting my campaign with the 5E rules and your efforts are really appreciated. Please let me know if I can help test in any way.

Cheers!

Zeus
February 18th, 2013, 22:57
Quick update.

Experimented with reference text this evening and added support to PAR5E for 5E Character Class 'crib' sheets as per the Classes document. I simply cut n paste the test and added some markup (tables, features, sub features and Abilities. I managed to achieve this:

https://farm9.staticflickr.com/8391/8487432148_e2ce510b1a.jpg (https://farm9.staticflickr.com/8391/8487432148_69589386a1_o.png)

I will be replacing the free-flow features and abilities with proper lists to condense the sheets somewhat so you will also be able to drag class features and abilities to the charsheet abilities tab for reference.

I'm also planning to update the class text field on the charsheet so you can drag a reference link for a class sheet (as per the screenshots) to the charsheet, again for quick reference.

@AbleFish - Thanks for the nice comments, I hope you and the rest of the community enjoy the ruleset and find PAR5E useful. I'll post an update here in this thread when its ready for testing.

S Ferguson
February 18th, 2013, 23:07
Well done. This is fantastic work. It just seems to get better and better. The benefits to the FG community are going to obviously be immense and impacting. It's a coming of age for the system. BTW I am really liking the graphic design of the system. Kudos for you.

Irondrake
February 19th, 2013, 00:22
Once again, awesome updates!

Zeus
February 20th, 2013, 10:29
Thanks guys. Had a slow day yesterday but completed Feats, Specialities and Races. Here's where I am up to on the content front:



Completed
Content Type Mark Up Reqd Reference List Type
Class Yes Alpha indexed
Class - Abilities Yes Class/Alpha indexed
Class - Backgrounds No Class/Alpha indexed
Class - Features Yes Class/Alpha indexed
Equipment - Adv. Gear Only Table data Table Grouped by Type/Alpha
Equipment - Armor Only Table data Table Grouped by Type/Alpha
Equipment - Weapons Only Table data Table Grouped by Type/Alpha
Feats Yes Table Grouped Alpha
Magic Items No Category/Alpha indexed
Maneuvers No Class/Alpha indexed
NPCs No Class/Level/Alpha indexed
Races Yes Alpha indexed
Skills No Alpha indexed
Specialities Yes Alpha indexed
Spells No Class/Level indexed


To do
Content Type Mark Up Required Reference List Type
Story Yes N/A
Encounters (Combats) Not sure yet N/A
Tables (rollable) Yes N/A
Parcels Not sure yet N/A
Images No N/A
Tokens (linking) No N/A
Reference Manual Yes Library*

*will mirror the structure of 5E books - once released.


I have been skinning the ruleset classes as I have been working on the content. nothing is set in stone as I anticipate having to make further tweaks/changes as the playtesting progresses and the rules get finalised. So far, the main desktop and panels and core windowclasses are all done.

After the above content is completed, I'll be moving onto the charsheet and the CT and starting the deep dive into rule mechanics (rolls, effects etc. etc.)

S Ferguson
February 20th, 2013, 15:52
Best of luck.:)

Irondrake
February 21st, 2013, 00:28
Thanks for the update! Awesome!

Zeus
February 24th, 2013, 11:50
Another update:


Added Reference Manual support using new formattedtext routines - only mark up required is ZCHAPTER, ZSUBCHAPTER, ZNAME, ZTEXT to denote start of new chapters, subchapters, reference page and text. Within text no <html> type markup is required with the exception of:

Tables: table must be preceded with ZTABLE keyword, row fields must be separated by ; characters and listed sequentially with no line breaks
Lists: lists must be preceded with ZLIST keyword, rows must start with ? character and must be listed sequentially
Links: using syntax ZLINK {class of object};{name of object to link to}
Headings: headings must be preceded with ZHEADING keyword

All lines will be automatically parsed as paragraphs, lines containing a : character will have the preceding text bolded.

- Added formatted text support routines for building lists, tables and list links
- Added basic PAR5E documentation
- Started D&D 5E specific documentation
- Added support to the GUI for dynamic library switching - now users can switch between PAR5E libraries without having to restart PAR5E
- Added support for dumping XML Tidy output (if XML is malformed) to help with debugging - trying to find a nice way of reporting errors to make it easer to spot input data syntax errors etc.


It doesn't sound like much but the addition of automatic text detection and formattedtext output is going to save a lot of time when preparing modules with large quantities of reference material or adventure (story) content.

https://farm9.staticflickr.com/8229/8503454276_f64840f3a6.jpg (https://farm9.staticflickr.com/8229/8503454276_91095005dd_o.png)

S Ferguson
February 24th, 2013, 17:19
This looks amazing. What other devilish features are you going to come up with next?

Irondrake
February 24th, 2013, 17:30
That really does look fantastic. Thanks for the update! This project is moving right along!

trenth99
February 27th, 2013, 15:02
I am more than ready to get my hands on this thing! Any times frames for it yet, Zeus?

Zeus
February 27th, 2013, 19:53
I am more than ready to get my hands on this thing! Any times frames for it yet, Zeus?

Still weeks away. PAR5E is almost ready for an initial release but the ruleset still needs a fair amount of work.

Unfortunately RL has also kicked in, just been assigned to a new data centre consultancy engagement so thats likely to also consume a fair amount of my time. I'll keep you all apprised but may start limiting updates to twice weekly.

Zeus
February 28th, 2013, 09:50
Another update:


Completed
Content Type Mark Up Reqd Reference List Type
Class Yes Alpha indexed
Class - Abilities Yes Class/Alpha indexed
Class - Backgrounds No Class/Alpha indexed
Class - Features Yes Class/Alpha indexed
Equipment - Adv. Gear Only Table data Table Grouped by Type/Alpha
Equipment - Armor Only Table data Table Grouped by Type/Alpha
Equipment - Weapons Only Table data Table Grouped by Type/Alpha
Feats Yes Table Grouped Alpha
Magic Items No Category/Alpha indexed
Maneuvers No Class/Alpha indexed
NPCs No Class/Level/Alpha indexed
Races Yes Alpha indexed
Skills No Alpha indexed
Specialities Yes Alpha indexed
Spells No Class/Level indexed
Story Yes N/A
Reference Manual Yes Library*
Images No N/A
Image Pins Yes N/A

To do
Content Type Mark Up Required Reference List Type
Encounters (Combats) Not sure yet N/A
Tables (rollable) Yes N/A
Parcels Not sure yet N/A
Tokens (linking) No N/A

*will mirror the structure of 5E books - once released.

Irondrake
March 2nd, 2013, 16:36
Thanks for the update!

Olodrin
March 2nd, 2013, 23:53
It strikes me that it will take folks time to fully parse all the material prior to play, since there will be some copying and pasting involved.

Therefore, would it make sense to release the parser prior to the ruleset?

S Ferguson
March 2nd, 2013, 23:56
It strikes me that it will take folks time to fully parse all the material prior to play, since there will be some copying and pasting involved.

Therefore, would it make sense to release the parser prior to the ruleset?

It's Perl code hooked into the new FG Version. If you did that it would have nothing to parse to! :D

Zeus
March 3rd, 2013, 01:14
Hey All, thanks for the comments. Another update for you, just about finished the reference class content (parsing) and all the new window classes.


Completed
Content Type Mark Up Reqd Reference List Type
Class Yes Alpha indexed
Class - Abilities Yes Class/Alpha indexed
Class - Backgrounds No Class/Alpha indexed
Class - Features Yes Class/Alpha indexed
Equipment - Adv. Gear Only Table data Table Grouped by Type/Alpha
Equipment - Armor Only Table data Table Grouped by Type/Alpha
Equipment - Weapons Only Table data Table Grouped by Type/Alpha
Feats Yes Table Grouped Alpha
Magic Items No Category/Alpha indexed
Maneuvers No Class/Alpha indexed
NPCs No Class/Level/Alpha indexed
Races Yes Alpha indexed
Skills No Alpha indexed
Specialities Yes Alpha indexed
Spells No Class/Level indexed
Story Yes Alpha Indexed
Reference Manual Yes Library*
Images No Alpha Indexed
Image Pins Yes N/A
Tokens No N/A
Tokens (linking) No NPCs
Encounters (Combats) Yes N/A

To do
Content Type Mark Up Required Reference List Type
Traps Not sure Yet Alpha Indexed
Tables (rollable) Yes N/A
Parcels Not sure yet N/A

*will mirror the structure of 5E books - once released.

I'll hopefully have the last three content types (for the time being) coded by Monday and so I'll be moving on to the campaign windowclasses (npc, items, encounters, parcels, tables, modifiers and effects/conditions) by mid week.

The output from PAR5E can only be used (at the moment) with 5E which is also in development. I haven't released it yet as I am still changing aspects of the base tool e.g. today I added command line options to allow PAR5E to startup with a config file pre-loaded and to begin parsing without user intervention. I added the command line option as I figured it would be nice to be able to point PAR5E to a folder of module config files and to let PAR5E auto parse all modules in one swoop. This I think will be quite handy feature particularly when you want to update all your modules as and when new PAR5E releases become available or new content types are supported by PAR5E and FGII rulesets.

I also want to investigate the possibility of compiling PAR5E as native platform executables or at the very least packaging PAR5E for easier installation. At the moment the Perl environment setup is a little convoluted requiring a specific Perl setup (thread support) and various Perl Modules (available via cpan).

I think the tool will be fairly intuitive to use (for parsing) and will be fairly familiar to those who have used the 4EParser however I don't fancy loads of emails/requests asking me why PAR5E is refusing to parse their content properly, so I need a little more time to also knock together some decent documentation (at least covering the basic usage and syntax for 5E content markup). Documentation will also be essential for anyone who wants to extend PAR5E support to other RPG systems and FGII rulesets.

DrZ.

Olodrin
March 3rd, 2013, 15:18
That's what I get for not paying attention - my expectations were built on an early version of tenian's parser.

BTW, this looks awesome.

S Ferguson
March 3rd, 2013, 16:05
That's what I get for not paying attention - my expectations were built on an early version of tenian's parser.

BTW, this looks awesome.

Hey, we're all here 'cause we're not all there.:D

Zeus
March 5th, 2013, 17:49
Hey All,

OK, I managed to get the remaining content coding finished (albeit with limited testing) and I have compiled some basic usage documentation so if anyone wants to try this out, I have uploaded a development release on GitHub.

You can find my repo here: https://drzeuss.github.com/PAR5E/

Please read the User Guide(s) in the Documentation subfolder, these detail how to setup the prerequisite Perl environment, installation of PAR5E, basic usage and the required syntax for 5E content parsing.

I have parsed all of the available 5E play test material and it all appears to be working for me and the tool appears to operate stably, however as I am working almost exclusively on OSX I'm am particularly keen to understand how it performs (if at all) under Windows and Linux.

Please remember that this is an early dev release and therefore expect the odd glitch or two - where these are uncovered and reported - I'll look to do address in a weekly update cycle. Also please remember to back up your work. You have been warned.

Finally I didn't get time to compile any developer notes - I'll get to this shortly - in the interim, anyone familiar with Perl should be able to decipher my script. If not, fire a question on the forums here and I'll respond as soon as I can.

Enjoy!

DrZ.

S Ferguson
March 5th, 2013, 18:28
Seems to be working as advertised. Got it to work after reassociating the .pl extension from Prolog files.:)

Zeus
March 5th, 2013, 18:44
Seems to be working as advertised. Got it to work after reassociating the .pl extension from Prolog files.:)

Excellent. Some questions.

1. Which platform are you running?
2. Was Perl pre-installed or did you have to install it yourself?
3. Depending on your answer to Q2, did you have to install any of the required Perl Modules?
4. Are the instructions clear?

Thanks.

S Ferguson
March 6th, 2013, 23:55
Excellent. Some questions.

1. Which platform are you running?
2. Was Perl pre-installed or did you have to install it yourself?
3. Depending on your answer to Q2, did you have to install any of the required Perl Modules?
4. Are the instructions clear?

Thanks.


1. Windows 7 Professional 64-bit pure.
2. ActivePerl was preinstalled. I did install it myself though.:)
3. I just have the modules that come with the ActivePerl edition.
4. Quite. Mind you that's the programmer/hacker in me speaking, so you might want someone new to the scene to answer that one.

Happy to oblige.

S

Zeus
March 7th, 2013, 00:45
1. Windows 7 Professional 64-bit pure.
2. ActivePerl was preinstalled. I did install it myself though.:)
3. I just have the modules that come with the ActivePerl edition.
4. Quite. Mind you that's the programmer/hacker in me speaking, so you might want someone new to the scene to answer that one.

Happy to oblige.

S

Many thanks. Let me know if you have any difficulties parsing the playtest material.

Irondrake
March 7th, 2013, 01:09
Ok I downloaded this and gave it shot. I did not have Perl on my computer (Windows 8 Pro 64 bit). I installed ActivePerl without a problem. It looks like it didn't come with Wx so I installed that as well using cpan. It in turn installed MinGW64 (looks like a C++ compiler). I'll update as I get along further into testing.

S Ferguson
March 7th, 2013, 02:38
Ok I downloaded this and gave it shot. I did not have Perl on my computer (Windows 8 Pro 64 bit). I installed ActivePerl without a problem. It looks like it didn't come with Wx so I installed that as well using cpan. It in turn installed MinGW64 (looks like a C++ compiler). I'll update as I get along further into testing.

MingGW64 is just a C-Shell U*ix-like interface for Windows with the option of installing the GnuC++ compiler (so you can run compiled c scripts in perl). It's not dangerous to your health or public safety. Not that much at least...:)

Irondrake
March 7th, 2013, 03:52
After installing perl modules of all sorts I finally got it running. It wasn't difficult, just took some time (I didn't read about the missing file problem until later). I then decided to parse the 5E spell list. Is there a way to check the module it created? I don't have a 5E ruleset yet. There's some errors from the console though, here is the output...

------------------------------------------------------------------------------------------------------------------
PAR5E - Fantasy Grounds II Module Parser - v0.03
------------------------------------------------------------------------------------------------------------------
Info : folder structure [Created]
Init : library actions [Initialised]
Info : module title [5E Spellbook]
Info : compiling for ruleset [5E v2.9.3]
Info : with PAR5E library [PAR5Ednd5Elib v0.03]
WARN : input file error [spell index.txt]
WARN : input file error [spells.txt]
Parse : source data [Completed]
Debug : 3 [Temp/common.xml]
Debug : 2 [writeData()]
Write : adventure data [Started]
Write : adventure data [Completed]
Write : reference library data [Started]
Debug : 2 [writeReferenceTag()]
Debug : 2 [writeSpellData()]
Debug : 2 [writeSpellLists()]
Write : spell data [Completed]
Debug : 2 [writeReferenceTag()]
Write : reference library data [Completed]
Debug : 2 [writeReferenceLibrary()]
Debug : 2 [writeReferenceLibraryEntries()]
Debug : 2 [writeReferenceListEntry()]
Debug : 4 [id-00001]
Write : module XML [Completed]
Debug : 2 [writeDefinition()]
Make : module definition XML [Completed]
Make : optimise XML [Completed]
Make : copying images [Completed]
Make : copying tokens [Completed]
Make : copying thumbnail [Completed]
Cook : module [Completed]
Build : module [Completed]
------------------------------------------------------------------------------------------------------------------

Output: D:\PAR5E\Modules\5E Spellbook.mod
[Completed]

Zeus
March 7th, 2013, 08:48
Irondrake,

Yes the installation process can be quite laborious if you have to install the required modules, I am investigating the possibility of packaging the tool as a precompiled binary.

With regards to the error your seeing it appears PAR5E is complaining about the spell index and spell data paths. Make sure the paths are correct (the paths should be relative to the Module Path). As a result if you were to open the resulting XML produced by the tool it will be largely empty. You will know if the parse is going smoothly by way of the console and debug level. If you set debug to 1, as PAR5E parses a spell, it will list the spell name in Green (if parse OK) or Red (if parse not OK).

Which platform are you running PAR5E on?

Did you set the path to PAR5E in the default.cfg file? See the initial configuration section in the User Guide.

Until 5E is released, all you can do really is open the resulting .mod file (using WinZIP or similar) and examine the XML with Notepad++. I am investigating the possibility of adding in an XML tree browser for enhancing debugging/inspection capabilities. I'll keep you posted.

I am also working on 5E and on the char sheet, give it a few weeks and I should be able to release a dev build of 5E for you.

S Ferguson
March 7th, 2013, 17:21
Irondrake,

Yes the installation process can be quite laborious if you have to install the required modules, I am investigating the possibility of packaging the tool as a precompiled binary.


A precompiled binary sounds like a good idea for those with little or no knowledge of the perl environment (or little or no knowledge of installing and operating programming languages in general). I (so far) haven't run into any problems importing basic module material, but haven't tried spell lists. I'll give that a go later on today. Otherwise, it still seems to be working wonderfully.

Cheers
S

Ablefish
March 7th, 2013, 23:56
Heh, a precompiled binary would be welcome if possible. I'm still trying to get Perl sorted on my computer(Win7) , but ran into some dll problems. But I have a feeling it's self inflicted - I was trying to get QT installed on my box last month and there was a lot of installing and uninstalling of VB components.

I'm going to try again on my laptop.

Irondrake
March 8th, 2013, 00:46
I'm running on Windows 8 Professional 64 with ActivePerl 64. I doublechecked my cfg file, the path reads as d:\par5e, which is where the top level par5e folder is located. I checked my files again to make sure they looked correct. I'm not sure what I'm missing but I got the same errors. I then manually typed in the path to the two files and still got the same issue. I'm wondering now if maybe I didn't create the files right. I followed what was listed in the instructions for the spell list.

Here's the latest output:
------------------------------------------------------------------------------------------------------------------
PAR5E - Fantasy Grounds II Module Parser - v0.03
------------------------------------------------------------------------------------------------------------------
Info : folder structure [Created]
Init : library actions [Initialised]
Info : module title [5E Spellbook]
Info : compiling for ruleset [5E v2.9.3]
Info : with PAR5E library [PAR5Ednd5Elib v0.03]
WARN : input file error [d:\par5e\temp\5e spell index.txt]
WARN : input file error [d:\par5e\temp\5e spells.txt]
Parse : source data [Completed]
Write : adventure data [Started]
Write : adventure data [Completed]
Write : reference library data [Started]
Write : spell data [Completed]
Write : reference library data [Completed]
Write : module XML [Completed]
Make : module definition XML [Completed]
Make : optimise XML [Completed]
Make : copying images [Completed]
Make : copying tokens [Completed]
Make : copying thumbnail [Completed]
Cook : module [Completed]
Build : module [Completed]
------------------------------------------------------------------------------------------------------------------

Output: D:\PAR5E\Modules\5E Spellbook.mod
[Completed]

Irondrake
March 8th, 2013, 00:53
I have it figured it out. The data text files were expected to be in my Modules directory...I didn't have them there, I had them in a working directory. After moving them to the appropriate directory the parse completed. I checked the contents of the mod file and it looks like the spell data is all in there! I will work on parsing other things next :)

Zeus
March 8th, 2013, 10:02
I have it figured it out. The data text files were expected to be in my Modules directory...I didn't have them there, I had them in a working directory. After moving them to the appropriate directory the parse completed. I checked the contents of the mod file and it looks like the spell data is all in there! I will work on parsing other things next :)
Yes, the user guide does state that all input paths are relative to the defined module path. I did this to promote best practice with regards to organising and managing module content.

I typically use the following setup which allows you to revisit older modules for re-parsing very easily


<module path>
<module path>/input -- data input path
<module path>/input/<data file path> -- data input files
<module path>/images -- image input path
<module path>/tokens -- tokens input path
<module path>/output -- temp path
<module path>/output/images -- images for module
<module path>/output/tokens -- tokens for module

With this setup, PAR5E creates the module from the contents of the <module path>/output folder.

morgurth
March 9th, 2013, 17:08
I'm running PAR5E in Ubuntu and when I use the File->Quit, it doesn't seem to find the "killMe" process from line 76 of PAR5E.pm.

Can't locate object method "killMe" via package "PAR5E" at PAR5E/PAR5Egui.pm line 925.

Also, I changed the path in the default.cfg to match the directory I am running it from and if I launch PAR5E.pl via "./PAR5E.pl -c default.cfg", I get permission issues in creating a directory and accessing db.xml. My user owns the directory I'm running this from and the directory permissions are 775.

./PAR5E.pl -c default.cfg
Use of uninitialized value $_[0] in mkdir at PAR5E/PAR5Elib.pm line 547.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 551.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 551.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 552.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 552.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 553.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 553.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 554.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5Elib.pm line 554.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5E.pm line 113.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5E.pm line 113.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5E.pm line 221.
Use of uninitialized value in concatenation (.) or string at PAR5E/PAR5E.pm line 221.
Thread 1 terminated abnormally: ERROR: Permission denied//db.xml
at PAR5E/PAR5E.pm line 221 thread 1

I'll look at it some more to see if I can figure it out when I get back later.

Zeus
March 9th, 2013, 21:59
Thanks for pointing out the bug, I actually found the bug with File-Quit yesterday, its already fixed in v0.4 which I will be releasing tomorrow at some point. The error was related to a a small typo in the subroutine call, PAR5E->killMe as opposed to PAR5E->KillMe;

As for changing the path in default.cfg, which path are you referring to:

- par5Epath - which is the path to the PAR5E.pl script and supporting PAR5E subfolder
- modulepath - which is the path to where the modules input data resides
- temppath - which is the path where the output data will be written to.

From the error message; it looks like PAR5E is complaining about the module and temp paths. Once you have defined the module path, make sure the paths to all of your input files, thumbnail (if you have one) and the temp path are all relative to the module path. If you use the GUI front end this is managed for you. If you edit the .cfg files by hand the onus is on you to make sure the paths are relative to one another.

The easiest way to do this is to first set the modulepath:


modulepath::/home/<user>/FGIIModules/<module name>

Next set your input paths, I do this by placing all my input files under /home/<user>/FGIIModules/<module name>/input

e.g.


story_datapath::input/storydata.txt
npc_datapath::input/npcdata.txt
and so on.

Next set the output path - again relative to the module path, I tend to use /home/<user>/FGIIModules/<module name>/output

therefore:


temppath::output

Assuming you have read/write permissions for /home/<user>/FGIIModules/<module name>/output, PAR5E should have no difficulty writing the XML to this path.

Finally, rather than editing the default.cfg config file, you are better off copying it and editing the copy. PAR5E will use the default.cfg file when it first initialises until a new configuration is loaded. I store my module .cfg files (one per) in each of the module paths I create. I can then recall any config through a simple load and re-parse older material at will.

morgurth
March 10th, 2013, 21:34
I get it. I expected the GUI to launch and stay up. But, it is using the input from "-c <path to cfg>" to run and generate the module.

So, is PAR5Ednd5Elib.pm and PAR5Etemplatelib.pm the only two files that would need modified for 3.5/Pathfinder? I don't really know Perl, but I can look at your data structures and try manipulating them to work.

I have a short Python script that pulls the Early 1H Firearms table off of the PFSRD. I just need to adjust the output to match the structure above and then manipulate your module library and see how it looks. Just as a small test.

Zeus
March 12th, 2013, 10:09
I get it. I expected the GUI to launch and stay up. But, it is using the input from "-c <path to cfg>" to run and generate the module.

If you start PAR5E.pl with no -c option, it will start the GUI and await input from the user, in other words it will stay up.

If you start PAR5E.pl with the -c command line option and a valid cfg file. PAR5E will start, auto execute a parse operation (using the cfg file you provided) and then when complete will auto shutdown.

The feature was added to allow PAR5E.pl to be called from a script; for scenarios where you want to re-parse older modules.


So, is PAR5Ednd5Elib.pm and PAR5Etemplatelib.pm the only two files that would need modified for 3.5/Pathfinder? I don't really know Perl, but I can look at your data structures and try manipulating them to work.

I have a short Python script that pulls the Early 1H Firearms table off of the PFSRD. I just need to adjust the output to match the structure above and then manipulate your module library and see how it looks. Just as a small test.

Essentially, yes. PAR5Ednd5Elib.pm is the bundled library for 5E whilst PAR5Etemplatelib.pm is a minimal template library that can be used as the basis for a new library.

To create a library for 3.5E/Pathfinder, copy the PAR5Etemplatelib.pm file to something like PAR5Ednd3.5Elib.pm and edit with appropriate 3.5E/Pathfinder routines. You can use PAR5Ednd5Elib.pm as a guide as to how to implement. Whilst some class information will require modifying (to be 3.5E/Pathfinder specific) some classes should be useable as is i.e. Story, Encounters, Treasure Parcels, Tables etc. etc.

I will be releasing some developer information this week which guides you through Library development.

morgurth
March 12th, 2013, 13:33
Thank you for the info. I took the 5Elib and copied it, made some adjustments to the Weapons to add in things like Critical and Type. It only partially worked.

I get a .mod, but the only Link inside FG2 is to Weapons and it is blank. I can see were it placed my test weapon in the client.xml, but it didn't fill out the other section with Links to it. With "debug=1", I can see that when it is parsing the weapon data, I get one line about "Parse: Weapon" with only "[]" and then the next line has the test weapon. The CLI gives me an error about an undeclared name on line 3338 of PAR5Ednd5Elib.pm. I'm guessing because it is pulling in a blank line so the variables are set. I might just scrap what I was doing and go with template library as the starting point instead though.

BTW, when I set "debug=2" I get a "strict ref" string error in the "printMsg" sub routine on line 392 of PAR5Elib.pm.

S Ferguson
March 12th, 2013, 17:30
I must be the only one not getting errors. I'm actively testing, on different modules (PDF scraping), but not actively trying to break the system. Given the docs, I'm trying to do everything by the book. Would an active attempt to break the system help more in finding holes in the code?

morgurth
March 12th, 2013, 17:55
Well, maybe I misread the document on the format for "Weapons Table". I made an entry in a "input/weaponsdata.txt" for "Test weapon" (plus the ; separated data) and then I made an entry in "input/weaponstable.txt" that looks like "Test weapon;This is the greatest weapon ever devised by man."

I then update my cfg file to point to these two and launch "./PAR5E.pl -c ../../FGIIModules/Test/test.cfg".

Is that not the correct format for the Weapons Table?

S Ferguson
March 12th, 2013, 18:19
Well, maybe I misread the document on the format for "Weapons Table". I made an entry in a "input/weaponsdata.txt" for "Test weapon" (plus the ; separated data) and then I made an entry in "input/weaponstable.txt" that looks like "Test weapon;This is the greatest weapon ever devised by man."

I then update my cfg file to point to these two and launch "./PAR5E.pl -c ../../FGIIModules/Test/test.cfg".

Is that not the correct format for the Weapons Table?

WEAPONS
Name;Price;Damage;Weight;Properties
Simple Weapons
Club;1 gp;1d4 bludgeoning;1 lb.;Light
Sap;1 cp;1d4 bludgeoning;3 lb.;Light

is the correct format. You might want to put the "greatest weapons ever devised by man" under Magic Items (or not, we all know it's a wooden board :D ). Or Delusional PAR5E users (in the TBC section):p .

morgurth
March 12th, 2013, 18:54
I have that type of format in my "input/weaponsdata.txt". Maybe I have things reversed from what they should be?

S Ferguson
March 12th, 2013, 19:15
I have that type of format in my "input/weaponsdata.txt". Maybe I have things reversed from what they should be?

Could be. Make sure all the "gloss" words are there as well. Just having them listed won't allow them to be parsed. Sheesh. what happened to the text on the last post?

Zeus
March 12th, 2013, 19:18
Thank you for the info. I took the 5Elib and copied it, made some adjustments to the Weapons to add in things like Critical and Type. It only partially worked.

I get a .mod, but the only Link inside FG2 is to Weapons and it is blank. I can see were it placed my test weapon in the client.xml, but it didn't fill out the other section with Links to it. With "debug=1", I can see that when it is parsing the weapon data, I get one line about "Parse: Weapon" with only "[]" and then the next line has the test weapon. The CLI gives me an error about an undeclared name on line 3338 of PAR5Ednd5Elib.pm. I'm guessing because it is pulling in a blank line so the variables are set. I might just scrap what I was doing and go with template library as the starting point instead though.

BTW, when I set "debug=2" I get a "strict ref" string error in the "printMsg" sub routine on line 392 of PAR5Elib.pm.

@morguth: The PAR5Ednd5E User Guide document in the Documentation subfolder details the expected syntax for Weapons Table and Data for 5E. The developer guide I am working on will explain what needs to be implemented in the Library code to facilitate support for additional rulesets. I strongly suggest reading through the PAR5E and library user guides now, I will hopefully have a draft release of the developer guide available by the end of this week. Reading the guides will reduce chances of errors occurring during the parsing process.

In terms of tweaking the existing 5E library, bare in mind that aside from initialising the library and registering the data types and handlers, the library needs to provide a parse data, write data, generate reference list and write reference list set of subroutines for each data type. The parse routine deals with the parsing of the raw data into internal Perl data structures (hash arrays) and is very specific to the content syntax of the game system you are working with and the format of the input files you want to create, the write data routine deals with writing the data in the internal structures to FGII ruleset XML data, whilst the generate and write reference list routines deal with the generation and writing of lists (data by class for example or data by alphabetical order and so on). The last three routines are very specific to the XML structure of the specific ruleset you want PAR5E to support, in this case I believe 3.5E.

Note: When parsing if you see Parse : <data type> [] entries, it means PAR5E is not correctly capturing data for the data type; there is an error in the input syntax or the REGEX captures defined in the data type parse routine in the supporting library are not working correctly (you need to edit these to match the format of the input lines of data). Please remember this is an initial release therefore unexpected or incorrect syntax of input data scenarios are not all captured and managed gracefully by PAR5E at this stage. Therefore expect some odd things to occur of you deviate from the expect syntax. Having said that PAR5E operates on the premise that the syntax of input data is correct, if it is not, PAR5E will attempt to report it and will continue on with the parse process regardless and if possible. This unless a critical error occurs (e.g. malformed XML). Over time I will look to enhance error handling.

@S Ferguson: Its good to know that if the user guides are followed and the syntax adhered to that PAR5E copes well with the current 5E playtest material. With regards to breaking the tool, it probably won't take much at the moment but I'm happy for the community to try. I'll quite happily code in support for any reported exceptions that are not already handled. I have the majority (I think) of the key ones covered however the trickiest ones to deal with are input syntax deviations (as there are so many possible permutations). Depending upon the content type and whether additional markup is applied etc. etc drives different potential for capturing and handling them gracefully.

Now that a base release is available I have returned to focusing on developing the 5E ruleset, neck deep in designing the new character sheet at the moment and hoping to have something to demo to moon by end of this week. For PAR5E, I have already pushed a number of changes into v0.4 in my local repo, I have been waiting for a few more reported issues before pushing out for you guys to grab. I'll look to push v0.4 by the end of the week if no further problems are reported by then.

morgurth
March 12th, 2013, 20:37
I'm fairly sure I broke it then adding in some additional fields to the parse and write routines.

I'm going to start over and smaller using the template library module as the base, instead of the 5E one. I'll just use 5E as an example for input.

Thanks for the replies.

Irondrake
March 13th, 2013, 01:35
Thank you Dr. Z!

morgurth
March 13th, 2013, 03:45
I have my own library mostly working now. It outputs what looks like correct XML tags for the two made up weapons I have in my list. The only thing is, when I open the weapons table, it is blank. (well that and the weapon description is empty. just get "<p></p>". But I'll worry about that later.

Zeus
March 13th, 2013, 08:05
I have my own library mostly working now. It outputs what looks like correct XML tags for the two made up weapons I have in my list. The only thing is, when I open the weapons table, it is blank. (well that and the weapon description is empty. just get "<p></p>". But I'll worry about that later.

You mean when you open it in FGII? You may need to tweak writeData/writeList routines for Weapons to match the XML structure that 3.5E expects. Empty <p></p> tags means input data is not being captured by the REGEX captures in the parseData routine.

morgurth
March 13th, 2013, 13:34
I'll look at those tonight. I was looking at an existing d20 PF SRD Equipment module I had downloaded and see that weapons have categories and sub categories (i.e. category is "simple weapons" and the sub category is "One handed melee". So, I'll have to add in some code to handle that as well.

I'll have to tweak the parseData regex to handle some different input. Currently, it handles a "word" followed by a space and then "Weapons". Some of the Pathfinder stuff is listed as "Exotic Weapons (Eastern)" or "Firearms".

S Ferguson
March 13th, 2013, 17:26
Mmmm. Using Ultimate Combat I see. Well it was designed for 5e and to a lesser extent 4e. Asking it to parse Pathfinder weapons tables will require a little modification to the code.

Zeus
March 13th, 2013, 19:40
I'll look at those tonight. I was looking at an existing d20 PF SRD Equipment module I had downloaded and see that weapons have categories and sub categories (i.e. category is "simple weapons" and the sub category is "One handed melee". So, I'll have to add in some code to handle that as well.

The 5E playtest material uses a single category at the moment i.e. Simple Weapons. As such the current parseData for Weapons for 5E is keyed to only support categories. You will need to add support for 3.5E sub categories.



I'll have to tweak the parseData regex to handle some different input. Currently, it handles a "word" followed by a space and then "Weapons". Some of the Pathfinder stuff is listed as "Exotic Weapons (Eastern)" or "Firearms".

Yes, this is where I expect you will have to expend some effort to redefine the REGEX captures. I genuinely also expect to hve to tweak the 5E library as the 5E playtest material is expanded and we move closer to release.

morgurth
March 14th, 2013, 03:11
Alright, I got it all working (except for "subtype" and "subdescription"). I don't think that will be too bad.

I needed to pay attention to the PDF better for weapon description.

It says this

[{name of weapon}: {description of weapon}\n]

but the examples below are

Cestus; ...
Club; ...

So, I had a ; instead a : separator. I used a regex evaluator to figure that out.

The reason why my list wasn't showing in the table was I still had it loading FG2 2.9.2. When I switched it to "Test" and 2.9.3, the list worked.

Thanks for all the help! I'm going to finish up Weapons, then move on to the rest. If I get this 3.5E/PF library halfway decent, does anyone else want it?

Zeus
March 14th, 2013, 08:40
Alright, I got it all working (except for "subtype" and "subdescription"). I don't think that will be too bad.

I needed to pay attention to the PDF better for weapon description.

It says this

[{name of weapon}: {description of weapon}\n]

but the examples below are

Cestus; ...
Club; ...

So, I had a ; instead a : separator. I used a regex evaluator to figure that out.

Oops. I'll correct the misleading guide notes. Glad you got it figured out though.



The reason why my list wasn't showing in the table was I still had it loading FG2 2.9.2. When I switched it to "Test" and 2.9.3, the list worked.

You can adjust the version of FGII and the ruleset the module will be keyed to by editing the initLibrary() and the writeDefinition() routines.



Thanks for all the help! I'm going to finish up Weapons, then move on to the rest. If I get this 3.5E/PF library halfway decent, does anyone else want it?

No problem, when your ready if you send me the Lib, I can add it to the core PAR5E distribution (with credits and appropriate acknowledgements to you). Other 3.5E/PF users can then also use PAR5E for their games.

Zeus
March 18th, 2013, 21:33
Hey All, just a quick 5E update. Sorry no new screenshots will try and add some new piccies by end of the week.

I am about 75% of the way through the new 5E character sheet; its looking quite good (if I do say so myself). The style is pretty much identical to the character sheet in the current playtest material. Its laid out across 5 tabs, roughly as follows:


Main - Name, Class, Race, Level, XP, Core Abilities, AC, HP/HD, Initiative, Speed and Movement (Check and Saving Throw Rolls)
Abilities - Class Features/Abilities, Maneuvers, Skills, Feats and Racial Traits
Attacks - Weapon/Magic Weapons/Spells and optional support for Abilities/Maneuvers
Inventory - Equipment, Encumbrance and Treasure
Notes: Attributes, Appearance, Background, Languages and Notes


As promised, links to reference Class/Race and Background can be dropped on the main/notes tabs. In the case of Race, Racial Traits are auto added to the Abilities tab when the a Race is dropped. For Class, Class Features (matching the PC's Level or less) are also auto-added to the Abilities tab.

After much discussion with JPG, we agreed it made sense to consolidate all attacks onto a single tab, the intent here to provide a one stop shop for all attack types for easier character setup. In addition I agreed to re-work the current mini-charsheet functionality replacing it with a new special dock window which holds consolidated core stat/check/attack/save rolls for each PC the user controls), again the intent here to provide a single easy reference for key 'in-round' actions. Should help with busy desktops.

Progress has been hampered by the need to write new Attack/Spell parsing routines so that when reference Weapons/Magic Weapons/Spells are dropped on the Attack tab, hit/damage/heal/save/effect sub-actions are auto created. I spent the whole of this past Sunday reverse engineering JPGs parsing routines from 3.5E/4E and writing new routines specific for 5E. I have hit/damage/heal done for Spells, just working on Save and Effects before moving onto Weapons (and Magic variants). 5E attack descriptions are not structured as in 4E, they are more similar to 3.5E which is kind of unstructured in its approach (not sure about PF). Thanks WoTC! This means writing a parsing routine that will pick up every variant is potentially going to be kinda challenging, therefore I may have to ask the white wizard for his input if I fail to get it working the way I want it to. Will keep you all posted.

On a brighter note, JPG's Advantage/Disadvantage functionality and the existing fumbles/criticals are all integrated and working nicely.

More to follow.

Irondrake
March 21st, 2013, 04:31
Huge update to the 5E packet today.

Zeus
March 21st, 2013, 09:34
Huge update to the 5E packet today.

Yes, looks like Wizards have added new class material for Druid, Paladin and Ranger as well as new Spells for the new classes.

The formats do not appear to have changed so the new content should work with PAR5E. Let me know if anyone experiences any difficulty parsing the new content.

morgurth
March 28th, 2013, 17:16
Is there a CLI switch or could one be added to allow PAR5E to run without launching the GUI? Sometimes, I don't have the option to export a display back from where I am running the program.

Zeus
March 29th, 2013, 11:34
Is there a CLI switch or could one be added to allow PAR5E to run without launching the GUI? Sometimes, I don't have the option to export a display back from where I am running the program.

PAR5E started out life as a CLI tool and was updated to work with a GUI to deal with complex configuration. I can add in a switch to allow this to run on headless systems in a future release.

morgurth
April 1st, 2013, 18:30
Thanks in advance for adding that switch.

I have categoy/sub-category working great now for weapons/armor/equipment. I was thinking of adding in some stuff to allow for "benefits", "drawbacks" and an italics frame for "flavor text".

Zeus
April 2nd, 2013, 20:37
New playtest material has been released. No new rules content that I could see but I note new additional adventure material including Mines of Madness.

Emrak
April 15th, 2013, 15:28
I'm eager to get my hands on a working copy of the PF version (if applicable?) of this bad boy. Is there a testable product yet for PF?

Thanks for all the hard work on this Doc!

morgurth
April 24th, 2013, 15:31
I had it working with weapons, but then I sort of lost 2 weeks of work. I'm working on it again.

In the meantime, I wrote a scraper that pulls all the Simple, Martial, Exotic weapons off of d20pfsrd's site and writes it out in a text file for ingestion by PAR5E.

It's rough, but here is the python script to pull down the weapons. I need to add the ability to write the "Weapons Data" now.

https://github.com/morgurth/pyScraper-Pathfinder

Bumamgar
May 13th, 2013, 21:56
Was a ruleset to use along with this parser ever released?

damned
May 13th, 2013, 23:32
nothing can be released before WOTC allow it...
im pretty sure DrZeuss is using 4E to play his games at the moment...

Bumamgar
May 13th, 2013, 23:58
WoTC doesn't have to approve a ruleset, just as they didn't approve the 4e ruleset.

I'm fully aware that I'd have to parse the playtest documents myself to create a module with actual content (spells, monsters etc), but the ruleset to interpret that module was under development according to DrZeuss' posts in March. Just wondering if it was ever made available.

S Ferguson
May 14th, 2013, 00:41
I believe this project is based off the 5e SRDs that Wizards is distributing to select people and companies, The SRDs for 5e are still in flux so I believe Dr. Z is basing his input and parsing from those documents.

Bumamgar
May 14th, 2013, 01:01
Anyone can sign up for the playtest and get the documents, here:

https://www.wizards.com/dnd/DnDNext.aspx

S Ferguson
May 14th, 2013, 01:07
Yep. And it's well worth it. Anything to get D&D back to the basics.

Cheers,
SF

Bumamgar
May 16th, 2013, 17:37
Trying to run PAR5E 0.3 under Linux, Perl version 5.10.1

Get the following error when executing:


Type of arg 1 to push must be array (not hash element) at PAR5E/PAR5Elib.pm line 171, near "$mod)"
Type of arg 1 to keys must be hash (not scalar dereference) at PAR5E/PAR5Elib.pm line 186, near "$ConfigOptions) "
BEGIN not safe after errors--compilation aborted at PAR5E/PAR5Elib.pm line 439.
Compilation failed in require at PAR5E/PAR5E.pm line 29.
BEGIN failed--compilation aborted at PAR5E/PAR5E.pm line 29.
Compilation failed in require at ./PAR5E.pl line 19.
BEGIN failed--compilation aborted at ./PAR5E.pl line 19.

I checked the code and these are array references and hash references not properly dereferenced in the code.

I was able to fix it by adding @{} and %{} as appropriate to properly dereference.


foreach my $mod (@mods) {
push(@{$ConfigOptions->{rulesetlibrarymodulesarray}}, $mod);
}
and

foreach my $ConfigOptionKey (sort keys %{$ConfigOptions}) {
if ($ConfigOptionKey !~ "config" and $ConfigOptionKey !~ "terminate" and not($ConfigOptionKey eq "rulesetlibrarymodulesarray")) {
print CFG_FILE $ConfigOptionKey . "::" . $ConfigOptions->{$ConfigOptionKey} . $NL;
}


I'm actually surprised the way it was worked under any version of perl...

Bumamgar
May 16th, 2013, 21:51
I was able to successfully parse the spells from the latest playtest packet.

There is an issue with multi-line blocks of text. When it merges them it doesn't put a space in between, so they tend to run-on. I fixed this by simply converting all multi-line blocks to a single long line in my input file, but that's less than ideal.

Also, it only picks up 'Effect:' as the start of an Effect block, however, many spells have "Effect (Concentration):" instead.

S Ferguson
May 19th, 2013, 21:47
I was able to successfully parse the spells from the latest playtest packet.

There is an issue with multi-line blocks of text. When it merges them it doesn't put a space in between, so they tend to run-on. I fixed this by simply converting all multi-line blocks to a single long line in my input file, but that's less than ideal.

Also, it only picks up 'Effect:' as the start of an Effect block, however, many spells have "Effect (Concentration):" instead.

I had the same issues. Same problem with spell description.

Regards,
SF

OneSidedDie
June 7th, 2013, 04:29
I got this working on Vista 32 bit. I installed perl specifically for this but I've installed program environments before. It definitely could use a bit more streamlining for every day use. I've parsed the equipment data/table so far just as a test and it seems to come out OK without much editing. I did have to replace a few characters because par5e didn't seem to like them. Are there any particular areas that you need help testing with? If not I probably won't parse any of the other stuff until I can import it into a 5E ruleset to actually make use of it.

The list of characters and what I used to replace them along with it's error are below.

Does not like using (—), i used (-)
utf8 "\x97" does not map to Unicode at PAR5E/PAR5Elib.pm line 500, <GEN0> line ###

Does not like using (“), i used (")
utf8 "\x93" does not map to Unicode at PAR5E/PAR5Elib.pm line 500, <GEN0> line ###

Does not like using (”), i used (")
utf8 "\x94" does not map to Unicode at PAR5E/PAR5Elib.pm line 500, <GEN0> line ###

Does not like using (–), i used (-)
utf8 "\x96" does not map to Unicode at PAR5E/PAR5Elib.pm line 500, <GEN0> line ###

trenth99
June 8th, 2013, 00:31
This does have the 5E ruleset embedded directly into it currently, yes? I thought that it said something along those lines. Also, is there anyone one here that could help me out with the installing/setting up of this? I've tried to contact Dr.Z but he is crazy busy I believe right now. If so, just PM me and we can just start a dialogue there instead of on the thread

Acroyear
June 26th, 2013, 21:14
Encode-Detect-Detector is not included in this repository: https://www.wxperl.co.uk/repository/package.xml

Is there a substitute I can use??

JamesManhattan
July 29th, 2013, 01:41
I'm running Windows 8 (64 bit version) and I have 0 experience with Perl.

I tried installing ActivePerl (64 bit version) and used the Packet Manager that came with it to install all the modules I could. When I got to the modules that were not available in the Packet Manager, I ran cpan at the command prompt. I got some serious errors trying to install Encode:: Detect:: Detector, missing .dll files, and I tried finding those online, or installing stuff like WinGW. None of that worked. I gave up on ActivePerl, some sites say they restrict what modules you can use. I think the author of Encode:: Detect:: Detector included direct calls to a gcc compiler that is not in ActivePerl anymore or something.

So I tried installing StrawberryPerl (64 bit version). With that you can only install the modules using cpan at the command prompt. Installing "Encode:: Detect:: Detector" worked fine, but I got some serious errors trying to install the basic "Wx" modules. Perl crashed over and over when installing, 20 times to be specific. After some googling (and days of frustration) it says the 64 bit version of Strawberry Perl has faulty C++ compilers.

Long story short: I uninstalled everything, I installed StrawberryPerl (32 bit version) even though I have a 64 bit machine. I used cpan at the command prompt to install every module that you listed. The only module I had to Force install, using the -f command, was XML::Tidy. I edited the default.cfg file to the correct path to the drive I put PAR5E in, and EVERYTHING WORKED!!!

You might want to give a warning to 64bit Windows users to install the 32bit versions of Perl, because of the issues I had.

Now, where is this 5E Ruleset? On github?

Acroyear
July 29th, 2013, 03:22
Ah!! Thanks for the tip!

S Ferguson
July 29th, 2013, 19:27
@James Manhattan: The 5e Ruleset (in it's OGL form, is free from WOTC. Just go to their site and search for 5th edition. You'll find the relative zip files there. That or you can go down to post 111 in this page, where you'll find a direct access link. And under Windows 7, the 64 bit Active Perl works fine. Shouldn't have updated. :)

JamesManhattan
July 29th, 2013, 19:33
@James Manhattan: The 5e Ruleset (in it's OGL form, is free from WOTC. Just go to their site and search for 5th edition. You'll find the relative zip files there. That or you can go down to post 111 in this page, where you'll find a direct access link. And under Windows 7, the 64 bit Active Perl works fine. Shouldn't have updated. :)

I meant the ruleset specifically programmed for Fantasy Grounds. It's usually a .pak file. Similar to the rulesets found at the bottom of this page https://www.fantasygrounds.com/library/

Zeus said he was working on one. I don't see why it would have to be kept secret.

Zeus
August 4th, 2013, 09:49
Hey all, just a note to say that 5E is not dead, nor is PAR5E, they are both still active its just that I have had to put them on hold whilst I deal with some RL projects. I am on the move quite a bit travelling at the moment so I have passed 5E back to moon_wizard so that development can continue.

Hoping to be back just after the summer holidays and looking forward to having a play with 3.0.

See you all soon.

DrZ.

JamesManhattan
August 7th, 2013, 21:38
Here's something that might be helpful instead of parsing. If you own Adobe Acrobat, you can open the playtest pdf docs, and save them as HTML. When you do that they come out as well formed xhtml, with lots of tags, such as all the monster names being within <h1>Ankheg</h1> tags. xhtml is technically xml. So using xslt transforms you can just write up a translation to convert the docs into the xml files that fantasy grounds uses. Same with the spells and classes.

You do need a more recent version of Adobe Acrobat, I could not get it to work in version 8 at work, but it's because I do not have the fonts required. At home with Acrobat X it works.

Windows users can download msxsl.exe which is a utility that you can use at the command prompt to perform xsl transforms on xml or xhtml files. I have yet to write up a xslt transform. I will try it to see if I can transform all the monsters at least into the 3.5 framework.

Zeus
August 7th, 2013, 23:11
@JamesManhattan - Your absolutely correct. XSLT can indeed be applied to exported/saved HTML versions of the pdfs. I have a few XSLs (https://www.drzeuss.co.uk/fantasy-grounds-ii/utilities-tools/ (https://www.drzeuss.co.uk/fantasy-grounds-ii/utilities-tools/)) I have developed and used in the past for converting RPGA and Scales of War Campaign Path Adventures for 4E. Similarly Doug and Smiteworks have used XSLT with some of the PC gen tools -> FGII convertors. The primary challenge I have found with export/saving pdfs to HTML and using XSLT is that the process itself relies heavily upon the original formatting (tagging) and structure of the PDFs and WotC are notorious for changing their formats very frequently (quite often half way through a series of connected modules). XSLT can therefore be a very high maintenance in its approach as you end up potentially having to write (and maintain) several XSL stylesheets to handle different collections, versions and releases of the published PDF content.

By way of example, see the following 4E PDFs: 4E PHB (Official), 4E DMG (Official), SoW 1-4 (Dungeon Magazine), SoW 5-6 (Dungeon Magazine), SoW 7+(Dungeon Magazine) content exports to differing HTML output. Take a look and you will see what I mean.

For PAR5E, the goal was to create a tool that would be easy to maintain, require one instructuin library per ruleset and could be easily extended to support other games and content. I elected to go with text based parsing as it offered the easiest means of maintaining consistency as well as flexibility when new content/formats are released by WotC (and other Publishers). Given the current Beta nature of 5E content, I also couldn't heavily rely upon the current format remaining the same so again it made sense to work with the simple basic text itself.

JamesManhattan
August 17th, 2013, 21:02
That does make a lot more sense, to go after the raw text. I couldn’t get the parse5e to put out a usable file.

So in a different attempt, I tried to write my own parser in java that would translate the Bestiary into a module usable in the current 4E Fantasy Grounds ruleset. Since I don't have access to a 5E one yet. I figure there are some coders interested in this thread, as well as some people who would just like to be able to use the monsters right now, no matter what ruleset.

EDIT:
I made a new post
https://www.fantasygrounds.com/forums/showthread.php?19658-Parser-for-the-5E-pdf-rules

Zeus
February 14th, 2014, 18:35
Good news my friends. I have heard your cries of pain over using Perl and the problems associated with establishing a working environment to support PAR5E. As such, over the course of the last couple of weeks I have been porting the prototype code from Perl to ... Java.

After much toiling and cursing I have succeeded in getting an alpha build ready for wider community testing. Given this ones in Java and I have been able to build encapsulated executables for both Windows and Mac platforms (Linux platforms can execute directly via a single .JAR), all you should need is a Java Run Time Environment (1.7 or higher). :)

I'll be adding platform specific ZIP files to the original post for easy reference/download. This initial alpha release supports CoreRPG and 5E (for those of you testing 5E for moon_wizard, this will be particularly useful).

Z.

Irondrake
February 14th, 2014, 18:48
Sounds good, I have the oct 14 play test files I can use to help test it with :)

OneSidedDie
February 15th, 2014, 01:04
I am going through the backgrounds.txt for 5E right now and it looks like your examples in the PDF are incorrect.

Your examples look something like this:

##;Background name
Background text.
Skills: Skill names
Trait—Trait Name: Trait text.
Suggested Equipment: Equipment

This parses the db.xml with some weird data.
However, I found with trial and error that if you parse it like this:

##;Background Name
Background text.
Trait - Trait Name
Trait Text
Proficiencies
Skills: Skill names
Tools: Tool names
Languages
Language(s) gained
Equipment
List of equipment

Then the data comes out looking good.

Zeus
February 15th, 2014, 01:35
You are correct sir. Well spotted. For some reason I missed Traits and the keyword Proficiencies. I'll correct it for the next build.

Irondrake
February 15th, 2014, 04:52
Should there be something in the documentation about the markup for races? Or is that just reference manual material?

Zeus
February 15th, 2014, 09:30
Whoa, I must have been half asleep when I posted up the documentation. You are correct Irondrake, I forgot to document Races. See below for instructions. I'll add to the docs for next release.

Races


Output to Campaign No
Output to Reference Yes
Output to Db Not supported in this release.
Markup Required! Yes

Race content can be written to the Reference classes of 5E (under the Library) only. Race content is parsed using a single source file:

✦ races.txt


Input:
✦ Empty lines are ignored
✦ Table content is listed sequentially
✦ New races start with keyword ##;{Race Name}
✦ New subraces start with keyword #s;{Subrace Name}
✦ Race descriptive text is automatically formatted with formattedtext <tags>, there is no need to add tags manually unless further customisation is required. Each text line is treated as a paragraph <p></p>.
Text preceding a colon (:) will be auto bolded <b></b>.
✦ The reference text supports FormattedText tags (see FormattedText section)


[##;{Race Name}\n
[{descriptive text} \n] ]\ n]
[Traits\n
[{trait descriptive text} \n] ]\ n]
[#s;{Subrace Name}\n]
[{subrace descriptive text} \n] ]\ n]


e.g.


##;Gnome
Gnomes are small ...
Gnomes ...
#h;Traits
As a gnome, you have the following racial traits ...
Ability Score Adjustment: ...
Size: Small.
Speed: 25 feet.
Low-Light Vision: You can see ...
Gnome Cunning: You have advantage on all ...
Languages: You can speak, read, and write Common and Gnomish.
Subrace: Choose a subrace. Two subraces are described here: forest gnome and rock gnome.
#s;Forest Gnome
Forest gnomes gather in hidden communities in ...
Ability Score Adjustment: Your Dexterity score increases by 1.
Natural Illusionist: You know the minor ...
Speak with Small Beasts: Through sounds ...
#s;Rock Gnome
The rock gnomes build their communities in ...
Artificer’s Lore: You have advantage on Intelligence ...
Tinker: You have artisan’s tools. Using those tools, ...
Tiny clockwork device (AC 5, 1 hp). The device ceases ...
Clockwork Toy: This toy is a clockwork animal ...
Fire Starter: The device produce ...


...

Irondrake
February 15th, 2014, 14:36
Ah thanks! Next question, and this isn't specifically about 5E or Par5E but it is related. What have you found to be the best way to extract text from the PDF files? So far I've been copying and pasting and fixing all of the line breaks...and there are MANY line breaks. I'm using Notepad++ for the text and I've tried Acrobat Reader (which when I copy the text I get one word per line) and Foxit Reader which is a little better, but still breaks paragraphs into multiple lines. Is there a better way to extract the text?

Zeus
February 15th, 2014, 20:36
Ah, yes it can be problematic but I have uncovered a method that significantly reduces the amount of manual corrections required post convertion.

I use Adobe Acrobat Pro but any good PDF app like Foxit will do. Basically you want to export from PDF to a structured format like MS Word first before exporting to final plain text. Exporting PDFs directly to text usually results in garbled text, split paragraphs, text in the wrong location and a general mess and headache to deal with.

Once you have exported your PDF to MS Word format. Open up the Word doc and save as plain text. This works much better than exporting from PDF to text directly, you still have the odd bit of text to tidy up (particularly if the PDF uses non UTF-8 encoding) but no where near the amount you would have to deal with if you exported to text directly.

Let me know how you get on. For reference, all the 5E material exports pretty well using the above method. I'm using a 5E module with pretty much all of the content mirrored from the last play test packets.

EDIT: Oh one other thing. PAR5E only works with text based input files at the moment and only exports to module XML in the current release, however the following functionality is planned for a future release:

- input from database sources
- scraping from online resources (e.g. DDI)
- output to database formats

I already have a prototype of an NPC and Item database that I plan to allow PAR5E to connect to to allow for easy inclusion of previously scraped NPCs/Items. Part of a toolchain I am building for quick adventure module creation.

OneSidedDie
February 16th, 2014, 01:48
Getting some issues with weapons. The data output keeps placing a "-1" in the weight field and then Damage and Properties gets left blank.

This is what goes in:

[#@;WEAPONS
#th;Name;Price;Damage;Weight;Properties
#st;Simple Melee Weapons
Club;1 sp;1d4 bludgeoning;3 lb.;Light

This is what comes out:

<club>
<name type="string">Club</name>
<type type="string">Weapons</type>
<subtype type="string">Simple Melee Weapons</subtype>
<cost type="string">1 sp</cost>
<weight type="number">-1</weight>
<damage type="string" />
<properties type="string" />
</club>

Trenloe
February 16th, 2014, 08:57
Getting some issues with weapons. The data output keeps placing a "-1" in the weight field and then Damage and Properties gets left blank.
It looks like the parser is expecting only a number for weight. Try using just 3 instead of 3 lb.

OneSidedDie
February 16th, 2014, 12:04
I got the same thing when just using the number. Also, it parses fine with armor and adventuring gear when they have "lb." in the weight.

Trenloe
February 16th, 2014, 12:51
I got the same thing when just using the number. Also, it parses fine with armor and adventuring gear when they have "lb." in the weight.
I can only get it to work with Name;Price;Weight (which is what is shown in the documentation) - as soon as I add any other fields it doesn't parse.

Zeus
February 16th, 2014, 14:20
If your getting empty fields inside FG or fields comprising of -1, PAR5E has missed key information during the parse of your source files (check your syntax). Before the parse action begins PAR5E initialises a bunch of internal data structures to hold the parsed data. Initialised objects get a value of -1. After a parse action, PAR5E checks the value status of each object parsed, if its -1 it gets listed to the console in Red (warning - not all information parsed), if its not -1 it gets listed in Green (all ok).

Equipment should be listed as follows (I'll tidy up the documentation for equipment so its clearer):


#@;ADVENTURING GEAR
#th;Item;Price;Weight;
#st;Standard
Acid (flask);25 gp;1 lb.
Adventurer’s kit;9 gp;39 lb.
Bedroll;1 gp;5 lb.
Bell;1 gp;—
Blanket, winter;5 sp;3 lb.
Block and tackle;1 gp;5 lb.
...

Bedroll: Adventurers often don’t know where they’re going to sleep. A bedroll is bedding and a blanket thin enough to be rolled up and tied.
Blanket, Winter: A heavy blanket perfect for keeping warm or to deaden the sound of breaking glass.
Block and Tackle: You can use this set of pulleys to lift up to four times the weight you can normally lift.

In the same file and following adventuring gear you can add armor and weapons as follows, weapons have 5 fields and armor has 6:


#@;ARMOR
#h;Armor;Price;Armor Class (AC);Speed;Stealth;Weight
#st;Light Armor
Padded armor;5 gp;11 + Dex modifier;-;Disadvantage;15 lb.
Leather armor;10 gp;11 + Dex modifier;-;-;15 lb.
Dragon leather;500 gp;12 + Dex modifier;-;-;15 lb.
...

Dragon Leather: This leather armor is made from the hide of a dragon. It is extremely supple yet far more durable than standard leather armor.
...

#@;WEAPON
#h;Name;Price;Damage;Weight;Properties
#st;Simple Weapons
Cestus;1 gp;1d4 bludgeoning;1 lb.;Light
Club;1 sp;1d4 bludgeoning;3 lb.;Light
Crossbow, light;25 gp;1d8 piercing;6 lb.;Loading, missile range 80/320, two-*‐handed
#st;Special Weapons
Blowgun;10 gp;1 piercing;2 lb.;Loading, missile range 30/90, special
Bolas;2 gp;1 bludgeoning;1 lb.;Special, thrown range 30/90
...

Blowgun: As part of the action used to load a blowgun, you can apply poison to the needle loaded into it.
Bolas: A Large or smaller creature hit by a bolas must make a Dexterity save (DC 10) or be restrained by it. A creature can break free of the bolas by using its action to make a DC 15 Strength

Trenloe
February 16th, 2014, 14:47
Equipment should be listed as follows (I'll tidy up the documentation for equipment so its clearer):
I tried copy/pasting these 3 sections (Adventuring gear, armor and weapons) into a text file and parsing for CoreRPG or 5E with Cmp or Ref selected, these are the results:

Rulest: 5E, Ref module. Works fine.
Ruleset: 5E, Cmp module - a db.xml is created with a library entry with just the module name and category - no items at all.
Ruleset: CoreRPG, Ref module. Adventuring Gear works OK, Armor and Weapons show data as mentioned above - name and cost OK, weight of -1 and no additional fields. No equipment lists/tables.
Ruleset: CoreRPG, Cmp module. Adventuring Gear works OK, Armor and Weapons show data as mentioned above - name and cost OK, weight of -1 and no additional fields.

Zeus
February 16th, 2014, 15:03
I tried copy/pasting these 3 sections (Adventuring gear, armor and weapons) into a text file and parsing for CoreRPG or 5E with Cmp or Ref selected, these are the results:

Rulest: 5E, Ref module. Works fine.
Ruleset: 5E, Cmp module - a db.xml is created with a library entry with just the module name and category - no items at all.
Ruleset: CoreRPG, Ref module. Adventuring Gear works OK, Armor and Weapons show data as mentioned above - name and cost OK, weight of -1 and no additional fields. No equipment lists/tables.
Ruleset: CoreRPG, Cmp module. Adventuring Gear works OK, Armor and Weapons show data as mentioned above - name and cost OK, weight of -1 and no additional fields.



Trenloe: the instructions above are for 5E only. Export to Campaign and Reference appears to be working fine for me. For export to Reference you should have an entry called Equipment in the Library module. For Campaign Items, you should have a category for each category of equipment you parsed e.g. Adventuring Gear, Armor and Weapons. If you parse Magic Items and export to Campign, you get a 4th category, "Magic Items".

As for CoreRPG, Items only have 3 fields, see the CoreRPG guide. This is because the CoreRPG ruleset has limited field and windows class definitions as its a base ruleset only. Also, CoreRPG doesn't have any specific reference classes for the Library so in the next release I am going to disable output to reference for CoreRPG.

Trenloe
February 16th, 2014, 15:22
Trenloe: the instructions above are for 5E only. CoreRPG uses a different format, see the CoreRPG guide.
OK, thanks for clarifying that. :)

Still - number 2 on my test list didn't work with the above data - when trying to create a 5E campaign (Cmp) module I got a db.xml file with no equipment data at all. Selecting "Ref" instead of "Cmp" works OK.

Zeus
February 16th, 2014, 16:17
What happens if you select both Ref and Cmp?

Trenloe
February 16th, 2014, 16:58
What happens if you select both Ref and Cmp?
Yeah, that gives the campaign entries correctly.

Zeus
February 16th, 2014, 17:01
Ah yes, on closer inspection of the logic behind the output switches I have found a small bug, fixing now and will be pushing a new build to my website shortly.

[EDIT] See first post for new v0.5 build 431 and change log. Equipment output should now be fixed if you only want to output to campaign.

Irondrake
February 17th, 2014, 03:39
I seem to be having some issues. I tried to compile the player information into one module so I could keep NPCs and Magic Items separate. I also noticed that the weapon tables were different so I figured it was a good time to give Par5E a good test and parse as much data as I could. Well, I must be doing something wrong. I couldn't get the files to parse. So I tried them one section at a time, and I'm still running into issues. The first one I wanted to work on was equipment. Could you check out my input file and see if you can spot any blatant errors? I'm just not sure why its failing. With equipment, its running Armor and Weapons together. All AC values are 1 and a lot of the weapon values are -1.

Zeus
February 17th, 2014, 08:29
Irondrake - Combination of syntax error in your source file + a couple of bugs which I have just squashed. Only the first digit of AC was being picked up and description notes were being excluded from final output. Now fixed in the latest build which I'll upload in an 1hr or so.

With regards to your source file syntax (pretty darn close) - all you need to do is introduce one line break between the end of your table data and start of data descriptions blocks. Also, make sure the data description labels match the spelling and case of the table data entry. If you correct these and the re-parse with the new version (as soon as I have uploaded it), you should fine your source will parse just fine. Finally for equipment descriptions you must use the following syntax:

{equipment name}: {equipment notes}

In several of the Weapon descriptions your using generic types and the syntax:

{equipment type}. {equipment notes}

[EDIT]: Irondrake, I have uploaded build 432 which when combined with the changes to your source that I highlighted; should fix equipment for you. Thanks for helping out with the testing, let me know about any other problems you hit.

Irondrake
February 17th, 2014, 17:32
If the information is not present in the document, does it have to be in the source file? Most of the weapons are not detailed. I think I copied a lot of information that may not be necessary (Simply, Martial descriptions, etc). I likely left some of the bad formatting from the documentation in there from those descriptions. I'll remove those and give it a shot, then move on to the next problem ;)

Zeus
February 17th, 2014, 18:49
The Playtest packets from WotC for 5E were only subsets of key content under test, hence why not all equipment has a documented description. When 5E releases, all content will likely be more complete and I expect in the case of equipment, that each item will have a short description (similar to the way they did it for 4E). Until then I only use the information as presented in the play test packets, I do not add it the Simple, Martial, Special descriptions.

Irondrake
February 18th, 2014, 01:01
Ok, equipment parsed without errors once I figured out what I was doing. Now for backgrounds. I get a module, and it appears the text is there. Tables that have numbers such as 1-2 show up as 1"2. When I open any trait from the background, I get the following error:

Ruleset Error: windowcontrol: Database type mismatch for control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Database Notice: Campaign saved.

Again, here is the source file...in case I've done something wrong! Also, on this one, the following backgrounds show warnings, but I can't find anywhere in Par5E to see those warnings. "Commoner", "Guide", "Guild Thief", and "Soldier". Their text all appears to be there.

Trenloe
February 18th, 2014, 10:03
I'm having issues with creating a "Ref" image library - I'm using CoreRPG as I don't have access to 5E to test on that side - although the module output looks the same if I select 5E too. So, unless 5E uses different reference XML templates it might be an issue with both.

"Cmp" works OK, but "Ref" doesn't appear to create the lists/indexes within the library - I get the module name, but when I select this there are no lists. The module contains the images and the db.xml has the reference entries to the specific images, but there are no "list" entries to display in the library.

Sorry if your development angle is concentrating on the 5E side - this is a great tool and so I'm trying to use it for CoreRPG... :)

Zeus
February 18th, 2014, 19:39
Ok, equipment parsed without errors once I figured out what I was doing. Now for backgrounds. I get a module, and it appears the text is there. Tables that have numbers such as 1-2 show up as 1"2. When I open any trait from the background, I get the following error:

Ruleset Error: windowcontrol: Database type mismatch for control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Ruleset Error: window: Control(reftype) anchoring to an undefined control (name) in windowclass (ref_backgroundtrait_header)
Database Notice: Campaign saved.

Again, here is the source file...in case I've done something wrong! Also, on this one, the following backgrounds show warnings, but I can't find anywhere in Par5E to see those warnings. "Commoner", "Guide", "Guild Thief", and "Soldier". Their text all appears to be there.

Irondrake - your backgrounds.txt source file is littered with Unicode 'Zero Width No-break Space' characters (U+FEFF). These are invisible in most text editors. I suspect this is a byproduct of cutting and pasting text from the PDF. I have added an auto-strip function which will remove these when detected. I also found a bug with the XML output of backgrounds, Trait names were missing the "string" type, which explains the error your seeing.

Both have already been addressed and will be fixed in the next build (I'll post up shortly).

Zeus
February 18th, 2014, 19:48
I'm having issues with creating a "Ref" image library - I'm using CoreRPG as I don't have access to 5E to test on that side - although the module output looks the same if I select 5E too. So, unless 5E uses different reference XML templates it might be an issue with both.

"Cmp" works OK, but "Ref" doesn't appear to create the lists/indexes within the library - I get the module name, but when I select this there are no lists. The module contains the images and the db.xml has the reference entries to the specific images, but there are no "list" entries to display in the library.

Sorry if your development angle is concentrating on the 5E side - this is a great tool and so I'm trying to use it for CoreRPG... :)

Ah yes. Let me explain why this is happening. I'd be interested in your input.

From my experience, Image lists in the reference library are not typically required as the images are generally only used when cross-linking from reference manual, NPC and other reference content. When I sat down to write the export functions I made a conscious decision not to provide directly accessible Images from the Library. I figured the place it made sense to see a directly accessible list of images was from the Campaign (Cmp). Images you export to reference are to simply enable other reference content to link to them (see #zl;)

Would you like to have a directly accessible image list in the module reference library? Do you think its necessary in addition to Campaign?

Trenloe
February 18th, 2014, 19:56
Ah yes. Let me explain why this is happening. I'd be interested in your input.

From my experience, Image lists in the reference library are not typically required as the images are generally only used when cross-linking from reference manual, NPC and other reference content. When I sat down to write the export functions I made a conscious decision not to provide directly accessible Images from the Library. I figured the place it made sense to see a directly accessible list of images was from the Campaign (Cmp). Images you export to reference are to simply enable other reference content to link to them (see #zl;)

Ah, that makes sense - thanks for explaining.


Would you like to have a directly accessible image list in the module reference library? Do you think its necessary in addition to Campaign?

I was more asking in relation to a request/question in another thread from damned. For me, it might be handy to have a list of images directly in the library. But, now that I know that I can include them in the reference list and link them via #zl that might be enough...

Thanks again! :)

Zeus
February 18th, 2014, 20:10
No problem. And thank you to everyone helping out with the testing. Much appreciated. Keep the bug fix requests coming. I'm usually around between 8pm-11pm GMT to address problems.

Irondrake
February 19th, 2014, 00:24
I upgraded Par5E to
I may have spoken too soon about the equipment. It said it was all good, and the module built fine. When I opened the armor there were armor class values. Table looked good. Then I opened one of the pieces of armor (all of them throw this error) and got:

Ruleset Error: windowcontrol: Database type mismatch for control (ac) in windowclass (ref_armor_stats)
Ruleset Error: windowcontrol: Database type mismatch for control (speed) in windowclass (ref_armor_stats)

Shields are reporting no AC value. Weapons look good!

Backgrounds parsed great except the tables still change - to ". So any table that reads 1-2 is showing up as 1"2. Parsing skills, all of them parse except Athletics. No clue whats going on here, this seems to be the simplest set, but its showing an error for Athletics. Is there any for Par5E to display what errors its finding? I've turned the Debug level up to 3 and it doesn't seem to make any difference on the amount of feedback I'm getting.



Also the window is all jumbled up. Dex bonus and AC look like they are sitting on top of each other.

6073

OneSidedDie
February 19th, 2014, 03:09
#@;WEAPON
#h;Name;Price;Damage;Weight;Properties
#st;Simple Weapons
Cestus;1 gp;1d4 bludgeoning;1 lb.;Light
Club;1 sp;1d4 bludgeoning;3 lb.;Light
Crossbow, light;25 gp;1d8 piercing;6 lb.;Loading, missile range 80/320, two-*‐handed
#st;Special Weapons
Blowgun;10 gp;1 piercing;2 lb.;Loading, missile range 30/90, special
Bolas;2 gp;1 bludgeoning;1 lb.;Special, thrown range 30/90
...

Blowgun: As part of the action used to load a blowgun, you can apply poison to the needle loaded into it.
Bolas: A Large or smaller creature hit by a bolas must make a Dexterity save (DC 10) or be restrained by it. A creature can break free of the bolas by using its action to make a DC 15 Strength

Got it! It was #@;WEAPON vs #@;WEAPONS

Documentation has the line:

✦ Table data begins with tag #@;[ADVENTURING GEAR|ARMOR|WEAPONS]

But it shows correct in the example below in the same section.

Another two points for those parsing

1) In magic items the last playtest has Belt of Giant Strength and Ioun Stones with only "Wonderous item" listed for rarity. The parser looks for "Rare wonderous item", "Very rare wonderous item", etc. So you can either call the whole bunch a "Rare wonderous item" or you can create one entry for every belt/stone.

2) In backgrounds the Commoner, Guide, Guild Thief and Solder parse as red in the log. I found it was due to them not having bonus languages. It seems the parser is looking for a line called Languages followed by another line after. So I just used "Languages" followed by "None" and it parses with no errors.


##;Soldier
You trained in military skills and possibly fought in a war. You studied the use of weapons and armor, basic survival techniques, and how to stay alive on the battlefield. You might have been part of a standing national army or a mercenary company, or perhaps a member of a local militia who rose to prominence during a recent war. When you choose this background, work with your DM to determine which military organization you were a part of, how far through its ranks you progressed, and what kind of experiences you had during your military career.
Trait – Military Rank
You have a military rank from your career as a soldier. Soldiers loyal to your former military organization still recognize your authority and influence, and they will defer to you if they are of a lower rank. You can invoke your rank to exert influence over other soldiers and requisition simple equipment, horses, and vehicles for temporary use. You can also usually gain access to friendly military encampments and fortresses where your rank is recognized.
Proficiencies
Skills: Athletics, Intimidation, Survival
Tools: Gaming set, mounts (land), vehicles (land)
Languages
None
Equipment
Lucky charm, souvenir of a previous military campaign (a weapon taken from an enemy, a scar, a medal, or some similar item), rank insignia, traveler’s clothes, bone dice or cards, and 40 gp

Zeus
February 19th, 2014, 14:37
I upgraded Par5E to
I may have spoken too soon about the equipment. It said it was all good, and the module built fine. When I opened the armor there were armor class values. Table looked good. Then I opened one of the pieces of armor (all of them throw this error) and got:

Ruleset Error: windowcontrol: Database type mismatch for control (ac) in windowclass (ref_armor_stats)
Ruleset Error: windowcontrol: Database type mismatch for control (speed) in windowclass (ref_armor_stats)

OK. I know what this will be. I'll fix in tonights nightly build.



Shields are reporting no AC value. Weapons look good!

OK. I'll investigate. Is this across all armor or just specific entries?


Backgrounds parsed great except the tables still change - to ". So any table that reads 1-2 is showing up as 1"2.

I parsed your backgrounds.txt file on my Mac platform and it correctly detects outputs 1-2. So it could be a platform escaping text difference which is a bit boggling given that unicode is supposed to be standard. I'll investigate further.

Can you confirm which platform your testing PAR5E on, I'm guessing Windows.


Parsing skills, all of them parse except Athletics. No clue whats going on here, this seems to be the simplest set, but its showing an error for Athletics. Is there any for Par5E to display what errors its finding? I've turned the Debug level up to 3 and it doesn't seem to make any difference on the amount of feedback I'm getting.

Send me your skills.txt and I'll take a look.


Also the window is all jumbled up. Dex bonus and AC look like they are sitting on top of each other.

This is related to the error messages above, essentially AC and Speed control fields are not being rendered and as a result the other field controls (which anchor logically to AC and Speed) and being rendered on top of each other. Once I address getting ac and speed field types corrected, this problem should disappear.

Zeus
February 19th, 2014, 14:50
Thanks, I'll correct the documentation regarding the Equipment tag.

Magic Items - Correct. PAR5E expects to see a certain number of fields (as a minimum) when determining if a parse action has completed as expected. PAR5E expects to see the following line following the magic item first line (name of magic item):

Common|Uncommon|Rare|Very rare|Legendary|Artifact {magic {name} | {name}}

When 5E launches, if magic items include rarity for every magic item, then PAR5E will treat it as a mandatory field requirement, if not I'll promote rarity to optional.

For Backgrounds, again similarly PAR5E expects to see Languages as part of the Background block. Just a note the Red/Green color of the output messages PAR5E writes to the console simply denote if all fields for the object type parsed were set. If not and the output is Red, it doesn't necessarily mean there is an error with the parsed object, simply that not all expected fields have been completed. The output XML will still include the object albeit some of the fields when opened in FG will be empty.

Irondrake
February 20th, 2014, 00:31
Here's some of the information...


OK. I know what this will be. I'll fix in tonights nightly build.


OK. I'll investigate. Is this across all armor or just specific entries?

This is all armor.

Shields don't receive a normal AC like armor, they get a +1, +2, etc. That may be throwing the parser off.

I parsed your backgrounds.txt file on my Mac platform and it correctly detects outputs 1-2. So it could be a platform escaping text difference which is a bit boggling given that unicode is supposed to be standard. I'll investigate further.

Can you confirm which platform your testing PAR5E on, I'm guessing Windows.

Windows 8.1

Send me your skills.txt and I'll take a look.

I'll attach to this message. The weird thing is, it outright refuses to build the module, but doesn't really give any error other than showing Athletics in red. I've found a couple of other issues with other files as well, but I'll keep approaching them one piece at a time :)

This is related to the error messages above, essentially AC and Speed control fields are not being rendered and as a result the other field controls (which anchor logically to AC and Speed) and being rendered on top of each other. Once I address getting ac and speed field types corrected, this problem should disappear.

OneSidedDie
February 22nd, 2014, 04:00
I just tried your skill.txt irondrake and it is doing the same to me. I tried the stats in a different order and whatever one comes first it errors out on all of the skills associated with it. The parser seems to skip reading the first line. If you have the first line blank and have #@;Strength start on line two it parses fine.

Irondrake
February 22nd, 2014, 07:11
Ah hah! I'll give that a shot!

OneSidedDie
February 22nd, 2014, 12:15
Have you been able to parse spells yet? Mine keeps getting stuck on "Make : spells windowlists". I have tried all the spells and I have tried just one spell:


#@;Bard Spells
Cantrips
Dancing Lights

##;Dancing Lights
Evocation cantrip
Casting Time: 1 action
Range: 200 feet
Duration: Concentration, up to 1 minute
You create up to four lights within range, making them appear as torches, lanterns, or glowing orbs. You can also combine the four lights into one glowing, vaguely humanoid form. Whichever form you choose, the lights shed dim light in a radius up to 30 feet. On your turn, you can move the lights up to 50 feet to a new spot within range. No two of the lights can be more than 20 feet apart, and a light winks out if it exceeds the spell’s range.

Irondrake
February 22nd, 2014, 22:39
Classes and Spells are giving me fits at the moment. I'm going through the files to make sure I have everything right (at least as far as I can tell!)

Koreapsu
February 22nd, 2014, 23:06
I've got to be doing something fundamentally wrong :/

Even after Irondrake graciously shared working .txt files with me I'm still stuck with nothing coming up in the actual list of skills/equipment/feats etc after I have clicked through the library section.
I've tried multiple text files, so it has to be something I'm doing wrong with all of them!


6108

Zeus
February 22nd, 2014, 23:10
Sorry chaps, had a heavy end of week with work and not much time to address problems. I did get some time in this morning and was able to update documentation and address the issues with backgrounds and skills. I have also started re-working Classes at the request of moon_wizard so anyone testing Classes might want to hang tight until tomorrow afternoon.

Oh and for those having problems with Parsing, you can enable debug mode (set to a value higher than 0) to get further debug messages sent to STDOUT. You will have to launch PAR5E from a command line to see the messages.

e.g.

PAR5E.exe 1

or to capture debug messages to a file:

PAR5E.exe -c <config_file> 1 >debug.txt

Zeus
February 22nd, 2014, 23:16
I've got to be doing something fundamentally wrong :/

Even after Irondrake graciously shared working .txt files with me I'm still stuck with nothing coming up in the actual list of skills/equipment/feats etc after I have clicked through the library section.
I've tried multiple text files, so it has to be something I'm doing wrong with all of them!


6108

What platform are you testing on? When PAR5E parses the module are you seeing output in the console? Post up a screenshot of the configuration tab or save the config and attach here and we'll see if we can get you up and running.

Zeus
February 22nd, 2014, 23:19
Have you been able to parse spells yet? Mine keeps getting stuck on "Make : spells windowlists". I have tried all the spells and I have tried just one spell:

Classes and Spells are giving me fits at the moment. I'm going through the files to make sure I have everything right (at least as far as I can tell!)

Example Spell Format

#@;
Bard Spells

Cantrips
Dancing Lights
Light
Mage Hand
Mending
Message
Minor Illusion
Prestidigitation
Read Magic

Level 1 Spells
Animal Friendship
Cause Fear
Charm Person
Comprehend Languages
Cure Wounds
Detect Magic
Disguise Self

...continues with index of spells for each class and then

##;
Aid
2nd-level abjuration
Casting Time: 1 action
Range: 25 feet
Duration: 8 hours
Your prayer calls down a divine blessing of toughness and resolve. Choose up to three creatures within range that are not currently affected by this spell. Each target’s hit point maximum and current hit points increase by 5 for the duration. This spell has no effect upon undead or constructs.


Air Walk
4th-level transmutation
Casting Time: 1 action
Range: 5 feet
Duration: Concentration, up to 1 hour
Choose a willing creature within range. Until the spell ends, the target can tread on air as if walking on solid ground. The target can move upward or downward at a 45 degree angle at half its speed. Treat strong winds (twenty miles per hour or more) as difficult terrain.
If the spell ends while the target is airborne, it falls if this spell is the only thing keeping it aloft.
#ip;At Higher Levels: When you cast this spell using a spell slot of 5th level or higher, you can add one target for each level above 4th.


Alarm
1st-level abjuration (ritual)
Casting Time: 1 minute
Range: 25 feet
Duration: 8 hours
Choose a door, a window, or an area within range that is no larger than a 20-foot cube. Until the spell ends, an alarm alerts you whenever a Tiny or larger creature touches or enters the warded area. When you cast the spell, you can designate creatures that won’t set off the alarm. Also, choose whether the alarm is mental or audible.
A mental alarm alerts you with a psychic ping if you are within 1 mile of the warded area. This ping awakens you from sleep.
An audible alarm produces the sound of a hand bell for 10 seconds. Anyone within 50 feet of the warded area can hear the bell. Reduce the distance by 10 feet for each interposing closed door and by 20 feet for each interposing wall.
Material Components: A tiny bell and a piece of fine silver wire.

.... separating each spell with a blank line.

Note how you can embed formattedtext tags in the text of a spell.

Koreapsu
February 22nd, 2014, 23:33
Hi, thanks for the reply. Running Win7.

I have given full access to the folder so it shouldn't be an access issue.

6109
6110

Zeus
February 22nd, 2014, 23:38
Hi, thanks for the reply. Running Win7.

I have given full access to the folder so it shouldn't be an access issue.

6109
6110

If you take a closer look at the console messages you'll note that PAR5E has complained that the path to the input/backgrounds.txt source file is invalid. You need to ensure that your source files are in a folder called input under C:\Users\Jas\Desktop\5E Text Files\ .

If that doesn't fix the problem, Check the output path you have set is correct. It looks like your paths may need updating as it contains a reference to Fantasy Grounds II. Can you check your AppData\Roaming folder to see if there is also a Fantasy Grounds folder. If there is try pointing at the module subfolder under that.

Koreapsu
February 22nd, 2014, 23:58
I put the files in a folder called "Input" under C:\Users\Jas\Desktop\5E Text Files\ and no luck there.

I checked the output path and it seems correct but should this not say "Fantasy Grounds II" anymore? It's been a long time since my last reinstall, and I have no "Fantasy Grounds" folder under AppData\Roaming.

Zeus
February 23rd, 2014, 00:08
I put the files in a folder called "Input" under C:\Users\Jas\Desktop\5E Text Files\ and no luck there.

I checked the output path and it seems correct but should this not say "Fantasy Grounds II" anymore? It's been a long time since my last reinstall, and I have no "Fantasy Grounds" folder under AppData\Roaming.

PAR5E is expecting the folder to be named input (in lowercase), check the source path for backgrounds.txt. Either change the folder name to input or change the source path references from input/backgrounds.txt to Input/backgrounds.txt (remember to change for all data items).

I would change the folder name to input. Much quicker.

As for the Fantasy Grounds II folder, if you have no other folder then I guess this must be the correct one. I seem to have a Fantasy Grounds folder but I guess this maybe down to a more recent install. Anyhow, the problem your experiencing should go away once you point PAR5E at your source files.

Koreapsu
February 23rd, 2014, 00:45
Alrighty, I changed the folder name to input. No success. So I then moved it to just C:\input along with C:\temp to see if that helped, but no success.

I then tried it with par5e in the the "input" folder. No luck.

It seems to be outputting to the correct folder as it shows up in my modules folder and I can open it in FG.

I'm still getting the same error though with invalid path. How would I go about changing the source path references?

Sorry for the hassle, feeling like a complete moron at the moment!

6111
6112
6113
6115

OneSidedDie
February 23rd, 2014, 01:48
Alrighty, I changed the folder name to input. No success. So I then moved it to just C:\input along with C:\temp to see if that helped, but no success.

I then tried it with par5e in the the "input" folder. No luck.

It seems to be outputting to the correct folder as it shows up in my modules folder and I can open it in FG.


Your Module Source Path is pointing to "C:\input" when if you look at the Relative Source File/Folder Path it already assumes an input folder. So it is looking for backgrounds.txt in "C:\input\input\background.txt". If all of your data text files are in "C:\input" change your Module source path to "C:\" without quotes.

Zeus
February 23rd, 2014, 01:50
You can change the source paths by simply clicking on each data item source path and changing the text. However if you have placed the input folder in C:\ just change the field labeled "Module Source Path" to C:\

At the moment, PAR5E is trying to find the data source files in C:\input\input\ which is obviously incorrect. I strongly recommend you re-read the user guide documentation that accompanies the tool.

OneSidedDie
February 23rd, 2014, 01:55
Oh, and my problem was the space between the spell list name and the spell list. Thanks for your example Zeus, it helped!

Now i have parsed:
Backgrounds
Equipment
Feats
Magic Items
Races
Skills
Spells

It took me two weeks of unemployment to copy/paste/format this much data into my Earthdawn module.

Koreapsu
February 23rd, 2014, 02:12
Thanks, yep all sorted. I did not realise it assumed an input folder. Thanks for the help and thanks OneSidedDie too.

Irondrake
February 23rd, 2014, 04:18
Mine seems to want to parse the spells now, it lists them all in the console, but there seems to be an issue with completing still. Shilleghlah seems to be the culprit (its also missing from previous data btw). It won't complete the module and its not outputting the error log. Here's my spell list :)

Trenloe
February 23rd, 2014, 10:26
Mine seems to want to parse the spells now, it lists them all in the console, but there seems to be an issue with completing still. Shilleghlah seems to be the culprit (its also missing from previous data btw). It won't complete the module and its not outputting the error log. Here's my spell list :)
Change "Cantrip transmutation" to "Transmutation cantrip" for Shillelagh.

Zeus
February 23rd, 2014, 13:23
Updated build v0.5-b499 now available for download.

Download from: https://www.drzeuss.co.uk/fantasy-gro...ilities-tools/ (https://www.drzeuss.co.uk/fantasy-grounds/utilities-tools/)

v0.0.5-b499



5E equipment: Fixed incorrect speed and ac type output XML
5E backgrounds: Broke out separate fields for equipment
5E classes: Broke out ability features into separate linked records and listlinked into ability text.
5E classes: Added separate number field 'level' to class features and abilities, level is auto populated based upon feature/ability text. If no level information is present, Level 1 is assumed.
Engine: updated source-file foreign character detection which was causing some source file first line text to be skipped
Engine: updated XMLTidy routines to include Windows platform interpretation of certain unicode character streams which differ on Mac OSX
Docs: updated 5E equipment and class content guide.
Docs: updated user guide with steps to launch software from command line, troubleshooting problems and enabling debug mode

Irondrake
February 23rd, 2014, 23:28
Wow, was that an error in the document? I don't remember hand typing that. I'll give it a shot...completely missed that, thanks Trenloe :)

Irondrake
February 24th, 2014, 02:19
Spells parsed. I found a couple of other minor errors, apparently WotC left Plant Door in the index but removed the spell from the descriptions. I went over my class document, corrected everything I thought to be an error...ran it...and it locked up the parser heh. Tried it again with a debug, but it didn't write it because it seemed to lock up the program again. I'm sure its something I've missed, but I'm not sure what it is. I'll take another look at it tomorrow.

Zeus
February 24th, 2014, 07:54
Spells parsed. I found a couple of other minor errors, apparently WotC left Plant Door in the index but removed the spell from the descriptions. I went over my class document, corrected everything I thought to be an error...ran it...and it locked up the parser heh. Tried it again with a debug, but it didn't write it because it seemed to lock up the program again. I'm sure its something I've missed, but I'm not sure what it is. I'll take another look at it tomorrow.

Glad to hear your making progress. Spells and NPCs are quite straightforward and the markup is minimal. Classes on the other hand are a lot more complex and quite heavy with markup.
If PAR5E is hanging, enable debug (make sure you launch from the command line) and check the debug messages which will be displayed from the command line. Let me know which routine its hanging on and we will see if we can figure out where things are going wrong.

One thing to point out, I do my best to strip out/ignore non-ascii text when parsing but if PAR5E encounters non-ascii text unexpectedly (especially when writing the XML), it will hang. Check your class.txt file and make sure it doesn't contain any foreign characters.

Irondrake
February 25th, 2014, 01:19
I still couldn't get the debug output to work in the command line or by sending it to a file. It creates a zero length file. I stripped out all but one class (Barbarian) and parsed it. Its still showing up red, but the module is created. When I opened it up...the information is there...but compared to earlier data it just doesn't look right. Its likely I do not understand which items should be Features and which should be Abilities. I followed the example in the manual (at first I made everything Features and that just wasn't working). I'm attaching the file so you can check it out. I also ran the file back through Notepad++ and made sure to convert it to ANSI just in case I was getting some weird special characters that were hidden anywhere. I didn't see anything.

OneSidedDie
February 25th, 2014, 01:40
Found it. Take the #h; out in front of Hit Points and Proficiencies.

Those are flags the parser uses and they have to be the start of the line.

Also, I can't seem to get #abh; to do anything. I tried just:


#abh;Path of the Berserker
#ab;Fearless Rage
Blah blah

But the db.xml file does not have "Path of the Berserker" anywhere.

If anyone has already parsed the classes, how did you handle sub-classes?

Irondrake
February 25th, 2014, 05:02
Hmmm...ok. That makes some sense. I tried it, it works. Now the only thing is to get the class Paths to parse correctly and I can work on the other 9...I've tried it with #abh/#ab, with #fe, etc. I'm not sure how to get the Paths to show up correctly.

Zeus
February 25th, 2014, 07:42
For the class path elements try the following format:



...
#abh;Barbarian Paths
#ab;Path of the Berserker
You follow the berserker's way, and thrill in the chaos of battle, your wrath uncontrollable.
Concern for your own safety is lost in a red frenzy. You can work yourself into a rage so intense that it becomes a state in which you are without fear.
#b;Berserker Features
#ts;
#th;Level;Feature;
#tr;3;Fearless Rage;
#tr;6;Mindless Rage;
#tr;10;Unchecked Fury;
#tr;14;Brutal Rage;
#te;
#abf;Fearless Rage
While raging, you cannot be frightened.
#abf;Mindless Rage
Beginning at 6th level, you cannot be charmed while raging.
...

Irondrake
February 25th, 2014, 13:09
This looks good except in the class it says Abilities instead of Barbarian Paths...like its ignoring the Ability Header we want...and at the bottom of each Path screen is a header for Features with nothing under it, like the parser is expecting something different? Here's a screenshot of what I see after I format it the way you describe.

6155

Zeus
February 25th, 2014, 18:11
This looks good except in the class it says Abilities instead of Barbarian Paths...like its ignoring the Ability Header we want...and at the bottom of each Path screen is a header for Features with nothing under it, like the parser is expecting something different? Here's a screenshot of what I see after I format it the way you describe.

6155

Abilities as the heading is expected. I don't use the class specific text for the titles. #abh;text where text is the header is simply a marker to PAR5E that the following line text are abilities as opposed to class features. Subsequently all features listed after line #abh; will be associated with the last ability.

One thing, are you sure your running the latest build 499? Ability features should be listed as links as opposed to text as in your screenshot. This leads me to think that you aren't using the new #abf; tag for ability features. Can you post up your class.txt

Irondrake
February 26th, 2014, 00:06
I've verified that I'm running the latest version of PAR5E (499). I also verified that I accidentally did not refresh the module after I parsed. My bad. Its correct and the abilities are links now. Looks like its parsing correctly if the header is supposed to be Abilities.

OneSidedDie
February 26th, 2014, 00:22
I don't see an #abf; tag in the documentation. I will test it out and see if that does it.

Zeus
February 26th, 2014, 00:34
I don't see an #abf; tag in the documentation. I will test it out and see if that does it.

Pages 5-6 of the DD5E Lib User guide. Make sure your running build 499 as I introduced the #abf; tag in b499.

OneSidedDie
February 26th, 2014, 00:38
So, apparently my pdf did not update. Must of had it open when I copied over the new version. Nothing to see here. Move along.

Irondrake
February 26th, 2014, 04:26
Ok I managed to get all of the classes to parse, YAY!Skills show up double for some reason, e.g: Choose one from Skill 1, Skill 2, Skill 3 Choose one from Skill 1, Skill 2, Skill 3 is what shows up in the window...I did make sure I was using the latest PAR5E, I retagged all my classes because, well, I had them all wrong...and missed some semi-colons..and decided some tables didn't need to be defined properly...After further investigation, the second path in each class doesn't have any linked abilities. Here's the whole file.

Zeus
February 26th, 2014, 19:53
v0.0.5-b501 now available



5E classes: Fixed bug preventing classes with more than one ability from linking to correct sub features

Zeus
February 26th, 2014, 19:56
Ok I managed to get all of the classes to parse, YAY!Skills show up double for some reason, e.g: Choose one from Skill 1, Skill 2, Skill 3 Choose one from Skill 1, Skill 2, Skill 3 is what shows up in the window...I did make sure I was using the latest PAR5E, I retagged all my classes because, well, I had them all wrong...and missed some semi-colons..and decided some tables didn't need to be defined properly...After further investigation, the second path in each class doesn't have any linked abilities. Here's the whole file.

OK I think I fixed a bug causing the abilities not to link with sub features correctly, can you download b501 and test again please. As for the double skills text, try removing the line "Features" you have between the end of the Proficiencies and the start of the classes first Feature (#fe;). The line isn't needed and I suspect triggering the double entry.

Irondrake
February 27th, 2014, 00:23
I think classes are fixed! So far I have backgrounds, classes, equipment, feats, races, skills, and spells. Tomorrow I will work on some NPCs. I'm not sure what to do with magic items? They don't seem to be combineable with regular items...or useable.

OneSidedDie
February 27th, 2014, 03:20
You can edit the magic item once it is in your inventory to include damage/weight and such. The parser has no idea that, say, a Vorpal Sword is a long sword so you will have to do it manually. Parsing is still nice so that you have the references to the item's uses or special stats/functions. Now, if you parse the magic items to the campaign you can open the Items section and you will have a Magic Items tab on the bottom. These entries you can edit to pre-define some stuff. Like in the damage field you can put in "1d8 slashing" for a long sword so when you drop it into the players inventory it will set up the damage dice (see the regular equipment for examples). I have not figured out much more beyond that but you can edit the weapon in the weapons section on the combat tab so it works with some setup. Armor does not seem to change the AC at all, though. Not sure what to do with that.

Irondrake
February 27th, 2014, 04:16
Yeah I knew you could edit the items, in 4E you could combine them with normal items and it would apply the magic properties to the regular items. Was just wondering if something like that could be done here as well...and perhaps adding the other unique properties such as item origins, etc.

Zeus
February 27th, 2014, 07:53
I don't think combining mundane items with magic items is supported yet in 5E. But it can of course be added. I'll take a look this weekend.

Irondrake
February 27th, 2014, 18:45
No problem, it was just a thought :). I will start on NPCs tonight. I want to begin with the ones in Scourge of the Sword Coast, hopefully the data is consistent with the beastiary entries.

Zeus
February 27th, 2014, 20:31
I haven't tried the NPCs from Scourge of the Sword Coast yet, let me know if the formats differ and how you get on parsing.

Irondrake
February 28th, 2014, 00:20
First challenge to overcome, its a secure PDF. *mutters*

OneSidedDie
February 28th, 2014, 00:42
Have you done either the Murder in Baldur's Gate or Legacy of the Crystal Shard monsters yet? If not I can give those a whirl.

Zeus
February 28th, 2014, 00:49
@OneSidedDie: Keep persevering, its definitely doable. I'm exporting the scenario PDF to Word as we speak. Hasn't fallen over yet.

Zeus
February 28th, 2014, 00:51
Have you done either the Murder in Baldur's Gate or Legacy of the Crystal Shard monsters yet? If not I can give those a whirl.

No. I have done B2 Caves of Chaos though. Works fine. Thanks for helping, keen to get as much content covered as possible.

Irondrake
February 28th, 2014, 03:06
There seems to be a severe issue with grabbing text from the beastiary portion of Scourge. Not sure if its just my copy or if its something that happened when this file was encrypted. Most of the module is very clean, monsters are scrambled all to hell. There are some pretty significant changes to them since the playtest though, its going to be important for those running it to use the updated monsters. Going to try to OCR an image copy and see if I can get better results.

OneSidedDie
February 28th, 2014, 03:48
Just finished the regular bestiary so I knew how it is supposed to go. Very easy compared to the classes thats for sure! The Murder in Baldur's Gate and Legacy of the Crystal Shard monster blocks look like the ones in the bestiary so I do not expect any snags. Should be finished with it before Saturday night. After that I'll do the "How to Play" document as a reference manual and then start doing some of the adventures. Can't wait to run my Earthdawn group through Mines of Madness!

Zeus
February 28th, 2014, 08:18
There seems to be a severe issue with grabbing text from the beastiary portion of Scourge. Not sure if its just my copy or if its something that happened when this file was encrypted. Most of the module is very clean, monsters are scrambled all to hell. There are some pretty significant changes to them since the playtest though, its going to be important for those running it to use the updated monsters. Going to try to OCR an image copy and see if I can get better results.

I exported my PDF to MS Word and then from MS Word to plain text. Results in 90% of the text is extracted ok, there are some foreign characters scrambled in some of the trait/action lines for NPCs but from what I could see its minor cosmetic changes.

Zeus
February 28th, 2014, 08:21
Just finished the regular bestiary so I knew how it is supposed to go. Very easy compared to the classes thats for sure! The Murder in Baldur's Gate and Legacy of the Crystal Shard monster blocks look like the ones in the bestiary so I do not expect any snags. Should be finished with it before Saturday night. After that I'll do the "How to Play" document as a reference manual and then start doing some of the adventures. Can't wait to run my Earthdawn group through Mines of Madness!

You shouldn't have any issues parsing the bestiaries as the formats look identical. Same for How to Play, pretty straightforward.

Irondrake
March 1st, 2014, 04:04
I've finally started parsing the text from the Scourge of the Sword Coast beasts. Lots of reformatting to make it work. They moved Senses, Immunities, and Damage Resistances under traits. There's no XP or level values. The beasts are different enough (and some are new) that parsing it makes sense to run the module...which I am starting tomorrow for my group :)

trenth99
March 1st, 2014, 06:24
Hey Guys,

I'm a complete noob and i'm trying to use your PAR5E so that i can play DnD Next. I have it installed with Java, and i'm trying to follow the PDFs, but i'm not quite sure what to do when I actually parse.

Meaning that i just create files for the Module Source Path, Temp Path, and Output Folder (these are all just made up and on the desktop) and then I choose 5E and select all the boxed in the CMP and Ref area of Ruleset Data. Then when i parse i get a lot of incompletes and completes and the blue bar at the body next to Ready just hangs around 80%. The 5E folder I create has images and tokens folders but everything else is empty.

What am i doing wrong, and what do i need to do in order to parse my playtest . I would appreciate any help! :)

Irondrake
March 1st, 2014, 06:41
It starts with copying the text out of the PDFs into the files specified in the manual for the 5E dataset. I've found that creating the folders exactly as the program is wanting them and keeping all of the file names exactly as the document specifies works best. Once you have text copied (say for Equipment), then you have to follow the markup required in the manual. Once all of that is done, then you can parse it into a module that Fantasy Grounds with the beta 5E ruleset can read with PAR5E. The markup needs to be exactly like the examples in the manual as well (which I've very painfully found out you shouldn't deviate, even if you think you know better ;).

Zeus
March 1st, 2014, 11:56
Hey Guys,

I'm a complete noob and i'm trying to use your PAR5E so that i can play DnD Next. I have it installed with Java, and i'm trying to follow the PDFs, but i'm not quite sure what to do when I actually parse.

Meaning that i just create files for the Module Source Path, Temp Path, and Output Folder (these are all just made up and on the desktop) and then I choose 5E and select all the boxed in the CMP and Ref area of Ruleset Data. Then when i parse i get a lot of incompletes and completes and the blue bar at the body next to Ready just hangs around 80%. The 5E folder I create has images and tokens folders but everything else is empty.

What am i doing wrong, and what do i need to do in order to parse my playtest . I would appreciate any help! :)

The parser is a tool for bulk importing data into FantasyGrounds. From what you have described you haven't created your source data files, text files containing your 5E content that you want to parse (convert) into a module for FG.

I have included user documentation along with the tools. Make sure you read both the User Guide and the DD5E Lib User Guide, the first explains how to install and use the tool. The second describes the format the data in the text files needs to be in for PAR5E to work properly.

I suggest parsing one data item at a time until you become more familiar with the tool and the parsing process,. Untick all the data items in PAR5E except for NPCs. Make sure the npcs.txt file in your module path/input subfolder contains all the NPCs you want to import and try again. If you still hit problems, post up a screenshot or two of the errors your seeing.

Zeus
March 1st, 2014, 12:00
I've finally started parsing the text from the Scourge of the Sword Coast beasts. Lots of reformatting to make it work. They moved Senses, Immunities, and Damage Resistances under traits. There's no XP or level values. The beasts are different enough (and some are new) that parsing it makes sense to run the module...which I am starting tomorrow for my group :)

I'll have a look see tomorrow afternoon, I'll see if I can add in support for the dual formats.

OneSidedDie
March 1st, 2014, 12:41
From what I understand is that they are using a goal based leveling system in Scourge of the Sword Coast. Complete the first story goal, level 2. Second story goal, level 3. Unfortunately that doesn't help us seeing XP reward is how you build a balanced encounter.

trenth99
March 1st, 2014, 13:50
The parser is a tool for bulk importing data into FantasyGrounds. From what you have described you haven't created your source data files, text files containing your 5E content that you want to parse (convert) into a module for FG.

I have included user documentation along with the tools. Make sure you read both the User Guide and the DD5E Lib User Guide, the first explains how to install and use the tool. The second describes the format the data in the text files needs to be in for PAR5E to work properly.

I suggest parsing one data item at a time until you become more familiar with the tool and the parsing process,. Untick all the data items in PAR5E except for NPCs. Make sure the npcs.txt file in your module path/input subfolder contains all the NPCs you want to import and try again. If you still hit problems, post up a screenshot or two of the errors your seeing.




is there a specific way one should actually set-up their folders in advance? And then just place the specific source files in whatever the source folder has been designated as?
I appreciate the help, and i'll be able to go through and make the appropriate mark-up, just curious though how most people set-up their folders :).

OneSidedDie
March 1st, 2014, 14:14
I just created an input folder in the PAR5E-windows folder that I extracted the parser to. Then i created all of the txt files labeled exactly as it defaults to in the parser (backgrounds.txt, class.txt, etc.) inside the input folder. I then created the tokens and images folders in there too. I figured I would set up all of them so if I wanted to use them I would have them available. You can really put the temp path anywhere (I created a seperate temp folder in the PAR5E-windows folder). Thumbnail is optional, I extracted the 5E logo from the ruleset and used that. Finally I set my output folder to my fantasy grounds module folder so I would not have to manually drag the file over each time i re-parsed.

I think this is the easiest way for just parsing the base rules. I would probably set up each adventure with it's own set of folders and export them as a campaign so i could load them separately to keep it better organized.

Zeus
March 1st, 2014, 14:50
Here's the structure I use:

5E PlayTest Packet/
5E PlayTest Packet/thumbnail.png
5E PlayTest Packet/input
5E PlayTest Packet/input/backgrounds.txt
5E PlayTest Packet/input/class.txt
5E PlayTest Packet/input/encounters.txt
5E PlayTest Packet/input/equipment.txt
5E PlayTest Packet/input/ ...
5E PlayTest Packet/input/images
5E PlayTest Packet/input/images/image1.jpg
5E PlayTest Packet/input/images/image2.jpg
5E PlayTest Packet/input/images/ ...
5E PlayTest Packet/input/tokens
5E PlayTest Packet/input/tokens/token1.png
5E PlayTest Packet/input/tokens/token2.png
5E PlayTest Packet/input/tokens/ ...
5E PlayTest Packet/input/output

I then set:

Module Path = 5E PlayTest Packet/
Thumbnail Path = 5E PlayTest Packet/thumbnail.png
Temp Path = 5E PlayTest Packet/output
Output Path = path to FG AppData/modules

Finally I tend to save the PAR5E .properties file for each module in the root of the module path i.e. 5E PlayTest Packet/config.properties

Irondrake
March 1st, 2014, 18:15
I added a level to each creature and set the XP value to most of them to 0. It allowed them to parse. A lot of these creatures have an APPEARANCE section that has nowhere to go in the ruleset. It shows up under the last action. It would also be nice to be able to add the spells to the NPCs. Right now I have them showing up in Actions as a list of spells, but nothing useable in the combat tracker...or should they have parsed into useable actions?

OneSidedDie
March 1st, 2014, 18:48
The Murder in Baldur's Gate and Legacy of the Crystal Shard monsters were extremely easy to parse. They copy and paste into notepad++ with few adjustments necessary. I had to put a space between the entries, clear out the page numbers and then capitalize the TRAITS, ACTIONS, REACTIONS, and ENCOUNTER BUILDING headers and it worked pretty well. I also wiped out the return (\r) characters and put each power, trait, action on it's own line for cleanliness. I do notice that the REACTIONS do not show up in the ruleset interface but they are in the db.xml file so I assume this is just the ruleset not set to show them.

Zeus
March 1st, 2014, 18:56
I added a level to each creature and set the XP value to most of them to 0. It allowed them to parse. A lot of these creatures have an APPEARANCE section that has nowhere to go in the ruleset. It shows up under the last action. It would also be nice to be able to add the spells to the NPCs. Right now I have them showing up in Actions as a list of spells, but nothing useable in the combat tracker...or should they have parsed into useable actions?

The original data packets didn't include appearance information so these are not included at present; I have some time tomorrow afternoon to look at updates for appearance, I'll also take a look at the new NPC traits/action format. Currently undecided as to whether its worthwhile adapting the current NPC parse routine now or wait for the official 5E release. Hmmm. I do like the new format, over the one used in the play test packets, its more logical.

At the moment, PAR5E will treat Spells for NPCs as regular text, again something I will look at tomorrow. I'm thinking I could link spells to spell data in the module, however this would mean spell data would also have to be parsed, an approach that could get messy for adventure modules. I'm thinking it might be best for me to first finish up a new feature I'm dubbing 'The Archive' first - its essentially a persistent database of parsed content allowing users to link to data when creating new modules. Essentially when you PAR5E data, PAR5E will offer an option to export to The Archive along with the regular campaign and reference module output options. This will allow you to parse content once but be able to reference it in future modules, again and again. When create a new a new module, the data in The Archive is available for reference and included in the output if linked to. PAR5E will support output of all data items with maybe the exception of Story and Reference Manual text. What do you think, useful?

Irondrake
March 1st, 2014, 20:03
That sounds very useful! I also like the new format, I just wish they had given us some XP values and levels for these Scourge beasts. I have my NPCs in a seperate module from my spells, but I wouldn't mind including spells with them if it could link them up all nice and tidy :)

Zeus
March 1st, 2014, 20:24
Yeah I think it will prove quite useful as it will allow you to quickly compile very focused and customised modules perfect for supporting weekly encounter sessions.

trenth99
March 1st, 2014, 22:19
Here's the structure I use:

5E PlayTest Packet/
5E PlayTest Packet/thumbnail.png
5E PlayTest Packet/input
5E PlayTest Packet/input/backgrounds.txt
5E PlayTest Packet/input/class.txt
5E PlayTest Packet/input/encounters.txt
5E PlayTest Packet/input/equipment.txt
5E PlayTest Packet/input/ ...
5E PlayTest Packet/input/images
5E PlayTest Packet/input/images/image1.jpg
5E PlayTest Packet/input/images/image2.jpg
5E PlayTest Packet/input/images/ ...
5E PlayTest Packet/input/tokens
5E PlayTest Packet/input/tokens/token1.png
5E PlayTest Packet/input/tokens/token2.png
5E PlayTest Packet/input/tokens/ ...
5E PlayTest Packet/input/output

I then set:

Module Path = 5E PlayTest Packet/
Thumbnail Path = 5E PlayTest Packet/thumbnail.png
Temp Path = 5E PlayTest Packet/output
Output Path = path to FG AppData/modules

Finally I tend to save the PAR5E .properties file for each module in the root of the module path i.e. 5E PlayTest Packet/config.properties

Thank you so much! I have no set up that and created a "backgrounds.txt" just right inside the Playtest folder. I then added one background to it and tried to PAR5E as a test. What I end up getting is an "Invalid path" for backgrounds during parsing. Any suggestions?

Zeus
March 1st, 2014, 23:07
Thank you so much! I have no set up that and created a "backgrounds.txt" just right inside the Playtest folder. I then added one background to it and tried to PAR5E as a test. What I end up getting is an "Invalid path" for backgrounds during parsing. Any suggestions?

As per the User Guide and my working example above, PAR5E will look for input files in the Module Source Path/input folder by default. Create a folder called input inside your Playtest folder and move backgrounds.txt into it. Try again.

OneSidedDie
March 8th, 2014, 13:35
For parcels, is there a way to have the items link to items in the reference library?

Zeus
March 8th, 2014, 17:30
Parcel item database nodes are stored locally to the parcel object in the CoreRPG rulesets, so you can include reference items such as reference magic items or equipment as standard but a whole copy of the reference item is copied not just linked. Linking to objects can be supported if the ruleset Parcel window class is updated accordingly.

Moon Wizard
March 8th, 2014, 18:18
A lot of records used to only link to the reference modules, but have moved to record copies instead for greater flexibility in record customization.

Regards,
JPG

OneSidedDie
March 11th, 2014, 03:20
I was getting errors when i parsed some image pins when I clicked on them in the map. I manually added some pins to another map and I checked the moduledb folder to see how it was saving them and it seems some of the record names are not matching.

Story record windowclass name is "encounter"
Encounter record windowclass name is "battle"

Verified this with a /openwindow encounter

Zeus
March 13th, 2014, 13:08
New updated v0.0.6-b1 version available (see post 1 for link):

v0.0.6-b1



CoreRPG imagepins: Fixed a bug with class and recordname references linking to incorrect database nodes
Engine: Added new Archive feature enabling ruleset libraries to offer persistent storage of data items between parser runs (see User guide for more information).
GUI: Added new Tab for Archive configuration, data display and data manipuation.
5E: Added Archive support for MagicItems and NPCs
CoreRPG: Added Archive support for MagicItems and NPCs


v0.0.6 introduces new persistent database storage for parsed items I have dubbed 'Archive'. Supporting libraries can now offer an option on the Config tab to export parsed content into a object database which can then be later used as a reference store of previously parsed items (handy for when building adventure modules). 5E and CoreRPG libraries have been updated to support the new Archive feature, at present NPCs and MagicItems data items are supported. In addition to the new controls on the Config tab, v0.0.6 introduces a new tab called Archive. The Archive tab provides configuration controls (path to archive database) along with controls to view a list of archive data (magic items or npcs). The tab is split broadly in to two groups: archive data (left) and data to be imported to module (right). Users can select data from the archive data list and either copy it to the right (for inclusion in module) or delete it. Users can select data from the data to be imported into module list and delete it.

Archives can hold data items of differing types, even multiple libraries can use a single archive to store their data. The archive is a DB4O (https://www.db4o.com/) database and can be used by other app/tools.

In summary to add content to an archive:

1. Follow the regular steps to select a Ruleset Lib, data items and setup the module configuration on the Config Tab.
2. Switch to the new Archive tab, ensure you have a path set for the archive database file: default path is PAR5E folder/archive.db4o (archive files which do not exist will be created)
3. Ensure at least 1 data item on the Config Tab is set to output to Arch
4. Click the Parse button

To view/manipulate archive data or import archive data for inclusion in the next parse run:

1. Follow the regular steps to select a Ruleset Lib, data items and setup the module configuration on the Config Tab;
2. Switch to the new Archive tab, ensure you have a path set for the archive database file: default path is PAR5E folder/archive.db4o
3. Select the Data to view from the pull down list (currently 5E and CoreRPG support NPCs and MagicItems)
4. In the Archive Data list view select the items you wish to include in the next Parse run. (Hold shift to select multiple contiguously listed entries, Hold Cntrl (Mac: Cmd) to select multiple non-contigously listed entries.
5. Ensure Copy is selected in the action pull down menu and click Copy.

The select items should now appear in the data to be included in module list view (right). You can repeat the process as many times as you like. Once a Parse action starts, the contents of the data to be included in module list will be included in the parsed module output.

For modules whereby no npcs.txt or magicitems.txt will be used during the Pare run but instead data will be imported from an archive, to include data from the archive simply omit a path for the data item file but ensure either Cmp or Ref (or both) are still checked.

OneSidedDie
March 14th, 2014, 02:02
v0.0.6-b1 doesn't seem to be opening for me. Splash screen hangs around for a few minutes and disappears. javaw.exe hangs out in memory.

Windows 7 x64
JRE 1.7.0_51

Zeus
March 14th, 2014, 08:55
v0.0.6-b1 doesn't seem to be opening for me. Splash screen hangs around for a few minutes and disappears. javaw.exe hangs out in memory.

Windows 7 x64
JRE 1.7.0_51

I just tried v0.0.6-b1 running on a Windows 7 64bit VM, to see if I could recreate the problem my end, no joy, PAR5E opens for me every time. Have you tried launching from a command line to see if any errors are output? Maybe also try re-dwonloading v0.0.6-b1 in case of corrupted download issue. Failing that, maybe try a quick reboot, just in case Java is misbehaving.

Let me know how you get on. Same goes for other users, please let me know if you have any similar problems.

Irondrake
March 14th, 2014, 13:40
I was able to dump my NPCs into the Archive and then recreate a beastiary from it. Looks like a very handy tool! Is there a way to pull just specific references from the archive yet? Say I want to compile a module with just 10 or so monsters from everything I've compiled into the archive? I had no trouble opening the application on Windows 8.1 Pro.

OneSidedDie
March 14th, 2014, 13:59
Problem must be me then (isn't it usually?). I downloaded the file a 2nd time and restarted to no avail. I will try to see if the command line gives me any hints when I get home tonight. Maybe even reinstall java.

Zeus
March 14th, 2014, 18:11
I was able to dump my NPCs into the Archive and then recreate a beastiary from it. Looks like a very handy tool! Is there a way to pull just specific references from the archive yet? Say I want to compile a module with just 10 or so monsters from everything I've compiled into the archive? I had no trouble opening the application on Windows 8.1 Pro.

Great good to know its working on Windows 8. As for selectively including monsters, yes, just select (hold down Ctrl on Windows) all the entries you want to include, set the action to Copy and click Apply. This should result in the select entries being displayed in the module list (right side of tab). PAR5E does not limit you to copying all entries. You can even import data from multiple archive files if you really want to.

Zeus
March 14th, 2014, 18:24
Problem must be me then (isn't it usually?). I downloaded the file a 2nd time and restarted to no avail. I will try to see if the command line gives me any hints when I get home tonight. Maybe even reinstall java.

Well this is still in early alpha stages of development and if I am honest there are still areas of the tool + docs that need improving to make things easier to understand. So until then I'll forgive you, if you'll forgive me. ;) Having said, the only significant differences between v0.0.5-b501 and v0.0.6-b1 is the inclusion of the db4o library and routines (both of which are bundled in the base tool), so unless your system has a problem loading this particular library I think the problem likely lies elsewhere. Sometimes a good old reboot is enough to clear 90% of Windows platform problems. Has anything changed on your system since you installed and run v0.0.5-b501? System updates maybe?

Starting from the command line should reveal more information. Failing that, you can also try downloading the Linux version. Its just the same PAR5E engine but compiled into .JAR file. You can launch it by entering the following command


64bit Java: C:\Program Files\Java\jre\bin\java -jar <path to PAR5E folder>\PAR5E.jar
32bit Java: C:\Program Files (x86)\Java\jre\bin\java -jar <path to PAR5E folder>\PAR5E.jar

If that works but the Windows .exe version doesn't then it may point to a Windows 7 compatibility issue with the framework I am using to compile the .exe (launch4j), however I don't think this will be the case as I have already successfully tested v0.0.6-b1 on Windows 7 64bit.

Let me know how you get on.

OneSidedDie
March 14th, 2014, 23:05
Found the problem. My security software (COMODO) decided that the exe creating the db4o file was bad enough to block but apparently not bad enough to tell me about it. Found it in my security logs and allowed the action, now we are good.

Opinions forthcoming!

Zeus
March 14th, 2014, 23:36
Found the problem. My security software (COMODO) decided that the exe creating the db4o file was bad enough to block but apparently not bad enough to tell me about it. Found it in my security logs and allowed the action, now we are good.

Opinions forthcoming!

Great, glad you resolved the issue.

OneSidedDie
March 15th, 2014, 02:38
imagepins still doesn't seem to be working right. The first shortcut below is the one par5ed in and the second one is one I just dropped from the story onto the map. First one is missing the "encounter." in the front of the record name.


<shortcut>
<x>626</x>
<y>1052</y>
<class>encounter</class>
<recordname>enc_64_cell@5E - Caves of Chaos</recordname>
</shortcut>
<shortcut>
<x>1667</x>
<y>861</y>
<class>encounter</class>
<recordname>encounter.enc_64_cell@5E - Caves of Chaos</recordname>
</shortcut>


The encounter records also seem to be missing the "battle." in the front of the record name too.

Zeus
March 15th, 2014, 10:30
imagepins still doesn't seem to be working right. The first shortcut below is the one par5ed in and the second one is one I just dropped from the story onto the map. First one is missing the "encounter." in the front of the record name.


<shortcut>
<x>626</x>
<y>1052</y>
<class>encounter</class>
<recordname>enc_64_cell@5E - Caves of Chaos</recordname>
</shortcut>
<shortcut>
<x>1667</x>
<y>861</y>
<class>encounter</class>
<recordname>encounter.enc_64_cell@5E - Caves of Chaos</recordname>
</shortcut>


The encounter records also seem to be missing the "battle." in the front of the record name too.

Dammit. I thought I had nailed that one. My bad, I'll correct in the next update.

EDIT: ok, just uploaded v0.0.6-b2 which should fix the issue, only problem is I don't have access to FG at the moment to test. Hopefully its squashed but let me know if its still not linking correctly.

OneSidedDie
March 18th, 2014, 13:18
Sorry I have not had time to fully test this one yet. What I will do when I get time is set up some test files that will cover every combination of data, zlinks, formatting, etc. I will use non-playtest data so I can upload it to the forums to make it easier for everyone to test with. May take a few days.

Zeus
March 24th, 2014, 12:28
Just made a quick update to the 5E lib to better support drop handling of Class Features and Ability Features to Character sheets. v0.0.6-b7 now auto parses Feature/Ability text for level information, if present the level information is used to set the level of the Feature/Ability for drop handling. If not specified, users can now also specify level overrides for Class Features and Ability Features. Specifying multiple levels (separated by commas) for a Class Feature or Ability Feature will result in multiple linked entries being created, one for each level.


##;{Name of Class}\n
[{Descriptive FormattedText Line}\n]
Class Features
[{class features text}\n]
Proficiencies\n
[{class proficiencies text}\n]
[#fe;{Name of Feature};[{level},]
[{Feature Text Line}\n]]
#abh;{Name of Class Abilities}
[#ab;{Name of Ability}
[{Ability Text Line}\n]]
[#abf;{Name of Ability Feature};[{level},]
[{Ability FeatureText Line}\n]]

e.g.


##;Blood Mage
A blood mage relies on an arcane ...
#h;Creating a Blood Mage
You can make a blood mage quickly ...
Background: Scholar
Equipment: Scrollcase, Spellbook
#h;The Blood Mage
#ts;
#th;Level;Proficiency Bonus; Class Features;Spells;Blood Damage;
#tr;1;+1;Blood Rage;2;+2;
#tr;2;+1;Blood Instinct, Reckless Attack;2;+2;
#tr;3;+2;Blood Mage Path;3;+2;
..
#te;
#h;Class Features
As a Blood Mage, you gain ...
Hit Points
Hit Dice: 1d10 per Blood Mage Level
Hit Points at 1st Level: ...
Hit Points at Higher Levels: ...
Proficiencies
Armor: ...
Weapons: ...
Tools: ...
Saving Throws: ...
Skills: ...
#fe;Ability Score Improvement;4,9,12,16,19
At certain levels you …
#fe;Magic Expertise;3
Your arcane knowledge and skill ...
Benefit: You gain ...
#fe;Magic Absorption;3
Your exposure ...
Benefit: You gain ...
#abh;Pysch Abilities
#ab;Psych Warrior Path
When you are hit ...
#abf;Psych Blast;4
...
#abf;Force of Will
...
#ab;Healers Path
As an action ...
...
#abf;Soul Touch
...


The change was requested by JPG to better support the drop handling he's optimising in 5E.

Irondrake
March 25th, 2014, 00:13
Nice addition, going to give it a shot!

Tel Arin
April 5th, 2014, 17:58
Hi

I have tried over and over again and Im not able to create a single module. I've tried about 50 times and Im not able to create a simple module spells.

Do you could make a video tutorial of how the parser works?
I dont know which is my problem. I think I do everything correctly, but the program never gets to create the module. And db.xml are always empty. Im tired of try.

PS: Tomorrow I have a game in my Ghosts of the Dragonspear castle campaign, and I need (if posible) a spell module (a cleric, a druid, a mage and a Paladin, many spellcasters in the party Y_Y), ar least. Someone could send me private the spells module?

Ty.

Zeus
April 5th, 2014, 18:33
Hi

I have tried over and over again and Im not able to create a single module. I've tried about 50 times and Im not able to create a simple module spells.

Do you could make a video tutorial of how the parser works?
I dont know which is my problem. I think I do everything correctly, but the program never gets to create the module. And db.xml are always empty. Im tired of try.

PS: Tomorrow I have a game in my Ghosts of the Dragonspear castle campaign, and I need (if posible) a spell module (a cleric, a druid, a mage and a Paladin, many spellcasters in the party Y_Y), ar least. Someone could send me private the spells module?

Ty.

TelArin. Let see if we can help you get started.

Have you read the user guide and the 5E library guide documents?
Can you provide a little more info on the messages you see in the console output.
Also, can you post up the first 2-3 spells from your spells.txt file.

Tel Arin
April 5th, 2014, 19:50
Thank you Zeus.

I have a lot of problems, I start by the most common. Most of the time this happens to me:

https://es.tinypic.com/r/2zpo87m/8

the bar is not going beyond READY. Stops

I tested with another user of this forum, and he also happened to him this many times. Only one difference, his bar got to the end sometimes.

In my case I failed you create the module, I've always had to go to TEMP folder to access the definition.xml and db.xml. I dont know to do, maybe is a problem of my Java, i tried to reinstall many times. Nothing works.



##;
Aid
2nd level abjuration
Casting Time: 1 action
Range: 25 feet
Duration: 8 hours
Your prayer calls down a divine blessing of toughness and resolve. Choose up to three creatures within range that are not currently affected by this spell. Each targetfs hit point maximum and current hit points increase by 5 for the duration. This spell has no effect upon undead or constructs.

##;
Air Walk
4th level transmutation
Casting Time: 1 action
Range: 5 feet Duration: Concentration, up to 1 hour
Choose a willing creature within range. Until the spell ends, the target can tread on air as if walking on solid ground. The target can move upward or downward at a 45 degree angle at half its speed. Treat strong winds (twenty miles per hour or more) as difficult terrain. If the spell ends while the target is airborne, it falls if this spell is the only thing keeping it aloft. At Higher Levels: When you cast this spell using a spell slot of 5th level or higher, you can add one target for each level above 4th.

##;
Alarm
1st level abjuration (ritual)
Casting Time: 1 minute
Range: 25 feet
Duration: 8 hours
Choose a door, a window, or an area within range that is no larger than a 20 foot cube. Until the spell ends, an alarm alerts you whenever a Tiny or larger creature touches or enters the warded area. When you cast the spell, you can designate creatures that wonft set off the alarm. Also, choose whether the alarm is mental or audible. A mental alarm alerts you with a psychic ping if you are within 1 mile of the warded area. This ping awakens you from sleep. An audible alarm produces the sound of a hand bell for 10 seconds. Anyone within 50 feet of the warded area can hear the bell. Reduce the distance by 10 feet for each interposing closed door and by 20 feet for each interposing wall. Material Components: A tiny bell and a piece of fine silver wire.

I acknowledge that I have little idea of code (I used the method of trial and error).

Ty

Zeus
April 5th, 2014, 22:49
OK. Can you post up a screenshot of the config tab or save the config and post it here.

Also, the format your using in spells.txt doesn't look correct to me. The beginning of spells.txt should begin with an index

e.g.


#@;
Bard Spells

Cantrips
Dancing Lights
Light
Mage Hand
Mending
Message
Minor Illusion
Prestidigitation
Read Magic

Level 1 Spells
Animal Friendship
Cause Fear
...

Cleric Spells

Cantrips
...

After the index you then only need one instance of ##; to indicate the start of the spell descriptions. e.g.


##;
Aid
2nd-level abjuration
Casting Time: 1 action
Range: 25 feet
Duration: 8 hours
Your prayer calls down a divine blessing of toughness and ...


Air Walk
4th-level transmutation
Casting Time: 1 action
Range: 5 feet
Duration: Concentration, up to 1 hour
Choose a willing creature within range ...
#ip;At Higher Levels: When you cast this ...


Alarm
1st-level abjuration (ritual)
Casting Time: 1 minute
Range: 25 feet
Duration: 8 hours
Choose a door, a window, or an area ...


Animal Friendship
1st-level enchantment
Casting Time: 1 action
Range: 25 feet
Duration: 24 hours
This spell lets you show an animal or ...

Tel Arin
April 6th, 2014, 15:32
OK. I repaired the spells.txt

All green in the console, but no works. It stops in "READY" and the .mod is not generated

https://es.tinypic.com/r/2jfah4w/8

https://es.tinypic.com/r/wcmpsi/8

The spells.txt --> https://docs.google.com/file/d/0B1UXRAEbiuvwQmFSeWROOXB3VzQ/edit?usp=sharing

I dont know what to do.

Irondrake
April 8th, 2014, 13:38
I'm not sure, I note you have some bullets in your text file instead of converting them to the formatted text that the parser supports. Maybe that is throwing it off. You may also want to check for invalid characters. That was messing me up. I was using NotePad++ to create my input files. When I copied from PDF into NotePad++ it was creating a lot of badly formatted text. A space would turn out to be 5 spaces, but it didn't look off until I did a search and replace for it.