Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eimamei/libswaarchive
A light, fast and portable library for handling Sonic World Adventure's/Unleashed's archive file formats (.ar/.arl).
https://github.com/eimamei/libswaarchive
api c89 modding playstation-3 single-header sonic sonic-unleashed
Last synced: about 16 hours ago
JSON representation
A light, fast and portable library for handling Sonic World Adventure's/Unleashed's archive file formats (.ar/.arl).
- Host: GitHub
- URL: https://github.com/eimamei/libswaarchive
- Owner: EimaMei
- Created: 2023-09-16T18:32:44.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-24T13:38:06.000Z (3 months ago)
- Last Synced: 2024-09-24T21:19:52.367Z (about 21 hours ago)
- Topics: api, c89, modding, playstation-3, single-header, sonic, sonic-unleashed
- Language: C++
- Homepage:
- Size: 451 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# libSUarchive
A light, fast and portable library for handling Sonic Unleashed's archive file formats (`.ar`/`.arl`).# Features
- Ability to go through every archive's entries.
- Request, add, remove or modify any entry you want.
- Get metadata information about the file formats and their entries.
- Merge archive files into one.
- Generate archive linker (`.arl`) files from one or multiple archive files.
- Create your own `.ar`/`.arl` files progrmatically.
- Decompress SEGS (PS3) compressed files into readable .ar/.arl files
- Lightweight as well as single-header, making it easy to implement it in any project.
- Focused on performance so that it wouldn't take forever to do one simple thing, like merging AR files!
- The library is very flexible and can be used in many ways. The library never limits the user to use some hefty dependency, like the C++ STL.
- Written in pure C89, making it portable and work perfectly on most if not all C/C++ compilers.# Using the library
To use the library, you must do the following in EXACTLY _one_ C/C++ file:
```c
#define SISWA_ARCHIVE_IMPLEMENTATION
#include "libSUarchive.h"
```
Once that's set, other files do not require the '#define' line.# Planned features
- Add XCompression file support (Limited support for very small files, support for every file will take awhile).
- `.arl` merge functions.