1.4 Functional Direction and Assignments

Developer discussion regarding MapTool 1.4

Moderators: dorpond, trevor, Azhrei

Forum rules
Posting now open to all registered forum users.
User avatar
RPTroll
TheBard
Posts: 3159
Joined: Tue Mar 21, 2006 7:26 pm
Location: Austin, Tx
Contact:

1.4 Functional Direction and Assignments

Post by RPTroll »

All,

I've volunteered to keep track of who's working on what as well as functionality that will make up MapTool 1.4.

Here are the ideas currently floating around forums, at least the ones I could find. We can discuss other ideas in this thread or others as a separate topic in the MapTools 1.4 forum. I'll update this post as ideas take shape and people volunteer to code them.

We are currently working on MapTool 1.4b01.
Please check this forum post for items under discussion for inclusion in this build.

[Edit: 03/22/2015]
So keeping up with this as a forum topic is becoming a PITA. I've created a google doc spreadsheet for now. Hope to use github issue/feature tracker once I have time to dive into it.

When you grab a concept and begin coding, either add a post here or send me a PM and I'll update who's working on what. I'll add your name next to the task along with the date. I've used the current month for those functions already in development.

Code: Select all

Task	Target Build	Task	State	Snagee
1		Exposing html and restful web services from the MapTool server		
1.1		Expose some windows has HTML		Craig
1.2		Init window as HTML	POC	Craig
2		Enabling MapTool to call APIs from other sources		
2.1		Herolab integration (Jamz - March 2015) - See forum topic for details.	Snagged	Jamz
2.2		Roll20 Character Sheet Integration (Craig) - this flows out of MapTool being able to call external APIs	Snagged	Craig
2.3		Request/Send URL functions	Snagged	Jamz
3		Adding a database to MapTool	Open	
4		Headless MapTool server	Open	
5		Reworking the UI in JavaFX or HTML5 or some combination of both.	POC	Username
6		Reworking the Light/Sight	POC	Jamz
7		Movement Blocking/Hindering Layer	Open	
8		Javascript Macros	Open	
9	b01	Resource Library Search Function	Merged	Jamz
10		Audio file player and placement in resource library	Snagged	Jamz/Craig
11	b01	Auto stamp resize	Merged	Jamz
12		Framework Development Mode	Open	
12.1		Saving text to files in the .maptool dir to allow the use of external editors	Open	
13		Triggerables - teleports and traps and movement block (many other uses)	Open	
14		Movement restrictors and configures	Open	
15		Macro Functions		
15.1		Improved Find Token - scans all maps for tokens	Open	
15.2		Fixed token id - Asset ID changes between load. 	Open	
15.3		setMapVisible() and renameMap() macro fuctions - might be easy. See feature request topic for details.	Open	
15.4		Fix/change getTokenFacing/setTokenFacing (open) - see forum topic for details	POC	d4rkAlf
15.5	b01	setTokenheight/width (open) - easy one for new coders. see forum topic for details.	Merged	d4rkAlf
15.6		Improved goto() Functionality - duplicate with 15.7	Open	
15.7	b01	Get/Set viewport() - goto xy/set zoom level. Might be a separate set/get zoom function.	Merged	Jagged
15.8	b01	Add tokenId to get/set GmNotes	Pull Reqest	Jagged
15.9		Include additional math functions in MTScrpt	Blocked	d4rkAlf
15.11		setSnapToGrid() function	Snagged	d4rkAlf
15.12		setViewArea - local set view	Open	
15.13		updateViewArea - global (all clients) set view. Used for animations.	Open	
16		Macro Events		
16.1		onTokenFacing() event (open) - see forum topic for details	Open	
16.2		ontokenDrop onTokenDelete Events	Open	
16.3		onLoadMap	Open	
17		VBL on stamps and tokens that is saved as part of the rptok file. rotates and scales with the token.	Open	
18		Dice Box (open) - see forum topic for details	Open	
19		Init window rework - configurable init system to handle most rule systems. See forum topic for details.	Open	
21		Fix PC Auto Expose fog of war bug (Jamz March 2015) - see forum topic for details	Snagged	Jamz
22		Set view on campaign load (open) - see forum topic for details	Open	
27		Vision Limiter	Open	
30		Downloadable Frameworks and Macro Utilities (like the BoT)	Open	
31		Updates to DiceLib	Needs Merging	Jagged
32		BUG Squishing		
32.1	b01	FoW bug that overzealously resets FoW for all tokens	Submitted	Jamz
32.2	b01	Java 8/number of CSS issues	Merged	Craig
32.3		Cone light source/aura produces surperfolous circle when grid size is 1	Open	
33	b01	New build/deploy process	POC	Jamz
34		Did You Know' popup box with message of the day kinds of stuff		
If you're interested in contributing, first check "Contributing to MapTool 1.4" for instructions about branching MapTool, the let us know what you're working on. Then send me a PM or post to this topic to let others know you're working on it.

