Widelands é um jogo de estratégia em tempo real gratuito e de código aberto, com campanhas singleplayer e um modo multiplayer. O jogo foi inspirado no Settlers II ™ (© Bluebyte), mas tem significativamente mais variedade e profundidade.
GPL V2+. Alguns ativos são divulgados sob várias licenças do Creative Commons - consulte as respectivas pastas.
Em como baixar o Widelands, consulte https://www.widelands.org/wiki/download/
Apoiamos a compilação de Widelands para Linux, Windows sob MSYS2 e MSVC e MacOS com GCC> = 8 ou CLANG/LLVM> = 7, embora também possa funcionar com outros compiladores. Temos uma documentação mais detalhada disponível em: https://www.widelands.org/wiki/buildingwidelands/
Você precisará instalar as seguintes dependências:
Você pode compilar executando nosso script de conveniência.
| Comando | Propósito |
|---|---|
./compile.sh | Build de depuração completa |
./compile.sh -r -w | Liberação de construção |
./compile.sh -e -w | Libere a compilação com símbolos de depuração |
./compile.sh -h | Liste as opções disponíveis |
Quando a compilação termina, você pode ligar para Widelands com
./widelands
Você também pode ligar para o cmake manualmente:
mkdir build
cd build
cmake ..
make
Quando a compilação termina, você pode ligar para Widelands com
cd ..
mv build/src/widelands .
./widelands
Temos várias opções de cmake disponíveis. Por exemplo, para criar uma versão de lançamento, ligue
cmake -DCMAKE_BUILD_TYPE=Release ..
Para usar o sistema de construção ninja, ligue
mkdir build
cd build
cmake -G Ninja ..
ninja
Dependendo da instalação ninja, a última linha também pode ser ninja-build .
Observe que as opções de cmake são prefixadas com -D . Estas são as opções disponíveis:
| Nome | Valores | Padrão | Função |
|---|---|---|---|
CMAKE_BUILD_TYPE | Debug / Release / RelWithDebInfo | Debug | Crie uma versão de lançamento ou depuração |
OPTION_ASAN | ON / OFF | ON for Debug Builds / OFF para construções de lançamento | Use o endereço de endereço. Desligar isso funciona apenas uma vez. Você terá que limpar o diretório de build se quiser desligar isso novamente em uma compilação posterior. |
OPTION_BUILD_CODECHECK | ON / OFF | ON | Construir codecheck. Disponível apenas nas compilações de depuração. |
OPTION_BUILD_WEBSITE_TOOLS | ON / OFF | ON | Crie ferramentas relacionadas ao site |
OPTION_BUILD_TESTS | ON / OFF | ON | Construir testes de unidade |
CMAKE_INSTALL_PREFIX | Um diretório | Consulte a documentação do cmake | Defina o diretório de destino para o destino "install", por exemplo, -DCMAKE_INSTALL_PREFIX=~/widelands-install . |
WL_INSTALL_BINDIR | Um diretório | ${CMAKE_INSTALL_PREFIX}/games | Defina o destino dos arquivos executáveis (se instalar) |
WL_VERSION | Uma string de versão | AutodEtected de Git/BZR, ou definido adicionando um arquivo VERSION | Defina a versão Widelands |
USE_XDG | ON / OFF | ON | Siga a especificação baseada em XDG. Disponível apenas no Linux. |
OPTION_USE_GLBINDING | ON / OFF | OFF | Use glbinding em vez de glew |
OPTION_GLEW_STATIC | ON / OFF | OFF | Use biblioteca estática GLEW |
OPTION_FORCE_EMBEDDED_MINIZIP | ON / OFF | OFF | Fontes de minizip incorporadas usadas (skip verificando para a biblioteca Minizip instalada) |
NEEDS_EXTERNAL_FILESYSTEM | ON / OFF | Auto -modeted da versão do compilador | Se std::filesystem precisa ser vinculado a uma biblioteca extra |
Você pode adicionar alvos ao comando make ou ninja , por exemplo, make codecheck para executar apenas o conjunto de verificação de código. Estes são os alvos disponíveis:
| Nome | Função |
|---|---|
ALL ou nenhum alvo | Compilar tudo, até executável com as configurações da chamada cmake |
codecheck | Execute os Codechecks |
doc | Gerar documentação doxygen. Atualmente, apenas com a depuração do tipo Build, mas isso é facilmente alterado, se necessário. |
install | Instale no dir -al -Dir, este é /usr/local por padrão (você precisa de privilégios de raiz!) A menos que você o altere (consulte as opções de cmake acima) |
Temos algumas instruções sobre como usar o Git para ajudá -lo se você é novo para Git: https://www.widelands.org/wiki/gitprimer/
A filial principal e todos os problemas e solicitações de puxar são espelhados bidirecionalmente entre nossos ambientes de desenvolvedor em Codeberg e Github pela Bunnybot. O Bunnybot também formate o código (C ++, Lua e Python) em todos os ramos espelhados.
Seguimos o Google Styleguide.
Para cenários de script, consulte https://www.widelands.org/documentation/lua_index/
Para contribuir com arte, consulte https://www.widelands.org/wiki/graphicsdevelopment/
Para traduções contribuintes, consulte https://www.widelands.org/wiki/translatingwidelands/
Para ajudar no teste, consulte https://www.widelands.org/wiki/testingbranches/
Para ajudar no gerenciamento de problemas, consulte https://www.widelands.org/wiki/tiagingbugs/
| Diretório | Conteúdo |
|---|---|
| cmake | Construir regras do sistema e Codecheck |
| dados | Os arquivos de dados do jogo. Imagens, sons, música, scripts, mapas, campanhas, tribos, ... |
| Debian | Embalagem para distribuições Linux baseadas em Debian |
| Doc | Documentação da Esfinge |
| po | Arquivos de tradução |
| src | Código -fonte C ++ |
| teste | Mapas com script para nossa suíte de teste de regressão |
| UTILS | Utilitários diversos: traduções de construção, formatação de código, embalagem Mac & Windows, ... |
Todos os empurrões para o Master serão construídos no AppVeyor. As filiais de solicitação de tração são implantadas para o MS-Windows usando uma ação do GitHub. Para obter as compilações MS-Windows Se você não desejar abrir uma solicitação de tração, adicione temporariamente o nome da sua ramificação à seção branches em appveyor.yml . Isso não funcionará se o ramo estiver em um garfo.
Todas as filiais de solicitação de tração e master são implantadas adicionalmente para macOS, e um testsuite as verifica em vários compiladores. Para obter os resultados do MacOS, os resultados do MacOS adicione temporariamente o nome da sua ramificação à seção de branches em .github/workflows/build.yaml . Isso funciona para filiais em garfos também.