A .NET Standard wrapper around the PhysFS IO library
Go to file
thatcosmonaut a75d588690 updating for latest PhysFS 2020-01-16 17:06:12 -08:00
.vscode updating for latest PhysFS 2020-01-16 17:06:12 -08:00
SharpPhysFS updating for latest PhysFS 2020-01-16 17:06:12 -08:00
Test updating for latest PhysFS 2020-01-16 17:06:12 -08:00
UnitTests updating for latest PhysFS 2020-01-16 17:06:12 -08:00
.editorconfig Added .editorconfig 2017-04-12 20:03:44 +02:00
.gitattributes Initial commit to add default .gitIgnore and .gitAttribute files. 2016-01-27 18:57:32 +01:00
.gitignore updating for latest PhysFS 2020-01-16 17:06:12 -08:00
CHANGELOG.md Updated license to 2017 2017-05-28 14:47:02 +02:00
LICENSE.md updating for latest PhysFS 2020-01-16 17:06:12 -08:00
README.md Update README 2017-05-28 19:42:31 +02:00
SharpPhysFS.sln Updated license to 2017 2017-05-28 14:47:02 +02:00

README.md

SharpPhysFS

PhysicsFS wrapper for .NET

This library is a wrapper around the PhysFS library designed to work with .NET languages. As such, it employs standard .NET behaviors such as Exceptions and IEnumerables to represent native objects. It also provides a Stream subclass for easy use of the APIs.

The documentation for the methods is copied from the original doxygen and only slightly adapted.

Platform support

The library is designed to work regardless of the underlying OS, so it should run on Windows, Linux and OSX equally well. I haven't tested the OSX port though, and I only superficially tried it on Linux.

If anyone feels so inclined, he/she could contribute by testing it and reporting the results. This would be greatly appreciated.

Installation

You can use this library by compiling it as described in the wiki or by adding it as a reference using NuGet:

Install-Package SharpPhysFS

You should also include compiled shared library of physfs alongside your binary files to be loaded.

Usage

using(var pfs = new PhysFS("")) // This ensures correct initialization and deinitialization
using(var reader = new StreamReader(pfs.OpenRead("/helloworld.txt")))
{
  var contents = reader.ReadToEnd();
}