mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-10 03:25:07 -05:00
09432ee7f4
* Initial Linux/GCC support commit * Add instructins for linux in the README * apply suggestions by @Erotemic and @Emill * Fix python 3.10 symlink line * Fix func_80041E80 type mismatch (#3) Type mismatch functions.h:664 * Makefile: clean OTRExporter/libultraship/ZAPDTR with distclean and fix CXX_FILES * Makefile: find C/CXX_FILES automatically * Makefile: remove ugly conditions in find commands * cleanup _MSC_VER usage * fix Windows build * cleanup extraction scripts * fix Windows build * Fix Windows path separator issue * fix rumble support for linux * use glew-cmake in dockerfile * add pulseaudio backend * fix ZAPDTR linkage * Check for "soh.elf" in directory (#6) hide second button if `soh.exe` or `soh.elf` is present * Fix hardcoded segment addresses (#5) * fix condition * hack lus -> soh dep for ZAPDTR Co-authored-by: sholdee <102821812+sholdee@users.noreply.github.com> Co-authored-by: qurious-pixel <62252937+qurious-pixel@users.noreply.github.com> Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# Building Ship of Harkinian
|
|
|
|
## Windows
|
|
|
|
1. Install [Python](https://www.python.org/ftp/python/3.10.2/python-3.10.2-amd64.exe)
|
|
2. Install [Visual Studio 2022 Community Edition](https://visualstudio.microsoft.com/vs/community/)
|
|
2b. In the Visual Studio Installer, install `MSVC v142 - VS 2019 C++`.
|
|
4. Clone the Ship of Harkinian repository.
|
|
5. Place one or more [compatible](#compatible-roms) roms in the `OTRExporter` directory with namings of your choice.
|
|
6. Run `OTRExporter/OTRExporter.sln`.
|
|
7. Switch the solution to `Release x64`.
|
|
8. Build the solution.
|
|
9. Launching `OTRExporter/extract_assets.py` will generate an `oot.otr` archive file in `OTRExporter/oot.otr`.
|
|
10. Run `soh/soh.sln`
|
|
11. Switch the solution to `Release x86`.
|
|
12. Build the solution.
|
|
13. Copy the `OTRExporter/oot.otr` archive file to `soh/Release`.
|
|
14. Launch `soh.exe`.
|
|
|
|
## Linux
|
|
|
|
```bash
|
|
# Clone the repo
|
|
git clone git@github.com:HarbourMasters/ShipWright.git
|
|
cd ShipWright
|
|
# Copy the baserom to the OTRExporter folder
|
|
cp <path to your ROM> OTRExporter
|
|
# Build the docker image
|
|
sudo docker build . -t soh
|
|
# Run the docker image with the working directory mounted to /soh
|
|
sudo docker run --rm -it -v $(pwd):/soh soh /bin/bash
|
|
```
|
|
Inside the Docker container:
|
|
```bash
|
|
# Clone and build StormLib
|
|
git clone https://github.com/ladislav-zezula/StormLib external/StormLib
|
|
cmake -B external/StormLib/build -S external/StormLib
|
|
cmake --build external/StormLib/build
|
|
cp external/StormLib/build/libstorm.a external
|
|
cp /usr/local/lib/libGLEW.a external
|
|
|
|
cd soh
|
|
# Extract the assets/Compile the exporter/Run the exporter
|
|
make setup -j$(nproc)
|
|
# Compile the code
|
|
make -j $(nproc)
|
|
```
|
|
|
|
# Compatible Roms
|
|
```
|
|
OOT_PAL_GC checksum 0x09465AC3
|
|
OOT_PAL_GC_DBG1 checksum 0x871E1C92 (debug non-master quest)
|
|
```
|