2020-05-07 16:28:34 +00:00
# sm64pc
OpenGL adaptation of [n64decomp/sm64 ](https://github.com/n64decomp/sm64 ).
2019-08-25 04:46:40 +00:00
2020-05-07 17:11:38 +00:00
Feel free to report bugs and contribute, but remember, there must be **no upload of any copyrighted asset** .
Run `./extract-assets.py --clean && make clean` or `make distclean` to remove ROM-originated content.
2020-05-07 16:28:34 +00:00
## Building
2019-08-25 04:46:40 +00:00
2020-05-07 16:28:34 +00:00
### On Linux
2019-08-25 04:46:40 +00:00
2019-09-01 19:50:50 +00:00
#### 1. Copy baserom(s) for asset extraction
2020-05-07 17:11:38 +00:00
For each version (jp/us/eu) that you want to build an executable for, put an existing ROM at
2019-08-25 04:46:40 +00:00
`./baserom.<version>.z64` for asset extraction.
2019-09-01 19:50:50 +00:00
#### 2. Install build dependencies
The build system has the following package requirements:
2020-05-07 16:28:34 +00:00
* python3 >= 3.6
* libsdl2-dev
* [audiofile ](https://audiofile.68k.org/ )
* libglew-dev
* git
2019-08-25 04:46:40 +00:00
2020-05-07 16:28:34 +00:00
__Debian / Ubuntu - targeting 32 bits__
2019-08-25 04:46:40 +00:00
```
2020-05-07 16:28:34 +00:00
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev:i386 libsdl2-dev:i386
2019-08-25 04:46:40 +00:00
```
2020-05-07 16:28:34 +00:00
__Debian / Ubuntu - targeting 64 bits__
2019-08-25 04:46:40 +00:00
```
2020-05-07 16:28:34 +00:00
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev libsdl2-dev
2019-08-25 06:41:24 +00:00
```
2019-08-25 04:46:40 +00:00
2020-05-07 16:45:21 +00:00
__Arch Linux__
```
2020-05-07 16:53:37 +00:00
sudo pacman -S base-devel python audiofile sdl2 glew
2020-05-07 16:45:21 +00:00
```
2020-05-07 19:16:37 +00:00
__Void Linux - targeting 64 bits__
```
sudo xbps-install -S base-devel python3 audiofile-devel SDL2-devel glew-devel
```
__Void Linux - targeting 32 bits__
```
sudo xbps-install -S base-devel python3 audiofile-devel-32bit SDL2-devel-32bit glew-devel-32bit
```
2020-05-07 16:45:21 +00:00
#### 3. Build the executable.
Run `make` to build (defaults to `VERSION=us` )
```
2020-05-07 17:11:38 +00:00
make VERSION=jp -j6 # build (J) version with 6 jobs
2020-05-07 23:07:42 +00:00
make VERSION=us WINDOWS_BUILD=1 # builds a (U) Windows executable
2020-05-07 16:45:21 +00:00
```
### On Windows
2020-05-08 01:55:45 +00:00
A full guide is to be written. You can use [mxe ](https://mxe.cc/ ) and MinGW.
2020-05-07 16:45:21 +00:00
2020-05-07 18:28:10 +00:00
### For the web
2020-05-07 18:54:54 +00:00
The game can be compiled for web browsers that support WebGL using [Emscripten ](https://github.com/emscripten-core ). To do so, install [emsdk ](https://github.com/emscripten-core/emsdk ) and run `make TARGET_WEB=1` .
2020-05-07 18:28:10 +00:00
2020-05-07 16:45:21 +00:00
### Current issues
2019-08-25 04:46:40 +00:00
2020-05-07 16:28:34 +00:00
* Support for the EU version is still experimental.
* There seems to be savedata-related problems on some 64-bits builds.
2020-05-07 17:11:38 +00:00
* Camera controls are also bugged for some.