Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 10 Oct 2012
Offline Last Active Oct 31 2012 07:28 AM

Topics I've Started

Dynamic allocation, 3d array, RPG-type level structure

10 October 2012 - 04:13 PM

Hi there,
before going further, I want to apologize if I dont post in the appropriate section. Sorry for my approximative english too.

Here's the stuff;
I'm developping a game wich will mix classic RPG stage and Shoot'em up stages (not at the same time of course).
I have some trouble to make my map loading function.

I show you how my level are constructed;

first step:
I'm creating a txt file, wich look like this:
Posted Image

After that, i convert this txt file to an unsigned char array and i put that in a header file.

So i want to have a structure like that:
[source lang="cpp"]typedef struct{ char map_name[50]; int width; int height; char*** map_struct;}rpgMap;[/source]

I can retrive my map_name, and put it in my structure, idem for width and height.

Now my problem:
I'm not familiar with dynamic allocation, here's how i'm allocating my array memory:

[source lang="cpp"]// Create the array in memoryint a = 0; int b = 0;Map.map_struct = malloc(Map.height*sizeof(char*));for(a = 0; a < Map.height; a++){ Map.map_struct[a] = malloc(Map.width * sizeof(char*)); for(b=0; b < Map.width; b++){ Map.map_struct[a]= malloc(4 * sizeof(char*)); //The "4" is for "background / foreground / collision / event" }}[/source]

I'm not sure if this is correct ...

If someone can help, it would be great. I will need help to fill this array too, but one thing at once ^^

ps: I see that we can attach file ( up to 48Mo Posted Image ) so if i dont get it, i will create a small project ( main.c, level.c, level.h ) without all the GUI things, only the structure stuffs, to show my problem.

Thanks Posted Image