Create account / Log in

Report Action on oldLayer_Name not working

Issues with the Vassal engine.

Moderators: uckelman, Tim M

Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 8:58 am

After one of the recent updates of Vassal, some reporting functionality using Report Action no longer works as before.

I used Report Action on "oldLayer_Name"

Example:
$Name$ discarded $oldToken 1_Name$ token

This would for example return "Imperial Star Destroyer has discarded a brace token."

But since "old" no longer works, it reports only Imperial Star Destroyer has discarded a token.

I can change it to remove "old" but then the reporting is pointless. The token was discarded, so there is nothing to report on.

Why was this functionality removed? It was very useful.
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 9:13 am

To expand on this:

There are 6 token types that can occupy a "slot" on each piece, each with two sides, for 12 named layers.

There is a 13th empty layer, which is what you get when a token is discarded rather than flipped. This layer isn't named, bc nothing refers to it.

I COULD make an empty layer for each discarded token type, for a total of 18 layers instead of 13, but man is that clunky.

Each layer is tied to a Dynamic Property, so that would have to be changed as well.

Can we please bring back the old functionality?
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby Brent Easton » October 30th, 2020, 12:31 pm

Hi,

Thanks for the bug report, the functionality was not removed intentionally. It is a side-effect if a fix of a seriously inefficient piece of code.

To help with investigation, could you please let me know which module it is you are talking about and exactly where in the module is the property 'Token 1_Name' defined?

It would also help if you could provide the last Vassal version you know of where the functionality works.

Thanks.
User avatar
Brent Easton
 
Posts: 3229
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 1:12 pm

It is the Star Wars: Armada module.

The module is fairly large and complex.

http://www.vassalengine.org/wiki/Module ... rs:_Armada

This specific build:

http://www.vassalengine.org/mediawiki/i ... .13.0.vmod

I can't say the last version it worked. I was on 3.3.17 (IIRC) until very recently, then did some rapid updates. I'm now on 3.4.5.

The functionality is reused many places in the module. I suggest searching for "oldToken"

This is the code for ship defense tokens prototype. The actual layers are stored in a number of separate prototypes, based on various ship sizes (Small ship defense tokens, medium ship... etc.).

