No.5ベストアンサー
- 回答日時:
>そこで質問なのですが、マニュアルがない場合、どうやって調べればよいのでしょうか?調べることはできないのでしょうか?
ソースコードも無い&ドキュメントも無い状況だとリバースエンジニアリングの領分に近いですが、色々なパターンのfmfファイルを作ってそれをバイナリエディタで比較していけば、どこの部分がどういう意味を持つか大体は調べることが出来ます。
実際フォーマットが分かっていても曖昧な部分がある場合は同様の事をすることがあります。
マップファイルの場合は、エディタ上で入力したものが反映される訳ですから解析しやすい部類と言えるでしょう。
No.4
- 回答日時:
私もダウンロードしてみましたが、マニュアルやサンプルで十分必要な情報は記載されている様に思います。
それと第一にやるべき事は、Platinumのリンクなどの記載ですね。
>なぜPlatinumをFMF読み込みすると何も表示されないのでしょうか?
FMFの中に画像の情報がないのでしょうがないのでは?
>あとプログラミングして実行したときにFMFだけ読み込んでも表示されるのですがなぜでしょうか?
自分で画像を読み込んでいるのでは?
自分で書いたプログラムですよね?
回答ありがとうございます。マニュアルがあるとは知りませんでした。学校で配布されたやつなのでマニュアルがなくって。。。自分で書いたプログラムではないです。ソースを調べたら画像を読み込んでいました。回答誠にありがとうございました。
No.3
- 回答日時:
私も存じませんが、このHPで配布されているものですよね。
http://www.hyperdevice.net/
いくつかバージョンがあるようです。
試しにv1.71をダウンロードして解凍すると…。
おお、manual.txtが同梱されている。
ナニナニ。
===
■FMFファイルの説明
FMFファイルはヘッダと1つ以上のレイヤーデータからなるバイナリファイルで、
シンプルなファイル構造になっています。
先頭にヘッダ領域(20Byte)が記録されておりその後にレイヤーデータブロックがFMFヘッダの
layerCount数出力されています。
[ヘッダ領域][レイヤー0領域][レイヤー1領域][レイヤーN領域]...
ヘッダ領域のサイズは20byte固定.
各レイヤー領域のサイズは mapWidth * mapHeight * (bitCount / 8) byte.
・データサイズの表記について
[U1] unsigned char (1byte)
[U4] unsigned integer (4byte)
バイトオーダーは最下位バイトから記録されるリトルエンディアンです。
【FMFファイルヘッダ (20 byte)】
+0identifier[U4]// ファイル識別子 'FMF_' (0x5F464D46)
+4size[U4]// ヘッダを除いたデータサイズ
+8mapWidth[U4]// マップの横幅
+12mapHeight[U4]// マップの縦幅
+16chipHeight[U1]// パーツの横幅
+17chipHeight[U1]// パーツの縦幅
+18layerCount[U1]// レイヤー数
+19bitCount[U1]// レイヤーデータのビットカウント(8/16)
【レイヤーデータ】
FMFヘッダの直後からマップパーツの値が mapWidth * mapHeight 個、ベタに並んでいます。
bitCountが8の場合、1パーツ8ビット(1byte)
bitCountが16の場合、1パーツが16ビット(2byte)
1レイヤーのデータサイズは以下のようになる。
layerSize = mapWidth * mapHeight * (bitCount / 8);
また、
fileSize = headerSize(20bytes) + layerSize * layerCount;
となる。
※詳しくは添付のソースコードを参照してください。
===
ふーむ。サンプルのソースコードまで用意してくれているのか。
作者は、なかなか親切ですねー。
回答ありがとうございます。学校で配布されたものでしたので、マニュアルまであるとは知りませんでした。そこで質問なのですが、マニュアルがない場合、どうやって調べればよいのでしょうか?調べることはできないのでしょうか?
No.2
- 回答日時:
さもPlatinumを有名なモノのように書かれていますが私は存じません。
#1の回答者さんも同じだと思います。返信ありがとうございます。そのように書いたつもりではないのですが。。。そうなんですか。マップエディタのソフトなんですが、誰かわかる人いらっしゃいましたらよろしくお願いします。ファイルの構造(int型,char型など)を調べる方法がわかる方でもいいのでいらっしゃいましたら、ご教授のほどよろしくお願いします。特定しないとわからないのであれば、何でもいいのでよろしくおねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語 2 2022/07/21 00:02
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- C言語・C++・C# 100バイトのバイナリファイルを読み込んで別のファイルに書き込みたいのですが、型をどうすればいいのか 1 2022/11/03 17:11
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッファとは何ですか
-
EXCEL VBAでテキストファイルの...
-
バイナリエディタのつかいかた
-
Microsoft VBAで2GBを超えるフ...
-
VBAでバイト型データをファイル...
-
バイナリファイルの検索について
-
ページ読み込み時に自動的にsub...
-
【python】Excelファイルを読み...
-
EOF
-
【Teraterm】filewritelnについて
-
bitmap画像の保存がうまくいき...
-
エクセルVBA 2千万行のCSVファ...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
OLE又はDDEを使うVISUAL BESIC...
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
マイクラでPythonのプログラミ...
-
FTPでputすると空ファイルが出...
-
ファイル出力の場所を指定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
ページ読み込み時に自動的にsub...
-
エクセルVBA 2千万行のCSVファ...
-
VBA バイナリ―から文字列にす...
-
エラー:ストリームの終わりを...
-
入力ファイルをバイナリにする利点
-
バイナリエディタのつかいかた
-
MacからWinにファイルを添付す...
-
EOF
-
【python】Excelファイルを読み...
-
C言語の質問です。バイナリ形...
-
画像の保存方法。
-
テキストデータをSQLServerに取...
-
バイナリファイルの比較につい...
-
bitmap画像の保存がうまくいき...
-
なぜデータの整合性を確認する...
-
C言語とシリアル通信の送受信...
-
【Teraterm】filewritelnについて
おすすめ情報