3 Attachment(s)
Map resize to TV resolution - for Face-To-Face games
FGU version available in the FG Forge here: https://forge.fantasygrounds.com/shop/items/7/view
The version available for download below is for FG Classic, don't use if you're running FGU - delete the file from your <FG app data>\extensions directory and subscribe to the Forge - link above.
From a discussion here: https://www.fantasygrounds.com/forum...p-scaling-maps and also me starting to run face-to-face games on FG with a TV laid flat on the table, I've put together an extension that auto sizes maps to match 1 grid square to 1 inch on the physical TV.
This extension is for those among us who use a TV for their face-to-face games and use miniatures on the TV, requiring them to size any maps to match have 1 square on the map = 1 physical inch on the TV screen. It allows the GM to set the size and resolution of their TV (currently only 16:9 format TVs are supported) for their campaign, and then can use a right-click menu on the TV (player) view to auto size the image to match 1 grid square = 1 physical inch on the TV.
v3.3.6 - July 13th, 2020 - update to be more compatible. FGU test compatibility. Added decimal TV size in inches support (e.g. /tvsize 15.6 1080)
Versions
v3.3.5 - April 21st, 2018: FG v3.3.5 compatibility update.
v3.3.0b - May 9th, 2017: Very minor update. Resize to grid functionality now caters for dynamic toolbars and different sized image window frames to display the full, resized, image.
v3.3.0 - FG v3.3.0 compatibility.
v3.2.2 - FG v3.2.2/3 compatibility.
v0.2 - FG v3.2.0 compatibility.
v0.1 - First release. Base functionality.
Installation
- Download the attached extension file "Player Image Auto Size.ext" and save it to your <FG App Data>\extensions directory.
- Start up Fantasy Grounds and select campaign for a ruleset that is built on CoreRPG. Select the "Player Image Auto Size" extension and start your campaign.
- When your campaign loads, set the TV size and resolution via a chat command. Use: /tvsize <TV size in inches> <TV resolution in pixels (height/Y dimension)> An example is: /tvsize 43 1080 for a 43 inch (diagonal measurement) TV with 1080p resolution (full HD).
Do not use this with the Enhanced Images (layers) Extension or the Image Label Extension. The Enhanced Images extension includes this code (from version 2.0.5a - April 2017).
Please read the following two posts for gotchas, issues and development plans.
Use
The first time you load a campaign with this extension active you need to set the TV size and resolution via a chat command. Use: /tvsize <TV size in inches> <TV resolution in pixels (height/Y dimension)> An example is: /tvsize 43 1080 for a 43 inch (diagonal measurement) TV with 1080p resolution (full HD). If you're using a 4K (UHD) TV use the vertical resolution of 2160.
You only need to do this once as it is stored in the campaign database. You can check the setting by typing /tvsize in the chat window.
The resizing relies on the TV size and resolution stored in the database (using the /tvsize command) and the grid set on the map by the GM. The resizing will not work without a grid!
The GM should set a grid on the map at the size they wish to be sized as 1 inch on the TV display. The GM should share the map to the player instance that is connected to the TV and then on the player (TV) instance the controlling user (probably the GM if the player instance is connected by localhost) should use the right-click menu as shown in the two images below: Resize (1st image) then the Resize to Grid square icon (2nd image):
https://www.fantasygrounds.com/forum...chmentid=15158 https://www.fantasygrounds.com/forum...chmentid=15159
If you have any feedback, comments, questions, etc. please post in this thread. Constructive criticism is welcome, just please keep in mind that this is the first release and I plan to add more functionality pretty quickly - so let me know what works, what doesn't, what features you'd like to see (keep it reasonable and realistic please) and we'll see where this goes...
If you have any ideas about the code please pass your feedback direct to me, please don't create your own version of this extension - we don't want confusion and multiple extension versions all over the place! Thanks!