SDL_Surface *getimage(int mask , char *name )
{
/snip/
strcat(name, “_xpm”);
surface=IMG_ReadXPMFromArray(name);
/snip/
};
^ wrong!
which gives warning: passing argument 1 of ?IMG_ReadXPMFromArray?
from incompatible pointer type
i have a .h file being loaded/used with the arrays like this
static char backg3_xpm[] = {
/ columns rows colors chars-per-pixel */
“200 200 256 2”,
" c #151417",
“. c #071835”,
This looks like an XPM, which actually is a snippet of C code! Now, what you
want to do is pass this (backg3_xpm) to IMG_ReadXPMFromArray(). Note that
this is an array of pointers while you ‘name’ variable is a pointer. I’m
pretty sure you also couldn’t call getimage(backg3_xpm[n]) either and with a
similar error.
i appended the _xpm because some of the image names are the same as thier
surfaces
This doesn’t make sense to me either. FYI, IMG_ReadXPMFromArray() requires
that you pass it an array, just like the one of the XPM. If you want to read
a file and ‘name’ is the filename, then you want to use IMG_Load() instead.
In no case can I imagine that you have to add anything anywhere, and
particularly not at runtime.
if i use IMG_ReadXPMFromArray( backg3_xpm ); it will load fine, but i need
to make a function that i can use custom names, which i am failing on
What is ‘custom names’? The question what is correct simply depends on whether
you embed the XMP (remember, it’s C code!) or if you want to load it from
file.
BTW: there is too much guessing going on here, and that is the result of not
having the relevant info. What you should have done is create a minimal
program that only loads your bitmap, outputs success/failure and exits. There
should not be a single line that could still be removed. Then, you firstly
have the problem pinned down to the smallest possible amount of code (which
is helpful for you to understand it) and secondly you have exactly the amount
of code that you should post here so others can try it and give you precise
help without guessing.
One last thing: Your initial mail was written by answering a totally unrelated
mail and then erasing the subject line. This is called “stealing threads” and
a bad thing (do a websearch). Now, this mail of yours seems to be not a reply
at all, which is also bad for the same reasons.
cheers!
UliOn Saturday 08 March 2008 09:23, neil at cloudsprinter.com wrote: