3.2 roundup

I’m trying to get a handle on what’s left to do before we can release a 3.2 beta.

  • I know that Pieter is waiting (patiently) for me to merge his hex grid changes. I started looking these over this evening.

  • We need to come to some sort of resolution on the Windows LaF problem.

Is anyone else waiting on me for things?

What is everyone else working on presently?

I posted a couple things in the Technical Support & Bugs forum in this thread here:

https://forum.vassalengine.org/t/combining-expressions-and-a-mask-problem-3-2-build/4387/1

I’m not sure if they’re bugs or not.

[]RecursionLimiter currently erroneously limits call stack/depth, not recursion alone. Still waiting on Brent to gimme the green light to correct this.[/]
[]After RecursionLimiter is corrected, I wanna make TriggerAction handle animations (via separate threads)[/]
[]Trying to correct oddball Traits engine so newbies and veterans can use Traits in top-down, logical style/flow[/]

About oddball Traits engine, I just discovered this:

[]Variables (DynamicProperty or Marker) are, so to speak, “declared and put into scope top-down” (top one first, then 2nd and so on)[/]
[]Commands are executed bottom-up[/]

Are my assumptions correct? I haven’t checked the 2nd point about command-execution order.

Is it worth it for me to add a “Function” trait that lets module designers lay out variables and commands in logical (ala modern day programming) style? In the Funtion trait, I would attempt to use most/all existing library of Traits so that veterans find the Function trait familiar.

Or should I just start rewriting all existing Traits into Beanshell methods instead?

About Python for scripting, I feel that we can test out our translation of existing Traits into script methods/functions first, with Beanshell. It shouldn’t be too much effort to port to Python from Beanshell.

The Traits engine is unraveling my ability as a programmer! That is, after designing a module with the Traits engine for some time, I find myself unable to program anymore in Java! My logic and flow is all warped. My brain hurts like it’s been twisted inside out.