[Edit 3/16/2015]
Added Jamz Audio Player, VBL Macro Functions, Auto grid resize

[Edit 3/17/2015]
All code should run under Java 8 unless someone has a convincing argument to support end-of-lifed versions.

[Edit 3/18/2015]
Added suggested tasks from Framework Development Mode to Init Window Rework

[Edit 3/21/2015]
Added rename map and set map visibility macro functions.
Added Herolab integration
Added Roll20 character sheet integration
Fix for auto expose FOW
Set view on campaign load
onTokenFacing event
fix get/setTokenFacing
add setTokenWidth/Height

[Edit 4/4/2015]
Added Jagged as Snagee for task 15.7
Added New build/deploy process task
Added Did You Know' popup box with message of the day kinds of stuff task
ImageImage ImageImageImageImage
Support RPTools by shopping
Image
Image

User avatar
RPTroll
TheBard
Posts: 3159
Joined: Tue Mar 21, 2006 7:26 pm
Location: Austin, Tx
Contact:

Re: 1.4 Functional Direction and Assignments

Post by RPTroll »

Reserved
ImageImage ImageImageImageImage
Support RPTools by shopping
Image
Image

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

Thanks RPT, check my link in my sig as well. There are a few things I have coded that are ready to go. I also have the map auto-grid-resize done. I will have to find the link.

Audio is also a must IMHO. You can plop my name down and can work with Craig on that. I have some inttial work done but it has some bugs. It includes macros for playing audio wave/mp3's, asset manager recognition of audio files and displays album art in asset viewer, and a Playlist manager, a new tree view window to store audio assets vs storing them on a map. Audio plays to clients and or locally using standard mt asset functionality currently. Much to do still...

I will need to pull a fork and start porting these one at a time and will start with the small ones so I can get use to GIT and also make sure Craig hasn't done it yet. (He has my source for reference).
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

RPT, the VBL functions are all in b91, sorry, I leave them there since I technically forked off of b91.

