Crystal Space
Welcome, Guest. Please login or register.
October 20, 2017, 01:43:52 pm

Login with username, password and session length
Search:     Advanced search
9063 Posts in 2051 Topics by 77477 Members
Latest Member: Gilberho375
* Home Help Search Login Register
  Show Posts
Pages: [1] 2
1  Crystal Space Development / Support / [INFO] Installing MinGW in Vista 64-bit on: December 09, 2008, 10:22:39 pm
Hey all,

I'm trying to build CS using MinGW on Vista 64-bit. I was having all sorts of problems (specifically, when I would try to run MSYS, about 200 shell windows would pop up, crash, then close), until I came across this info:

Hope it can help someone else who has the same problem in the future.
2  Crystal Space Development / Support / Re: Runtime error on: December 06, 2008, 04:38:09 am
Well, I've just been stepping through the code line by line for a good 20 minutes straight, and the program crashes with the following trace:

Cygwin gdb Debugger (05/12/08 10:03 PM)
Thread [1] (Stepping)
3 snwprintf()  0x77c6f72d
2 <symbol is not available> 0x77b303eb
1 <symbol is not available> 0x00000000
gdb (05/12/08 10:03 PM)

Not at all that informative, but the snwprintf() is where it crashes, apparently. Maybe this can narrow down the problem?
3  Crystal Space Development / Support / Re: Runtime error on: December 04, 2008, 06:11:35 am
I'm running in Eclipse (with Cygwin), and when I hit the debugger, it'll run for a while until the "Pause" and "Stop" buttons are highlighted---i.e., the program is just running and doing nothing, which is where I have my hang.

Unfortunately, when I attempt to pause execution to see where I'm at, nothing happens, and I get the following popup:

"Target request failed: Failed to interrupt"

At that point, even if I try to have Eclipse stop the program, it'll stop the debugger, but if I check my Process Explorer, the app is still running, and I have to shut it down manually there.

Sorry I don't have much more info than that...right now I think the above means I'll have to run step by step through mountains of code; there's a ton of it, and I don't know of any "best guess" for where to start, so it's somewhat intimidating. I may do more tomorrow.
4  Crystal Space Development / Support / Re: Runtime error on: December 04, 2008, 03:45:11 am
I should mention the problem occurs around the same place as allpowerful mentioned, in the csInitializer::RequestPlugins() call.

The weird thing is that I get a full printout of all these other plugins that are being loaded (just a random example: bugplug.dll gets loaded successfully), and they're all in the same place as vfs.dll, with the same permissions. The program only hangs when it tries to load vfs.dll.
5  Crystal Space Development / Support / Re: Runtime error on: December 01, 2008, 05:21:15 am
Epic bump.

Vista, CS 1.2.1.

I'm getting much the same problem as mentioned above. I start my app with "--verbose --console," and it seems the program just stalls after this:

"SCF_NOTIFY: loading plugin C:\crystalspace-src-1.2.1\vfs.dll to satisfy request for csVFS"

There's no error message popping up, no Windows crash report...the program just sits there waiting after that message, doing nothing.

