A critical BScreen problem in SDL/BeOS

I’m the maintainer of the BeOS port of Simutrans, a free Transport
Tycoon clone. I’ve chosen SDL as the library for the BeOS port. The
current version was released earlier this week, and it compiles
successifully.

The newest BeOS version hasn’t been released though because it’s having
some critical problems in startup. The Linux and Windows versions
work without any problems.

On my system it gives this error message when trying to initialize SDL:
Couldn’t initialize SDL: Unknown BScreen colorspace: 0x

It has also been tested on another BeOS computer. It runs clearly
without any problems there. There shouldn’t be any problems with my SDL
installation because all other SDL games and Simutrans’ older versions
work without problems. This is really weird!

It looks like it can’t determine the colour depth for some reason. What
could be the problem here? The version of SDL was 1.1.4. I upgraded to
1.1.5 yesterday but it didn’t work even with it.

I’m using BeOS 5.0 and the desktop interface is OpenTracker/NewFs. The
resolution is 800x600 and the colour depth is 16 bpp.

Another message sent by
Pasi Ruhanen, aka Roast Duck

Hiya

On my system it gives this error message when trying to initialize SDL:
Couldn’t initialize SDL: Unknown BScreen colorspace: 0x

Do you not get anything after the ‘0x’ bit? That’s strange.

It has also been tested on another BeOS computer. It runs clearly
without any problems there. There shouldn’t be any problems with my SDL
installation because all other SDL games and Simutrans’ older versions
work without problems. This is really weird!

It looks like it can’t determine the colour depth for some reason. What
could be the problem here? The version of SDL was 1.1.4. I upgraded to
1.1.5 yesterday but it didn’t work even with it.

I’d agree about the colorspace from looking at the code…without checking
further, the reported colourspace is0x0, which equates to B_NO_COLORSPACE.
This suggests the BScreen() object wasn’t constructed successfully. I’ve
inserted
code to check this into my local working copy, but that doesn’t help you
much…

I’m not under BeOS at the moment, but if you want to try this go to
src/video/bwindow/SDL_sysvideo.cc and search for the BScreen instantiation.
After this, add (from memory, check against existing code):

if (!screen.IsValid()) {
SDL_Error(“BScreen constructor failed.”);
return -1;
}

This should give you a clue as to the problem.

I’m using BeOS 5.0 and the desktop interface is OpenTracker/NewFs. The
resolution is 800x600 and the colour depth is 16 bpp.

Have you tried other resolutions/colour spaces? Does it work in a
window/full
screen? What graphics card do you have?–
C-YA
Jon

http://www.dookie.demon.co.uk