diff options
| author | root <root@alpha.trunkmasters.com> | 2026-07-31 03:04:46 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-07-31 03:04:46 -0500 |
| commit | 3f283d6a71e35a9c6d89dc73d76f01aec1c1a6b3 (patch) | |
| tree | be269d99a452403d508fed631b1bdd5ebdc98d9f /games-fps | |
| parent | 0fb86e044f244e00302b1878b3e15e0db0e4b7e5 (diff) | |
| download | baldeagleos-repo-3f283d6a71e35a9c6d89dc73d76f01aec1c1a6b3.tar.gz baldeagleos-repo-3f283d6a71e35a9c6d89dc73d76f01aec1c1a6b3.tar.xz baldeagleos-repo-3f283d6a71e35a9c6d89dc73d76f01aec1c1a6b3.zip | |
Adding metadata
Diffstat (limited to 'games-fps')
29 files changed, 1455 insertions, 555 deletions
diff --git a/games-fps/etlegacy/Manifest b/games-fps/etlegacy/Manifest index 7c6dfa9a637e..35f4e2eae05c 100644 --- a/games-fps/etlegacy/Manifest +++ b/games-fps/etlegacy/Manifest @@ -1,3 +1,3 @@ DIST et260b.x86_full.zip 275647724 BLAKE2B ea52d1859e78c6da5a16bd3598c2b649e9f79596be93fe35858a1174b0d63ef94eaecdb24b8f749d7dc39b1a70dd38557d455238cbc4b857ed7083369fe47262 SHA512 7a9639c7a67c6c058ae1c85ca1e04e74526194a8a676eaccffa1984869251cc058f0cb79b96604ec087492003d14f7f3e96c8ebe7e527959ae47d4d25645d3e1 -DIST etlegacy-2.82.0.tar.gz 15179026 BLAKE2B 8821fd752e0779959ee858368280fdeca1ea3d9c230d7e93a5eee8aba40522110f8fd47dba08b1244730ac83fea7385c926f973f0a43ccf07ac39c3c5f5684f1 SHA512 7ca18da3d92e12c9aba6477646f14b57e9cfbeb267c6d19661b7f2fe2331e8b0496b55001ba3f7dbf5bc253ccdfd153223ae8767a43169dcd8df250219933ceb DIST etlegacy-2.83.2.tar.gz 15738267 BLAKE2B 7cae3c0471a9f93ab98ebc1a57383df6f9f1ff1800c38a70d9cbc4091a7c54fbe421d7a126d2a6d3425dd9f9d0aef65402c533ce9cebab930200eb1aaae4edb3 SHA512 2d4d2f27ec522690d72836b1e3b3fcb3a9f1d43887d51e46ace01ef241a604a574a8b32e47dd4d291b9396983c19a8601359575b419cb8a9d7647d066c1f9b06 +DIST etlegacy-2.84.0.tar.gz 17740104 BLAKE2B 94fd3e2cc826f1296b06cc7f96058697d1de335e2ba272156c9716981c3b743a77ca85c44a0678caf0de7a4edaa90e1aeef79c2ce58c444440b08761ef897b75 SHA512 019f118579e5fc1151d8b3ada0df6cb33273563d4a29468ca032a9052fc5aa79fe6ecd3153ba0293a42344cb65211abcbcf41bd8f981498891c2e1ebd070d61d diff --git a/games-fps/etlegacy/etlegacy-2.82.0.ebuild b/games-fps/etlegacy/etlegacy-2.84.0.ebuild index 90de809ad6c1..fb9853bbdda3 100644 --- a/games-fps/etlegacy/etlegacy-2.82.0.ebuild +++ b/games-fps/etlegacy/etlegacy-2.84.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -42,9 +42,9 @@ UIDEPEND=" media-libs/glew:= media-libs/libsdl2[sound,video,X] media-libs/libogg - media-libs/libjpeg-turbo:0 + media-libs/libjpeg-turbo:0= virtual/opengl - virtual/minizip + virtual/minizip:= curl? ( net-misc/curl ) freetype? ( media-libs/freetype ) gettext? ( sys-devel/gettext ) @@ -52,7 +52,7 @@ UIDEPEND=" openal? ( media-libs/openal ) png? ( media-libs/libpng:0= ) ssl? ( dev-libs/openssl:0= ) - theora? ( media-libs/libtheora ) + theora? ( media-libs/libtheora:= ) vorbis? ( media-libs/libvorbis ) ${LUADEPEND} " diff --git a/games-fps/etlegacy/metadata.xml b/games-fps/etlegacy/metadata.xml index 990f56a03287..d72fc3738605 100644 --- a/games-fps/etlegacy/metadata.xml +++ b/games-fps/etlegacy/metadata.xml @@ -11,8 +11,8 @@ <flag name="gettext">Enable gettext</flag> <flag name="irc">Enable built-in IRC client</flag> <flag name="omnibot">Built with Omnibot</flag> - <flag name="renderer2">Enable renderer2</flag> <flag name="renderer-gles">Enable renderer-gles</flag> + <flag name="renderer2">Enable renderer2</flag> </use> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r4.ebuild b/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r5.ebuild index 34726915269c..69d5da9d822d 100644 --- a/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r4.ebuild +++ b/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r5.ebuild @@ -3,18 +3,27 @@ EAPI=9 -DESCRIPTION="UT2003 Community Bonus Pack for UT2004 Volume 1" +DESCRIPTION="UT2004 Community Bonus Pack Volume 1" HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" SRC_URI="https://unrealmassdestruction.com/downloads/ut2k4/essentials/cbp1.zip" S="${WORKDIR}" LICENSE="free-noncomm" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm64" RESTRICT="strip" -BDEPEND="app-arch/unzip" -RDEPEND="|| ( games-fps/ut2004 >=games-server/ut2004-ded-3369.3-r2 )" +BDEPEND=" + app-arch/unzip + >=games-fps/ut2004-3374_pre23 +" +RDEPEND=" + games-fps/ut2004-data +" + +src_compile() { + ut2004-ucc exportcache -mod=Gentoo Maps/*.ut2 || die +} src_install() { insinto /opt/ut2004 diff --git a/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r4.ebuild b/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r5.ebuild index 6ffed9ee6c07..8faabbbf9fdc 100644 --- a/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r4.ebuild +++ b/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r5.ebuild @@ -13,30 +13,37 @@ S="${WORKDIR}" LICENSE="free-noncomm all-rights-reserved" SLOT="0" -KEYWORDS="~amd64 ~x86" -RESTRICT="mirror bindist strip" +KEYWORDS="~amd64 ~arm64" +RESTRICT="bindist mirror strip" -BDEPEND="app-arch/unzip" -RDEPEND="|| ( games-fps/ut2004 >=games-server/ut2004-ded-3369.3-r2 ) +BDEPEND=" + app-arch/unzip + >=games-fps/ut2004-3374_pre23 +" +RDEPEND=" + games-fps/ut2004-data games-fps/ut2004-bonuspack-cbp1 - games-fps/ut2004-bonuspack-mega" +" src_prepare() { default # In ut2004-bonuspack-cbp1. - rm Music/Soeren.ogg || die - - # In ut2004-bonuspack-mega. - rm Textures/Ty_RocketTextures.utx || die + rm -v Music/Soeren.ogg || die - # Useless file. - rm Help/Note.txt || die + # In ut2004-data with Mega Pack. + rm -v Textures/Ty_RocketTextures.utx || die cd Help || die - mv Readme.txt CBP2-Readme.txt || die - mv GERROIDREADME.txt DOM-CBP2-Gerroid.txt || die - mv Tydal.txt DM-CBP2-Tydal.txt || die + rm -v CBP2InstallerLogoP1.bmp Note.txt || die + mv -v Readme.txt CBP2-Readme.txt || die + mv -v GERROIDREADME.txt DOM-CBP2-Gerroid.txt || die + mv -v ons-cbp2-valarna.txt ONS-CBP2-Valarna.txt || die + mv -v Tydal.txt DM-CBP2-Tydal.txt || die +} + +src_compile() { + ut2004-ucc exportcache -mod=Gentoo System/*.u Maps/*.ut2 || die } src_install() { diff --git a/games-fps/ut2004-bonuspack-xp/Manifest b/games-fps/ut2004-bonuspack-xp/Manifest new file mode 100644 index 000000000000..e891802ac7d7 --- /dev/null +++ b/games-fps/ut2004-bonuspack-xp/Manifest @@ -0,0 +1 @@ +DIST UT2004-ONSBonusMapPack.zip 11018471 BLAKE2B bc915d6942c321df4031b02eaa25f83793b3fa1f2bb916c5d413c5569a3f887b6517fc4dceb8cb914e22be62f58512e727a41d5efbc6066113be12a9da9621d0 SHA512 8193375b89cd6fbc8b00de195797099c128fcf5cb73757bbc57d3c5350c497a878eaf0200f2e0711bf062e25c5d170e05b055c63f85b908b18dcc89572d71fd2 diff --git a/games-fps/ut2004-bonuspack-xp/metadata.xml b/games-fps/ut2004-bonuspack-xp/metadata.xml new file mode 100644 index 000000000000..183ecc5ceeeb --- /dev/null +++ b/games-fps/ut2004-bonuspack-xp/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-fps/ut2004-bonuspack-xp/ut2004-bonuspack-xp-1.ebuild b/games-fps/ut2004-bonuspack-xp/ut2004-bonuspack-xp-1.ebuild new file mode 100644 index 000000000000..d80023c009ff --- /dev/null +++ b/games-fps/ut2004-bonuspack-xp/ut2004-bonuspack-xp-1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +DESCRIPTION="UT2004 XP Bonus Maps" +HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" +SRC_URI="http://unrealmassdestruction.com/downloads/ut2k4/essentials/UT2004-ONSBonusMapPack.zip" +S="${WORKDIR}" + +LICENSE="free-noncomm" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +RESTRICT="strip" + +BDEPEND=" + app-arch/unzip + >=games-fps/ut2004-3374_pre23 +" +RDEPEND=" + games-fps/ut2004-data + !games-fps/ut2004-bonuspack-ece +" + +src_unpack() { + mkdir Maps || die + cd Maps || die + default +} + +src_compile() { + ut2004-ucc exportcache -mod=Gentoo Maps/*.ut2 || die + # The base game already knows about these maps, so it writes the cache to a + # single file rather than separate ones. We must rename to avoid a conflict. + mv -v System/{CacheRecords,${PN}}.ucl || die +} + +src_install() { + insinto /opt/ut2004 + doins -r * +} diff --git a/games-fps/ut2004-data/Manifest b/games-fps/ut2004-data/Manifest new file mode 100644 index 000000000000..d0af577a9535 --- /dev/null +++ b/games-fps/ut2004-data/Manifest @@ -0,0 +1,4 @@ +DIST UT2004.iso 2995322880 BLAKE2B 5e7bf8ddaa79f438b389e0b2d919fe9f7340cc68d535fa475a5cd78c1024fa00a8ca11133240553436ca3f9a74a73b5a1193773204be001fcdc229312dc23ab5 SHA512 de9eed97e4f5c4bce1d41db7b120a117df164a4074e7f44e8a2e8dad377a72e52a8c4813ab471e6ac0f3a52043ba7489db462c79aecac83cd8c0f16750acbbd7 +DIST setup_unreal_tournament_2004_1.0_(18947)-1.bin 2795275375 BLAKE2B ba94c9bb2c1837e39d7b3afebe4faaac39ef7c448726c143959aa03573ecdda4e798819b6ef417fc489699a4dc94d8fa4b0bb0b768f36c1abb9c3b1c30aaa54e SHA512 2acef64ca9ee6ede8b61dcf9602e8d1640020fd606796adbeb8bc74617faf451b959bdbc6b169ffcd3440656f84a59bd23dc9174ef0d6593e9c3ebd5f8a31b11 +DIST setup_unreal_tournament_2004_1.0_(18947).exe 1014472 BLAKE2B dcb2b244ba4e8f4e25f1d07c5fd544bb3ccddc4af9c2fb04b50cc2974594a8a72bc7e76cf8006eddd73c316233f8763971de5b0a67287d834d345356c247db96 SHA512 87b44b3971165226cf45f95cf79a0590a86d27105821cd65884dfe44608afcc8bca6fd54e4aadbcc81d5307a77a6fdb5642be8267f7ea34e844cba9653589298 +DIST ut2004megapack-linux.tar.bz2 203124107 BLAKE2B 1459e2638181411446ec5679bceb44023382b3533951478ee06c274199688f3bbe341d7f7806299a332373791b6d0a9e1b57efdc6a13a5983220e0adbc413118 SHA512 4ae5eec0622c2bd96dfc162541bc0771399b012fb00f022282bc8c34600cb8e9bb7c18a52dd55fbef6f16fedaf225e301c46077a6accd001f4c77ddad89ed17b diff --git a/games-fps/ut2004-data/files/listings/Animations b/games-fps/ut2004-data/files/listings/Animations new file mode 100644 index 000000000000..9bf895fce51e --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Animations @@ -0,0 +1,47 @@ +2K4_NvidiaIntro.ukx +Aliens.ukx +AS_VehiclesFull_M.ukx +AS_Vehicles_M.ukx +Bot.ukx +Cannons.ukx +DemoFemaleA.ukx +DemoMaleA.ukx +GenericSD.ukx +Hellions.ukx +HumanFemaleA.ukx +HumanMaleA.ukx +Intro_brockfan.ukx +intro_brock.ukx +intro_crowd.ukx +Intro_gorgefan.ukx +Intro_gorge.ukx +intro_jugchick.ukx +intro_lauren.ukx +intro_malcom.ukx +intro_nikoli.ukx +Jugg.ukx +MechaSkaarjAnims.ukx +Merc_intro.ukx +MetalGuardAnim.ukx +NecrisAnim.ukx +NewNightmare.ukx +NewWeapons2004.ukx +NvidiaGorge.ukx +ONSBPAnimations.ukx +ONSFullAnimations.ukx +ONSNewTank-A.ukx +ONSVehicles-A.ukx +ONSWeapons-A.ukx +Scene3_Garrett.ukx +Scene3_Gitty.ukx +Scene3_Jacob.ukx +Scene3_Kane.ukx +Scene3_Malcom.ukx +Scene3_Rae.ukx +SkaarjAnims.ukx +Skaarj_intro.ukx +SniperAnims.ukx +StreamAnims.ukx +ThunderCrash.ukx +Weapons.ukx +XanRobots.ukx diff --git a/games-fps/ut2004-data/files/listings/Help b/games-fps/ut2004-data/files/listings/Help new file mode 100644 index 000000000000..245e4d58f2fa --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Help @@ -0,0 +1,7 @@ +BonusPackReadme.txt +InstallerLogo2004.bmp +ReadMe.int.txt +SAPI-EULA.txt +UnrealEd.ico +Unreal.ico +UT2004Logo.bmp diff --git a/games-fps/ut2004-data/files/listings/KarmaData b/games-fps/ut2004-data/files/listings/KarmaData new file mode 100644 index 000000000000..b6475fce481e --- /dev/null +++ b/games-fps/ut2004-data/files/listings/KarmaData @@ -0,0 +1,6 @@ +Alien.ka +Bot.ka +Human.ka +intro.ka +jugg.ka +Skaarj.ka diff --git a/games-fps/ut2004-data/files/listings/Maps b/games-fps/ut2004-data/files/listings/Maps new file mode 100644 index 000000000000..7a4257fc000b --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Maps @@ -0,0 +1,131 @@ +AS-BP2-Acatana.ut2 +AS-BP2-Jumpship.ut2 +AS-BP2-Outback.ut2 +AS-BP2-SubRosa.ut2 +AS-BP2-Thrust.ut2 +AS-Convoy.ut2 +AS-FallenCity.ut2 +AS-Glacier.ut2 +AS-Junkyard.ut2 +AS-MotherShip.ut2 +AS-RobotFactory.ut2 +BR-Anubis.ut2 +BR-Bifrost.ut2 +BR-BridgeOfFate.ut2 +BR-Canyon.ut2 +BR-Colossus.ut2 +BR-DE-ElecFields.ut2 +BR-Disclosure.ut2 +BR-IceFields.ut2 +BR-Serenity.ut2 +BR-Skyline.ut2 +BR-Slaughterhouse.ut2 +BR-TwinTombs.ut2 +CTF-1on1-Joust.ut2 +CTF-AbsoluteZero.ut2 +CTF-Avaris.ut2 +CTF-BP2-Concentrate.ut2 +CTF-BP2-Pistola.ut2 +CTF-BridgeOfFate.ut2 +CTF-Chrome.ut2 +CTF-Citadel.ut2 +CTF-Colossus.ut2 +CTF-December.ut2 +CTF-DE-ElecFields.ut2 +CTF-DoubleDammage.ut2 +CTF-Face3.ut2 +CTF-FaceClassic.ut2 +CTF-Geothermal.ut2 +CTF-Grassyknoll.ut2 +CTF-Grendelkeep.ut2 +CTF-January.ut2 +CTF-Lostfaith.ut2 +CTF-Magma.ut2 +CTF-Maul.ut2 +CTF-MoonDragon.ut2 +CTF-Orbital2.ut2 +CTF-Smote.ut2 +CTF-TwinTombs.ut2 +DM-1on1-Albatross.ut2 +DM-1on1-Crash.ut2 +DM-1on1-Desolation.ut2 +DM-1on1-Idoma.ut2 +DM-1on1-Irondust.ut2 +DM-1on1-Mixer.ut2 +DM-1on1-Roughinery.ut2 +DM-1on1-Serpentine.ut2 +DM-1on1-Spirit.ut2 +DM-1on1-Squader.ut2 +DM-1on1-Trite.ut2 +DM-Antalus.ut2 +DM-Asbestos.ut2 +DM-BP2-Calandras.ut2 +DM-BP2-GoopGod.ut2 +DM-Compressed.ut2 +DM-Corrugation.ut2 +DM-Curse4.ut2 +DM-Deck17.ut2 +DM-DE-Grendelkeep.ut2 +DM-DE-Ironic.ut2 +DM-DE-Osiris2.ut2 +DM-DesertIsle.ut2 +DM-Flux2.ut2 +DM-Gael.ut2 +DM-Gestalt.ut2 +DM-Goliath.ut2 +DM-HyperBlast2.ut2 +DM-Icetomb.ut2 +DM-Inferno.ut2 +DM-Injector.ut2 +DM-Insidious.ut2 +DM-IronDeity.ut2 +DM-Junkyard.ut2 +DM-Leviathan.ut2 +DM-Metallurgy.ut2 +DM-Morpheus3.ut2 +DM-Oceanic.ut2 +DM-Phobos2.ut2 +DM-Plunge.ut2 +DM-Rankin.ut2 +DM-Rrajigar.ut2 +DM-Rustatorium.ut2 +DM-Sulphur.ut2 +DM-TokaraForest.ut2 +DM-TrainingDay.ut2 +DOM-Access.ut2 +DOM-Aswan.ut2 +DOM-Atlantis.ut2 +DOM-Conduit.ut2 +DOM-Core.ut2 +DOM-Junkyard.ut2 +DOM-OutRigger.ut2 +DOM-Renascent.ut2 +DOM-Ruination.ut2 +DOM-ScorchedEarth.ut2 +DOM-SepukkuGorge.ut2 +DOM-Suntemple.ut2 +endgame.ut2 +Entry.ut2 +MOV-UT2004-Intro.ut2 +Mov-UT2-intro.ut2 +NoIntro.ut2 +NvidiaLogo.ut2 +ONS-Adara.ut2 +ONS-ArcticStronghold.ut2 +ONS-Crossfire.ut2 +ONS-Dawn.ut2 +ONS-Dria.ut2 +ONS-FrostBite.ut2 +ONS-IslandHop.ut2 +ONS-Primeval.ut2 +ONS-RedPlanet.ut2 +ONS-Severance.ut2 +ONS-Torlan.ut2 +ONS-Tricky.ut2 +ONS-Urban.ut2 +ParticleExamples.ut2 +TUT-BR.ut2 +TUT-CTF.ut2 +TUT-DM.ut2 +TUT-DOM2.ut2 +TUT-ONS.ut2 diff --git a/games-fps/ut2004-data/files/listings/Music b/games-fps/ut2004-data/files/listings/Music new file mode 100644 index 000000000000..9caa3e373edc --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Music @@ -0,0 +1,64 @@ +APubWithNoBeer.ogg +Intro_Music.ogg +Jugs-Entrance.ogg +KR-Absolute_Zero.ogg +KR-Action1.ogg +KR-Action2v2.ogg +KR-Action3.ogg +KR-Assault.ogg +KR-Atlantis.ogg +KR-Chemical-Burn.ogg +KR-City.ogg +KR-Collision-Course.ogg +KR-Conduit-v2.ogg +KR-Convoy.ogg +KR-Corrugation-Rise.ogg +KR-DM1.ogg +KR-EndingSequence.ogg +KR-From-Below-v2.ogg +KR-Ghosts-of-Anubis.ogg +KR-Glacier.ogg +KR-HELL.ogg +KR-Hyperblast-Redux.ogg +KR-Infernal-Realm.ogg +KR-Infiltrate.ogg +KR-Junkyard.ogg +KR-MenuMusic-v2.ogg +KR-Metallurgy.ogg +KR-Morpheus3.ogg +KR-Pharaohs-Revenge.ogg +KR-Rankin.ogg +KR-RobotFactory.ogg +KR-Roughinery.ogg +KR-Serenity.ogg +KR-SkaarjAssault.ogg +KR-SkyScraper.ogg +KR-Slaughter.ogg +KR-Sniper-Time.ogg +KR-Sulphur.ogg +KR-Tomb-of-Horus.ogg +KR-UT2003-Menu.ogg +KR-UT2004_Intro_v2.ogg +KR-UT2004-Menu.ogg +KR-WasteLand.ogg +Level11.ogg +Level13.ogg +Level15.ogg +Level16.ogg +Level2.ogg +Level3.ogg +Level5.ogg +Level6.ogg +Level7.ogg +Level8.ogg +Level9.ogg +Menu1.ogg +Mercs-Entrance.ogg +SDG-ONS01.ogg +SDG-ONS02.ogg +SDG-ONS03.ogg +SDG-ONS04.ogg +SDG-ONS05.ogg +SDG-ONS06.ogg +SDG-ONS08.ogg +StageMusic.ogg diff --git a/games-fps/ut2004-data/files/listings/Sounds b/games-fps/ut2004-data/files/listings/Sounds new file mode 100644 index 000000000000..a862faee40a5 --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Sounds @@ -0,0 +1,49 @@ +2K4MenuSounds.uax +A_Announcer_BP2.uax +AlienMaleTaunts.uax +AnnouncerAssault_DEMO.uax +AnnouncerAssault.uax +AnnouncerClassic.uax +AnnouncerEVIL.uax +announcerfemale2k4.uax +AnnouncerFemale.uax +AnnouncerLong.uax +AnnouncerMain.uax +announcermale2k4.uax +AnnouncerNames.uax +AnnouncerSEXY.uax +Announcer.uax +AssaultSounds.uax +CicadaSnds.uax +DistantBooms.uax +EndGameAudio.uax +GameSounds.uax +GeneralAmbience.uax +GeneralImpacts.uax +IndoorAmbience.uax +IntroAnnouncers.uax +IntroSounds.uax +IntroTrack.uax +JWDecemberSnd.uax +Male2Voice.uax +MenuSounds.uax +MercFemaleTaunts.uax +MercMaleTaunts.uax +NewDeath.uax +NewTutorialSounds.uax +NewWeaponSounds.uax +NvidiaLogoSounds.uax +ONSBPSounds.uax +ONSVehicleSounds-S.uax +OutdoorAmbience.uax +PickupSounds.uax +PlayerFootSteps.uax +PlayerSounds.uax +SlaughterSounds.uax +TauntPack.uax +TestCarS.uax +TutorialSounds.uax +VMGeneralSounds-S.uax +VMVehicleSounds-S.uax +WeaponSounds.uax +wm_sounds.uax diff --git a/games-fps/ut2004-data/files/listings/Speech b/games-fps/ut2004-data/files/listings/Speech new file mode 100644 index 000000000000..d4d8ed1e6407 --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Speech @@ -0,0 +1,5 @@ +br.xml +ctf.xml +dom.xml +ons.xml +tdm.xml diff --git a/games-fps/ut2004-data/files/listings/StaticMeshes b/games-fps/ut2004-data/files/listings/StaticMeshes new file mode 100644 index 000000000000..b66a27b23e71 --- /dev/null +++ b/games-fps/ut2004-data/files/listings/StaticMeshes @@ -0,0 +1,194 @@ +2K4chargerMESHES.usx +2K4_Nvidia.usx +2k4Trophies.usx +AbaddonHardware.usx +Albatross_architecture.usx +AlienBrushes.usx +Aliencrystal.usx +AlienTech.usx +AlleriaHardware.usx +AntalusStatic.usx +AnubisStatic.usx +ArboreaHardware.usx +ArboreaLanscape.usx +AS_Decos.usx +AS_Vehicles_SM.usx +AS_Weapons_SM.usx +AW-2004Crystals.usx +AW_AlleriaHW.usx +AW-Bridge.usx +AW-DemoMeshes.usx +AWHardware.usx +AW-Junk2.usx +AW-Junk.usx +AWMagicHardware.usx +AW-MechMeshes.usx +AW-Natural.usx +AW-Nature.usx +aw-neutral.usx +AW-PhysicMeshes.usx +AWPipes.usx +AW-RustMeshes.usx +AW-Steel.usx +AWStellarMeshes.usx +AW-Tech.usx +BarrenHardware-epic.usx +BarrenHardware.usx +BastienHardware_02.usx +BastienHardware.usx +BenMesh01.usx +BenMesh02.usx +BenTropicalSM01.usx +BP_egyptnew.usx +BulldogMeshes.usx +cass_staticmesh.usx +CaveDecoMeshes.usx +CavernStatic.usx +CB-Desert1.usx +CB-Desert2.usx +CB-StaticMesh.usx +cf_DE.usx +cf_sm01.usx +cf_sm02.usx +cf_static1.usx +cf_staticMushrooms.usx +Citadel_Static.usx +Comp.usx +Corrosion_Hardware.usx +cp_enviromesh1.usx +cp_Evilstatic2.usx +cp_Evil.usx +cp_Mechstaticpack1.usx +CP_Nightmare1_Epic.usx +cp_simplewall_meshs.usx +cp_stevetest1.usx +CP_UT2K3_TechSetMesh1.usx +cp_wasteland_mesh.usx +DanielsMeshes.usx +DEBonusMeshes.usx +DEBPchecker.usx +DemoMeshes.usx +DespFallencity-SM.usx +DESP-MS.usx +Desp_SMS-SM.usx +DespTech-STA.usx +DS-staticMeshes.usx +EffectMeshes.usx +Egypt_techmeshes_Epic.usx +EndGame-New.usx +EndStatic.usx +E_Pickups.usx +Epic_November2.usx +epic_phobos.usx +Face3_decomeshes.usx +far.usx +forest.usx +GDC_Meshes.usx +GeneralStatic.usx +GeothermalStatic.usx +G_Finalset1_M_CP.usx +Goose.usx +GroundCovernew.usx +GroundCover.usx +GunMeshes.usx +HourAdara.usx +HourMoriaStatics.usx +HumanoidHardware.usx +IceCliffs.usx +Industrial_Static.usx +jmalienwellc.usx +jm-staticmeshes.usx +JumpShipObjects.usx +JWAssaultMeshes.usx +JWDecember.usx +jwjanbrushes.usx +KarmaShapes.usx +LP_Evil1.usx +LP_Junk.usx +lp_scene2_m.usx +lp_scene3_m.usx +MiscPhysicsMeshes.usx +MiscStaticMeshes.usx +NaThAncientPack.usx +NewWeaponPickups.usx +NewWeaponStatic.usx +Nirvana.usx +N_StaticMeshFX_M_SC.usx +NvidiaLogo_M.usx +ONS-BPJW1.usx +ONSDeadVehicles-SM.usx +ONSFullStaticMeshes.usx +ONSstaticMeshVehicles.usx +ONSWeapons-SM.usx +ParticleMeshes.usx +PC_ConvoyStatics.usx +PC_NewFX.usx +PC_UrbanStatic.usx +Pipe_staticmeshes.usx +Pipe_Static.usx +PlungeMeshes.usx +Plutonic_BP2_static.usx +Plutonic_Robot_SM.usx +Primeval_SM.usx +ProcMeshes.usx +Rahnem_Glacier.usx +RiseSM.usx +SC_Beach.usx +SC_CityPrefabs.usx +SC_FrothStuff.usx +SC_GDC_M.usx +SC-Intro_Meshes.usx +SC_JungleMeshes.usx +SC_MeshParticles.usx +SC_Volcano_M.usx +SG_LO_meshes.usx +SG_Special.usx +sg_UT2003_pickups.usx +ShiptechHardware.usx +skyline-meshes-epic.usx +streamlineforest.usx +StreamlineMeshes.usx +StreamlineTakeOff1.usx +str_plant_meshes.usx +SurvivalGuideMeshes.usx +ThorSM.usx +TowerStatic.usx +TroffHardware.usx +Trophy_endroom.usx +Ty_RocketSMeshes.usx +VehicleMeshes.usx +VMmeshEmitted.usx +VMruinedVehicles.usx +VMStructures.usx +VMWeaponsSM.usx +WarEffectsMeshes.usx +WastelandHardware.usx +WeaponStaticMesh.usx +wm_meshes.usx +WM-StaticMesh.usx +X_AW-Bridge.usx +X_AW-EvilMeshes.usx +X_AW-MechMeshes.usx +X_AW-Natural.usx +X_AW-PhysicMeshes.usx +X_AW-Tech.usx +X_BG-FloraGen.usx +XceptOneObjA.usx +X_cp_enviromesh1.usx +X_cp_Evilstatic2.usx +X_cp_Evil.usx +X_cp_simplewall_meshs.usx +X_cp_stevetest1.usx +XGame_StaticMeshes.usx +X_jm-staticmeshes.usx +X_LP_Evil1.usx +X_lp_scene2_m.usx +X_lp_scene3_m.usx +X_MiscPhysicsMeshes.usx +X_SC_CityPrefabs.usx +X_SC-MechBase1.usx +X_SC-NewMech1.usx +X_sg_Evilstatpak1.usx +X_SG_LO_meshes.usx +X_sg_Mech_hbrushes.usx +X_SG_Special.usx diff --git a/games-fps/ut2004-data/files/listings/System b/games-fps/ut2004-data/files/listings/System new file mode 100644 index 000000000000..c6f7c71c1ec9 --- /dev/null +++ b/games-fps/ut2004-data/files/listings/System @@ -0,0 +1,6 @@ +BP2.ucl +Engine.dat +Manifest.ini +OnslaughtBP.ucl +ServerFilters.ini +UDNHelpTopics.ini diff --git a/games-fps/ut2004-data/files/listings/Textures b/games-fps/ut2004-data/files/listings/Textures new file mode 100644 index 000000000000..d78fa1e92aa1 --- /dev/null +++ b/games-fps/ut2004-data/files/listings/Textures @@ -0,0 +1,379 @@ +2K4Chargers.utx +2k4Fonts_kot.utx +2K4Fonts.utx +2K4Hud.utx +2K4Menus.utx +2K4reducedTEXTURES.utx +2K4TrophyTEX.utx +AbaddonArchitecture-epic.utx +AbaddonArchitecture.utx +AbaddonHardwareBrush.utx +AbaddonTerrain.utx +Albatross_architecture.utx +ALIENTEX.utx +AlleriaArchitecture.utx +AlleriaHardwareBrush.utx +AlleriaTerrain.utx +Animated.utx +AntalusTextures.utx +AnubisSky.utx +AnubisTextures.utx +ArboreaArchitecture.utx +ArboreaHardwareBrush.utx +ArboreaTerrain.utx +ArenaTex.utx +AS_FX_TX.utx +ASSAULTfilmGrain.utx +AS_Vehicles_TX.utx +AS_Weapons_TX.utx +Aurorae.utx +AW-2004Explosions.utx +AW-2004Particles.utx +AW-2004Shaders.utx +AW-2k4XP.utx +AW-Alleria.utx +AW-Ancient.utx +AW-BumpMaps.utx +AW-CellTest.utx +AW-CityStuff.utx +AWCity.utx +AW-Clean.utx +AW-Convert.utx +AW-Cubes.utx +AW-Decals.utx +AW-Foliage.utx +AW-Generic.utx +AW-Genesis.utx +AWGlobal.utx +AW-Labels.utx +AWMagic.utx +AW-Metals2.utx +AW-Metals.utx +AW-Oceanic.utx +AW-PoolSkins.utx +AW_Research.utx +AW-RustTex.utx +AW-Shaders.utx +AW-ShieldShaders.utx +AWStellar.utx +AW-Stone.utx +AW-Stuff.utx +AW-Terrain.utx +AWTroff.utx +BaneTextures.utx +BarrenHardwareDeux.utx +BarrensArchitecture-epic.utx +BarrensArchitecture-Scion.utx +BarrensArchitecture.utx +BarrensHardwareBrush.utx +BarrensTerrain.utx +Bastien_02.utx +Bastien.utx +BenTex01.utx +BenTex02.utx +BenTropical01.utx +BloodFX.utx +BonusParticles.utx +BP_arch1.utx +Brdg_A.utx +Bridge.utx +BrightPlayerSkins.utx +cassTextures2.utx +CaveDecoTex.utx +CavernTextures.utx +CB-Particles.utx +cf1.utx +cf2.utx +cf_mushrooms.utx +cf_tex01.utx +cf_tex02.utx +cf_tex03.utx +CheckerFXB.utx +CheckerFX.utx +Chrome_cp.utx +CicadaTex.utx +CitadelTextures.utx +CliffTest.utx +Compress.utx +Construction_S.utx +Coronas.utx +CorrosionTextures.utx +cp_cubemaps.utx +CP_Effects1.utx +cp_envirotex1.utx +cp_Evil2.utx +cp_Evil3.utx +cp_Evillandscape.utx +cp_Evilmetal.utx +cp_Forestswamp.utx +cp_fx.utx +cp_Junkyard.utx +cp_liquid1.utx +cp_Mech1.utx +cp_misc_effects.utx +cp_newskins1.utx +cp_particles.utx +cp_projected_new.utx +cp_projectedtex.utx +cp_staticmeshskin1.utx +cp_stevetest1.utx +cp_terrain1.utx +cp_texturetest1.utx +CP_UT2K3_TechSet1.utx +cp_wasteland.utx +Crosshairs.utx +CubeMaps.utx +DanFX.utx +DanielsTextures.utx +DavesTextures.utx +DEBonusTextures.utx +December_cp.utx +DecorationProjectors.utx +DefaultFluid.utx +DemoPlayerSkins.utx +DeployableTex.utx +DeRez.utx +DespFallenCity.utx +Desp_SMS-Tex.utx +DespTech.utx +Detail.utx +Dom-goose.utx +DS-textures.utx +Egypt_tech_Epic.utx +Elecfeildsshine.utx +EmitterTextures2.utx +EmitterTextures.utx +EndTextures.utx +EpicParticles.utx +Epic_Phoboswing.utx +ExitScreenNoLogo.utx +ExitScreen.utx +ExplosionTex.utx +Face3_deco.utx +FarEast.utx +FireEngine.utx +Foliage.utx +Fortress.utx +Futuretech1.utx +GeneralStaticTextures.utx +GeoThermalTextures.utx +GlacierTextures.utx +GoldCubes.utx +gooseFX.utx +Grendelfix.utx +Gwotseffects.utx +Gwotstuff.utx +H_E_L_Ltx.utx +HourAdaraTexor.utx +HourMoria.utx +HudContent.utx +HumanoidArchitecture2.utx +HumanoidArchitecture.utx +HumanoidHardwareBrush.utx +IllumShaders.utx +Imulsive.utx +Industrial.utx +InstagibEffects.utx +InterfaceContent.utx +intro_characters.utx +JamesEffects.utx +jm_manhatten_project.utx +jm-particl2.utx +jm-particles.utx +jm-prefabs2.utx +jm-prefabs.utx +JumpShipTextures.utx +jwDecemberArchitecture.utx +jwfasterfiles.utx +jw_jantex.utx +LadderShots.utx +LastManStanding.utx +LavaMLFX.utx +lavaskyX.utx +LeathamFX.utx +Lev_Particles.utx +LightningCoreTex.utx +lp_scene_1_t.utx +Malcom_scene3_textures.utx +MapThumbnails.utx +Mechcity1_CP.utx +Mech_decayed.utx +Mech_Decay_New.utx +MechStandard.utx +MenuEffects.utx +MikeDemoLevel.utx +MiscEpicTex01.utx +MiscPhysicsMeshesTex.utx +MutantSkins.utx +MutatorArt.utx +NaThCrossfire.utx +NatureFX.utx +NatureOne.utx +newsniperrifle.utx +NormalMaps.utx +November2ship.utx +n_StaticMeshFX_T_SC.utx +NvidiaLogo_2.utx +NvidiaLogo_T.utx +OldTreeSkins.utx +ONSBP_DestroyedVehicles.utx +ONSBPTextures.utx +ONSDeadVehicles-TX.utx +ONSFullTextures.utx +ONSInterface-TX.utx +ONSstructureTextures.utx +ONSTorlanREDONE.utx +OtherWorld.utx +Palettes.utx +Particles.utx +PC_ConvoyTextures.utx +PC_NewWeaponFX.utx +PC_UrbanTex.utx +Phobos2_cp.utx +PickupSkins.utx +Pipe_Set.utx +PipeTextures.utx +PlayerPictures.utx +PlayerSkins.utx +Plutonic_BP2_textures.utx +Plutonic_Robot_TX.utx +Primeval_Tex.utx +PSDria.utx +Rimlight.utx +SC_Animated.utx +SC_BuggyTest.utx +SC-City.utx +SC_Froth.utx +SC_GDC_FX.utx +SC_GDC.utx +SC_Intro.utx +SC_Jungle.utx +SC_MeshParticleTex.utx +SC_Volcano_T.utx +SC_Water.utx +SD-Generic.utx +ServerIcons.utx +sg_floorsandgrates_alpha.utx +SG_Giest_redset.utx +SG_Hud.utx +SG_Lost_Outpost.utx +sg-Mech.utx +SG_Special_Decos.utx +sg_UT2003_Jumpboots.utx +ShaneDay.utx +ShaneDemoHead.utx +ShaneJungle.utx +Shiptech2.utx +ShiptechHardwareBrush.utx +Shiptech.utx +SinglePlayerThumbs.utx +skaarjintrotextures.utx +SkaarjPackSkins.utx +Skies.utx +SkyBox.utx +skyline-epic.utx +SkyRenders.utx +StreamlineIntro.utx +StreamlineTakeOffTex1.utx +streamlinewater.utx +strplants.utx +SurvivalGuideSMskins.utx +TeamSymbols_UT2003.utx +TeamSymbols_UT2004.utx +TeamSymbols.utx +T_Epic2k4BP2.utx +Terrain2.utx +Terrain.utx +Terrain_w.utx +TowerTerrain.utx +TrophyRoom_END.utx +TurretParticles.utx +Turrets.utx +Ty_RocketTextures.utx +UCGameSpecific.utx +UCGeneric.utx +ULogo.utx +UT2003Fonts_kot.utx +UT2003Fonts_smt.utx +UT2003Fonts_tmt.utx +UT2003Fonts.utx +UT2004ECEPlayerSkins.utx +UT2004PlayerSkins.utx +UT2004Thumbnails.utx +UT2004Weapons.utx +VehicleFX.utx +VehicleSkins.utx +Village.utx +VMdeadVehicles.utx +VMparticleTextures.utx +VMVehicles-TX.utx +VMWeaponsTX.utx +WarEffectsTextures.utx +WarFx.utx +Warroomtech.utx +WeaponSkins.utx +WinX.utx +wm_misc.utx +wm_textures.utx +X_Animated.utx +X_AW-CellTest.utx +X_AW-Convert.utx +X_AW-Cubes.utx +X_AW-MechTex.utx +X_AW-Shaders.utx +X_BG-FloraGen_tex.utx +XceptOne.utx +XceptThree.utx +XceptTwo.utx +X_CliffTest.utx +X_cp_cubemaps.utx +X_cp_envirotex1.utx +X_cp_Evil1.utx +X_cp_Evil2.utx +X_cp_Evil3.utx +X_cp_Evillandscape.utx +X_cp_Evilmetal.utx +X_cp_fx.utx +X_cp_liquid1.utx +X_cp_Mech1.utx +X_cp_particles.utx +X_cp_projected_new.utx +X_cp_staticmeshskin1.utx +X_cp_stevetest1.utx +X_cp_terrain1.utx +X_cp_texturetest1.utx +X_DeployableTex.utx +XEffectMat.utx +X_Foliage.utx +X_Futuretech1.utx +XGameShaders2004.utx +xGameShadersB.utx +XGameShaders.utx +XGameTextures.utx +X_GoldCubes.utx +X_jm_manhatten_project.utx +X_jm-particl2.utx +X_jm-prefabs2.utx +X_jm-prefabs.utx +X_lp_scene_1_t.utx +X_Mechcity1_CP.utx +X_Mech_decayed.utx +X_Mech_Decay_New.utx +X_MechStandard.utx +XMiscEffects.utx +X_MiscPhysicsMeshesTex.utx +XPlantTextures.utx +X_SC-City.utx +X_sg_Evil1.utx +X_sg_floorsandgrates_alpha.utx +X_SG_Hud.utx +X_SG_Lost_Outpost.utx +X_sg-Mech.utx +X_SG_Special_Decos.utx +X_ShaneJungle.utx +X_Skies.utx +X_Terrain2.utx +X_WarEffectsTextures.utx +X_WarFx.utx +X_WarMechGunner.utx +X_wm_misc.utx diff --git a/games-fps/ut2004-data/metadata.xml b/games-fps/ut2004-data/metadata.xml index 183ecc5ceeeb..dcad0e24fd90 100644 --- a/games-fps/ut2004-data/metadata.xml +++ b/games-fps/ut2004-data/metadata.xml @@ -5,5 +5,45 @@ <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> + <use> + <flag name="gog">Install from the GOG.com release. Note that the game is no longer sold here.</flag> + <flag name="megapack">Download the Mega Pack content. Mandatory unless using the OldUnreal, Unreal Anthology, or GOG editions.</flag> + </use> + <longdescription> + This package installs just the data files, not the engine, for Epic's + popular first-person shooter game, Unreal Tournament 2004. + + Epic privately shared the engine sources with the community OldUnreal + team, who now maintain it and publish modern builds. Epic also, somewhat + informally, gave permission for OldUnreal to host a DVD ISO of the game + for the community to download and play for free. + + This was announced by OldUnreal on Reddit here: + https://www.reddit.com/r/unrealtournament/comments/1pdbcc3/oldunreal_takes_over_maintenance_of_unreal + + Epic had already confirmed their permission to do this with their + earlier Unreal titles to GamingOnLinux here: + https://www.gamingonlinux.com/2024/11/classic-unreal-tournament-and-unreal-now-easier-to-download-free-thanks-to-oldunreal/ + + "We can confirm that Unreal 1 and Unreal Tournament are available on + archive.org and people are free to independently link to and play + these versions." + + Epic's web page for Unreal Tournament links to OldUnreal for downloads: + https://www.epicgames.com/unrealtournament + + By default, this package will fetch that ISO from OldUnreal. It lacks + the French, German, Italian, and Spanish sound files, as well as the + wider French, Italian, and Korean text files, included in other physical + editions. If you have these files and wish to use them or otherwise do + not want to use OldUnreal's ISO, you also have the option to install + from CD, DVD, or GOG instead. Note that the game can no longer be + purchased from GOG or anywhere else. Epic even removed it from their own + store. + + If the CD or DVD you are installing from lacks the Mega Pack content + that is included in other editions, you must enable the megapack USE + flag to download it. + </longdescription> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild b/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild deleted file mode 100644 index 1afad93fd0c1..000000000000 --- a/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild +++ /dev/null @@ -1,399 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cdrom desktop portability unpacker xdg-utils - -DESCRIPTION="Unreal Tournament 2004 - This is the data portion of UT2004" -HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" - -LICENSE="ut2003" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RESTRICT="bindist" - -BDEPEND=" - games-util/uz2unpack - >=app-arch/unshield-0.5-r1 -" - -PDEPEND=">=games-fps/ut2004-3369.3-r2" -RDEPEND="!games-fps/ut2004-ded" - -S="${WORKDIR}" - -check_dvd() { - # The following is a nasty mess to determine if we are installing from - # a DVD or from multiple CDs. Anyone feel free to submit patches to this - # to bugs.gentoo.org as I know it is a very ugly hack. - - USE_DVD= - USE_ECE_DVD= - USE_MIDWAY_DVD= - USE_GERMAN_MIDWAY_DVD= - - local point foo fs mnts=() - while read point foo fs foo ; do - [[ ${fs} =~ (9660|udf) ]] && mnts+=( "${point//\040/ }" ) - done < <(get_mounts) - - local r - for r in "${CD_ROOT}" "${CD_ROOT_1}" "${mnts[@]}" ; do - if [[ -n ${r} ]] ; then - einfo "Searching ${r}" - if [[ -f ${r}/AutoRunData/Unreal.ico ]] \ - && [[ -f ${r}/Disk5/data6.cab ]] ; then - USE_MIDWAY_DVD=1 - USE_DVD=1 - elif [[ -f ${r}/autorund/unreal.ico ]] \ - && [[ -f ${r}/disk7/data8.cab ]] ; then - USE_MIDWAY_DVD=1 - USE_GERMAN_MIDWAY_DVD=1 - USE_DVD=1 - else - [[ -d ${r}/CD1 ]] && USE_DVD=1 - [[ -d ${r}/CD7 ]] && USE_ECE_DVD=1 - fi - fi - done -} - -grabdirs() { - local d - for d in {Music,Sounds,Speech,StaticMeshes,Textures} ; do - local srcdir=${CDROM_ROOT}/${1}/${d} - # Is flexible to handle CD_ROOT vs CD_ROOT_1 mixups - [[ -d ${srcdir} ]] || srcdir=${CDROM_ROOT}/${d} - if [[ -d ${srcdir} ]] ; then - insinto /opt/ut2004 - doins -r "${srcdir}" - fi - done -} - -ut_unpack() { - local ut_unpack="$1" - local f= - - if [[ -z ${ut_unpack} ]] ; then - die "You must provide an argument to ut_unpack" - fi - if [[ -f ${ut_unpack} ]] ; then - uz2unpack "${ut_unpack}" "${ut_unpack%.uz2}" \ - || die "uncompressing file ${ut_unpack}" - fi - if [[ -d ${ut_unpack} ]] ; then - while read f ; do - uz2unpack "${ut_unpack}/${f}" "${ut_unpack}/${f%.uz2}" \ - || die "uncompressing file ${f}" - rm -f "${ut_unpack}/${f}" || die "deleting compressed file ${f}" - done < <(find "${ut_unpack}" -maxdepth 1 -name '*.uz2' -printf '%f\n' 2>/dev/null) - fi -} - -pkg_setup() { - ewarn "This is a huge package. If you do not have at least 7GB of free" - ewarn "disk space in ${PORTAGE_TMPDIR} and also in /opt" - ewarn "then you should abort this installation now and free up some space." -} - -src_unpack() { - check_dvd - - if [[ ${USE_DVD} -eq 1 ]] ; then - if [[ ${USE_MIDWAY_DVD} -eq 1 ]] ; then - # Is 1 DVD, either UT2004-only or Anthology - if [[ ${USE_GERMAN_MIDWAY_DVD} -eq 1 ]] ; then - cdrom_get_cds autorund/unreal.ico - else - cdrom_get_cds AutoRunData/Unreal.ico - fi - else - DISK1="CD1" - DISK2="CD2" - DISK3="CD3" - DISK4="CD4" - DISK5="CD5" - DISK6="CD6" - if [[ ${USE_ECE_DVD} -eq 1 ]] ; then - # Editor's Choice Edition DVD - cdrom_get_cds \ - ${DISK1}/System/UT2004.ini \ - ${DISK2}/Textures/2K4Fonts.utx.uz2 \ - ${DISK3}/Textures/ONSDeadVehicles-TX.utx.uz2 \ - ${DISK4}/Textures/XGameShaders2004.utx.uz2 \ - ${DISK5}/Speech/ons.xml \ - ${DISK6}/Sounds/TauntPack.det_uax.uz2 - else - # Original DVD - cdrom_get_cds \ - ${DISK1}/System/UT2004.ini \ - ${DISK2}/Textures/2K4Fonts.utx.uz2 \ - ${DISK3}/Textures/ONSDeadVehicles-TX.utx.uz2 \ - ${DISK4}/StaticMeshes/AlienTech.usx.uz2 \ - ${DISK5}/Speech/ons.xml \ - ${DISK6}/Sounds/TauntPack.det_uax.uz2 - fi - fi - else - # 6 CDs - cdrom_get_cds \ - System/UT2004.ini \ - Textures/2K4Fonts.utx.uz2 \ - Textures/ONSDeadVehicles-TX.utx.uz2 \ - StaticMeshes/AlienTech.usx.uz2 \ - Speech/ons.xml \ - Sounds/TauntPack.det_uax.uz2 - fi - - if [[ ${USE_MIDWAY_DVD} -ne 1 ]] ; then - unpack_makeself "${CDROM_ROOT}"/linux-installer.sh - use x86 && unpack ./linux-x86.tar - use amd64 && unpack ./linux-amd64.tar - fi -} - -src_install() { - local j - local Ddir="${ED}"/opt/ut2004 - - if [[ ${USE_MIDWAY_DVD} -eq 1 ]] ; then - einfo "Copying files from UT2004 Midway DVD." - - if [[ -f ${CDROM_ROOT}/Manual/Manual.pdf ]] ; then - insinto /opt/ut2004/Manual - doins "${CDROM_ROOT}"/Manual/Manual.pdf - elif [[ -f ${CDROM_ROOT}/Manual.pdf ]] ; then - insinto /opt/ut2004/Manual - doins "${CDROM_ROOT}"/Manual.pdf - fi - - # Symlinks for unshield. data1&2.cab are both in Disk1. - # unshield needs data1.hdr - # The Midway Anthology DVD contains up to data9.cab - local cabfile - for cabfile in "${CDROM_ROOT}"/[dD]isk*/data*.{cab,hdr} ; do - ln -sfn "${cabfile}" . - done - - # The big extraction - einfo "Extracting from CAB files - this will take several minutes..." - unshield x data1.cab || die - - if [[ -d 4_UT2004_Animations ]] ; then - # Delete the other games on the Anthology DVD - rm -rf {1,2,3}_Unreal* 4_UT2004_EXE Launcher_* OCXFiles || die - # Rename directories to be same as Midway UT2004-only DVD, - # i.e. rename "4_UT2004_Animations" to "Animations". - for j in 4_UT2004_* ; do - mv -f ${j} ${j/4_UT2004_} || die - done - fi - - # The "logging" subdirectory is created by unshield. - rm -rf logging || die - rm -f *.{cab,hdr} || die - - for j in Animations Benchmark ForceFeedback Help KarmaData \ - Manual Maps Music Sounds Speech StaticMeshes \ - System Textures Web ; do - - # UT2004-only DVD has "All_*" dirs, and Anthology DVD has "*_All" - if [[ -d All_${j} ]] ; then - if [[ -d ${j} ]] ; then - cp -rf All_${j}/* ${j}/ || die - else - mv -f All_${j} ${j} || die - fi - fi - if [[ -d ${j}_All ]] ; then - if [[ -d ${j} ]] ; then - cp -rf ${j}_All/* ${j}/ || die - else - mv -f ${j}_All ${j} || die - fi - fi - - if [[ -d English_${j} ]] ; then - if [[ -d ${j} ]] ; then - cp -rf English_${j}/* ${j}/ || die - else - mv -f English_${j} ${j} || die - fi - fi - if [[ -d ${j}_English ]] ; then - if [[ -d ${j} ]] ; then - cp -rf ${j}_English/* ${j}/ || die - else - mv -f ${j}_English ${j} || die - fi - fi - - # Ensure that the directory exists - mkdir -p ${j} - done - - # Rearrange directories - if [[ -d English_Sounds_Speech_System_Help ]] ; then - # http://utforums.epicgames.com/showthread.php?t=558146 - for j in Sounds Speech System Help ; do - cp -rf English_Sounds_Speech_System_Help/${j}/* ${j}/ || die - done - fi - - if [[ ! -d Benchmark/Stuff ]] ; then - mkdir -p Benchmark/Stuff || die - cp -f BenchmarkStuff/timedemo.txt Benchmark/Stuff || die - fi - - if [[ ! -d System/editorres ]] ; then - mkdir -p System/editorres || die - cp -rf Systemeditorres/* System/editorres || die - fi - - if [[ ! -d Web/images ]] ; then - mkdir -p Web/{images,ServerAdmin,Src} || die - cp -rf Webimages/* Web/images || die - cp -rf WebServerAdmin/* Web/ServerAdmin || die - cp -rf WebSrc/* Web/Src || die - fi - - # Other languages - for j in Help_* Sounds_* System_* ; do - [[ ! -d ${j} ]] && continue - mv -n ${j}/* ${j/_*}/ || die - done - - # Remove unnecessary directories - rm -rf Benchmark{CSVs,Logs,Results,Stuff} - rm -rf Systemeditorres Web{images,ServerAdmin,Src} - rm -rf Help_* Sounds_* Speech_* System_* - rm -rf \<* \[* _* All_* English_* *_All *_English - - # These files are replaced later, for all installations - rm -f $(find . -type f -name 'DO_NOT_DELETE.ME') - - # Install icon - if [[ -f ut2004.xpm ]] ; then - doicon ut2004.xpm - elif [[ -f Help/Unreal.ico ]] ; then - newicon Help/Unreal.ico ut2004.ico - elif [[ -f ${CDROM_ROOT}/AutoRunData/Unreal.ico ]] ; then - newicon "${CDROM_ROOT}"/AutoRunData/Unreal.ico ut2004.ico - elif [[ -f Help/Unreal.bmp ]] ; then - newicon Help/Unreal.bmp ut2004.bmp - fi - - # The big install - einfo "Installing UT2004 directories..." - insinto /opt/ut2004 - doins -r . - else - # Disk 1 - einfo "Copying files from Disk 1..." - insinto /opt/ut2004 - doins -r "${CDROM_ROOT}"/${DISK1}/{Animations,ForceFeedback,Help,KarmaData,Maps,Sounds,Web} - insinto /opt/ut2004/System - doins -r "${CDROM_ROOT}"/${DISK1}/System/{editorres,*.{bat,bmp,dat,det,est,frt,ini,int,itt,kot,md5,smt,tmt,u,ucl,upl,url}} - insinto /opt/ut2004/Manual - doins "${CDROM_ROOT}"/${DISK1}/Manual/Manual.pdf - insinto /opt/ut2004/Benchmark/Stuff - doins -r "${CDROM_ROOT}"/${DISK1}/Benchmark/Stuff/. - cdrom_load_next_cd - - local diskno - for diskno in {2..5} ; do - einfo "Copying files from Disk ${diskno}..." - local varname="DISK${diskno}" - grabdirs ${!varname} - cdrom_load_next_cd - done - - # Disk 6 - einfo "Copying files from Disk 6..." - grabdirs "${DISK6}" - - # Install extra help files - insinto /opt/ut2004/Help - doins README.linux Unreal.bmp UT2004_EULA.txt ut2004.xpm - - doicon ut2004.xpm - - # Uncompress files - einfo "Uncompressing files... this *will* take a while..." - for j in Animations Maps Sounds StaticMeshes Textures ; do - fperms -R u+w /opt/ut2004/${j} - ut_unpack "${Ddir}"/${j} - done - fi - - # Create empty files in Benchmark - for j in {CSVs,Logs,Results} ;do - keepdir /opt/ut2004/Benchmark/${j} - done - - # Remove unneccessary files - rm -f "${Ddir}"/*.{bat,exe,EXE,int} || die - rm -f "${Ddir}"/Help/{.DS_Store,SAPI-EULA.txt} || die - rm -f "${Ddir}"/Manual/*.exe || die - rm -rf "${Ddir}"/Speech/Redist || die - rm -f "${Ddir}"/System/*.{bat,dll,exe,tar} || die - rm -f "${Ddir}"/System/{{License,Manifest}.smt,{ucc,StdOut}.log} || die - rm -f "${Ddir}"/System/{User,UT2004}.ini || die - - # Remove file collisions with ut2004-3369-r4 - rm -f "${Ddir}"/Animations/ONSNewTank-A.ukx || die - rm -f "${Ddir}"/Help/UT2004Logo.bmp || die - rm -f "${Ddir}"/System/{ALAudio.kot,AS-{Convoy,FallenCity,Glacier}.kot,AS-{Convoy,FallenCity,Glacier,Junkyard,Mothership,RobotFactory}.int,bonuspack.{det,est,frt},BonusPack.{int,itt,u},BR-Serenity.int} || die - rm -f "${Ddir}"/System/CTF-{AbsoluteZero,BridgeOfFate,DE-ElecFields,DoubleDammage,January,LostFaith}.int || die - rm -f "${Ddir}"/System/DM-{1on1-Albatross,1on1-Desolation,1on1-Mixer,Corrugation,IronDeity,JunkYard}.int || die - rm -f "${Ddir}"/System/{DOM-Atlantis.int,OnslaughtBP.{kot,u,ucl},OnslaughtFull.int} || die - rm -f "${Ddir}"/System/{Build.ini,CacheRecords.ucl,Core.{est,frt,kot,int,itt,u},CTF-January.kot,D3DDrv.kot,DM-1on1-Squader.kot} || die - rm -f "${Ddir}"/System/{Editor,Engine,Gameplay,GamePlay,UnrealGame,UT2k4Assault,XInterface,XPickups,xVoting,XVoting,XWeapons,XWebAdmin}.{det,est,frt,int,itt,u} || die - rm -f "${Ddir}"/System/{Fire.u,IpDrv.u,License.int,ONS-ArcticStronghold.kot} || die - rm -f "${Ddir}"/System/{OnslaughtFull,onslaughtfull,UT2k4AssaultFull}.{det,est,frt,itt,u} || die - rm -f "${Ddir}"/System/{GUI2K4,Onslaught,skaarjpack,SkaarjPack,XGame}.{det,est,frt,int,itt,kot,u} || die - rm -f "${Ddir}"/System/{Setup,Window}.{det,est,frt,int,itt,kot} || die - rm -f "${Ddir}"/System/XPlayers.{det,est,frt,int,itt} || die - rm -f "${Ddir}"/System/{UnrealEd.u,UTClassic.u,UTV2004c.u,UTV2004s.u,UWeb.u,Vehicles.kot,Vehicles.u,Xweapons.itt,UT2K4AssaultFull.int,UTV2004.kot,UTV2004s.kot} || die - rm -f "${Ddir}"/System/{XAdmin.kot,XAdmin.u,XMaps.det,XMaps.est} || die - rm -f "${Ddir}"/Textures/jwfasterfiles.utx || die - rm -f "${Ddir}"/Web/ServerAdmin/{admins_home.htm,current_bots.htm,ut2003.css,current_bots_species_group.inc} || die - rm -f "${Ddir}"/Web/ServerAdmin/ClassicUT/current_bots.htm || die - rm -f "${Ddir}"/Web/ServerAdmin/UnrealAdminPage/{adminsframe.htm,admins_home.htm,admins_menu.htm,current_bots.htm,currentframe.htm,current_menu.htm} || die - rm -f "${Ddir}"/Web/ServerAdmin/UnrealAdminPage/{defaultsframe.htm,defaults_menu.htm,footer.inc,mainmenu.htm,mainmenu_itemd.inc,rootframe.htm,UnrealAdminPage.css} || die - rm -f "${Ddir}"/Web/ServerAdmin/UT2K3Stats/{admins_home.htm,current_bots.htm,ut2003stats.css} || die - - # Remove file collisions with ut2004-bonuspack-ece - rm -f "${Ddir}"/Animations/{MechaSkaarjAnims,MetalGuardAnim,NecrisAnim,ONSBPAnimations}.ukx || die - rm -f "${Ddir}"/Help/BonusPackReadme.txt || die - rm -f "${Ddir}"/Maps/ONS-{Adara,IslandHop,Tricky,Urban}.ut2 || die - rm -f "${Ddir}"/Sounds/{CicadaSnds,DistantBooms,ONSBPSounds}.uax || die - rm -f "${Ddir}"/StaticMeshes/{BenMesh02,BenTropicalSM01,HourAdara,ONS-BPJW1,PC_UrbanStatic}.usx || die - rm -f "${Ddir}"/System/{ONS-Adara.int,ONS-IslandHop.int,ONS-Tricky.int,ONS-Urban.int,OnslaughtBP.int,xaplayersl3.upl} || die - rm -f "${Ddir}"/Textures/{AW-2k4XP,BenTex02,BenTropical01,BonusParticles,CicadaTex,Construction_S}.utx || die - rm -f "${Ddir}"/Textures/{HourAdaraTexor,ONSBPTextures,ONSBP_DestroyedVehicles,PC_UrbanTex,UT2004ECEPlayerSkins}.utx || die - - # Remove file collisions with ut2004-bonuspack-mega - rm -f "${Ddir}"/Help/MegapackReadme.txt || die - rm -f "${Ddir}"/Maps/{AS-BP2-Acatana,AS-BP2-Jumpship,AS-BP2-Outback,AS-BP2-SubRosa,AS-BP2-Thrust}.ut2 || die - rm -f "${Ddir}"/Maps/{CTF-BP2-Concentrate,CTF-BP2-Pistola,DM-BP2-Calandras,DM-BP2-GoopGod}.ut2 || die - rm -f "${Ddir}"/Music/APubWithNoBeer.ogg || die - rm -f "${Ddir}"/Sounds/A_Announcer_BP2.uax || die - rm -f "${Ddir}"/StaticMeshes/{JumpShipObjects,Ty_RocketSMeshes}.usx || die - rm -f "${Ddir}"/System/{AssaultBP.u,Manifest.in{i,t},Packages.md5} || die - rm -f "${Ddir}"/Textures/{JumpShipTextures,T_Epic2k4BP2,Ty_RocketTextures}.utx || die -} - -pkg_postinst() { - xdg_icon_cache_update - - elog "This is only the data portion of the game. To play UT2004," - elog "you still need to install games-fps/ut2004." -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/games-fps/ut2004-data/ut2004-data-3369.ebuild b/games-fps/ut2004-data/ut2004-data-3369.ebuild new file mode 100644 index 000000000000..098dab57c1e9 --- /dev/null +++ b/games-fps/ut2004-data/ut2004-data-3369.ebuild @@ -0,0 +1,267 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CDROM_OPTIONAL="yes" +inherit cdrom check-reqs portability + +DESCRIPTION="Data files for Unreal Tournament 2004" +HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" +GOG=( "setup_unreal_tournament_2004_1.0_(18947).exe" "setup_unreal_tournament_2004_1.0_(18947)-1.bin" ) +SRC_URI=" + !cdinstall? ( !gog? ( fetch+https://files.oldunreal.net/UT2004.ISO -> UT2004.iso ) ) + gog? ( ${GOG[*]} ) + megapack? ( fetch+https://unreal-archive-files-na.s3.ca-east-tor.io.cloud.ovh.net/managed/Unreal%20Tournament%202004/patches-updates/bonus-packs/ut2004megapack-linux.tar.bz2 ) +" +S="${WORKDIR}" + +LICENSE="Epic-TOS" # See metadata.xml for the legal background. +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="megapack doc gog l10n_de l10n_es l10n_fr l10n_it l10n_ko" +RESTRICT="bindist gog? ( fetch ) mirror" +REQUIRED_USE=" + ?? ( cdinstall gog ) + !cdinstall? ( !megapack ) +" + +UT_DEPEND=">=games-fps/ut2004-3374_pre23" + +BDEPEND=" + ${UT_DEPEND} + cdinstall? ( app-arch/unshield ) + gog? ( app-arch/innoextract ) + !cdinstall? ( !gog? ( + app-arch/libarchive + app-arch/unshield + ) ) +" +RDEPEND=" + ${UT_DEPEND} + !games-fps/ut2004-bonuspack-ece + !games-fps/ut2004-bonuspack-mega + !games-server/ut2004-ded +" + +# Assuming the OldUnreal ISO. +CHECKREQS_DISK_BUILD="15G" + +pkg_nofetch() { + einfo "Please download ${GOG[0]} and" + einfo "${GOG[1]} from GOG and move them" + einfo "to your distfiles directory. Note that you can no longer buy this" + einfo "game from GOG, so disable USE=\"gog\" to use OldUnreal's free ISO if" + einfo "you don't already own the game." +} + +locale_mismatch() { + case "${1}" in + *.det|*.det_*|4_UT2004_*_German*) ! use l10n_de ;; + *.est|*.est_*|4_UT2004_*_Spanish) ! use l10n_es ;; + *.frt|*.frt_*|4_UT2004_*_French) ! use l10n_fr ;; + *.itt|*.itt_*|4_UT2004_*_Italian) ! use l10n_it ;; + *.kot|*.kot_*) ! use l10n_ko ;; + *) return 1 ;; + esac +} + +src_unpack() { + if use gog; then + innoextract --extract "${DISTDIR}/${GOG[0]}" || die + return + elif use cdinstall; then + ewarn "It is no longer necessary to install this from CD or DVD. Please" + ewarn "disable USE=\"cdinstall\" if you would prefer to download the game for" + ewarn "free. Note that the free download lacks localised audio and some" + ewarn "localised text." + echo + else + # We might as well handle a downloaded ISO and a user-provided ISO the + # same way through cdrom.eclass. + CD_ROOT="${DISTDIR}/UT2004.iso" + fi + + # No really, Midway.tga is *not* on the Midway DVD. + # The German Midway DVD doesn't include UT99. + + cdrom_get_cds \ + Manuals/UnrealTournament_English.pdf:autorund/unreal.ico:AutoRunData/Midway.tga:CD6/Sounds/TauntPack.det_uax.uz2:linux-installer.sh:System/UT2004.ini \ + ::::Textures/2K4Fonts.utx.uz2:Textures/2K4Fonts.utx.uz2 \ + ::::Textures/ONSDeadVehicles-TX.utx.uz2:Textures/ONSDeadVehicles-TX.utx.uz2 \ + ::::StaticMeshes/AlienTech.usx.uz2:StaticMeshes/AlienTech.usx.uz2 \ + ::::Speech/ons.xml:Speech/ons.xml \ + :::::Sounds/TauntPack.det_uax.uz2 + + case ${CDROM_SET} in + 0) einfo "Found Midway Unreal Anthology DVD" ;; + 1) einfo "Found German Midway Unreal Anthology DVD" ;; + 2) einfo "Found OldUnreal UT2004 DVD" ;; + 3) einfo "Found UT2004 DVD (original or Editor's Choice Edition)" ;; + 4) einfo "Found UT2004 CD 1 of 5" ;; + 5) einfo "Found UT2004 CD 1 of 6" ;; + esac + + case ${CDROM_SET} in + 3|4|5) + if ! use megapack; then + die "Your installation source lacks the Mega Pack. Please enable USE=\"megapack\" to download it." + fi ;; + *) + if use megapack; then + ewarn "Enabling USE=\"megapack\" just downloads an unnecessary file with" + ewarn "this installation source. Please disable it." + fi ;; + esac + + local group dir cdnum + case ${CDROM_SET} in + 0|1) + # Symlinks for unshield. These files need to be in the same + # directory but on the disk, they are not for some reason. + ln -snf "${CDROM_ROOT}"/{Disk1/data1.hdr,Disk*/data*.cab} "${T}"/ || die + + for group in $(unshield g "${T}"/data1.cab || die); do + case ${group} in + 4_UT2004_Benchmark|4_UT2004_EXE|4_UT2004_Manual_*|4_UT2004_Web) continue ;; + 4_UT2004_*) : ;; + *) continue ;; + esac + locale_mismatch "${group}" && continue + unshield -g "${group}" x "${T}"/data1.cab || die + done + + for dir in 4_UT2004_*; do + mv -v "${dir}" "${dir#4_UT2004_}" || die + done + + for dir in *_*/; do + mkdir -p "${dir%_*}" || die + tar -C "${dir}" --remove-files -cf - . | tar -C "${dir%_*}" -xvf - || die + done + ;; + + 2) + # Symlinks for unshield. These files need to be in the same + # directory but on the disk, they are not for some reason. + ln -snf "${CDROM_ROOT}"/{Disk1/data1.hdr,Disk*/data*.cab} "${T}"/ || die + + for group in $(unshield g "${T}"/data1.cab || die); do + case ${group} in + All_Benchmark|All_Web) continue ;; + All_*|English_Sounds_Speech_System_Help|US_License.int) : ;; + *) continue ;; + esac + unshield -g "${group}" x "${T}"/data1.cab || die + done + + for dir in All_*; do + mv -v "${dir}" "${dir#All_}" || die + done + + mkdir -p Sounds Speech System Help || die + mv -v UT2004.EXE/* US_License.int/* System/ || die + for dir in English_Sounds_Speech_System_Help/*/; do + mv -v "${dir}"/* "${dir#*/}" || die + done + ;; + + 3) + for cdnum in {1..6}; do + tar -C "${CDROM_ROOT}/CD${cdnum}" --mode=u+w -cf - . | tar -xvf - || die + done + ;; + + 4|5) + tar -C "${CDROM_ROOT}" --mode=u+w -cf - . | tar -xvf - || die + for cdnum in $(seq 2 $((CDROM_SET + 1))); do + cdrom_load_next_cd + tar -C "${CDROM_ROOT}" --mode=u+w -cf - . | tar -xvf - || die + done + ;; + esac + + # Some disks compress most of the files. The engine has the decompresser. + # Annoyingly, it logs to the engine's directory. + addpredict "${BROOT}"/opt/ut2004 + find -name "*.uz2" -exec ut2004-ucc decompress "${PWD}"/{} -nohomedir \; -delete || die + + # Install the Mega Pack where necessary for parity between different + # installation sources. This includes the ECE content but *not* the XP Bonus + # Maps (ONS-Aridoom and ONS-Ascendancy). The latter were never released as + # part of the game and OldUnreal does not include them in its installation. + case ${CDROM_SET} in + 3|4|5) tar --strip-components=1 -jxvf "${DISTDIR}"/ut2004megapack-linux.tar.bz2 || die ;; + esac +} + +src_install() { + local dir file + + if use doc; then + case ${CDROM_SET} in + 0|1) + newdoc "${CDROM_ROOT}"/Manuals/UT2004_English.pdf Manual.pdf + use l10n_de && newdoc "${CDROM_ROOT}"/Manuals/UT2004_German.pdf Manual_de.pdf + use l10n_es && newdoc "${CDROM_ROOT}"/Manuals/UT2004_Spanish.pdf Manual_es.pdf + use l10n_fr && newdoc "${CDROM_ROOT}"/Manuals/Français/UT2004.pdf Manual_fr.pdf + use l10n_it && newdoc "${CDROM_ROOT}"/Manuals/UT2004_Italian.pdf Manual_it.pdf ;; + 2) dodoc "${CDROM_ROOT}"/Manual.pdf ;; + 3) dodoc "${CDROM_ROOT}"/CD1/Manual/Manual.pdf ;; + *) dodoc Manual/Manual.pdf ;; + esac + fi + + # Drop unwanted localisation files. + while read -r file; do + if locale_mismatch "${file}"; then + rm -v "${file}" || die + fi + done < <(find -type f) + + # The OldUnreal patches currently lack localisation files for French, + # Italian, and Korean even though some editions did include these. Move them + # from System to SystemLocalized as recommended, but only if each has an + # equivalent English (.int) file. Also match the casing of the English + # filename for sanity and to avoid duplicates. + ( + shopt -s extglob nocaseglob nullglob || die + local lang match + for lang in fr it ko; do + mkdir -p SystemLocalized/${lang}t || die + for file in System/*.${lang}t; do + file=${file#*/} + eval "match=( \"${BROOT}\"/opt/ut2004/SystemLocalized/int/?(${file%.*}.int) )" + if [[ -n ${match[0]} ]]; then + match=${match[0]##*/} + mv -v "System/${file}" "SystemLocalized/${lang}t/${match%.int}.${lang}t" || die + fi + done + done + ) + + insinto /opt/ut2004 + doins -r SystemLocalized + + # Drop any other non-localisation files not included in our listings for + # cleanliness and consistency between installation sources. These listings + # are (mostly) based on OldUnreal's installation. + for file in "${FILESDIR}"/listings/*; do + dir=${file##*/} + find "${dir}" -type f ! -name "*.*_uax" | grep -Fxvf <(sed "s:^:${dir}/:" "${file}") | xargs -r rm -v -- || die + done + + # https://github.com/OldUnreal/UT2004Patches/issues/514 + # We could regenerate the cache for the entire base game, but it's awkward, + # so just cover the missing BP2 maps in a separate file. + ut2004-ucc exportcache -mod=Gentoo Maps/*-BP2-*.ut2 || die + mv -v System/{CacheRecords,BP2}.ucl || die + + for file in "${FILESDIR}"/listings/*; do + doins -r "${file##*/}" + done + + for dir in CSVs Logs Results; do + keepdir /opt/ut2004/Benchmark/${dir} + done +} diff --git a/games-fps/ut2004/Manifest b/games-fps/ut2004/Manifest index 1cdcee8f7d96..2ca4139984ca 100644 --- a/games-fps/ut2004/Manifest +++ b/games-fps/ut2004/Manifest @@ -1,2 +1,2 @@ -DIST ut2004-lnxpatch3369-2.tar.bz2 22465217 BLAKE2B 9852f9d55804b7f2927a31be86aee1552aaebeb38d2a40fb206154c236e9d6eff47f7594024c0d9b25c7216d3ca62571b1f89f23f72ee9e135b2e6451bcb006a SHA512 0d6f26d5a811efd64be8c304e928e03f546d9a8eaba6b074843e2b7e76e0670b39df95200a2fe2040d72bbd204c7157ed0115649a5c85396a76d9e0b7ec284b1 -DIST ut2004-v3369-3-linux-dedicated.7z 5013927 BLAKE2B 72d24d7bc37c777f3697b767a03e052ad9b547005dd6da73833e439496e87a9c1ebbe01f88d62b29a41b2bf6380a3b3bd745e6883fbb6d0f2b7e52998d4af276 SHA512 3b2a7b64934a3647c02c9fec48565c5c2c35370d635b2af4059eb76587bfa13f46e6a4e14fdb0494ba7a4182497ed5963601986f4fcfa318e69a8a8a8c0178cf +DIST OldUnreal-UT2004Patch3374-Linux-094b94dc.tar.bz2 59562107 BLAKE2B aed8841a25061d691efba1d13bb8275828d502ce4c8282a7997134fcd2196994bf1874df042bcb96584f5924ab17bf9e5f1cb0aa952485a2079e57ac29953cf6 SHA512 800590216a019e043b005c2c632acc37496175479d154e5cc09637f8c805db74efe373f1e24d6188677dd4bf3b2c31a2ac8c1330d2f7aa749b7132a08ae3c1d1 +DIST ut2004.png 24706 BLAKE2B dee5ca091ccd4c75e0dca728193ee7c085fb9662c1d518e2cb8977fbd7fef848ac74a37cdc77c969b5399d2b82cb3bdc0ea754cffffa4bee504a424871e7b9a9 SHA512 7b1187786f8574c6e7f47e07a1f112b726c4480a8cf30386821b5112ee1a12d34319b12c3cffb084ff8460e9de244f625de5deb325eadedcc23f431069312e29 diff --git a/games-fps/ut2004/files/gentoo-mod.patch b/games-fps/ut2004/files/gentoo-mod.patch new file mode 100644 index 000000000000..b0d30fedee88 --- /dev/null +++ b/games-fps/ut2004/files/gentoo-mod.patch @@ -0,0 +1,25 @@ +This allows us to run `ut2004-ucc exportcache -mod=Gentoo` in other ebuilds. +It will find the resources in WORKDIR and write the .ucl files there, +regardless of whether they already exist system-wide. + +--- System/Default.ini 2026-06-08 08:14:27.000000000 +0100 ++++ Gentoo/System/Gentoo.ini 2026-07-29 10:53:59.543115044 +0100 +@@ -53,11 +53,17 @@ + SavePath=../Save
+ CachePath=../Cache
+ CacheExt=.uxx
+-CacheRecordPath=../System/*.ucl
++CacheRecordPath=../../../work/System/*.ucl
+ KarmaPath=../KarmaData
+ MusicPath=../Music
+ SpeechPath=../Speech
++Paths=../../../work/System/*.u
++Paths=../../../work/Maps/*.ut2
++Paths=../../../work/Textures/*.utx
++Paths=../../../work/Sounds/*.uax
++Paths=../../../work/StaticMeshes/*.usx
++Paths=../../../work/Animations/*.ukx
+ Paths=../System/*.u
+ Paths=../Maps/*.ut2
+ Paths=../Textures/*.utx
+ Paths=../Sounds/*.uax
diff --git a/games-fps/ut2004/files/ut2004-ded.confd b/games-fps/ut2004/files/ut2004-ded.confd index e82238b93de0..971ca21a6260 100644 --- a/games-fps/ut2004/files/ut2004-ded.confd +++ b/games-fps/ut2004/files/ut2004-ded.confd @@ -1,6 +1,6 @@ -# User and group the server should run as. -ut2004_ded_user="nobody" -ut2004_ded_group="nobody" +# User and group the server should run as. A valid HOME is required. +ut2004_ded_user="unreal" +ut2004_ded_group="unreal" # Any extra options you want to pass to the server. ut2004_ded_opts="DM-Deck17" diff --git a/games-fps/ut2004/files/ut2004-ded.initd b/games-fps/ut2004/files/ut2004-ded.initd index c4cf9810cd15..3324fb0ce0ac 100644 --- a/games-fps/ut2004/files/ut2004-ded.initd +++ b/games-fps/ut2004/files/ut2004-ded.initd @@ -1,12 +1,12 @@ #!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 pidfile="/var/run/${RC_SVCNAME}.pid" command_background="true" command_user="${ut2004_ded_user}:${ut2004_ded_group}" -command="ut2004-ded" -command_args="${ut2004_ded_opts}" +command="ut2004-ucc" +command_args="server ${ut2004_ded_opts}" depend() { need net diff --git a/games-fps/ut2004/files/wrapper.sh b/games-fps/ut2004/files/wrapper.sh new file mode 100644 index 000000000000..2bb7445ad309 --- /dev/null +++ b/games-fps/ut2004/files/wrapper.sh @@ -0,0 +1,15 @@ +#!/bin/bash -eu + +System="@EPREFIX@/opt/ut2004/@System@" + +mkdir -p "${HOME}"/.ut2004/System +cp --update=none "${System}/Default.ini" "${HOME}"/.ut2004/System/UT2004.ini + +lang=${LC_MESSAGES:-${LC_ALL:-${LANG:-in}}} +[[ ${lang} == en* ]] && lang=in +sed -i "/^\[Engine\.Engine\]/,/^\[/s:^Language=.*:Language=${lang:0:2}t:" "${HOME}"/.ut2004/System/UT2004.ini + +exe=${0##*/} +exe=${exe#ut2004-} +exe=${exe@U} +exec "${System}/${exe}" "${@}" diff --git a/games-fps/ut2004/ut2004-3369.3-r4.ebuild b/games-fps/ut2004/ut2004-3369.3-r4.ebuild deleted file mode 100644 index f385f6942a1e..000000000000 --- a/games-fps/ut2004/ut2004-3369.3-r4.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit desktop wrapper unpacker - -PATCH_P="${PN}-lnxpatch${PV%.*}-2.tar.bz2" -DESCRIPTION="Editor's Choice Edition plus Mega Pack for the well-known first-person shooter" -HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" -SRC_URI=" - https://unrealmassdestruction.com/downloads/ut2k4/essentials/${PATCH_P} - https://unreal-archive-files-na.s3.ca-east-tor.io.cloud.ovh.net/managed/Unreal%20Tournament%202004/patches-updates/patches/${PATCH_P} - https://dev.gentoo.org/~chewi/distfiles/ut2004-v${PV/./-}-linux-dedicated.7z -" -S="${WORKDIR}/${PN^^}-Patch" -LICENSE="ut2003" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -RESTRICT="bindist mirror strip" - -RDEPEND=" - !games-server/ut2004-ded - games-fps/ut2004-bonuspack-ece - games-fps/ut2004-bonuspack-mega - >=games-fps/ut2004-data-3186-r5 - media-libs/libsdl - media-libs/openal - sys-libs/glibc - sys-libs/libstdc++-v3:5 - virtual/opengl - x11-libs/libX11 - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libXext -" - -BDEPEND="$(unpacker_src_uri_depends)" - -DIR="/opt/${PN}" - -# The executable pages are required. Bug #114733. -QA_PREBUILT="*" - -src_prepare() { - default - - if use amd64; then - mv System/${PN}-bin{-linux-amd64,} || die - mv ../${PN}-ucc-bin-09192008/ucc-bin-linux-amd64 System/ucc-bin || die - else - rm System/${PN}-bin-linux-amd64 || die - mv ../${PN}-ucc-bin-09192008/ucc-bin System/ucc-bin || die - fi - - # In ut2004-bonuspack-mega. - rm System/{Manifest.in[it],Packages.md5} || die -} - -src_install() { - insinto "${DIR}" - doins -r . - fperms +x "${DIR}"/System/{ucc,${PN}}-bin - - dosym ../../../usr/$(get_libdir)/libopenal.so "${DIR}"/System/openal.so - dosym ../../../usr/$(get_libdir)/libSDL-1.2.so.0 "${DIR}"/System/libSDL-1.2.so.0 - - make_wrapper ${PN} ./${PN}-bin "${DIR}"/System "${DIR}" - make_wrapper ${PN}-ded "./ucc-bin server" "${DIR}"/System - - make_desktop_entry ${PN} "Unreal Tournament 2004" - - newconfd "${FILESDIR}"/${PN}-ded.confd ${PN}-ded - newinitd "${FILESDIR}"/${PN}-ded.initd ${PN}-ded -} - -pkg_postinst() { - # Here is where we check for the existence of a cdkey. - # If we don't find one, we ask the user for it. - if [[ -f "${EROOT}${DIR}"/System/cdkey ]] ; then - einfo "A cdkey file is already present in ${EPREFIX}${DIR}/System" - else - ewarn "You MUST run this before playing the game:" - ewarn "emerge --config =${CATEGORY}/${PF}" - ewarn "That way you can [re]enter your cdkey." - fi - elog "Starting with 3369, the game supports render-to-texture. To enable" - elog "it, you will need the Nvidia drivers of at least version 7676 and" - elog "you should edit the following:" - elog 'Set "UseRenderTargets=True" in the "[OpenGLDrv.OpenGLRenderDevice]"' - elog 'section of your UT2004.ini or Default.ini and set "bPlayerShadows=True"' - elog 'and "bBlobShadow=False" in the "[UnrealGame.UnrealPawn]" section of' - elog 'your User.ini or DefUser.ini.' -} - -pkg_postrm() { - ewarn "This package leaves a cdkey file in ${EROOT}${DIR}/System that you need" - ewarn "to remove to completely get rid of this game's files." -} - -pkg_config() { - ewarn "Your CD key is NOT checked for validity here so" - ewarn "make sure you type it in correctly." - ewarn "If you CTRL+C out of this, the game will not run!" - ewarn - einfo "CD key format is: XXXXX-XXXXX-XXXXX-XXXXX" - while true ; do - einfo "Please enter your CD key:" - read CDKEY1 - einfo "Please re-enter your CD key:" - read CDKEY2 - if [[ -z ${CDKEY1} ]] || [[ -z ${CDKEY2} ]] ; then - echo "You entered a blank CD key. Try again." - else - if [[ ${CDKEY1} == ${CDKEY2} ]] ; then - echo "${CDKEY1^^}" > "${EROOT}${DIR}"/System/cdkey || die - einfo "Thank you!" - break - else - eerror "Your CD key entries do not match. Try again." - fi - fi - done -} diff --git a/games-fps/ut2004/ut2004-3374_pre23.ebuild b/games-fps/ut2004/ut2004-3374_pre23.ebuild new file mode 100644 index 000000000000..7045d411c1db --- /dev/null +++ b/games-fps/ut2004/ut2004-3374_pre23.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg + +COMMIT="094b94dc" +DESCRIPTION="Modern build of the Unreal Tournament 2004 engine" +HOMEPAGE="https://github.com/OldUnreal/UT2004Patches" +SRC_URI=" + https://github.com/OldUnreal/UT2004Patches/releases/download/${PV/_pre/-preview-}/OldUnreal-UT2004Patch${PV%_*}-Linux-${COMMIT}.tar.bz2 + mirror+https://dev.gentoo.org/~chewi/distfiles/${PN}.png +" +S="${WORKDIR}" + +LICENSE="Epic-TOS" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm64" +IUSE="dedicated l10n_de l10n_es l10n_fr l10n_he l10n_it l10n_ko l10n_pl l10n_ru" +RESTRICT="bindist mirror strip" + +UT_DEPEND="games-fps/ut2004-data-3369" + +BDEPEND=" + dev-util/patchelf +" +RDEPEND=" + media-libs/libglvnd + media-libs/libsdl3[opengl] + media-libs/openal + dedicated? ( acct-user/unreal ) + !games-fps/ut2004-bonuspack-ece + !games-fps/ut2004-bonuspack-mega + !games-server/ut2004-ded + !<${UT_DEPEND} +" +PDEPEND=" + >=${UT_DEPEND} +" + +DIR="/opt/${PN}" +QA_PREBUILT="*" + +declare -gA SYSTEMS=( + [amd64]="" + [arm64]="ARM64" + [ppc64]="PPC64LE" +) + +src_prepare() { + declare -g System="System${SYSTEMS[${ARCH}]}" + default + + # https://github.com/OldUnreal/FullGameInstallers/issues/93 + ln -s ../System/{CacheRecords.ucl,Packages.md5,xaplayersl3.upl,xplayersL{1,2}.upl} SystemARM64/ || die + + # https://github.com/OldUnreal/UT2004Patches/issues/508 + patchelf --remove-needed libGLX.so.0 "${System}"/{Anti,OpenGL}Drv.so || die + + # This shouldn't be executable. + chmod a-x System/CacheRecords.ucl || die + + # Remove the non-native files. The main System directory is shared, it's not + # just for amd64, so we cannot delete it entirely. + local system + for system in "${!SYSTEMS[@]}"; do + if [[ ${system} != ${ARCH} ]]; then + if [[ -n ${SYSTEMS[${system}]} ]]; then + rm -rv "System${SYSTEMS[${system}]}/" || die + else + find System/ ! -type d \( -type l -o -executable -o -name "*.ini" -o -name "*.so*" \) | xargs rm -v -- || die + fi + fi + done + + # Remove bundled libraries. + rm -v "${System}"/lib{openal,SDL3}.so* || die + + # Make it easier to generate cache files in other ebuilds. + mkdir -p Gentoo/System || die + touch Gentoo/UT2K4MOD.ini || die + patch -p0 -o - "${System}"/Default.ini "${FILESDIR}"/gentoo-mod.patch > Gentoo/System/Gentoo.ini || die + + # Drop unwanted localisation files. + local dir lang + for dir in SystemLocalized/*; do + lang=${dir#*/} + lang=${lang:0:2} + [[ ${lang} == in ]] && continue + use "l10n_${lang}" || rm -rv "${dir}" || die + done +} + +src_install() { + dodir "${DIR}" + cp -rP * "${ED}${DIR}" || die + + sed -e "s:@EPREFIX@:${EPREFIX}:g" -e "s:@System@:${System}:g" "${FILESDIR}/wrapper.sh" | newbin - ${PN} + dosym ${PN} /usr/bin/${PN}-ucc + + doicon -s 128 "${DISTDIR}/${PN}.png" + make_desktop_entry --eapi9 ${PN} -n "Unreal Tournament 2004" \ + -C "Epic's popular first-person shooter" + + if use dedicated; then + newconfd "${FILESDIR}"/${PN}-ded.confd ${PN}-ded + newinitd "${FILESDIR}"/${PN}-ded.initd ${PN}-ded + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # The CD key is no longer needed. + rm -f "${EROOT}${DIR}"/System/cdkey || die +} |
