Crystal Space
Welcome, Guest. Please login or register.
August 20, 2014, 11:51:09 am

Login with username, password and session length
Search:     Advanced search
9008 Posts in 2046 Topics by 8329 Members
Latest Member: Rachelsantiago
* Home Help Search Login Register
  Show Posts
Pages: [1]
1  Crystal Space Development / Game Content Creation / Post reply ( Re: How do I construct a csRenderBuffer that will hold triangles? ) on: April 28, 2008, 09:05:07 pm
Dear first helper:
     The thing that I am needing to do is create genmeshes in CS that have multiple materials. I want a single genmesh room that has a material for the walls and two other materials for the
ceiling and floor. I was under the impression that Blender didn't export the meshes that way, due to having one of my meshes, that had multiple materials, be partially in invisible in CS. I discerned that all faces belonging to the mesh that had the first material were visible while the ones with a second material were not. Therefore, I jumped the conclusion that submeshes were not supported.
     Do you know where I'm supposed to assign the materials on mesh, so that Blender2Crystal will understand? I was assigning materials to the a mesh object through Blender's "edit" buttons, but do you know if I should assign them with the UV editor? If not, then I need to talk to Caedes like Vincent, my other helper, said.
     No matter what, thankyou for your help; I was especially happy to learn how to use a csRenderBuffer.
                                                                                                                                                  Stewy P. of Glass Tower Studios
2  Crystal Space Development / Game Content Creation / How do I construct a csRenderBuffer that will hold triangles? on: April 27, 2008, 04:13:50 am
Dear Crystal Space users and developers:
     I am subdividing a single genmesh room into a floor submesh, a submesh of walls and a ceiling
submesh. I have found out what triangles of my mesh belong to those different groups and I stored each group into it's own csArray<csTriangle>. I was hoping to fill corresponding csRenderBuffers for each group with the contents of each group's csArray<csTriangle>. Then, I could use these buffers in GeneralFactoryState's function for adding a submesh. However, I don't understand how a csRenderBuffer works. It holds an unsigned char array, but I want it to hold triangles. The CopyInto(const void *data,size_t elementCount,size_t elemOffset=0) function takes a void*; I don't know how I can make my csArray of triangles into void*. Could I give it the pointer of a normal array of triangles? How is a csRenderBuffer supposed to be used to designate the part of a genmesh that will become a submesh?
     Also, could anyone tell me if I have this all wrong. My company and I are going to use genmeshes for our rooms, rocks, weapons and items; furthermore, any meshes that must have two, or more materials we are going to split up into submeshes. This process is very time consuming as you may decipher from the former paragraph. We have to examine the factory file for a given mesh and determine what triangles are where, so that we can designate them to certain submeshes. I don't believe that Blender can export genmeshes to a factory file with preprogrammed sub-meshes, so this is how we're going to do it. Does anyone know a better way?
                                                                                                                                      Stewy P. of Glass Tower Studios
3  Crystal Space Development / Support / What is the best way to save a game? on: January 31, 2008, 04:05:05 pm
Dear CS Developers and Gamers:
     I need to save data to a file for a game I'm helping with. I have seen the csSaver class that it saves objects to file. Are object descriptions all that is required for restoring a game? I see the celPersistence class aswell which will be helpful for CEL side of the game. I would like all experience anyone has to offer on this subject.
4  Crystal Space Development / Support / Re: Unloading Libraries, Factories, Meshes and other stuff on: January 31, 2008, 03:45:24 pm
Dear HermitC:
     I have had this same problem; the solution depends on your exact needs. If you want to load meshes into the engine and your have the factories for those meshes exported from Blender. Then, you call the function of the loader plugin
named LoadMeshObjectFactory(const char* fname, iStreamSource *ssource=0).
It only needs the parameter "fname" which is the name of your factory file, since the stream source defaults to zero and is not needed. If you want to load other things, the loader has functions for every loading situation. Do you have the API documentation for CS? It has the documentation for the iLoader interface. Also, if you do decide that you want to cleanup things that you have loaded and later don't need, then I can tell you how. Just let me know.
                                                                                                                                         Stewy P. of the Eridanus Project
5  Crystal Space Development / Support / Problem with PcZoneManager::PointMesh() on: November 09, 2007, 04:44:44 am
Dear CrystalSpace3D fellows;
  I cannot successfully place a mesh into a celRegion, and in turn, a csRegion, using the PcZoneManager's PointMesh() function. I have a world class that has an entity which holds a Zone Manager property class. It's PointMesh() function cannot find the entity, region and start position using the names that I give to it. It keeps on having trouble when using string manipulation functions to examine the names I passed to it. I am using a debugger to see this. It has visible trouble during the string manipulation function, Replace(), that I believe is being called on each of the names that I passed to the function: the entity name, the region name and the start position name. The Replace() function leads to the GetDataMutable() function, which returns a pointer to a string's data. The function attempts to return the "mutable" data, but it cannot access the address of it and the debugger says,
  Cannot access memory at 0x0.
