View Full Version : Request for more documentation

June 22nd, 2005, 06:09
Honestly, though I enjoy Fantasy Grounds, I am beset by frustration as I attempt to work with some of the tools given.

First of all, nowhere have I been able to find a complete listing of all methods that can be called, nor a detailed description of what all of them do. I have, up to this point, been able to figure them out, but if they're limited to what appears in the basic "charsheet.xml" for the default rulesystem, then it's seriously in need of upgrades. At the very least, I wish it would give at least some support for if-then (rather than just valuemap, which has a rediculous overhead if you want to make it complicated), support for some sort of null value in number fields (undead have no con, for example. It's a cop-out to have to list it as 10 instead of having a null on such a basic element), and to have a "reload UI" function for people making their own. As it is, I basically kill the program and reboot it. It'd be much faster to just have a script tied to a button I click that just flushes the UI data and reloads it.

As a side note, I'm rather irritated that the dev team didn't make custom UI more accessible to casual users. Sure, XML is flexible and effective, but you're essentially forcing the casual user to edit in notepad unless they have third-party software. Some simple in-game utilities would do much to increase interest in custom UI. (This is, again, a side note. I don't mind plowing through XML, but you're certainly doing nothing to encourage the userbase to make custom mods, and in turn not making the app attractive to more audiences. For example, how many *full* conversions actually exist? Only one, to my knowledge. And how many months has this software existed? If you don't want it to dwindle, you need to encourage the community to customize, instead of basically saying, "meh, all right, if you want to customize, dig through our XML.")

June 22nd, 2005, 06:46
Well.. welcome aboard.

There are things that are on their way... this software is in its infancy. I am working on a huge product..... in concert with you know who.. (Rhymes with xyz...) :)

The things you mention are cool to have... and for the record... a null value on the character sheet is represented with a "0" and in the case of the undead, comes back with no number at all. (At least in my version.)

Before we were looking at the stability of the program as being more important than all the goodies, and as for creation... there are several communty apps made to facilitate creation of adventures. So plowing through xml... while fun, is not absolutely necessary.

Hope this helps.... just my .02 GP

June 22nd, 2005, 07:27
Ach, but the community should bear the responsibility for extending the application, not polishing features that should have already been there. :P I'm sorry, I suppose I really am asking a bit much from so new an application, but the userbase is miniscule from the combined effects of a license required for every participant in a game, and the fact that anyone who wants to customize HAS to trudge through format code, when XML is a foreign language to most users.

There are two user types: those that want a cozy program that creates everything for them, and those that are willing to get their feet wet in XML and do some lengthy formatting. The lack of a bridge between those user groups causes a lack of interest that would do quite a bit to further this program.

June 22nd, 2005, 14:15
I see where you are going with this... and agree. I am eagerly awaiting what will happen with CMP and the tie in for FG... Converting modules is a big task.
Part of the problem I think is there is a lack of DTDs or a schema... so when I put in my xml code, the program parses that and replaces it with its own. Not a problem, except when the parser rejects work that you have done, and simply ignores it. That can be a pain.

The interface of FG is good, except when you need to enter a base of 200 NPCs, then the cute adjustable slots become a pain. Not to mention that FG is a full screen aplication. So when you need to refer to notes, or a pdf, switching becomes a pain.

I am surprised that noone has written an application that will let you do the data entry, then spit out the xml code for said entry. The closest I came is the NPC word template..... but that is messy. I am not very good yet at Vb code or other such... that is one wish that I have.

So I think that some form of documentation on the DTD or the schema structure would be cool for development.... but I also realize that it could be guarded, for copyright issues....

anyways, thats the ramblings of the insane man....


July 1st, 2005, 21:36
A dev response somewhere would be nice... :?

July 3rd, 2005, 16:31

Or something from someone at least. ANYONE THERE????


July 6th, 2005, 07:10
Documentation is a whole process. Honestly, it's not hard to figure out how to do stuff if you spend a little time in it. I don't have time to do a lot of documentation here since I'm working on another ruleset, but let me help out a little with the conceptual map.

When you're working In your rulesets\d20 folder there are a number of files and subfolders, let's take a little tour.

1. base.xml: this is the first file that the program reads, and it tells the program what source files and data sets to include, and where to find them. It contains static data files from the \database folder, as well as "include" files that tell the program about how to initialize the program with graphics and screen controls. This file also contains the background texture for the desktop.

2. charsheet.xml: Defines the values and controls on the character sheet, including spell lists, attributes, and other modifiers. Those of you wondering how to do your own rulesets and charactersheets, this is a good place to start, it's where I began learning about the program.

3. d20_adventure.xml: contains the NPC sheet controls and values, similar to the charsheet.xml, but includes the concept of control groups that share positioning properties so that when you resize the npc window (since it's smaller than the charsheet) the controls will still line up. Know how the charsheet works before adjusting this.

4. d20_desktop.xml: Defines the icon shortcuts used for the desktop icons and buttons. If you wanted to move the location of desktop icons (let's say, a row along the top instead of along the right side) you'd use this file.

5. d20_graphics.xml: This file contains all the frame and icon definitions that are then referenced by other elements of the program. This file points to specific graphic files on the harddrive, and allows other files to reference them as <frame> or <icon> elements.

6. d20_reference: This file points to ruleset specific reference information. When you click the d20 handbook in the software, you get the <referenceroot> menu, which then points to other information drawn out of the static data files included in the base.xml.

7. d20_utility.xml: This file contains the information necessary for the combat tracking utility.

When I create a new ruleset, one of the first things I do is copy the "FantasyGrounds\Data" folder into the root directory of the new ruleset and change the base.xml so I can customize the data. Accordingly, you should know what is found in the data directory as well.

1. bmpfonts.xml: This file defines all the available fonts for the program, and points to their files the data\fonts folder.

2. gamelements.xml: Contains the die information, hotkey boxes, mod collector, and identity list controls.

3. graphics.xml: Contains additional frame and icon definitions, similar to the d20_graphics.xml file, but this is normally for graphics that would be used by all rulesets.

4. ui_adventure.xml: Defines the values and controls for the encounter, item, and image/map windows.

5. ui_utility.xml: Contains instructions for additional utilities such as the portrait selection, tokenbag, module selector, lighting, and client side notes.

The ruleset\database folder contains static data files in "nodes" that are read by the "include" files in order to create the control structures you see on your desktop and populate them with data. It's really like a text-driven version of form design from MS Access if you've ever done anything like that.

Anyway, there's a lot to take your time and learn here. You don't need to know XML, but if you know what a markup language is (like HTML), then you probably know the minimum that you need to know. After that, get a good text editor (I use textpad), and start tinkering with little changes in your custom ruleset folder. Change graphics at first, that's very satisfying :D

Then move up to some changes in the charactersheet. Figure out how controls are being positioned, and how to populate them with data from the static data sources.

It's not a quick process, but it's not hard to learn. Maybe I can post a tutorial some time if you have something specific you'd like to learn to do.

Post here and let me know.


July 6th, 2005, 09:20
Thanks Zane, you just saved me a lot of digging!

July 6th, 2005, 16:43
Prays for the day he sees a Fantasy Grounds for Dummies book :D