It's almost 3 years on since the previous post...any possible solutions during that time?
6  Crystal Space Development / Support / Re: CS + MinGW + Eclipse problems on: November 29, 2008, 06:11:51 pm
If no one minds, I'd like to bump this one. I've got the exact same problem.
7  Crystal Space Development / Support / Re: Orbiting the camera on: September 19, 2008, 04:56:49 pm
I had something similar working when I was using plain old CS (I'm now working on things in CEL).

Basically, it was just a lot of math. Give your camera a variable like CAMERA_ANGLE, and some kind of "anchor"...basically, the point on which the camera is focused. The camera will move with this point, as well as rotate around it. I think I called mine "tether."

Whenever the middle mouse is held and the mouse is moved, just increment/decrement CAMERA_ANGLE appropriately (looping around at 0 and 2Pi), and use trigonometric functions to figure out the global position of the camera. To make sure the camera is then looking at the right spot (obviously you don't want your camera moving in a circle but always staring down the -z axis, for instance), just use a LookAt() function, and provide the co-ordinates of the tether. Thus, the camera's position is moved, and it's still always facing the orbit point.

I don't have my code with me, but the stuff above is fairly simple to implement.
8  Crystal Space Development / Support / Re: Error Compiling on: September 04, 2008, 02:33:45 pm
Actually, that may have been my mistake; the CRYSTAL environment variable (variables---usually strings containing directory paths---that any program can read at any time) is something that has to be set up if you have an application that needs Crystal Space to run. But now that I think of it, I don't think it would affect compiling, as in your case.

Still, your compiler's complaining about "Cannot read source file: 'c:\program files\cs\libs\csutil\archive.cpp': Permission denied" and "cannot open file '..\..\out\debug8\libs\libcrystalspace_d.lib'". Either you don't have read permissions on both of them, or the second one, libcrystalspace..., doesn't exist. If they do exist, make sure you have the right access permissions on them. Other than that, I don't know why they wouldn't have been installed properly. Which version of CS are you using, and what did you follow to do the install?
9  Crystal Space Development / Support / Re: Error Compiling on: September 04, 2008, 04:12:00 am
Well, it does seem to complain about the file '..\..\out\debug8\libs\libcrystalspace_d.lib'

Does this file exist? Does it have appropriate read/exec permissions?

I'm running my stuff in Ubuntu, so I don't know how different the install process is in Windows. However, it looks like somehow the needed file isn't being installed/detected properly. You've set your environment variables?

Anyway, anyone else have an idea?
10  Associate Projects / CEL Discussion / Picking/HitBeam on an iCelMapFile, and absolute mouse position on: September 04, 2008, 02:49:32 am
A few more (probably) simple questions, the answers to which I can't seem to find anywhere.

Again in keeping with the WalkTut tutorial, I have my level entity using a zonemanager to load a predefined level (just a textured cube, to start with):

bool Game::LoadLevel() {
level_entity = pl->CreateEntity("level", bl, "level_behave",
return app->ReportError("Error creating level entity!");

// Now get the iPcZoneManager interface so we can setup the level.
csRef<iPcZoneManager> zonemgr = CEL_QUERY_PROPCLASS_ENT(level_entity, iPcZoneManager);
iCelZone* zone = zonemgr->CreateZone("main");
iCelRegion* region = zonemgr->CreateRegion("main");

// Create level from XML file
iCelMapFile* mapfile = region->CreateMapFile();

return true;

I want to be able to detect when someone clicks on the cube, so I can move the character wherever the user clicks. I've included pcMesh and pcMeshSelect for this. However, I'm loading the map using CreateMapFile(), and I'm not sure how to "pass" the resulting cube mesh to pcMeshSelect, or if it's even possible to access the loaded mesh from my level_entity (ZoneManagers, Zones, Regions...couldn't find anything referring to a mesh). Is it possible to use CEL for this, or will I have to refer back to regular CS to use the sector/HitBeam combo?

Second, in CEL, is there an easy way to get the dimensions of the window, and/or the exact position of the mouse? I know I can use pcinput to capture MouseX/Y, but that's just the amount of relative motion; and of course MouseX/Y_Centered in relation to the centre of the window. Come to think of it, I suppose getting the absolute mouse position could be a combination of these things...
11  Crystal Space Development / Support / Re: Error Compiling on: September 03, 2008, 03:19:58 pm
Could you post the errors themselves? It'll make it much easier to diagnose your problem.
12  Crystal Space Development / Support / Re: Cannot get pcmeshselect to work in CEL on: September 02, 2008, 09:11:26 pm
Well, I got it to work, but with a bit of a caveat.

First I should refer back to my post in the CEL discussion section. Basically, my I bound "MouseX_centered" to my PlayerBehaviour, so that when I drag the mouse, the player's pcDefaultCamera is rotated -- fast if the mouse is near the edge of the screen, slower if the mouse is closer to the centre. The problem is that, with "MouseX_centrered" bound, I couldn't see the mouse onscreen, so instead I just started drawing a mouse cursor billboard onto the window.

Should have been obvious, but since the cursor billboard doesn't start where the cursor itself starts, there's an offset between the "billboard cursor" and the (invisible) real cursor. So when I went to click on the mesh with the billboard cursor, I wasn't actually hitting it with the real one. If I comment out the "MouseX_Centered" binding, I can see the real, regular cursor, and my meshselect events are being picked up.

So basically, this boils down to the problem in that other section: why does binding MouseX_centered make the mouse disappear when it's in-window?

Thanks again for the help, anyhow.
13  Crystal Space Development / Support / Re: Cannot get pcmeshselect to work in CEL on: September 02, 2008, 08:22:21 pm
Ah, wait, I think I see the point of confusion.

Since I was following that tutorial, all my behaviours inherit from a CommonBehaviour class, which implements SendMessage() (without va_list) and SendMessageV() (with va_list):

bool CommonBehaviour::SendMessage(const char* msg_id, iCelPropertyClass* pc, celData& ret, iCelParameterBlock* params, ...) {
va_list arg;
va_start(arg, params);
bool rc = SendMessageV(msg_id, pc, ret, params, arg);
return rc;

bool CommonBehaviour::SendMessageV(const char* msg_id, iCelPropertyClass* pc, celData& ret, iCelParameterBlock* params, va_list arg) {
csStringID id = pl->FetchStringID(msg_id);
return SendMessage(id, pc, ret, params, arg);

bool CommonBehaviour::SendMessage(csStringID, iCelPropertyClass*, celData&, iCelParameterBlock*, va_list) {
return false;

Since they're all virtual functions, it seems to be set up so that CommonBehaviour does the first two calls on its own, and a behaviour writer only has to override the last function, SendMessage() with the va_list, which is where, in the tutorial, things like meshselect are supposed to be processed. So my PlayerBehaviour does inherit SendMessage() (with ...) and SendMessageV() (with va_list), and yet even when I put printouts in those functions, I don't get anything when a mesh is selected.
14  Crystal Space Development / Support / Re: Cannot get pcmeshselect to work in CEL on: September 02, 2008, 02:01:21 pm
Oh...huh, how about that... Wink

So is it SendMessageV() that gets called when the mesh is selected, and since I didn't implement it, it's not being called? Or is it just that the improper implementation of SendMessage() is breaking the regular system?

Also, at the very end of that tutorial, there's a plain SendMessage() with the va_list:

bool BehaviourBadOne::SendMessage (csStringID msg_id,
iCelPropertyClass* pc,
  celData& ret, iCelParameterBlock* params, va_list arg)
  if (msg_id == id_pctimer_wakeup)
    Restart ();
    return true;

  return BehaviourCommon::SendMessage (msg_id, pc, ret, params, arg);

Is there a reason for the different implementation there?

Anyway, I'll give the SendMessageV() solution a shot when I get home tonight.
15  Crystal Space Development / Support / Re: Cannot get pcmeshselect to work in CEL on: September 02, 2008, 01:36:49 pm
First realize that MOUSE_BUTTON1 is the right mouse button.

Ugh, right. I'm using 3-4 different engines for various projects; CS for this one, some for school, some for other projects...gets a bit jumbled ones map which constants to which buttons...

Still, I was clicking furiously with every button on the mouse, and no reaction.

Secondly you are overriding the wrong function. You are using the
SendMessage() with va_list as a parameter but that one should be called

Alright, I'll give that a shot when I get home.

I was going by this tutorial in the CEL user manual, where it's just SendMessage(). Should the manual be changed, or did I miss a subtle difference?

Thanks again for the reply.
Pages: [1] 2
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 7.222 seconds with 16 queries.