<VASSAL.build.module.PrototypeDefinition name="Defense token definitions">+/null/report;57\,715;$Name$ discarded $oldToken 4_Name$ token;;;Discard 4 report;56\,715;$Name$ discarded $oldToken 3_Name$ token;;;Discard 3\ report;55\,715;$Name$ discarded $oldToken 2_Name$ token;;;Discard 2\\ report;54\,715;$Name$ discarded $oldToken 1_Name$ token;;;Discard 1\\\ report;57\,195;$Name$ refreshed $oldToken 4_Name$ token;;;Refresh 4\\\\ report;56\,195;$Name$ refreshed $oldToken 3_Name$ token;;;Refresh 3\\\\\ report;55\,195;$Name$ refreshed $oldToken 2_Name$ token;;;Refresh 2\\\\\\ report;54\,195;$Name$ refreshed $oldToken 1_Name$ token;;;Refresh 1\\\\\\\ report;57\,130;$Name$ exhausted $oldToken 4_Name$ token;;;Exhaust 4\\\\\\\\ report;56\,130;$Name$ exhausted $oldToken 3_Name$ token;;;Exhaust 3\\\\\\\\\ report;55\,130;$Name$ exhausted $oldToken 2_Name$ token;;;Exhaust 2\\\\\\\\\\ report;54\,130;$Name$ exhausted $oldToken 1_Name$ token;;;Exhaust 1\\\\\\\\\\\ hideCmd;Block discard 4;Disable;{GetProperty("Token 4")==13};57\,715,57\,195,57\,130\\\\\\\\\\\\ hideCmd;Block discard 3;Disable;{GetProperty("Token 3")==13};56\,715,56\,195,56\,130\\\\\\\\\\\\\ hideCmd;Block discard 2;Disable;{GetProperty("Token 2")==13};55\,715,55\,195,55\,130\\\\\\\\\\\\\\ hideCmd;Block discard 1;Disable;{GetProperty("Token 1")==13};54\,715,54\,195,54\,130\\\\\\\\\\\\\\\ hideCmd;Block exhaust 4;Disable;{GetProperty("Token 3")==2||GetProperty("Token 3")==4||GetProperty("Token 3")==6||GetProperty("Token 3")==8||GetProperty("Token 3")==10||GetProperty("Token 4")==12};56\,130\\\\\\\\\\\\\\\\ hideCmd;Block exhaust 3;Disable;{GetProperty("Token 3")==2||GetProperty("Token 3")==4||GetProperty("Token 3")==6||GetProperty("Token 3")==8||GetProperty("Token 3")==10||GetProperty("Token 3")==12};56\,130\\\\\\\\\\\\\\\\\ hideCmd;Block exhaust 2;Disable;{GetProperty("Token 2")==2||GetProperty("Token 2")==4||GetProperty("Token 2")==6||GetProperty("Token 2")==8||GetProperty("Token 2")==10||GetProperty("Token 2")==12};55\,130\\\\\\\\\\\\\\\\\\ hideCmd;Block exhaust 1;Disable;{GetProperty("Token 1")==2||GetProperty("Token 1")==4||GetProperty("Token 1")==6||GetProperty("Token 1")==8||GetProperty("Token 1")==10||GetProperty("Token 1")==12};54\,130\\\\\\\\\\\\\\\\\\\ hideCmd;Block refresh 4;Disable;{GetProperty("Token 4")==1||GetProperty("Token 4")==3||GetProperty("Token 4")==5||GetProperty("Token 4")==7||GetProperty("Token 4")==9||GetProperty("Token 4")==11};57\,195\\\\\\\\\\\\\\\\\\\\ hideCmd;Block refresh 3;Disable;{GetProperty("Token 3")==1||GetProperty("Token 3")==3||GetProperty("Token 3")==5||GetProperty("Token 3")==7||GetProperty("Token 3")==9||GetProperty("Token 3")==11};56\,195\\\\\\\\\\\\\\\\\\\\\ hideCmd;Block refresh 2;Disable;{GetProperty("Token 2")==1||GetProperty("Token 2")==3||GetProperty("Token 2")==5||GetProperty("Token 2")==7||GetProperty("Token 2")==9||GetProperty("Token 2")==11};55\,195\\\\\\\\\\\\\\\\\\\\\\ hideCmd;Block refresh 1;Disable;{GetProperty("Token 1")==1||GetProperty("Token 1")==3||GetProperty("Token 1")==5||GetProperty("Token 1")==7||GetProperty("Token 1")==9||GetProperty("Token 1")==11};54\,195\\\\\\\\\\\\\\\\\\\\\\\ macro;Refresh token 4;;82,715;{GetProperty("Token 4")==2||GetProperty("Token 4")==4||GetProperty("Token 4")==6||GetProperty("Token 4")==8||GetProperty("Token 4")==10||GetProperty("Token 4")==12};;57\,195;false;;;counted;;;;false;;1;1\\\\\\\\\\\\\\\\\\\\\\\\ macro;Refresh token 3;;82,715;{GetProperty("Token 3")==2||GetProperty("Token 3")==4||GetProperty("Token 3")==6||GetProperty("Token 3")==8||GetProperty("Token 3")==10||GetProperty("Token 3")==12};;56\,195;false;;;counted;;;;false;;1;1\\\\\\\\\\\\\\\\\\\\\\\\\ macro;Refresh token 2;;82,715;{GetProperty("Token 2")==2||GetProperty("Token 2")==4||GetProperty("Token 2")==6||GetProperty("Token 2")==8||GetProperty("Token 2")==10||GetProperty("Token 2")==12};;55\,195;false;;;counted;;;;false;;1;1\\\\\\\\\\\\\\\\\\\\\\\\\\ macro;Refresh token 1;;82,715;{GetProperty("Token 1")==2||GetProperty("Token 1")==4||GetProperty("Token 1")==6||GetProperty("Token 1")==8||GetProperty("Token 1")==10||GetProperty("Token 1")==12};;54\,195;false;;;counted;;;;false;;1;1\\\\\\\\\\\\\\\\\\\\\\\\\\\ mark;token\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Defense Token 1;Set Token 1,Exhaust token 1,Discard token 1,Refresh token 1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Defense Token 2;Set Token 2,Exhaust token 2,Discard token 2,Refresh token 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Defense Token 3;Set Token 3,Exhaust token 3,Discard token 3,Refresh token 3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Defense Token 4;Set Token 4,Exhaust token 4,Discard token 4,Refresh token 4\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Set Token 1;Set token 1 to Brace,Set token 1 to Contain,Set token 1 to Evade,Set token 1 to Redirect,Set token 1 to Salvo,Set token 1 to Scatter\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Set Token 2;Set token 2 to Brace,Set token 2 to Contain,Set token 2 to Evade,Set token 2 to Redirect,Set token 2 to Salvo,Set token 2 to Scatter\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Set Token 3;Set token 3 to Brace,Set token 3 to Contain,Set token 3 to Evade,Set token 3 to Redirect,Set token 3 to Salvo,Set token 3 to Scatter\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ submenu;Set Token 4;Set token 4 to Brace,Set token 4 to Contain,Set token 4 to Evade,Set token 4 to Redirect,Set token 4 to Salvo,Set token 4 to Scatter\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ PROP;Token 4;true,1,13,false;Set token 4 to Brace:63743\,0\,brc4:P\,1,Set token 4 to Contain:63743\,0\,cnt4:P\,3,Set token 4 to Evade:63743\,0\,evd4:P\,5,Set token 4 to Redirect:63743\,0\,red4:P\,7,Set token 4 to Scatter:63743\,0\,sct4:P\,9,Discard token 4:57\,715:I\,12,Exhaust token 4:57\,130:I\,1,Refresh token 4:57\,195:I\,-1,Set token 4 to Salvo:63743\,0\,sal4:P\,11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ PROP;Token 3;true,1,13,false;Set token 3 to Brace:63743\,0\,brc3:P\,1,Set token 3 to Contain:63743\,0\,cnt3:P\,3,Set token 3 to Evade:63743\,0\,evd3:P\,5,Set token 3 to Redirect:63743\,0\,red3:P\,7,Set token 3 to Scatter:63743\,0\,sct3:P\,9,Discard token 3:56\,715:I\,12,Exhaust token 3:56\,130:I\,1,Refresh token 3:56\,195:I\,-1,Set token 3 to Salvo:63743\,0\,sal3:P\,11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ PROP;Token 2;true,1,13,false;Set token 2 to Brace:63743\,0\,brc2:P\,1,Set token 2 to Contain:63743\,0\,cnt2:P\,3,Set token 2 to Evade:63743\,0\,evd2:P\,5,Set token 2 to Redirect:63743\,0\,red2:P\,7,Set token 2 to Scatter:63743\,0\,sct2:P\,9,Discard token 2:55\,715:I\,12,Exhaust token 2:55\,130:I\,1,Refresh token 2:55\,195:I\,-1,Set token 2 to Salvo:63743\,0\,sal2:P\,11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ PROP;Token 1;true,1,13,false;Set token 1 to Brace:63743\,0\,brc1:P\,1,Set token 1 to Contain:63743\,0\,cnt1:P\,3,Set token 1 to Evade:63743\,0\,evd1:P\,5,Set token 1 to Redirect:63743\,0\,red1:P\,7,Set token 1 to Scatter:63743\,0\,sct1:P\,9,Discard token 1:54\,715:I\,12,Exhaust token 1:54\,130:I\,1,Refresh token 1:54\,195:I\,-1,Set token 1 to Salvo:63743\,0\,sal1:P\,11\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ piece;;;;/-1 -1\ -1\\ -1\\\ -1\\\\ -1\\\\\ -1\\\\\\ -1\\\\\\\ -1\\\\\\\\ -1\\\\\\\\\ -1\\\\\\\\\\ -1\\\\\\\\\\\ \\\\\\\\\\\\ \\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\ defense\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 13\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 13\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 13\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 13\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ null;334;63;
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 1:17 pm

