If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

With the advent of FG 3.0 and the CoreRPG ruleset layer architecture I have updated Dr Zeuss's excellent Enhanced Images extension to work with this new architecture. For those who aren't aware of this extension, it provides 3 layers within an image - primarily useful for putting tokens on 3 different layers and stopping them messing with each other (known as token stacking issues). This functionality can be useful if the GM wants to use mapping tokens to draw maps on the fly or use larger tokens for underlying image functionality - a good example is a ship token on a sea/river image - put the ship token on the middle layer and all of the PC/NPC tokens on the top layer and there are no token stacking/selection issues.

v2.1.3 February 12th, 2019. Movement of named tokens (tokens added from the CT or tokens given a name) on the top (play) layer will move the related shadow token on the lower layer (image or features_image).

*** Please make sure you run this extension only with compatible rulesets and extensions. For example, this is not compatible with the 5E Combat Enhancer extension - as the layer code is incorporated in that extension.

Previous versions:

v2.1.2 January 4th, 2019. v3.3.7 compatibility update - now works correctly on the two new desktop panels (back panel and full panel). Note: resize to grid is only available in the window mode, as the two panels do not have any resize controls available via the right-click menu.

v2.1.1b July 11th, 2018. Read only maps will open with the bottom (image) layer enabled so that links created in an original non-layered image module can be selected. Note - this could break any personally created read-only modules with links on the top layer!

The extension adds a "layer" icon to all images on the GM side - which when clicked reveals 3 icons that an be used to access (from left-to-right) the base, middle and top layers. Dr Zeuss shows how the original extension works in a video in this post: http://www.fantasygrounds.com/forums...l=1#post114668

NOTE: Currently does not work with hex grids - only square or no grid images.

Things to note:

This extension shows in Fantasy Grounds as "Enhanced Images (CoreRPG+)" and will be selectable for all rulesets, however it will only work for rulesets layered on top of the FG 3.0 CoreRPG base ruleset.It is not compatible with Savage Worlds.

Use only square grids or no grids. Hex grids will not work and will raise script errors.

This *should* be compatible with previous extensions - so campaign images with layers from previous versions should work OK.

Players can only interact with the top layer - GMs must put PC and NPC tokens on this top layer otherwise players can't move their PCs or target NPCs.

