PDA

View Full Version : Library Module Maker



saithan
April 4th, 2011, 03:54
ok this is the first release of a simple but effective tool.
I posted once in the gurps forums but now it will handle making other library modules.

mods (for gurps_4enhanced and oberotens mod storage ext)
referencetext
referenceindex
referencetextwide


Please let me know if you would like other references supported.

for basic info view this thread:
https://www.fantasygrounds.com/forums/showpost.php?p=106239&postcount=1

demonsbane
April 4th, 2011, 04:32
ok this is the first release of a simple but effective tool.
I posted once in the gurps forums but now it will handle making other library modules. (. . .)

Cool!

Even if the app isn't resizeable ATM -and I understand that handling tables would be asking too much-, this is what I was asking to SmiteWorks: (https://www.fantasygrounds.com/forums/showpost.php?p=105223&postcount=225) a sensible way of ease the creation of FG2 Library content... and here is it from saithan's hands.

Thank you. The app works great!

Stitched
April 4th, 2011, 09:26
Except that it's super specific...?



Cool!

Even if the app isn't resizeable ATM -and I understand that handling tables would be asking too much-, this is what I was asking to SmiteWorks: (https://www.fantasygrounds.com/forums/showpost.php?p=105223&postcount=225) a sensible way of ease the creation of FG2 Library content... and here is it from saithan's hands.

Thank you. The app works great!

saithan
April 4th, 2011, 11:41
at the time video was made the video it was specific. Now however it makes libraries for the references listed above.

it now supports making libraries for the following as well as gurps specific mods
referencetext
referenceindex
referencetextwide

but I will ask this again from those interested.

If your ruleset uses different library references and you want it supported let me know either here or message.

Zeus
April 4th, 2011, 12:01
saithan - nice work.

I had been thinking about writing such a tool myself as all my current tools are keyed to the 4E ruleset and a few people have requested tools like this for other rulesets.

I was planning to sit down later this week to begin pulling the tool together having written some small prototype routines last week which can read any ruleset's XML files to **learn** rulesets specific class definitions.

The routines are simple enough in principal, one to loop through the app data/rulesets folder reading all the XML files for each ruleset and storing all the definitions in internal memory structures and then a second to create a Windows form with appropriate fields based upon the XML definitions for the class for data entry. The intention being to release a tool that could work with any ruleset without the need to hardcode specific support.

Now that you have your tool released though, I'll put this to the back of the priority list as I have several other projects which I'd like to also do.

Keep up the good work and have some rep.

DrZ.

demonsbane
April 4th, 2011, 17:41
Except that it's super specific...?