Brent Easton acknowledged reproducing the behavior described in the quote and logged it as Bug 4050. I don’t know if he intends to fix it for 3.2. I’d rate the issue as low-priority, though it can be annoying at times. (I originally reported this here: viewtopic.php?f=5&t=4499&start=30#p26040 )

I see this bug too! Yes, it is terribly annoying, and I would list it as broken. I’ll fix it within these couple of days. (I’ll commit my fixes the moment my end-of-line character issue is resolved or allayed at here).

The bug only occurs when the Windows native L&F is turned on, and I believe it is most likely a Java bug. The code involved is extemely complex with multiple layers of Listeners interacting accross multiple classes. I am glad you will have a fix for it in the next day or two Jon.

B.

I am working on cleaning up and standardising the ‘board-bases’ editors (Deck/Stack Positioner, Irregular Grid region Editor, Zone Shape Editor), extracting duplicated code and fixing bugs. That’s pretty much it for me apart from looking at bugs and general issues raised.

Brent.

Oh. Guess I’m in over my head. Anyway, I’m just trying to help out. Thanks for the heads up!

I’ll put in a couple of days to see if I can get that bug.

By the way, should I just attach the patches to the tracker, and let you commit the patches? The bugs are assigned to you. I figured you must be busy.

Also, why is your account on the tracker listed as “unknown”? Should we ask Joel to look into rectifying your account?

Thus spake viewofheaven:

By the way, should I just attach the patches to the tracker, and let you
commit the patches? The bugs are assigned to you. I figured you must be
busy.

Commit changes to a branch, then note the changesets in the tracker.

Also, why is your account on the tracker listed as “unknown”? Should we
ask Joel to look into rectifying your account?

This is Bug 4091:

vassalengine.org/tracker/sho … gi?id=4091

It’s odd, because it appears to happen only with Brent’s account, and it
recurs almost immediately after I change the name associated with
Brent’s account it in the database. Fixing this will require looking at
the code in Bugzilla to see under what conditions the name can be reset.
If you’d like to do that, I’d appreciate it.


J.

Aye aye, will do. Just thought I’d let Brent commit my patches to bugs assigned to him, simply because I hope for peer review of my code.

Ok, I’ll get on this. Really irritating bug. I’d be really distracted if my contributions on Vassal keep getting listed as “from unknown”.

I submitted a patch for this just now. The bug is in a major logic flaw (from 1 tiny line) in PieceMover.

By the way, I’m lazy as heck when it comes to designing games (read my initial hunt for a game designer to how I eventually latched on to an avid game designer).

I’m good with reverse-engineering, which is why I kill bugs pretty quickly. But that’s all I do.

If you ask me to “just shut up and finish up your suggested Pandemic game polish”, which I believe (perhaps mistakenly) I can technically do, I’ll be procrastinating. I promised to redo Pandemic in 2 days, and never got around to it! For the record, I think I’ll take much longer than most of you guys to redo Pandemic.

So, feel free to throw bugs at me and tell me to “just shut up and eat bugs”! Heh. :slight_smile: Yeah, I’m willing to take it upon myself to be responsible for bugs in Vassal, cos I can do that pretty easily. Rest of you guys should help me create games I can enjoy!

[size=150]Commander, dilithium chambers are at full. Warp cores stable and ready. Engineering is good to go! Sir![/size]

Thus spake viewofheaven:

So, feel free to throw bugs at me and tell me to “just shut up and eat
bugs”! Heh. :slight_smile: Yeah, I’m willing to take it upon myself to be
responsible for bugs in Vassal, cos I can do that pretty easily. Rest of
you guys should help me create games I can enjoy!

Here’s the query for open bugs:

vassalengine.org/tracker/bug … plications

There are lots which haven’t been looked at yet (many of which are
likely to be duplicates, and should be marked so).

Here you can see the most-reported open bugs:

vassalengine.org/tracker/dup … openonly=1

Go forth and fix bugs. There’s certainly no shortage of them.


J.

Jon,

With your ‘fix’ in place, you can no longer drag counters from GamePiece palette and drop them on a map. They just dissappear.

This existing code works perfectly with Java L&F turned on, but is only broken with Windows L&F turned on. This is why I suspect a Java bug in the Windows L&F. There appears to be a difference between the Java and Windows LaF’s in the sequence of Mouse events generated when you cancel a popup window by clicking away from it.

Regards.
Brent.

Thus spake Brent Easton:

This existing code works perfectly with Java L&F turned on, but is only
broken with Windows L&F turned on. This is why I suspect a Java bug in
the Windows L&F. There appears to be a difference between the Java and
Windows LaF’s in the sequence of Mouse events generated when you cancel
a popup window by clicking away from it.

This might be a reason to give up on the Windows L&F. That would also
solve our font size problem.


J.

This might be a reason to give up on the Windows L&F. That would also
solve our font size problem.

Will anyone be sorry to see it go?

Sorry! Submitted a new patch. Didn’t cater for the case where pieces are dragged between different maps. Actually, they don’t disappear; they just don’t get moved or dragged! Note the function “isClicked”. The problem with my patch is right there.

I don’t know if this is a Java bug. The fixes I made are all logical fixes (to do with logic). In short, it indicates that the problem isn’t at a lower (API) level, but at a higher (programmer) level.

Thanks for testing!

I didn’t test if the patch works for Java L&F. Can you check if I broke things for the Java L&F?

Now, this would most likely be an API error. Is there a tracker for this, so I can observe this difference? Currently, I’ve added codes to work around this problem. I merely used the right-click pressed to “cancel drag” (on second thought, you might wanna change this logic to “buttonPressed != BUTTON1” instead, so that anything other than left-click press will cancel drag).

Your new patch generates a NullPointerException when moving a counter from 1 map to another.

As I said, this code works perfectly With Java L&F and breaks with Windows L&F. We shouldn’t have to do anything. I think your fixes are just attempting to work around this bug.

Erm. Is it alright if you give me a little support, say in terms of testing my patches, instead of telling me I shouldn’t have to do anything? Well, if I’m breaking things, please do tell me to stop. But otherwise, is it alright for the team to allow me some indulgence in fixing things? :slight_smile:

I don’t see that NullPointerException. Check out trunk version 7945, apply my patches, and test. Thanks!

Since we have other issues with the Windows L&F, we are considering reverting to the Java L&F, which will fix this issue also, hence my comments. Please, keep at it. I will have a look at the latest version.

Regards,
Brent.

Forgive my naivety, but what does Windows L&F bring to the table and what do we lose without it?

-Mark R.