So im getting along pretty well porting my game over the your engine. Turns out taking all the .h files out solved the problem. sltranslate doesn't seem to translate the mesh anywhere though? For example
slTranslate(100, 20, 50);
Is the same as any other combination
slPushMatrix();
{
slTranslate(100, 20, 50);
slRotX(sonic_rot_x );
slRotY(sonic_rot_y );
slRotZ(sonic_rot_z );
computeLight();
display_model(&entities[0], 1);
}
slPopMatrix();
Works fine here. Maybe your model was too big so what you saw was actualy inside it, so it did backface culling and you didn't see anything?
I just scaled it down 10% in Blender and then scaled it up 4 in the tool.
The only other thing it could be is that you use RLE compression, so it didn't actualy read the textures.
I'm also using Blender, so it shouldn't be an issue.
I just use the default values, see attached image.
About the subfolders, you can add the following functions to your code and call them (set the directory, then after set it back to root).
I suggest you first call ztCDsetDir, load everything you need to load, then call ztCDsetRoot to return one folder back.
void ztCDsetDir(char * subDir)
{
Sint32 fid;
if (subDir != NULL)
{
fid = GFS_NameToId((Sint8 *)subDir);
GFS_LoadDir(fid, &gfsDirTbl);
GFS_SetDir(&gfsDirTbl);
}
}
void ztCDsetRoot()
{
Sint32 fid;
fid = GFS_NameToId((Sint8 *)"..");
GFS_LoadDir(fid, &gfsDirTbl);
GFS_SetDir(&gfsDirTbl);
}