pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/games/devilutionx devilutionx: Update to 0.5.0
details: https://anonhg.NetBSD.org/pkgsrc/rev/c1e664a20c64
branches: trunk
changeset: 402774:c1e664a20c64
user: nia <nia%pkgsrc.org@localhost>
date: Wed Oct 16 12:00:51 2019 +0000
description:
devilutionx: Update to 0.5.0
Features
Sound is now accurate to the original
All in-game issues fixed
Delete hero, inline dialogs and scrollbars are now implemented
Screenshots now have different names
Multiple simultaneous dialogs fixed
All builds are now 64bit (except for Windows and Raspberry Pi)
Memory leaks and crashes fixed
All keys are now mapped
UI text now has correct shadows
Much lower CPU usage
Known issues
Error dialogs not implemented in main UI
The game must restart after hosting multiplayer
diffstat:
games/devilutionx/Makefile | 30 +-
games/devilutionx/PLIST | 8 +-
games/devilutionx/distinfo | 16 +-
games/devilutionx/patches/patch-3rdParty_StormLib_src_StormPort.h | 14 +
games/devilutionx/patches/patch-Source_inv.cpp | 952 --------
games/devilutionx/patches/patch-Source_list.h | 28 -
games/devilutionx/patches/patch-Source_loadsave.cpp | 1104 ----------
games/devilutionx/patches/patch-Source_loadsave.h | 19 -
games/devilutionx/patches/patch-structs.h | 53 -
9 files changed, 37 insertions(+), 2187 deletions(-)
diffs (truncated from 2289 to 300 lines):
diff -r d0c547f4cba2 -r c1e664a20c64 games/devilutionx/Makefile
--- a/games/devilutionx/Makefile Wed Oct 16 11:25:03 2019 +0000
+++ b/games/devilutionx/Makefile Wed Oct 16 12:00:51 2019 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.7 2019/07/29 09:34:31 nia Exp $
+# $NetBSD: Makefile,v 1.8 2019/10/16 12:00:51 nia Exp $
-DISTNAME= devilutionx-0.4.0
-PKGREVISION= 2
+DISTNAME= devilutionx-0.5.0
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_GITHUB:=diasurgical/}
GITHUB_PROJECT= devilutionX
@@ -33,31 +32,32 @@
CXXFLAGS+= -DASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW=1
-ICON_SIZES= 1024 512 256 128 64 32 16
+# /usr/include/g++/cstdio:176:11: error: '::vfscanf' has not been declared
+# No idea.
+CXXFLAGS.NetBSD+= -D_NETBSD_SOURCE
INSTALLATION_DIRS+= bin
INSTALLATION_DIRS+= share/applications
-.for i in ${ICON_SIZES}
-INSTALLATION_DIRS+= share/icons/hicolor/${i}x${i}/apps
-.endfor
-
-post-extract:
- ${MV} ${WRKSRC}/Xcode/AppIcon.xcassets/AppIcon.appiconset/appicon-1.png \
- ${WRKSRC}/Xcode/AppIcon.xcassets/AppIcon.appiconset/32.png
+INSTALLATION_DIRS+= share/icons/hicolor/16x16/apps
+INSTALLATION_DIRS+= share/icons/hicolor/32x32/apps
+INSTALLATION_DIRS+= share/icons/hicolor/48x48/apps
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/devilutionx ${DESTDIR}${PREFIX}/bin
${INSTALL_DATA} ${FILESDIR}/devilutionx.desktop \
${DESTDIR}${PREFIX}/share/applications
-.for i in ${ICON_SIZES}
- ${INSTALL_DATA} ${WRKSRC}/Xcode/AppIcon.xcassets/AppIcon.appiconset/${i}.png \
- ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/devilutionx.png
-.endfor
+ ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/16.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/16x16/apps/devilutionx.png
+ ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/Diablo_32.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/32x32/apps/devilutionx.png
+ ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/Diablo_48.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/48x48/apps/devilutionx.png
.include "../../audio/SDL2_mixer/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../fonts/SDL2_ttf/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../security/libsodium/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r d0c547f4cba2 -r c1e664a20c64 games/devilutionx/PLIST
--- a/games/devilutionx/PLIST Wed Oct 16 11:25:03 2019 +0000
+++ b/games/devilutionx/PLIST Wed Oct 16 12:00:51 2019 +0000
@@ -1,10 +1,6 @@
-@comment $NetBSD: PLIST,v 1.1 2019/07/03 10:58:12 nia Exp $
+@comment $NetBSD: PLIST,v 1.2 2019/10/16 12:00:51 nia Exp $
bin/devilutionx
share/applications/devilutionx.desktop
-share/icons/hicolor/1024x1024/apps/devilutionx.png
-share/icons/hicolor/128x128/apps/devilutionx.png
share/icons/hicolor/16x16/apps/devilutionx.png
-share/icons/hicolor/256x256/apps/devilutionx.png
share/icons/hicolor/32x32/apps/devilutionx.png
-share/icons/hicolor/512x512/apps/devilutionx.png
-share/icons/hicolor/64x64/apps/devilutionx.png
+share/icons/hicolor/48x48/apps/devilutionx.png
diff -r d0c547f4cba2 -r c1e664a20c64 games/devilutionx/distinfo
--- a/games/devilutionx/distinfo Wed Oct 16 11:25:03 2019 +0000
+++ b/games/devilutionx/distinfo Wed Oct 16 12:00:51 2019 +0000
@@ -1,11 +1,7 @@
-$NetBSD: distinfo,v 1.4 2019/07/29 09:34:31 nia Exp $
+$NetBSD: distinfo,v 1.5 2019/10/16 12:00:51 nia Exp $
-SHA1 (devilutionx-0.4.0.tar.gz) = d5d71cf752dc0b5c89f9827b52f1567cb5cfb8f4
-RMD160 (devilutionx-0.4.0.tar.gz) = 0b647b8ee4641d9af000d4d54e1008a506a9fc66
-SHA512 (devilutionx-0.4.0.tar.gz) = ba8f650f8dd00e3b08f6ac082566351c8f3b6162d7bfa2fdf3464b38c201b08677d2f6151f2272e1d73eb972b8babc49b38364523d10763eb179f6b682641443
-Size (devilutionx-0.4.0.tar.gz) = 1351201 bytes
-SHA1 (patch-Source_inv.cpp) = 788414c9141da13391cd4f540e364a034fd87b41
-SHA1 (patch-Source_list.h) = 1dd4dbe80c2d99ef127462de0b8cfc35e1b861de
-SHA1 (patch-Source_loadsave.cpp) = ea0d7f41ddec197f7b8002fba8a8479c3f49c415
-SHA1 (patch-Source_loadsave.h) = 6d7e7cc9e188e5a406c10caceb0aa80139c6e301
-SHA1 (patch-structs.h) = d9cba47b2ca876529aef33d4190f082d134cdcb6
+SHA1 (devilutionx-0.5.0.tar.gz) = f4dabf51605ac211d314830af797a0fa0114a059
+RMD160 (devilutionx-0.5.0.tar.gz) = 7a66413fa3c352136465b9ae373654e68f30c6fa
+SHA512 (devilutionx-0.5.0.tar.gz) = 36ad803b5b71d0ec98c3284716ed92067af742234306e723eba536404111b63efab869e5cce540f8acb1369992ba1c0c9cf0425cfb1ad37a6c970037abc54522
+Size (devilutionx-0.5.0.tar.gz) = 1767600 bytes
+SHA1 (patch-3rdParty_StormLib_src_StormPort.h) = a59ea9c29a86067b908aab7e8d3e344711407e0a
diff -r d0c547f4cba2 -r c1e664a20c64 games/devilutionx/patches/patch-3rdParty_StormLib_src_StormPort.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/games/devilutionx/patches/patch-3rdParty_StormLib_src_StormPort.h Wed Oct 16 12:00:51 2019 +0000
@@ -0,0 +1,14 @@
+$NetBSD: patch-3rdParty_StormLib_src_StormPort.h,v 1.1 2019/10/16 12:00:51 nia Exp $
+
+strings.h for strncasecmp.
+
+--- 3rdParty/StormLib/src/StormPort.h.orig 2019-10-09 22:34:02.000000000 +0000
++++ 3rdParty/StormLib/src/StormPort.h
+@@ -162,6 +162,7 @@
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <string.h>
++ #include <strings.h>
+ #include <ctype.h>
+ #include <assert.h>
+ #include <errno.h>
diff -r d0c547f4cba2 -r c1e664a20c64 games/devilutionx/patches/patch-Source_inv.cpp
--- a/games/devilutionx/patches/patch-Source_inv.cpp Wed Oct 16 11:25:03 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,952 +0,0 @@
-$NetBSD: patch-Source_inv.cpp,v 1.1 2019/07/28 10:26:43 nia Exp $
-
-[PATCH] Clean up CheckInvPaste (bin exact) (#1205)
-Fixes some item duplication.
-https://github.com/diasurgical/devilutionX/commit/a549d5ebc461e757065c4536cb351969dcf60fe9.patch
-
---- Source/inv.cpp.orig 2019-05-19 17:06:45.000000000 +0000
-+++ Source/inv.cpp
-@@ -686,562 +686,408 @@ int SwapItem(ItemStruct *a, ItemStruct *
-
- void CheckInvPaste(int pnum, int mx, int my)
- {
-- int v3; // ebx
-- int v4; // edi
-- int v5; // eax
-- int v6; // esi
-- signed int v7; // edi
-- int v8; // edx
-- int v9; // edx
-- signed int v10; // edi
-- char v11; // al
-- signed int v12; // ecx
-- int v13; // eax
-- int v14; // eax
-- char *v15; // edi
-- int v16; // esi
-- int v17; // ecx
-- int v18; // edx
-- int v21; // esi
-- ItemStruct *v22; // edi
-- ItemStruct *v23; // ecx
-- int v24; // eax
-- int v25; // eax
-- int v26; // edx
-- ItemStruct *v27; // esi
-- int v28; // eax
-- int v29; // ecx
-- int v30; // esi
-- int v31; // eax
-- int v32; // eax
-- int v33; // ecx
-- int v34; // eax
-- int v35; // ecx
-- char *v36; // eax
-- int v37; // edx
-- int v38; // ecx
-- int v39; // edi
-- int v40; // esi
-- int v41; // ebx
-- int v42; // edx
-- int v43; // eax
-- int v44; // eax
-- signed int v45; // ecx
-- int v46; // edx
-- char *v47; // eax
-- int v48; // edi
-- int v49; // eax
-- int v50; // ecx
-- char *v51; // esi
-- char v52; // cl
-- int v53; // ecx
-- int v54; // eax
-- int v55; // edi
-- int v56; // edx
-- int v57; // esi
-- int v58; // ebx
-- int v59; // eax
-- int v60; // esi
-- ItemStruct tempitem; // [esp+Ch] [ebp-190h]
-- int v62; // [esp+17Ch] [ebp-20h]
-- int p; // [esp+180h] [ebp-1Ch]
-- int v64; // [esp+184h] [ebp-18h]
-- int v65; // [esp+188h] [ebp-14h]
-- int v66; // [esp+18Ch] [ebp-10h]
-- int v67; // [esp+190h] [ebp-Ch]
-- int v68; // [esp+194h] [ebp-8h]
-- int v69; // [esp+198h] [ebp-4h]
-- int cursor_id; // [esp+1A4h] [ebp+8h]
-- int cursor_ida; // [esp+1A4h] [ebp+8h]
--
-- p = pnum;
-- v3 = pnum;
-- v4 = mx;
-+ int r, sx, sy;
-+ int i, j, xx, yy, ii;
-+ BOOL done, done2h;
-+ int il, cn, it, iv, ig, gt;
-+ ItemStruct tempitem;
-+
- SetICursor(plr[pnum].HoldItem._iCurs + CURSOR_FIRSTITEM);
-- v5 = my + (icursH >> 1);
-- v6 = v4 + (icursW >> 1);
-- v64 = icursW28;
-- v7 = 0;
-- v67 = icursH28;
-- v68 = 0;
-- do {
-- if (v7)
-- goto LABEL_18;
-- v8 = InvRect[v68].X;
-- if (v6 >= v8 && v6 < v8 + 28) {
-- v9 = InvRect[v68].Y;
-- if (v5 >= v9 - 29 && v5 < v9) {
-- v7 = 1;
-- --v68;
-- }
-- }
-- if (v68 != 24)
-- goto LABEL_13;
-- if (!(v64 & 1))
-- v6 -= 14;
-- if (!(v67 & 1)) {
-- v5 -= 14;
-- LABEL_13:
-- if (v68 == 64 && !(v67 & 1))
-- v5 += 14;
-- }
-- ++v68;
-- } while ((unsigned int)v68 < 0x49);
-- if (!v7)
-+ i = mx + (icursW >> 1);
-+ j = my + (icursH >> 1);
-+ sx = icursW28;
-+ sy = icursH28;
-+ done = FALSE;
-+ for (r = 0; r < sizeof(InvRect) / sizeof(InvRect[0]) && !done; r++) {
-+ if (i >= InvRect[r].X && i < InvRect[r].X + INV_SLOT_SIZE_PX) {
-+ if (j >= InvRect[r].Y - INV_SLOT_SIZE_PX - 1 && j < InvRect[r].Y) {
-+ done = TRUE;
-+ r--;
-+ }
-+ }
-+ if (r == 24) {
-+ if ((sx & 1) == 0)
-+ i -= 14;
-+ if ((sy & 1) == 0) {
-+ j -= 14;
-+ }
-+ }
-+ if (r == 64 && (sy & 1) == 0)
-+ j += 14;
-+ }
-+ if (!done)
- return;
--LABEL_18:
-- v10 = v68;
-- v69 = ILOC_UNEQUIPABLE;
-- if (v68 >= 0 && v68 <= ILOC_ARMOR)
-- v69 = ILOC_HELM;
-- if (v68 >= ILOC_HELM && v68 <= ILOC_RING)
-- v69 = ILOC_RING;
-- if (v68 == ILOC_AMULET)
-- v69 = ILOC_AMULET;
-- if (v68 >= ILOC_UNEQUIPABLE && v68 <= 18)
-- v69 = ILOC_ONEHAND;
-- if (v68 >= 19 && v68 <= 24)
-- v69 = ILOC_ARMOR;
-- if (v68 >= 65 && v68 <= 72)
-- v69 = ILOC_BELT;
-- v11 = plr[v3].HoldItem._iLoc;
-- v12 = 0;
-- if ((char)v11 == v69)
-- v12 = 1;
-- if (v69 == 1 && v11 == ILOC_TWOHAND) {
-- v69 = ILOC_TWOHAND;
-- v12 = 1;
-- }
-- if (v11 != 7 || v69 != ILOC_BELT) {
-- LABEL_50:
-- if (v69 != ILOC_UNEQUIPABLE)
-- goto LABEL_81;
-- v66 = 0;
-- cursor_id = 1;
-- v13 = (v68 - 25) / 10;
-- if (plr[v3].HoldItem._itype == ITYPE_GOLD) {
-- _LOBYTE(v13) = plr[0].InvGrid[10 * v13 + v3 * 21720 + (v68 - 25) % 10];
-- if (!(_BYTE)v13)
-- goto LABEL_93;
-- v13 = (char)v13;
-- if ((char)v13 <= 0) {
-- v13 = -v13;
-- } else if (*(int *)((char *)&plr[0].InvBody[v13 + 6]._itype + v3 * 21720) == ITYPE_GOLD) {
-- goto LABEL_93;
Home |
Main Index |
Thread Index |
Old Index