mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 05:25:14 +00:00
Formatting and some other small stuff
This commit is contained in:
parent
15b361d3e6
commit
4d1c229e6d
1 changed files with 36 additions and 33 deletions
|
@ -14,9 +14,9 @@ Ejecuta `./extract-assets.py --clean && make clean` o `make distclean` para borr
|
||||||
* Configurar los controles desde el juego, actualmente solo en la rama `testing`.
|
* Configurar los controles desde el juego, actualmente solo en la rama `testing`.
|
||||||
* Posibilidad de saltarte la intro con la opción de línea de comandos `--skip-intro`, actualmente solo en las ramas `testing` y `skip-intro`.
|
* Posibilidad de saltarte la intro con la opción de línea de comandos `--skip-intro`, actualmente solo en las ramas `testing` y `skip-intro`.
|
||||||
|
|
||||||
# Compilar en Windows
|
## Compilar en Windows
|
||||||
**No intentes compilar ejecutables para Windows bajo Linux usando `WINDOWS_BUILD=1`. No va a funcionar. Sigue la guía.**
|
**No intentes compilar ejecutables para Windows bajo Linux usando `WINDOWS_BUILD=1`. No va a funcionar. Sigue la guía.**
|
||||||
## 1. Instalación y configuración de MSYS2.
|
#### 1. Instalación y configuración de MSYS2.
|
||||||
|
|
||||||
1. Descarga [msys2-x86_64-latest.exe](http://repo.msys2.org/distrib/msys2-x86_64-latest.exe) y ejecútalo. Si tu sistema operativo es de 32 bits (¿por qué?) descarga [msys2-i686-latest.exe](http://repo.msys2.org/distrib/msys2-i686-latest.exe) en su lugar. Asegúrate de que lo instalas en `C:\dev\msys64` (o `C:\dev\msys32` para 32 bits...). Ejecuta MSYS2.
|
1. Descarga [msys2-x86_64-latest.exe](http://repo.msys2.org/distrib/msys2-x86_64-latest.exe) y ejecútalo. Si tu sistema operativo es de 32 bits (¿por qué?) descarga [msys2-i686-latest.exe](http://repo.msys2.org/distrib/msys2-i686-latest.exe) en su lugar. Asegúrate de que lo instalas en `C:\dev\msys64` (o `C:\dev\msys32` para 32 bits...). Ejecuta MSYS2.
|
||||||
|
|
||||||
|
@ -38,47 +38,47 @@ Ejecuta `./extract-assets.py --clean && make clean` o `make distclean` para borr
|
||||||
mingw-w64-i686-cmake mingw-w64-x86_64-cmake
|
mingw-w64-i686-cmake mingw-w64-x86_64-cmake
|
||||||
```
|
```
|
||||||
6. Listo.
|
6. Listo.
|
||||||
## Instala las dependencias
|
#### Instala las dependencias
|
||||||
```
|
```
|
||||||
pacman -S mingw-w64-i686-glew mingw-w64-x86_64-glew mingw-w64-i686-SDL2 mingw-w64-x86_64-SDL2 python3
|
pacman -S mingw-w64-i686-glew mingw-w64-x86_64-glew mingw-w64-i686-SDL2 mingw-w64-x86_64-SDL2 python3
|
||||||
```
|
```
|
||||||
## Crea el directorio en el que preparar todo
|
### Crea el directorio en el que preparar todo
|
||||||
Desde el explorador de Windows, navega a `C:\msys64\home\(nombre de usuario)\` y crea una carpeta con el nombre que te apetezca. Aquí es donde vamos a preparar todo.
|
Desde el explorador de Windows, navega a `C:\msys64\home\(nombre de usuario)\` y crea una carpeta con el nombre que te apetezca. Aquí es donde vamos a preparar todo.
|
||||||
## Clona el repositorio
|
### Clona el repositorio
|
||||||
En MSYS2, introduce el siguiente comando:
|
En MSYS2, introduce el siguiente comando:
|
||||||
```
|
```
|
||||||
git clone https://github.com/sm64pc/sm64pc/
|
git clone https://github.com/sm64pc/sm64pc/
|
||||||
```
|
```
|
||||||
(Si no funciona, prueba a escribirlo manualmente, en lugar de copiar y pegar)
|
(Si no funciona, prueba a escribirlo manualmente, en lugar de copiar y pegar)
|
||||||
## Copia la ROM base al directorio correspondiente
|
#### Copia la ROM base al directorio correspondiente
|
||||||
El paso anterior tiene que haber creado una carpeta llamada sm64pc. Dentro de esa carpeta, y para cada version de la ROM (jp/us/eu) de la cual quieras compilar un ejecutable, coloca la ROM con el nombre `baserom.<version>.z64` para extraer sus assets. Por ejemplo, `baserom.us.z64` para la versión americana, o `baserom.eu.z64` para la versión europea.
|
El paso anterior tiene que haber creado una carpeta llamada sm64pc. Dentro de esa carpeta, y para cada version de la ROM (jp/us/eu) de la cual quieras compilar un ejecutable, coloca la ROM con el nombre `baserom.<version>.z64` para extraer sus assets. Por ejemplo, `baserom.us.z64` para la versión americana, o `baserom.eu.z64` para la versión europea.
|
||||||
|
|
||||||
## En MSYS2, vamos a navegar a la carpeta `./tools/audiofile-0.3.6/` y ejecutar el `autoreconf-i`. Introduce los siguientes comandos, en orden, uno a uno:
|
#### En MSYS2, vamos a navegar a la carpeta `./tools/audiofile-0.3.6/` y ejecutar el `autoreconf-i`. Introduce los siguientes comandos, en orden, uno a uno:
|
||||||
```
|
```
|
||||||
cd sm64pc/tools/audiofile-0.3.6/
|
cd sm64pc/tools/audiofile-0.3.6/
|
||||||
autoreconf -i
|
autoreconf -i
|
||||||
```
|
```
|
||||||
No te vayas de este directorio hasta el paso 9.
|
No te vayas de este directorio hasta el paso 9.
|
||||||
|
|
||||||
## Ejecuta el script `configure`
|
#### Ejecuta el script `configure`
|
||||||
```
|
```
|
||||||
PATH=/mingw64/bin:/mingw32/bin:$PATH LIBS=-lstdc++ ./configure --disable-docs
|
PATH=/mingw64/bin:/mingw32/bin:$PATH LIBS=-lstdc++ ./configure --disable-docs
|
||||||
```
|
```
|
||||||
## Ejecuta el script `make`
|
#### Ejecuta el script `make`
|
||||||
```
|
```
|
||||||
PATH=/mingw64/bin:/mingw32/bin:$PATH make
|
PATH=/mingw64/bin:/mingw32/bin:$PATH make
|
||||||
```
|
```
|
||||||
## Crea un directorio `lib` en `tools/`
|
#### Crea un directorio `lib` en `tools/`
|
||||||
```
|
```
|
||||||
mkdir ../lib
|
mkdir ../lib
|
||||||
```
|
```
|
||||||
|
|
||||||
## Acabas de compilar `libaudiofile`. Ahora cópialo a `tools/lib/`
|
#### Acabas de compilar `libaudiofile`. Ahora cópialo a `tools/lib/`
|
||||||
```
|
```
|
||||||
cp libaudiofile/.libs/libaudiofile.a ../lib/
|
cp libaudiofile/.libs/libaudiofile.a ../lib/
|
||||||
cp libaudiofile/.libs/libaudiofile.la ../lib/
|
cp libaudiofile/.libs/libaudiofile.la ../lib/
|
||||||
```
|
```
|
||||||
## Ahora toca hacer algo desde Windows.
|
#### Ahora toca hacer algo desde Windows.
|
||||||
En el explorador de Windows, ve a sm64pc\tools y edita el archivo Makefile desde un editor de texto (es recomdable usar uno como Notepad++ o Sublime Text. Busca la línea que contiene esto:
|
En el explorador de Windows, ve a sm64pc\tools y edita el archivo Makefile desde un editor de texto (es recomdable usar uno como Notepad++ o Sublime Text. Busca la línea que contiene esto:
|
||||||
|
|
||||||
```tabledesign_CFLAGS := -Wno-uninitialized -laudiofile```
|
```tabledesign_CFLAGS := -Wno-uninitialized -laudiofile```
|
||||||
|
@ -88,16 +88,16 @@ Y añade ` -lstdc++` al final, de manera que quede así (¡no olvides el espacio
|
||||||
```tabledesign_CFLAGS := -Wno-uninitialized -laudiofile -lstdc++```
|
```tabledesign_CFLAGS := -Wno-uninitialized -laudiofile -lstdc++```
|
||||||
|
|
||||||
Guarda el archivo.
|
Guarda el archivo.
|
||||||
## Vuelve a la carpeta tools y ejecuta `make` con los siguientes comandos.
|
#### Vuelve a la carpeta tools y ejecuta `make` con los siguientes comandos.
|
||||||
```
|
```
|
||||||
cd ..
|
cd ..
|
||||||
PATH=/mingw64/bin:/mingw32/bin:$PATH make
|
PATH=/mingw64/bin:/mingw32/bin:$PATH make
|
||||||
```
|
```
|
||||||
## Vuelve al directorio sm64pc
|
#### Vuelve al directorio sm64pc
|
||||||
```
|
```
|
||||||
cd ..
|
cd ..
|
||||||
```
|
```
|
||||||
## Finalmente, ejecuta ```make``` de nuevo.
|
#### Finalmente, ejecuta ```make``` de nuevo.
|
||||||
|
|
||||||
(Ten en cuenta que mingw32 y mingw64 han sido intercambiados. Esto es para que puedas compilar la versión de 32 bits si quieres.)
|
(Ten en cuenta que mingw32 y mingw64 han sido intercambiados. Esto es para que puedas compilar la versión de 32 bits si quieres.)
|
||||||
|
|
||||||
|
@ -108,15 +108,16 @@ Por ejemplo:
|
||||||
PATH=/mingw32/bin:/mingw64/bin:$PATH make -BETTERCAMERA=1 -NODRAWINGDISTANCE=1
|
PATH=/mingw32/bin:/mingw64/bin:$PATH make -BETTERCAMERA=1 -NODRAWINGDISTANCE=1
|
||||||
```
|
```
|
||||||
Listo. El .exe estará en sm64pc\build\. Disfruta.
|
Listo. El .exe estará en sm64pc\build\. Disfruta.
|
||||||
# Compilar en Linux
|
## Compilar en Linux
|
||||||
## Nota para usuarios de Windows
|
|
||||||
No intentes compilar un ejecutable para Windows desde Linux. No funciona. Sigue la guía para Windows.
|
|
||||||
|
|
||||||
## Copia la(s) ROM(s) base para la extracción de assets.
|
### Nota para usuarios de Windows
|
||||||
|
No intentes compilar un ejecutable para Windows desde Linux o WSL. No funciona. Sigue la guía para Windows.
|
||||||
|
|
||||||
|
#### Copia la(s) ROM(s) base para la extracción de assets.
|
||||||
|
|
||||||
Por cada versión de la cual quieras compilar un ejecutable, copia la ROM en `./baserom.<versión>.z64` para extraer los assets.
|
Por cada versión de la cual quieras compilar un ejecutable, copia la ROM en `./baserom.<versión>.z64` para extraer los assets.
|
||||||
|
|
||||||
## Instala las dependencias.
|
#### Instala las dependencias.
|
||||||
|
|
||||||
Para compilar necesitas las sigueintes dependencias.
|
Para compilar necesitas las sigueintes dependencias.
|
||||||
* python3 >= 3.6
|
* python3 >= 3.6
|
||||||
|
@ -127,15 +128,15 @@ Para compilar necesitas las sigueintes dependencias.
|
||||||
|
|
||||||
Puedes instalarlas con este comando:
|
Puedes instalarlas con este comando:
|
||||||
|
|
||||||
### Debian / Ubuntu - (compilando para 32 bits)
|
##### Debian / Ubuntu - (compilando para 32 bits)
|
||||||
```
|
```
|
||||||
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev:i386 libsdl2-dev:i386
|
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev:i386 libsdl2-dev:i386
|
||||||
```
|
```
|
||||||
### Debian / Ubuntu - (compilando para 64 bits)
|
##### Debian / Ubuntu - (compilando para 64 bits)
|
||||||
```
|
```
|
||||||
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev libsdl2-dev
|
sudo apt install build-essential git python3 libaudiofile-dev libglew-dev libsdl2-dev
|
||||||
```
|
```
|
||||||
### Arch Linux
|
##### Arch Linux
|
||||||
Hay un paquete AUR (cortesía de @narukeh) disponible bajo el nombre [sm64pc-git](https://aur.archlinux.org/packages/sm64pc-git/). Instálalo con tu gestor de AURs preferido.
|
Hay un paquete AUR (cortesía de @narukeh) disponible bajo el nombre [sm64pc-git](https://aur.archlinux.org/packages/sm64pc-git/). Instálalo con tu gestor de AURs preferido.
|
||||||
|
|
||||||
Si quieres compilarlo por tu cuenta:
|
Si quieres compilarlo por tu cuenta:
|
||||||
|
@ -143,17 +144,17 @@ Si quieres compilarlo por tu cuenta:
|
||||||
sudo pacman -S base-devel python audiofile sdl2 glew
|
sudo pacman -S base-devel python audiofile sdl2 glew
|
||||||
```
|
```
|
||||||
|
|
||||||
### Void Linux - (compilando para 64 bits)
|
##### Void Linux - (compilando para 64 bits)
|
||||||
```
|
```
|
||||||
sudo xbps-install -S base-devel python3 audiofile-devel SDL2-devel glew-devel
|
sudo xbps-install -S base-devel python3 audiofile-devel SDL2-devel glew-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
### Void Linux - (compilando para 32 bits)
|
##### Void Linux - (compilando para 32 bits)
|
||||||
```
|
```
|
||||||
sudo xbps-install -S base-devel python3 audiofile-devel-32bit SDL2-devel-32bit glew-devel-32bit
|
sudo xbps-install -S base-devel python3 audiofile-devel-32bit SDL2-devel-32bit glew-devel-32bit
|
||||||
```
|
```
|
||||||
|
|
||||||
## Compila el ejecutable.
|
#### Compila el ejecutable.
|
||||||
|
|
||||||
Ejecuta `make` para compilar (por defecto `VERSION=us`)
|
Ejecuta `make` para compilar (por defecto `VERSION=us`)
|
||||||
|
|
||||||
|
@ -162,9 +163,11 @@ make VERSION=jp -j6 # Compila la versión (J) usando 6
|
||||||
make VERSION=us MARCH=i686 TARGET_BITS=32 # Compila un ejecutable de la versión (U) de 32 bits
|
make VERSION=us MARCH=i686 TARGET_BITS=32 # Compila un ejecutable de la versión (U) de 32 bits
|
||||||
make TARGET_RPI=1 # Compila un ejecutable para Raspberry Pi
|
make TARGET_RPI=1 # Compila un ejecutable para Raspberry Pi
|
||||||
```
|
```
|
||||||
# Compilar para la web
|
## Compilar para la web
|
||||||
Puedes compilar el juego para navegadores que admitan WebGL usando [Emscripten](https://github.com/emscripten-core). Para hacerlo, instala [emsdk](https://github.com/emscripten-core/emsdk) y ejecuta `make TARGET_WEB=1`.
|
Puedes compilar el juego para navegadores que admitan WebGL usando [Emscripten](https://github.com/emscripten-core). Para hacerlo, instala [emsdk](https://github.com/emscripten-core/emsdk) y ejecuta `make TARGET_WEB=1`.
|
||||||
# Script para compilar para Raspberry Pi
|
|
||||||
|
## Script para compilar para Raspberry Pi
|
||||||
|
|
||||||
[Hyenadae](https://github.com/Hyenadae/) ha creado un script que ayuda a compilar el juego para Raspberry Pi. Estos son los pasos que hace el script:
|
[Hyenadae](https://github.com/Hyenadae/) ha creado un script que ayuda a compilar el juego para Raspberry Pi. Estos son los pasos que hace el script:
|
||||||
|
|
||||||
* Instala las dependencias;
|
* Instala las dependencias;
|
||||||
|
@ -179,16 +182,16 @@ El script está incluído en la rama master, pero también puede descargarse [aq
|
||||||
# Problemas conocidos
|
# Problemas conocidos
|
||||||
### Problemas ya conocidos:
|
### Problemas ya conocidos:
|
||||||
* La versión EU tiene bugs en los textos y no tiene audio.
|
* La versión EU tiene bugs en los textos y no tiene audio.
|
||||||
* Hazy Maze Cave se cuelga en pantalla completa (#57)
|
|
||||||
* El movimiento analógico horizontal de la cámara vuelve al estilo antiguo en el nivel Bowser in the Dark World (#72)
|
* El movimiento analógico horizontal de la cámara vuelve al estilo antiguo en el nivel Bowser in the Dark World (#72)
|
||||||
* La cámara con el ratón falla cuando disparas a Mario hacia un árbol o un tubo. (#71)
|
* La cámara con el ratón falla cuando disparas a Mario hacia un árbol o un tubo. (#71)
|
||||||
* "make: Nothing to be done for 'default'" al compilar para web. (#67)
|
* "make: Nothing to be done for 'default'" al compilar para web. (#67)
|
||||||
* La pantalla de título no tiene el cursor para manipular a Mario en pantalla completa. (#28)
|
|
||||||
|
|
||||||
### Estos problemas están marcados como solucionados. Por favor, contacta si sigues teniendo estos problemas.
|
### Estos problemas están marcados como solucionados. Por favor, contacta si sigues teniendo estos problemas.
|
||||||
* El soporte de la versión EU es aún experimental.
|
* El juego se llena de flags aleatorias en las builds de 64 bits para Windows
|
||||||
* Los controles de la cámara tienen problemas para algunas personas.
|
* Hazy Maze Cave se cuelga en pantalla completa (#57)
|
||||||
# Parches
|
* La pantalla de título no tiene el cursor para manipular a Mario en pantalla completa. (#28)
|
||||||
|
|
||||||
|
## Parches
|
||||||
En la carpeta `./enhancements` hay varios archivos `patch`, que pueden aplicarse de la siguiente manera:
|
En la carpeta `./enhancements` hay varios archivos `patch`, que pueden aplicarse de la siguiente manera:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue