Widelands es un juego de estrategia en tiempo real gratuito de código abierto con campañas para un solo jugador y un modo multijugador. El juego fue inspirado en Settlers II ™ (© BlueByte) pero tiene significativamente más variedad y profundidad.
GPL V2+. Algunos activos se lanzan bajo varias licencias Creative Commons; consulte las carpetas respectivas.
Sobre cómo descargar Widelands, vea https://www.widelands.org/wiki/download/
Apoyamos la compilación de Widelands para Linux, Windows en MSYS2 y MSVC, y MacOS con GCC> = 8 o Clang/LLVM> = 7, aunque también podría funcionar con otros compiladores. Tenemos una documentación más detallada disponible en: https://www.widelands.org/wiki/buildingwidelands/
Deberá instalar las siguientes dependencias:
Luego puede compilar ejecutando nuestro script de conveniencia.
| Dominio | Objetivo |
|---|---|
./compile.sh | Construcción de depuración completa |
./compile.sh -r -w | Construcción de lanzamiento |
./compile.sh -e -w | Liberar la construcción con símbolos de depuración |
./compile.sh -h | Lista de opciones disponibles |
Cuando la compilación ha terminado, puede llamar a Widelands con
./widelands
También puede llamar a Cmake manualmente:
mkdir build
cd build
cmake ..
make
Cuando la compilación ha terminado, puede llamar a Widelands con
cd ..
mv build/src/widelands .
./widelands
Tenemos varias opciones de CMake disponibles. Por ejemplo, para crear una versión de versión, llame
cmake -DCMAKE_BUILD_TYPE=Release ..
Para usar el sistema de compilación ninja, llame
mkdir build
cd build
cmake -G Ninja ..
ninja
Dependiendo de la instalación de Ninja, la última línea también puede ser ninja-build .
Tenga en cuenta que las opciones de CMake están prefijadas con -D . Estas son las opciones disponibles:
| Nombre | Valores | Por defecto | Función |
|---|---|---|---|
CMAKE_BUILD_TYPE | Debug / Release / RelWithDebInfo | Debug | Crear una versión de lanzamiento o depuración |
OPTION_ASAN | ON / OFF | ON for Debug Builds / OFF For Release Builds | Utilice direcciones de avesanal. Apagando esto solo funciona una vez. Tendrá que borrar el directorio build si desea apagar esto nuevamente en una compilación posterior. |
OPTION_BUILD_CODECHECK | ON / OFF | ON | Construye CodeCheck. Solo disponible en construcciones de depuración. |
OPTION_BUILD_WEBSITE_TOOLS | ON / OFF | ON | Crear herramientas relacionadas con el sitio web |
OPTION_BUILD_TESTS | ON / OFF | ON | Construir pruebas unitarias |
CMAKE_INSTALL_PREFIX | Un directorio | Ver documentación de CMake | Defina el directorio de destino para el objetivo "Instalar", por ejemplo, -DCMAKE_INSTALL_PREFIX=~/widelands-install . |
WL_INSTALL_BINDIR | Un directorio | ${CMAKE_INSTALL_PREFIX}/games | Defina el destino de los archivos de ejecutables (si está instalando) |
WL_VERSION | Una cadena de versión | Autodetectado de git/bzr, o establecido agregando un archivo VERSION | Defina la versión de Widelands |
USE_XDG | ON / OFF | ON | Siga la especificación de XDG basada en AIR. Solo disponible en Linux. |
OPTION_USE_GLBINDING | ON / OFF | OFF | Use glbinding en lugar de glew |
OPTION_GLEW_STATIC | ON / OFF | OFF | Use la biblioteca de Glew estática |
OPTION_FORCE_EMBEDDED_MINIZIP | ON / OFF | OFF | Fuentes de minizip incrustadas utilizadas (verificación de omisión para la biblioteca de Minizip instalada) |
NEEDS_EXTERNAL_FILESYSTEM | ON / OFF | Autodetectado de la versión del compilador | Si std::filesystem debe vincularse con una biblioteca adicional |
Puede agregar objetivos al comando make o ninja , por ejemplo, make codecheck para ejecutar solo el conjunto de verificación de código. Estos son los objetivos disponibles:
| Nombre | Función |
|---|---|
ALL o ningún objetivo | Compilar todo, hasta ejecutable con la configuración de la llamada cmake |
codecheck | Ejecutar las CodeChecks |
doc | Genere la documentación de Doxygen. Actualmente solo con la depuración de tipo de compilación, pero esto se cambia fácilmente si es necesario. |
install | Instale en el directorio de destino, esto es /usr/local por predeterminado (¡necesita privilegios raíz!) A menos que lo cambie (consulte las opciones de CMake arriba) |
Tenemos algunas instrucciones sobre cómo usar Git para ayudarlo si eres nuevo en Git: https://www.widelands.org/wiki/gitprimer/
La rama maestra y todos los problemas y las solicitudes de extracción se reflejan bidireccionalmente entre nuestros entornos de desarrolladores en CodeBerg y GitHub por BunnyBot. Bunnybot también formatea el código (C ++, Lua y Python) en todas las ramas reflejadas.
Seguimos el Google StyleGuide.
Para escenarios de secuencias de comandos, consulte https://www.widelands.org/documentation/lua_index/
Para el arte contribuyente, ver https://www.widelands.org/wiki/graphicsdevelovelozment/
Para traducciones contribuyentes, ver https://www.widelands.org/wiki/translatingwidelands/
Para ayudar con las pruebas, consulte https://www.widelands.org/wiki/testingbranches/
Para ayudar con la gestión de problemas, consulte https://www.widelands.org/wiki/triagingbugs/
| Directorio | Contenido |
|---|---|
| CMake | Construir el sistema y las reglas de CodeCheck |
| datos | Los archivos de datos del juego. Imágenes, sonidos, música, secuencias de comandos, mapas, campañas, tribus, ... |
| debian | Embalaje para distribuciones de Linux con sede en Debian |
| doc | Documentación de Sphinx |
| correos | Archivos de traducción |
| SRC | Código fuente de C ++ |
| prueba | Mapas con guiones para nuestra suite de prueba de regresión |
| tensiones | Diversas utilidades: traducciones de construcción, formato de código, embalaje Mac & Windows, ... |
Todos los empujes a Master se construirán en Appveyor. Las ramas de solicitud de extracción se implementan para MS-Windows utilizando una acción GitHub. Para obtener compilaciones de MS-Windows si no desea abrir una solicitud de extracción, agregue temporalmente el nombre de su sucursal a la sección branches en appveyor.yml . Sin embargo, esto no funcionará si la rama está en una bifurcación.
Todas las ramas de solicitud de extracción y el maestro también se implementan para macOS, y un testSuite las verifica en varios compiladores. Para obtener resultados de macOS o testSuite, agregue temporalmente el nombre de su rama a la sección branches en .github/workflows/build.yaml . Esto también funciona para sucursales en horquillas.