5

I am currently developing a game which simulates an operating system. Therefore i need an ingame filesystem. Currently, i am using zziplib to be able to load files from a zip archive, however this is a readonly "filesystem" and i need a way to write new files and serialize them afterwards (and deserializing them during the next execution)! Are there any useful libraries out there in the wild to be used or should i write one for myself based on any ones?

4

3 に答える 3

6

これはおそらく、ファイルシステムとして単純なデータベースを使用することが理にかなっている場所の1つです。

データを保存するようなものを使用sqliteします(パスをキー、blobをデータなど)。

これを行う利点の1つは、実際にストレージについて心配する必要がないことです。また、既存のデータベースツールを使用して、独自にデータを作成するのではなく、データを「オフライン」で表示/編集できます。(さらに、他のゲーム情報もそこに保存できます。)

于 2011-06-13T14:05:11.867 に答える
5

PicoStorageEmbedded File System in C++をチェックしてみてください。どちらも直接使用したことはありませんが、両方を見てきました。埋め込みファイル システムには、ショー ストッパーとなる可能性のある依存関係があります。Qt をリンクする必要があります。おそらく削除できますが、主に QString と QFile に使用されます (UI を必要とする理由はありません)。

更新、9 年後: コメントされているように、上記のリンクは機能しなくなりました。PicoStorageのこの代替リンクは実行可能かもしれません (そこからソースをダウンロードできましたが、検証する努力はしていません) が、EFS に相当する最新のものを見つけることができません。

于 2011-06-13T14:27:20.607 に答える
2

上記の回答に加えて、私の 6 ペンス。SolFS (現在の CBFS ストレージ) とCodebaseFSは、仮想ファイル システム機能を提供します。どちらも C/C++ 用の API を備えており、まさにあなたが求めていることを実行しているように見えます。それでも...あなたの仕事の規模は私にはわかりません。あなたのゲームは、何十、何百、何千ものファイルを管理する必要がありますか? それらのファイルのサイズは? などなど。適切な解決策を探す前に、これらの質問を提起します。

于 2011-06-13T15:06:59.230 に答える