pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/games/xkanon



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.

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@localhost
+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 <EMAIL@ADDRESS>, 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<stdlib.h>
+ #include<string.h>
+ 
+-#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<width; j++) {
+-                      char mask_char = *mask_line++;
++                      unsigned char mask_char = *mask_line++;
+                       if (mask_char) {
+-                              if (mask_char == -1) {
++                              if (mask_char == 0xff) {
+                                       Copy1Pixel(d,s);
+                               } else {
+                                       SetMiddleColor(d, s, mask_char);
+@@ -224,9 +224,9 @@ void CopyRectWithMask_Xbpp(DI_Image& des
+               char* mask_line = mask + (i+src_y)*swidth + src_x;
+               char* d = dest_pt; char* s = src_pt;
+               for (j=0; j<width; j++) {
+-                      char mask_char = *mask_line++;
++                      unsigned char mask_char = *mask_line++;
+                       if (mask_char) {
+-                              if (mask_char == -1) {
++                              if (mask_char == 0xff) {
+                                       Copy1Pixel(d,s);
+                               } else {
+                                       SetMiddleColor(d, s, mask_char);
+@@ -538,9 +538,9 @@ void CopyRectWithFadeWithMask_Xbpp(DI_Im
+               char* mask_line = mask + (i+src_y)*swidth + src_x;
+               char* d = dest_pt; char* s = src_pt;
+               for (j=0; j<width; j++) {
+-                      char mask_char = *mask_line++;
++                      unsigned char mask_char = *mask_line++;
+                       if (mask_char) {
+-                              if (mask_char == -1) {
++                              if (mask_char == 0xff) {
+                                       SetMiddleColorWithTable(d, s, table);
+                               } else {
+                                       int tmp; Copy1Pixel((char*)&tmp, d);
+@@ -814,7 +814,7 @@ struct SetMojiBit_fadepixel {
+               table.SetTable(c1, c2, c3);
+       }
+       void FadePixel(char* dest) const {
+-              int src = 0;
++              long src = 0;
+               SetMiddleColorWithTable(dest, (char*)src, table);
+       }
+ };
Index: pkgsrc/games/xkanon/patches/patch-image__di__impl.h
diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__impl.h:1.1
--- /dev/null   Thu Jan  2 09:56:49 2020
+++ pkgsrc/games/xkanon/patches/patch-image__di__impl.h Thu Jan  2 09:56:49 2020
@@ -0,0 +1,19 @@
+$NetBSD: patch-image__di__impl.h,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_impl.h.orig       2009-08-29 23:30:51.000000000 +0000
++++ image_di_impl.h
+@@ -276,9 +276,9 @@ DifImage* Drawer<T>::MakeDifImage(DI_Ima
+                       char* m = mask + i*mbpl;
+                       memcpy(masked_line, dest+i*dbpl, width*ByPP);
+                       for (j=0; j<width; j++) {
+-                              char mask_char = *m;
++                              unsigned char mask_char = *m;
+                               if (mask_char) {
+-                                      if (mask_char == -1) {
++                                      if (mask_char == 0xff) {
+                                               Copy1Pixel(d, s);
+                                        }else {
+                                               SetMiddleColor(d, s, mask_char);
Index: pkgsrc/games/xkanon/patches/patch-image__di__seldraw.cc
diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__seldraw.cc:1.1
--- /dev/null   Thu Jan  2 09:56:49 2020
+++ pkgsrc/games/xkanon/patches/patch-image__di__seldraw.cc     Thu Jan  2 09:56:49 2020
@@ -0,0 +1,15 @@
+$NetBSD: patch-image__di__seldraw.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $
+
+Fix LP64 issue.  
+
+--- image_di_seldraw.cc.orig   2008-01-06 06:20:00.000000000 +0000
++++ image_di_seldraw.cc
+@@ -36,7 +36,7 @@ static int MaskedDraw(SelDrawBase* drawe
+               masked_src->CreateImage(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; j<width; j++) {
+-                      char mask_char = IsMask ? *m : -1;
++                      unsigned char mask_char = IsMask ? *m : 0xff;
+                       if (mask_char) {
+-                              if (mask_char == -1) {
++                              if (mask_char == 0xff) {
+                                       Copy1Pixel(d, s);
+                               } else {
+                                       SetMiddleColor(d,s, mask_char);
+@@ -709,9 +709,9 @@ RegisterSelMacro(60, TLI4(60,61,62,63), 
+                                       if (xi+4 < width) xlen = 4;
+                                       else xlen = width-xi;
+                                       for (xj=0; xj<xlen; xj++) {
+-                                              char mask_char = IsMask ? *m : -1;
++                                              unsigned char mask_char = IsMask ? *m : 0xff;
+                                               if (mask_char) {
+-                                                      if (mask_char == -1) Copy1Pixel(d,s);
++                                                      if (mask_char == 0xff) Copy1Pixel(d,s);
+                                                       else SetMiddleColor( d, s, mask_char);
+                                               }
+                                               d += ByPP; s += ByPP; m++;
+@@ -794,9 +794,9 @@ RegisterSelMacro(120, TLI10(30,31,100,10
+                               m = mask - draw_points[i];
+                       }
+                       for (j=0; j<height; j++) {
+-                              char mask_char = IsMask ? *m : -1;
++                              unsigned char mask_char = IsMask ? *m : 0xff;
+                               if (mask_char) {
+-                                      if (mask_char == -1) {
++                                      if (mask_char == 0xff) {
+                                               Copy1Pixel(d, s);
+                                       } else {
+                                               SetMiddleColor(d,s, mask_char);
+@@ -818,9 +818,9 @@ RegisterSelMacro(120, TLI10(30,31,100,10
+                               m = mask - draw_points[i]*src.width;
+                       }
+                       for (j=0; j<width; j++) {
+-                              char mask_char = IsMask ? *m : -1;
++                              unsigned char mask_char = IsMask ? *m : 0xff;
+                               if (mask_char) {
+-                                      if (mask_char == -1) {
++                                      if (mask_char == 0xff) {
+                                               Copy1Pixel(d, s);
+                                       } else {
+                                               SetMiddleColor(d, s, mask_char);
Index: pkgsrc/games/xkanon/patches/patch-image__di__selimpl2.cc
diff -u /dev/null pkgsrc/games/xkanon/patches/patch-image__di__selimpl2.cc:1.1
--- /dev/null   Thu Jan  2 09:56:49 2020
+++ pkgsrc/games/xkanon/patches/patch-image__di__selimpl2.cc    Thu Jan  2 09:56:49 2020
@@ -0,0 +1,162 @@
+$NetBSD: patch-image__di__selimpl2.cc,v 1.1 2020/01/02 09:56:49 tsutsui Exp $
+
+Fix LP64 issue.  
+
+--- image_di_selimpl2.cc.orig  2009-08-29 23:12:45.000000000 +0000
++++ image_di_selimpl2.cc
+@@ -19,7 +19,7 @@ RegisterSelMacro(50, TLI1(50), WithMask)
+       if (count == 0) {
+               // ��賫�ϻ�ν��
+               difimage = MakeDifImage(dest, src, mask, sel);
+-              sel->params[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<<i;
+@@ -340,7 +340,7 @@ RegisterSelMacro(200, TLI1(200), NoMask)
+               DI_Image* orig = new DI_Image;
+               orig->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; i<line_deal; i++) {
+                       line_counts[i] = -sel->arg4 * (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; j<dw; j++) {
+-                              char mask_char = IsMask ? *m : -1;
++                              unsigned char mask_char = IsMask ? *m : 0xff;
+                               if (mask_char) {
+-                                      if (mask_char == -1) Copy1Pixel(d ,s);
++                                      if (mask_char == 0xff) Copy1Pixel(d ,s);
+                                       else SetMiddleColor(d, s, mask_char);
+                               }
+                               d+= ByPP; s+=ByPP; if (IsMask) m++;
+@@ -101,9 +101,9 @@ RegisterSelMacro(70, TLI4(70,71,72,73), 
+                       char* s = src_pt + lf*src.bpl;
+                       char* m = mask_pt + lf*src.width;
+                       int j; for (j=0; j<dw; j++) {
+-                              char mask_char = IsMask ? *m : -1;
++                              unsigned char mask_char = IsMask ? *m : 0xff;
+                               if (mask_char) {
+-                                      if (mask_char == -1) Copy1Pixel(d,s);
++                                      if (mask_char == 0xff) Copy1Pixel(d,s);
+                                       else SetMiddleColor(d, s, mask_char);
+                               }
+                               d += dest.bpl; s += src.bpl; if (IsMask) m += src.width;
+@@ -139,10 +139,10 @@ RegisterSelMacro(80, TLI4(80,81,82,83), 
+               int i; for (i=0; i<line_deal; i++) {
+                       line_counts[i] = -sel->arg4 * (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<DI_ImageMaskPDT*>(image)) {
+                       dynamic_cast<DI_ImageMaskPDT*>(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; i<item_deal; i++) {
+                               fprintf(f, ",%d",old_data[i]);
+                       }
+                       fprintf(f, ") ");
+               }
+               if (new_data) {
+-                      fprintf(f, "new %08x(%d", (unsigned int)(new_data), new_data[0]);
++                      fprintf(f, "new %08lx(%d", (unsigned long)(new_data), new_data[0]);
+                       int i;for (i=1; i<item_deal; i++) {
+                               fprintf(f, ",%d",new_data[i]);
+                       }
Index: pkgsrc/games/xkanon/patches/patch-window__text.cc
diff -u /dev/null pkgsrc/games/xkanon/patches/patch-window__text.cc:1.1
--- /dev/null   Thu Jan  2 09:56:49 2020
+++ pkgsrc/games/xkanon/patches/patch-window__text.cc   Thu Jan  2 09:56:49 2020
@@ -0,0 +1,25 @@
+$NetBSD: patch-window__text.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.
+
+--- window_text.cc.orig        2009-08-29 23:28:52.000000000 +0000
++++ window_text.cc
+@@ -624,7 +624,7 @@ void AyuWindow::DrawOneChar(int flag) {
+       if (drawed_text[text_pos] == 0) {
+               if (twinfo) twinfo->End();
+       }
+-      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;



Home | Main Index | Thread Index | Old Index