That leaves
HTTP functions http://forums.rptools.net/viewtopic.php?f=3&t=22710
Darkness as a Light source http://forums.rptools.net/viewtopic.php?f=26&t=23976
canSeeToken() bug fix? (Honestly don't remember if Az patched that in or not, need to verify) http://forums.rptools.net/viewtopic.php?f=60&t=23566


Honorable mention to check various get X/Y coords from various macro's for improvements. There's a few cross cases where it would be nice to have some flexibility on MT returning default upper left x,y coords vs center of token. Started discussion @ http://forums.rptools.net/viewtopic.php?f=60&t=23545

Did this patch ever go in? I've had it in mine for a year and works great: http://forums.rptools.net/viewtopic.php?f=60&t=23651


So, do we need to find a site (or add to ours) a feature request, um, feature? I've used them on other projects and like them (used as in end user used). People can post features there they want, it lists them, they can vote on them, you get to see what's popular, and you can tag them as accepted/denied/started/finished.

Edit: I had came across these looking at other projects and tagged it as something we may want/use:
1. Updater (maybe not this one, didn't look for others but the concept of MT updating itself would be cool) https://code.google.com/p/software-updater/
2. Language file helper: I didn't play with it, but what it seems to do is help you find "Strings" in your code, click a checkbox, build the string properties file(s) for you. Not really a MT tool but I know I am personally bad at going back and externalizing Strings so people can internationalize it. Be nice if there was something that used Google Translate and did the translations as well :)
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
RPTroll
TheBard
Posts: 3159
Joined: Tue Mar 21, 2006 7:26 pm
Location: Austin, Tx
Contact:

Re: 1.4 Functional Direction and Assignments

Post by RPTroll »

So, until we get a feature/bug tracker I'll use the following states:
Open
name/date - someone has it
patch submitted/date - its been turned in
merge/date - its in the code base
testing/date - its in testing
Release/version & build number - it's done

It's not a formal SDLC but it will probably suit our needs until we go to something a bit more formal.

Let's take a bite, get it out, then take another. To borrow from agile, always try to keep the users with something they can use in a shorter release cycle. We sort of do this already but it's worth saying.
ImageImage ImageImageImageImage
Support RPTools by shopping
Image
Image

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

I like it. Agile it is! I detest the model we use at work which is about a year turn around on releases.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

Craig
Great Wyrm
Posts: 2107
Joined: Sun Jun 22, 2008 7:53 pm
Location: Melbourne, Australia

Re: 1.4 Functional Direction and Assignments

Post by Craig »

GitHub has an issue tracker https://guides.github.com/features/issues/ I have put some issues in there but not played around with it a great deal yet.
One of the advantages though is you can reference your commits in there when you update the issue.

User avatar
RPTroll
TheBard
Posts: 3159
Joined: Tue Mar 21, 2006 7:26 pm
Location: Austin, Tx
Contact:

Re: 1.4 Functional Direction and Assignments

Post by RPTroll »

Craig wrote:GitHub has an issue tracker https://guides.github.com/features/issues/ I have put some issues in there but not played around with it a great deal yet.
One of the advantages though is you can reference your commits in there when you update the issue.
To get some practice, I'll move my framework into git and play around with the issue tracker until I feel comfortable with it. After that I'll move tasks in there with a link in the OP here.
ImageImage ImageImageImageImage
Support RPTools by shopping
Image
Image

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

That reminds me, add a "Framework Development Mode" feature to the list.

I think we both wanted to look into that as well. FYI, this is what I'm calling "breaking up the campaign file into individual folder/files, ie, unzip the .cmpgn file for use within MapTool"

Step one would be giving MT the ability to read/write to a folder structure vs .cmpgn file
Step two would be extracting macro, table, state, light classes from xml into individual readable files
Step three would be giving MT the ability to filewatch changes to said files so external programs could be use to facilitate their devlopment.
Step four would be to Profit!

Then we could get some serious Framework collaboration done. You could easily host them on GitHub, fork them, customize macro's, push them back up, etc. Would be so much easier to update a framework, piecemeal.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
RPTroll
TheBard
Posts: 3159
Joined: Tue Mar 21, 2006 7:26 pm
Location: Austin, Tx
Contact:

Re: 1.4 Functional Direction and Assignments

Post by RPTroll »

I like it. Will add. Also need to add elements from the BoT.

Triggerables - teleports and traps and movement block (many other uses) - basically draw a region or add to assets a trigger a macro when moved over. If asset, macro could be assigned. I have now idea how drawables would work.
Movement restrictors and configures - lock tokens at global or selectable level. Center map on a token while it moves.
Improved Find Token - scans all maps for tokens
Fixed token id - like asset id but does not change between campaign loads. This is like a db primary key. It never changes.
VBL on stamps and tokens that is saved as part of the rptok file. rotates and scales with the token.
Set default load map and load map center - might be easily done with a menu option to set default map and center as current map.
Dice Box
Init window rework - configurable init system to handle most rule systems.

Still scanning for others.
ImageImage ImageImageImageImage
Support RPTools by shopping
Image
Image

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

Sure, add em in. Probably lower on the list (only since it's "technically" possible now with macro technology) but we can talk with Wolf and find out what is "hardest" to do and what sort of function/triggers would be good to add.

I'd like to implement his Vision mod somehow, will need to talk about it some. But some mechanic (another draw layer? a token/stamp property? <--leaning towards this) that reduces (or enhances?) vision distance and/or light levels. Think of a fog, DnD Web, darkness, etc. All either prevents vision or offers concealment after 5 feet (usually) or reduce light level (and possibly vision). It sort of ties in with new FoW so may look into it...
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: 1.4 Functional Direction and Assignments

Post by wolph42 »

although a forum is great to exchange ideas, its not so great to get to feature details as different discussions about different features tend to go through eachother within one topic.
Perhaps its an idea to have a seperate forum specifically for features, so you can create one topic per feature and then discuss that. The 'feature owner' should update the OP as the feature crystalizes during the discussion.

so who were the new admins here? And do other agree?

Ok then back to topic. I see that RPTroll has looked through my excel and (as i hoped) made his own version of the features. Until we agree about the above let me number them and go through them:
MOVED ALL ITEMS TO SEPERATE POSTS
1. Triggerables - teleports and traps and movement block (many other uses) - basically draw a region or add to assets a trigger a macro when moved over. If asset, macro could be assigned. I have now idea how drawables would work.
2. Movement restrictors and configures - lock tokens at global or selectable level. Center map on a token while it moves.
3. Improved Find Token - scans all maps for tokens
4. Fixed token id - like asset id but does not change between campaign loads. This is like a db primary key. It never changes.
5. VBL on stamps and tokens that is saved as part of the rptok file. rotates and scales with the token.
6. Set default load map and load map center - might be easily done with a menu option to set default map and center as current map.
7. Dice Box
8. Init window rework - configurable init system to handle most rule systems.
9. Vision limiter
note: 4 and 8 are not BoT, the rest is.

1. There are several ways to deal with this. In the BoT you can create 'areas' (group of coordinates with a name) and link a macro to that area name. One way to simplify things is (similar to onTokenMove) have a designated macro name e.g. areaTrigger or onMoveOverArea. Several scenarios:
a. same as bot. There is a UI where you can link macros to area names
b. if an area is called e.g. trap15 then the corresponding macro is "areaTrigger_trap15"
c. similar to onTokenMove. There is only the macro 'areaTrigger' and when you move over a trigger area that macro is run. Either with the areaName as argument or not.
----
Passed on arguments:
array of json objects. Each object consist out of "tokenName":"triggerType"
triggerTypes are:
triggerType ("start on area", "end on area", "total distance moved", " same length='total distance moved' - 'distance moved on trigger area' ")
- noInteraction (0000) should never happen (as nothing is triggered)
- movedOn (0110) move onto the triggerArea
- movedOff (1010) move off the triggerArea
- movedOver (0010) move over the triggerArea
- movedNot (1101) when you move the token but place it back on its original spot (without waypoints)
- movedReturn (1110) when you move the token AND use way points AND leave the token but end the move onto the token
- movedRemain (1111) when you move but remain on the token during the entire move (both the path and the triggerpath are the same length)

2. there are several functions already in mt that more or less support this (e.g. in initiative). It would however be nice to have 2 UI's that handles all
a. global UI where you have options (either checkbox or radio):
o lock all tokens for players
o lock all tokens for everyone
o only owners and gm can move token (its a server setting I know)

o centre view on moved token on client who moved it
o centre view on moved token on ALL clients
o lock all client views to this client (gm)

3. (start to notice the necessity of function per topic)
I would love to have that the same as the one in the BoT. its called 'Seek Token' as its not a function like findToken()
Schermafdruk 2015-03-19 09.52.13.png
Schermafdruk 2015-03-19 09.52.13.png (42.81 KiB) Viewed 20288 times
Additionally an upgrade of findToken() would be nice as well, but that requires more thought AND has been discussed on this forum before.

4. no comment

5. this is more tricky. Jamz and I created a working model which is used both in the BoT and the Dungeon Builder II. The tricky part is to decide 'which part of the VBL is the stamp'. Some examples
a. ALL vbl on the token area is the stamp.
b. A special function that applies VBL to a token is the stamp (e.g. cross, square, etc. in several sizes including larger than the token area).
c. A special drawing mode/toggle turns on 'All VBL you are currently drawing will be part of the VBL stamp of the selected/designated token'
then question arise like:
- how does the VBL stamp interact with existing VBL (i.e. moving a vbl stamp on existing vbl and then moving it out again)
- how do you apply/remove/change/manage/copy/paste the stamp
- how do you store it (on token or in a database)

6. easiest would be a menu item or context menu item 'set this view as the on load campaign view' (or something). Of course you need to keep in check stuff like when the map in question is deleted...

7. again I would prefer the BoT version, which is a upgraded version of Rumbles dicebox:
Schermafdruk 2015-03-19 10.03.51.png
Schermafdruk 2015-03-19 10.03.51.png (37.52 KiB) Viewed 20288 times
Schermafdruk 2015-03-19 10.03.46.png
Schermafdruk 2015-03-19 10.03.46.png (35.1 KiB) Viewed 20288 times
8. no comment.

9. this was build using the eventArea/eventToken system (or the triggerArea system). And I find it limited. vision is limited when standing IN that area, but not when looking AT that area. This is basically why I added the layered example so your vision gets gradually less when you move. However two rooms next to eachother, one filled with mist the other clear and a doorway in the middel...
I would say that this somehow needs to be similar as to 'difficult terrain' it impairs the movement/sight. With sight I can imagine that you cast a 'ray' into a certain direction and that 'ray' stops on a VBL. The distance the ray can reach is set in the overall map and the vision settings of the campaign and token. I can imagine that you create an area that changes this value in two ways:
- limit to penetration depth (PD) e.g. you can look 3 meters into the mist after that everything is obscured
- limit the total REMAINING vision distance (by a multiplier??) if the mist has a PD of 3 but is only 2 meter thick you can look through it, but not as far as usual. So you can set a divider per square obscured e.g. 2 will divide the remaining vision distance by 4 (2 for the first meter and 2 for the second meter of mist).
And I guess that there are vision types to be defined that influence this divider for special token...

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

Yep, herding ideas is like herding cats right now. :)

I'm fine with how ever you guys want to set it up. Discreet lists, assignments and status are one thing. Discussions are another. Feel free to split/prune/copy any posts into appropriate groups at this point. When it comes to coding a feature, I did/do plan on creating a separate topic for it.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: 1.4 Functional Direction and Assignments

Post by wolph42 »

ok done with my post. submitted it a couple of times during writing. Feel free to split it up into several topics.

ok I've moved all the items to seperate posts. I leave it to the admin to move them to one area (or leave them).

My personal suggestion:

Create 4 subforums:
- submit feature request
this is the spot where everyone can submit there requests

- accepted feature requests
devs only: when its decided that this will be part of MT in the foreseeable future

- rejected feature requests
duh.

- implemented feature requests
basically anything in the accepted feat. req. should end up here.

you could consider combining the latter two.

edit: I could break the other option from the OP also into seperate posts, but thats a bit outside my comfort zone. So ill leave that to the OP or initiator.

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: 1.4 Functional Direction and Assignments

Post by JamzTheMan »

OK RPT, you mark one as "Submitted"!

I call it "Auto Resize Map" (vs Auto Resize Grid) and created a Topic for it @ http://forums.rptools.net/viewtopic.php?f=86&t=25839
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

Post Reply

Return to “MapTool 1.4”