passing pointer to change its value but stay still
I am working on C++ with allegro library.
there is draw_tiles function.
void draw_tiles(def_sm
Try this:
void loadTilemap(int i,BITMAP ** tileLayer){
char c[128];
sprintf(c,TILEPATHFORMAT,i);
*tileLayer = load_bitmap(c,NULL);
}
loadTilemap(s_world->tilemap, &TileMap);
The problem was that you pass the pointer to the BITMAP
by value. To get the new pointer value out of loadTilemap
, you have to pass it by reference.
EDIT:
On the other hand: why don't you just return the pointer to the newly created BITMAP
?
BITMAP * loadTilemap(int i* tileLayer){
char c[128];
sprintf(c,TILEPATHFORMAT,i);
return load_bitmap(c,NULL);
}
...
TileMap = loadTilemap(s_world->tilemap);