Skip to content

About

A tool that converts objects/ring data between different Sonic games

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

SoniConverter

A tool that converts object/ring data between different Sonic games.

What's currently done

  • Ability to drag-and-drop object/ring files and convert both ways between Sonic 1 and Sonic 3K
  • Has an option to convert known objects or not between game formats (works both ways)
  • When going S1 -> S3K, choose whether ring strings are split into a separate ring file or kept in the object layout
  • When going S1 -> S3K with a separate ring file, option to keep the objects in Sonic 1 format and only convert the rings
  • When going S3K -> S1, loose rings are packed back into Sonic 1's ring-string objects automatically
  • Retains the same filenames in a separate folder to be overwritten to the original files
  • Command line support: pass files directly, or point it at a whole folder of .bin files

What needs to be implemented

  • Support for Sonic 2 object/ring formats
  • Command line flags for the conversion options (so it can run unattended as part of a ROM build)
  • Quiet mode to either show full conversion output or just print out what's been converted or not
  • Some form of detection tool that determines which game format the object/ring files are

System requirements

The released builds are self-contained, so no .NET install is required to run them.

  • Windows: Windows 10 or later (64-bit).
  • Linux: any modern 64-bit distro with glibc (essentially all mainstream distros). The Windows build also runs on Linux via Wine/Mono if you prefer drag-and-drop.

Usage

Windows: drag one or more object/ring layout files (or a folder of them) onto SoniConverter.exe.

Any platform, from a terminal:

# Convert individual files
./SoniConverter file1.bin file2.bin

# Convert every .bin file in a folder
./SoniConverter -F ~/s1hack/objpos

-F (also -f or -folder) tells it the next path is a folder to search for .bin files. A plain folder path works too. On Linux you may need to make the binary executable first with chmod +x SoniConverter.

The tool then asks which direction to convert and how to handle rings and known objects. Converted files are written to a new folder (S3K_Converted or S1_Converted) next to the input, keeping the original filenames so you can copy them straight over your source files. Your originals are never touched.

Credits

  • DeltaW - Created this tool
  • Techokami - testing it under Linux
  • Selbi - general testing and feedback
  • MainMemory - LevelConverter source code (which helped with the making of this tool)

About

A tool that converts objects/ring data between different Sonic games

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages