aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
Diffstat (limited to 'games')
-rw-r--r--games/0ad/Makefile2
-rw-r--r--games/0ad/files/patch-build_premake_premake5.lua23
-rw-r--r--games/DDNet/Makefile1
-rw-r--r--games/anki/Makefile2
-rw-r--r--games/cataclysm-dda/Makefile2
-rw-r--r--games/dose-response/Makefile2
-rw-r--r--games/endless-sky-high-dpi/Makefile2
-rw-r--r--games/endless-sky-high-dpi/distinfo6
-rw-r--r--games/endless-sky/Makefile14
-rw-r--r--games/endless-sky/distinfo6
-rw-r--r--games/endless-sky/files/patch-source_Audio.cpp63
-rw-r--r--games/endless-sky/files/patch-tests_unit_src_test__weightedList.cpp11
-rw-r--r--games/gemrb/Makefile3
-rw-r--r--games/gemrb/distinfo6
-rw-r--r--games/gemrb/pkg-plist18
-rw-r--r--games/genact/Makefile2
-rw-r--r--games/gogui/Makefile20
-rw-r--r--games/gogui/distinfo6
-rw-r--r--games/hedgewars/Makefile4
-rw-r--r--games/hivetui/Makefile2
-rw-r--r--games/jaggedalliance2/Makefile2
-rw-r--r--games/jumpy/Makefile2
-rw-r--r--games/libretro-shaders-slang/Makefile4
-rw-r--r--games/libretro-shaders-slang/distinfo6
-rw-r--r--games/libretro-shaders-slang/pkg-plist72
-rw-r--r--games/megaglest/Makefile2
-rw-r--r--games/monsterz/Makefile20
-rw-r--r--games/monsterz/distinfo7
-rw-r--r--games/monsterz/files/patch-monsterz.py890
-rw-r--r--games/monsterz/pkg-plist3
-rw-r--r--games/nsnake/Makefile10
-rw-r--r--games/nsnake/distinfo6
-rw-r--r--games/openclonk/Makefile2
-rw-r--r--games/openrct2/Makefile4
-rw-r--r--games/openrct2/distinfo10
-rw-r--r--games/openrct2/pkg-plist8
-rw-r--r--games/prismlauncher/Makefile2
-rw-r--r--games/prismlauncher/distinfo6
-rw-r--r--games/punchy/Makefile2
-rw-r--r--games/pyspacewar/Makefile32
-rw-r--r--games/pyspacewar/distinfo6
-rw-r--r--games/pyspacewar/pkg-plist65
-rw-r--r--games/rocksndiamonds/Makefile2
-rw-r--r--games/rocksndiamonds/distinfo6
-rw-r--r--games/rpg-cli/Makefile2
-rw-r--r--games/simutrans/Makefile1
-rw-r--r--games/sulis/Makefile2
-rw-r--r--games/tetrigo/Makefile1
-rw-r--r--games/veloren-weekly/Makefile4
-rw-r--r--games/veloren-weekly/distinfo6
-rw-r--r--games/warzone2100/Makefile1
-rw-r--r--games/xbubble/Makefile12
-rw-r--r--games/xbubble/files/patch-src__init.c11
53 files changed, 301 insertions, 1103 deletions
diff --git a/games/0ad/Makefile b/games/0ad/Makefile
index 46669a4d166b..96f6dd86d50e 100644
--- a/games/0ad/Makefile
+++ b/games/0ad/Makefile
@@ -1,6 +1,6 @@
PORTNAME= 0ad
PORTVERSION= 0.0.26
-PORTREVISION= 34
+PORTREVISION= 36
CATEGORIES= games
MASTER_SITES= http://releases.wildfiregames.com/ \
SF/zero-ad/releases
diff --git a/games/0ad/files/patch-build_premake_premake5.lua b/games/0ad/files/patch-build_premake_premake5.lua
index 2d771dbba940..55122f32fc49 100644
--- a/games/0ad/files/patch-build_premake_premake5.lua
+++ b/games/0ad/files/patch-build_premake_premake5.lua
@@ -1,6 +1,25 @@
---- build/premake/premake5.lua.orig 2021-07-27 21:57:08 UTC
+--- build/premake/premake5.lua.orig 2022-09-23 19:16:45 UTC
+++ build/premake/premake5.lua
-@@ -367,7 +367,7 @@ function project_set_build_flags()
+@@ -76,14 +76,10 @@ else
+ end
+ else
+ local machine = "x86_64"
+- if os.getenv("HOSTTYPE") and os.getenv("HOSTTYPE") ~= '' then
+- machine = os.getenv("HOSTTYPE")
+- else
+- os.execute(cc .. " -dumpmachine > .gccmachine.tmp")
+- local f = io.open(".gccmachine.tmp", "r")
+- machine = f:read("*line")
+- f:close()
+- end
++ os.execute(cc .. " -dumpmachine > .gccmachine.tmp")
++ local f = io.open(".gccmachine.tmp", "r")
++ machine = f:read("*line")
++ f:close()
+ -- Special handling on mac os where xcode needs special flags.
+ if os.istarget("macosx") then
+ if string.find(machine, "arm64") then
+@@ -380,7 +376,7 @@ function project_set_build_flags()
if os.istarget("linux") or os.istarget("bsd") then
if _OPTIONS["prefer-local-libs"] then
diff --git a/games/DDNet/Makefile b/games/DDNet/Makefile
index a0d64a81fe41..d8ab524f33ca 100644
--- a/games/DDNet/Makefile
+++ b/games/DDNet/Makefile
@@ -1,5 +1,6 @@
PORTNAME= DDNet
PORTVERSION= 18.8.2
+PORTREVISION= 2
CATEGORIES= games
MASTER_SITES= https://ddnet.tw/downloads/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
diff --git a/games/anki/Makefile b/games/anki/Makefile
index 0690eae8c3b6..a9088548c085 100644
--- a/games/anki/Makefile
+++ b/games/anki/Makefile
@@ -1,6 +1,6 @@
PORTNAME= anki
DISTVERSION= 24.11
-PORTREVISION= 1
+PORTREVISION= 2
# Don't forget to update ${_MY_BUILDHASH} if DISTVERSION changes
CATEGORIES= games education python
MASTER_SITES= LOCAL/kai/:yarncache
diff --git a/games/cataclysm-dda/Makefile b/games/cataclysm-dda/Makefile
index ad6cc35ba8a0..fdece2f381ad 100644
--- a/games/cataclysm-dda/Makefile
+++ b/games/cataclysm-dda/Makefile
@@ -53,6 +53,8 @@ CMAKE_ARGS+= -DCURSES_INCLUDE_PATH:STRING="${NCURSESINC}"
PORTSCOUT= limit:^0\.[A-Z]
+CXXFLAGS+= -Wno-error=for-loop-analysis
+
post-patch:
@${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' ${WRKSRC}/src/version.cmake
diff --git a/games/dose-response/Makefile b/games/dose-response/Makefile
index a2f20079881c..4ea6816f5d80 100644
--- a/games/dose-response/Makefile
+++ b/games/dose-response/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dose-response
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.0
-PORTREVISION= 48
+PORTREVISION= 49
CATEGORIES= games
MAINTAINER= ports@FreeBSD.org
diff --git a/games/endless-sky-high-dpi/Makefile b/games/endless-sky-high-dpi/Makefile
index 41ddb2b00964..316b03baa695 100644
--- a/games/endless-sky-high-dpi/Makefile
+++ b/games/endless-sky-high-dpi/Makefile
@@ -1,5 +1,5 @@
PORTNAME= endless-sky-high-dpi
-PORTVERSION= 0.10.4
+PORTVERSION= 0.10.10
DISTVERSIONPREFIX= v
CATEGORIES= games
diff --git a/games/endless-sky-high-dpi/distinfo b/games/endless-sky-high-dpi/distinfo
index 793c8d7ee55d..30d3615f7151 100644
--- a/games/endless-sky-high-dpi/distinfo
+++ b/games/endless-sky-high-dpi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698073009
-SHA256 (endless-sky-endless-sky-high-dpi-v0.10.4_GH0.tar.gz) = 76b09a1195ac1d028e1d0b55fef3956bb5835ea06962128f877f7569105b2046
-SIZE (endless-sky-endless-sky-high-dpi-v0.10.4_GH0.tar.gz) = 584389367
+TIMESTAMP = 1730149620
+SHA256 (endless-sky-endless-sky-high-dpi-v0.10.10_GH0.tar.gz) = b10d61befc3a63d64ef23de0dda53f0da1dad297459987927b170b17c2654a00
+SIZE (endless-sky-endless-sky-high-dpi-v0.10.10_GH0.tar.gz) = 628442312
diff --git a/games/endless-sky/Makefile b/games/endless-sky/Makefile
index cb34395669b4..29ac088b20f7 100644
--- a/games/endless-sky/Makefile
+++ b/games/endless-sky/Makefile
@@ -1,5 +1,5 @@
PORTNAME= endless-sky
-PORTVERSION= 0.10.4
+PORTVERSION= 0.10.10
DISTVERSIONPREFIX= v
CATEGORIES= games
@@ -21,18 +21,26 @@ USE_GITHUB= yes
USES= cmake compiler:c++11-lang gl jpeg openal sdl
USE_SDL= sdl2
USE_GL= gl glew
-CMAKE_OFF= ES_USE_VCPKG
+CMAKE_OFF= ES_USE_VCPKG CMAKE_CXX_SCAN_FOR_MODULES
CMAKE_ARGS= -DCMAKE_INSTALL_DOCDIR="${DOCSDIR}"
+# https://github.com/endless-sky/endless-sky/issues/10714#issuecomment-2448722018
+TEST_ENV= ASAN_OPTIONS=detect_container_overflow=0
LDFLAGS_i386= -Wl,-znotext
PORTDATA= *
PORTDOCS= *
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS TEST
+
+TEST_CMAKE_BOOL= BUILD_TESTING
+TEST_BUILD_DEPENDS= catch2>=0:devel/catch2
post-build:
@${REINPLACE_CMD} -e 's|/usr/local/|${PREFIX}/|; s|share/games|share|' \
${WRKSRC}/source/Files.cpp
+do-test-TEST-on:
+ @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${LOCALBASE}/bin/ctest -V
+
.include <bsd.port.mk>
diff --git a/games/endless-sky/distinfo b/games/endless-sky/distinfo
index e71e8b0d24f5..ae550bf55eac 100644
--- a/games/endless-sky/distinfo
+++ b/games/endless-sky/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698072980
-SHA256 (endless-sky-endless-sky-v0.10.4_GH0.tar.gz) = baeaa462315587788d81c58847d600f66f1ced063cdfb4cf108d6a26fe75e175
-SIZE (endless-sky-endless-sky-v0.10.4_GH0.tar.gz) = 255144369
+TIMESTAMP = 1730149437
+SHA256 (endless-sky-endless-sky-v0.10.10_GH0.tar.gz) = 2d3cce20335f151f401a617624a4914a08911f4a424aae84bdf6eb8984f3c085
+SIZE (endless-sky-endless-sky-v0.10.10_GH0.tar.gz) = 271561866
diff --git a/games/endless-sky/files/patch-source_Audio.cpp b/games/endless-sky/files/patch-source_Audio.cpp
deleted file mode 100644
index e89a03aaa292..000000000000
--- a/games/endless-sky/files/patch-source_Audio.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
---- source/Audio.cpp.orig 2023-10-21 20:01:54 UTC
-+++ source/Audio.cpp
-@@ -82,7 +82,7 @@ namespace {
- // This queue keeps track of sounds that have been requested to play. Each
- // added sound is "deferred" until the next audio position update to make
- // sure that all sounds from a given frame start at the same time.
-- map<const Sound *, QueueEntry> queue;
-+ map<const Sound *, QueueEntry> queue_;
- map<const Sound *, QueueEntry> deferred;
- thread::id mainThreadID;
-
-@@ -249,7 +249,7 @@ void Audio::Update(const Point &listenerPosition)
- listener = listenerPosition;
-
- for(const auto &it : deferred)
-- queue[it.first].Add(it.second);
-+ queue_[it.first].Add(it.second);
- deferred.clear();
- }
-
-@@ -273,7 +273,7 @@ void Audio::Play(const Sound *sound, const Point &posi
- // Place sounds from the main thread directly into the queue. They are from
- // the UI, and the Engine may not be running right now to call Update().
- if(this_thread::get_id() == mainThreadID)
-- queue[sound].Add(position - listener);
-+ queue_[sound].Add(position - listener);
- else
- {
- unique_lock<mutex> lock(audioMutex);
-@@ -317,12 +317,12 @@ void Audio::Step()
- {
- if(source.GetSound()->IsLooping())
- {
-- auto it = queue.find(source.GetSound());
-- if(it != queue.end())
-+ auto it = queue_.find(source.GetSound());
-+ if(it != queue_.end())
- {
- source.Move(it->second);
- newSources.push_back(source);
-- queue.erase(it);
-+ queue_.erase(it);
- }
- else
- {
-@@ -367,7 +367,7 @@ void Audio::Step()
-
- // Now, what is left in the queue is sounds that want to play, and that do
- // not correspond to an existing source.
-- for(const auto &it : queue)
-+ for(const auto &it : queue_)
- {
- // Use a recycled source if possible. Otherwise, create a new one.
- unsigned source = 0;
-@@ -396,7 +396,7 @@ void Audio::Step()
- sources.back().Move(it.second);
- alSourcePlay(source);
- }
-- queue.clear();
-+ queue_.clear();
-
- // Queue up new buffers for the music, if necessary.
- int buffersDone = 0;
diff --git a/games/endless-sky/files/patch-tests_unit_src_test__weightedList.cpp b/games/endless-sky/files/patch-tests_unit_src_test__weightedList.cpp
new file mode 100644
index 000000000000..76d617098781
--- /dev/null
+++ b/games/endless-sky/files/patch-tests_unit_src_test__weightedList.cpp
@@ -0,0 +1,11 @@
+--- tests/unit/src/test_weightedList.cpp.orig 2024-10-26 19:04:44 UTC
++++ tests/unit/src/test_weightedList.cpp
+@@ -348,7 +348,7 @@ SCENARIO( "Obtaining a random value", "[WeightedList][
+ REQUIRE( list.empty() );
+ THEN( "an informative runtime exception is thrown" ) {
+ CHECK_THROWS_AS( list.Get(), std::runtime_error );
+-#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
+ CHECK_THROWS_WITH( list.Get(), Catch::Matchers::ContainsSubstring("empty weighted list") );
+ #endif
+ }
diff --git a/games/gemrb/Makefile b/games/gemrb/Makefile
index 3ab66a665a91..a1d32ada814f 100644
--- a/games/gemrb/Makefile
+++ b/games/gemrb/Makefile
@@ -1,7 +1,6 @@
PORTNAME= gemrb
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.3
-PORTREVISION= 1
+DISTVERSION= 0.9.4
CATEGORIES= games emulators
MAINTAINER= pkubaj@FreeBSD.org
diff --git a/games/gemrb/distinfo b/games/gemrb/distinfo
index c8065b0916e3..2a4be5203806 100644
--- a/games/gemrb/distinfo
+++ b/games/gemrb/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1720982774
-SHA256 (gemrb-gemrb-v0.9.3_GH0.tar.gz) = 71bb16a77b84cd873d5582af675357c0cb94bbc64d54fac2e3397b366ac2adde
-SIZE (gemrb-gemrb-v0.9.3_GH0.tar.gz) = 14389383
+TIMESTAMP = 1736631299
+SHA256 (gemrb-gemrb-v0.9.4_GH0.tar.gz) = 2cb39244945d1e5ec885c4040892eea1efb6d7b183ade36f4ab2e852778e401f
+SIZE (gemrb-gemrb-v0.9.4_GH0.tar.gz) = 14425794
SHA256 (gemrb-gemrb-assets-5b5dcde_GH0.tar.gz) = 3e180e3ae063651bfabaab5795a946183212fd451986e3f4cac9203278283d23
SIZE (gemrb-gemrb-assets-5b5dcde_GH0.tar.gz) = 11161448
diff --git a/games/gemrb/pkg-plist b/games/gemrb/pkg-plist
index c46d519e60a4..4a44384b4847 100644
--- a/games/gemrb/pkg-plist
+++ b/games/gemrb/pkg-plist
@@ -56,7 +56,6 @@ share/applications/gemrb.desktop
%%PORTDOCS%%%%DOCSDIR%%/NEWS
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/en/CheatKeys.txt
-%%PORTDOCS%%%%DOCSDIR%%/en/CodingStyle.txt
%%PORTDOCS%%%%DOCSDIR%%/en/Engine/Charcolors.txt
%%PORTDOCS%%%%DOCSDIR%%/en/Engine/Containers.txt
%%PORTDOCS%%%%DOCSDIR%%/en/Engine/Doors.txt
@@ -119,6 +118,7 @@ share/applications/gemrb.desktop
%%PORTDOCS%%%%DOCSDIR%%/en/Tables/wildmag.txt
%%PORTDOCS%%%%DOCSDIR%%/en/default_ini.txt
%%PORTDOCS%%%%DOCSDIR%%/en/gemrb_ini.txt
+%%DATADIR%%/GUIScripts/ActionsWindow.py
%%DATADIR%%/GUIScripts/Actor.py
%%DATADIR%%/GUIScripts/AutodetectCommon.py
%%DATADIR%%/GUIScripts/BGCommon.py
@@ -160,6 +160,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/GUIScripts/MetaClasses.py
%%DATADIR%%/GUIScripts/PartyReform.py
%%DATADIR%%/GUIScripts/Portrait.py
+%%DATADIR%%/GUIScripts/PortraitWindow.py
%%DATADIR%%/GUIScripts/Spellbook.py
%%DATADIR%%/GUIScripts/TextScreen.py
%%DATADIR%%/GUIScripts/bg1/Autodetect.py
@@ -322,6 +323,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/GUIScripts/pst/Maze.py
%%DATADIR%%/GUIScripts/pst/MessageWindow.py
%%DATADIR%%/GUIScripts/pst/NewLife.py
+%%DATADIR%%/GUIScripts/pst/PortraitWindow.py
%%DATADIR%%/GUIScripts/pst/QuitGame.py
%%DATADIR%%/GUIScripts/pst/Start.py
%%DATADIR%%/GUIScripts/test/Autodetect.py
@@ -377,6 +379,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/demo/override/ZHMW1TW.bam
%%DATADIR%%/demo/override/action.ids
%%DATADIR%%/demo/override/amntwin.png
+%%DATADIR%%/demo/override/animfps.2da
%%DATADIR%%/demo/override/ar0100.are
%%DATADIR%%/demo/override/ar0100.bcs
%%DATADIR%%/demo/override/ar0100.mos
@@ -518,7 +521,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/demo/override/riddler.dlg
%%DATADIR%%/demo/override/ruby.itm
%%DATADIR%%/demo/override/ruby128.png
-%%DATADIR%%/demo/override/ruby32.png
+%%DATADIR%%/demo/override/ruby32.bam
%%DATADIR%%/demo/override/scene01.bcs
%%DATADIR%%/demo/override/script.2da
%%DATADIR%%/demo/override/scrlbar1.bam
@@ -530,6 +533,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/demo/override/source/carot.bmp
%%DATADIR%%/demo/override/source/cav0end.baf
%%DATADIR%%/demo/override/source/riddler.d
+%%DATADIR%%/demo/override/source/ruby32.png
%%DATADIR%%/demo/override/source/scene01.baf
%%DATADIR%%/demo/override/spell_02.ogg
%%DATADIR%%/demo/override/sprklclr.2da
@@ -574,6 +578,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/demo/sounds/male001j.ogg
%%DATADIR%%/demo/sounds/male001k.ogg
%%DATADIR%%/demo/sounds/wb.ogg
+%%DATADIR%%/demo/tester.cfg
%%DATADIR%%/minimal/README
%%DATADIR%%/minimal/chitin.key
%%DATADIR%%/minimal/data/action.ids
@@ -604,7 +609,6 @@ share/applications/gemrb.desktop
%%DATADIR%%/minimal/data/trigger.ids
%%DATADIR%%/minimal/dialog.tlk
%%DATADIR%%/minimal/fhs.cfg
-%%DATADIR%%/minimal/test.cfg
%%DATADIR%%/override/bg1/CMakeLists.txt
%%DATADIR%%/override/bg1/efftext.2da
%%DATADIR%%/override/bg1/minorglb.vvc
@@ -617,6 +621,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/override/bg2ee/clearair.2da
%%DATADIR%%/override/bg2ee/cut17d.bcs
%%DATADIR%%/override/bg2ee/efftext.2da
+%%DATADIR%%/override/bg2ee/itemtype.2da
%%DATADIR%%/override/bg2ee/minorglb.vvc
%%DATADIR%%/override/bg2ee/spells.2da
%%DATADIR%%/override/how/baldur.bcs
@@ -722,6 +727,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/bg1/lightsto.pro
%%DATADIR%%/unhardcoded/bg1/magesch.2da
%%DATADIR%%/unhardcoded/bg1/magicmis.pro
+%%DATADIR%%/unhardcoded/bg1/moverate.2da
%%DATADIR%%/unhardcoded/bg1/mpal256.bmp
%%DATADIR%%/unhardcoded/bg1/music.2da
%%DATADIR%%/unhardcoded/bg1/overlay.2da
@@ -945,7 +951,6 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/bg2ee/item_use.2da
%%DATADIR%%/unhardcoded/bg2ee/itemsnd.2da
%%DATADIR%%/unhardcoded/bg2ee/itemspec.2da
-%%DATADIR%%/unhardcoded/bg2ee/itemtype.2da
%%DATADIR%%/unhardcoded/bg2ee/itemuse.2da
%%DATADIR%%/unhardcoded/bg2ee/k_bn_d.2da
%%DATADIR%%/unhardcoded/bg2ee/k_bn_e.2da
@@ -1755,6 +1760,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/iwd/ssswarm.pro
%%DATADIR%%/unhardcoded/iwd/sstone.pro
%%DATADIR%%/unhardcoded/iwd/sstoneh.pro
+%%DATADIR%%/unhardcoded/iwd/stances.2da
%%DATADIR%%/unhardcoded/iwd/start.2da
%%DATADIR%%/unhardcoded/iwd/stone.pro
%%DATADIR%%/unhardcoded/iwd/strengh.pro
@@ -1962,6 +1968,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/iwd2/dispel.pro
%%DATADIR%%/unhardcoded/iwd2/divinh.pro
%%DATADIR%%/unhardcoded/iwd2/divint.pro
+%%DATADIR%%/unhardcoded/iwd2/dmginfo.2da
%%DATADIR%%/unhardcoded/iwd2/dsclass.2da
%%DATADIR%%/unhardcoded/iwd2/dspell.pro
%%DATADIR%%/unhardcoded/iwd2/dspellh.pro
@@ -1971,6 +1978,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/iwd2/effects.ids
%%DATADIR%%/unhardcoded/iwd2/electrh.pro
%%DATADIR%%/unhardcoded/iwd2/electrh.vvc
+%%DATADIR%%/unhardcoded/iwd2/eloop.pro
%%DATADIR%%/unhardcoded/iwd2/emotion.pro
%%DATADIR%%/unhardcoded/iwd2/enchah.pro
%%DATADIR%%/unhardcoded/iwd2/enchan.pro
@@ -2098,6 +2106,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/iwd2/msumm5h.pro
%%DATADIR%%/unhardcoded/iwd2/msumm6h.pro
%%DATADIR%%/unhardcoded/iwd2/msumm7h.pro
+%%DATADIR%%/unhardcoded/iwd2/mswarm.pro
%%DATADIR%%/unhardcoded/iwd2/mswordh.pro
%%DATADIR%%/unhardcoded/iwd2/mtouchh.pro
%%DATADIR%%/unhardcoded/iwd2/necroh.pro
@@ -2541,6 +2550,7 @@ share/applications/gemrb.desktop
%%DATADIR%%/unhardcoded/pst/spscoric.pro
%%DATADIR%%/unhardcoded/pst/sshadow.pro
%%DATADIR%%/unhardcoded/pst/sshadow.spl
+%%DATADIR%%/unhardcoded/pst/stances.2da
%%DATADIR%%/unhardcoded/pst/start.2da
%%DATADIR%%/unhardcoded/pst/states.2da
%%DATADIR%%/unhardcoded/pst/stone.pro
diff --git a/games/genact/Makefile b/games/genact/Makefile
index fce8115564ba..abf4931577e9 100644
--- a/games/genact/Makefile
+++ b/games/genact/Makefile
@@ -1,7 +1,7 @@
PORTNAME= genact
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.2
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= games
MAINTAINER= eduardo@FreeBSD.org
diff --git a/games/gogui/Makefile b/games/gogui/Makefile
index e0573e77505b..718b91c5714a 100644
--- a/games/gogui/Makefile
+++ b/games/gogui/Makefile
@@ -1,26 +1,29 @@
PORTNAME= gogui
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.10
-PORTREVISION= 1
+PORTVERSION= 1.5.4a
CATEGORIES= games java
MASTER_SITES= http://www.randelshofer.ch/quaqua/files/:quaqua
DISTFILES= quaqua-5.2.1.nested.zip:quaqua
MAINTAINER= yuri@FreeBSD.org
COMMENT= GUI for programs that play Go through Go Text Protocol (GTP)
-WWW= https://github.com/lemonsqueeze/gogui
+WWW= https://github.com/Remi-Coulom/gogui # was https://github.com/lemonsqueeze/gogui
LICENSE= LGPL21 BSD3CLAUSE
LICENSE_COMB= multi
BROKEN_aarch64= compilation fails: Internal Error (assembler_aarch64.hpp:237) ..., and it breaks with Java 11 and Java 17, see https://github.com/lemonsqueeze/gogui/issues/3
-BUILD_DEPENDS= xsltproc:textproc/libxslt \
- docbook-xsl>0:textproc/docbook-xsl
+BUILD_DEPENDS= bash:shells/bash \
+ docbook-xsl>0:textproc/docbook-xsl \
+ inkscape:graphics/inkscape \
+ xsltproc:textproc/libxslt
-USES= java:ant,run
+USES= java:ant,run shebangfix
USE_GITHUB= yes
-GH_ACCOUNT= lemonsqueeze
+GH_ACCOUNT= Remi-Coulom # was lemonsqueeze
+
+SHEBANG_FILES= src/net/sf/gogui/images/svg.sh
MAKE_ARGS+= -Ddocbook-xsl.dir=${LOCALBASE}/share/xsl/docbook
@@ -40,6 +43,9 @@ post-extract:
post-patch:
@${REINPLACE_CMD} 's|/usr/share|${LOCALBASE}/share|' ${WRKSRC}/build.xml
+pre-build: # generate image files
+ @cd ${WRKSRC}/src/net/sf/gogui/images && ./svg.sh
+
do-install:
.for j in ${GOGUI_JARS}
${INSTALL_DATA} ${WRKSRC}/lib/${j}.jar ${STAGEDIR}${JAVAJARDIR}
diff --git a/games/gogui/distinfo b/games/gogui/distinfo
index 708ce1a6e619..a3d452ea5006 100644
--- a/games/gogui/distinfo
+++ b/games/gogui/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1560109987
+TIMESTAMP = 1737283958
SHA256 (quaqua-5.2.1.nested.zip) = 5473653f8a153122e864137704db52cb02e04a24cbbba6c59df11d4f945f79d6
SIZE (quaqua-5.2.1.nested.zip) = 5985193
-SHA256 (lemonsqueeze-gogui-v1.4.10_GH0.tar.gz) = a9a957e3e0b2eba9f39ad22197698b9343ea0054e769cb3f42620c7bbc3a1dba
-SIZE (lemonsqueeze-gogui-v1.4.10_GH0.tar.gz) = 723690
+SHA256 (Remi-Coulom-gogui-v1.5.4a_GH0.tar.gz) = 742564513fe846368913d435e9146b24e04b1aeaaa3608e8d8637a85fc0c8ded
+SIZE (Remi-Coulom-gogui-v1.5.4a_GH0.tar.gz) = 730262
diff --git a/games/hedgewars/Makefile b/games/hedgewars/Makefile
index 62ca16231f12..8155aad9143d 100644
--- a/games/hedgewars/Makefile
+++ b/games/hedgewars/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hedgewars
PORTVERSION= 1.0.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= games
MASTER_SITES= https://www.hedgewars.org/download/releases/
DISTNAME= ${PORTNAME}-src-${DISTVERSION}
@@ -15,7 +15,7 @@ LICENSE_COMB= multi
LIB_DEPENDS= libphysfs.so:devel/physfs \
libpng.so:graphics/png
-ONLY_FOR_ARCHS= i386 amd64
+ONLY_FOR_ARCHS= amd64 i386
USES= cmake:noninja desktop-file-utils fpc gl lua:51 pkgconfig qt:5 \
sdl tar:bzip2
diff --git a/games/hivetui/Makefile b/games/hivetui/Makefile
index 25bce078181a..49eaf28f08a3 100644
--- a/games/hivetui/Makefile
+++ b/games/hivetui/Makefile
@@ -1,7 +1,7 @@
PORTNAME= hivetui
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games
MAINTAINER= fuz@FreeBSD.org
diff --git a/games/jaggedalliance2/Makefile b/games/jaggedalliance2/Makefile
index 7843f2c602f3..3a5f0ae729f3 100644
--- a/games/jaggedalliance2/Makefile
+++ b/games/jaggedalliance2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= ja2
DISTVERSIONPREFIX= v
DISTVERSION= 0.21.0
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= games
MAINTAINER= timp87@gmail.com
diff --git a/games/jumpy/Makefile b/games/jumpy/Makefile
index e7d33d458148..4a5980584540 100644
--- a/games/jumpy/Makefile
+++ b/games/jumpy/Makefile
@@ -1,7 +1,7 @@
PORTNAME= jumpy
DISTVERSIONPREFIX= v
DISTVERSION= 0.12.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games wayland
MAINTAINER= jbeich@FreeBSD.org
diff --git a/games/libretro-shaders-slang/Makefile b/games/libretro-shaders-slang/Makefile
index 99a41014f824..779feb0a427c 100644
--- a/games/libretro-shaders-slang/Makefile
+++ b/games/libretro-shaders-slang/Makefile
@@ -1,5 +1,5 @@
PORTNAME= libretro-shaders-slang
-DISTVERSION= g20241226
+DISTVERSION= g20250124
CATEGORIES= games
MAINTAINER= bsdcode@disroot.org
@@ -13,7 +13,7 @@ LICENSE_COMB= multi
USE_GITHUB= yes
GH_ACCOUNT= libretro
GH_PROJECT= slang-shaders
-GH_TAGNAME= 8fe25d96e575dadfc8e8f14c36a9db26c68241ee
+GH_TAGNAME= f60a104a4d89b59c364f8ae88ade36d527d5a4f9
MAKE_ARGS= PREFIX=${PREFIX}
diff --git a/games/libretro-shaders-slang/distinfo b/games/libretro-shaders-slang/distinfo
index 7baaa528aa46..16a0beb8c798 100644
--- a/games/libretro-shaders-slang/distinfo
+++ b/games/libretro-shaders-slang/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735291564
-SHA256 (libretro-slang-shaders-g20241226-8fe25d96e575dadfc8e8f14c36a9db26c68241ee_GH0.tar.gz) = 3f0e8c3c8d201dbfed1426f21c1cb69c8be55d4419ec404c940ff98593e12edd
-SIZE (libretro-slang-shaders-g20241226-8fe25d96e575dadfc8e8f14c36a9db26c68241ee_GH0.tar.gz) = 44320178
+TIMESTAMP = 1737797261
+SHA256 (libretro-slang-shaders-g20250124-f60a104a4d89b59c364f8ae88ade36d527d5a4f9_GH0.tar.gz) = 0918134bae08bc616b580f8e9ab80bf2032ef42b730ba93e5f9c81992da7c8a9
+SIZE (libretro-slang-shaders-g20250124-f60a104a4d89b59c364f8ae88ade36d527d5a4f9_GH0.tar.gz) = 44339048
diff --git a/games/libretro-shaders-slang/pkg-plist b/games/libretro-shaders-slang/pkg-plist
index 3683e977fa9f..5f120189b07b 100644
--- a/games/libretro-shaders-slang/pkg-plist
+++ b/games/libretro-shaders-slang/pkg-plist
@@ -5,6 +5,7 @@
%%DATADIR%%/anti-aliasing/aa-shader-4.0-level2.slangp
%%DATADIR%%/anti-aliasing/aa-shader-4.0.slangp
%%DATADIR%%/anti-aliasing/advanced-aa.slangp
+%%DATADIR%%/anti-aliasing/fxaa+linear.slangp
%%DATADIR%%/anti-aliasing/fxaa.slangp
%%DATADIR%%/anti-aliasing/reverse-aa.slangp
%%DATADIR%%/anti-aliasing/shaders/aa-shader-4.0-level2/aa-shader-4.0-level2-pass1.slang
@@ -1254,8 +1255,10 @@
%%DATADIR%%/bezel/uborder/README.md
%%DATADIR%%/bezel/uborder/ambient-light-crt.slangp
%%DATADIR%%/bezel/uborder/base_presets/ambient-light/ambient-light-crt-nobody.slangp
+%%DATADIR%%/bezel/uborder/base_presets/uborder-bezel-reflections/uborder-bezel-reflections-crt-nobody.slangp
%%DATADIR%%/bezel/uborder/base_presets/uborder-reflections/uborder-reflections-crt-nobody.slangp
%%DATADIR%%/bezel/uborder/base_presets/uborder/uborder-crt-nobody.slangp
+%%DATADIR%%/bezel/uborder/shaders/content_bezel_shaders/crt-nobody-bezel-reflections.slang
%%DATADIR%%/bezel/uborder/shaders/content_shaders/crt-nobody.slang
%%DATADIR%%/bezel/uborder/shaders/content_shaders/include/uborder_frame_params.inc
%%DATADIR%%/bezel/uborder/shaders/content_shaders/include/uborder_params.inc
@@ -1266,6 +1269,7 @@
%%DATADIR%%/bezel/uborder/shaders/uborder-reflections.slang
%%DATADIR%%/bezel/uborder/shaders/uborder.slang
%%DATADIR%%/bezel/uborder/textures/borders/default.jpg
+%%DATADIR%%/bezel/uborder/uborder-bezel-reflections.slangp
%%DATADIR%%/bezel/uborder/uborder-reflections.slangp
%%DATADIR%%/bezel/uborder/uborder.slangp
%%DATADIR%%/bilinear.slangp
@@ -2132,6 +2136,14 @@
%%DATADIR%%/dithering/shaders/sgenpt-mix/sgenpt-mix-pass5.slang
%%DATADIR%%/downsample/drez/drez_3ds_x-400_y-480.slangp
%%DATADIR%%/downsample/drez/drez_nds_x-256_y-384.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-1024_y-448.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-1024_y-896.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-1280_y-448.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-1280_y-896.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-2560_y-1792.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-5120_y-3584.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-512_y-448.slangp
+%%DATADIR%%/downsample/drez/drez_ps2_x-640_y-448.slangp
%%DATADIR%%/downsample/drez/drez_psp_x-480_y-272.slangp
%%DATADIR%%/downsample/drez/drez_psp_x-960_y-544.slangp
%%DATADIR%%/downsample/drez/drez_psp_x-viewport_y-272.slangp
@@ -2453,6 +2465,8 @@
%%DATADIR%%/handheld/agb001.slangp
%%DATADIR%%/handheld/ags001.slangp
%%DATADIR%%/handheld/authentic_gbc.slangp
+%%DATADIR%%/handheld/authentic_gbc_fast.slangp
+%%DATADIR%%/handheld/authentic_gbc_single_pass.slangp
%%DATADIR%%/handheld/bevel.slangp
%%DATADIR%%/handheld/color-mod/NSO-gba-color.slangp
%%DATADIR%%/handheld/color-mod/NSO-gbc-color.slangp
@@ -2530,8 +2544,12 @@
%%DATADIR%%/handheld/retro-v3.slangp
%%DATADIR%%/handheld/sameboy-lcd.slangp
%%DATADIR%%/handheld/shaders/authentic_gbc/authentic_gbc.slang
+%%DATADIR%%/handheld/shaders/authentic_gbc/authentic_gbc_fast.slang
+%%DATADIR%%/handheld/shaders/authentic_gbc/authentic_gbc_single_pass.slang
%%DATADIR%%/handheld/shaders/authentic_gbc/parameters.inc
%%DATADIR%%/handheld/shaders/authentic_gbc/shared.inc
+%%DATADIR%%/handheld/shaders/authentic_gbc/to_lin.slang
+%%DATADIR%%/handheld/shaders/authentic_gbc/to_lin_fast.slang
%%DATADIR%%/handheld/shaders/bevel.slang
%%DATADIR%%/handheld/shaders/color/NSO-gba-color.slang
%%DATADIR%%/handheld/shaders/color/NSO-gbc-color.slang
@@ -2980,7 +2998,7 @@
%%DATADIR%%/pixel-art-scaling/grid-blend-hybrid.slangp
%%DATADIR%%/pixel-art-scaling/pixel_aa.slangp
%%DATADIR%%/pixel-art-scaling/pixel_aa_fast.slangp
-%%DATADIR%%/pixel-art-scaling/pixel_aa_no_gamma_correction.slangp
+%%DATADIR%%/pixel-art-scaling/pixel_aa_single_pass.slangp
%%DATADIR%%/pixel-art-scaling/pixel_aa_xform.slangp
%%DATADIR%%/pixel-art-scaling/pixellate.slangp
%%DATADIR%%/pixel-art-scaling/shaders/ControlledSharpness.slang
@@ -2996,7 +3014,7 @@
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/parameters.inc
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/pixel_aa.slang
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/pixel_aa_fast.slang
-%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/pixel_aa_no_gamma_correction.slang
+%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/pixel_aa_single_pass.slang
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/pixel_aa_xform.slang
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/shared.inc
%%DATADIR%%/pixel-art-scaling/shaders/pixel_aa/to_lin.slang
@@ -3005,15 +3023,28 @@
%%DATADIR%%/pixel-art-scaling/shaders/sharp-bilinear-scanlines.slang
%%DATADIR%%/pixel-art-scaling/shaders/sharp-bilinear-simple.slang
%%DATADIR%%/pixel-art-scaling/shaders/sharp-bilinear.slang
+%%DATADIR%%/pixel-art-scaling/shaders/sharp-shimmerless.slang
%%DATADIR%%/pixel-art-scaling/shaders/smootheststep.slang
%%DATADIR%%/pixel-art-scaling/shaders/uniform-nearest.slang
%%DATADIR%%/pixel-art-scaling/sharp-bilinear-2x-prescale.slangp
%%DATADIR%%/pixel-art-scaling/sharp-bilinear-scanlines.slangp
%%DATADIR%%/pixel-art-scaling/sharp-bilinear-simple.slangp
%%DATADIR%%/pixel-art-scaling/sharp-bilinear.slangp
+%%DATADIR%%/pixel-art-scaling/sharp-shimmerless.slangp
%%DATADIR%%/pixel-art-scaling/smootheststep.slangp
%%DATADIR%%/pixel-art-scaling/smuberstep.slangp
%%DATADIR%%/pixel-art-scaling/uniform-nearest.slangp
+%%DATADIR%%/presets/blurs/dual-bloom-filter-aa-lv2-fsr-gamma-ramp-glass.slangp
+%%DATADIR%%/presets/blurs/dual-bloom-filter-aa-lv2-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/blurs/dual-bloom-filter-aa-lv2-fsr.slangp
+%%DATADIR%%/presets/blurs/gizmo-composite-blur-aa-lv2-fsr-gamma-ramp-gsharp-resampler.slangp
+%%DATADIR%%/presets/blurs/gizmo-composite-blur-aa-lv2-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/blurs/gizmo-composite-blur-aa-lv2-fsr-gsharp-resampler.slangp
+%%DATADIR%%/presets/blurs/gizmo-composite-blur-aa-lv2-fsr.slangp
+%%DATADIR%%/presets/blurs/kawase-glow-bspline-4taps-fsr-gamma-ramp-tonemapping.slangp
+%%DATADIR%%/presets/blurs/smartblur-bspline-4taps-fsr-gamma-ramp-vhs.slangp
+%%DATADIR%%/presets/blurs/smartblur-bspline-4taps-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/blurs/smartblur-bspline-4taps-fsr.slangp
%%DATADIR%%/presets/crt-beam-simulator/crt-beam-simulator-crt-fast-bilateral-super-xbr-color-mangler-colorimetry.slangp
%%DATADIR%%/presets/crt-beam-simulator/crt-beam-simulator-crt-fast-bilateral-super-xbr.slangp
%%DATADIR%%/presets/crt-beam-simulator/crt-beam-simulator-crtroyale-ntsc-svideo.slangp
@@ -3051,6 +3082,7 @@
%%DATADIR%%/presets/crt-plus-signal/my_old_tv.slangp
%%DATADIR%%/presets/crt-plus-signal/ntsc-phosphorlut.slangp
%%DATADIR%%/presets/crt-plus-signal/ntsclut-phosphorlut.slangp
+%%DATADIR%%/presets/crt-potato/crt-potato-colorimetry-convergence.slangp
%%DATADIR%%/presets/crt-royale-downsample.slangp
%%DATADIR%%/presets/crt-royale-fast/4k/crt-royale-fast-ntsc-composite-aperture-genesis-rainbow-effect.slangp
%%DATADIR%%/presets/crt-royale-fast/4k/crt-royale-fast-ntsc-composite-aperture-genesis.slangp
@@ -3098,6 +3130,31 @@
%%DATADIR%%/presets/crt-royale-smooth.slangp
%%DATADIR%%/presets/crt-royale-xm29plus.slangp
%%DATADIR%%/presets/crtsim-grungy.slangp
+%%DATADIR%%/presets/downsample/drez-8x-fsr-aa-lv2-bspline-4taps.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-bspline-4taps-ntsc-colors.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-bspline-4taps.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-deblur.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-kawase5blur-ntsc-colors-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-kawase5blur-ntsc-colors.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-median3x3-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-median3x3-ntsc-colors-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-median3x3-ntsc-colors.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-median3x3.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-naturalvision-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-naturalvision-vhs.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-naturalvision.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-sabr-hybrid-deposterize.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2-vhs.slangp
+%%DATADIR%%/presets/fsr/fsr-aa-lv2.slangp
+%%DATADIR%%/presets/fsr/fsr-crt-potato-bvm-vhs.slangp
+%%DATADIR%%/presets/fsr/fsr-crt-potato-bvm.slangp
+%%DATADIR%%/presets/fsr/fsr-crt-potato-colorimetry-convergence.slangp
+%%DATADIR%%/presets/fsr/fsr-crt-potato-warm-colorimetry-convergence.slangp
+%%DATADIR%%/presets/fsr/fsr-crtroyale-xm29plus.slangp
+%%DATADIR%%/presets/fsr/fsr-crtroyale.slangp
+%%DATADIR%%/presets/fsr/fsr-lv2-aa-chromacity-glass.slangp
+%%DATADIR%%/presets/fsr/fsr-smaa-colorimetry-convergence.slangp
%%DATADIR%%/presets/gizmo-crt/gizmo-crt-curvator.slangp
%%DATADIR%%/presets/gizmo-crt/gizmo-crt-megadrive-curvator.slangp
%%DATADIR%%/presets/gizmo-crt/gizmo-crt-megadrive.slangp
@@ -3146,6 +3203,17 @@
%%DATADIR%%/presets/handheld-plus-color-mod/simpletex_lcd_720p+gba-color.slangp
%%DATADIR%%/presets/handheld-plus-color-mod/simpletex_lcd_720p+gbc-color.slangp
%%DATADIR%%/presets/imgborder-royale-kurozumi.slangp
+%%DATADIR%%/presets/interpolation/bspline-4taps-aa-lv2-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/interpolation/bspline-4taps-aa-lv2-fsr-powervr.slangp
+%%DATADIR%%/presets/interpolation/bspline-4taps-aa-lv2-fsr.slangp
+%%DATADIR%%/presets/interpolation/bspline-4taps-aa-lv2.slangp
+%%DATADIR%%/presets/interpolation/bspline-4taps-fsr-vhs.slangp
+%%DATADIR%%/presets/interpolation/lanczos2-5taps-fsr-gamma-ramp-vhs.slangp
+%%DATADIR%%/presets/interpolation/lanczos2-5taps-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/interpolation/lanczos2-5taps-fsr.slangp
+%%DATADIR%%/presets/interpolation/spline36-fast-fsr-gamma-ramp-vhs.slangp
+%%DATADIR%%/presets/interpolation/spline36-fast-fsr-gamma-ramp.slangp
+%%DATADIR%%/presets/interpolation/spline36-fast-fsr.slangp
%%DATADIR%%/presets/mdapt+fast-bilateral+super-4xbr+scanlines.slangp
%%DATADIR%%/presets/nedi-powervr-sharpen.slangp
%%DATADIR%%/presets/nes-color-decoder+colorimetry+pixellate.slangp
diff --git a/games/megaglest/Makefile b/games/megaglest/Makefile
index 7341d763f55a..eb99eb6ab29c 100644
--- a/games/megaglest/Makefile
+++ b/games/megaglest/Makefile
@@ -1,6 +1,6 @@
PORTNAME= megaglest
PORTVERSION= 3.13.0
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= games
MAINTAINER= monwarez@mailoo.org
diff --git a/games/monsterz/Makefile b/games/monsterz/Makefile
index 28a7023d2674..8588ee291454 100644
--- a/games/monsterz/Makefile
+++ b/games/monsterz/Makefile
@@ -1,34 +1,29 @@
PORTNAME= monsterz
-PORTVERSION= 0.7.1
-PORTREVISION= 17
+PORTVERSION= 0.8
+DISTVERSIONPREFIX= v
CATEGORIES= games
-MASTER_SITES= http://sam.zoy.org/monsterz/ \
- SF/nemysisfreebsdp/:icons
-DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \
- ${PORTNAME}.png:icons
-EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}
MAINTAINER= thierry@FreeBSD.org
COMMENT= Arcade puzzle game
-WWW= http://sam.zoy.org/monsterz/
+WWW= https://github.com/0-wiz-0/monsterz
LICENSE= WTFPL
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= ${PYGAME}
+USE_GITHUB= yes
+GH_ACCOUNT= 0-wiz-0
+
USES= python shebangfix
SHEBANG_FILES= monsterz.py
MAKE_ENV= prefix=${PREFIX}
-PORTDOCS= AUTHORS README TODO
+PORTDOCS= AUTHORS README.md TODO
SCOREDIR= /var/games
PLIST_SUB= SCOREDIR=${SCOREDIR}
-DESKTOP_ENTRIES="Monsterz" "${COMMENT}" "${PORTNAME}" \
- "${PORTNAME}" "Game;ArcadeGame;" false
-
OPTIONS_DEFINE= DOCS
pre-configure:
@@ -45,7 +40,6 @@ post-install:
-f ${DATADIR:S;${PREFIX}/;;} \
&& ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py -d ${DATADIR}\
-f ${DATADIR:S;${PREFIX}/;;})
- ${INSTALL_DATA} ${_DISTDIR}/${PORTNAME}.png ${STAGEDIR}${PREFIX}/share/pixmaps/
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/monsterz
post-install-DOCS-on:
diff --git a/games/monsterz/distinfo b/games/monsterz/distinfo
index 5eea709f47c5..4f23c2909e17 100644
--- a/games/monsterz/distinfo
+++ b/games/monsterz/distinfo
@@ -1,4 +1,3 @@
-SHA256 (monsterz-0.7.1.tar.gz) = 50828b8fa26d107bcc2bd134328f83c905b9f5e124846bdf239daf0eed34973d
-SIZE (monsterz-0.7.1.tar.gz) = 1879537
-SHA256 (monsterz.png) = 64f9533f252db001bdaec34e1c4432a6d236a8084899d0adc22ad90d01eedae1
-SIZE (monsterz.png) = 4849
+TIMESTAMP = 1737823301
+SHA256 (0-wiz-0-monsterz-v0.8_GH0.tar.gz) = a4f0c845abc3d3b1ab3d08f404852bc2e1e10d512c23b4098e0d49e679a1f079
+SIZE (0-wiz-0-monsterz-v0.8_GH0.tar.gz) = 2316029
diff --git a/games/monsterz/files/patch-monsterz.py b/games/monsterz/files/patch-monsterz.py
deleted file mode 100644
index 6485f6a835b2..000000000000
--- a/games/monsterz/files/patch-monsterz.py
+++ /dev/null
@@ -1,890 +0,0 @@
---- monsterz.py.orig 2020-06-01 13:24:07 UTC
-+++ monsterz.py
-@@ -10,6 +10,9 @@
- modify it under the terms of the Do What The Fuck You Want To
- Public License, Version 2, as published by Sam Hocevar. See
- http://sam.zoy.org/projects/COPYING.WTFPL for more details.
-+
-+ Patch to support Python3 from Reiner Herrmann <reiner@reiner-h.de>
-+ https://bugs.debian.org/912513
- """
-
- import pygame
-@@ -18,6 +21,7 @@ from random import randint
- from sys import argv, exit, platform
- from os.path import join, isdir, isfile, dirname, expanduser
- from os import write, mkdir
-+from functools import cmp_to_key
-
- # String constants
- VERSION = '0.7.1'
-@@ -108,9 +112,12 @@ def semi_grayscale(surf):
- M = int(max(r, g, b))
- m = int(min(r, g, b))
- val = (2 * M + r + g + b) / 5
-- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
-+ val = (2 * M + r + g + b) // 5
-+ p[0] = (val + r) // 2
-+ p[1] = (val + g) // 2
-+ p[2] = (val + b) // 2
- if alpha[y][x] >= 250:
-- alpha[y][x] = 255 - (M - m) * 3 / 4
-+ alpha[y][x] = 255 - (M - m) * 3 // 4
- del pixels
- del alpha
- surf.unlock()
-@@ -129,9 +136,11 @@ def semi_transp(surf):
- r, g, b = p
- M = int(max(r, g, b))
- m = int(min(r, g, b))
-- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
-+ p[0] = (m + r) // 2
-+ p[1] = (m + g) // 2
-+ p[2] = (m + b) // 2
- if alpha[y][x] >= 250:
-- alpha[y][x] = 255 - M * 2 / 3
-+ alpha[y][x] = 255 - M * 2 // 3
- del pixels
- del alpha
- surf.unlock()
-@@ -218,12 +227,12 @@ class Settings:
- file.close()
-
- def get(self, key):
-- if not self.config.has_key(key):
-+ if key not in self.config:
- return None
- return self.config[key]
-
- def set(self, key, value):
-- if not self.config.has_key(key):
-+ if key not in self.config:
- return
- self.config[key] = value
-
-@@ -241,15 +250,15 @@ class Settings:
- pass
- # Add dummy scores to make sure our score list is full
- for game in ['CLASSIC']:
-- if not self.scores.has_key(game):
-+ if game not in self.scores:
- self.scores[game] = []
- for x in range(20): self._add_score(game, 'NOBODY', 0, 1)
-
- def _add_score(self, game, name, score, level):
-- if not self.scores.has_key(game):
-+ if game not in self.scores:
- self.scores[game] = []
- self.scores[game].append((name, score, level))
-- self.scores[game].sort(compare_scores)
-+ self.scores[game].sort(key=cmp_to_key(compare_scores))
- self.scores[game] = self.scores[game][0:19]
-
- def new_score(self, game, score, level):
-@@ -264,7 +273,7 @@ class Settings:
- msg += type + ':' + name + ':' + str(score) + ':' + str(level)
- msg += '\n'
- if self.outfd is not None:
-- write(self.outfd, msg + '\n')
-+ write(self.outfd, (msg + '\n').encode())
- else:
- try:
- file = open(self.scorefile, 'w')
-@@ -286,7 +295,7 @@ class Data:
- self.background = pygame.image.load(join(dir, 'graphics', 'background.png')).convert()
- self.board = pygame.image.load(join(dir, 'graphics', 'board.png')).convert()
- self.logo = pygame.image.load(join(dir, 'graphics', 'logo.png')).convert_alpha()
-- self.orig_size = w / 5
-+ self.orig_size = w // 5
- self.normal = [None] * ITEMS
- self.blink = [None] * ITEMS
- self.tiny = [None] * ITEMS
-@@ -316,8 +325,8 @@ class Data:
- # Create sprites
- for i in range(ITEMS):
- self.normal[i] = scale(tile_at(0, i + 5), (t, t))
-- self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 / 4, t * 3 / 4))
-- self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 / 4, t * 3 / 4))
-+ self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 // 4, t * 3 // 4))
-+ self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 // 4, t * 3 // 4))
- semi_grayscale(self.shaded[i])
- self.blink[i] = scale(tile_at(1, i + 5), (t, t))
- self.surprise[i] = scale(tile_at(2, i + 5), (t, t))
-@@ -326,15 +335,15 @@ class Data:
- #tmp = tile_at(1, 0).copy() # marche pas !
- tmp = scale(tile_at(1, 0), (t, t)) # marche...
- mini = tile_at(0, i + 5)
-- mini = scale(mini, (t * 7 / 8 - 1, t * 7 / 8 - 1))
-- tmp.blit(mini, (s / 16, s / 16))
-+ mini = scale(mini, (t * 7 // 8 - 1, t * 7 // 8 - 1))
-+ tmp.blit(mini, (s // 16, s // 16))
- self.special[i] = scale(tmp, (t, t))
-- self.led_off = scale(self.tiles.subsurface((3 * s, 0, s / 2, s / 2)), (t / 2, t / 2))
-- self.led_on = scale(self.tiles.subsurface((3 * s + s / 2, 0, s / 2, s / 2)), (t / 2, t / 2))
-- self.led_more = scale(self.tiles.subsurface((3 * s, s / 2, s / 2, s / 2)), (t / 2, t / 2))
-- self.led_less = scale(self.tiles.subsurface((3 * s + s / 2, s / 2, s / 2, s / 2)), (t / 2, t / 2))
-- self.eye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
-- self.shadeye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
-+ self.led_off = scale(self.tiles.subsurface((3 * s, 0, s // 2, s // 2)), (t // 2, t // 2))
-+ self.led_on = scale(self.tiles.subsurface((3 * s + s // 2, 0, s // 2, s // 2)), (t // 2, t // 2))
-+ self.led_more = scale(self.tiles.subsurface((3 * s, s // 2, s // 2, s // 2)), (t // 2, t // 2))
-+ self.led_less = scale(self.tiles.subsurface((3 * s + s // 2, s // 2, s // 2, s // 2)), (t // 2, t // 2))
-+ self.eye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
-+ self.shadeye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
- semi_transp(self.shadeye)
- self.arrow = tile_at(4, 0)
- self.selector = scale(tile_at(0, 0), (t, t))
-@@ -367,7 +376,7 @@ class Data:
-
- def screen2board(self, coord):
- x, y = coord
-- return ((x - 24) / ITEM_SIZE, (y - 24) / ITEM_SIZE)
-+ return ((x - 24) // ITEM_SIZE, (y - 24) // ITEM_SIZE)
-
- class Sprite:
- def __init__(self, surf, coord):
-@@ -398,7 +407,8 @@ class System:
- def blit(self, surf, coords):
- self.background.blit(surf, coords)
-
-- def blit_board(self, (x1, y1, x2, y2)):
-+ def blit_board(self, coords):
-+ (x1, y1, x2, y2) = coords
- x1, y1 = x1 * ITEM_SIZE, y1 * ITEM_SIZE
- x2, y2 = x2 * ITEM_SIZE - x1, y2 * ITEM_SIZE - y1
- surf = data.board.subsurface((x1, y1, x2, y2))
-@@ -454,16 +464,16 @@ class Fonter:
- self.cache.append((m, s, c, t))
- return t
- font = pygame.font.Font(None, size * 2)
-- delta = 2 + size / 8
-+ delta = 2 + size // 8
- black = font.render(msg, 2, (0, 0, 0))
- w, h = black.get_size()
- text = pygame.Surface((w + delta, h + delta)).convert_alpha()
- text.fill((0, 0, 0, 0))
- for x, y in [(5, 5), (6, 3), (5, 1), (3, 0),
- (1, 1), (0, 3), (1, 5), (3, 6)]:
-- text.blit(black, (x * delta / 6, y * delta / 6))
-+ text.blit(black, (x * delta // 6, y * delta // 6))
- white = font.render(msg, 2, color)
-- text.blit(white, (delta / 2, delta / 2))
-+ text.blit(white, (delta // 2, delta // 2))
- text = pygame.transform.rotozoom(text, 0.0, 0.5)
- self.cache.append((msg, size, color, text))
- if len(self.cache) > self.size:
-@@ -492,7 +502,7 @@ class Game:
- self.win_timer = 0
- self.warning_timer = 0
- self.switch_timer = 0
-- self.level_timer = SCROLL_DELAY / 2
-+ self.level_timer = SCROLL_DELAY // 2
- self.board_timer = 0
- self.missed = False
- self.check_moves = False
-@@ -527,11 +537,11 @@ class Game:
- #self.board[randint(3, 4)][0] = ITEM_METAL
-
- def fill_board(self):
-- for y in xrange(BOARD_HEIGHT - 1, -1, -1):
-- for x in xrange(BOARD_WIDTH - 1, -1, -1):
-+ for y in range(BOARD_HEIGHT - 1, -1, -1):
-+ for x in range(BOARD_WIDTH - 1, -1, -1):
- if self.board[x][y] != ITEM_NONE:
- continue
-- for y2 in xrange(y - 1, -1, -1):
-+ for y2 in range(y - 1, -1, -1):
- if self.board[x][y2] != ITEM_NONE:
- self.board[x][y] = self.board[x][y2]
- self.extra_offset[x][y] = (0, ITEM_SIZE * (y2 - y))
-@@ -683,7 +693,7 @@ class Game:
- system.blit(data.board, (24, 24))
- # Have a random piece blink
- c = randint(0, BOARD_WIDTH - 1), randint(0, BOARD_HEIGHT - 1)
-- if randint(0, 5) is 0 and not self.blink_list.has_key(c):
-+ if randint(0, 5) is 0 and c not in self.blink_list:
- self.blink_list[c] = 5
- # Handle special scrolling cases
- if self.level_timer:
-@@ -692,14 +702,14 @@ class Game:
- timer = self.board_timer
- else:
- timer = 0
-- if timer > SCROLL_DELAY / 2:
-+ if timer > SCROLL_DELAY // 2:
- global_xoff = 0
- yoff = (SCROLL_DELAY - timer) * (SCROLL_DELAY - timer)
-- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
-+ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
- elif timer > 0:
- global_xoff = 0
- yoff = - timer * timer
-- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
-+ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
- else:
- global_xoff = 0
- global_yoff = 0
-@@ -725,15 +735,15 @@ class Game:
- xoff, yoff = self.extra_offset[i][j]
- if self.lost_timer:
- d = LOST_DELAY - self.lost_timer
-- xoff += (i * 2 - 7) * 4 * d / LOST_DELAY
-- yoff += (j * 2 - 7) * 4 * d / LOST_DELAY
-- xoff += (j * 2 - 7) * 4 * d / LOST_DELAY
-- yoff += (-i * 2 + 7) * 4 * d / LOST_DELAY
-+ xoff += (i * 2 - 7) * 4 * d // LOST_DELAY
-+ yoff += (j * 2 - 7) * 4 * d // LOST_DELAY
-+ xoff += (j * 2 - 7) * 4 * d // LOST_DELAY
-+ yoff += (-i * 2 + 7) * 4 * d // LOST_DELAY
- xoff += (randint(0, d) - randint(0, d))
- yoff += (randint(0, d) - randint(0, d))
- self.extra_offset[i][j] = xoff, yoff
- elif yoff and self.win_timer:
-- yoff = yoff * (self.win_timer - 1) / (WIN_DELAY * 2 / 3)
-+ yoff = yoff * (self.win_timer - 1) // (WIN_DELAY * 2 // 3)
- self.extra_offset[i][j] = xoff, yoff
- xoff += global_xoff
- yoff += global_yoff
-@@ -744,17 +754,17 @@ class Game:
- shape = data.metal
- elif n >= ITEM_PUZZLE:
- shape = data.puzzle[puzzlevels[self.level - 1][2]][n - ITEM_PUZZLE]
-- elif self.level_timer and self.level_timer < SCROLL_DELAY / 2:
-+ elif self.level_timer and self.level_timer < SCROLL_DELAY // 2:
- shape = data.blink[n]
- elif (i, j) in self.surprised_list \
-- or self.board_timer > SCROLL_DELAY / 2 \
-- or self.level_timer > SCROLL_DELAY / 2:
-+ or self.board_timer > SCROLL_DELAY // 2 \
-+ or self.level_timer > SCROLL_DELAY // 2:
- shape = data.surprise[n]
- elif (i, j) in self.disappear_list:
- shape = data.exploded[n]
- elif n == self.angry_items:
- shape = data.angry[n]
-- elif self.blink_list.has_key((i, j)):
-+ elif (i, j) in self.blink_list:
- shape = data.blink[n]
- self.blink_list[i, j] -= 1
- if self.blink_list[i, j] is 0: del self.blink_list[i, j]
-@@ -771,7 +781,8 @@ class Game:
- if self.select:
- system.blit(data.selector, select_coord)
-
-- def piece_draw(self, sprite, (x, y)):
-+ def piece_draw(self, sprite, pos):
-+ (x, y) = pos
- width = ITEM_SIZE
- crop = sprite.subsurface
- # Constrain X
-@@ -806,7 +817,7 @@ class Game:
- # Draw timebar
- timebar = pygame.Surface((406, 32)).convert_alpha()
- timebar.fill((0, 0, 0, 155))
-- w = 406 * self.time / 2000000
-+ w = 406 * self.time // 2000000
- if w > 0:
- if self.warning_timer:
- ratio = 1.0 * abs(2 * self.warning_timer - WARNING_DELAY) \
-@@ -829,15 +840,15 @@ class Game:
- pass
- else:
- for x in range(4):
-- for y, p in enumerate(alpha[x]):
-- alpha[x][y] = p * x / 4
-- for y, p in enumerate(alpha[406 - x - 1]):
-- alpha[406 - x - 1][y] = p * x / 4
-+ for y in range(len(alpha[x])):
-+ alpha[x][y] = alpha[x][y] * x // 4
-+ for y in range(len(alpha[406 - x - 1])):
-+ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 4
- for col in alpha:
- l = len(col)
- for y in range(4):
-- col[y] = col[y] * y / 4
-- col[l - y - 1] = col[l - y - 1] * y / 4
-+ col[y] = col[y] * y // 4
-+ col[l - y - 1] = col[l - y - 1] * y // 4
- del col
- del alpha
- timebar.unlock()
-@@ -846,7 +857,7 @@ class Game:
- # Print play again message
- text = fonter.render('GAME OVER', 80)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
- if self.score < 5000:
- msg = 'YUO = TEH L0SER'
- elif self.score < 15000:
-@@ -857,13 +868,13 @@ class Game:
- msg = 'ZOMFG!!!111!!! YUO PWND!!!%$#@%@#'
- text = fonter.render(msg, 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 240 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 240 - h // 2))
- elif self.paused:
- # Draw pause message
- system.blit(self.pause_bitmap, (72, 24))
- text = fonter.render('PAUSED', 120)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 336 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 336 - h // 2))
- elif self.splash:
- if self.type == GAME_TRAINING:
- msg = 'TRAINING'
-@@ -871,7 +882,7 @@ class Game:
- msg = 'LEVEL ' + str(self.level)
- text = fonter.render(msg, 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 144 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 144 - h // 2))
- if self.needed[0]:
- msg = 'MONSTERS NEEDED: ' + str(self.needed[0])
- elif self.type == GAME_PUZZLE:
-@@ -884,24 +895,24 @@ class Game:
- if self.lucky != -1:
- text = fonter.render('LUCKY MONSTER:', 40)
- w, h = text.get_rect().size
-- system.blit(text, (192 - w / 2 - 8, 24 + 288 - h / 2))
-- system.blit(data.normal[self.lucky], (192 + w / 2, 288))
-+ system.blit(text, (192 - w // 2 - 8, 24 + 288 - h // 2))
-+ system.blit(data.normal[self.lucky], (192 + w // 2, 288))
- elif self.lost_timer != -1:
- # Draw pieces
- self.board_draw()
- # Print new level stuff
-- if self.level_timer > SCROLL_DELAY / 2:
-+ if self.level_timer > SCROLL_DELAY // 2:
- if self.type == GAME_PUZZLE:
- text = fonter.render('COMPLETED!', 80)
- else:
- text = fonter.render('LEVEL UP!', 80)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
- # When no more moves are possible
-- if self.board_timer > SCROLL_DELAY / 2:
-+ if self.board_timer > SCROLL_DELAY // 2:
- text = fonter.render('NO MORE MOVES!', 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
- # Print bonus
- for b in self.bonus_list:
- if b[2]:
-@@ -910,7 +921,7 @@ class Game:
- text = fonter.render(str(b[1]), 36)
- w, h = text.get_rect().size
- x, y = data.board2screen(b[0])
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- # Print hint arrow
- if self.show_move:
- lookup = [0, 1, 5, 16, 27, 31, 32, 31, 27, 16, 5, 1]
-@@ -918,8 +929,8 @@ class Game:
- x1, y1 = data.board2screen(src)
- x2, y2 = data.board2screen(dst)
- delta = lookup[monsterz.timer % 12]
-- x = -32 + (x1 * delta + x2 * (32 - delta)) / 32
-- y = 32 + (y1 * delta + y2 * (32 - delta)) / 32
-+ x = -32 + (x1 * delta + x2 * (32 - delta)) // 32
-+ y = 32 + (y1 * delta + y2 * (32 - delta)) // 32
- system.blit(data.arrow, (x, y))
- break # Only show one move
- # Print score
-@@ -928,7 +939,7 @@ class Game:
- system.blit(text, (624 - w, 10))
- # Print done/needed
- for i in range(self.population):
-- x = 440 + i / 4 * 90
-+ x = 440 + i // 4 * 90
- y = 64 + (i % 4) * 38
- if self.done[i] >= self.needed[i]:
- surf = data.tiny[i]
-@@ -954,15 +965,15 @@ class Game:
- led, color = data.led_on, (255, 255, 255)
- else:
- led, color = data.led_off, (180, 150, 127)
-- c = map(lambda a, b: b - (b - a) * self.psat[0] / 255, r, color)
-+ c = list(map(lambda a, b: b - (b - a) * self.psat[0] // 255, r, color))
- system.blit(led, (440, 298))
- system.blit(fonter.render('PAUSE', 30, c), (470, 296))
- color = (180, 150, 127)
-- c = map(lambda a, b: b - (b - a) * self.psat[1] / 255, r, color)
-+ c = list(map(lambda a, b: b - (b - a) * self.psat[1] // 255, r, color))
- system.blit(fonter.render('ABORT', 30, c), (470, 326))
- for x in range(2):
- if self.psat[x]:
-- self.psat[x] = self.psat[x] * 8 / 10
-+ self.psat[x] = self.psat[x] * 8 // 10
-
- def pause(self):
- # TODO: prevent cheating by not allowing less than 1 second
-@@ -980,7 +991,7 @@ class Game:
-
- def update(self):
- ticks = pygame.time.get_ticks()
-- delta = (ticks - self.oldticks) * 450 / (12 - self.speed)
-+ delta = (ticks - self.oldticks) * 450 // (12 - self.speed)
- self.oldticks = ticks
- # If paused, do nothing
- if self.paused:
-@@ -990,7 +1001,7 @@ class Game:
- # Resolve winning moves and chain reactions
- if self.board_timer:
- self.board_timer -= 1
-- if self.board_timer is SCROLL_DELAY / 2:
-+ if self.board_timer is SCROLL_DELAY // 2:
- self.new_board()
- elif self.board_timer is 0:
- system.play('boing')
-@@ -1035,7 +1046,7 @@ class Game:
- return
- if self.level_timer:
- self.level_timer -= 1
-- if self.level_timer is SCROLL_DELAY / 2:
-+ if self.level_timer is SCROLL_DELAY // 2:
- self.level += 1
- if self.type == GAME_PUZZLE:
- if self.level > len(puzzlevels):
-@@ -1055,7 +1066,7 @@ class Game:
- for w in self.wins:
- for x, y in w:
- self.surprised_list.append((x, y))
-- elif self.win_timer is WIN_DELAY * 4 / 5:
-+ elif self.win_timer is WIN_DELAY * 4 // 5:
- system.play('pop')
- self.scorebonus = 0
- self.timebonus = 0
-@@ -1076,10 +1087,10 @@ class Game:
- for x, y in w:
- x2 += x
- y2 += y
-- self.bonus_list.append([(x2 / len(w), y2 / len(w)), points, lucky])
-+ self.bonus_list.append([(x2 // len(w), y2 // len(w)), points, lucky])
- self.disappear_list = self.surprised_list
- self.surprised_list = []
-- elif self.win_timer is WIN_DELAY * 3 / 5:
-+ elif self.win_timer is WIN_DELAY * 3 // 5:
- for x, y in self.disappear_list:
- if self.board[x][y] != ITEM_NONE:
- self.done[self.board[x][y]] += 1
-@@ -1095,7 +1106,7 @@ class Game:
- self.angry_items = angry
- self.disappear_list = []
- self.bonus_list = []
-- elif self.win_timer is WIN_DELAY * 2 / 5:
-+ elif self.win_timer is WIN_DELAY * 2 // 5:
- self.time += self.timebonus
- if self.time > 2000000:
- self.time = 2000000
-@@ -1192,7 +1203,7 @@ class Game:
- self.will_play = move
- min = self.done[color]
- self.ai_timer = 15 - self.level
-- if self.ai_timer is (15 - self.level) / 2:
-+ if self.ai_timer is (15 - self.level) // 2:
- self.clicks.append(self.will_play[0])
- elif self.ai_timer is 0:
- self.clicks.append(self.will_play[1])
-@@ -1287,10 +1298,10 @@ class Monsterz:
- pass
- else:
- for x in range(10):
-- for y, p in enumerate(alpha[x]):
-- alpha[x][y] = p * x / 12
-- for y, p in enumerate(alpha[406 - x - 1]):
-- alpha[406 - x - 1][y] = p * x / 12
-+ for y in range(len(alpha[x])):
-+ alpha[x][y] = alpha[x][y] * x // 12
-+ for y in range(len(alpha[406 - x - 1])):
-+ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 12
- del alpha
- scroll.unlock()
- system.blit(scroll, (13, 437))
-@@ -1321,26 +1332,26 @@ class Monsterz:
- led, color = data.led_on, (255, 255, 255)
- else:
- led, color = data.led_off, (180, 150, 127)
-- c = map(lambda a, b: b - (b - a) * self.gsat[0] / 255, r, color)
-+ c = list(map(lambda a, b: b - (b - a) * self.gsat[0] // 255, r, color))
- system.blit(led, (440, 378))
- system.blit(fonter.render('SOUND FX', 30, c), (470, 376))
- if settings.get('music'):
- led, color = data.led_on, (255, 255, 255)
- else:
- led, color = data.led_off, (180, 150, 127)
-- c = map(lambda a, b: b - (b - a) * self.gsat[1] / 255, r, color)
-+ c = list(map(lambda a, b: b - (b - a) * self.gsat[1] // 255, r, color))
- system.blit(led, (440, 408))
- system.blit(fonter.render('MUSIC', 30, c), (470, 406))
- if settings.get('fullscreen'):
- led, color = data.led_on, (255, 255, 255)
- else:
- led, color = data.led_off, (180, 150, 127)
-- c = map(lambda a, b: b - (b - a) * self.gsat[2] / 255, r, color)
-+ c = list(map(lambda a, b: b - (b - a) * self.gsat[2] // 255, r, color))
- system.blit(led, (440, 438))
- system.blit(fonter.render('FULLSCREEN', 30, c), (470, 436))
- for x in range(3):
- if self.gsat[x]:
-- self.gsat[x] = self.gsat[x] * 8 / 10
-+ self.gsat[x] = self.gsat[x] * 8 // 10
-
- def generic_event(self, event):
- if event.type == QUIT:
-@@ -1398,7 +1409,7 @@ class Monsterz:
- self.marea = marea
- # Print logo and menu
- w, h = data.logo.get_size()
-- system.blit(data.logo, (24 + 192 - w / 2, 24 + 96 - h / 2))
-+ system.blit(data.logo, (24 + 192 - w // 2, 24 + 96 - h // 2))
- for x in range(4):
- if self.msat[x] > 180:
- monster = data.surprise[shapes[x]]
-@@ -1407,12 +1418,12 @@ class Monsterz:
- else:
- monster = data.blink[shapes[x]]
- system.blit(monster, data.board2screen((1, 4 + x)))
-- c = map(lambda a: 255 - (255 - a) * self.msat[x] / 255, colors[x])
-+ c = list(map(lambda a: 255 - (255 - a) * self.msat[x] // 255, colors[x]))
- text = fonter.render(messages[x], 48, c)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h / 2))
-+ system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h // 2))
- if self.msat[x]:
-- self.msat[x] = self.msat[x] * 8 / 10
-+ self.msat[x] = self.msat[x] * 8 // 10
- # Handle events
- for event in pygame.event.get():
- if self.generic_event(event):
-@@ -1479,32 +1490,32 @@ class Monsterz:
- # Print menu
- text = fonter.render('GAME TYPE', 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
- for i in range(4):
-- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
-+ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
- text = fonter.render(messages[i], 48, c)
- w, h = text.get_rect().size
-- system.blit(text, (24 + ITEM_SIZE * 4 - w / 2, 24 + 120 + ITEM_SIZE * i - h / 2))
-+ system.blit(text, (24 + ITEM_SIZE * 4 - w // 2, 24 + 120 + ITEM_SIZE * i - h // 2))
- if self.nsat[i]:
-- self.nsat[i] = self.nsat[i] * 8 / 10
-+ self.nsat[i] = self.nsat[i] * 8 // 10
- for i in range(4, 8):
-- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
-+ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
- if i % 2:
- img = data.led_more
- x = 320
- else:
- img = data.led_less
- x = 88
-- y = 36 + ITEM_SIZE * (6 + (i - 4) / 2)
-+ y = 36 + ITEM_SIZE * (6 + (i - 4) // 2)
- system.blit(img, (x, y))
- if self.nsat[i]:
-- self.nsat[i] = self.nsat[i] * 8 / 10
-+ self.nsat[i] = self.nsat[i] * 8 // 10
- # Print wanted monsterz
- for i in range(items):
-- system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i / (items - 1), 24 + ITEM_SIZE * 6))
-+ system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i // (items - 1), 24 + ITEM_SIZE * 6))
- text = fonter.render('DIFFICULTY ' + str(difficulty), 36)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + ITEM_SIZE * 7 + 24 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + ITEM_SIZE * 7 + 24 - h // 2))
- # Handle events
- for event in pygame.event.get():
- if self.generic_event(event):
-@@ -1610,18 +1621,18 @@ class Monsterz:
- # Title
- text = fonter.render('INSTRUCTIONS (' + str(self.page) + ')', 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
- if self.page == 1:
- # Explanation 1
- text = fonter.render('SWAP ADJACENT MONSTERS TO CREATE', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 84 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 84 - h // 2))
- text = fonter.render('ALIGNMENTS OF THREE OR MORE. NEW', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 108 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 108 - h // 2))
- text = fonter.render('MONSTERS WILL FILL THE HOLES.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 132 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 132 - h // 2))
- # Iter 1
- system.blit_board((0, 3, 2, 7))
- system.blit(data.normal[2], data.board2screen((0, 3)))
-@@ -1658,22 +1669,22 @@ class Monsterz:
- text = fonter.render('10', 36)
- w, h = text.get_rect().size
- x, y = data.board2screen((7, 4))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- # Explanation 2
- text = fonter.render('CREATE CHAIN REACTIONS TO GET TWICE', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 348 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 348 - h // 2))
- text = fonter.render('AS MANY POINTS, THEN 4x, 8x ETC.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 372 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 372 - h // 2))
- elif self.page == 2:
- # Explanation 1
- text = fonter.render('THE LUCKY MONSTER EARNS YOU TWICE', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 108 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 108 - h // 2))
- text = fonter.render('AS MANY POINTS AS OTHER MONSTERS.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 132 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 132 - h // 2))
- shape = data.special[self.timer % 7]
- # Print done/needed
- system.blit_board((0, 3, 4, 5))
-@@ -1697,15 +1708,15 @@ class Monsterz:
- text = fonter.render('140', 48, rainbow[monsterz.timer % 6])
- w, h = text.get_rect().size
- x, y = data.board2screen((2, 6))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- text = fonter.render('70', 36)
- w, h = text.get_rect().size
- x, y = data.board2screen((1, 7))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- for i in range(4):
- surf = data.tiny[i + 1]
- count = 3 + i * 2
-- x = 24 + 240 + 4 + i / 2 * 70
-+ x = 24 + 240 + 4 + i // 2 * 70
- y = 172 + (i % 2) * 38
- for dummy in range(2):
- system.blit(surf, (x, y))
-@@ -1722,13 +1733,13 @@ class Monsterz:
- # Explanation 1
- text = fonter.render('YOU CAN ALWAYS PERFORM A VALID MOVE.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 84 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 84 - h // 2))
- text = fonter.render('WHEN NO MORE MOVES ARE POSSIBLE, YOU', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 108 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 108 - h // 2))
- text = fonter.render('GET A COMPLETE NEW BOARD.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 132 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 132 - h // 2))
- # Surprised
- system.blit_board((0, 3, 8, 5))
- for x in range(8):
-@@ -1736,29 +1747,29 @@ class Monsterz:
- system.blit(data.surprise[(x * 7) % 8], data.board2screen((x, 4)))
- text = fonter.render('NO MORE MOVES!', 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
- # Explanation 2
- text = fonter.render('USE THE EYE TO FIND WHERE TO PLAY.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6 + 48, 24 + 300 - h / 2))
-+ system.blit(text, (24 + 6 + 48, 24 + 300 - h // 2))
- text = fonter.render('EACH 10,000 POINTS YOU GET A NEW', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6 + 48, 24 + 324 - h / 2))
-+ system.blit(text, (24 + 6 + 48, 24 + 324 - h // 2))
- text = fonter.render('EYE. YOU CAN\'T HAVE MORE THAN 3.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6 + 48, 24 + 348 - h / 2))
-+ system.blit(text, (24 + 6 + 48, 24 + 348 - h // 2))
- system.blit(data.eye, (24 + 6, 24 + 306))
- elif self.page == 4:
- # Explanation 1
- text = fonter.render('WHEN ONLY ONE KIND OF MONSTER IS', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 84 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 84 - h // 2))
- text = fonter.render('NEEDED TO FINISH THE LEVEL, MONSTERS', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 108 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 108 - h // 2))
- text = fonter.render('OF THAT KIND GET AN ANGRY FACE.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 132 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 132 - h // 2))
- # Print done/needed
- system.blit_board((0, 3, 4, 5))
- for i in range(4):
-@@ -1770,7 +1781,7 @@ class Monsterz:
- big = data.angry[i + 4]
- system.blit(big, data.board2screen((i, 3 + (i % 2))))
- system.blit(big, data.board2screen(((i + 2) % 4, 3 + ((i + 1) % 2))))
-- x = 24 + 240 + 4 + i / 2 * 70
-+ x = 24 + 240 + 4 + i // 2 * 70
- y = 172 + (i % 2) * 38
- system.blit(surf, (x, y))
- text = fonter.render(str(i * 3), 36)
-@@ -1778,10 +1789,10 @@ class Monsterz:
- # Explanation 2
- text = fonter.render('CLICK ON THE BONUS TO REMOVE ALL', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 252 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 252 - h // 2))
- text = fonter.render('MONSTERS OF A RANDOM KIND.', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 276 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 276 - h // 2))
- shape = data.special[self.timer % 7]
- # Iter 1
- system.blit_board((0, 6, 3, 8))
-@@ -1802,22 +1813,22 @@ class Monsterz:
- text = fonter.render('10', 36)
- w, h = text.get_rect().size
- x, y = data.board2screen((4, 7))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- x, y = data.board2screen((5, 6))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- x, y = data.board2screen((6, 6))
-- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
-+ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
- elif self.page == 5:
- # Explanation 1
- text = fonter.render('IN PUZZLE MODE, PUT TOGETHER THE', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 84 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 84 - h // 2))
- text = fonter.render('PUZZLE BY MOVING PIECES AROUND. BE', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 108 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 108 - h // 2))
- text = fonter.render('CAREFUL NOT TO GET STUCK!', 24)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 6, 24 + 132 - h / 2))
-+ system.blit(text, (24 + 6, 24 + 132 - h // 2))
- # Iter 1
- system.blit_board((0, 3, 2, 8))
- system.blit(data.normal[2], data.board2screen((0, 3)))
-@@ -1876,19 +1887,19 @@ class Monsterz:
- self.copyright_draw()
- text = fonter.render('HIGH SCORES', 60)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
-+ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
- # Print our list
- for x in range(10):
- name, score, level = settings.scores['CLASSIC'][x]
- text = fonter.render(str(x + 1) + '. ' + name.upper(), 32)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 24, 24 + 72 + 32 * x - h / 2))
-+ system.blit(text, (24 + 24, 24 + 72 + 32 * x - h // 2))
- text = fonter.render(str(score), 32)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h / 2))
-+ system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h // 2))
- text = fonter.render(str(level), 32)
- w, h = text.get_rect().size
-- system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h / 2))
-+ system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h // 2))
- # Handle events
- for event in pygame.event.get():
- if self.generic_event(event):
-@@ -1903,39 +1914,39 @@ class Monsterz:
- return
-
- def version():
-- print 'monsterz ' + VERSION
-- print 'Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,'
-- print 'Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike'
-- print 'Kershaw and Sam Hocevar.'
-- print
-- print 'Copyright (C) 2005, 2006 Sam Hocevar <sam@zoy.org>'
-- print ' (C) 1998 MenTaLguY <mental@rydia.net>'
-- print ' (C) 2002, 2005 Sun Microsystems, Inc.'
-- print ' (C) Michael Speck <kulkanie@gmx.net>'
-- print ' (C) 2003 by David White <davidnwhite@optusnet.com.au> and the'
-- print ' Battle for Wesnoth project'
-- print ' (C) Mike Kershaw <dragorn@kismetwireless.net>'
-+ print('monsterz ' + VERSION)
-+ print('Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,')
-+ print('Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike')
-+ print('Kershaw and Sam Hocevar.')
-+ print()
-+ print('Copyright (C) 2005, 2006 Sam Hocevar <sam@zoy.org>')
-+ print(' (C) 1998 MenTaLguY <mental@rydia.net>')
-+ print(' (C) 2002, 2005 Sun Microsystems, Inc.')
-+ print(' (C) Michael Speck <kulkanie@gmx.net>')
-+ print(' (C) 2003 by David White <davidnwhite@optusnet.com.au> and the')
-+ print(' Battle for Wesnoth project')
-+ print(' (C) Mike Kershaw <dragorn@kismetwireless.net>')
-
-- print 'This program is free software; you can redistribute it and/or modify it under'
-- print 'the terms of the Do What The Fuck You Want To Public License, Version 2, as'
-- print 'published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.'
-- print 'The sound effects are released under their own licences: applause.wav and'
-- print 'pop.wav are covered by the LGPL, the others are covered by the GPL.'
-+ print('This program is free software; you can redistribute it and/or modify it under')
-+ print('the terms of the Do What The Fuck You Want To Public License, Version 2, as')
-+ print('published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.')
-+ print('The sound effects are released under their own licences: applause.wav and')
-+ print('pop.wav are covered by the LGPL, the others are covered by the GPL.')
-
- def usage():
-- print 'Usage: monsterz [OPTION]...'
-- print
-- print 'Options'
-- print ' -h, --help display this help and exit'
-- print ' -v, --version display version information and exit'
-- print ' -f, --fullscreen start in full screen mode'
-- print ' -m, --nomusic disable music'
-- print ' -s, --nosfx disable sound effects'
-- print ' --outfd <fd> output scores to file descriptor <fd>'
-- print ' --data <dir> set alternate data directory to <dir>'
-- print ' --score <file> set score file to <file>'
-- print
-- print 'Report bugs or suggestions to <sam@zoy.org>.'
-+ print('Usage: monsterz [OPTION]...')
-+ print()
-+ print('Options')
-+ print(' -h, --help display this help and exit')
-+ print(' -v, --version display version information and exit')
-+ print(' -f, --fullscreen start in full screen mode')
-+ print(' -m, --nomusic disable music')
-+ print(' -s, --nosfx disable sound effects')
-+ print(' --outfd <fd> output scores to file descriptor <fd>')
-+ print(' --data <dir> set alternate data directory to <dir>')
-+ print(' --score <file> set score file to <file>')
-+ print()
-+ print('Report bugs or suggestions to <sam@zoy.org>.')
-
- def main():
- from getopt import getopt, GetoptError
-@@ -1967,7 +1978,7 @@ def main():
- elif opt in ('--outfd'):
- try:
- outfd = int(arg)
-- write(outfd, '\n')
-+ write(outfd, b'\n')
- except:
- outfd = None
- elif opt in ('--data'):
-@@ -1982,7 +1993,7 @@ def main():
- try:
- data = Data(sharedir)
- except:
-- print argv[0] + ': could not open data from `' + sharedir + "'."
-+ print(argv[0] + ': could not open data from `' + sharedir + "'.")
- raise
- fonter = Fonter()
- monsterz = Monsterz()
diff --git a/games/monsterz/pkg-plist b/games/monsterz/pkg-plist
index 53fb909507b9..7c7f758f17be 100644
--- a/games/monsterz/pkg-plist
+++ b/games/monsterz/pkg-plist
@@ -21,5 +21,4 @@
%%DATADIR%%/sound/pop.wav
%%DATADIR%%/sound/warning.wav
%%DATADIR%%/sound/whip.wav
-share/pixmaps/monsterz.png
-@sample(,games,664) %%SCOREDIR%%/monsterz.sample
+@sample(games,games,664) %%SCOREDIR%%/monsterz.sample
diff --git a/games/nsnake/Makefile b/games/nsnake/Makefile
index 483a14cae671..a53792247b90 100644
--- a/games/nsnake/Makefile
+++ b/games/nsnake/Makefile
@@ -1,6 +1,5 @@
PORTNAME= nsnake
-DISTVERSION= 2.2.0
-PORTREVISION= 1
+PORTVERSION= 3.0.0
CATEGORIES= games
MASTER_SITES= http://releases.malikania.fr/nsnake/${PORTVERSION}/
@@ -15,13 +14,8 @@ USES= ncurses tar:xz
OPTIONS_DEFINE= DOCS
OPTIONS_SUB= yes
-MAKE_ENV= CC="$CC" \
- CFLAGS+="$CFLAGS" \
- LDFLAGS+="$LDFLAGS"
+MAKE_ARGS= VARDIR="/var"
-post-patch:
- @${REINPLACE_CMD} -e 's|VARDIR=.*|VARDIR=/var|' \
- ${WRKSRC}/config.mk
do-install:
(cd ${WRKSRC} \
&& ${INSTALL_PROGRAM} ${PORTNAME} ${STAGEDIR}${PREFIX}/bin \
diff --git a/games/nsnake/distinfo b/games/nsnake/distinfo
index 94531bf989b3..5d14bbb645bf 100644
--- a/games/nsnake/distinfo
+++ b/games/nsnake/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1572999406
-SHA256 (nsnake-2.2.0.tar.xz) = 3e4b118168ad9702a8a855438409d0a866f7069b3b6b76c1eba292da2fbef27e
-SIZE (nsnake-2.2.0.tar.xz) = 9232
+TIMESTAMP = 1624266603
+SHA256 (nsnake-3.0.0.tar.xz) = 5e57108d5ca9b7be26b421efb4a3a0918ba40ed5344db772570d71ba9f825f03
+SIZE (nsnake-3.0.0.tar.xz) = 7908
diff --git a/games/openclonk/Makefile b/games/openclonk/Makefile
index 1ba4b2897144..9f64ad7147eb 100644
--- a/games/openclonk/Makefile
+++ b/games/openclonk/Makefile
@@ -1,6 +1,6 @@
PORTNAME= openclonk
DISTVERSION= 8.1
-PORTREVISION= 5
+PORTREVISION= 6
DISTVERSIONSUFFIX= -src
CATEGORIES= games
MASTER_SITES= http://www.openclonk.org/builds/release/${DISTVERSION}/
diff --git a/games/openrct2/Makefile b/games/openrct2/Makefile
index ce9649b4af46..0f4346d0bcd1 100644
--- a/games/openrct2/Makefile
+++ b/games/openrct2/Makefile
@@ -1,9 +1,9 @@
PORTNAME= openrct2
DISTVERSIONPREFIX= v
-DISTVERSION= 0.4.17
+DISTVERSION= 0.4.18
CATEGORIES= games
MASTER_SITES= https://github.com/OpenRCT2/title-sequences/releases/download/v0.4.14/:sequence \
- https://github.com/OpenRCT2/objects/releases/download/v1.4.11/:object \
+ https://github.com/OpenRCT2/objects/releases/download/v1.4.12/:object \
https://github.com/OpenRCT2/OpenMusic/releases/download/v1.6/:openmsx \
https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v1.0.5/:opensfx
DISTFILES= title-sequences.zip:sequence \
diff --git a/games/openrct2/distinfo b/games/openrct2/distinfo
index b3d6175ecb46..89b1824d5324 100644
--- a/games/openrct2/distinfo
+++ b/games/openrct2/distinfo
@@ -1,11 +1,11 @@
-TIMESTAMP = 1733688342
+TIMESTAMP = 1736519442
SHA256 (title-sequences.zip) = 140df714e806fed411cc49763e7f16b0fcf2a487a57001d1e50fce8f9148a9f3
SIZE (title-sequences.zip) = 7791573
-SHA256 (objects.zip) = fd0fed611565710f79b136958100362a8c37211467f74b85126a3a2ea35e4f78
-SIZE (objects.zip) = 7522312
+SHA256 (objects.zip) = 6417dad971674e5cf39bf56e83e04e4086547145e3fac696f163037fe841e7be
+SIZE (objects.zip) = 7599482
SHA256 (openmusic.zip) = f097d3a4ccd39f7546f97db3ecb1b8be73648f53b7a7595b86cccbdc1a7557e4
SIZE (openmusic.zip) = 42921141
SHA256 (opensound.zip) = a952148be164c128e4fd3aea96822e5f051edd9a0b1f2c84de7f7628ce3b2e18
SIZE (opensound.zip) = 4012384
-SHA256 (OpenRCT2-OpenRCT2-v0.4.17_GH0.tar.gz) = 991c4a3eb599439e09715bd36ea0de42a11215edff4e5576304dc38524a6ab8d
-SIZE (OpenRCT2-OpenRCT2-v0.4.17_GH0.tar.gz) = 22624136
+SHA256 (OpenRCT2-OpenRCT2-v0.4.18_GH0.tar.gz) = 2dd45609053e74a8b2043869b4163d5fe87711c5623d144250368cca0b3b71ae
+SIZE (OpenRCT2-OpenRCT2-v0.4.18_GH0.tar.gz) = 22955683
diff --git a/games/openrct2/pkg-plist b/games/openrct2/pkg-plist
index 4f9506092c86..5a1e8cbbabc7 100644
--- a/games/openrct2/pkg-plist
+++ b/games/openrct2/pkg-plist
@@ -1218,10 +1218,10 @@ share/mime/packages/openrct2.xml
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.ganstrcr.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.gintspdr.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.halofmrs.json
-%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.harpiesx.json
+%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.harpiesx.parkobj
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.hotrodxx.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.hoverbke.json
-%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.hovercar.json
+%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.hovercar.parkobj
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.hovrbord.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.jetpackx.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.jetplane.json
@@ -1233,14 +1233,14 @@ share/mime/packages/openrct2.xml
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.mktstal2.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.moonjuce.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.mythosea.json
-%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.neptunex.json
+%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.neptunex.parkobj
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.oakbarel.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.pegasusx.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.polchase.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.policecr.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.pterodac.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.raptorxx.json
-%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.rivrstyx.json
+%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.rivrstyx.parkobj
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.schoolbs.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.seaplane.json
%%DATADIR%%/object/rct2tt/ride/rct2tt.ride.softoyst.json
diff --git a/games/prismlauncher/Makefile b/games/prismlauncher/Makefile
index 03e2c1dd7fb6..3acf99eb7470 100644
--- a/games/prismlauncher/Makefile
+++ b/games/prismlauncher/Makefile
@@ -1,5 +1,5 @@
PORTNAME= prismlauncher
-DISTVERSION= 9.0
+DISTVERSION= 9.2
CATEGORIES= games java
MAINTAINER= Alexander88207@protonmail.com
diff --git a/games/prismlauncher/distinfo b/games/prismlauncher/distinfo
index fb9016a97316..93781cd25b08 100644
--- a/games/prismlauncher/distinfo
+++ b/games/prismlauncher/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1729522988
-SHA256 (PrismLauncher-PrismLauncher-9.0_GH0.tar.gz) = a881c2d35562c05dd5989e206faf78c706b500f1c8210d59a618c749768d5f87
-SIZE (PrismLauncher-PrismLauncher-9.0_GH0.tar.gz) = 4445113
+TIMESTAMP = 1736886873
+SHA256 (PrismLauncher-PrismLauncher-9.2_GH0.tar.gz) = 2d226646ec65799c34dfdf1ef29a37e98cd23a10b7158b2ec3ebed5b99ba813f
+SIZE (PrismLauncher-PrismLauncher-9.2_GH0.tar.gz) = 4447509
SHA256 (gulrak-filesystem-2fc4b463_GH0.tar.gz) = 270eead1276da3af72e6f1c5b819d0b2a7b24ddc3e4e7a1a0b69ffba8d07228f
SIZE (gulrak-filesystem-2fc4b463_GH0.tar.gz) = 211853
SHA256 (PrismLauncher-libnbtplusplus-23b95512_GH0.tar.gz) = 4393bc210d2025029fc364d761d339c88223a3cdd03b401ebee58d5e3cddb4dc
diff --git a/games/punchy/Makefile b/games/punchy/Makefile
index 1ad3115bc1dd..591faa59e54a 100644
--- a/games/punchy/Makefile
+++ b/games/punchy/Makefile
@@ -1,7 +1,7 @@
PORTNAME= punchy
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.0
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= games wayland
MAINTAINER= jbeich@FreeBSD.org
diff --git a/games/pyspacewar/Makefile b/games/pyspacewar/Makefile
index 855588692d60..ff629c0d6de9 100644
--- a/games/pyspacewar/Makefile
+++ b/games/pyspacewar/Makefile
@@ -1,33 +1,24 @@
PORTNAME= pyspacewar
-PORTVERSION= 1.1.1
-PORTREVISION= 3
+DISTVERSION= 1.2.0
CATEGORIES= games python
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DIST_SUBDIR= python
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= nxjoseph@protonmail.com
COMMENT= Game loosely based on the original Spacewar!
-WWW= https://mg.pov.lt/pyspacewar/
+WWW= https://pypi.org/project/pyspacewar \
+ https://github.com/mgedmin/pyspacewar
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYGAME}
-USE_GITHUB= yes
-GH_ACCOUNT= mgedmin
-#GH_TAGNAME= f872564
-
USES= gnome python
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-PORTDOCS= *.rst
+USE_PYTHON= distutils
-DESKTOP_ENTRIES="PySpaceWar" "" ${PORTNAME} \
- "${PORTNAME}" "Game;ArcadeGame;" ""
-
-OPTIONS_DEFINE= DOCS
+NO_ARCH= yes
post-install:
.for i in 16 22 32 48
@@ -38,9 +29,12 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/src/${PORTNAME}/icons/${PORTNAME}${i}.svg \
${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/${PORTNAME}${i}.svg
.endfor
-
-post-install-DOCS-on:
+ ${INSTALL_DATA} ${WRKSRC}/src/${PORTNAME}/icons/${PORTNAME}32.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop
@${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/*.rst \
+ ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/games/pyspacewar/distinfo b/games/pyspacewar/distinfo
index 472122b5cdb4..065fa0ebffe4 100644
--- a/games/pyspacewar/distinfo
+++ b/games/pyspacewar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1559637128
-SHA256 (python/mgedmin-pyspacewar-1.1.1_GH0.tar.gz) = 490d01d4be1ffbea0f8e04d310b8b4b5663819eb02ab61a940f2b80777b75ba3
-SIZE (python/mgedmin-pyspacewar-1.1.1_GH0.tar.gz) = 240229
+TIMESTAMP = 1736715394
+SHA256 (python/pyspacewar-1.2.0.tar.gz) = 0f0ac2a00597d157ec966c5b74cca08bf9ad852b57efaae30c5044cb5b3dfaee
+SIZE (python/pyspacewar-1.2.0.tar.gz) = 1011889
diff --git a/games/pyspacewar/pkg-plist b/games/pyspacewar/pkg-plist
index b88dbdc014b7..823b285dcc29 100644
--- a/games/pyspacewar/pkg-plist
+++ b/games/pyspacewar/pkg-plist
@@ -1,3 +1,67 @@
+bin/pyspacewar
+%%PYTHON_SITELIBDIR%%/pyspacewar/__init__.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/ai%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/ai%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/game%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/game%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/main%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/main%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/ui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/ui%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/version%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/version%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/world%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/__pycache__/world%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/pyspacewar/ai.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/fonts/LICENSE.txt
+%%PYTHON_SITELIBDIR%%/pyspacewar/fonts/NotoSans-Bold.ttf
+%%PYTHON_SITELIBDIR%%/pyspacewar/fonts/NotoSans-BoldItalic.ttf
+%%PYTHON_SITELIBDIR%%/pyspacewar/fonts/NotoSans-Italic.ttf
+%%PYTHON_SITELIBDIR%%/pyspacewar/fonts/NotoSans-Regular.ttf
+%%PYTHON_SITELIBDIR%%/pyspacewar/game.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/README.txt
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar-gallery.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar16.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar16.svg
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar22.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar22.svg
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar32.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar32.svg
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar48.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/icons/pyspacewar48.svg
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/README.txt
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/background.jpg
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/planet_D3.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/planet_E0.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/planet_G0.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/planet_G2.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/planet_I0.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/images/title.png
+%%PYTHON_SITELIBDIR%%/pyspacewar/main.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/music/README.txt
+%%PYTHON_SITELIBDIR%%/pyspacewar/music/music.ini
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/Grenade2.au
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/Grenade2.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/Gun_Silencer.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/Pink_Noise1.au
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/Pink_Noise1.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/README.txt
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/bomb.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/briefcs1.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/coin2.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/electricshock.wav
+%%PYTHON_SITELIBDIR%%/pyspacewar/sounds/sounds.ini
+%%PYTHON_SITELIBDIR%%/pyspacewar/ui.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/version.py
+%%PYTHON_SITELIBDIR%%/pyspacewar/world.py
+share/applications/pyspacewar.desktop
+%%DOCSDIR%%/NEWS.rst
+%%DOCSDIR%%/README.rst
+%%DOCSDIR%%/RELEASE.rst
+%%DOCSDIR%%/TODO.rst
+%%DOCSDIR%%/performance-notes.rst
share/icons/hicolor/16x16/apps/pyspacewar.png
share/icons/hicolor/22x22/apps/pyspacewar.png
share/icons/hicolor/32x32/apps/pyspacewar.png
@@ -6,3 +70,4 @@ share/icons/hicolor/scalable/apps/pyspacewar16.svg
share/icons/hicolor/scalable/apps/pyspacewar22.svg
share/icons/hicolor/scalable/apps/pyspacewar32.svg
share/icons/hicolor/scalable/apps/pyspacewar48.svg
+share/pixmaps/pyspacewar.png
diff --git a/games/rocksndiamonds/Makefile b/games/rocksndiamonds/Makefile
index a9def9fe02e5..11e7cded3401 100644
--- a/games/rocksndiamonds/Makefile
+++ b/games/rocksndiamonds/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rocksndiamonds
-DISTVERSION= 4.4.0.0
+DISTVERSION= 4.4.0.2
CATEGORIES= games
MASTER_SITES= http://www.artsoft.org/RELEASES/unix/rocksndiamonds/:game \
http://www.artsoft.org/RELEASES/rocksndiamonds/levels/:levels_artsoft \
diff --git a/games/rocksndiamonds/distinfo b/games/rocksndiamonds/distinfo
index 43ecbd84b6d2..fc66d8a17ff2 100644
--- a/games/rocksndiamonds/distinfo
+++ b/games/rocksndiamonds/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1735741873
-SHA256 (rocksndiamonds/rocksndiamonds-4.4.0.0-linux.tar.gz) = 68a1c70ffbfeceac42b0e629d3a9ea0764d2865c02c04d49694d1a74ee13e02c
-SIZE (rocksndiamonds/rocksndiamonds-4.4.0.0-linux.tar.gz) = 5314473
+TIMESTAMP = 1737551745
+SHA256 (rocksndiamonds/rocksndiamonds-4.4.0.2-linux.tar.gz) = a84efc709204c1637a6f9e15849c2a14a2d7bd380774bd7e529cb50c99df583f
+SIZE (rocksndiamonds/rocksndiamonds-4.4.0.2-linux.tar.gz) = 5321965
SHA256 (rocksndiamonds/rnd_jue-3.3.0.0.tar.gz) = 9594656bab084fea2ecf104e48c4dea3ccd8153f86a6ddbab04cdd0d5f6899a6
SIZE (rocksndiamonds/rnd_jue-3.3.0.0.tar.gz) = 35414851
SHA256 (rocksndiamonds/Sokoban-1.0.0.zip) = 63f9d36789edca22c0f9454202f9fd21fcee89111642459b5882314f13ebdc0e
diff --git a/games/rpg-cli/Makefile b/games/rpg-cli/Makefile
index 6020731fe4d5..98a7cd0ae11b 100644
--- a/games/rpg-cli/Makefile
+++ b/games/rpg-cli/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rpg-cli
DISTVERSION= 1.0.1
-PORTREVISION= 25
+PORTREVISION= 26
CATEGORIES= games
MAINTAINER= lcook@FreeBSD.org
diff --git a/games/simutrans/Makefile b/games/simutrans/Makefile
index d063d3492725..41b7526eccd2 100644
--- a/games/simutrans/Makefile
+++ b/games/simutrans/Makefile
@@ -1,5 +1,6 @@
PORTNAME= simutrans
DISTVERSION= 124-2-2
+PORTREVISION= 1
CATEGORIES= games
MASTER_SITES= SF/simutrans/simutrans/${DISTVERSION}
DISTNAME= simutrans-src-${DISTVERSION}
diff --git a/games/sulis/Makefile b/games/sulis/Makefile
index 8279e956c643..98c2fb4b811c 100644
--- a/games/sulis/Makefile
+++ b/games/sulis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sulis
DISTVERSION= 1.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/games/tetrigo/Makefile b/games/tetrigo/Makefile
index 198df5b70b95..7ab1a1bf9c0a 100644
--- a/games/tetrigo/Makefile
+++ b/games/tetrigo/Makefile
@@ -1,6 +1,7 @@
PORTNAME= tetrigo
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
+PORTREVISION= 1
CATEGORIES= games
MAINTAINER= yuri@FreeBSD.org
diff --git a/games/veloren-weekly/Makefile b/games/veloren-weekly/Makefile
index 1d2876c932be..41ce7a9eaac9 100644
--- a/games/veloren-weekly/Makefile
+++ b/games/veloren-weekly/Makefile
@@ -1,5 +1,5 @@
PORTNAME= veloren
-PORTVERSION= s20250108
+PORTVERSION= s20250121
CATEGORIES= games wayland
PKGNAMESUFFIX= -weekly
@@ -25,7 +25,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-pl
USES= cargo xorg
USE_XORG= xcb
USE_GITLAB= yes
-GL_TAGNAME= v0.17.0-23-ge8b92888e # git describe --match='v[0-9]*' weekly
+GL_TAGNAME= v0.17.0-82-g0523f287b # git describe --match='v[0-9]*' weekly
CARGO_ENV= VELOREN_USERDATA_STRATEGY=system SHADERC_LIB_DIR="${LOCALBASE}/lib"
PLIST_FILES= bin/${PORTNAME}-server-cli \
bin/${PORTNAME}-voxygen \
diff --git a/games/veloren-weekly/distinfo b/games/veloren-weekly/distinfo
index ee8697af1683..21ae7a867d30 100644
--- a/games/veloren-weekly/distinfo
+++ b/games/veloren-weekly/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1736378901
+TIMESTAMP = 1737494401
SHA256 (rust/crates/ab_glyph-0.2.28.crate) = 79faae4620f45232f599d9bc7b290f88247a0834162c4495ab2f02d60004adfb
SIZE (rust/crates/ab_glyph-0.2.28.crate) = 19965
SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046
@@ -1789,5 +1789,5 @@ SHA256 (Imberflur-wgpu-0.18-with-fixes-for-veloren-v2_GH0.tar.gz) = eaf65f3809d3
SIZE (Imberflur-wgpu-0.18-with-fixes-for-veloren-v2_GH0.tar.gz) = 10001880
SHA256 (xMAC94x-portpicker-rs-df6b37872f3586ac3b21d08b56c8ec7cd92fb172_GH0.tar.gz) = 29252101e189bbe067f0bacba18181afc69a2fb9bc031bbba8dcbade45dec02f
SIZE (xMAC94x-portpicker-rs-df6b37872f3586ac3b21d08b56c8ec7cd92fb172_GH0.tar.gz) = 2210
-SHA256 (veloren-v0.17.0-23-ge8b92888e.tar.bz2) = b78338789ba4d2925f87ce4ea0e3678436d812fb4106c12e695cb201c03ee04c
-SIZE (veloren-v0.17.0-23-ge8b92888e.tar.bz2) = 302290380
+SHA256 (veloren-v0.17.0-82-g0523f287b.tar.bz2) = d80ac05742a4df4e7b6c1e622cc37a50e556b8fe1a84bed77f18a31a5a8d852b
+SIZE (veloren-v0.17.0-82-g0523f287b.tar.bz2) = 310140018
diff --git a/games/warzone2100/Makefile b/games/warzone2100/Makefile
index 858ff2918a5f..8795725c83fc 100644
--- a/games/warzone2100/Makefile
+++ b/games/warzone2100/Makefile
@@ -1,5 +1,6 @@
PORTNAME= warzone2100
DISTVERSION= 4.5.5
+PORTREVISION= 1
CATEGORIES= games
MASTER_SITES= https://github.com/Warzone2100/warzone2100/releases/download/${DISTVERSION}/
DISTNAME= ${PORTNAME}_src
diff --git a/games/xbubble/Makefile b/games/xbubble/Makefile
index 1fd1fe8d0217..26d07411fe06 100644
--- a/games/xbubble/Makefile
+++ b/games/xbubble/Makefile
@@ -2,15 +2,12 @@ PORTNAME= xbubble
PORTVERSION= 0.5.8
PORTREVISION= 8
CATEGORIES= games
-MASTER_SITES= GENTOO
+MASTER_SITES= OPENBSD/distfiles LOCAL/danfe
MAINTAINER= ports@FreeBSD.org
COMMENT= Puzzle Bobble clone for Unix/X11 platforms
WWW= https://www.nongnu.org/xbubble/
-DEPRECATED= GENTOO Master Sites has rerolled and cleaned up all older distfiles
-EXPIRATION_DATE=2025-01-27
-
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,7 +15,6 @@ LIB_DEPENDS= libpng.so:graphics/png
USES= gmake localbase:ldflags xorg
USE_XORG= x11 xmu
-
GNU_CONFIGURE= yes
OPTIONS_DEFINE= NLS
@@ -28,10 +24,4 @@ NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
NLS_LIBS= -lintl
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == FreeBSD
-CFLAGS+= -Wno-error=incompatible-function-pointer-types
-.endif
-
.include <bsd.port.mk>
diff --git a/games/xbubble/files/patch-src__init.c b/games/xbubble/files/patch-src__init.c
deleted file mode 100644
index 718172d4731f..000000000000
--- a/games/xbubble/files/patch-src__init.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/init.c.old Tue Feb 3 18:14:28 2004
-+++ src/init.c Tue Feb 3 18:14:37 2004
-@@ -460,7 +460,7 @@
- return return_val;
- }
-
--int diren_select_bubbles (const struct dirent *d) {
-+int diren_select_bubbles (struct dirent *d) {
- int color;
- int state;
-