Test builds for 3.3.0

Yes, seems to have worked. I am using C&CM for PBEM once or twice a day at the moment, so I can continue to monitor but vlogs that were reproducing the crash are no longer doing so, so it looks fixed.

Also, the C&CM module quit cleanly in all three tests that I did.

Thus spake marktb1961:

“uckelman” wrote:

Try 3.3.0-svn9355. I fixed a threading problem with the stream from
which
MP3s are read. I suspect this will solve the problem.

Yes, seems to have worked. I am using C&CM for PBEM once or twice a day
at the moment, so I can continue to monitor but vlogs that were
reproducing the crash are no longer doing so, so it looks fixed.

Also, the C&CM module quit cleanly in all three tests that I did.

Great. On to the remaining issue with C&CN.


J.

Hello Joel,
The “Mouse over Stack Viewer” property is failing again when DPI scaling is <> 100%, in another module. I am using 9355 to test this.
The module is The Greatest Day Sword/Juno and Gold beaches module v 1.8.9 (vassalengine.org/mediawiki/i … _v189.vmod)

Not sure what is different here that makes it fail whereas it works well in Tunisia II
Main differences I see in the Mouse Over Stack Viewer are: that in GTS the pieces are drawn at 1.0 scale factor, Tunisia uses 0.9

Will try playing with that parameter and let you know. Bye Claudio

Regarding the “Mouse Over Stack Viewer” I copied all settings from TuII onto the GTS game, but the issue persists.
The “Mouse Over Stack Viewer” trait probably depends on other properties of the game itself.
Kr
Claudio

Hi Claudio,

