何故データが消えてしまうのでしょうか?どなたか詳しい方はよろしくお願いします。
#define MapSizeMax 600//マップ行列最大値
#define MapKindMax 5//マップの数
struct MapData{
int tile[3][MapSizeMax];
int Ntile;//ノーマルタイルID
int ATile[7];//オートタイルID
int xsize,ysize;//横幅、縦幅
int fog_alpha;//α値
int fog_blend;//合成方法(0:通常,1:加算,2:減算)
int fog_zoom;//拡大率
int fog_sx,fog_sy;//スクロール速度
};
struct MapData Map[MapKindMax];
int panoramapic[MapKindMax];//パノラマ画像
int fogpic[MapKindMax];//フォグ画像
void Map_ini(){
int file,i,n=0,m=0,ed=0;
int text[32];
char textc[32];
char FPass1[] = "./Data/Pics/Fogs/";
char FPass2[] = "./Data/Pics/Panoramas/";
char Exten[] = ".png";
char pass[64];
//-マップデータの読み込み-
file = FileRead_open( "./Data/Txt/MapData.txt" ) ;
if(file==NULL){printfDx("read error\n");return;}
while(1){
for(i=0;i<32;i++){
text[i] = FileRead_getc(file);
textc[i] = text[i];
if(textc[i]=='/'){while(FileRead_getc(file)!='\n'){i=-1;continue;}}
if(text[i]==',' || text[i]=='\n' || text[i]=='\r'){
if(i==0){i=-1;continue;}
else{textc[i]='\0';break;}
}
if(text[i]==EOF){ed=1;break;}
}
if(ed==1){FileRead_close(file);break;}
if(m==0){
Map[n].Ntile = atoi(textc);
}
else if(m>=1&&m<=7){
Map[n].ATile[m-1] = atoi(textc);
}
else if(m==8){//横幅
Map[n].xsize = atoi(textc);
}
else if(m==9){//縦幅
Map[n].ysize = atoi(textc);
}
else if(m>=10&&m<MapSizeMax+10){//タイル情報(Z=0)
Map[n].tile[0][m-10] = atoi(textc);
}
else if(m>=MapSizeMax+10 && m<2*MapSizeMax+10){//タイル情報(Z=1)
Map[n].tile[1][m-MapSizeMax+10] = atoi(textc);
}
else if(m>=2*MapSizeMax+10 && m<3*MapSizeMax+10){//タイル情報(Z=2)
Map[n].tile[2][m-2*MapSizeMax+10] = atoi(textc);
}//---ここから--------------------------------------------------------------
else if(m==3*MapSizeMax+10){//パノラマ画像
if(textc=="nil"){
panoramapic[n]=MakeGraph( 640 , 480 ) ;
}
else{
strcpy(pass,FPass2);strcat(pass,textc);strcat(pass,Exten);
panoramapic[n] = LoadGraph(pass);
memset(pass, 0, sizeof(pass));
}
}
else if(m==3*MapSizeMax+11){//フォグ画像
if(textc=="nil"){
fogpic[n]=MakeGraph( 640 , 480 ) ;
}
else{
strcpy(pass,FPass1);strcat(pass,textc);strcat(pass,Exten);
fogpic[n] = LoadGraph(pass);
memset(pass, 0, sizeof(pass));
}
}//--ここまで-----------------------------------------------------------
else if(m==3*MapSizeMax+12){//フォグ透明度
Map[n].fog_alpha = atoi(textc);
}
else if(m==3*MapSizeMax+13){//フォグ合成法
Map[n].fog_blend = atoi(textc);
}
else if(m==3*MapSizeMax+14){//フォグ拡縮倍率
Map[n].fog_zoom = atoi(textc);
}
else if(m==3*MapSizeMax+15){//フォグスクロール速度(x方向)
Map[n].fog_sx = atoi(textc);
}
else if(m==3*MapSizeMax+16){//フォグスクロール速度(x方向)
Map[n].fog_sy = atoi(textc);
}
else{
m=0;
n++;
continue;
}
m++;
}
}