MapTool 1.3 Development Build 40
Moderators: dorpond, trevor, Azhrei, Craig
- trevor
- Codeum Arcanum (RPTools Founder)
- Posts: 11311
- Joined: Mon Jan 09, 2006 4:16 pm
- Location: Austin, Tx
- Contact:
MapTool 1.3 Development Build 40
The "I've been busy as heck with RL" build.
Thanks to all the contributors for this build, it's entirely you guys (well, specifically, not me).
Thanks for your patience while my RL settles down at work.
Here's the goods:
Build 40 (8/18/08)
* Fix bug: last row on button panel is not showing up (Contributed by naryt)
* Add default token property values (Contributed by jfrazier)
* Many new functions (Contributed by Craig W)
Contributed by giliath
* Parser now supports:
==, != for strings
Fixed a bug where the transformations (like 4d6) were occuring within string literals.
* Parser does better word boundary tests on it's replacements so that food10 does not get replaced with fooroll(1, 10)
Contributed by Jay
* Initiative Panel
* Token State groups
* Token States now paint in definition order.
* Token States mouseover support
* Token States opacity
* Add token property "token.init" that can be get/set
More about Craig's contribution in the next post.
NOTES:
- I've done very little testing of the contributed patches, mostly just checking that the code looks mostly sane. So expect some bugs. Please post them on this thread, if there are major ones I'll get a new build out quickly.
- This build does not include any updates to the way properties are handled, but the volume of other fixes justifies the build.
Thanks to all the contributors for this build, it's entirely you guys (well, specifically, not me).
Thanks for your patience while my RL settles down at work.
Here's the goods:
Build 40 (8/18/08)
* Fix bug: last row on button panel is not showing up (Contributed by naryt)
* Add default token property values (Contributed by jfrazier)
* Many new functions (Contributed by Craig W)
Contributed by giliath
* Parser now supports:
==, != for strings
Fixed a bug where the transformations (like 4d6) were occuring within string literals.
* Parser does better word boundary tests on it's replacements so that food10 does not get replaced with fooroll(1, 10)
Contributed by Jay
* Initiative Panel
* Token State groups
* Token States now paint in definition order.
* Token States mouseover support
* Token States opacity
* Add token property "token.init" that can be get/set
More about Craig's contribution in the next post.
NOTES:
- I've done very little testing of the contributed patches, mostly just checking that the code looks mostly sane. So expect some bugs. Please post them on this thread, if there are major ones I'll get a new build out quickly.
- This build does not include any updates to the way properties are handled, but the volume of other fixes justifies the build.
Dreaming of a 1.3 release
- trevor
- Codeum Arcanum (RPTools Founder)
- Posts: 11311
- Joined: Mon Jan 09, 2006 4:16 pm
- Location: Austin, Tx
- Contact:
Macros New/Changed Functionality
Setting token properties via macro now sends updates as soon as they are set.
tblImage() function gets an image from a table
Usage:
tblImage("table")
Get a random image from a table using default table roll
tblImage("table", value)
Get the image from the table for value (value can be a die roll)
tblImage("table", value, size)
Get the image from the table for value (value can be a die roll, use "" for default roll) and resize
Example:
<!-- [ res = d20 ] --> You roll a <image src='{tblImage("D"+"20", res, 60)}'> </image>
getStateImage() function gets the image for a state, the state must be one of the image types for this to work.
Usage:
getStateImage("state name")
Gets the image for the state
getStateImage("state name", size)
Gets the image for the state and resize
Example:
You are <image src='{getStateImage("Dead", 30)}'> </image> Dead!
getTokenImage() function gets the image for a token.
Usage:
getTokenImage()
Gets the image for the token.
getTokemImage(size)
Gets the resized image for the token.
Example:
You look like this <image src='{getTokenImage(25)'}></image>
Token Halos
Its now possible to get the value of a token. The color is returned in the #AABBCC format, or "None" if there is no halo
Usage:
val = token.halo
val = getTokenHalo()
Example:
<span style="color: {token.halo}">Now I can have my halo color in my text</span>
Token Label
Usage:
val = token.label
token.label = val
val = getTokenLabel()
setTokenLabel(val)
Token Name
Usage:
val = token.name
token.name = val
val = getName()
setName(val)
Token GMName (You need to be GM not too surprisingly)
Usage:
val = token.gm_name
token.gm_name = val
val = getTokenGMName()
setTokenGMName(val)
Token Visibility You need to be GM
Usage:
val = token.visible
val = getVisible
Gets if token is player visible or not (1 for visible 0 for invisible)
token.visible = val
setVisible(val)
Sets if token is player visible or not (1 for visible 0 for invisible)
Token States (for completeness added the below functions, this will also allow state names to be specified in a variable)
setState("name", val)
getState("name")
setAllStates(val)
Code Changes
In net.rptools.maptool.client.functions
Added
StateImageFunction.java -- Gets state images
TokenGMNameFunction.java -- Gets/Sets the GM name of the token
TokenHalo.java -- Gets/Sets the halo of the token.
TokenImage.java -- Gets the image of the token.
TokenLabel.java -- Gets/Sets the label of the token.
TokenName.java -- Gets/Sets the name of the token
TokenStateFunction.java -- Gets/Sets the state for a token.
TokenVisibleFunction.java -- Gets/Sets the player visibility of token
Modified
LookupTableFunction -- Added table image logic, changed to singleton to match above
In net.rptools.maptool.client
Modified
MapToolLineParser
Modified to add parser functions, note the parser functions that require a token to be in context
(such as getName()) will only be added if there is a token in context.
MapToolVariableResolver
Added a getTokenInContext so functions can get the in context token.
Refactored getVariable/setVariable to use the *Function classes in net.rptools.maptool.client.functions
so that the code is only in one place
Other details
- Getting of token name, GM name, label, image, state, visible all support passing a GUID to refer to the token.
This is to support targeting in future (or any other method of referring to another token that may come about).
- Setting of token state also supports passing of a GUID to refer to a token.
Setting token properties via macro now sends updates as soon as they are set.
tblImage() function gets an image from a table
Usage:
tblImage("table")
Get a random image from a table using default table roll
tblImage("table", value)
Get the image from the table for value (value can be a die roll)
tblImage("table", value, size)
Get the image from the table for value (value can be a die roll, use "" for default roll) and resize
Example:
<!-- [ res = d20 ] --> You roll a <image src='{tblImage("D"+"20", res, 60)}'> </image>
getStateImage() function gets the image for a state, the state must be one of the image types for this to work.
Usage:
getStateImage("state name")
Gets the image for the state
getStateImage("state name", size)
Gets the image for the state and resize
Example:
You are <image src='{getStateImage("Dead", 30)}'> </image> Dead!
getTokenImage() function gets the image for a token.
Usage:
getTokenImage()
Gets the image for the token.
getTokemImage(size)
Gets the resized image for the token.
Example:
You look like this <image src='{getTokenImage(25)'}></image>
Token Halos
Its now possible to get the value of a token. The color is returned in the #AABBCC format, or "None" if there is no halo
Usage:
val = token.halo
val = getTokenHalo()
Example:
<span style="color: {token.halo}">Now I can have my halo color in my text</span>
Token Label
Usage:
val = token.label
token.label = val
val = getTokenLabel()
setTokenLabel(val)
Token Name
Usage:
val = token.name
token.name = val
val = getName()
setName(val)
Token GMName (You need to be GM not too surprisingly)
Usage:
val = token.gm_name
token.gm_name = val
val = getTokenGMName()
setTokenGMName(val)
Token Visibility You need to be GM
Usage:
val = token.visible
val = getVisible
Gets if token is player visible or not (1 for visible 0 for invisible)
token.visible = val
setVisible(val)
Sets if token is player visible or not (1 for visible 0 for invisible)
Token States (for completeness added the below functions, this will also allow state names to be specified in a variable)
setState("name", val)
getState("name")
setAllStates(val)
Code Changes
In net.rptools.maptool.client.functions
Added
StateImageFunction.java -- Gets state images
TokenGMNameFunction.java -- Gets/Sets the GM name of the token
TokenHalo.java -- Gets/Sets the halo of the token.
TokenImage.java -- Gets the image of the token.
TokenLabel.java -- Gets/Sets the label of the token.
TokenName.java -- Gets/Sets the name of the token
TokenStateFunction.java -- Gets/Sets the state for a token.
TokenVisibleFunction.java -- Gets/Sets the player visibility of token
Modified
LookupTableFunction -- Added table image logic, changed to singleton to match above
In net.rptools.maptool.client
Modified
MapToolLineParser
Modified to add parser functions, note the parser functions that require a token to be in context
(such as getName()) will only be added if there is a token in context.
MapToolVariableResolver
Added a getTokenInContext so functions can get the in context token.
Refactored getVariable/setVariable to use the *Function classes in net.rptools.maptool.client.functions
so that the code is only in one place
Other details
- Getting of token name, GM name, label, image, state, visible all support passing a GUID to refer to the token.
This is to support targeting in future (or any other method of referring to another token that may come about).
- Setting of token state also supports passing of a GUID to refer to a token.
Dreaming of a 1.3 release
-
- Great Wyrm
- Posts: 1343
- Joined: Sun Aug 12, 2007 10:49 am
- Location: Midsomer Norton, (Near Bath), UK
- Contact:
Wow, you guys have been busy - can't wait till I wake up a little bit and can actually focus on the text . . . . .
Cweord
This message has been spell checked by Freudcheck - any mistakes are purley a figment of your imagination.
-------
My Tokens Directory
http://gallery.rptools.net/v/contrib/Cw ... er_Tokens/
This message has been spell checked by Freudcheck - any mistakes are purley a figment of your imagination.
-------
My Tokens Directory
http://gallery.rptools.net/v/contrib/Cw ... er_Tokens/
Re: MapTool 1.3 Development Build 40
Wahooooooo!trevor wrote:Contributed by Jay
* Initiative Panel
- Full Bleed
- Demigod
- Posts: 4736
- Joined: Sun Feb 25, 2007 11:53 am
- Location: FL
- wrathchild
- Dragon
- Posts: 546
- Joined: Thu May 24, 2007 9:44 am
- Location: Copenhagen, Denmark
- Contact:
Cool as hell!
Well, have been looking a bit at the initiative panel - still early stages here I know
I think the panel needs to show the line of the token that currently has the initiative. Right now you have to scroll down when the list of tokens becomes "too long". Maybe s a toggleable function for those who like it as it is
It would also be nice to have a "Add custom entry" for whatever purpose - representing clusters of tokens, timed items etc.
A drop down/right click menu to add initiative manually I'd also like
Well, have been looking a bit at the initiative panel - still early stages here I know
I think the panel needs to show the line of the token that currently has the initiative. Right now you have to scroll down when the list of tokens becomes "too long". Maybe s a toggleable function for those who like it as it is
It would also be nice to have a "Add custom entry" for whatever purpose - representing clusters of tokens, timed items etc.
A drop down/right click menu to add initiative manually I'd also like
Entering the Digital Age of Roleplaying.
Part of the Resident GURPS Lobby.
Calling for Halos to be Hexified.
Part of the Resident GURPS Lobby.
Calling for Halos to be Hexified.
- Full Bleed
- Demigod
- Posts: 4736
- Joined: Sun Feb 25, 2007 11:53 am
- Location: FL
I put in a suggestion for a solution to this in the USE CASE thread.wrathchild wrote:I think the panel needs to show the line of the token that currently has the initiative. Right now you have to scroll down when the list of tokens becomes "too long". Maybe s a toggleable function for those who like it as it is
1) Select a token in the Init window, click the down arrow at the top, and you can "Set Initiative."A drop down/right click menu to add initiative manually I'd also like
2) From the map you can also right click your token and go to Initiative/Set Initiative to manually enter a number.
- Full Bleed
- Demigod
- Posts: 4736
- Joined: Sun Feb 25, 2007 11:53 am
- Location: FL
States Gone in b40.
BUG:
My existing states all seem to be gone in b40. That is, they are there, but blank.
I can set new states, and after a couple attempts* I was able to delete the old blanks and re-add them so that they would work correctly.
*
1) Open Campaign Properties
2) Delete blank states
3) Click "OK" and then exit Campaign Properties.
4) Reopen Campaign Properties and Re-Add your states (make sure you "update" too.)
My existing states all seem to be gone in b40. That is, they are there, but blank.
I can set new states, and after a couple attempts* I was able to delete the old blanks and re-add them so that they would work correctly.
*
1) Open Campaign Properties
2) Delete blank states
3) Click "OK" and then exit Campaign Properties.
4) Reopen Campaign Properties and Re-Add your states (make sure you "update" too.)
- Full Bleed
- Demigod
- Posts: 4736
- Joined: Sun Feb 25, 2007 11:53 am
- Location: FL
- UntoldGlory
- Great Wyrm
- Posts: 1649
- Joined: Sun Mar 16, 2008 8:12 pm
They did upgrade too, right?Blazing wrote:The Initiative Panel is really cool, I like it!
But when I try to use this b40 to run my game tonight, my PCs told me that they can't connect to server with this error report:
IO ERROR.JAVA.NET.CONNECTEXCPITON
I don't know why, it work just well yesterday. Is it a bug or something?
Other than that, I'm not going to be much help.
0+0=1, for very unstable CPUs.
Re: MapTool 1.3 Development Build 40
I'd like to be the first to say:
WOO HOOOO!!!!!
And, yes, I realize that Hawke said "Wahooooooo!", but it's just not the same.
WOO HOOOO!!!!!
And, yes, I realize that Hawke said "Wahooooooo!", but it's just not the same.