The problem is that my GTS modules make extensive use of custom Java code modules, including a custom mouse-over stack viewer. I had been putting off applying the HiDpi fixes as I am unable to reproduce the issues on a Windows system without a HiDpi screen. [If anyone knows how to do this, please let me know.

If you are willing to be my Test Pilot, I will start work on the update. As well as the mouse over stack viewer, I expect there will be problems with the Attack Wizard LOS thread, Info display and the Out-of-command display.

Regards,
Brent.

Aha,
Problems didn’t appear (except for blurry counter images) until I ran 3.3.0. Now I have the images appearing out of position issues. I have some thing to work with now, but will need assistance with testing on real HiDPI displays.
Brent.

Brent
Ok, sign me up as your Test Pilot. I will also install the vassal project on Eclipse shortly.
you can contact me directly at claudio.ciardelli@gmail.com
Bye

I’ve uploaded 3.3.0-svn9359, which reverts svn9250, the commit we determined was causing the problem with the C&C Napoleonics Vimiero scenario.

Unfortunately, the undo issue I found with the Vimiero scenario also happens in 3.2.17, and isn’t affected by svn9250 at all. I would still like to fix Bug 12538 for the 3.3.0 release, which svn9250 was intended to fix, but as I can’t reproduce the problem it then causes I’m not well-positioned to do that.

Would someone who can reproduce the Vimiero problem be willing to create a minimal example module that demonstrates the problem?

I’m not sure what undo problem is in Vimiero, but in case you didn’t see here is a minimal example module that will reproduce AN undo problem that is definitely in 3.2.17 and it will definitely reproduce it for you: vassalengine.org/wiki/File:UndoBug.vmod

Apologies if you already saw it.

I don’t seem to be able to view bugs via the “Tracker” (Bugzilla) function. Is it possible to gain read-access or am I not looking in the right place?

Thus spake marktb1961:

“uckelman” wrote:

I would still like to fix Bug 12538 for the 3.3.0 release, which
svn9250 was intended to fix, but as I can’t reproduce the problem it
then causes I’m not well-positioned to do that.

Would someone who can reproduce the Vimiero problem be willing to
create a minimal example module that demonstrates the problem?

I don’t seem to be able to view bugs via the “Tracker” (Bugzilla)
function. Is it possible to gain read-access or am I not looking in the
right place?

That particular bug was marked as “to be moderated” for no reason I can
see, so wasn’t public. I’ve unset that. Try now.


J.

I had a look. That’s definitely not right—but as it already happened in 3.2.17 I’m not going to sink time into fixing it. If someone else wants to, I’m happy to review patches.

Okay thanks for looking. I dug around for probably 3 hours trying to find it, but at least so far am not able to track where it is misbehaving. The CLUES I can offer anyone who is willing to have a look is:
(1) If you add “does not stack”/Immobilized to the piece, the problem goes away. So something to do with stacks and reversing their moves.
(2) The problem occurs specifically when a piece (or stack) is moved, and somewhere during the processing of the trigger caused by the move the piece (or stack) gets moved a second time.
(3) It is ONLY when a piece/stack is dragged somewhere as the initial part of the movement. A sequence initiated by send-to-location does not manifest the problem.

I think it is quite likely that the movement is being correctly wrapped up in the Command (else the initial move wouldn’t be working right in logfile/multiplayer play, but it IS working right), and that therefore the error is somehow in the execution of the UNDO – possibly some part of it is being refused/ignored as a duplicate-to-the-same-location or something like that. But alas I have not found it so far.

I do agree with what Mark says, above, that this is probably at the root of what generates the occasional bug reports of “my undo didn’t work”.

I will keep looking but while I’ve looked at buckets of multiplayer synch code in my time, I’m still pretty new to the idiosyncrasies of Vassal’s “stack” functionality.

Thanks again for having a peek.

Brian

I’ve uploaded 3.3.0-svn9360. This makes a few small adjustments to how we’re building the packages. There should be no changes to the Windows and Mac packages between this and svn9359. The Linux package now has Java bundled with it.

Please give these a try. What I’m hoping to verify with this build is that I’ve not broken installation etc. for the packages, i.e., that they still run as before. There are no code changes in svn9360.

Installed last night. Using it ok on my Mac.

By the way, I was looking at C&C Ancients module content recently. The other sounds are provided via .wav files. I expect it is the same for Medieval.

Re-visiting this with 3.3.0-svn9360, I find a difference with the image produced, compared to v3.2.17 which I missed when I tested previously. Though the image is captured in full, it is somehow scaled wrong in the output compared with v3.2.17.

v3.2.17 - dropbox.com/s/tziu1vo69u927 … 7.png?dl=0

v3.3.0-svn9360 - dropbox.com/s/r00aprdk36gnj … 0.png?dl=0

Thus spake marktb1961:

“marktb1961” wrote:

3.3.0-svn9354 on MacBook Pro (with Retina) MacOS Catalina 10.15.4

Updated:-

  • zoom bug when using the “saved map as PNG file” - confirming, fixed.

Re-visiting this with 3.3.0-svn9360, I find a difference with the image
produced, compared to v3.2.17 which I missed when I tested previously.
Though the image is captured in full, it is somehow scaled wrong in the
output compared with v3.2.17.

v3.2.17 - dropbox.com/s/tziu1vo69u927 … 7.png?dl=0[1]

v3.3.0-svn9360 - dropbox.com/s/r00aprdk36gnj
0.png?dl=0[2]

Thanks for spotting this. Try 3.3.0-svn9361.


J.

I ask this fully aware the answer may be “no” –

Is there any chance that for 3.3 you’d be willing to add the following line to each of the three MouseWheelEvent listeners (last three methods) in ScrollPane.java:

if (e.isControlDown() || e.isAltDown()) return;

Reason – I’m dying to add some MouseWheel functionality in custom java classes, but alas the MouseWheel stuff is attached deep in the bowels of Map.java (no easy way to “override”), and it presently sucks up all the MouseWheel oxygen.

With that line, Ctrl+MouseWheel and Alt+MouseWheel would become available for custom-classing, without altering behavior for present modules.

Full code w/ proposed patch below.

Fingers crossed,

Brian

    viewport.addMouseWheelListener(new MouseWheelListener() {
      public void mouseWheelMoved(MouseWheelEvent e) {
        if (e.getScrollAmount() == 0) return;
        if (e.isControlDown() || e.isAltDown()) return; //BR//

        if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
          final JScrollBar bar = e.isShiftDown() ?
            horizontalScrollBar : verticalScrollBar;
          if (bar == null || !bar.isVisible()) return;

          bar.setValue(
            bar.getValue() +
            e.getUnitsToScroll() *
            bar.getUnitIncrement()
          );
        }
      }
    });

    verticalScrollBar.addMouseWheelListener(new MouseWheelListener() {
      public void mouseWheelMoved(MouseWheelEvent e) {
        if (e.getScrollAmount() == 0) return;
        if (e.isControlDown() || e.isAltDown()) return; //BR//

        if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
          verticalScrollBar.setValue(
            verticalScrollBar.getValue() +
            e.getUnitsToScroll() *
            verticalScrollBar.getUnitIncrement()
          );
        }
      }
    });

    horizontalScrollBar.addMouseWheelListener(new MouseWheelListener() {
      public void mouseWheelMoved(MouseWheelEvent e) {
        if (e.getScrollAmount() == 0) return;
        if (e.isControlDown() || e.isAltDown()) return; //BR//

        if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
          horizontalScrollBar.setValue(
            horizontalScrollBar.getValue() +
            e.getUnitsToScroll() *
            horizontalScrollBar.getUnitIncrement()
          );
        }
      }
    });

Yes, that worked in my test.