"Token 1_Name" is then defined in the following prototypes:

Small Ship Defense Tokens
Medium Ship Defense Tokens
Large Ship Defense Tokens
Huge Ship Defense Tokens

But you need only look at one, as the code is the same for all.
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 1:22 pm

I see there is a version of Vassal 3.4.7

I don't suppose updating would help?
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby uckelman » October 30th, 2020, 7:44 pm

Thus spake greenknight:
> I see there is a version of Vassal 3.4.7
>
> I don't suppose updating would help?

It might make no difference for the problem you're seeing, but we always
recommend using the most recent bugfix version for any major release.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 9010
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 8:14 pm

uckelman wrote:Thus spake greenknight:
> I see there is a version of Vassal 3.4.7
>
> I don't suppose updating would help?

It might make no difference for the problem you're seeing, but we always
recommend using the most recent bugfix version for any major release.

--
J.


Updated to 3.4.7

Saved module in new version.

Bug remains.
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 9:28 pm

New data:

It worked in 3.2.17

It does not work in 3.4.3, which IIRC was the first update for the module since 3.2.17
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby Brent Easton » October 30th, 2020, 9:57 pm

Thanks for the info, working on a fix for 3.4.8.
User avatar
Brent Easton
 
Posts: 3229
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: Report Action on oldLayer_Name not working

