diff --git a/games/Makefile b/games/Makefile index a31c1abe97f8..dc50fd87e107 100644 --- a/games/Makefile +++ b/games/Makefile @@ -1,1176 +1,1177 @@ COMMENT = Games and related software SUBDIR += 0ad SUBDIR += 0verkill SUBDIR += 2048 SUBDIR += 2048-qt SUBDIR += 3dc SUBDIR += 3dpong SUBDIR += 3omns SUBDIR += 54321 SUBDIR += 7kaa SUBDIR += 90secondportraits SUBDIR += CaribbeanStud SUBDIR += DDNet SUBDIR += Doom64EX SUBDIR += HeroesOfMightAndMagic SUBDIR += KnightCap SUBDIR += LibreMines SUBDIR += NBlood SUBDIR += OpenLara SUBDIR += OpenTomb SUBDIR += SRB2 SUBDIR += SpaceCadetPinball SUBDIR += SpaceCadetPinball-devel SUBDIR += abbayedesmorts SUBDIR += abe SUBDIR += abuse_sdl SUBDIR += ace-of-penguins SUBDIR += adom SUBDIR += adonthell SUBDIR += adonthell-wastesedge SUBDIR += aestats SUBDIR += affenspiel SUBDIR += afternoonstalker SUBDIR += agame SUBDIR += ags SUBDIR += aisleriot SUBDIR += aklabeth SUBDIR += alephone SUBDIR += alephone-data SUBDIR += alephone-scenarios SUBDIR += alex4 SUBDIR += alienarena SUBDIR += alienarena-data SUBDIR += alienblaster SUBDIR += alienwave SUBDIR += allacrost SUBDIR += amnesia-tdd SUBDIR += amoebax SUBDIR += an SUBDIR += angband SUBDIR += anki SUBDIR += antipolix SUBDIR += aop SUBDIR += apoolGL SUBDIR += apricots SUBDIR += aquaria SUBDIR += armagetronad SUBDIR += arx-libertatis SUBDIR += ascii-invaders SUBDIR += asciiquarium SUBDIR += assaultcube SUBDIR += asteroids3d SUBDIR += astromenace SUBDIR += asylum SUBDIR += atanks SUBDIR += atomix SUBDIR += atr3d SUBDIR += atris SUBDIR += atris-sounds SUBDIR += augustus SUBDIR += auralquiz SUBDIR += automuteus SUBDIR += avanor SUBDIR += avoision SUBDIR += avp SUBDIR += awale SUBDIR += awele SUBDIR += ballerburg SUBDIR += banihstypos SUBDIR += barony SUBDIR += barrage SUBDIR += bass SUBDIR += bastet SUBDIR += battalion SUBDIR += battletanks SUBDIR += belooted SUBDIR += beret SUBDIR += billardgl SUBDIR += biloba SUBDIR += biniax2 SUBDIR += biorythm SUBDIR += bitefusion SUBDIR += black-box SUBDIR += black-hole-solver SUBDIR += blackjackclient SUBDIR += blackshadeselite SUBDIR += blinken SUBDIR += blinkensisters SUBDIR += blobby SUBDIR += blobwars SUBDIR += block SUBDIR += blockattack SUBDIR += blockout SUBDIR += blockrage SUBDIR += blokish SUBDIR += bloodfrontier SUBDIR += bluemoon SUBDIR += blues SUBDIR += bomber SUBDIR += bomberclone SUBDIR += bombherman SUBDIR += bomns SUBDIR += bovo SUBDIR += braincurses SUBDIR += brainparty SUBDIR += brainworkshop SUBDIR += brickout SUBDIR += brickshooter SUBDIR += brikx SUBDIR += briquolo SUBDIR += brogue SUBDIR += brumbrumrally SUBDIR += brutalchess SUBDIR += bs SUBDIR += bsdgames SUBDIR += bsdtris SUBDIR += bsp SUBDIR += bstone SUBDIR += bubble-chains SUBDIR += bucklespring SUBDIR += bugsquish SUBDIR += bugsx SUBDIR += bumprace SUBDIR += burgerspace SUBDIR += burrtools SUBDIR += bzflag SUBDIR += bzflag-server SUBDIR += cake SUBDIR += candycrisis SUBDIR += caph SUBDIR += cardpics SUBDIR += cataclysm-dda SUBDIR += catesc SUBDIR += cave9 SUBDIR += cavezofphear SUBDIR += cdogs-sdl SUBDIR += cgoban SUBDIR += chapping SUBDIR += chessx SUBDIR += chocolate-doom SUBDIR += chroma SUBDIR += chromium-bsu SUBDIR += chromono SUBDIR += circuslinux SUBDIR += cmatrix SUBDIR += coffeebreak SUBDIR += colobot SUBDIR += colorcode SUBDIR += columns SUBDIR += concentration SUBDIR += connectagram SUBDIR += connectfive SUBDIR += construo SUBDIR += coronapoker SUBDIR += corsix-th SUBDIR += cosmosmash SUBDIR += cowsay SUBDIR += crack-attack SUBDIR += craft SUBDIR += crafty SUBDIR += crashtest SUBDIR += cretan-hubris SUBDIR += crimson SUBDIR += crispy-doom SUBDIR += criticalmass SUBDIR += crossfire-client SUBDIR += crrcsim SUBDIR += cryptoslam SUBDIR += csmash SUBDIR += ctris SUBDIR += cube SUBDIR += cursive SUBDIR += cutemaze SUBDIR += cuyo SUBDIR += cxxmatrix SUBDIR += d2x SUBDIR += dMagnetic SUBDIR += dangen SUBDIR += darkplaces SUBDIR += defendguin SUBDIR += devilutionX SUBDIR += dhewm3 SUBDIR += diaspora SUBDIR += digger-vgl SUBDIR += divide-and-succeed SUBDIR += dmjava SUBDIR += dobutsu SUBDIR += dodgindiamond2 SUBDIR += domination SUBDIR += domino-chain SUBDIR += dontspace SUBDIR += doom SUBDIR += doom-data SUBDIR += doom-freedoom SUBDIR += doom-hacx SUBDIR += doom-hr SUBDIR += doom-hr2 SUBDIR += doom-wolfendoom SUBDIR += doomlegacy SUBDIR += doomsday SUBDIR += dose-response SUBDIR += dreamchess SUBDIR += duel SUBDIR += dunelegacy SUBDIR += dungeon SUBDIR += dungeoncrawl SUBDIR += dustrac SUBDIR += dxx-rebirth SUBDIR += easyrpg-player SUBDIR += eboard SUBDIR += ecwolf SUBDIR += edge SUBDIR += editss SUBDIR += eduke32 SUBDIR += egl SUBDIR += egoboo SUBDIR += eif SUBDIR += eights SUBDIR += einstein SUBDIR += eksanos SUBDIR += el SUBDIR += el-data SUBDIR += emptyepsilon SUBDIR += endgame-singularity SUBDIR += endgame-singularity-music SUBDIR += endless-sky SUBDIR += endless-sky-high-dpi SUBDIR += enigma SUBDIR += ensemblist SUBDIR += entombed SUBDIR += enygma SUBDIR += epiphany-game SUBDIR += etracer SUBDIR += euchre SUBDIR += eureka SUBDIR += evilfinder SUBDIR += evq3 SUBDIR += excido SUBDIR += exhaust SUBDIR += exhaust-doc SUBDIR += exhaust-ma SUBDIR += exult SUBDIR += exult-devel SUBDIR += ezquake SUBDIR += f1spirit-remake SUBDIR += fairymax SUBDIR += fakesteak SUBDIR += falconseye SUBDIR += fargoal SUBDIR += fbg2 SUBDIR += fheroes2 SUBDIR += fightorperish SUBDIR += fillets-ng SUBDIR += filters SUBDIR += fishsupper SUBDIR += five-or-more SUBDIR += fkiss SUBDIR += flare-engine SUBDIR += flare-game SUBDIR += flightgear SUBDIR += flightgear-aircraft SUBDIR += flightgear-data SUBDIR += flightgear-mb339-pan SUBDIR += flobopuyo SUBDIR += flyhard SUBDIR += flying SUBDIR += fmars SUBDIR += foobillard SUBDIR += formido SUBDIR += fortunate SUBDIR += fotaq SUBDIR += four-in-a-row SUBDIR += freebee SUBDIR += freeblocks SUBDIR += freecell-solver SUBDIR += freeciv SUBDIR += freeciv-nox11 SUBDIR += freecol SUBDIR += freedink SUBDIR += freedink-data SUBDIR += freedink-dfarc SUBDIR += freedink-engine SUBDIR += freedoko SUBDIR += freedroid SUBDIR += freedroidrpg SUBDIR += freeminer SUBDIR += freeminer-default SUBDIR += freeorion SUBDIR += freesweep SUBDIR += freesynd SUBDIR += freetennis SUBDIR += fretsonfire SUBDIR += fretsonfire-data SUBDIR += frikqcc SUBDIR += frogatto SUBDIR += frotz SUBDIR += frozen-bubble SUBDIR += fs2open SUBDIR += funnyboat SUBDIR += galaxis SUBDIR += galaxyhack SUBDIR += garden-of-coloured-lights SUBDIR += gbrainy SUBDIR += gcompris-qt SUBDIR += gemdropx SUBDIR += gemrb SUBDIR += genact SUBDIR += gigalomania SUBDIR += gillo SUBDIR += gl-117 SUBDIR += glaxium SUBDIR += glbsp SUBDIR += glest SUBDIR += glest-data SUBDIR += glightoff SUBDIR += glmaze SUBDIR += glob2 SUBDIR += glsfcave SUBDIR += gltron SUBDIR += gmastermind SUBDIR += gmines SUBDIR += gnome-2048 SUBDIR += gnome-chess SUBDIR += gnome-games SUBDIR += gnome-klotski SUBDIR += gnome-mahjongg SUBDIR += gnome-mines SUBDIR += gnome-nibbles SUBDIR += gnome-robots SUBDIR += gnome-sudoku SUBDIR += gnome-tetravex SUBDIR += gnubg SUBDIR += gnubik SUBDIR += gnuchess SUBDIR += gnudoku SUBDIR += gnugo SUBDIR += gnujump SUBDIR += gnurobbo SUBDIR += gnurobots SUBDIR += gnushogi SUBDIR += gnustep-ladder SUBDIR += gnustep-sudoku SUBDIR += gogrepo SUBDIR += gogui SUBDIR += golddig SUBDIR += golly SUBDIR += gomoku SUBDIR += goonies SUBDIR += gottet SUBDIR += gracer SUBDIR += granatier SUBDIR += greed SUBDIR += griels-quest SUBDIR += grubik SUBDIR += gshisen SUBDIR += gti SUBDIR += gtkatlantic SUBDIR += gtkballs SUBDIR += gtkevemon SUBDIR += gtkradiant SUBDIR += gtypist SUBDIR += gunfudeadlands SUBDIR += gzdoom SUBDIR += hangman SUBDIR += hedgewars SUBDIR += hedgewars-server SUBDIR += help_hannahs_horse SUBDIR += heretic SUBDIR += heroes SUBDIR += hex-a-hop SUBDIR += hexalate SUBDIR += hexxagon SUBDIR += highmoon SUBDIR += hinversi SUBDIR += hitori SUBDIR += hllib SUBDIR += holotz-castle SUBDIR += hoverboard-sdl SUBDIR += hs-scroll SUBDIR += hypatia_engine SUBDIR += hyperrogue SUBDIR += icbm3d SUBDIR += icebreaker SUBDIR += iceicepenguin SUBDIR += impossible_mission_puzzle SUBDIR += inform7 SUBDIR += instead SUBDIR += interlogic SUBDIR += ioquake3 SUBDIR += ioquake3-server SUBDIR += iortcw SUBDIR += iqpuzzle SUBDIR += irrlamb SUBDIR += ishido SUBDIR += ivan SUBDIR += jaggedalliance2 SUBDIR += java-games-suite SUBDIR += jchessboard SUBDIR += jfk SUBDIR += jfsw SUBDIR += jigsaw SUBDIR += jigzo SUBDIR += jin SUBDIR += jinput SUBDIR += joequake SUBDIR += jtans SUBDIR += julius SUBDIR += jumpnbump SUBDIR += jumpy SUBDIR += jutils SUBDIR += jvgs SUBDIR += jzip SUBDIR += kanagram SUBDIR += kanatest SUBDIR += kapman SUBDIR += kartofel SUBDIR += katomic SUBDIR += kblackbox SUBDIR += kblocks SUBDIR += kbounce SUBDIR += kbreakout SUBDIR += kdegames SUBDIR += kdiamond SUBDIR += keeperrl SUBDIR += kevedit SUBDIR += kfourinline SUBDIR += kgoldrunner SUBDIR += khangman SUBDIR += kigo SUBDIR += killbots SUBDIR += kiriki SUBDIR += kjumpingcube SUBDIR += klavaro SUBDIR += klickety SUBDIR += klines SUBDIR += klondike SUBDIR += kmahjongg SUBDIR += kmines SUBDIR += knavalbattle SUBDIR += knetwalk SUBDIR += knights SUBDIR += kobodeluxe SUBDIR += kodi-addon-game.libretro SUBDIR += kodi-addon-game.libretro.beetle-psx SUBDIR += kodi-addon-game.libretro.fceumm SUBDIR += kodi-addon-game.libretro.genplus SUBDIR += kodi-addon-game.libretro.pcsx-rearmed SUBDIR += kodi-addon-game.libretro.picodrive SUBDIR += kolf SUBDIR += kollision SUBDIR += konquest SUBDIR += kpat SUBDIR += krank SUBDIR += kreversi SUBDIR += kshisen SUBDIR += ksirk SUBDIR += ksnakeduel SUBDIR += kspaceduel SUBDIR += ksquares SUBDIR += ksudoku SUBDIR += ktuberling SUBDIR += kubrick SUBDIR += kuklomenos SUBDIR += ladder SUBDIR += lander SUBDIR += lapispuzzle SUBDIR += lbreakout SUBDIR += lbreakout2 SUBDIR += lbreakouthd SUBDIR += ldmud SUBDIR += leela-zero SUBDIR += legend-of-edgar SUBDIR += legesmotus SUBDIR += lexter SUBDIR += lgeneral SUBDIR += libgnome-games-support SUBDIR += libkdegames SUBDIR += libkmahjongg SUBDIR += liblcf SUBDIR += libmaitretarot SUBDIR += libmanette SUBDIR += libmt_client SUBDIR += libretro SUBDIR += libretro-2048 SUBDIR += libretro-a5200 SUBDIR += libretro-beetle_psx SUBDIR += libretro-bluemsx SUBDIR += libretro-boom3 SUBDIR += libretro-cap32 SUBDIR += libretro-core-info SUBDIR += libretro-desmume SUBDIR += libretro-desmume2015 SUBDIR += libretro-dosbox SUBDIR += libretro-emux SUBDIR += libretro-fbalpha2012 SUBDIR += libretro-fbneo SUBDIR += libretro-fceumm SUBDIR += libretro-fmsx SUBDIR += libretro-freeintv SUBDIR += libretro-fuse SUBDIR += libretro-gambatte SUBDIR += libretro-genesis_plus_gx SUBDIR += libretro-gpsp SUBDIR += libretro-gw SUBDIR += libretro-handy SUBDIR += libretro-hatari SUBDIR += libretro-mame2000 SUBDIR += libretro-mame2003 SUBDIR += libretro-mame2003_plus SUBDIR += libretro-mednafen_bsnes SUBDIR += libretro-mednafen_gba SUBDIR += libretro-mednafen_lynx SUBDIR += libretro-mednafen_ngp SUBDIR += libretro-mednafen_pce SUBDIR += libretro-mednafen_pce_fast SUBDIR += libretro-mednafen_pcfx SUBDIR += libretro-mednafen_saturn SUBDIR += libretro-mednafen_supergrafx SUBDIR += libretro-mednafen_vb SUBDIR += libretro-mednafen_wswan SUBDIR += libretro-melonds SUBDIR += libretro-mgba SUBDIR += libretro-mu SUBDIR += libretro-nestopia SUBDIR += libretro-nxengine SUBDIR += libretro-o2em SUBDIR += libretro-opera SUBDIR += libretro-parallel_n64 SUBDIR += libretro-pcsx_rearmed SUBDIR += libretro-picodrive SUBDIR += libretro-play SUBDIR += libretro-prboom SUBDIR += libretro-prosystem SUBDIR += libretro-puae SUBDIR += libretro-px68k SUBDIR += libretro-quicknes SUBDIR += libretro-scummvm SUBDIR += libretro-shaders-glsl SUBDIR += libretro-shaders-slang SUBDIR += libretro-snes9x SUBDIR += libretro-snes9x2005 SUBDIR += libretro-snes9x2010 SUBDIR += libretro-stella2014 SUBDIR += libretro-tgbdual SUBDIR += libretro-tyrquake SUBDIR += libretro-vba_next SUBDIR += libretro-vecx SUBDIR += libretro-virtualjaguar SUBDIR += libretro-xrick SUBDIR += libretro-yabause SUBDIR += libshhcards SUBDIR += libtmcg SUBDIR += lightsoff SUBDIR += lincity SUBDIR += lincity-ng SUBDIR += linux-doom3 SUBDIR += linux-doom3-demo SUBDIR += linux-dwarffortress SUBDIR += linux-enemyterritory SUBDIR += linux-enemyterritory-jaymod SUBDIR += linux-enemyterritory-shrub SUBDIR += linux-enemyterritory-tce SUBDIR += linux-etqw-demo-server SUBDIR += linux-etqw-server SUBDIR += linux-nerogame SUBDIR += linux-nwnclient SUBDIR += linux-quake3 SUBDIR += linux-quake3-demo SUBDIR += linux-quake4 SUBDIR += linux-quake4-demo SUBDIR += linux-ssamtfe SUBDIR += linux-ssamtse SUBDIR += linux-steam-utils SUBDIR += linux-unrealgold SUBDIR += linux-ut SUBDIR += linux-ut2003-demo SUBDIR += linux-virtual-jay-peak SUBDIR += linwarrior SUBDIR += lizzie SUBDIR += lm-solve SUBDIR += lmarbles SUBDIR += lmpc SUBDIR += lolcat SUBDIR += lordsawar SUBDIR += lpairs SUBDIR += lskat SUBDIR += ltris SUBDIR += lugaru SUBDIR += luola SUBDIR += lwjgl SUBDIR += macopix SUBDIR += madbomber SUBDIR += maelstrom SUBDIR += magiccube4d SUBDIR += mahjong SUBDIR += maitretarot SUBDIR += manaplus SUBDIR += mancala SUBDIR += mangband SUBDIR += marblemarcher SUBDIR += mari0 SUBDIR += masterserver SUBDIR += maxr SUBDIR += meandmyshadow SUBDIR += megaglest SUBDIR += megaglest-data SUBDIR += megamario SUBDIR += melonds SUBDIR += memonix SUBDIR += meqcc SUBDIR += meritous SUBDIR += mindfocus SUBDIR += minecraft-client SUBDIR += minecraft-server SUBDIR += minerbold SUBDIR += minetest SUBDIR += minetest_game SUBDIR += minetestmapper SUBDIR += mirrormagic SUBDIR += miscom SUBDIR += mizuma SUBDIR += mkhexgrid SUBDIR += moagg SUBDIR += monsterz SUBDIR += moon-buggy SUBDIR += moonlander SUBDIR += moonlight-embedded SUBDIR += moonlight-qt SUBDIR += moria SUBDIR += motogt SUBDIR += mrboom SUBDIR += mt_dolphin_ia SUBDIR += mt_gtk_client SUBDIR += mtaserver SUBDIR += multimc SUBDIR += mvdsv SUBDIR += nInvaders SUBDIR += naev SUBDIR += narcissu2 SUBDIR += nazghul SUBDIR += nbsdgames SUBDIR += nehquake SUBDIR += neo SUBDIR += neo-cowsay SUBDIR += nethack32 SUBDIR += nethack33 SUBDIR += nethack33-nox11 SUBDIR += nethack34 SUBDIR += nethack34-nox11 SUBDIR += nethack36 SUBDIR += nethack36-nox11 SUBDIR += netherearth SUBDIR += netradiant SUBDIR += netrek-BRMH-bin SUBDIR += netrek-client-cow SUBDIR += nettoe SUBDIR += netwalk SUBDIR += neverball SUBDIR += newvox SUBDIR += nextgo SUBDIR += nexuiz SUBDIR += nighthawk SUBDIR += nimuh SUBDIR += ninix-aya SUBDIR += njam SUBDIR += nlarn SUBDIR += nonsense SUBDIR += npush SUBDIR += nsnake SUBDIR += nuclearchess SUBDIR += numptyphysics SUBDIR += numptyphysics-npcomplete SUBDIR += nwndata SUBDIR += nxengine SUBDIR += oblige SUBDIR += odamex SUBDIR += oldrunner SUBDIR += omega SUBDIR += oneko-sakura SUBDIR += onscripter SUBDIR += onscripter-1byte SUBDIR += oolite SUBDIR += oonsoo SUBDIR += open-adventure SUBDIR += openage SUBDIR += openarena SUBDIR += openarena-data SUBDIR += openarena-oax SUBDIR += openarena-server SUBDIR += openbor SUBDIR += openbor3482 SUBDIR += openbor3711 SUBDIR += openbor3979 SUBDIR += openbor4432 + SUBDIR += openbor7144 SUBDIR += openbubbles SUBDIR += openbve SUBDIR += opencity SUBDIR += openclaw SUBDIR += openclonk SUBDIR += openenroth SUBDIR += openfodder SUBDIR += opengfx SUBDIR += openglad SUBDIR += openjazz SUBDIR += openjk SUBDIR += openlierox SUBDIR += openmortal SUBDIR += openmsx SUBDIR += openmw SUBDIR += openomf SUBDIR += openra SUBDIR += openrct2 SUBDIR += opensfx SUBDIR += opensonic SUBDIR += openspades SUBDIR += openssn SUBDIR += opensurge SUBDIR += openttd SUBDIR += opentyrian SUBDIR += openxcom SUBDIR += openyahtzee SUBDIR += orbital_eunuchs_sniper SUBDIR += orthorobot SUBDIR += osgg SUBDIR += p5-Acme-GuessNumber SUBDIR += p5-Algorithm-Pair-Best2 SUBDIR += p5-Algorithm-Pair-Swiss SUBDIR += p5-Baseball-Sabermetrics SUBDIR += p5-Games-Alak SUBDIR += p5-Games-AlphaBeta SUBDIR += p5-Games-Bingo SUBDIR += p5-Games-Bingo-Bot SUBDIR += p5-Games-Bingo-Print SUBDIR += p5-Games-Dice SUBDIR += p5-Games-GuessWord SUBDIR += p5-Games-Tournament-RoundRobin SUBDIR += pachi SUBDIR += pacmanarena SUBDIR += palapeli SUBDIR += palomino SUBDIR += pangzero SUBDIR += passage SUBDIR += patapizza-tetris SUBDIR += pathological SUBDIR += pcgen SUBDIR += pear-Games_Chess SUBDIR += peg-e SUBDIR += pengpong SUBDIR += penguin-command SUBDIR += pengupop SUBDIR += pentobi SUBDIR += phalanx SUBDIR += phlipple SUBDIR += picmi SUBDIR += pinball SUBDIR += pingus SUBDIR += pink-pony SUBDIR += pioneer SUBDIR += pioneers SUBDIR += pipenightdreams SUBDIR += pipepanic SUBDIR += pipewalker SUBDIR += pmars SUBDIR += pmars-sdl SUBDIR += pokerth SUBDIR += polyglot SUBDIR += pongix SUBDIR += ponscripter-07th-mod SUBDIR += popstar SUBDIR += powder SUBDIR += powder-toy SUBDIR += powder-toy-devel SUBDIR += powermanga SUBDIR += powwow SUBDIR += prboom SUBDIR += prboom-plus SUBDIR += primateplunge SUBDIR += puckman SUBDIR += punchy SUBDIR += pvpgn SUBDIR += py-2048-py SUBDIR += py-cbeams SUBDIR += py-discord.py SUBDIR += py-fife SUBDIR += py-mnemosyne-proj SUBDIR += py-pychess SUBDIR += py-pysol-cards SUBDIR += py-sgflib SUBDIR += py-sgfsummary SUBDIR += pysolfc SUBDIR += pysolfc-cardsets SUBDIR += pyspacewar SUBDIR += q2p SUBDIR += q2pro SUBDIR += q3cellshading SUBDIR += qcc SUBDIR += qccx SUBDIR += qnetwalk SUBDIR += qonk SUBDIR += qqwing SUBDIR += qstat SUBDIR += quackle SUBDIR += quadra SUBDIR += quadrapassel SUBDIR += quake-data SUBDIR += quake-dpmod SUBDIR += quake-source SUBDIR += quake2-3zb2 SUBDIR += quake2-ctf SUBDIR += quake2-data SUBDIR += quake2-extras SUBDIR += quake2-lights SUBDIR += quake2-matrix SUBDIR += quake2-psychomod SUBDIR += quake2-relay SUBDIR += quake2-rogue SUBDIR += quake2-source SUBDIR += quake2-xatrix SUBDIR += quake2lnx SUBDIR += quake2max SUBDIR += quake3-data SUBDIR += quake3-excessive SUBDIR += quake3-osp SUBDIR += quake3-ut SUBDIR += quake3-wfa SUBDIR += quakeforge SUBDIR += quantumminigolf SUBDIR += quaqut SUBDIR += qudos SUBDIR += quetoo SUBDIR += quit SUBDIR += qwdtools SUBDIR += r1q2 SUBDIR += railroad-rampage SUBDIR += rawgl SUBDIR += re3 SUBDIR += redeclipse SUBDIR += redeclipse-data SUBDIR += redeclipse-data16 SUBDIR += redeclipse16 SUBDIR += redorblack SUBDIR += regoth SUBDIR += reminiscence SUBDIR += renpy SUBDIR += rescue SUBDIR += residualvm SUBDIR += retroarch SUBDIR += retroarch-assets SUBDIR += rezerwar SUBDIR += rfksay SUBDIR += ri-li SUBDIR += rlvm SUBDIR += rnd_jue SUBDIR += robocode SUBDIR += robocode-naval SUBDIR += robotfindskitten SUBDIR += rockdodger SUBDIR += rocksndiamonds SUBDIR += rocksndiamonds-data SUBDIR += rottdc SUBDIR += rpg-cli SUBDIR += rubix SUBDIR += rubygem-fortune_gem SUBDIR += rubygem-lolcat SUBDIR += rubygem-vimgolf SUBDIR += runelite SUBDIR += sampsvr SUBDIR += sarien SUBDIR += sauerbraten SUBDIR += scare SUBDIR += scid SUBDIR += scourge SUBDIR += scourge-data SUBDIR += scramble SUBDIR += scummvm SUBDIR += scummvm-tools SUBDIR += sdb SUBDIR += sdl-ball SUBDIR += sdl-sopwith SUBDIR += sdl_jewels SUBDIR += sdl_lopan SUBDIR += sdl_scavenger SUBDIR += sdlpop SUBDIR += sdlroids SUBDIR += sdlsand SUBDIR += sea-defender SUBDIR += seabattle SUBDIR += searchandrescue SUBDIR += searchandrescue-data SUBDIR += senken SUBDIR += sets SUBDIR += sex SUBDIR += sgt-puzzles SUBDIR += shaaft SUBDIR += shockolate SUBDIR += shootingstar SUBDIR += simplevaders SUBDIR += simsu SUBDIR += simutrans SUBDIR += simutrans-pak128 SUBDIR += simutrans-pak128.german SUBDIR += simutrans-pak64 SUBDIR += sjeng SUBDIR += ski SUBDIR += sl SUBDIR += slade SUBDIR += slashem-tty SUBDIR += slump SUBDIR += sokoban SUBDIR += sokobano SUBDIR += sol SUBDIR += solarconquest SUBDIR += solarus SUBDIR += solarus-quest-editor SUBDIR += solver SUBDIR += spacejunk SUBDIR += speak SUBDIR += species SUBDIR += spellcast SUBDIR += spicetrade SUBDIR += spider SUBDIR += starfighter SUBDIR += starlanes SUBDIR += steelstorm SUBDIR += stendhal SUBDIR += stockfish SUBDIR += stonesoup SUBDIR += stormbaancoureur SUBDIR += stratagus SUBDIR += stuntrally SUBDIR += sudsol SUBDIR += supertux SUBDIR += supertux2 SUBDIR += supertuxkart SUBDIR += swell-foop SUBDIR += sxsame SUBDIR += tads SUBDIR += taipan SUBDIR += taisei SUBDIR += tali SUBDIR += tanglet SUBDIR += tbclock SUBDIR += tecnoballz SUBDIR += teeworlds SUBDIR += tenebrae SUBDIR += tesseract SUBDIR += tesseract-data SUBDIR += tetrinet SUBDIR += tetrinet-x SUBDIR += tetzle SUBDIR += textmaze SUBDIR += thegrind SUBDIR += tileworld SUBDIR += tinycols SUBDIR += tkmoo SUBDIR += tmatrix SUBDIR += tomatoes SUBDIR += tome4 SUBDIR += tome4-beta SUBDIR += tomenet SUBDIR += tong SUBDIR += toppler SUBDIR += torcs SUBDIR += tornado SUBDIR += torrent SUBDIR += toycars SUBDIR += trackballs SUBDIR += tractorgen SUBDIR += traingame SUBDIR += tremulous SUBDIR += trenchbroom SUBDIR += trigger-rally SUBDIR += trimines SUBDIR += triplane SUBDIR += trojka SUBDIR += tsito SUBDIR += tt SUBDIR += ttt SUBDIR += tty-solitaire SUBDIR += tux-aqfh SUBDIR += tuxkart SUBDIR += tuxpaint SUBDIR += tuxpaint-config SUBDIR += tuxpaint-fonts SUBDIR += tuxpaint-stamps SUBDIR += tuxracer SUBDIR += tuxtype SUBDIR += twind SUBDIR += tycho SUBDIR += typespeed SUBDIR += tyrian-data SUBDIR += ufoai SUBDIR += ufoai-data SUBDIR += uhexen SUBDIR += uhexen2 SUBDIR += uhexen2-extras SUBDIR += ultimatestunts SUBDIR += umark SUBDIR += unknown-horizons SUBDIR += unnethack SUBDIR += untahris SUBDIR += uqm SUBDIR += urbanterror-data SUBDIR += valyriatear SUBDIR += vamos SUBDIR += vanilla-conquer SUBDIR += vavoom SUBDIR += vavoom-extras SUBDIR += vcmi SUBDIR += vectoroids SUBDIR += veloren-weekly SUBDIR += violetland SUBDIR += viruskiller SUBDIR += vitetris SUBDIR += vkquake SUBDIR += vms-empire SUBDIR += voadi SUBDIR += volleyball SUBDIR += vor SUBDIR += vt100-art-and-animations SUBDIR += vultures-eye SUBDIR += vvvvvv SUBDIR += wanderer SUBDIR += wargus SUBDIR += warmux SUBDIR += warzone2100 SUBDIR += wesnoth SUBDIR += whichwayisup SUBDIR += widelands SUBDIR += wipeclean SUBDIR += wizznic SUBDIR += wmeyes SUBDIR += wmpuzzle SUBDIR += wmqstat SUBDIR += wmtictactoe SUBDIR += wolfpack SUBDIR += wop SUBDIR += wordplay SUBDIR += wordsearch SUBDIR += wordwarvi SUBDIR += worldofpadman SUBDIR += wtf SUBDIR += wxlauncher SUBDIR += wyrmgus SUBDIR += wyrmsun SUBDIR += xasteroids SUBDIR += xataxx SUBDIR += xbat SUBDIR += xbill SUBDIR += xbl SUBDIR += xblackjack SUBDIR += xblast SUBDIR += xblood SUBDIR += xboard SUBDIR += xboard-devel SUBDIR += xboing SUBDIR += xbomb SUBDIR += xbubble SUBDIR += xchadance SUBDIR += xcheckers SUBDIR += xchomp SUBDIR += xconq SUBDIR += xcowsay SUBDIR += xcubes SUBDIR += xdeblock SUBDIR += xdemineur SUBDIR += xdesktopwaves SUBDIR += xdigger SUBDIR += xdino SUBDIR += xemeraldia SUBDIR += xeyesplus SUBDIR += xfireworks SUBDIR += xfrisk SUBDIR += xgalaga SUBDIR += xgalaga++ SUBDIR += xgalaga-sdl SUBDIR += xglk SUBDIR += xhexagons SUBDIR += xhime SUBDIR += xinfocom SUBDIR += xinvaders SUBDIR += xinvaders3d SUBDIR += xisola SUBDIR += xjewel SUBDIR += xjig SUBDIR += xjump SUBDIR += xjumpx SUBDIR += xkoules SUBDIR += xlaby SUBDIR += xlennart SUBDIR += xlife SUBDIR += xlogical SUBDIR += xmahjongg SUBDIR += xmastermind SUBDIR += xmball SUBDIR += xmemory SUBDIR += xmille SUBDIR += xmine SUBDIR += xminehunter SUBDIR += xmines SUBDIR += xmlink SUBDIR += xmoto SUBDIR += xmris SUBDIR += xmulti SUBDIR += xneko SUBDIR += xnethack SUBDIR += xoct SUBDIR += xoids SUBDIR += xoj SUBDIR += xonotic SUBDIR += xorgramana SUBDIR += xosmulti SUBDIR += xpanex SUBDIR += xpat2 SUBDIR += xpilot SUBDIR += xpilot-ng-server SUBDIR += xpipeman SUBDIR += xpired SUBDIR += xpuzzletama SUBDIR += xpyraminx SUBDIR += xqf SUBDIR += xrally SUBDIR += xray_re-tools SUBDIR += xrick SUBDIR += xrisk SUBDIR += xroach SUBDIR += xrobots SUBDIR += xrot SUBDIR += xrubik SUBDIR += xsc SUBDIR += xscavenger SUBDIR += xscrabble SUBDIR += xshisen SUBDIR += xshogi SUBDIR += xskat SUBDIR += xskewb SUBDIR += xsokoban SUBDIR += xsoldier SUBDIR += xspacewarp SUBDIR += xspringies SUBDIR += xteddy SUBDIR += xtet42 SUBDIR += xtgyoretsu SUBDIR += xtic SUBDIR += xtriangles SUBDIR += xtrojka SUBDIR += xtron SUBDIR += xtruco SUBDIR += xtux SUBDIR += xvier SUBDIR += xworm SUBDIR += xye SUBDIR += xzip SUBDIR += yadex SUBDIR += yahtzee SUBDIR += yquake2 SUBDIR += zangband SUBDIR += zatacka SUBDIR += zaz SUBDIR += zdoom SUBDIR += zhlt SUBDIR += zoom SUBDIR += ztrack .include diff --git a/games/openbor7144/Makefile b/games/openbor7144/Makefile new file mode 100644 index 000000000000..2143d59faa9f --- /dev/null +++ b/games/openbor7144/Makefile @@ -0,0 +1,11 @@ +PORTVERSION= 7144 +PORTREVISION= 0 +PKGNAMESUFFIX= ${PORTVERSION} + +MASTERDIR= ${.CURDIR}/../openbor +PATCHDIR= ${.CURDIR}/files +DISTINFO_FILE= ${.CURDIR}/distinfo + +GH_TAGNAME= b8303cce + +.include "${MASTERDIR}/Makefile" diff --git a/games/openbor7144/distinfo b/games/openbor7144/distinfo new file mode 100644 index 000000000000..159ae24c4263 --- /dev/null +++ b/games/openbor7144/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1698894032 +SHA256 (DCurrent-openbor-7144-b8303cce_GH0.tar.gz) = 1fdd30b64c009fbe03809d04fa6276cf386bef59696fedb0e3a05b12374c3e8d +SIZE (DCurrent-openbor-7144-b8303cce_GH0.tar.gz) = 26901256 diff --git a/games/openbor7144/files/patch-openbor.c b/games/openbor7144/files/patch-openbor.c new file mode 100644 index 000000000000..cec69bb2ff6e --- /dev/null +++ b/games/openbor7144/files/patch-openbor.c @@ -0,0 +1,65 @@ +Fix potential crashes found by ASan/Clang/GCC +Fix an infinite loop in lcmScriptDeleteMain() + +--- openbor.c.orig 2018-07-06 15:13:16 UTC ++++ openbor.c +@@ -6259,17 +6259,17 @@ s_collision_attack *collision_alloc_attack_instance(s_ + // + // Allocate an empty collision attack list. + s_collision_attack **collision_alloc_attack_list() + { + s_collision_attack **result; + size_t alloc_size; + + // Get amount of memory we'll need. +- alloc_size = sizeof(*result); ++ alloc_size = max_collisons * sizeof(*result); + + // Allocate memory and get pointer. + result = malloc(alloc_size); + + // Make sure the list is blank. + memset(result, 0, alloc_size); + + // return result. +@@ -6308,17 +6308,17 @@ s_collision_body *collision_alloc_body_instance(s_coll + // + // Allocate an empty collision attack list. + s_collision_body **collision_alloc_body_list() + { + s_collision_body **result; + size_t alloc_size; + + // Get amount of memory we'll need. +- alloc_size = sizeof(*result); ++ alloc_size = max_collisons * sizeof(*result); + + // Allocate memory and get pointer. + result = malloc(alloc_size); + + // Make sure the list is blank. + memset(result, 0, alloc_size); + + // return result. +@@ -8743,7 +8743,8 @@ size_t lcmScriptCopyBuffer(ArgList *arglist, char *buf + + size_t lcmScriptDeleteMain(char **buf) + { +- size_t len = 0, i = 0; ++ size_t len = 0; ++ long i = 0; + ptrdiff_t pos = 0; + char *newbuf = NULL; + +@@ -15920,6 +15921,11 @@ void bar(int x, int y, int value, int maxvalue, s_bars + else + { + return; ++ } ++ ++ if (value < 0) ++ { ++ value = 0; + } + + if (value > maxvalue) diff --git a/games/openbor7144/files/patch-sdl_menu.c b/games/openbor7144/files/patch-sdl_menu.c new file mode 100644 index 000000000000..1fe1fd9529f3 --- /dev/null +++ b/games/openbor7144/files/patch-sdl_menu.c @@ -0,0 +1,13 @@ +Don't crash with empty Paks/ directory. + +--- sdl/menu.c.orig 2018-07-06 15:13:16 UTC ++++ sdl/menu.c +@@ -753,7 +753,7 @@ void Menu() + } + freeAllLogs(); + termMenu(); +- if(ctrl == 2) ++ if(dListTotal == 0 || ctrl == 2) + { + if (filelist) + { diff --git a/games/openbor7144/files/patch-sdl_sdlport.c b/games/openbor7144/files/patch-sdl_sdlport.c new file mode 100644 index 000000000000..3a6b42660515 --- /dev/null +++ b/games/openbor7144/files/patch-sdl_sdlport.c @@ -0,0 +1,30 @@ +Store settings under ~/.openbor instead of current directory + +--- sdl/sdlport.c.orig 2018-07-06 15:13:16 UTC ++++ sdl/sdlport.c +@@ -11,6 +11,8 @@ + #include "ram.h" + #include "video.h" + #include "menu.h" ++#include ++#include + #include + #include + +@@ -135,6 +137,16 @@ int main(int argc, char *argv[]) + } + dirExists(rootDir, 1); + chdir(rootDir); ++#else ++ if(!getenv("OPENBOR_USE_CURDIR")) ++ { ++ if (chdir(getenv("HOME")) != 0) ++ err(1, "cannot cd to $HOME"); ++ if (mkdir(".openbor", 0755) != 0 && errno != EEXIST) ++ err(1, "cannot mkdir $HOME/.openbor"); ++ if (chdir(".openbor") != 0) ++ err(1, "cannot cd to $HOME/.openbor"); ++ } + #endif + + dirExists(paksDir, 1); diff --git a/games/openbor7144/files/patch-source_ramlib_ram.c b/games/openbor7144/files/patch-source_ramlib_ram.c new file mode 100644 index 000000000000..f37ceae0bb48 --- /dev/null +++ b/games/openbor7144/files/patch-source_ramlib_ram.c @@ -0,0 +1,189 @@ +Implement Linux-like memory stats for BSDs + +--- source/ramlib/ram.c.orig 2018-07-06 15:13:16 UTC ++++ source/ramlib/ram.c +@@ -25,6 +25,21 @@ + #include + #include + #include ++#elif defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#include ++#include ++#include ++# if defined(__DragonFly__) ++#include // struct kinfo_proc ++#include // struct vmstats ++# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#include // struct kinfo_proc ++# elif defined(__NetBSD__) ++#include // struct uvmexp_sysctl ++# elif defined(__OpenBSD__) ++#include // struct uvmexp ++# endif + #elif LINUX + #include + #include +@@ -48,7 +63,10 @@ + + static u64 systemRam = 0x00000000; + +-#if !(defined(WIN) || defined(LINUX) || defined(DARWIN)) ++#if !(defined(WIN) || defined(LINUX) || defined(DARWIN) || \ ++ defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || \ ++ defined(__OpenBSD__)) + static unsigned long elfOffset = 0x00000000; + static unsigned long stackSize = 0x00000000; + #endif +@@ -56,7 +74,10 @@ static unsigned long stackSize = 0x00000000; + ///////////////////////////////////////////////////////////////////////////// + // Symbols + +-#if !(defined(WIN) || defined(LINUX) || defined(DARWIN)) ++#if !(defined(WIN) || defined(LINUX) || defined(DARWIN) || \ ++ defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || \ ++ defined(__OpenBSD__)) + #if (__GNUC__ > 3) + extern unsigned long _end; + extern unsigned long _start; +@@ -93,6 +114,48 @@ u64 getFreeRam(int byte_size) + return 0; + } + return (u64)(((vms.inactive_count + vms.free_count) * size) / byte_size); ++#elif defined(__DragonFly__) ++ struct vmstats vms; ++ size_t sz = sizeof(vms); ++ if (sysctlbyname("vm.vmstats", &vms, &sz, NULL, 0)) ++ { ++ return 0; ++ } ++ return (u64)(vms.v_free_count + vms.v_inactive_count ++ + vms.v_cache_count) * getpagesize() / byte_size; ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++ u_int v_free_count = 0, v_inactive_count = 0, v_cache_count = 0; ++ size_t sz = sizeof(u_int); ++ sysctlbyname("vm.stats.vm.v_free_count", ++ &v_free_count, &sz, NULL, 0); ++ sysctlbyname("vm.stats.vm.v_inactive_count", ++ &v_inactive_count, &sz, NULL, 0); ++ sysctlbyname("vm.stats.vm.v_cache_count", ++ &v_cache_count, &sz, NULL, 0); ++ return (u64)(v_free_count + v_inactive_count ++ + v_cache_count) * getpagesize() / byte_size; ++#elif defined(__NetBSD__) || defined(__OpenBSD__) ++# if defined(__NetBSD__) ++#undef VM_UVMEXP ++#define VM_UVMEXP VM_UVMEXP2 ++#define uvmexp uvmexp_sysctl ++# else ++#define filepages vnodepages ++#define execpages vtextpages ++# endif ++ int mib[] = { ++ CTL_VM, ++ VM_UVMEXP, ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ struct uvmexp uvmexp; ++ size_t sz = sizeof(uvmexp); ++ if (sysctl(mib, miblen, &uvmexp, &sz, NULL, 0)) ++ { ++ return 0; ++ } ++ return (u64)(uvmexp.free + uvmexp.inactive + uvmexp.filepages ++ + uvmexp.execpages) * uvmexp.pagesize / byte_size; + #elif LINUX + struct sysinfo info; + sysinfo(&info); +@@ -133,11 +196,29 @@ void setSystemRam() + stat.dwLength = sizeof(MEMORYSTATUSEX); + GlobalMemoryStatusEx(&stat); + systemRam = stat.ullTotalPhys; +-#elif DARWIN +- u64 mem; +- size_t len = sizeof(mem); +- sysctlbyname("hw.memsize", &mem, &len, NULL, 0); +- systemRam = mem; ++#elif defined(DARWIN) || defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) ++# if defined(HW_MEMSIZE) || defined(HW_PHYSMEM64) ++ uint64_t physmem; ++# else ++ u_long physmem; ++# endif ++ int mib[] = { ++ CTL_HW, ++# if defined(HW_MEMSIZE) ++ HW_MEMSIZE, ++# elif defined(HW_PHYSMEM64) ++ HW_PHYSMEM64, ++# else ++ HW_PHYSMEM, ++# endif ++ }; ++ size_t sz = sizeof(physmem); ++ if (sysctl(mib, 2, &physmem, &sz, NULL, 0)) ++ { ++ physmem = 0; ++ } ++ systemRam = physmem; + #elif LINUX + struct sysinfo info; + sysinfo(&info); +@@ -183,7 +264,10 @@ void setSystemRam() + stackSize = 0x00000000; + systemRam = getFreeRam(BYTES); + #endif +-#if !(defined(WIN) || defined(LINUX) || defined(DARWIN) || defined(SYMBIAN) || defined(VITA)) ++#if !(defined(WIN) || defined(LINUX) || defined(DARWIN) || defined(SYMBIAN) || defined(VITA) || \ ++ defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || \ ++ defined(__OpenBSD__)) + stackSize = (int)&_end - (int)&_start + ((int)&_start - elfOffset); + #endif + getRamStatus(BYTES); +@@ -215,6 +299,42 @@ u64 getUsedRam(int byte_size) + return 0; + } + return info.resident_size / byte_size; ++#elif defined(__DragonFly__) || defined(__FreeBSD__) || \ ++ defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) ++# if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++# else ++#define KINFO_PROC struct kinfo_proc ++# endif ++# if defined(__DragonFly__) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++# elif defined(__NetBSD__) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++# elif defined(__OpenBSD__) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++# endif ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++# if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++# endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ KINFO_PROC kp; ++ size_t sz = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, &kp, &sz, NULL, 0)) ++ { ++ return 0; ++ } ++ return (u64)KP_RSS(kp) / byte_size; + #elif LINUX + unsigned long vm = 0; + FILE *file = fopen("/proc/self/statm", "r"); diff --git a/games/openbor7144/files/patch-source_utils.c b/games/openbor7144/files/patch-source_utils.c new file mode 100644 index 000000000000..65fb72c0c7ed --- /dev/null +++ b/games/openbor7144/files/patch-source_utils.c @@ -0,0 +1,19 @@ +source/utils.c:303:54: error: implicit declaration of function 'mallinfo' is invalid in C99 + [-Werror,-Wimplicit-function-declaration] + writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); + ^ +source/utils.c:303:64: error: member reference base type 'int' is not a structure or union + writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); + ~~~~~~~~~~^~~~~~ + +--- source/utils.c.orig 2018-07-06 15:13:16 UTC ++++ source/utils.c +@@ -303,7 +303,7 @@ void *checkAlloc(void *ptr, size_t size, const char *f + "\n* Shutting Down *\n\n"); + writeToLogFile("Out of memory!\n"); + writeToLogFile("Allocation of size %i failed in function '%s' at %s:%i.\n", size, func, file, line); +-#ifndef WIN ++#if defined(__GLIBC__) || defined(ANDROID) || defined(VITA) + writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); + #endif + borExit(2);