Received: by mail.netbsd.org (Postfix, from userid 605) id 3A43984DE0; Thu, 2 Jan 2020 09:56:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id B342D84D9E for ; Thu, 2 Jan 2020 09:56:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 9iQGJhwgQGXc for ; Thu, 2 Jan 2020 09:56:49 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 8613F84CD8 for ; Thu, 2 Jan 2020 09:56:49 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 83A79FA97; Thu, 2 Jan 2020 09:56:49 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_157795900953600" MIME-Version: 1.0 Date: Thu, 2 Jan 2020 09:56:49 +0000 From: "Izumi Tsutsui" Subject: CVS commit: pkgsrc/games/xkanon To: pkgsrc-changes@NetBSD.org Reply-To: tsutsui@netbsd.org X-Mailer: log_accum Message-Id: <20200102095649.83A79FA97@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_157795900953600 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: tsutsui Date: Thu Jan 2 09:56:49 UTC 2020 Added Files: pkgsrc/games/xkanon: DESCR Makefile PLIST distinfo pkgsrc/games/xkanon/patches: patch-Makefile.in patch-ayusys__gtk2.ja.po patch-configure patch-configure.in patch-file.cc patch-file.h patch-image__di.h patch-image__di__Xbpp.cc patch-image__di__impl.h patch-image__di__seldraw.cc patch-image__di__selimpl1.cc patch-image__di__selimpl2.cc patch-image__di__selimpl3.cc patch-image__pdt.cc patch-senario.cc patch-senario__flags.cc patch-system__config.cc patch-window__text.cc Log Message: xkanon: Import xkanon-gtk2-090830 as games/xkanon Xkanon, developed by Jagarl, is an interpreter for AVG games. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 pkgsrc/games/xkanon/DESCR pkgsrc/games/xkanon/Makefile \ pkgsrc/games/xkanon/PLIST pkgsrc/games/xkanon/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/games/xkanon/patches/patch-Makefile.in \ pkgsrc/games/xkanon/patches/patch-ayusys__gtk2.ja.po \ pkgsrc/games/xkanon/patches/patch-configure \ pkgsrc/games/xkanon/patches/patch-configure.in \ pkgsrc/games/xkanon/patches/patch-file.cc \ pkgsrc/games/xkanon/patches/patch-file.h \ pkgsrc/games/xkanon/patches/patch-image__di.h \ pkgsrc/games/xkanon/patches/patch-image__di__Xbpp.cc \ pkgsrc/games/xkanon/patches/patch-image__di__impl.h \ pkgsrc/games/xkanon/patches/patch-image__di__seldraw.cc \ pkgsrc/games/xkanon/patches/patch-image__di__selimpl1.cc \ pkgsrc/games/xkanon/patches/patch-image__di__selimpl2.cc \ pkgsrc/games/xkanon/patches/patch-image__di__selimpl3.cc \ pkgsrc/games/xkanon/patches/patch-image__pdt.cc \ pkgsrc/games/xkanon/patches/patch-senario.cc \ pkgsrc/games/xkanon/patches/patch-senario__flags.cc \ pkgsrc/games/xkanon/patches/patch-system__config.cc \ pkgsrc/games/xkanon/patches/patch-window__text.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_157795900953600 Content-Disposition: inline Content-Length: 34886 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=utf-8 Added files: Index: pkgsrc/games/xkanon/DESCR diff -u /dev/null pkgsrc/games/xkanon/DESCR:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/DESCR Thu Jan 2 09:56:49 2020 @@ -0,0 +1 @@ +Xkanon, developed by Jagarl, is an interpreter for AVG games. Index: pkgsrc/games/xkanon/Makefile diff -u /dev/null pkgsrc/games/xkanon/Makefile:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/Makefile Thu Jan 2 09:56:49 2020 @@ -0,0 +1,36 @@ +# $NetBSD: Makefile,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ +# + +DISTNAME= xkanon-gtk2-090830 +PKGNAME= xkanon-090830 +CATEGORIES= games +#MASTER_SITES= http://www.creator.club.ne.jp/~jagarl/ +MASTER_SITES= http://ryo-on.users.sourceforge.net/distrib/ +DISTFILES= ${DEFAULT_DISTFILES} xkanon-071209.tar.gz + +MAINTAINER= tsutsui@NetBSD.org +HOMEPAGE= https://web.archive.org/web/20100409004347/http://www.creator.club.ne.jp/~jagarl/xkanon.html +COMMENT= Interpreter to execute AVG32 games for Microsoft Windows +LICENSE= gnu-gpl-v2 + +WRKSRC= ${WRKDIR}/xkanon-gtk +GNU_CONFIGURE= yes +USE_LANGUAGES= c c++03 + +USE_TOOLS+= msgfmt pkg-config + +post-extract: + cp ${WRKDIR}/xkanon/ayusys.ja.po ${WRKDIR}/xkanon-gtk/ayusys_gtk2.ja.po + +.include "../../mk/bsd.prefs.mk" + +.if ${OPSYS} == "NetBSD" +CONFIGURE_ARGS+= --with-audiodev=/dev/audio +.endif + +.include "../../devel/zlib/buildlink3.mk" +BUILDLINK_API_DEPENDS.gtk2+= gtk2+>=2.6.0 +.include "../../x11/gtk2/buildlink3.mk" +.include "../../mk/oss.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" Index: pkgsrc/games/xkanon/PLIST diff -u /dev/null pkgsrc/games/xkanon/PLIST:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/PLIST Thu Jan 2 09:56:49 2020 @@ -0,0 +1,13 @@ +@comment $NetBSD: PLIST,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ +bin/xair +bin/xair-install +bin/xayusys_gtk2 +bin/xkanon +bin/xkanon-all +bin/xkanon-all-install +bin/xkanon-install +bin/xsense-off +bin/xsense-off-install +bin/xsense-off-trial +bin/xsense-off-trial-install +share/locale/ja/LC_MESSAGES/ayusys_gtk2.mo Index: pkgsrc/games/xkanon/distinfo diff -u /dev/null pkgsrc/games/xkanon/distinfo:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/distinfo Thu Jan 2 09:56:49 2020 @@ -0,0 +1,28 @@ +$NetBSD: distinfo,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +SHA1 (xkanon-071209.tar.gz) = 4fcb7e4136f9b2265ea79ab96fb257cda7854aef +RMD160 (xkanon-071209.tar.gz) = 779005a2a5aad4d0922cce3a34b618f47e0f6370 +SHA512 (xkanon-071209.tar.gz) = ac5ffabecbe2c34ece074ece1ebe69f426d26f69611aedd1d0660f096908d201550561eee5b2a87c7c8d22bb531a0048f3258c3b60428b3dbdee8293d7dcac0c +Size (xkanon-071209.tar.gz) = 494758 bytes +SHA1 (xkanon-gtk2-090830.tar.gz) = f306024a2dbdd8188488b5f63f3725ab4ca9cc74 +RMD160 (xkanon-gtk2-090830.tar.gz) = 8b2c1d6491b1f82df2ccde42a954bfa38bab801a +SHA512 (xkanon-gtk2-090830.tar.gz) = 162a3048eaac71ffe8a4423206cb0c7023f07868da559c80b2fc8cadf503af7e2f6596b5834bddf661ec830d04974f36a03f54d2bc5c9d7b5e0e4302244cdfe9 +Size (xkanon-gtk2-090830.tar.gz) = 667208 bytes +SHA1 (patch-Makefile.in) = d54f8bdba33786b08f6716cacceaba4b31980740 +SHA1 (patch-ayusys__gtk2.ja.po) = 5bfde3e112fee80be85ef2af891b8e28176c52b0 +SHA1 (patch-configure) = 8a93ce6b413ef8850d8c6b6a7cdb45a5cfa812ed +SHA1 (patch-configure.in) = 9a58bae196eb993c1bce268d035fcf1df8b88c05 +SHA1 (patch-file.cc) = 7b9de34010f7d2cbf2d21ba9ff94d1a453cfa63a +SHA1 (patch-file.h) = 0b2467837036b6bcf66ab5263413b55c326dbd9a +SHA1 (patch-image__di.h) = 93d67c8b14a85c58eaedf5fb61d3c58c819c0fa2 +SHA1 (patch-image__di__Xbpp.cc) = 20a467155e40d8839493b4f33a4d0e03348e9f5a +SHA1 (patch-image__di__impl.h) = e4a1b82193a5e526a8a41e8d978d7aac90d818d4 +SHA1 (patch-image__di__seldraw.cc) = c066e3415a2621470d0854cc5cc1b5736cd8ed1f +SHA1 (patch-image__di__selimpl1.cc) = f91a76dbbe95c1bb9122857429f3727d2085bf74 +SHA1 (patch-image__di__selimpl2.cc) = 4bccc4c055afa319f2c3409ffef8bc0b067d97af +SHA1 (patch-image__di__selimpl3.cc) = d5b589515cd80923660c67a957e80452f5a5a93a +SHA1 (patch-image__pdt.cc) = 54808d102d63d8bb43d3740f7c95ea32baf4d74b +SHA1 (patch-senario.cc) = fd120ae9cf045575faeec38a708f0e20562d169e +SHA1 (patch-senario__flags.cc) = 7f3004b13980453f3e34d61f78d88cf95d5a6d83 +SHA1 (patch-system__config.cc) = 75a7c4f026b072a140cded971ddd7fffc0a2212c +SHA1 (patch-window__text.cc) = c50719ec7e1dad0d7c133f7b699d33e92d5f54c8 Index: pkgsrc/games/xkanon/patches/patch-Makefile.in diff -u /dev/null pkgsrc/games/xkanon/patches/patch-Makefile.in:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-Makefile.in Thu Jan 2 09:56:49 2020 @@ -0,0 +1,26 @@ +$NetBSD: patch-Makefile.in,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Handle DESTDIR and build .mo file on make all. + +--- Makefile.in.orig 2008-01-06 06:20:00.000000000 +0000 ++++ Makefile.in +@@ -31,14 +31,14 @@ MUSIC_OBJ=system_music.o contrib/contrib + + OBJ=main.o file.o initial.o $(IMAGE_OBJ) option.o game_opt.o check_cgm.o system.o system_config.o system_graphics.o anm.o ard.o $(SENARIO_OBJ) window.o window_text.o window_name.o window_menu.o window_all.o $(MUSIC_OBJ) $(TTFONT_OBJ) + +-all: $(BIN) ++all: $(BIN) ayusys_gtk2.ja.mo + install: all install-mo +- mkdir -p $(BINDIR) +- cp -f $(BIN) $(BINDIR) ++ mkdir -p ${DESTDIR}$(BINDIR) ++ cp -f $(BIN) ${DESTDIR}$(BINDIR) + + install-mo: ayusys_gtk2.ja.mo +- -mkdir -p $(LOCALEDIR)/ja/LC_MESSAGES +- -cp -f ayusys_gtk2.ja.mo $(LOCALEDIR)/ja/LC_MESSAGES/ayusys_gtk2.mo ++ -mkdir -p ${DESTDIR}$(LOCALEDIR)/ja/LC_MESSAGES ++ -cp -f ayusys_gtk2.ja.mo ${DESTDIR}$(LOCALEDIR)/ja/LC_MESSAGES/ayusys_gtk2.mo + + ayusys_gtk2.ja.mo: ayusys_gtk2.ja.po + -msgfmt -o ayusys_gtk2.ja.mo ayusys_gtk2.ja.po Index: pkgsrc/games/xkanon/patches/patch-ayusys__gtk2.ja.po diff -u /dev/null pkgsrc/games/xkanon/patches/patch-ayusys__gtk2.ja.po:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-ayusys__gtk2.ja.po Thu Jan 2 09:56:49 2020 @@ -0,0 +1,18 @@ +$NetBSD: patch-ayusys__gtk2.ja.po,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Add proper headers to print Japanese encoding messages. + +--- ayusys_gtk2.ja.po.orig 2012-01-20 16:45:37.000000000 +0000 ++++ ayusys_gtk2.ja.po +@@ -1,6 +1,8 @@ +-# SOME DESCRIPTIVE TITLE. +-# FIRST AUTHOR , YEAR. +-# ++msgid "" ++msgstr "" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=EUC-JP\n" ++"Content-Transfer-Encoding: 8bit\n" + + msgid "No Wait" + msgstr "ノーウェイト" Index: pkgsrc/games/xkanon/patches/patch-configure diff -u /dev/null pkgsrc/games/xkanon/patches/patch-configure:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-configure Thu Jan 2 09:56:49 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-configure,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Fix for "ERROR: [check-portability.awk] => Found test ... == ...:" warning. + +--- configure.orig 2008-01-06 06:20:00.000000000 +0000 ++++ configure +@@ -13804,7 +13804,7 @@ if test "${enable_alsa+set}" = set; then + enableval="$enable_alsa" + + fi; +-if test "$enable_alsa" == "yes" ; then ++if test "$enable_alsa" = "yes" ; then + alsa_save_CFLAGS="$CFLAGS" + alsa_save_LDFLAGS="$LDFLAGS" + alsa_save_LIBS="$LIBS" Index: pkgsrc/games/xkanon/patches/patch-configure.in diff -u /dev/null pkgsrc/games/xkanon/patches/patch-configure.in:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-configure.in Thu Jan 2 09:56:49 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-configure.in,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Fix for "ERROR: [check-portability.awk] => Found test ... == ...:" warning. + +--- configure.in.orig 2008-01-06 06:20:00.000000000 +0000 ++++ configure.in +@@ -140,7 +140,7 @@ dnl Checks for libraries. + have_alsa=no + AC_ARG_ENABLE(alsa, + [ --enable-alsa Try to use ALSA]) +-if test "$enable_alsa" == "yes" ; then ++if test "$enable_alsa" = "yes" ; then + AM_PATH_ALSA(0.9.0) + if test "$have_alsa" = "error" ; then + have_alsa=no Index: pkgsrc/games/xkanon/patches/patch-file.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-file.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-file.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,36 @@ +$NetBSD: patch-file.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Don't use unaligned word copy that won't work on RISC CPUs. + +--- file.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ file.cc +@@ -1719,13 +1719,7 @@ public: + lsrc += 2; + } + static void Copy1Pixel(const char*& lsrc, char*& ldest) { +-#ifdef WORDS_BIGENDIAN +- ldest[0] = lsrc[0]; +- ldest[1] = lsrc[1]; +- ldest[2] = lsrc[2]; +-#else /* LITTLE ENDIAN / intel architecture */ +- *(int*)ldest = *(int*)lsrc; ldest[3]=0; +-#endif ++ memcpy(ldest, lsrc, 3); + lsrc += 3; ldest += 4; + } + static int ProcessBlockSize(void) { +@@ -1862,13 +1856,7 @@ public: + lsrc += 2; + } + static void Copy1Pixel(const char*& lsrc, char*& ldest) { +-#ifdef WORDS_BIGENDIAN +- ldest[0] = lsrc[0]; +- ldest[1] = lsrc[1]; +- ldest[2] = lsrc[2]; +-#else /* LITTLE ENDIAN / intel architecture */ +- *(int*)ldest = *(int*)lsrc; ldest[3]=0; +-#endif ++ memcpy(ldest, lsrc, 3); + lsrc += 3; ldest += 4; + } + static int ProcessBlockSize(void) { Index: pkgsrc/games/xkanon/patches/patch-file.h diff -u /dev/null pkgsrc/games/xkanon/patches/patch-file.h:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-file.h Thu Jan 2 09:56:49 2020 @@ -0,0 +1,76 @@ +$NetBSD: patch-file.h,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Avoid unalignd word accesses even on little endian (for arm and mips). + +--- file.h.orig 2008-01-06 06:20:00.000000000 +0000 ++++ file.h +@@ -38,27 +38,19 @@ + #include + #include + +-#if defined(__sparc) || defined(sparc) +-# if !defined(WORDS_BIGENDIAN) +-# define WORDS_BIGENDIAN 1 +-# endif +-#endif ++#define INT_SIZE sizeof(int) + +-#ifdef WORDS_BIGENDIAN +- +-#define INT_SIZE 4 +- +-static int read_little_endian_int(const char* buf) { ++static inline int read_little_endian_int(const char* buf) { + const unsigned char *p = (const unsigned char *) buf; + return (p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]; + } + +-static int read_little_endian_short(const char* buf) { ++static inline int read_little_endian_short(const char* buf) { + const unsigned char *p = (const unsigned char *) buf; + return (p[1] << 8) | p[0]; + } + +-static int write_little_endian_int(char* buf, int number) { ++static inline int write_little_endian_int(char* buf, int number) { + int c = read_little_endian_int(buf); + unsigned char *p = (unsigned char *) buf; + unsigned int unum = (unsigned int) number; +@@ -72,7 +64,7 @@ static int write_little_endian_int(char* + return c; + } + +-static int write_little_endian_short(char* buf, int number) { ++static inline int write_little_endian_short(char* buf, int number) { + int c = read_little_endian_short(buf); + unsigned char *p = (unsigned char *) buf; + unsigned int unum = (unsigned int) number; +@@ -82,28 +74,6 @@ static int write_little_endian_short(cha + return c; + } + +-#else // defined(WORDS_BIGENDIAN) +- +-// assume little endian... +-#define INT_SIZE 4 +- +-inline int read_little_endian_int(const char* buf) { +- return *(int*)buf; +-} +- +-inline int read_little_endian_short(const char* buf) { +- return *(short*)buf; +-} +- +-inline int write_little_endian_int(char* buf, int number) { +- int c = *(int*)buf; *(int*)buf = number; return c; +-} +- +-inline int write_little_endian_short(char* buf, int number) { +- int c = *(short*)buf; *(short*)buf = number; return c; +-} +-#endif // WORDS_BIGENDIAN +- + /********************************************* + ** FILESEARCH: + ** 書庫ファイル/ディレクトリを含め、 Index: pkgsrc/games/xkanon/patches/patch-image__di.h diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di.h:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-image__di.h Thu Jan 2 09:56:49 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-image__di.h,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Fix LP64 issue. + +--- image_di.h.orig 2008-01-06 06:20:00.000000000 +0000 ++++ image_di.h +@@ -275,7 +275,7 @@ struct SEL_STRUCT { + int kasane; // 重ね合わせフラグ + int arg1, arg2, arg3, arg4, arg5,arg6; // その他パラメータ + // 描画時に使うための一時パラメータ +- int params[16]; ++ long params[16]; + SEL_STRUCT(void) { + x1=y1=x2=y2=x3=y3=0; + wait_time = sel_no = kasane=0; Index: pkgsrc/games/xkanon/patches/patch-image__di__Xbpp.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__Xbpp.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-image__di__Xbpp.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,53 @@ +$NetBSD: patch-image__di__Xbpp.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +- Explicitly use unsigned char instead of char because + `char' is unsigned by default on arm and powerpc. +- Fix LP64 issue. + +--- image_di_Xbpp.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ image_di_Xbpp.cc +@@ -181,9 +181,9 @@ void CopyAllWithMask_Xbpp(DI_Image& dest + char* mask_line = mask + i*width; + char* d = dest_pt; char* s = src_pt; + for (j=0; j::MakeDifImage(DI_Ima + char* m = mask + i*mbpl; + memcpy(masked_line, dest+i*dbpl, width*ByPP); + for (j=0; jCreateImage(src.width, src.height, src.bypp); + CopyRect(*masked_src, sel->x1, sel->y1, dest, sel->x3, sel->y3, width, height); + CopyRectWithMask(masked_src, sel->x1, sel->y1, &src, sel->x1, sel->y1, width, height, mask); +- sel->params[15] = int(masked_src); ++ sel->params[15] = long(masked_src); + } + int ret = drawer->Exec(dest, *(DI_Image*)(sel->params[15]), 0, sel, count); + if (ret == 2) { /* 終了 */ Index: pkgsrc/games/xkanon/patches/patch-image__di__selimpl1.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__selimpl1.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-image__di__selimpl1.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,55 @@ +$NetBSD: patch-image__di__selimpl1.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Explicitly use unsigned char instead of char because +`char' is unsigned by default on arm and powerpc. + +--- image_di_selimpl1.cc.orig 2009-08-29 23:35:16.000000000 +0000 ++++ image_di_selimpl1.cc +@@ -135,9 +135,9 @@ RegisterSelMacro(10, TLI4(10,11,12,13), + d = dest_buf; + m = mask; + for (j=0; jparams[0] = int(difimage); ++ sel->params[0] = long(difimage); + sel->params[2] = 0; + return 1; + } +@@ -119,7 +119,7 @@ RegisterSelMacro(54, TLI1(54), NoMask) / + sel->arg5 ? CalcKido(dest.data+sel->x3*ByPP+sel->y3*dest.bpl, dest.bpl, width, height, sel->arg4) + : CalcKido(src_buf, src.bpl, width, height, sel->arg4); + /* バッファに格納 */ +- sel->params[0] = int(src_buf); sel->params[1] = int(kido_buf); ++ sel->params[0] = long(src_buf); sel->params[1] = long(kido_buf); + sel->params[2] = width; sel->params[3] = height; sel->params[4] = src.bpl; + sel->params[5] = 0; sel->params[6] = 0; + return 1; +@@ -189,8 +189,8 @@ RegisterSelMacro(161, TLI1(161), NoMask) + DI_Image* dest_orig = new DI_Image; + dest_orig->CreateImage(width, height, ByPP); + CopyRect(*dest_orig, 0, 0, dest, sel->x3, sel->y3, width, height); +- sel->params[0] = int(dest_orig->data); +- sel->params[1] = int(dest_orig); ++ sel->params[0] = long(dest_orig->data); ++ sel->params[1] = long(dest_orig); + sel->params[2] = width; sel->params[3] = height; + } + if (sel->arg4 != 0) { +@@ -250,8 +250,8 @@ RegisterSelMacro(162, TLI1(162), NoMask) + DI_Image* dest_orig = new DI_Image; + dest_orig->CreateImage(width, height, ByPP); + CopyRect(*dest_orig, 0, 0, dest, sel->x3, sel->y3, width, height); +- sel->params[0] = int(dest_orig->data); +- sel->params[1] = int(dest_orig); ++ sel->params[0] = long(dest_orig->data); ++ sel->params[1] = long(dest_orig); + if (sel->arg4 != 0) { + max_count = (width > height) ? width : height; + max_count /= sel->arg4; +@@ -292,8 +292,8 @@ RegisterSelMacro(163, TLI1(163), NoMask) + DI_Image* dest_orig = new DI_Image; + dest_orig->CreateImage(width, height, ByPP); + CopyRect(*dest_orig, 0, 0, dest, sel->x3, sel->y3, width, height); +- sel->params[0] = int(dest_orig->data); +- sel->params[1] = int(dest_orig); ++ sel->params[0] = long(dest_orig->data); ++ sel->params[1] = long(dest_orig); + /* max count の計算 */ + int i; for (i=0; i<16; i++) { + int c = 1<CreateImage(src.width, src.height, ByPP); + CopyRect(*orig, 0, 0, src, 0, 0, src.width, src.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + } + DI_Image* src_orig = (DI_Image*)sel->params[0]; + int max_count = (sel->arg6 >> 16) - 1; +@@ -395,7 +395,7 @@ RegisterSelMacro(210, TLI3(210,211,213), + DI_Image* orig = new DI_Image; + orig->CreateImage(dest.width, dest.height, ByPP); + CopyRect(*orig, 0, 0, dest, 0, 0, dest.width, dest.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + sel->params[1] = 0; + } + DI_Image* dest_orig = (DI_Image*)sel->params[0]; +@@ -477,7 +477,7 @@ RegisterSelMacro(212, TLI1(212), NoMask) + DI_Image* orig = new DI_Image; + orig->CreateImage(dest.width, dest.height, ByPP); + CopyRect(*orig, 0, 0, dest, 0, 0, dest.width, dest.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + sel->params[1] = 0; + return 0; + } +@@ -555,7 +555,7 @@ RegisterSelMacro(220, TLI2(220,221), NoM + DI_Image* orig = new DI_Image; + orig->CreateImage(dest.width, dest.height, ByPP); + CopyRect(*orig, 0, 0, dest, 0, 0, dest.width, dest.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + } + int max_count = 31; + if (sel->arg4 != 0) max_count = sel->arg4; +@@ -609,7 +609,7 @@ RegisterSelMacro(222, TLI1(222), NoMask) + DI_Image* orig = new DI_Image; + orig->CreateImage(dest.width, dest.height, ByPP); + CopyRect(*orig, 0, 0, dest, 0, 0, dest.width, dest.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + sel->params[1] = 0; + return 0; + } +@@ -673,7 +673,7 @@ RegisterSelMacro(230, TLI9(230,231,232,2 + if (count == 0) { + // 画像の差分を得る + difimage = MakeDifImage(dest, src, mask, sel); +- sel->params[0] = int(difimage); ++ sel->params[0] = long(difimage); + + // テーブルを初期化 + if (sel->sel_no < 234) { /* 上下左右に fade */ +@@ -715,7 +715,7 @@ RegisterSelMacro(230, TLI9(230,231,232,2 + cur->direction = UtoD; + blockdata->next->next->next = cur; + } +- sel->params[1] = int(blockdata); ++ sel->params[1] = long(blockdata); + return 0; + } + +@@ -747,12 +747,12 @@ RegisterSelMacro(260, TLI8(260,261,262,2 + if (count == 0) { + // 画像の差分を得る + difimage = MakeDifImage(dest, src, mask, sel); +- sel->params[0] = int(difimage); ++ sel->params[0] = long(difimage); + + // テーブルを初期化 + blockdata = new BlockFadeData(4, 4, 0, 0, width, height); + blockdata->diag_dir = BlockFadeData::DDIR( (sel->sel_no-260)%4); +- sel->params[1] = int(blockdata); ++ sel->params[1] = long(blockdata); + return 0; + } + +@@ -787,7 +787,7 @@ RegisterSelMacro(270, TLI4(270,271,272,2 + if (count == 0) { + // 画像の差分を得る + difimage = MakeDifImage(dest, src, mask, sel); +- sel->params[0] = int(difimage); ++ sel->params[0] = long(difimage); + + // テーブルを初期化 + curblock = new BlockFadeData(4, 4, 0, 0, width/2, height/2); +@@ -818,7 +818,7 @@ RegisterSelMacro(270, TLI4(270,271,272,2 + blockdata->next->next->next->diag_dir = BlockFadeData::DRtoUL; + break; + } +- sel->params[1] = int(blockdata); ++ sel->params[1] = long(blockdata); + return 0; + } + +@@ -847,7 +847,7 @@ RegisterSelMacro(240, TLI4(240,241,242,2 + DI_Image* orig = new DI_Image; + orig->CreateImage(dest.width, dest.height, ByPP); + CopyRect(*orig, 0, 0, dest, 0, 0, dest.width, dest.height); +- sel->params[0] = int(orig); ++ sel->params[0] = long(orig); + } + DI_Image* dest_orig = (DI_Image*)sel->params[0]; + int width = sel->x2 - sel->x1 + 1; int height = sel->y2 - sel->y1 + 1; Index: pkgsrc/games/xkanon/patches/patch-image__di__selimpl3.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__selimpl3.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-image__di__selimpl3.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,79 @@ +$NetBSD: patch-image__di__selimpl3.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +- Explicitly use unsigned char instead of char because + `char' is unsigned by default on arm and powerpc. +- Fix LP64 issue. +- Appease LP64 warnings. + +--- image_di_selimpl3.cc.orig 2009-08-29 23:12:54.000000000 +0000 ++++ image_di_selimpl3.cc +@@ -22,10 +22,10 @@ RegisterSelMacro(70, TLI4(70,71,72,73), + int i; for (i=0; iarg4 * (AyuSys::Rand(sel->arg5)); + } +- sel->params[0] = int(line_counts); ++ sel->params[0] = long(line_counts); + sel->params[1] = line_deal; + sel->params[2] = line_width; +- sel->params[3] = int(line_firsts); ++ sel->params[3] = long(line_firsts); + sel->params[4] = -1; + } + int* line_counts = (int*)sel->params[0]; +@@ -82,9 +82,9 @@ RegisterSelMacro(70, TLI4(70,71,72,73), + char* s = src_pt + lf * ByPP; + char* m = mask_pt + lf; + int j; for (j=0; jarg4 * (AyuSys::Rand(sel->arg5)); + } +- sel->params[0] = int(line_counts); ++ sel->params[0] = long(line_counts); + sel->params[1] = line_deal; + sel->params[2] = line_width; +- sel->params[3] = int(line_firsts); ++ sel->params[3] = long(line_firsts); + sel->params[4] = -1; + } + int* line_counts = (int*)sel->params[0]; +@@ -364,8 +364,8 @@ RegisterSelMacro(170, TLI1(170), WithMas + DI_Image* dest_orig = new DI_Image; + dest_orig->CreateImage(width, height, ByPP); + CopyRect(*dest_orig, 0, 0, dest, sel->x3, sel->y3, width, height); +- sel->params[0] = int(dest_orig->data); +- sel->params[1] = int(dest_orig); ++ sel->params[0] = long(dest_orig->data); ++ sel->params[1] = long(dest_orig); + } + int w_width = 0; int copy_line = 0; + DI_Image& dest_orig = *(DI_Image*)sel->params[1]; +@@ -387,7 +387,7 @@ RegisterSelMacro(170, TLI1(170), WithMas + else + CopyRect(dest_orig, 0, sel->params[2]+i, src, sel->x1, sel->y1+sel->params[2]+i, width, copy_line-sel->params[2]); + } +-printf("copy line %3d->%3d\n",sel->params[2],copy_line); ++printf("copy line %3ld->%3d\n",sel->params[2],copy_line); + sel->params[2] = copy_line; + } + double theta = sel->params[3]*(4*3.141592*2/360); /* sin うねりの最初の角度は radian 単位で sel->params[3]*4 度 */ Index: pkgsrc/games/xkanon/patches/patch-image__pdt.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__pdt.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-image__pdt.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,24 @@ +$NetBSD: patch-image__pdt.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Appease LP64 warnings. + +--- image_pdt.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ image_pdt.cc +@@ -341,7 +341,7 @@ PDT_Reader::~PDT_Reader() { + DI_ImageMaskPDT::PTHREAD_LOG_EXTERNAL("delete PDT reader\n"); + while(head_cache) { + PDT_Item* next = head_cache->NextItem(); +- DI_ImageMaskPDT::PTHREAD_LOG_EXTERNAL("delete PDT cache %08x\n",int(head_cache)); ++ DI_ImageMaskPDT::PTHREAD_LOG_EXTERNAL("delete PDT cache %08lx\n",long(head_cache)); + delete head_cache; + head_cache = next; + } +@@ -379,7 +379,7 @@ PDT_Item::PDT_Item(char* path, int h, Ay + + PDT_Item::~PDT_Item() { + if (image) { +- DI_ImageMaskPDT::PTHREAD_LOG_EXTERNAL("delete PDT item; %08x\n",int(image)); ++ DI_ImageMaskPDT::PTHREAD_LOG_EXTERNAL("delete PDT item; %08lx\n",long(image)); + if (dynamic_cast(image)) { + dynamic_cast(image)->WaitForReading(); // thread を終了させる + } Index: pkgsrc/games/xkanon/patches/patch-senario.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-senario.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-senario.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,24 @@ +$NetBSD: patch-senario.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Appease LP64 warnings. + +--- senario.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ senario.cc +@@ -1241,7 +1241,7 @@ int SENARIO_DECODE::Decode(void) + #endif + break; + #else /* 終端をきちんと検知する */ +- printf("Error: cmd 0x00, seen %d, point %d: invalid data len?\n",seen_no,data-basedata); ++ printf("Error: cmd 0x00, seen %d, point %d: invalid data len?\n",seen_no,(int)(data-basedata)); + #endif + goto error; + } +@@ -3100,7 +3100,7 @@ void SENARIO_DECODE::DumpData(void) { + unsigned char* d = data; d -= 0x50; + if (d < basedata) d = basedata; + int i; for (i=0; i<20; i++) { +- printf("%6x: ",d-basedata); ++ printf("%6x: ",(int)(d-basedata)); + int j; for (j=0; j<16; j++) { + printf("%02x ",int(*d++)&0xff); + } Index: pkgsrc/games/xkanon/patches/patch-senario__flags.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-senario__flags.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-senario__flags.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,43 @@ +$NetBSD: patch-senario__flags.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Don't use signedness checks to check 8bit chars +because `char' is unsigned by default on arm and powerpc. + +--- senario_flags.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ senario_flags.cc +@@ -254,7 +254,7 @@ void SENARIO_FLAGSDecode::DecodeSenario_ + inline int strwlen(const char* s) { + int l=0; + while(*s) { +- if (*s < 0 && s[1] != 0) s++; ++ if ((*s & 0x80) != 0 && s[1] != 0) s++; + l++; s++; + } + return l; +@@ -262,7 +262,7 @@ inline int strwlen(const char* s) { + inline int strwpos(const char* s, int p) { + const char* s_orig = s; + while(*s && p) { +- if (*s < 0 && s[1] != 0) s++; ++ if ((*s & 0x80) != 0 && s[1] != 0) s++; + s++; p--; + } + return s - s_orig; +@@ -270,7 +270,7 @@ inline int strwpos(const char* s, int p) + } + inline void strwfix(char* s, int len) { + while(*s && len) { +- if (*s < 0 && s[1] != 0) { ++ if ((*s & 0x80) != 0 && s[1] != 0) { + if (len <= 1) break; + s++; len--; + } +@@ -501,7 +501,7 @@ void SENARIO_FLAGSDecode::DecodeSenario_ + strcpy(tmp, StrVar(arg2)); + int l = strwlen(tmp); if (l == 0) l=1; + l = strwpos(tmp,l-1); +- if (tmp[l] < 0) SetVar(arg1, (int(tmp[l])&0xff) | ((int(tmp[l+1])&0xff)<<8)); ++ if ((tmp[l] & 0x80) != 0) SetVar(arg1, (int(tmp[l])&0xff) | ((int(tmp[l+1])&0xff)<<8)); + else SetVar(arg1, int(tmp[l])&0xff); + tmp[l] = 0; + SetStrVar(arg2, tmp); Index: pkgsrc/games/xkanon/patches/patch-system__config.cc diff -u /dev/null pkgsrc/games/xkanon/patches/patch-system__config.cc:1.1 --- /dev/null Thu Jan 2 09:56:49 2020 +++ pkgsrc/games/xkanon/patches/patch-system__config.cc Thu Jan 2 09:56:49 2020 @@ -0,0 +1,23 @@ +$NetBSD: patch-system__config.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $ + +Appease LP64 warnings. + +--- system_config.cc.orig 2008-01-06 06:20:00.000000000 +0000 ++++ system_config.cc +@@ -536,14 +536,14 @@ public: + fprintf(f, ") "); + } + if (old_data) { +- fprintf(f, "old %08x(%d", (unsigned int)(old_data), old_data[0]); ++ fprintf(f, "old %08lx(%d", (unsigned long)(old_data), old_data[0]); + int i;for (i=1; iEnd(); + } +- if (drawed_text[text_pos] < 0 && drawed_text[text_pos+1] == 0) { ++ if ((drawed_text[text_pos] & 0x80) != 0 && drawed_text[text_pos+1] == 0) { + text_pos++; + if (twinfo) twinfo->End(); + return; +@@ -641,7 +641,7 @@ void AyuWindow::DrawOneChar(int flag) { + } + int is_kin = NO_KINSOKU; + // 1バイト文字 : 描画しない +- if (drawed_text[text_pos] > 0) { ++ if (drawed_text[text_pos] > 0 && (drawed_text[text_pos] & 0x80) == 0) { + // 改行:色も元に戻す + if (drawed_text[text_pos] == '\n') { + text_x_pos = text_x_first; --_----------=_157795900953600--