Postby greenknight » October 30th, 2020, 10:20 pm

Brent Easton wrote:Thanks for the info, working on a fix for 3.4.8.


Excellent
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby Brent Easton » November 2nd, 2020, 11:45 pm

Could you please supply a vlog file demonstrating the problem. I don't know how to reproduce the issue using your module.

Thanks.
User avatar
Brent Easton
 
Posts: 3229
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: Report Action on oldLayer_Name not working

Postby greenknight » November 3rd, 2020, 6:02 pm

Brent Easton wrote:Could you please supply a vlog file demonstrating the problem. I don't know how to reproduce the issue using your module.

Thanks.


Here you can see me getting a Rebel starship from my pieces menu.

I then do 3 actions that would normally report as:

* ASSAULT FRIGATE MK 2 exhausted [oldLayer_Name] token.
* ASSAULT FRIGATE MK 2 refreshed [oldLayer_Name] token.
* ASSAULT FRIGATE MK 2 discarded [oldLayer_Name] token.

But as you can see, it ignores oldLayer_Name.
Attachments
oldLayer_Name.vlog
(58.74 KiB) Downloaded 43 times
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Re: Report Action on oldLayer_Name not working

Postby Brent Easton » November 3rd, 2020, 8:04 pm

I have managed to track down and fix this bug, we should have a test build for you to try soon.
User avatar
Brent Easton
 
Posts: 3229
Joined: December 21st, 2007, 3:06 am
Location: Berry, NSW, Australia

Re: Report Action on oldLayer_Name not working

Postby greenknight » November 3rd, 2020, 8:22 pm

Brent Easton wrote:I have managed to track down and fix this bug, we should have a test build for you to try soon.


The brave warriors of a Galaxy Far, Far Away salute you!
greenknight
 
Posts: 65
Joined: November 18th, 2015, 9:46 pm

Next

Return to Technical Support & Bugs

Who is online

Users browsing this forum: marktb1961 and 9 guests