How to become a Vassal developper

Has anyone had success with Netbeans? I am not that familar with NetBeans, but I am attempting to SVN down the VASSAL engine code now.

I know that the ‘new’ direction for VASSAL 4 is C++ (which is kind of ironic, I used to be a C/C++ programmer and in 2004 I could not find any jobs doing that, so just this year I switched to java, did some C# from 2006 to 2009 or so off and on). Java obviously is platform independent so not sure why you would want to screw with that by going to C++ which in general is platform dependent, at least to most of my past knowledge.

At any rate I do like Eclipse it is what we use at work and now that I downloaded NB7 and Java7 NB7 is pretty neat as well.

Interesting, that lib was not listed, the instructions only indicated setting the lib jars, after I added the lib-nondist that removed all but 4 errors.

Okay, I then added that to the out put and did a clean and VASSAL is okay now. But CASL was complainign about a 1.5 JRE which I don’t have (only have 1.6 and 1.7) so I just removed that and then CASL has a black thing in it but it looks okay. Now ASL is complaining with 4 errors.

MappedBufferedImage cannot be resolved to a type
ASLBoard.java
/dlazov - ASL/src/VASL/build/module/map/boardPicker
line 377
Java Problem

Here is two screen shots:

at line error

hover over error

close but not quite their yet…

Thus spake zov66:

I know that the ‘new’ direction for VASSAL 4 is C++ (which is kind of
ironic, I used to be a C/C++ programmer and in 2004 I could not find any
jobs doing that, so just this year I switched to java, did some C# from
2006 to 2009 or so off and on). Java obviously is platform independent
so not sure why you would want to screw with that by going to C++ which
in general is platform dependent, at least to most of my past knowledge.

Sun claimed, and now Oracle claims, that Java is platform-independent.
The only interpretation I can see under which this could be true is that
they mean that classes compiled by their Java compiler will run in any of
their JVMs. This is such a weak claim as to be useless, as we care about
the classes’ behavior, not just that they’ll run. If they’re claiming that
you can expect classes to have the same behavior on different platforms,
then that’s simply false—some don’t. I’d point to our ImageIOImageLoader
class as evidence for this—it’s 350 lines of workarounds for the various
ways in which Java’s ImageIO image loaders are broken, some of which
affect only certain platforms. We also have 30+ locations in our trunk
where we do OS checks in order to get correct behavior. No C++ project
I’ve worked on has had so much platform-specific code (or code for
working around broken libraries) as VASSAL does.


J.

Joel,

Fair point.

Any ideas on my last 4 errors in ASL-src per the screen shots above?

Thus spake zov66:

Interesting, that lib was not listed, the instructions only indicated
setting the lib jars, after I added the lib-nondist that removed all but
4 errors.

Okay, I then added that to the out put and did a clean and VASSAL is
okay now. But CASL was complainign about a 1.5 JRE which I don’t have
(only have 1.6 and 1.7) so I just removed that and then CASL has a black
thing in it but it looks okay. Now ASL is complaining with 4 errors.

MappedBufferedImage cannot be resolved to a type
ASLBoard.java
/dlazov - ASL/src/VASL/build/module/map/boardPicker
line 377
Java Problem

The immediate cause is that all of the memory-mapped images code,
including MappedBufferedImage, no longer exists in the trunk.

The correct way to get a map image is to get an ImageOp using
Op.loadLarge(), and then to call getImage() on that ImageOp to get
a BufferedImage.

However, if you’re planning to do anything with that BufferedImage
other than immediately display it, you should encapsulate whatever
further processing your going to do in another ImageOp, as otherwise
you’re bypassing the image cache. E.g., it looks like after line 377
that the BufferedImage is cropped and scaled, which should be done
using CropOp and ScaleOp.


J.

Joel,

Oh, okay that sounds fine and all but all I am trying to do is to get VASSAL to complie in Eclipse. So I am not even coding anything yet.

So my basic question is since that this is old code or whatever, can I just delete it, comment it out or what?

Again, just trying to get the SVN down (which I did) and for it to work (compile) in Eclipse (which is wont).

Basically following directions that are old and not working correctly.

Thus spake zov66:

Joel,

Oh, okay that sounds fine and all but all I am trying to do is to get
VASSAL to complie in Eclipse. So I am not even coding anything yet.

So my basic question is since that this is old code or whatever, can I
just delete it, comment it out or what?

Again, just trying to get the SVN down (which I did) and for it to work
(compile) in Eclipse (which is wont).

Basically following directions that are old and not working correctly.

If you’re tring to compile VASL against the trunk as-is, that can’t
possibly work, because the trunk no longer contains some things which
VASL uses. If all you want is for VASL to compile, then you could do
that by commenting out the offending code—but presumably that code is
not intended to be a no-op, so you won’t produce a program which works
properly this way, just one that compiles.

Alternatively, I believe that VASL will compile against the 3.1 branch
of VASSAL without modification. However, this is only a short-term
solution. Someone will eventually need to update the VASL code to work
with the trunk.


J.

Okay, so basically one can’t download each one of the trunks and expect them to work as is. So that means then that the project is broke. So I need to SVN down only the branches and they should all work?

Kind of confusing, seems like one could download (SVN) down the trunk and it should compile with out all these issues and then add in the branches.

Still new to all this, the documentation is slim at best and so it’s confusing to say the least.

So I need to delete all that I have SVN down and only SVN down the branches correct? And that will cure everything?

Thus spake zov66:

Okay, so basically one can’t download each one of the trunks and expect
them to work as is.

Not together, no. They’re not synchronized. The VASSAL trunk is ahead
of the VASL trunk.

So that means then that the project is broke. So I
need to SVN down only the branches and they should all work?

No. There are likely to be many branches which don’t work.

Kind of confusing, seems like one could download (SVN) down the trunk
and it should compile with out all these issues and then add in the
branches.

I think you’re misunderstanding what the branches are. For VASSAL, each
branch started as a copy of the trunk at some point in the past. They’re
not meant to work together—each one is a complete copy of VASSAL.

So I need to delete all that I have SVN down and only SVN down the
branches correct? And that will cure everything?

The VASL trunk should compile aginst the VASSAL 3.1 branch.


J.

Okay, so still no go for some reason. I downloaded (SVN) VASSAL trunk (not sure which branch it is it was the default one so whatever version that is) and then the VASL trunk. This fails. So now I need to figure out somehow which VASSAL 3.1 branch to SVN and then get the VASL trunk again or something like that?

man this is confusing, the getting started does not work, NetBeans does not like SVN with VASSAL and Eclipse fails with the docs so far.

By the time I figure this all out it will be outdated and everyone will be using C++ … lol oh well…

Thus spake zov66:

Okay, so still no go for some reason. I downloaded (SVN) VASSAL trunk
(not sure which branch it is it was the default one so whatever version
that is) and then the VASL trunk. This fails. So now I need to figure
out somehow which VASSAL 3.1 branch to SVN and then get the VASL trunk
again or something like that?

There is only one 3.1 branch. It’s located at VASSAL-src/branches/3.1.


J.

Okay VASSAL full (the whole trunk) and VASSAL 3.1 branch are all okay it’s the VASL (ASL) piece I am having issues with.

So no problems with VASSAL full (trunk) nor the VASSAL 3.1 branch. But ASL is hosed.

Any ideas?

Now the errors are :

Description Resource Path Location Type
AndFilter cannot be resolved to a type JabberClient.java /dlazov - VASSAL 3.1 Branch/src/VASSAL/chat/jabber line 576 Java Problem

100 errors…

There just has to be an easier way then all this mess, even at work which is thousands of programs, web aps, junit it’s not as crazy nor unorganized as trying to get this to work.

There should be an easier way for someone to SVN down the code and for it to compile without a fellow writing one line of code…

Have you set the Build Path correctly and set your Project references correctly?

The 3.1 Vassal branch project must be referenced in the Projects section of the VASL project.

Have you included all of the libray jars in the lib folder of the 3.1 branch in your build path for the project?

That error you are referring to in JabberClient.java is an error in VASSAL, not VASL. AndFilter is found in Smack.jar in the lib folder.

Thus spake zov66:

There should be an easier way for someone to SVN down the code and for
it to compile without a fellow writing one line of code…

The instructions are in the wiki. You could update them once you get
things working.


J.

Hi.

My name is Carlos. I am java and c++ developer. Iwould like to contribute to the vassal project. I have been vassal user for some months and i want to take the next step. My source forge name is clperez. I offer you my help.

Do you use any coding standard?

See you.

hi,

i’m also interested in becoming a developer. i’ve created some game vmods, but found i needed to add functionality to the ‘Deck’. i’ve downloaded the 3.1.15 tagged source and was able to implement my change. so i’d like to submit it for approval and help out with other changes.

my source forge user name is cwero.

Any update on the VASL build problem? I just built it the first time with 7684 build but it failed.

So the new Vassal engine release has no new VASL stuffs in it, I suppose.

Lance

Thus spake lancel:

Any update on the VASL build problem? I just built it the first time
with 7684 build but it failed.

Lance, what problem exactly are you having with building VASL?

So the new Vassal engine release has no new VASL stuffs in it, I
suppose.

No, there’s nothing new for VASL in 3.1.16.


J.

Joel,
I think I have the same problem as Zov66 regarding the building of VASL project. I think it is because the entire VASL folder in the ASL trunk is now located under the src folder. My guess is that originally this ASLBoard class is supposed to be coming from the VASL.build.module.map package but now because of the way the VASL folder is structured, it cannot be located any more. As an experiment, I refactored all the VASL.build.* packages from their current src.VASL.build.* package names to VASL.build.* package names. Then when I built the ASL project, I had no problem. With the current setup, I got something like 200+ errors.

Lance

Lance,
That’s because of the way you have your project profile set up in Eclipse. You need to set you source folder in the Configure Build Path as VASL/src, not VASL.
Brent.