2011-06-13 1 views
6

현재 운영체제를 시뮬레이트하는 게임을 개발 중입니다. 그러므로 나는 ingame 파일 시스템이 필요하다. 현재 zipiplib을 사용하여 zip 아카이브에서 파일을로드 할 수 있지만 읽기 전용 "파일 시스템"이므로 새로운 파일을 작성하고 이후에 직렬화 (그리고 다음 실행 중에 직렬화 해제)해야합니다! 야생에 유용한 라이브러리가 있습니까? 아니면 어떤 라이브러리를 기반으로 작성해야합니까?Windows에서 C/C++을 사용하는 가상 파일 시스템

답변

6

아마도 이것은 파일 시스템으로 간단한 데이터베이스를 사용하는 것이 감각을 일으키는 곳 중 하나 일 것입니다.

sqlite과 같은 것을 사용하여 경로를 키로, 모양을 데이터로 또는 그와 비슷한 것으로 저장하십시오.

이 작업을 수행하는 장점 중 하나는 실제로 저장소에 대해 염려 할 필요가 없으며 기존 데이터베이스 도구를 사용하여 직접 작성하지 않고 데이터를 "오프라인"으로 보거나 편집 할 수 있다는 것입니다. (거기에 다른 게임 정보도 저장할 수 있습니다.)

+1

물론입니다. SQLite는 같은 이유로 다른 게임에서 사용되었습니다. – 0xC0000022L

+0

나는 정말로 매우 차갑고 쉽게 포함될 수있는 SQL을 사용할 수 있다는 것을 완전히 잊었다! 알림 주셔서 감사합니다! –

5

PicoStorageEmbedded File System in C++을 확인할 수 있습니다. 나는 둘 중 하나를 직접 사용하지는 않았지만 나는 그들 모두를 보았다. 임베디드 파일 시스템은 쇼 스토퍼가 될 수있는 의존성이 있습니다. Qt가 링크되어야합니다. 아마도 제거 될 수 있지만, 주로 QString과 QFile에 사용됩니다 (UI를 요구할 이유가 없습니다).

+0

Qt는 종속성이 과잉이 될 것입니다 - 나는 sqlite를 사용할 것입니다! 하지만 정보 주셔서 감사합니다. –

+0

둘 다 구형이며 버려진 것 같습니다. –

2

위의 답변 상단에 내 6 펜스. SolFSCodebaseFS은 가상 파일 시스템 기능을 제공합니다. 둘 다 C/C++ 용 API를 가지고 있으며 사용자가 요구하는 것과 정확히 일치하는 것으로 보입니다. 아직도 ... 당신의 업무 규모가 분명하지 않습니다. 당신의 게임은 수십, 수백, zound, ... 파일을 관리해야합니까? 그 파일의 크기는 얼마입니까? 등 내가 적절한 해결책을 찾기 전에 이러한 질문을 제기합니다.

관련 문제