##### Shinobi Library - ペリフェラル・記録デバイス関数

# buCalcBackupFileSize

イメージのファイルサイズの計算

### 書式

> `Sint32 buCalcBackupFileSize( inum, vtype, size )
> Uint32 inum
> Uint32 vtype
> Uint32 size
> `

### 引数

> inum | アイコンの枚数
> vtype | ビジュアルタイプ
> size | アプリケーションセーブデータのバイト数

### 戻り値

> 正 | メモリーカードファイルの使用ブロック数
> BUD_ERR_INVALID_PARAM | 引数が不正

### 解説

> メモリーカードファイル形式イメージサイズを計算します。

### 用例

>     /* Game name (sort item) */
>     extern Uint8 game_name[];

>     /* Icon palette data */
>     extern Uint16 icon_palette[];

>     /* Icon pixel data */
>     extern Uint8 icon_data[];

>     /* Visual data */
>     extern Uint8 visual_data[];

>     /* Application save data */
>     extern Uint8 save_data[];
>     Sint32 nblock1, nblock2;
>     void* buf;

>     /* Memory card file header */
>     BUS_BACKUPFILEHEADER hdr;
>     memset(&hdr, 0, sizeof(hdr));

>     /* Visual memory comment setting */
>     strcpy(hdr.vms_comment, "VMS_COMMENT");

>     /* BootROM comment setting */
>     strcpy(hdr.btr_comment, "BOOT ROM全角コメント");

>     /* Game name (sort item) setting */
>     memcpy(hdr.game_name,   game_name, 16);

>     /* Icon palette data setting */
>     hdr.icon_palette = icon_palette;

>     /* Icon pixel data setting */
>     hdr.icon_data    = icon_data;

>     /* Number of icons setting */
>     hdr.icon_num     = 1;

>     /* Icon speed setting */
>     hdr.icon_speed   = 1;

>     /* Visual comment setting */
>     hdr.visual_data  = visual_data;

>     /* Visual type setting */
>     hdr.visual_type  = BUD_VISUALTYPE_C;

>     /* Application save data */
>     hdr.save_data    = save_data;

>     /* Application save data size */
>     hdr.save_size    = 0x400;
>     nblock = buCalcBackupFileSize(hdr.icon_num,
>     	hdr.visual_type, hdr.save_size);

>     /* Allocates (the number of blocks to be used x 512 bytes) */
>     buf = syMalloc(nblock * 512);
>     if (buf == NULL) {
>     	/* Memory cannot be allocated */
>     	return NG;
>     }
>     nblock = buMakeBackupFileImage(buf, &hdr);
>     if (nblock < 0) {
>     	/* Structure includes an invalid parameter */
>     	return NG;
>     }

buCalcBackupFileSize

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000