The address is usually 0x0, but sometimes it is 0xffffffff, or something similiar;
I have had trouble in the past with objects that carry these addresses. Does 0x0 stand for invalid memory position? The PointMesh function goes through all of it's steps, but when it initializes a pointer to the celEntity which has the name I specified, the pointer is not a valid address to my entity. The same happens for the PcMesh of course, since it is queried from the entity, but even the region that I specified does not get initialized. Nothing does. At the very end of the function, then my debugger shows the whole function command even though the function is basicly finished. My debugger does this with all functions; it is as if the function is being reexecuted after it has prepared itself, though I guess this isn't so. The command, looks like this,
0x4137c8ee in celPcZoneManager::PointMesh (this=0x6e656700,
  entity=0x73726f54 <Address 0x73726f54 out of bounds>,
  regionname=0x6361466f <Address 0x6361466f out of bounds>,
  startname=0x79726f74 <Address 0x79726f74 out of bounds>)
  at plugins/propclass/zone/zone.cpp:1440
Then, in spite of those errors, the function returns, 0, which I believe means CEL_ZONEERROR_OK, but my program glitches right after and sends out a segmentation fault.
     I passed the same entity name and region name to a function that I made for placing a mesh into a sector and it's corresponding celRegion and my function doesn't have trouble with the const char pointers. Although it doesn't use the Replace function on them, it does use
GetDataMutable() and it has no memory access problems while doing so. However, my function is nonfunctional in other ways.
     Could anyone tell me why memory can be unaccessible? Could I be attempting to access private members of a class, or is the reason always that the memory space I am examining is not a valid patch of memory? I need to ask more questions later, please respond if you can shed light on my problems.
                                                                                                                                        StewyP of the Eridanus Project
6  Associate Projects / CEL Discussion / Re: Using the Linear Movement property class with more detailed colliders on: October 01, 2007, 12:22:15 pm
Dear Mr. Tyberghein:
     Thankyou for responding; I am now ready to setup the game for collision detection, exept that I need to know if PcLinearMovement supports jumping for a first-person/third-person game. I read in these forums that it was used for horizontal movement of entities, but can it be used to make the player jump realisticly over chasms and the like?
                                                                                                                                                              With regard,
                                                                                                                                                            Stuart B. Duff
7  Associate Projects / CEL Discussion / Using the Linear Movement property class with more detailed colliders on: September 29, 2007, 10:31:25 pm
Dear Mr. Tyberghein and CEL developers:
     I need to calculate collision detection for the main player entity and other object entities of a game and I need to know what property classes to use. Are the property classes: PcLinearMovement, PcCollisionDetection, PcActorMove, I assume these are meant to be used together, much more advanced than the base property classes: PcMovable, PcSolid? I want to use PcLinearMovement if it is more advanced, but I don't believe it can handle colliders of any shape other than a box. Is this so? If not, do you think it would be possible for me to modify PcLinearMovement to support more detailed colliders; I want the player to have a collider that is basicly human shaped. If the base property classes are not too far behind PcLinearMovement and it's relatives, then I will use PcSolid to make a collider from the player's mesh. Please shed some light on this subject for me.
                                                                                                                                                                     With regards,
                                                                                                                                            StewyP of Glass Tower Studios
8  Crystal Space Development / Support / Loading plugins that are embedded instead of being a file ending with .csplugin on: June 22, 2007, 06:08:46 am
Dear Crystal Space Community,
  I'm new to Crystal Space and I'm running it on a Debian Linux OS. I compiled the Simple1 game(my rewrite actually, but basically identical) with metadata embedded; the compilation worked perfectly.  When creating my project I set my project to non-GPL compatible so that there was no fallback if my ELF reader couldn't parse the shared libraries that hold the plugins.  The Crystal Space config.log says that ELF.h is present and working, and the config.log for Simple1 application also finds ELF.h, but when I start the executable it fails with this an error message like,
  error in usr/lib/ error parsing metadata for //This is not exact code,
  usr/lib/libpthread.csplugin: not an ELF file //please tell me if you need the exact error messages.
It also has a similiar error,but with  After both those errors it has one last error explaining that it attempted to load the plugin crystalspace.graphics3D.opengl , but it failed and says that there is no 3D driver.  That's it.  Now, why does it say "error parsing metadata for a .csplugin file when I supposedly embedded those into the shared libraries.  Is it saying that it pulled the libpthread.csplugin file out of the  That would all make sense, but why does it want the metadata (.csplugin file) to be an ELF file.  From what I seen, an unembedded .csplugin file is an XML file.  I thought maybe I need to upgrade my ELF reader; maybe the upgraded version could read
XML files, or I thought that I could make my project GPL compatible, to see if the fallback plan would work. 
I'm interested in commercial use of Crystal Space 3D though, so I would like to be able to embed the plugin data.  Please help, I'm only on the Simple tutorial, but I still want to see it!
                                                                                                               Interested newbie,
Pages: [1]
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 9.199 seconds with 17 queries.