Archived

This topic is now archived and is closed to further replies.

Need Help! Words,Array ...

This topic is 6148 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I hope somebody can help me. My Problem: I have got a normal TEXTfile, in this TEXTfile i have stored the paths or only the names of textures. Now i want to load this path/name and want to load the texture with a BMP_loading function. Now the problem: The BMP_loadding func. awaits a ''char *TextureFile'' When i want to read the path i must use eg ''char TF[255]'', i mean to read the complete string, in my eyes it is a string, i need an array, and the BMP_loading func. do not accepts arrays. What could i do ?

Share this post


Link to post
Share on other sites
Let me see if I have this right.

You are reading in the name of your texture from a text file and putting the filename into this character array:
char TF[255];
You then want to pass that filename to your bitmap loading function to use it as a texture

Okay, when you pass the name to your funtion, pass it like this:
LoadBitmap(..., TF, ...);

that passed the address of the array (or a pointer to that array, to be more precise), which is what you want.

make sure that your array ends with a null terminator character, or you could have major problems later on, though ''\0''

Hope that helps
-Brian



"Back to the code mines... ka-chink... ka-chink..."

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I think i understand what you mean and
i think i tried this and it wouldn''t work.

So i want to write it more detailed:

Textures.txt //TEXTfile with the Textur-Paths
C:\Project\Data\Texture\Floor1.bmp //
C:\Project\Data\Texture\Floor2.bmp // Content of File
C:\Project\Data\Texture\Floor3.bmp //

Main.cpp //my Code

AUX_RGBImageRec *LoadBMP(char *Filename);

int SetupWorld (void)
{
FILE *FileIn;
char TexturName[255];

FileIn = fopen("Textures.txt","rt");
fscanf(FileIn, "%s", &TexturName);

LoadBMP(TexturName);

return TRUE;
}

AUX_RGBImageRec *LoadBMP(char *Filename)
{
FILE *File=NULL;

if (!Filename)
return NULL;
File=fopen(Filename,"r"); !!!!!!

if (File)
{
fclose(File);
return auxDIBImageLoad(Filename);
}
return NULL;
}

Ok i think you can follow this Code,
and there where are the !!!!!! this ''fopen'' doesn''t work,
it doesn''t return a ''FILE''

Is it a better description ?

Share this post


Link to post
Share on other sites
I think it has to do with the fact that the Paths in Textures.txt are typed with single backslashes.
One backslash creates a special code of the character behind it (\n = CR, \r = newline, for example)

Try to write the Paths like this instead and see if it works,

C:\\Project\\Data\\Texture\\Floor1.bmp



return 1;

Share this post


Link to post
Share on other sites
Did you try putting your slashes the other way.
eg- "Data/Gfx/Hey.bmp" works with my programs while
...."Data\Gfx\Hey.bmp" doesn''t work with me.

Probly not the problem but I thought I''d let you know.

Share this post


Link to post
Share on other sites
Thanx to all! No i have found the problem!
Sure you will laugh but mistake are humanily!
My Directory''s name was Textur and not Texture!
Uuh, stupid i know.
But Thanx, i can use your Answers to for some other Stuff!

Share this post


Link to post
Share on other sites