Skip to content

HeYin-OS/SongExtrationForSomeGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SongExtrationForSomeGame

This project is a C++20 based tool designed for extracting and processing assets. It uses CMake for its build system and automatically manages all third-party dependencies via FetchContent.

Prerequisites

Before compiling, ensure you have the following installed:

  • CMake: Version 3.20 or higher.
  • C++20 Compiler:
    • Windows: Visual Studio 2019/2022 (MSVC) or MinGW-w64 (GCC 10+).
    • Linux/macOS: GCC 10+ or Clang 10+.
  • Git: Required by CMake to download dependencies during the configuration stage.

Build Instructions

1. Clone the Repository

git clone https://github.com/HeYin-OS/SongExtrationForSomeGame.git
cd SongExtrationForSomeGame

2. Configure the Project

Create a build directory and configure the project. Using Release mode is highly recommended as the CMakeLists.txt includes specific size optimizations and symbol stripping for non-debug builds.

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release

Note: During this step, CMake will automatically download several libraries (including taglib, zlib, pugixml, indicators, and rang). This may take a few moments depending on your network speed.

3. Build the Executable

Run the following command to compile the project:

Using CMake (Cross-platform):

cmake --build . --config Release

Using Make (Linux/MinGW):

make -j$(nproc)

Output

Once the build is complete, the executable will be located in the build directory (or build/Release on Windows).

The output binary is automatically named based on the version and architecture, for example: unified_bemani_extractor_0.5.2_win64.exe

Build Features

  • Static Linking (Windows): On Windows platforms, the binary is configured to link libgcc, libstdc++, and winpthread statically to ensure portability across different systems.
  • Size Optimization: In Release mode, the build uses -Os (optimize for size) and strips debug symbols to keep the executable lightweight.
  • UTF-8 Support: The compiler is forced to use UTF-8 for both input and execution character sets.

About

This is a comprehensive song extractor which could output your expacting format with full metadata supports. For most cases, it even could insert song cover into metadata field in song files. WARNING: In this depository, no game data will be provided and I will not answer any questions related.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors