Um segundo sopro de vida para Wolfenstein: Enemy Territory
ET: Legacy é um projeto de código aberto baseado no código de Wolfenstein: Enemy Territory que foi lançado em 2010 sob os termos da GPLv3.
Existem dois aspectos neste projeto:
Para mais informações consulte nosso wiki.
Consulte CONTRIBUINDO.
Consulte SEGURANÇA.
ET: Os instaladores legados do Windows agora estão assinados com a SignPath Foundation
Wolfenstein: Enemy Territory é um lançamento gratuito e pode ser baixado em Splash Damage.
Esta versão fonte contém apenas o motor e o código do mod, mas não quaisquer dados do jogo, que ainda são cobertos pelo EULA original e devem ser obedecidos normalmente.
Para executar o ET: Legacy, você precisará copiar o arquivo de ativos pak0.pk3 original para a pasta etmain. Além disso, mods de terceiros também podem exigir os arquivos de recursos pak1.pk3 e pak2.pk3 .
ET: Legacy permanece compatível com a versão ET 2.60b tanto quanto possível.
Observe que ET: Legacy não é compatível com servidores habilitados para PunkBuster. ET: Os clientes legados também não podem se conectar a servidores que executam o mod ETPro.
Lembre-se de que ET de 64 bits: clientes legados só podem se conectar a servidores executando mods que forneçam uma versão de 64 bits. Você só poderá jogar mods de 32 bits se compilar ET: Legacy em um sistema de 32 bits ou compilá-lo cruzado para arquitetura de 32 bits em um sistema de 64 bits.
No momento, apenas os mods ETrun, ETJump, N!tmod e Legacy estão disponíveis na versão de 64 bits, enquanto todos os outros mods existentes estão disponíveis apenas na versão de 32 bits. Leia mais na página wiki de mods compatíveis.
Caso você esteja executando um sistema de 64 bits, provavelmente você pode querer usar as bibliotecas incluídas que estão localizadas em um repositório etlegacy-libs separado e podem ser baixadas automaticamente usando o comando git submodule
. Consulte a próxima seção para obter mais detalhes.
Obrigatório:
Opcional, habilitado por padrão:
Obtenha informações sobre as versões atuais da lib em nossa página wiki do Libs Changelog.
Para obter o código-fonte mais recente, instale o git e clone nosso repositório hospedado em Github.com:
$ git clone [email protected]:etlegacy/etlegacy.git
Se as dependências necessárias não estiverem instaladas em seu sistema, execute:
$ git submodule init
$ git submodule update
Isso baixa as dependências essenciais no diretório libs/
. Você pode escolher se deseja usar bibliotecas agrupadas em vez das do sistema alterando a variável BUNDLED_LIBS
no arquivo de configuração CMakeList.txt. Você pode então selecionar quais bibliotecas agrupadas usar alternando a respectiva variável BUNDLED_XXX
.
Para instalar os binários em todo o sistema, você precisa compilar ET: Legacy com fs_basepath
codificado.
As seguintes variáveis podem ser ajustadas no CMake:
INSTALL_DEFAULT_BASEDIR
: define o padrão fs_basepath
, ou seja, onde os executáveis etl e etlded procuram por arquivos de dados. Na maioria dos casos é CMAKE_INSTALL_PREFIX
+ INSTALL_DEFAULT_MODDIR
. O valor padrão é vazio, porque queremos que fs_basepath
seja o diretório de trabalho atual quando não estivermos instalando o jogo em todo o sistema.
(opcional) INSTALL_DEFAULT_BINDIR
: Local para executáveis. Anexado a CMAKE_INSTALL_PREFIX
. O padrão é bin
.
(opcional) INSTALL_DEFAULT_SHAREDIR
: Local para dados compartilhados. Anexado a CMAKE_INSTALL_PREFIX
. O padrão é share
.
(opcional) INSTALL_DEFAULT_MODDIR
: Local para bibliotecas e pacotes. Anexado a CMAKE_INSTALL_PREFIX
. O padrão é lib/etlegacy
e então legacy
é anexado a ele.
(opcional) DOCDIR
: Local para documentação. O padrão é INSTALL_DEFAULT_SHAREDIR/doc/etlegacy
.
Instale as dependências necessárias.
No terminal, execute um dos seguintes:
$ ./easybuild.sh # for compiling a 32 bit version or
$ ./easybuild.sh -64 # for compiling a 64 bit version
ET: Legacy será instalado em ~/etlegacy
.
No terminal, execute:
$ mkdir build && cd build && cmake ..
Para compilar, execute:
$ make
Se você deseja instalar o ET: Legacy em todo o sistema, execute:
$ make install
Certifique-se de definir as variáveis CMake (veja acima) com antecedência.
NOTAS:
Mesmo se você tiver uma distribuição Linux de 64 bits que fornece versões de 32 bits de todas as bibliotecas necessárias, você também pode precisar das bibliotecas de desenvolvimento (pacotes -devel) instaladas em seu sistema.
Para compilar a biblioteca jpeg-turbo corretamente você precisará do montador nasm .
Em alguns sistemas, o CMake pode ter problemas para localizar bibliotecas de 32 bits e tenta usar bibliotecas de 64 bits ao criar bibliotecas de 32 bits. Isso pode ser corrigido definindo as seguintes variáveis ambientais antes de executar o CMake (nota: executar o easybuild cuida disso para você)
$ export CC= " gcc -m32 "
$ export CXX= " g++ -m32 "
# or simply run cmake with
$ CC= " gcc -m32 " CXX= " g++ -m32 " cmake ..
No terminal, execute:
$ mkdir build && cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-mingw-linux.cmake ..
$ make
Por padrão, o nome MinGW é definido como i686-w64-mingw32
. Pode ser necessário alterá-lo em cmake/Toolchain-cross-mingw-linux.cmake
dependendo de como ele é chamado em seu sistema.
Instalar:
opção A: construção fácil
ET: Legacy será instalado em My DocumentsETLegacy-Build
.
opção B: Visual Studio
build
dentro do diretório que contém ET: fontes legadascd
para o diretório de construção recém-criadoNo prompt de comando, execute:
$ cmake -G " NMake Makefiles " -DBUNDLED_LIBS=YES .. && nmake
ou
$ cmake -G " Visual Studio 16 " -A Win32 -DBUNDLED_LIBS=YES .. # Visual Studio 2019
# or "Visual Studio 17" for Visual Studio 2022
e abra o projeto resultante no Visual Studio.
NOTAS:
Se a compilação de bibliotecas empacotadas for abortada por qualquer motivo, você provavelmente precisará limpar o diretório libs e começar de novo. Isso pode ser feito executando git clean -df && git reset --hard HEAD
dentro do diretório libs/
.
Se a compilação falhar durante a compilação do libcurl devido à falta do utilitário sed , baixe-o do GnuWin e coloque-o no caminho do sistema ou copie-o para MSVC/VC/bin
. Ele também vem com o Git e pode ser colocado automaticamente no caminho do sistema se você selecionar essa opção durante a instalação do Git.
Instalar:
xcode-select --install
)Em seguida, prepare os seguintes pacotes no aplicativo terminal:
# all compilation tools needed
$ brew install cmake autoconf nasm automake libtool
# Libraries if you do not wish to compile and use the provided sources (BUNDLED_LIBS)
$ brew install glew sdl2 minizip jpeg-turbo curl lua libogg libvorbis theora freetype libpng sqlite openal-soft
A maneira alternativa de instalar as dependências é executar
$ brew bundle
$ brew bundle --file=misc/macos/libs.Brewfile
Dependendo de qual versão do brew você está usando (principalmente as mais antigas), você deve especificar brew install --universal
para obter bibliotecas de 32 e 64 bits. Se ocorrer um erro, basta usar o comando listado acima. Embora a biblioteca curl do seu sistema suporte ambas as arquiteturas, você também precisa instalar seus cabeçalhos.
Existem muitos sinalizadores e opções fornecidas por easybuild.sh. A versão ET: Legacy que você pode compilar depende da versão do macOS usada.
Se você estiver executando o macOS 10.14 (Mojave) , use um dos seguintes sinalizadores em Terminal.app:
$ ./easybuild.sh # for compiling a 32 bit version or
$ ./easybuild.sh -64 # for compiling a 64 bit version
Isto colocará uma pasta 'etlegada' com o arco selecionado em sua pasta de usuário.
Com o macOS 10.15 (Catalina) e superior , sua única opção é compilar e executar um cliente de 64 bits. Portanto, você precisa usar os seguintes sinalizadores:
$ ./easybuild.sh -64 --osx=10.15 # watch out for the double dash at --osx !
Dê uma olhada em easybuild.sh para obter mais informações e outras opções/sinalizadores.
No terminal, execute:
$ mkdir build && cd build && cmake ..
Procure em easybuild.sh todas as opções disponíveis do CMake.
Para compilar, execute:
$ make
Se você deseja instalar o ET: Legacy em todo o sistema, execute:
$ make install
Certifique-se de definir as variáveis CMake (veja acima) com antecedência.
NOTAS :
ET: Legacy oferece suporte a OpenGL e OpenGL ES.
Dispositivos necessários
RPI 4+ (sistema operacional de 64 bits) ou qualquer outro que execute o aarch64 arch
Dependências necessárias
$ sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev
libasound2-dev libjpeg8-dev libwebp-dev automake libgl1-mesa-glx libjpeg62-turbo libogg0 libopenal1 libvorbis0a
libvorbisfile3 zlib1g libraspberrypi0 libraspberrypi-bin libraspberrypi-dev libx11-dev libglew-dev libegl1-mesa-dev
nasm autoconf git cmake zip gcc g++ libtool libxrandr-dev x11proto-randr-dev
Instruções de instalação do Pi 4+
O driver OpenGL usado é o driver Fake KMS e atualmente tanto o OpenGL quanto o GLES são executados em uma sessão X11. Se você deseja alternar entre OpenGL e GLES ao instalar ET: Legacy no Pi 4, basta definir o sinalizador FEATURE_RENDERER_GLES
como 0 ou 1 na seção RPI
no script easybuild.sh
e executar ./easybuild.sh -RPI -j4
.
Outros
Se você deseja alternar entre OpenGL e GLES ao instalar ET: Legacy, basta definir o sinalizador FEATURE_RENDERER_GLES
como 0 ou 1 na seção RPI
do script easybuild.sh
e executar ./easybuild.sh -RPI -j4
.
Para instalar o ET Legacy usando Snap Store/Snapcraft, siga as instruções em: etleacy-snap repo
Wolfenstein: Código fonte GPL do território inimigo Copyright (C) 1999-2010 id Software LLC, uma empresa ZeniMax Media.
Código-fonte OpenWolf GPL Copyright (C) 2011 Dusan Jocic
Código fonte XreaL GPL (renderer2) Copyright (C) 2010-2011 Robert Beckebans
ET: Legacy Copyright (C) 2012-2024 ET: Legacy Team [email protected]
ET: Legacy é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.
ET: O Legacy é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; mesmo sem a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com ET: Legacy (veja COPYING.txt). Caso contrário, consulte https://www.gnu.org/licenses/.
TERMOS ADICIONAIS: O código-fonte da GPL de Wolfenstein: Enemy Territory também está sujeito a certos termos adicionais. Você deverá ter recebido uma cópia destes termos adicionais imediatamente após os termos e condições da GNU GPL que acompanha o código-fonte Wolf ET. Caso contrário, solicite uma cópia por escrito à id Software em id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 EUA.
CÓDIGO EXCLUÍDO: O código descrito abaixo e contido na versão do código-fonte da GPL de Wolfenstein: Enemy Territory não faz parte do Programa coberto pela GPL e está expressamente excluído de seus termos. Você é o único responsável por obter do detentor dos direitos autorais uma licença para tal código e cumprir os termos de licença aplicáveis.
Copyright (C) 1991-1992, RSA Data Security, Inc. Criada em 1991. Todos os direitos reservados.
A licença para copiar e usar este software é concedida desde que ele seja identificado como "RSA Data Security, Inc. MD4 Message-Digest Algorithm" em todos os materiais que mencionem ou façam referência a este software ou a esta função.
A licença também é concedida para criar e usar trabalhos derivados, desde que tais trabalhos sejam identificados como "derivados do algoritmo RSA Data Security, Inc. MD4 Message-Digest" em todos os materiais que mencionem ou façam referência ao trabalho derivado.
A RSA Data Security, Inc. não faz declarações relativas à comercialização deste software ou à adequação deste software para qualquer finalidade específica. É fornecido "como está", sem garantia expressa ou implícita de qualquer tipo.
O algoritmo MD5 foi desenvolvido por Ron Rivest. A implementação da linguagem C de domínio público usada neste programa foi escrita por Colin Plumb em 1993, nenhum direito autoral é reivindicado.
Este software é de domínio público. É concedida permissão para usar, copiar, modificar e distribuir este software e sua documentação para qualquer finalidade e sem taxas, sem quaisquer condições ou restrições. Este software é fornecido "no estado em que se encontra", sem garantia expressa ou implícita.