Two Features for 3.6.8

The inbuilt Hide All function has 2 icons, 1 for when not active and 1 for when active. Mind the latter is pretty obvious as there are no game pieces showing on the map.
The game piece layer control function has 1 icon. I’m ignoring the 2nd icon when ‘disabled’. So, as we are working on 3.6.8, is it possible to add functionality for module developers to have 2 icons for the game piece layer control function? I would think that this would only be necessary for the ‘Switch layer between active And inactive’ (me I would have used ‘Active and Inactive’ there - an English expression thing I have).

2nd. While I appreciate that the ‘Edit All Contained Pieces’ can be very flakey in how it does stuff, I would also like to have the ability to ‘Open All Contained Pieces’. When I need to do something to a particular type of game piece, having to double click on each one within a ‘folder’ is a regular pain in the butt and stresses out my mouse, wrist and finger. The introduction of the italics when opened really helped in ‘drats I’ve missed that one’, but to have the system open them all with 1/2 clicks has to be better. BTW, please do not say I should use prototypes to obviate this necessity. Each game piece has some unique property/trait and/or combination of properties/traits. A function from the game (world in flames).
In anticipation, thanks for your attention.

What, too much for you to take?
A nil response is, in and of itself, repulsive.

I agree, those are both things which could be implemented.

It’s unreasonable to expect a reply to a feature request post within a day. Note that you’ve also not replied to my request for an example here, which is two days older.

Apologies for that. I missed the question entirely. Thus I went forward in life in blissful ignorance (not an unusual state for me at times).

I have built an initial version of this. It can be played with by going to Builds of vassalengine/vassal and installing the appropriate VASSAL-3.6.8-SNAPSHOT-9a07875-11534-OpenAllContainedPieces build.

However, this has raised an issue that I need help with:

image

How confusing is that? What the hell is the difference between ‘Edit All Contained Pieces’ and ‘Open All Contained Pieces’?

We need better wording. The full meaning of each is slightly long:

  • Edit All Contained Pieces At The Same Time In A Slightly Dodgy Single Window
  • Open All Contained Pieces In Separate Windows

That is what the edit all contained pieces should say, except I’d use ‘…a VERY dodgy…’. Should also say that the changes you make are implemented straight away. Pressing cancel is far too late. Also the system will crash if you paste a copied or insert a new trait anywhere but immediately after the basic piece trait. Users will also need to use the up/down arrows to move that new trait into the desired position. Click and drag also fails. If deleting a trait, use the remove button, not the DEL key. Learned lessons here.

While the edit all contained pieces does have its uses, it is also a dangerous function. Edit the basic piece or a layer (say the reverse image that is activated by CTRL F), every other contained piece will have what ever the topmost game piece in that folder has.

How about “Mass Edit All Contained Pieces”?

1 Like

While I do sometimes find the Edit all contained pieces beneficial, the pitfalls with its use, I believe, outway the usefulness. My belief is that this particular function should be deleted.
However, do not accept my personal view. The views of other module developers also need to be considered. Perhaps a ‘poll’?

I try to construct my pieces with a prototype hierarchy to prevent the need for an Edit all contained pieces functionality.

As do I. But with World in Flames most game pieces need different traits. Particularly things like combat strength for ground units, surface combat factors/ASW for ships and NAVAIR/Ground strike/strat bombing for planes. Then for planes there are specific mission types they can perform CAP, Intercept, Extended Range, High Altitude and Night Bombing (strat). Each of the latter has an icon ‘turned on’ to show what active mission the plane has. Every plane has different capabilities for mission types. Yep, frustrating, but I have to do that for each applicable unit. I use prototypes where I can. These cover the common traits applicable to each unit type.

Here is my suggestion:

image

  • I have used ‘Open All’ instead of ‘Edit All’ to make it clearer that the new option does not do what the old ‘Edit All’ does.
  • Changed the ‘Edit All’ option to be clearer what it is trying to do.
  • Moved these relatively light used options down and out of the way where there is less chance them being accidentally selected.

The Mass Piece Editor is a horrific piece of code, but I will try and correct it’s worse faults. I’ll try and get the Cancel button working properly, that would be a good start. And add a page specifically for it in the Reference Guide.

I have not been able to duplicate the crashes you describe. Could you please provide detailed steps to reproduce the problems?

Yes, that is the purpose of the Mass Piece Editor, whatever you do to the first piece, it attempts to do the same to all the other pieces. So editing the Basic Piece or a Layer trait, it will attempt to make every piece have the same Basic Piece or Layer Piece.

I agree, it is a very dangerous function and that may not make a lot of sense, but the way it is written, it is just not possible to make it more finely grained. (like change one sub-option within a Layer).

I’ll have a play today and report later on.
Re the cancel button (and even the OK button). The edit all does changes on the fly. As soon as one does something, that change is implemented. The OK/cancel buttons merely close the window. At least that is my experience.

Seems the ‘edit all contained pieces’ wants to play nicely today. Oh well, not a big issue. I’m sure that it will happen when I least expect it to.
Your suggestion for renaming this ‘function’ and the positioning are all good.
As for the code behind the Multi-piece Editor, being a lightly used option, is it really worth your time (and angst) going through it , even if only correcting the worst faults? Likely this function will either disappear or be fully recoded with V4.

I think it is worth making the Cancel work correctly, so that anyone who stumbles upon it can at least back out gracefully. I basically just need to back up the whole set of pieces at the start and restore them on Cancel.

4 Likes

Can you please try the VASSAL-3.6.8-SNAPSHOT-4e27d7f-11537-MassPieceDefilerCancel build?

Thanks,
Brent.

Modified cancel function works. I just chose a scrollable list and changed the layer. First off I clicked on OK. Yep, every piece now had the same reverse. Closed and reopened. The same process except I clicked on cancel. No changes to the game pieces.
Very good work there Brent.

“MassPieceDefiler” :rofl: I’m guessing that was a Freudian slip!

No, that’s our pet name for it :stuck_out_tongue_closed_eyes:

1 Like

I’ve put in one final tweak where the pieces affected by the multi-edit session will be marked as ‘touched’, i.e. they will show in italics.

The multi-piece editor looks at the first piece in the component, then finds all other pieces that have the same number, type and order of traits and applies the edits on the first piece to those others that match.

2 Likes