Skip to content

MafiaSDK Core.IO library is based on MafiaToolkit. The objective is to (de)serialize SDS archives from Mafia series games and provide an API to open/save different resource types contained in SDS archives.

Notifications You must be signed in to change notification settings

midoriiro/MafiaSdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mafia SDK: Core IO

This library is based on MafiaToolkit. The objective is to (de)serialize SDS archives from Mafia series games and provide an API to open/save different resource types contained in SDS archives.

Most of the code had been refactored and cleaned. All resource types (de)serialization process had been tested and validated, however this library do not support adding resource yet (at least it has not been tested).

TODO:

  • Write unit tests
  • Validate SDS archive (de)serialization
  • Memory Optimization
    • Array pool of different object types (byte, Span, MemoryStream, etc)
    • A faster read/write process on binary file
    • A better implementation of DataWriterMonitor and DataWriterLogger
    • Reduce memory allocation when possible
    • Use pipes instead of streams ?
  • Externalize Oodle/Zlib libraries (currently copy/pasted from their original repositories, this should need a proper fork of those repositories and publish nuget packages and get clean dependencies links for this project (git submodules ?))
  • Same for Gibbed.IO library which had been refactored (unit tests will be provided as well)
  • Write a better readme file (move to GitHub project ?)
  • Write a CICD pipeline
  • Restructure namespaces after libraries externalization

About

MafiaSDK Core.IO library is based on MafiaToolkit. The objective is to (de)serialize SDS archives from Mafia series games and provide an API to open/save different resource types contained in SDS archives.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages