Roadmap for VASSAL 4

Thus spake lancel:

I have the same problem with Win7 as well. My current guess is that the
native Win32API libaries used to link with the glew dll files on the
MinGW may be a bit out-of-dated. That may explain why it fails only on
Vista or newer version of Windows.

I doubt it’s that—the Win32API libs which I linked GLEW against are
the same ones that all of the other DLLs you’re using are linked against.

I have no problem building the glew32 files using the source code
downloaded from SourceForge with VS 2008 C++ Express and those dll files
can be loaded by the test.exe on my Win7 without any problems.

I’m in the middle of working through the problem with someone from the
#fedora-mingw IRC channel now. We’ll see where that goes.

BTW, the code is available at SF now:

vassalengine.git.sourceforge.net … ;a=summary


J.

I compiled the code with VS C++ 2010 Express to see how it looks on my W7 netbook. The counters look good now on my W7 netbook. However, the map screen got an extra layer of white “canvas” that I can drag around inside the viewport. I eventually had to move that white layer all the way over to the top of the map before I could see the entire map since that white “canvas” is like a blanket. I wonder if you can see that too on your Linux boxes and if it is an artifact of building it with MS Visual Studio.

Lance

Thus spake lancel:

I compiled the code with VS C++ 2010 Express to see how it looks on my
W7 netbook. The counters look good now on my W7 netbook. However, the
map screen got an extra layer of white “canvas” that I can drag around
inside the viewport. I eventually had to move that white layer all the
way over to the top of the map before I could see the entire map since
that white “canvas” is like a blanket. I wonder if you can see that too
on your Linux boxes and if it is an artifact of building it with MS
Visual Studio.

Lance

No, I don’t see that on Linux. What size is this object?


J.

Thus spake uckelman:

I think what we need to do is ensure that all textures are made square
and have their dimensions padded out to the next highest power of 2.
I’ll do that tomorrow, it should be easy.

The current version I’ve uploaded (0.0.0-d226f9f9) uses only power-of-
two-sized textures. If you’re still seeing some map tiles or piece faces
as blank on any machine with this or later builds, please let me know.

Also, the GLEW libs I’ve included in the Windows build are the ones
distributed by the GLEW project, not ones I built, so you should not need
to replace them.

vassalengine.org/~uckelman/v4-demo/


J.

I gave the latest demo a try. Zooming (with mouse wheel and holding down middle mouse button), panning, rotating all worked perfectly for me.

All the previous demo versions failed. I’m on Windows 7.

This looks and works great for me. (Vista 32)

*********** REPLY SEPARATOR ***********

On 6/06/2011 at 10:42 AM Joel Uckelman wrote:

Thus spake uckelman:

I think what we need to do is ensure that all textures are made square
and have their dimensions padded out to the next highest power of 2.
I’ll do that tomorrow, it should be easy.

The current version I’ve uploaded (0.0.0-d226f9f9) uses only power-of-
two-sized textures. If you’re still seeing some map tiles or piece faces
as blank on any machine with this or later builds, please let me know.

Also, the GLEW libs I’ve included in the Windows build are the ones
distributed by the GLEW project, not ones I built, so you should not need
to replace them.

vassalengine.org/~uckelman/v4-demo/

On my W7 Netbook, it looks like this the attached screenshot:

[attachment=0]demo.jpg[/attachment]

There is a white rectangle found at the top right corner that is as big as the map itself. I can drag that white rectangle around as it covers part of the map. I can see the same thing using Joel’s latest upload as well as the executable I compiled locally with his source.

Lance

Okay, tried the latest, I get a console box that disappears after a moment. (No second box this time.) After several attempts, I got a screenshot that told me the message in the console is:

terminate called after throwing an instance of ‘std::runtime_error’
what(): Error: map image filename must be given as an argument.

I know you’ve talked about that, but hadn’t really followed it. So, I extracted out an image file, and put it in the image directory, figured out where Microsoft hid the Command Prompt and tried again. Complained that it couldn’t open the file. Moved the image down from image to where ‘test.exe’ was. Complained that it wasn’t a jpeg (it was a gif; note that the previous time it did not complain that it couldn’t find the file, but that it couldn’t open it…). Root around for a jpeg.