Masking only works on the base layer - and then only when the map/image is based on an image file (this is the usual FG mask functionality - you can't mask a freehand drawing).

As masking only works on the base layer, anything that the GM wants to mask should be put on the base layer - tokens that are used for mapping, etc.. If you want to hide NPC tokens don't put them on the base layer, put them on the top layer and use the individual token "visibility" setting (or the visibility setting for the NPC in the combat tracker) to hide/reveal the token to the players.

Grid settings (on/off), offset and size are the same across all 3 layers - there is 1 grid throughout. Other grid functionality is specific to an individual layer - lock tokens, snap-to grid, etc.. Be careful which layer you change these settings on as you will have to be on the same layer if you want to change them later.

Drawing (and erasing of a drawing) only works on the top layer. Drawings are never masked so there is no point in having drawings on any layer other then the top layer - this helps to keep memory use down too.

If you open an image that was from a campaign that was created without the layer extension then everything will be on the base layer. With the exception of the grid - this will be synchronised across all layers.

Issue: GMs can select targeting on the lower layers (if there are tokens on those layers) - but I don't think this will work in any way, especially as PC and NPC tokens should be on the top layer anyway. Essentially the targeting arrows will appear if the GM "targets" a token on any layer. This could be confusing so GMs should keep an eye on this... I hope to be able to limit targeting to the top layer only in the future.

Shortcuts (pushpin) that link to campaign entries can be put on any layer - but they are only active (can be selected) on that layer, even though they are viewable on the higher layers. Note: If you open an image from a module that has pushpins these will be visible across all layers but only selectable on the base layer.

For encounters with token placement created in a campaign that didn't use this extension (or a previous version) the extension will convert the token placement layer to the top layer on-the-fly so that the NPC tokens are placed on the correct layer. The original encounter record is not changed. Note: this will only work for placement on maps/images that have already been opened within the campaign with the extension enabled - so the play_image layer already exists. If the map hasn't been opened with the extension enabled then an error will be raised and the tokens won't appear on the map.

Grid drawing mode will be remembered when you leave and return to a layer - i.e. if activated mask mode will remain active on the bottom layer and drawing/erasing mode will remain active on the top layer. The mask, draw and erase icons will reflect what state is active on which layer.

New Token Shadow functionality: Adds shadows of the tokens on the higher levels when you activate a lower level - this aids in lower layer token placement and unmasking. These "shadows" are actually tokens set to invisible, so they are tokens and you will have the usual token stacking issues with these shadow tokens. You can move them out of the way, they don't impact the original tokens they shadow.

Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

Issue List

The following is a list of issues in the current release v1.0.1:

Hex grids do not work. Square and no grids are OK.

Blank (new images without an image file) are sized at 200x200 (to avoid another issue where images would zoom into the top left 200x200 area when zooming for the first time). The "expand drawing" functionality (on the bottom layer only) can be used to expand the image in size, but the layers then need to by synced - close and open the image and zoom in/out once to sync the layers.

Pins put on a map without using the extension are placed on the bottom layer when using the extension - they can be seen on all layers, but only selected by the GM on the base layer.

Pre-placement of encounter tokens on the middle layer will raise an error when activating the encounter. Not planning on fixing as this is not what encounter pre-placement is primarily used for - more info here: http://www.fantasygrounds.com/forums...l=1#post239794

Middle and Top layers do not get exported into a module. This is being blocked by the FG architecture and there is no API method to get around this. Note: as the only "thing" that gets exported with an image is the pushpin links (not tokens or drawings) this issue only effects pushpins. Workaround: for images you want to export, put pushpins on the lowest layer. If you *really* want pushpins in a module on a layer other then the bottom layer, do the initial export and then manually copy the two additional two layer entries from the campaign db.xml to the module db.xml, then repackage the module.

When a player opens an image/map that the GM currently has open it will sync the center and zoom to that of the GM view. The player can zoom/pan and use as normal once open.

The following is a list of issues that have been fixed with the version number containing the fix.

v1.0.1 - For images greater than 200x200 the first time the image is zoomed-in it will zoom to the top-left 200x200 section of the image. Zoom-out to the view you want and this should not happen again. This is a result of the default size of the image being removed to fix grid drawing issues.

v2.1.0 - For GMs only: Target selection and targeting arrows can appear on all layer where there are tokens. Ideally this should only occur on the top layer.

v2.1.0 - Not compatible with the Savage Worlds ruleset.

Future Development

Right-click menu to move token from one layer to another. Targeted for future release. Include ability to select a number of tokens and use <image>.getSelectedTokens() to return a table of tokens to be moved.

Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

Hmm.. can't seem to get around it by setting the grid... in fact the same error pops each time I set it.

Full License Operator - You must have a 'Lite' License to play in my games.Member and GM in the Fantasy Grounds Pathfinder Society Group.PFS Fantasy Grounds Forum
FG Community Teamspeak Server: ts.fg-con.com
Interested in Custom Character Portraits and Tokens? Contact me.

Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

I added the extension to an already existing campaign. The map I opened had previously been set up with a HEX grid... beyond that all I did was open the map and the error appeared.

Full License Operator - You must have a 'Lite' License to play in my games.Member and GM in the Fantasy Grounds Pathfinder Society Group.PFS Fantasy Grounds Forum
FG Community Teamspeak Server: ts.fg-con.com
Interested in Custom Character Portraits and Tokens? Contact me.

Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

Full License Operator - You must have a 'Lite' License to play in my games.Member and GM in the Fantasy Grounds Pathfinder Society Group.PFS Fantasy Grounds Forum
FG Community Teamspeak Server: ts.fg-con.com
Interested in Custom Character Portraits and Tokens? Contact me.

FYI: Latest test release (v3.0.3) seems to cause an issue with the current version of this extension. I get a script error when starting up a 4E campaign. I don't have any more details than that, but disabling the extension removes the script error.