What saithan said. The only thing that is specific here, are the entries for Modifiers, which are linked to a feature that ATM only the GURPS 4e ruleset (enhanced) (https://enhanced.vlexofree.com/) is using, and Oberoten.

Instead, referencetext entries, referencetextwide entries and referenceindex entries... these are common and useable for any ruleset (or most of them). Like the specifications for making a common.xml file, a client.xml file or a db.xml file for your library module. The same about the formatting buttons for the <p>, <b> and <i> tags (line-paragraph, bold letters, italic letters). I can't see anything specific here ;)

Nonetheless, if anyone feels himself a bit lost with these references, please check this invaluable asset by SoulOfTheReaver: The Module Making Manual v 1.2 (https://es.scribd.com/doc/52253537)

Oberoten
April 4th, 2011, 17:41
at the time video was made the video it was specific. Now however it makes libraries for the references listed above.

it now supports making libraries for the following as well as gurps specific mods
referencetext
referenceindex
referencetextwide

but I will ask this again from those interested.

If your ruleset uses different library references and you want it supported let me know either here or message.


Two things : Use the class mod or modsmall and it'll go directly even to the older versions of the modcollector.

... and if you increase the range of bonuses to include even 5's over 10 (15, 20, 25, 30, 35) it'd become really useful for Warhammer and other % based gamed.

- Obe

saithan
April 4th, 2011, 22:54
you can type into the bunus area any value you like

saithan
April 15th, 2011, 02:40
A lot of work has been done to make this tool far more universal.
there is still work to do but it is well enough to make a new release this weekend maybe.

but here is a sneak peek:
https://www.livestream.com/vttrpgs/video?clipId=flv_af54aea2-1c84-4f00-8313-f2f355e92e23
please feel free to share your thoughts

demonsbane
April 15th, 2011, 18:23
I'm using it right now for making Library content for my Fantasy Grounds 2 setup.

Just two words:

GREAT APPLICATION!

demonsbane
April 15th, 2011, 18:38
BTW, speaking of the Library Module Maker app, I wrote a post in the GURPS 4Enhanced sit (https://enhanced.vlexofree.com/)e for encouraging the creation of FG2 Library content:

https://enhanced.vlexofree.com/index.php?option=com_joobb&view=topic&topic=15&Itemid=59

There are some of the screenshots:

https://dl.dropbox.com/u/12554407/jpg%20Screenshot%20-%2002_04_2011%20%2C%2017_36_55.jpg


https://dl.dropbox.com/u/12554407/F2%20GURPS%20Content%20-%20player%27s%20view.jpg


https://dl.dropbox.com/u/12554407/GURPS%20FG2%20Library%20Modules.jpg (this one shows a module that I dind't make, however)


https://dl.dropbox.com/u/12554407/General%20Magic%20Mod%20%28in%20progress%29.jpg


https://dl.dropbox.com/u/12554407/current%20FG2%20Lib%20entries%20for%20G-GM%27sScreen.jpg


I'd like to see, too, what people using other rulesets other than GURPS thinks about an app that definitely eases -for saying the least- the creation of any FG2 library content.

demonsbane
April 15th, 2011, 19:06
( . . . ) please feel free to share your thoughts

A minor thing:

The implementation of buttons for a quick use of common text-formatting tags is great and surpasses all XML editors that I know so far (even if XML Copy Editor is good enough for me and it lacks of this feature).

But, what do you think about a <li> </li> tag button? Lists are important in a number of Library entries.

https://dl.dropbox.com/u/12554407/LMM%20buttons.jpg

saithan
April 15th, 2011, 19:34
I can add that, doing so now!

Zeus
April 16th, 2011, 00:32
Nice work Saithan. Another suggestion, you might also want to include: <frame>, <frameid> and <referencelink> tags as well.

This way users can embed read aloud text or reference links within the formatted text.

saithan
April 16th, 2011, 01:25
another good idea, adding now!

saithan
April 16th, 2011, 05:02
The next test version is posted. try it out and let me know what you think.
added requested quick tag buttons <li>,<frame>,<frameid>,<referencelink> .
added record,play, save,load Macros (later I may post various macros for common tasks and needs).

also for those extra large projects- you can now save your work into a lmm project file to reopen another time.
various other bug fixes added and much much more geared towards being a universal solution to your fantasy grounds II xml/module needs.
hope the community find this to be of use.

download at:
https://enhanced.vlexofree.com/

in the downloads- accessories section of the site.

demonsbane
April 16th, 2011, 07:20
I already did a "large" module!

All those buttons are there and it's working fine. The implementation of save/load project, between other many things, is one of the important features that allow the user to work in large library projects. The load macros capability is very good, too, for using and displaying the proper NPCs and Items' "templates" of different rulesets, and besides it has other uses. And I almost forget to mention the Tables creation capability: so useful...!

I just made these two library modules with the app. The workflow is much more quicker now!


https://dl.dropbox.com/u/12554407/GURPS%20Chases.jpg

What I need is to merge both modules into one by linking them, but that is another story . . .

MisterAmazing
April 16th, 2011, 21:33
This is... Beautiful... I would like you to be my significant other but our love could never be. I hope you accept my thanks instead for this wondrous gift.

saithan
April 17th, 2011, 00:07
though i have a better half, thanks for the kind words!

MisterAmazing
April 17th, 2011, 05:51
So do I. Thusly why our love could never be my friend. :(

Roncorps
May 10th, 2011, 20:25
I know what I'm about to say may sound stupid, but if I read the whole thing as it may seem to be how it's work, your saying that I can rapidly create any library module, like the D20 modules (let say, monster manual) ? So if I want to create new library modules, like 7th Sea, Shadowrun 3.5, etc. I can with your product without being a pro at xml editing ?

saithan
May 11th, 2011, 00:13
you do not need to be a pro with xml, however you will need to understand library creation and the references used by the ruleset you are making libraries for.

Roncorps
May 11th, 2011, 00:16
Ok, so if I know what tag are what (like list, reference, etc.), I can easely do it. So a basic comprehension and it's a go :)

saithan
May 11th, 2011, 00:19
yes, also I frequent the FG chat and am always willing to help!

phantomwhale
May 11th, 2011, 00:33
I'm really gonna have to take a look at this, when I've got more time ! Having just churned out 30,000 lines of XML for the Deadlands extension, I can see the benefit of a library editor now :)

El Condoro
May 12th, 2011, 07:51
I must be getting old because this isn't intuitive for me. :o

I want to create a library of house rules to be included in any campaign that I use (as a GM but also for players).

How do I do it?

I think the thing that is confusing me is the classes, especially the reference... ones, and what they are used for.

I have looked at an early instruction video and it all seemed so easy but I am stuck.

Cheers

[Edit] The module needs to be a 4e one. The default RuleSet is GURPS_4e. Do I need to change that to something else to show in a 4e campaign or doesn't it matter? If so, what do I change it to?
Is there a manual or other documentation on this app?

[Edit] It seems the RuleSet field is important - I changed it to 4E (not 4e) and was able to get the Module Maker to work for me. Some instructions would still be helpful if they're available.Cheers

demonsbane
May 12th, 2011, 22:36
I must be getting old because this isn't intuitive for me. :o

Regardless your age, in these days of WYSIWYG editing applications, making modules for Fantasy Grounds 2 is not intuitive.

Now, once you have seen the procedure, it isn't specially difficult.

If you are copy-pasting from some official gaming PDF, formatting the text (assigning bold, italics, headers), fixing the broken line breaks, removing the special-troublesome characters (", - , ' and some others) is where most of the real work is needed -specially with this app, which frees the user of a meaningful part of proper XML handling . . . but then there are the Tables, whose <td> </td> fields still require even more tiresome work for filling.

This happens regardless you are using the Library Module Maker application or an XML editor, and regardless you know a lot of XML or not.

Directly typing new stuff -instead copy-pasting content from other documents- can be a bit more agreeable to do, because you don't need to fix lots of broken line breaks nor to remove/substitute special characters, legacy of incompatible encodings.


I want to create a library of house rules to be included in any campaign that I use (as a GM but also for players).

How do I do it?


A module contains two XML files, and usually a thumbnail file too (a PNG).

A FG2 mod shared between the GM and his players will have:

common.xml
reference.xml
thumbnail.png

A module only for players, previously installed in their computers before of the game session will have:

client.xml
reference.xml
thumbnail.png


A FG2 mod only accessible for the GM will be:

db.xml
reference.xml
thumbnail.png


I think the thing that is confusing me is the classes, especially the reference... ones, and what they are used for.

I have looked at an early instruction video and it all seemed so easy but I am stuck.

Cheers

[Edit] The module needs to be a 4e one. The default RuleSet is GURPS_4e. Do I need to change that to something else to show in a 4e campaign or doesn't it matter? If so, what do I change it to?
Is there a manual or other documentation on this app?

[Edit] It seems the RuleSet field is important - I changed it to 4E (not 4e) and was able to get the Module Maker to work for me. Some instructions would still be helpful if they're available. Cheers

I don't know what video you saw, nor which was the ruleset.

Anyway, a good start is to read the aforementioned file in this thread:


Nonetheless, if anyone feels himself a bit lost with these references, please check this invaluable asset by SoulOfTheReaver: The Module Making Manual v 1.2 (https://es.scribd.com/doc/52253537)

Additionally, opening and examining the XML structure of small and simple pre-existent FG2 modules can ease things a lot: in that way, you quickly begin to have a gist of the whole thing.

You can download here (https://dl.dropbox.com/u/12554407/Starting%20sample%20FG2%20Libmods.rar) three starting sample FG2 Library mods that I arranged specifically for this purpose. There are a standard empty referenceindex template and an empty table template, too. Some time ago I arranged some of these XML structures as templates for building my own modules more quickly.

And besides asking in the forum (which is a good thing), you can jump to the FG2 Chat asking for help, also.

El Condoro
May 12th, 2011, 22:44
Thanks for these tips - very helpful. I think I have it sorted out but will continue to experiment. I was able to create a referencetext and edit it properly and get it to appear properly in FG2. I will check out the other classes to see what they do and how to use them, too. Cheers

Roncorps
May 12th, 2011, 23:08
Thanks Demonsbane ! That help a lot. I did have the Module Making Manual, but I did find not intuitive everything. What I think it need is a visual manual, but not only visual on the XML editing, but like "You edit this part, see what it does in your library in FG2". I think a lot of ous don't know what do what "in-game" in the library.

El Condoro
May 12th, 2011, 23:36
I wonder how difficult it would be to have a 'View in FGII' button that would show the XML code as it would appear in FGII?

saithan
May 13th, 2011, 02:30
the application will make the needed files for you however you do need to understand what tags you are calling. that app is to speed the work flow.

El Condoro yes the ruleset field is important as it tells the library what ruleset to show the library in.

I am currently On a short vacation from programming. so adding new features to LMM will have to wait. but not long. between working on the gurps ruleset. and LMM and I have some good ideas for nWod in the works. I just want to take a short break and play a few games to keep things in perspective!

demonsbane
May 13th, 2011, 09:49
Thanks Demonsbane ! That help a lot. I did have the Module Making Manual, but I did find not intuitive everything. What I think it need is a visual manual, but not only visual on the XML editing, but like "You edit this part, see what it does in your library in FG2". I think a lot of ous don't know what do what "in-game" in the library.

I don't know if SoulOfTheReaver is going to update his manual.

An answer to what you are saying is: experiment for yourself and behold the displayed results by loading your tries into the Fantasy Grounds app. In that way you can circumvent the need for a visual manual.

If you read that "Documentation for FG modules" PDF and you devote some time examining and successfully modifying the aforementioned small sample library mods for achieving your own desired results -or at least part of them-, you will be getting most of the necessary understanding of the XML that Fantasy Grounds 2 requires.

I updated the sample modules, and added another sample one that shows how to arrange simple layers of linked entries. All them can be downloaded as a single compressed file here (https://dl.dropbox.com/u/12554407/Starting%20sample%20FG2%20Libmods.rar).


https://dl.dropbox.com/u/12554407/Sample%20Modules.jpg

You'll be creating your own library modules very quickly . . . specially with the help of the Library Module Maker app.

El Condoro
May 13th, 2011, 14:54
demonsbane, would it be possible to see the XML code for those from the Module Maker? Particulalrly how the code is set out for the links is what I am interested in. Cheers.

nazzy
May 13th, 2011, 17:42
Extracting the .mod files with unzip will allow you to see the XML files created. Hope that helps.

El Condoro
May 13th, 2011, 23:57
Got it! Cheers

demonsbane
May 14th, 2011, 00:03
El Condoro,

What nazzy said is right: by opening a FG2 .mod file with WinZip or WinRAR you'll see the three files which constitute it: common.xml, definition.xml and thumbnail.png


https://dl.dropbox.com/u/12554407/Opening%20FG2%20Mods%20with%20WinRar.jpg

If there isn't a common.xml file, then it will be client.xml or db.xml instead.


demonsbane, would it be possible to see the XML code for those from the Module Maker? Particulalrly how the code is set out for the links is what I am interested in. Cheers.

Sure! You already have that: the XML code of modules made with the Library Module Maker is exactly the same than the XML code of other modules made manually, like the sample ones that I already put here (https://dl.dropbox.com/u/12554407/Starting%20sample%20FG2%20Libmods.rar) for download: there is no difference.


https://dl.dropbox.com/u/12554407/Seeing%20the%20XML%20code%20of%20Definition.jpghtt ps://dl.dropbox.com/u/12554407/Seeing%20the%20XML%20code%20of%20Common.jpg

For basic samples of linking, take a look at the XML of the common.xml file of the "Listlink Sample Module". If I have more time, I can arrange a different sample module featuring this sort of linking, also:


<recordname>reference.animalmonsters.wolverine@Complete SRD Monsters</recordname>

Meanwhile, others willing to help can do the same . . . It's true that you need to know how to do this with XML, since ATM the Library Module Maker will not do it for you.


EDIT: El Condoro, I saw your last post just after submitting my own. :-)

demonsbane
May 14th, 2011, 03:35
(. . .) Particulalrly how the code is set out for the links is what I am interested in.

Here (https://dl.dropbox.com/u/12554407/Starting%20sample%20FG2%20Libmods.rar) you are another sample mod featuring more kinds of links, useful for examining and modifying the XML involved.

It's the file Samples of Advanced Linking.mod


https://dl.dropbox.com/u/12554407/Samples%20of%20Advanced%20Linking.jpg

El Condoro
May 14th, 2011, 14:57
Thanks for the links and advice. I have been able to create a library with 3 levels of links and have a working understanding of what I'm doing! That's gotta be good. Cheers

Roncorps
May 16th, 2011, 21:15
@Demonsbane :

Little question. I opened and modified your demo Spell library module in XML Marker, saved it in a .mod file (with the def.xml and thumbnail.png) but my new version don't show up anymore in FG. Got a hint ?

Edit : Found, it was a syntax error with <P>. FG don't seem to like caps.

demonsbane
May 17th, 2011, 04:24
Thanks for the links and advice. I have been able to create a library with 3 levels of links and have a working understanding of what I'm doing! That's gotta be good. Cheers

That sounds great, El Condoro!

For me, achieving that point was -I think- more costly: I already had a basic -but very rusty- understanding of HTML for webpage design, and I jumped to the FG2 Chat (https://fg2.rpg-vault.net/) for asking for help to (approximately) six community members (Oberoten, saithan, RKBrumbelow, unerwünscht, Ikael, templarghost . . . and maybe others that I'm not remembering ATM) during a few days with the purpose of gathering the basics of XML for Fantasy Grounds 2 module creation. Each one of them provided me with at least an indispensable piece of information, so I'm very thankful to them.

Nonetheless, such gathering of information required a good deal of time and blind experimentation: so, one of the purposes of the small sample modules is to remove the necessity of such effort for others that are beginning with library module creation.


(. . ) Edit : Found, it was a syntax error with <P>. FG don't seem to like caps.

That's right, don't be discouraged! In this context, many times things don't work just because these small oversights that, once discovered, are real quick to fix.

Returning to the topic of this thread: other of the objectives of the small sample mods is helping to provide the basic XML understanding for better taking advantage of the Library Module Maker application. When saithan "returns" from his "vacation from programming", maybe he'll polish existing features or add some new things to it. We'll see!


(. . .) I just want to take a short break and play a few games to keep things in perspective! (bold letters are mine)

That is not only understandable: it's a very sensible point too.

Roncorps
May 17th, 2011, 04:29
Is there a reason why my module thumbnail appear in my "Module activation" but not in "Library" ?

Btw Demonsbane, it was a error syntax in your Small List Spell =P FG was working fine with your version because there was a <p></p> pasted beside the <P></P> so it didn't mind. But when I spaced the secound <p>, the first <P> did "I don't know seriously" and the library module didn't load after that.

demonsbane
May 17th, 2011, 06:19
Is there a reason why my module thumbnail appear in my "Module activation" but not in "Library" ?

I stumbled with that issue, too. The solution is:

The content of the <name> tag in the definition.xml file, for instance,


<name>Small Spell List</name>

must match exactly with the name contained in the common.xml file:


<name type="string">Small Spell List</name>

Otherwise, the thumbnail doesn't appear in the Library window.


Btw Demonsbane, it was a error syntax in your Small List Spell =P FG was working fine with your version because there was a <p></p> pasted beside the <P></P> so it didn't mind. (. . .)

That is true. I just fixed it in the downloadable file. Thank you for telling it to me.


(. . .) But when I spaced the secound <p>, the first <P> did "I don't know seriously" and the library module didn't load after that.

It's possible to avoid entirely some errors by means of automatic XML checking: in most if not all editors, like XML Copy Editor (https://xml-copy-editor.sourceforge.net/), a sample key warns the user of this sort of errors.

In this case it's the F2 key:


https://dl.dropbox.com/u/12554407/XML%20Check.jpg

Then, you can detect and fix errors without needing to load the module in Fantasy Grounds 2 for checking if it works or not.

Moon Wizard
May 17th, 2011, 08:45
Notepad++ with the XML and LUA extensions does quite well as an XML/LUA editor as well.

Regards,
JPG

demonsbane
May 17th, 2011, 11:01
What I know is that many coders around here use it. At the time I installed Notepad++ (https://notepad-plus-plus.org/) along with a number of plugins but, since it was giving me some errors I decided to try again later.

I've seen an interesting stickied thread about that application in this very forum: Getting the Most Out of Notepad++ (https://www.fantasygrounds.com/forums/showthread.php?t=14024)

Zeus
May 18th, 2011, 00:43
Yep NPP gets my vote. Small, lightweight and tons of extensibility makes it pretty good for FGII XML and LUA work.

I tend to find NPP handles syntax handling rather well with customisable colouring of recognised keywords and code folding.

SpudmanWP discovered and shared his use of FunctionList, a plugin that builds a reference index of all LUA function statements in a file and a way of using the SpellCheck capabilities of an NPP plugin to recognise FGII LUA keywords.

I also added a custom FGII LUA lexer plugin that folds FGII LUA and allows you to customise the coloring of FGII LUA API functions, variables and keywords. Its already primed out of the box to support API v2.7.4.

Note to self: add support for the changes JPG has made for 2.7.5 and 2.7.6.

Roncorps
May 18th, 2011, 19:20
Does NPP have something like the "Tree Selection Browser" in XML Marker ? Screenshoot to show what I'm talking :

https://img543.imageshack.us/img543/3787/xmlmarker.jpg

https://img38.imageshack.us/img38/1217/xmlmarker2.jpg

I find it very intuitive and you can change/retype what you want in the selected case of the browser and it will change it in the xml code too.

Moon Wizard
May 18th, 2011, 19:54
Sort of, there is a strip on the left side of the document where you can collapse/expand the XML tags using your mouse, along with key shortcuts to expand/collapse various levels.

I find it very useful for jumping to specific areas of an XML file.

Regards,
JPG

LordEntrails
July 28th, 2015, 06:10
...

SpudmanWP discovered and shared his use of FunctionList, a plugin that builds a reference index of all LUA function statements in a file and a way of using the SpellCheck capabilities of an NPP plugin to recognise FGII LUA keywords.

I also added a custom FGII LUA lexer plugin that folds FGII LUA and allows you to customise the coloring of FGII LUA API functions, variables and keywords. Its already primed out of the box to support API v2.7.4.

Note to self: add support for the changes JPG has made for 2.7.5 and 2.7.6.

Anymore info on this? I'm an amatuer NPP user and was looking for someway to spellcheck my content. Sound like this might be it, but I'm not sure given the description (since it assumes I know more than I do), or how to implement it if it does what I need.

Thanks!