test GB_00.jpg
terminate called after throwing an instance of ‘std::runtime_error’
what(): error: couldn’t open “GB_00.jpg”!

I went back, noticed the image archive grabbed it, tried again with Counters-Front_01.jpg. Said it wasn’t a jpeg file.

I don’t have any idea what I’m missing…

Never mind. I figured out why I got an extra blank map-size object. That was because I somehow in the past copied the map.jpg file to the images folder in addition to the copy of the map.jpg file that is in the same folder as the executable file. The map.jpg in the images folder shows up as that blank map in my screenshot. Once I removed that file, that blank map is gone and things look fine.

Lance

Rindis,
The file structure for your testing should be:

  1. Copy the map.jpg into the same folder or directory as the test.exe’s.
  2. Copy the images folder to the same folder as the text.exe’s. In other words, the “images” folder is now a subfolder of the folder containing test.exe.
  3. Then run: test map.jpg.

Lance

Okay, I’m seeing it now, but when I looked in the zip this morning, I only saw counter files. >.<

“Not a JPEG file: starts with 0x47 0x49”

Thus spake lancel:

On my W7 Netbook, it looks like this the attached screenshot:

Do you have the map image file in the images directory?


J.

Yep, that was exactly what happened.

Lance

Thus spake “Brent Easton”:

This looks and works great for me. (Vista 32)

Excellent. I’m glad to hear this works for everyone now.

That puts my mind at ease about the technical feasibility of using
C++ and OpenGL for VASSAL 4 (though I would like someone using a Mac
to compile the code and try this out as well). I think this answers
the questions we had about how difficult it would be to use OpenGL
for this and how well it would perform (not very hard, and well).


J.

Did you include the 64bit libraries? I haven’t tested because you said you
hadn’t included them yet


From: Joel Uckelman uckelman@nomic.net
To: messages@vassalengine.org
Sent: Wed, June 8, 2011 3:17:13 PM
Subject: Re: [messages] [Developers] Re: Roadmap for VASSAL 4

Thus spake “Brent Easton”:

This looks and works great for me. (Vista 32)

Excellent. I’m glad to hear this works for everyone now.

That puts my mind at ease about the technical feasibility of using
C++ and OpenGL for VASSAL 4 (though I would like someone using a Mac
to compile the code and try this out as well). I think this answers
the questions we had about how difficult it would be to use OpenGL
for this and how well it would perform (not very hard, and well).


J.

Thus spake Timothy Mccarron:

Did you include the 64bit libraries? I haven’t tested because you said you
hadn’t included them yet

For the moment, I can’t do a 64-bit build, so all the Windows DLLs are
32-bit. That should still work on 64-bit Windows.


J.

I had a few minutes today to work on the demo, so I have PNG loading working now. There’s a new build here:

vassalengine.org/~uckelman/v4-demo/

Does anyone have any opinions about using SDL (libsdl.org/) for handling sound, networking, keyboard and mouse events, and image loading? My understanding is that it’s actively developed, widely used, and supported on every platform we’re targeting. It’s been used in dozens of games, so seems well-tested, and it appears to have a large developer community around it.

The reason I’m interested in it is that would give us an easy way to handle image loading for PNG, JPEG, and GIF (through the SDL_Image sublibrary), and additionally would let us load SVG, PDF, and PostScript via Cairo. Being able to load PDFs as images would be quite neat.

With the latest demo, I get an error stating that “zlib1.dll is missing from your computer”.

I’ve used SDL before and I can recommend it as an easy to use library. I can also readily attest to the fact that it has a massive community, who are quite supportive, behind it.

Thus spake LB:

With the latest demo, I get an error stating that “zlib1.dll is missing
from your computer”.

Oops, I forgot that libpng depends on that. I’ve replaced the Windows
build with one that includes zlib.


J.