//--------------------------------------------------------------------- void SaveData::load() { char str[1024]; std::string s; std::stringstream ss; int num; int fp = FileRead_open("savedata/savedata.dat"); if (fp == 0) { puts("Fail loading savedata file"); return; } while (FileRead_gets(str, 256, fp) != -1) { ss.clear(); ss.str(str); //---- ss >> s; num = atoi(s.c_str()); is_data[num] = 1; //---- ss >> s; scenario_pos[num] = atoi(s.c_str()); //---- ss >> s; save_day[num] = s; ss >> s; save_time[num] = s; } FileRead_close(fp); puts("Success loading savedata file"); }
//敵の出現情報をエクセルから読み込んで格納する関数 void load_story(){ int n,num,i,fp; char fname[32]={"../dat/csv/番外1/storyH0.csv"}; int input[64]; char inputc[64]; fp = FileRead_open(fname);//ファイル読み込み if(fp == NULL){ printfDx("read error\n"); return; } for(i=0;i<2;i++)//最初の2行読み飛ばす while(FileRead_getc(fp)!='\n'); n=0 , num=0; while(1){ for(i=0;i<64;i++){ inputc[i]=input[i]=FileRead_getc(fp);//1文字取得する if(inputc[i]=='/'){//スラッシュがあれば while(FileRead_getc(fp)!='\n');//改行までループ i=-1;//カウンタを最初に戻して continue; } if(input[i]==',' || input[i]=='\n'){//カンマか改行なら inputc[i]='\0';//そこまでを文字列とし break; } if(input[i]==EOF){//ファイルの終わりなら goto EXFILE;//終了 } } switch(num){ case 0: enemy_order[n].cnt =atoi(inputc);break; case 1: enemy_order[n].pattern =atoi(inputc);break; case 2: enemy_order[n].knd =atoi(inputc);break; case 3: enemy_order[n].x =atof(inputc);break; case 4: enemy_order[n].y =atof(inputc);break; case 5: enemy_order[n].sp =atof(inputc);break; case 6: enemy_order[n].bltime =atoi(inputc);break; case 7: enemy_order[n].blknd =atoi(inputc);break; case 8: enemy_order[n].col =atoi(inputc);break; case 9: enemy_order[n].hp =atoi(inputc);break; case 10:enemy_order[n].blknd2 =atoi(inputc);break; case 11:enemy_order[n].wait =atoi(inputc);break; case 12:enemy_order[n].item_n[0]=atoi(inputc);break; case 13:enemy_order[n].item_n[1]=atoi(inputc);break; case 14:enemy_order[n].item_n[2]=atoi(inputc);break; case 15:enemy_order[n].item_n[3]=atoi(inputc);break; case 16:enemy_order[n].item_n[4]=atoi(inputc);break; case 17:enemy_order[n].item_n[5]=atoi(inputc);break; } num++; if(num==18){ num=0; n++; } } EXFILE: FileRead_close(fp); }
static DXPTEXTURE3* LoadPngImage(const char *FileName) { u32 filesize; int fp = -1; DXPPNG png; DXPPNG_PARAMS params; void *buf = NULL; DXPTEXTURE3 *texptr = NULL; filesize = FileRead_size(FileName); if(!filesize)goto err; buf = malloc(filesize); if(!buf)goto err; texptr = dxpGraphicsCreateTexture(); if(!texptr)goto err; fp = FileRead_open(FileName,0); if(fp == 0)goto err; FileRead_read(buf,filesize,fp); FileRead_close(fp); params.funcs.pmalloc = malloc; params.funcs.pmemalign = memalign; params.funcs.pfree = free; params.mode = DXPPNG_MODE_GPU; params.src = buf; params.srcLength = filesize; if(dxppng_decode(¶ms,&png) == -1)goto err; texptr->alphabit = png.alpha ? 1 : 0; texptr->colorkey = dxpGraphicsData.colorkey; texptr->width = png.widthN2; texptr->height = png.heightN2; texptr->pitch = png.pitch; texptr->ppalette = (u32 *)png.clut; texptr->psm = png.psm; texptr->reloadflag = 1; texptr->size2_nflag = (png.height == png.heightN2 && png.width == png.widthN2 ? 1 : 0); texptr->swizzledflag = 0; texptr->texdata = png.raw; texptr->texvram = 0; texptr->umax = png.width; texptr->vmax = png.height; return texptr; err: FileRead_close(fp); free(buf); dxpGraphicsReleseTexture(texptr); return NULL; }
bool Client::load( ) { int fh = FileRead_open( "IP.ini" ); if ( fh == 0 ) { return false; } IPDATA ip; if ( FileRead_read( &ip, sizeof( IPDATA ), fh ) == -1 ) { FileRead_close( fh ) ; return false; } _ip[ 0 ] = ip.d1; _ip[ 1 ] = ip.d2; _ip[ 2 ] = ip.d3; _ip[ 3 ] = ip.d4; FileRead_close( fh ) ; return true; }
Songs::Songs(Font *font) { n = 0; SetUseASyncLoadFlag(FALSE); int file = FileRead_open("song/song.csv", FALSE); SetUseASyncLoadFlag(TRUE); char buf[3][256]; int id = 0; while (FileRead_scanf(file, "%d,%[^,\n\r],%[^,\n\r],%[^\n\r]", &id, buf[0], buf[1], buf[2]) != EOF) { song[n] = new Song(font, id, buf[1], buf[2], buf[0]); n++; } FileRead_close(file); }
Effekseer::FileReader* OpenRead( const EFK_CHAR* path ) { auto path_ = ToMulti((wchar_t*)path); auto fileHandle = g_openFunc(path_.c_str()); if(fileHandle == 0) return 0; auto size = g_readSizeFunc(path_.c_str()); std::vector<uint8_t> data; data.resize(size); FileRead_read(data.data(), size, fileHandle); FileRead_close(fileHandle); return new EffekseerFileReader(data); }
void Subweponbox::GetSubweponForCSV(int id){ int n, num, i, fp; char fname[256]; int input[64]; char inputc[64]; sprintf_s(fname, "dat/Database/dbSW.csv"); fp = FileRead_open(fname); // ファイル読み込み if(fp == NULL){ printfDx("read error\n"); return; } for(i=0;i<2;i++) // 最初の2行を読み飛ばす while(FileRead_getc(fp)!='\n'); n=0, num=0; SubweponStatus tmpStatus; while(1){ for(i=0;i<64;i++){ inputc[i]=input[i]=FileRead_getc(fp);//1文字取得する if(inputc[i]=='/'){//スラッシュがあれば while(FileRead_getc(fp)!='\n');//改行までループ i=-1;//カウンタを最初に戻して continue; } if(input[i]==',' || input[i]=='\n'){//カンマか改行なら inputc[i]='\0';//そこまでを文字列とし break; } if(input[i]==EOF){//ファイルの終わりなら goto EXFILE;//終了 } } switch(num){ case 0: tmpStatus.Name =inputc; break; case 1: tmpStatus.Kind =atoi(inputc);break; case 2: tmpStatus.Damage =atoi(inputc);break; case 3: tmpStatus.HitArea =atoi(inputc);break; case 4: tmpStatus.Speed =atoi(inputc);break; case 5: tmpStatus.Rappid =atoi(inputc);break; case 6: tmpStatus.Penetoration =atoi(inputc);break; case 7: tmpStatus.LoadNumber =atoi(inputc);break; case 8: tmpStatus.Price =atoi(inputc);break; } num++; if(num==9){ tmpStatus.Id = n; if(n==id){ Subwepon tmp; tmp.SetSubwepon(tmpStatus); Insert(tmp); break; } num=0; n++; } } EXFILE: FileRead_close(fp);}