summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
Diffstat (limited to 'packaging')
-rwxr-xr-xpackaging/OSX/get.sh4
-rwxr-xr-xpackaging/OSX/gethttps.sh4
-rw-r--r--packaging/debian/changelog525
-rw-r--r--packaging/debian/compat1
-rw-r--r--packaging/debian/control73
-rw-r--r--packaging/debian/copyright1094
-rw-r--r--packaging/debian/manaplus-data.install9
-rw-r--r--packaging/debian/manaplus-data.links11
-rw-r--r--packaging/debian/manaplus.docs3
-rw-r--r--packaging/debian/manaplus.install4
-rw-r--r--packaging/debian/manaplus.lintian-overrides3
-rw-r--r--packaging/debian/manaplus.manpages2
-rw-r--r--packaging/debian/manaplus.menu5
-rwxr-xr-xpackaging/debian/rules20
-rw-r--r--packaging/debian/source.lintian-overrides2
-rw-r--r--packaging/debian/source/format1
-rw-r--r--packaging/debian/source/include-binaries1
-rw-r--r--packaging/debian/upstream-signing-key.pgpbin2205 -> 0 bytes
-rw-r--r--packaging/debian/watch2
-rwxr-xr-xpackaging/nacl/ports/manaplus/build.sh33
-rw-r--r--packaging/nacl/ports/manaplus/pkg_info6
-rwxr-xr-xpackaging/nacl/ports/sdl-gfx/build.sh11
-rw-r--r--packaging/nacl/ports/sdl-gfx/pkg_info7
-rw-r--r--packaging/nacl/ports/sdl-net/build.sh9
-rw-r--r--packaging/nacl/ports/sdl-net/nacl.patch1590
-rw-r--r--packaging/nacl/ports/sdl-net/pkg_info8
-rw-r--r--packaging/nacl/ports/sdl/build.sh24
-rw-r--r--packaging/nacl/ports/sdl/nacl.patch529
-rw-r--r--packaging/nacl/ports/sdl/pkg_info7
-rw-r--r--packaging/openSUSE Build Service/manaplus.spec101
-rw-r--r--packaging/patches/physfs/zip_seek.diff13
-rw-r--r--packaging/windows/FileAssociation.nsh190
-rw-r--r--packaging/windows/evol.nsi497
-rwxr-xr-xpackaging/windows/make-translations.sh6
-rw-r--r--packaging/windows/make-translations.vbs42
-rw-r--r--packaging/windows/portable.xml6
-rw-r--r--packaging/windows/setup.nsi514
-rw-r--r--packaging/windows/setup_finish.bmpbin206038 -> 0 bytes
-rw-r--r--packaging/windows/setup_welcome.bmpbin206038 -> 0 bytes
-rw-r--r--packaging/windows/tmw.nsi486
40 files changed, 0 insertions, 5843 deletions
diff --git a/packaging/OSX/get.sh b/packaging/OSX/get.sh
deleted file mode 100755
index bfaee6b61..000000000
--- a/packaging/OSX/get.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# if have account in gitlab.com
-git clone git@gitlab.com:manaplus/manaplus-xcode.git ../../Xcode
diff --git a/packaging/OSX/gethttps.sh b/packaging/OSX/gethttps.sh
deleted file mode 100755
index 549555e7a..000000000
--- a/packaging/OSX/gethttps.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# if not have account in gitlab.com
-git clone https://gitlab.com/manaplus/manaplus-xcode.git ../../Xcode
diff --git a/packaging/debian/changelog b/packaging/debian/changelog
deleted file mode 100644
index ef96f736a..000000000
--- a/packaging/debian/changelog
+++ /dev/null
@@ -1,525 +0,0 @@
-manaplus (1.6.4.23-2) UNRELEASED; urgency=medium
-
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 24 Apr 2016 12:16:34 +0200
-
-manaplus (1.6.4.23-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 24 Apr 2016 11:49:16 +0200
-
-manaplus (1.6.4.9-1) unstable; urgency=medium
-
- * New upstream release.
- * Override false positive spelling-error-in-binary lintian warning.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 17 Apr 2016 12:22:55 +0200
-
-manaplus (1.6.3.26-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 30 Mar 2016 10:17:53 +0200
-
-manaplus (1.6.3.12-1) unstable; urgency=medium
-
- * New upstream release.
- * Enable full hardening.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 17 Mar 2016 19:25:51 +0100
-
-manaplus (1.6.2.13-1) unstable; urgency=medium
-
- * New upstream release.
- * Bump Standards-Version to 3.9.7 (no changes required).
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 16 Feb 2016 13:24:18 +0100
-
-manaplus (1.6.1.30-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 01 Feb 2016 14:16:42 +0100
-
-manaplus (1.6.1.16-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
- * Update build depdency to libpng-dev.
- Closes: #810192
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 18 Jan 2016 10:09:13 +0100
-
-manaplus (1.6.1.2-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 04 Jan 2016 11:48:33 +0100
-
-manaplus (1.5.12.19-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 21 Dec 2015 13:36:58 +0100
-
-manaplus (1.5.12.5-1) unstable; urgency=medium
-
- * New upstream release.
- - Adjust file list in debian/copyright.
- * Overwrite false positive missing-license-paragraph-in-dep5-copyright
- lintian warning.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 16 Dec 2015 10:42:32 +0100
-
-manaplus (1.5.11.7-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 11 Nov 2015 13:33:42 +0100
-
-manaplus (1.5.10.24-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 26 Oct 2015 17:56:26 +0100
-
-manaplus (1.5.10.10-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 12 Oct 2015 16:01:14 +0200
-
-manaplus (1.5.9.26-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 06 Oct 2015 10:15:05 +0200
-
-manaplus (1.5.9.12-1) unstable; urgency=medium
-
- * New upstream release.
- * Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 21 Sep 2015 14:21:46 +0200
-
-manaplus (1.5.8.29-1) unstable; urgency=medium
-
- * New upstream release.
- * Fix some debian/copyright lintian warnings.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 02 Sep 2015 20:27:04 +0200
-
-manaplus (1.5.8.15-1) unstable; urgency=medium
-
- * New upstream release.
- - Adjust debian/copyright.
- * Add missing license paragraphs.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 27 Aug 2015 19:32:00 +0200
-
-manaplus (1.5.8.1-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 04 Aug 2015 10:56:05 +0200
-
-manaplus (1.5.7.18-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 27 Jul 2015 17:58:54 +0200
-
-manaplus (1.5.7.4-1) unstable; urgency=low
-
- * New upstream release.
- * Remove around 3700 useless lines from debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 07 Jul 2015 10:12:39 +0200
-
-manaplus (1.5.6.20-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 22 Jun 2015 10:46:24 +0200
-
-manaplus (1.5.6.6-1) unstable; urgency=low
-
- * New upstream release.
- - Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 16 Jun 2015 13:36:42 +0200
-
-manaplus (1.5.5.23-1) unstable; urgency=low
-
- * New upstream release.
- - Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Fri, 29 May 2015 11:51:16 +0200
-
-manaplus (1.5.5.9-1) unstable; urgency=low
-
- * New upstream release.
- - Adjust debian/copyright.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 12 May 2015 20:07:43 +0200
-
-manaplus (1.5.4.25-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 26 Apr 2015 13:46:44 +0200
-
-manaplus (1.5.4.11-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 13 Apr 2015 18:42:23 +0200
-
-manaplus (1.5.3.14-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 17 Mar 2015 15:42:44 +0100
-
-manaplus (1.5.2.28-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 02 Mar 2015 08:40:07 +0100
-
-manaplus (1.5.2.14-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sat, 14 Feb 2015 16:30:45 +0100
-
-manaplus (1.5.1.31-1) unstable; urgency=low
-
- * New upstream release.
- * Fix some wildcard-matches-nothing-in-dep5-copyright warnings.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 05 Feb 2015 10:52:57 +0100
-
-manaplus (1.5.1.17-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 19 Jan 2015 19:32:00 +0100
-
-manaplus (1.5.1.3-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 07 Jan 2015 11:00:54 +0100
-
-manaplus (1.4.12.20-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 30 Dec 2014 19:26:33 +0100
-
-manaplus (1.4.12.6-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Updated debian/copyright.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Fri, 12 Dec 2014 18:24:32 +0100
-
-manaplus (1.4.11.8-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 09 Nov 2014 21:20:57 +0100
-
-manaplus (1.4.10.25-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Updated debian/copyright.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 27 Oct 2014 18:15:40 +0100
-
-manaplus (1.4.10.11-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 12 Oct 2014 12:23:57 +0200
-
-manaplus (1.4.9.27-1) unstable; urgency=medium
-
- * New upstream release.
- * Bump Standards-Version to 3.9.6 (no changes required).
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 30 Sep 2014 18:10:18 +0200
-
-manaplus (1.4.9.14-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 17 Sep 2014 10:40:04 +0200
-
-manaplus (1.4.8.30-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 03 Sep 2014 10:15:37 +0200
-
-manaplus (1.4.8.16-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 20 Aug 2014 09:15:48 +0200
-
-manaplus (1.4.8.2-1) unstable; urgency=medium
-
- [ Andrei Karas ]
- * Enable parallel building (Closes: #755944)
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 07 Aug 2014 10:14:44 +0200
-
-manaplus (1.4.7.19-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 24 Jul 2014 19:07:38 +0200
-
-manaplus (1.4.7.5-1) unstable; urgency=medium
-
- * New upstream release.
- * Switch away from hardening-wrapper.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 07 Jul 2014 13:21:59 +0200
-
-manaplus (1.4.6.7-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 10 Jun 2014 10:47:30 +0200
-
-manaplus (1.4.5.24-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 27 May 2014 10:43:52 +0200
-
-manaplus (1.4.5.10-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sat, 10 May 2014 22:13:42 +0200
-
-manaplus (1.4.4.26-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 28 Apr 2014 09:57:12 +0200
-
-manaplus (1.4.4.12-1) unstable; urgency=medium
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 14 Apr 2014 21:15:45 +0200
-
-manaplus (1.4.3.29-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 31 Mar 2014 11:43:54 +0200
-
-manaplus (1.4.3.15-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 17 Mar 2014 10:03:57 +0100
-
-manaplus (1.4.3.1.1-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Remove guichan from dependency.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 06 Mar 2014 09:57:20 +0100
-
-manaplus (1.4.2.15-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 20 Feb 2014 11:25:50 +0100
-
-manaplus (1.4.2.1-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add missing directories into package
- * Add fonts-wqy-microhei into recommends
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 12 Feb 2014 09:14:45 +0100
-
-manaplus (1.4.1.18-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 20 Jan 2014 10:44:16 +0100
-
-manaplus (1.4.1.4-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Fri, 10 Jan 2014 11:00:12 +0100
-
-manaplus (1.3.12.22-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Update copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
- * Remove another extra license file.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Fri, 03 Jan 2014 11:32:13 +0100
-
-manaplus (1.3.11.24-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 02 Dec 2013 13:52:14 +0100
-
-manaplus (1.3.11.10-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 18 Nov 2013 15:19:44 +0100
-
-manaplus (1.3.10.27.2-1) unstable; urgency=low
-
- * New upstream release.
- * Bump Standards-Version to 3.9.5 (no changes needed).
- * Don't explicitly request xz compression - dpkg 1.17 does this by default.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Fri, 08 Nov 2013 11:57:04 +0100
-
-manaplus (1.3.10.12-1) unstable; urgency=low
-
- * New upstream release.
- * Overwrite false positive lintian warning about a spelling error.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 15 Oct 2013 10:30:56 +0200
-
-manaplus (1.3.9.29-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 07 Oct 2013 10:26:14 +0200
-
-manaplus (1.3.9.15-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 17 Sep 2013 10:35:51 +0200
-
-manaplus (1.3.9.1-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 02 Sep 2013 10:54:55 +0200
-
-manaplus (1.3.8.18-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Wed, 21 Aug 2013 08:50:08 +0200
-
-manaplus (1.3.8.4-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 13 Aug 2013 10:18:49 +0200
-
-manaplus (1.3.7.21-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Tue, 23 Jul 2013 12:48:43 +0200
-
-manaplus (1.3.7.7.1-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 11 Jul 2013 10:09:41 +0200
-
-manaplus (1.3.6.9-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 10 Jun 2013 10:53:26 +0200
-
-manaplus (1.3.5.26-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
- * Update homepage URL.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Mon, 27 May 2013 09:14:03 +0200
-
-manaplus (1.3.5.12-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sat, 18 May 2013 21:06:29 +0200
-
-manaplus (1.3.4.28-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Add new files to copyright file.
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Sun, 05 May 2013 21:01:43 +0200
-
-manaplus (1.3.4.14-1) unstable; urgency=low
-
- [ Andrei Karas ]
- * Initial release (Closes: #627141)
-
- [ Patrick Matthäi ]
- * New upstream release.
-
- -- Patrick Matthäi <pmatthaei@debian.org> Thu, 18 Apr 2013 12:49:18 +0200
diff --git a/packaging/debian/compat b/packaging/debian/compat
deleted file mode 100644
index ec635144f..000000000
--- a/packaging/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-9
diff --git a/packaging/debian/control b/packaging/debian/control
deleted file mode 100644
index 406256830..000000000
--- a/packaging/debian/control
+++ /dev/null
@@ -1,73 +0,0 @@
-Source: manaplus
-Section: games
-Priority: optional
-Homepage: http://manaplus.org/
-Maintainer: Andrei Karas <akaras@inbox.ru>
-Uploaders: Patrick Matthäi <pmatthaei@debian.org>
-Standards-Version: 3.9.7
-Build-Depends: debhelper (>= 9),
- libcurl4-gnutls-dev,
- libgl1-mesa-dev,
- libsdl1.2-dev,
- libsdl-image1.2-dev,
- libsdl-net1.2-dev,
- libsdl-mixer1.2-dev,
- libphysfs-dev,
- libpng-dev,
- libxml2-dev,
- zlib1g-dev,
- libsdl-ttf2.0-dev,
- libsdl-gfx1.2-dev,
- dh-autoreconf,
- autopoint
-
-Package: manaplus
-Architecture: any
-Depends: ${shlibs:Depends},
- ${misc:Depends},
- manaplus-data (= ${source:Version}),
- xsel,
- x11-utils,
- xdg-utils
-Suggests: mumble
-Description: Extended client for Evol Online and The Mana World
- ManaPlus is an extended client for Evol Online, The Mana World, and similar
- servers based on a fork of eAthena. Evol Online is a 2D fantasy-style game
- which aims to create a friendly environment for interacting with others where
- people can escape reality and enjoy themselves. The Mana World (TMW) is a
- serious effort to create an innovative free and open source MMORPG.
- TMW uses 2D graphics and aims to create a large and diverse interactive world.
-
-Package: manaplus-dbg
-Section: debug
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends},
- manaplus (= ${binary:Version})
-Description: Extended client for Evol Online and The Mana World (debugging symbols)
- ManaPlus is an extended client for Evol Online, The Mana World, and similar
- servers based on a fork of eAthena. Evol Online is a 2D fantasy-style game
- which aims to create a friendly environment for interacting with others where
- people can escape reality and enjoy themselves. The Mana World (TMW) is a
- serious effort to create an innovative free and open source MMORPG.
- TMW uses 2D graphics and aims to create a large and diverse interactive world.
- .
- This package provides debugging symbols for the manaplus package.
-
-Package: manaplus-data
-Architecture: all
-Depends: ${misc:Depends},
- ttf-dejavu-core,
- fonts-liberation
-Recommends: manaplus,
- fonts-mplus,
- fonts-wqy-microhei
-Description: Extended client for Evol Online and The Mana World (data files)
- ManaPlus is an extended client for Evol Online, The Mana World, and similar
- servers based on a fork of eAthena. Evol Online is a 2D fantasy-style game
- which aims to create a friendly environment for interacting with others where
- people can escape reality and enjoy themselves. The Mana World (TMW) is a
- serious effort to create an innovative free and open source MMORPG.
- TMW uses 2D graphics and aims to create a large and diverse interactive world.
- .
- This package contains the data files.
diff --git a/packaging/debian/copyright b/packaging/debian/copyright
deleted file mode 100644
index 846ea7e19..000000000
--- a/packaging/debian/copyright
+++ /dev/null
@@ -1,1094 +0,0 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: manaplus
-Source: http://download.evolonline.org/manaplus/download/
-
-Files: *
-Copyright: 2004-2009 The Mana World Development Team
- 2009-2010 The Mana Developers
- 2011-2014 The ManaPlus Developers
-License: GPL-2
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- .
- On Debian systems, the complete text of the GNU General
- Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
-
-Files: src/debug/*
-Copyright: 2004-2008 Wu Yongwei <adah at users dot sourceforge dot net>
- 2012-2014 The ManaPlus Developers
-License: zlib
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- .
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- .
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
- .
- This file is part of Stones of Nvwa:
- http://sourceforge.net/projects/nvwa
- .
- original version changed for ManaPlus
-
-Files: src/sdl2gfx/*
-Copyright: 2001-2012 Andreas Schiffler
- 2013-2014 The ManaPlus Developers
-License: zlib
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- .
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- .
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- .
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- .
- 3. This notice may not be removed or altered from any source
- distribution.
-
-Files: src/particle/animationparticle.cpp
- src/particle/animationparticle.h
- src/gui/widgets/dropdown.cpp
- src/gui/widgets/dropdown.h
- src/gui/widgets/textpreview.cpp
- src/gui/widgets/textpreview.h
- src/particle/imageparticle.cpp
- src/particle/imageparticle.h
- src/particle/particle.cpp
- src/particle/particle.h
- src/particle/particleemitter.cpp
- src/particle/particleemitter.h
- src/particle/particleemitterprop.h
- src/particle/rotationalparticle.cpp
- src/particle/rotationalparticle.h
- src/particle/textparticle.cpp
- src/particle/textparticle.h
-Copyright: 2006-2009 The Mana World Development Team
- 2009-2010 The Mana Developers
- 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/being/beingflag.h
- src/being/compounditem.h
- src/being/homunculusinfo.h
- src/being/mercenaryinfo.h
- src/being/petinfo.h
- src/gamemodifiers.cpp
- src/gamemodifiers.h
- src/gui/buttoninfo.h
- src/gui/buttontext.h
- src/gui/colorpair.h
- src/gui/fonts/textchunklist.cpp
- src/gui/fonts/textchunklist.h
- src/gui/fonts/textchunksmall.cpp
- src/gui/fonts/textchunksmall.h
- src/gui/models/colormodel.cpp
- src/gui/models/colormodel.h
- src/gui/models/extendedlistmodel.h
- src/gui/models/extendednamesmodel.cpp
- src/gui/models/extendednamesmodel.h
- src/gui/models/fontsizechoicelistmodel.h
- src/gui/models/listmodel.h
- src/gui/models/namesmodel.cpp
- src/gui/models/namesmodel.h
- src/gui/models/opengllistmodel.h
- src/gui/models/questsmodel.h
- src/gui/themeinfo.h
- src/gui/touchactiondata.cpp
- src/gui/touchactiondata.h
- src/gui/widgets/equipmentbox.h
- src/gui/widgets/equipmentpage.h
- src/gui/widgets/extendedlistboxitem.h
- src/gui/widgets/setupbuttonitem.cpp
- src/gui/widgets/setupbuttonitem.h
- src/gui/widgets/tabs/chat/gmtab.cpp
- src/gui/widgets/tabs/chat/gmtab.h
- src/gui/widgets/tabs/chat/langtab.cpp
- src/gui/widgets/tabs/chat/langtab.h
- src/gui/widgets/tabs/shortcuttab.h
- src/gui/widgets/tabs/socialattacktab.h
- src/gui/widgets/tabs/socialfriendsfunctor.h
- src/gui/widgets/tabs/socialfriendstab.h
- src/gui/widgets/tabs/socialnavigationtab.h
- src/gui/widgets/tabs/socialpickuptab.h
- src/gui/widgets/tabs/socialplayerstab.h
- src/gui/widgets/tabs/socialtabbase.h
- src/input/inputactionsortfunctor.h
- src/input/inputfunction.h
- src/input/inputitem.h
- src/input/pages/chat.cpp
- src/input/pages/chat.h
- src/input/pages/gui.cpp
- src/input/pages/gui.h
- src/listeners/awaylistener.h
- src/listeners/charrenamelistener.cpp
- src/listeners/charrenamelistener.h
- src/listeners/focuslistener.h
- src/listeners/pincodelistener.cpp
- src/listeners/pincodelistener.h
- src/listeners/playerlistener.cpp
- src/listeners/playerlistener.h
- src/listeners/renamelistener.cpp
- src/listeners/renamelistener.h
- src/listeners/uploadlistener.cpp
- src/net/auctionhandler.h
- src/net/bankhandler.h
- src/net/buyingstorehandler.h
- src/net/cashshophandler.h
- src/net/eathena/auctionhandler.cpp
- src/net/eathena/auctionhandler.h
- src/net/eathena/bankhandler.cpp
- src/net/eathena/bankhandler.h
- src/net/eathena/buyingstorehandler.cpp
- src/net/eathena/buyingstorehandler.h
- src/net/eathena/cashshophandler.cpp
- src/net/eathena/cashshophandler.h
- src/net/eathena/elementalhandler.cpp
- src/net/eathena/elementalhandler.h
- src/net/eathena/familyhandler.cpp
- src/net/eathena/familyhandler.h
- src/net/eathena/friendshandler.cpp
- src/net/eathena/friendshandler.h
- src/net/eathena/homunculushandler.cpp
- src/net/eathena/homunculushandler.h
- src/net/eathena/mailhandler.cpp
- src/net/eathena/mailhandler.h
- src/net/eathena/mercenaryhandler.cpp
- src/net/eathena/mercenaryhandler.h
- src/net/eathena/serverfeatures.cpp
- src/net/eathena/serverfeatures.h
- src/net/elementalhandler.h
- src/net/familyhandler.h
- src/net/friendshandler.h
- src/net/homunculushandler.h
- src/net/mailhandler.h
- src/net/mercenaryhandler.h
- src/net/packetlimiter.cpp
- src/net/packetlimiter.h
- src/net/questhandler.h
- src/net/serverfeatures.h
- src/net/tmwa/auctionhandler.cpp
- src/net/tmwa/auctionhandler.h
- src/net/tmwa/bankhandler.cpp
- src/net/tmwa/bankhandler.h
- src/net/tmwa/buyingstorehandler.cpp
- src/net/tmwa/buyingstorehandler.h
- src/net/tmwa/cashshophandler.cpp
- src/net/tmwa/cashshophandler.h
- src/net/tmwa/elementalhandler.cpp
- src/net/tmwa/elementalhandler.h
- src/net/tmwa/familyhandler.cpp
- src/net/tmwa/familyhandler.h
- src/net/tmwa/friendshandler.cpp
- src/net/tmwa/friendshandler.h
- src/net/tmwa/homunculushandler.cpp
- src/net/tmwa/homunculushandler.h
- src/net/tmwa/mailhandler.cpp
- src/net/tmwa/mailhandler.h
- src/net/tmwa/mercenaryhandler.cpp
- src/net/tmwa/mercenaryhandler.h
- src/net/tmwa/serverfeatures.cpp
- src/net/tmwa/serverfeatures.h
- src/resources/delayedmanager.cpp
- src/resources/delayedmanager.h
- src/resources/map/mapitem.cpp
- src/resources/map/mapitem.h
- src/resources/map/maprowvertexes.h
- src/resources/map/objectslayer.cpp
- src/resources/map/objectslayer.h
- src/resources/map/speciallayer.cpp
- src/resources/map/speciallayer.h
- src/resources/modinfo.cpp
- src/resources/modinfo.h
- src/resources/skillowner.h
- src/resources/skilltype.h
- src/utils/booleanoptions.h
- src/utils/chatutils.cpp
- src/utils/chatutils.h
- src/utils/gettexthelper.cpp
- src/utils/gettexthelper.h
-Copyright: 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/events/actionevent.h
- src/events/event.h
- src/events/inputevent.h
- src/events/inputguievent.h
- src/events/keyevent.h
- src/events/mouseevent.h
- src/events/selectionevent.h
- src/gui/cliprect.cpp
- src/gui/cliprect.h
- src/gui/color.cpp
- src/gui/color.h
- src/gui/rect.cpp
- src/gui/rect.h
- src/gui/widgets/basiccontainer.cpp
- src/gui/widgets/basiccontainer.h
- src/gui/widgets/basiccontainer2.cpp
- src/gui/widgets/basiccontainer2.h
- src/gui/widgets/widget.cpp
- src/gui/widgets/widget.h
- src/input/key.cpp
- src/input/key.h
- src/input/mouseinput.h
- src/listeners/actionlistener.h
- src/listeners/keylistener.h
- src/listeners/mouselistener.h
- src/listeners/selectionlistener.h
- src/listeners/widgetlistener.h
- src/utils/sdlpixel.h
-Copyright: 2011-2014 The ManaPlus Developers
- 2004-2008 Olof Naessén and Per Larsson
-License: GPL-2
-
-Files: src/gui/models/sortlistmodelinv.h
- src/gui/models/soundsmodel.h
- src/gui/models/updatetypemodel.h
- src/gui/widgets/flowcontainer.cpp
- src/gui/widgets/flowcontainer.h
- src/gui/widgets/horizontcontainer.cpp
- src/gui/widgets/horizontcontainer.h
- src/events/mouseevent.h
- src/gui/widgets/vertcontainer.cpp
- src/gui/widgets/vertcontainer.h
- src/net/download.cpp
- src/net/download.h
- src/net/ea/guildhandler.cpp
- src/net/ea/guildhandler.h
- src/net/eathena/guildhandler.cpp
- src/net/eathena/guildhandler.h
- src/net/tmwa/guildhandler.cpp
- src/net/tmwa/guildhandler.h
- src/resources/ambientlayer.cpp
- src/resources/ambientlayer.h
-Copyright: 2009-2010 The Mana Developers
- 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/utils/base64.cpp
-Copyright: 1997-2000 PHP Development Team
-License: GPL-2+ or PHP
-
-License: GPL-2+
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- .
- On Debian systems, the complete text of the GNU General
- Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
-
-License: PHP
- Redistribution and use in source and binary forms, with or without
- modification, is permitted provided that the following conditions
- are met:
- .
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- .
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- .
- 3. The name "PHP" must not be used to endorse or promote products
- derived from this software without prior permission from the
- PHP Group. This does not apply to add-on libraries or tools
- that work in conjunction with PHP. In such a case the PHP
- name may be used to indicate that the product supports PHP.
- .
- 4. The PHP Group may publish revised and/or new versions of the
- license from time to time. Each version will be given a
- distinguishing version number.
- Once covered code has been published under a particular version
- of the license, you may always continue to use it under the
- terms of that version. You may also choose to use such covered
- code under the terms of any subsequent version of the license
- published by the PHP Group. No one other than the PHP Group has
- the right to modify the terms applicable to covered code created
- under this License.
- .
- 5. Redistributions of any form whatsoever must retain the following
- acknowledgment:
- "This product includes PHP, freely available from
- http://www.php.net/".
- .
- 6. The software incorporates the Zend Engine, a product of Zend
- Technologies, Ltd. ("Zend"). The Zend Engine is licensed to the
- PHP Association (pursuant to a grant from Zend that can be
- found at http://www.php.net/license/ZendGrant/) for
- distribution to you under this license agreement, only as a
- part of PHP. In the event that you separate the Zend Engine
- (or any portion thereof) from the rest of the software, or
- modify the Zend Engine, or any portion thereof, your use of the
- separated or modified Zend Engine software shall not be governed
- by this license, and instead shall be governed by the license
- set forth at http://www.zend.com/license/ZendLicense/.
- .
- THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
- ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
- DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Files: src/utils/base64.h
-Copyright: 1997-1998 PHP Development Team
-License: GPL-2+ or PHP
-
-Files: src/net/beinghandler.h
-Copyright: 2004 The Mana World Development Team
- 2012-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/gui/windows/outfitwindow.cpp
- src/gui/windows/outfitwindow.h
- src/gui/windows/shortcutwindow.cpp
- src/gui/windows/shortcutwindow.h
- src/gui/widgets/containerplacer.cpp
- src/gui/widgets/containerplacer.h
- src/gui/widgets/itemshortcutcontainer.cpp
- src/gui/widgets/itemshortcutcontainer.h
- src/gui/widgets/layout.cpp
- src/gui/widgets/layout.h
- src/gui/widgets/shortcutcontainer.cpp
- src/gui/widgets/shortcutcontainer.h
- src/position.cpp
- src/utils/gettext.h
- src/utils/stringutils.cpp
- src/utils/stringutils.h
- src/vector.cpp
- src/vector.h
-Copyright: 2007-2009 The Mana World Development Team
- 2009-2010 The Mana Developers
- 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/gui/models/iconsmodel.h
- src/gui/models/magicschoolmodel.h
- src/gui/windows/editdialog.cpp
- src/gui/windows/editdialog.h
- src/gui/windows/killstats.cpp
- src/gui/windows/killstats.h
- src/gui/widgets/tabs/setup_theme.cpp
- src/gui/widgets/tabs/setup_theme.h
- src/gui/windows/textcommandeditor.cpp
- src/gui/windows/textcommandeditor.h
- src/gui/windows/whoisonline.cpp
- src/gui/windows/whoisonline.h
- src/gui/widgets/spellshortcutcontainer.cpp
- src/gui/widgets/spellshortcutcontainer.h
- src/spellmanager.cpp
- src/spellmanager.h
- src/textcommand.cpp
- src/textcommand.h
-Copyright: 2009 The Mana World Development Team
- 2009-2010 Andrei Karas
- 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: data/perserver/*
- src/being/beingcacheentry.h
- src/beingequipbackend.cpp
- src/beingequipbackend.h
- src/debug.h
- src/graphicsvertexes.cpp
- src/graphicsvertexes.h
- src/gui/widgets/tabs/chat/langtab.cpp
- src/gui/widgets/tabs/chat/langtab.h
- src/gui/widgets/setupitem.cpp
- src/gui/widgets/setupitem.h
- src/gui/widgets/tabs/setuptabscroll.cpp
- src/gui/widgets/tabs/setuptabscroll.h
- src/gui/widgets/sliderlist.cpp
- src/gui/widgets/sliderlist.h
- src/localconsts.h
- src/resources/db/deaddb.cpp
- src/resources/db/deaddb.h
- src/test/testlauncher.cpp
- src/test/testlauncher.h
- src/test/testmain.cpp
- src/test/testmain.h
- src/utils/langs.cpp
- src/utils/langs.h
- src/utils/paths.cpp
- src/utils/paths.h
- src/utils/process.cpp
- src/utils/process.h
- src/utils/timer.cpp
- src/utils/timer.h
-Copyright: 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/utils/copynpaste.cpp
- src/utils/copynpaste.h
-Copyright: 2001-2010 Wormux Team
- 2011-2014 The ManaPlus Developers
-License: GPL-2
-
-Files: src/gui/sdlinput.cpp
- src/gui/sdlinput.h
-Copyright: 2004, 2005, 2006, 2007 Olof Naessén and Per Larsson
- 2007-2010 The Mana World Development Team
- 2011-2014 The ManaPlus Developers
-License: BSD-3-clause
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the project nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
- .
- THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
-Files: src/mumblemanager.h src/mumblemanager.cpp
-Copyright: Mumble Wiki editors
- The ManaPlus Developers
-License: public-domain
- Based on code from http://mumble.sourceforge.net/Link
- Example for mumble integration.
- .
- Which is declared Public Domain:
- All code listed below is in the public domain and can be used, shared or
- modified freely.
-
-Files: src/utils/physfsrwops.cpp
- src/utils/physfsrwops.h
-Copyright: Ryan C. Gordon
- 2012-2014 The ManaPlus Developers
-License: public-domain
-
-Files: data/themes/golden-delicious/*
-Copyright: 2012-2013 Francesco Miglietta
- 2013 t3st3r
- 2012-2014 ManaPlus developers
-License: CC-BY-SA-3.0
-
-Files: data/themes/jewelry/*
-Copyright: 2012-2013 Francesco Miglietta
- 2012-2014 ManaPlus developers
-License: CC-BY-SA-3.0
-
-Files: data/themes/pink/*
-Copyright: 2011 Aline Ferraz de Souza
- 2011-2014 ManaPlus developers
-License: CC-BY-SA-3.0
-
-Files: data/themes/unity/*
-Copyright: 2011 Aline Ferraz de Souza
- 2011-2014 ManaPlus developers
-License: CC-BY-SA-3.0
-
-Files: data/graphics/gui/target-cursor-in-range-l.xml
- data/graphics/gui/target-cursor-in-range-m.xml
- data/graphics/gui/target-cursor-in-range-s.xml
- data/graphics/gui/target-cursor-normal-l.xml
- data/graphics/gui/target-cursor-normal-m.xml
- data/graphics/gui/target-cursor-normal-s.xml
-Copyright: 2013 Alige
- 2013 Evol Online
- 2013-2014 The ManaPlus Developers
-License: CC-BY-SA-3.0
-
-Files: data/graphics/flags/*
-Copyright: 2012-2013 Alige
- 2012-2014 The ManaPlus Developers
-License: CC-BY-SA-3.0
-
-Files: data/graphics/sprites/arrow_down.png
- data/graphics/sprites/arrow_left.png
- data/graphics/sprites/arrow_right.png
- data/graphics/sprites/arrow_up.png
- data/graphics/gui/buttonplay.png
-Copyright: 2011-2014 The ManaPlus Developers
-License: CC-BY-SA-3.0
-
-Files: data/sfx/system/attention.ogg
- data/sfx/system/finish.ogg
- data/sfx/system/start.ogg
- data/sfx/system/notify.ogg
- data/sfx/system/watcher.ogg
- data/sfx/system/error.ogg
- data/sfx/system/move.ogg
- data/sfx/system/email.ogg
- data/sfx/system/reminder.ogg
-Comment: taken wav from psi-plus and converted to ogg
-Copyright: 2009-2010 Rion (Sergey Ilinyh) <rion4ik@gmail.com>
- 2009-2010 Khryukin Evgeny
- 2009-2010 Virnik
- 2006-2007 Maciej Niedzielski
- 2009-2010 Kravtsov Nikolai
- 2009-2010 VampiRus
- 2009-2010 Ivan Borzenkov <ivan1986@list.ru>
- 2011 Ivan Romanov aka taurus <drizt@land.ru>
- 2003 Justin Karneges <justin@affinix.com>
- 2010 senu
- 2008 Ustyugov Roman <qtdevel@gmail.com>
- 2010 Michail Pishchagin <mblsha@users.sourceforge.net>
- 2010 Dmitriy.trt
- 2008 Armando Jagucki
- 2010 Vitaly Tonkacheyev
- 2010 KukuRuzo
- 2011 Aleksey Andreev
-License: GPL-2+
-
-Files: data/sfx/system/chat1.ogg
- data/sfx/system/chat2.ogg
- data/sfx/system/complete.ogg
- data/sfx/system/incoming.ogg
- data/sfx/system/offline.ogg
- data/sfx/system/online.ogg
- data/sfx/system/send.ogg
-Comment: taken wav from psi-plus and converted to ogg
-Copyright: 2001-2008 Justin Karneges <justin@affinix.com>
- 2003-2009 Michail Pishchagin <mblsha@users.sourceforge.net>
- 2001-2008 Remko Troncon
- 2010-2011 Rion <rion4ik@gmail.com>
- 2006-2007 Kevin Smith <kismith@psi-im.org>,
- 2006-2008 Martin Hostettler
- 2006-2008 Joonas Govenius
- 1992-2007 Trolltech ASA.
- 2005 SilverSoft.Net (Denis Kozadaev) <denis@silversoft.net>
- 2009 Barracuda Networks, Inc.
- 2010 Tobias Markmann
- 2006 Cestonaro Thilo
- 2007 Maciek Niedzielski
-License: GPL-2+ with OpenSSL exception
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
- .
- This program is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in `/usr/share/common-licenses/GPL-2'.
- .
- As a special exception, Justin Karneges gives permission to link this program
- with the Qt Library (commercial or non-commercial edition), and distribute the
- resulting executable, without including the source code for the Qt library
- in the source distribution.
- .
- As a special exception, Justin Karneges gives permission to link this program
- with the OpenSSL Library (or with modified versions of it that use the same
- license as the "OpenSSL" library), and distribute the linked executables.
- You must obey the GNU General Public License in all respects for all of the
- code used other than "OpenSSL". If you modify this file, you may extend this
- exception to your version of the file, but you are not obligated to do so. If
- you do not wish to do so, delete this exception statement from your version.
-
-Files: data/fonts/dejavusans-bold.ttf
- data/fonts/dejavusans.ttf
- data/fonts/dejavusansmono-bold.ttf
- data/fonts/dejavusansmono.ttf
- data/fonts/dejavuserifcondensed-bold.ttf
- data/fonts/dejavuserifcondensed.ttf
-Copyright: Stepan Roh <src@users.sourceforge.net>
- abysta at yandex.ru
- Adrian Schroeter
- Aleksey Chalabyan
- Andrey Valentinovich Panov
- Ben Laenen
- Besarion Gugushvili
- Bhikkhu Pesala
- Clayborne Arevalo
- Dafydd Harries
- Danilo Segan
- Davide Viti
- David Jez
- David Lawrence Ramsey
- Denis Jacquerye
- Dwayne Bailey
- Eugeniy Meshcheryakov
- Gee Fung Sit
- Heikki Lindroos
- James Cloos
- James Crippen
- John Karp
- Keenan Pepper
- Lars Naesbye Christensen
- Lior Halphon
- MaEr
- Mashrab Kuvatov
- Max Berger
- Mederic Boquien
- Michael Everson
- MihailJP
- Misu Moldovan
- Nguyen Thai Ngoc Duy
- Nicolas Mailhot
- Norayr Chilingarian
- Ognyan Kulev
- Ondrej Koala Vacha
- Peter Cernak
- Remy Oudompheng
- Roozbeh Pournader
- Rouben Hakobian
- Sahak Petrosyan
- Sander Vesik
- Stepan Roh
- Stephen Hartke
- Steve Tinney
- Tavmjong Bah
- Thomas Henlich
- Tim May
- Valentin Stoykov
- Vasek Stodulka
- Wesley Transue
-License: public-domain
-
-Files: data/fonts/mplus-1p-bold.ttf
- data/fonts/mplus-1p-regular.ttf
-Copyright: 2002-2012 Coji Morishita
-License: public-domain
-
-License: CC-BY-SA-3.0
- THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
- COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
- COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
- AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
- .
- BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
- TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
- BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
- CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
- CONDITIONS.
- .
- 1. Definitions
- .
- a. "Adaptation" means a work based upon the Work, or upon the Work and
- other pre-existing works, such as a translation, adaptation, derivative
- work, arrangement of music or other alterations of a literary or
- artistic work, or phonogram or performance and includes cinematographic
- adaptations or any other form in which the Work may be recast,
- transformed, or adapted including in any form recognizably derived from
- the original, except that a work that constitutes a Collection will not
- be considered an Adaptation for the purpose of this License. For the
- avoidance of doubt, where the Work is a musical work, performance or
- phonogram, the synchronization of the Work in timed-relation with a
- moving image ("synching") will be considered an Adaptation for the
- purpose of this License.
- .
- b. "Collection" means a collection of literary or artistic works, such
- as encyclopedias and anthologies, or performances, phonograms or
- broadcasts, or other works or subject matter other than works listed in
- Section 1(f) below, which, by reason of the selection and arrangement of
- their contents, constitute intellectual creations, in which the Work is
- included in its entirety in unmodified form along with one or more other
- contributions, each constituting separate and independent works in
- themselves, which together are assembled into a collective whole. A work
- that constitutes a Collection will not be considered an Adaptation (as
- defined below) for the purposes of this License.
- .
- c. "Creative Commons Compatible License" means a license that is listed
- at http://creativecommons.org/compatiblelicenses that has been approved
- by Creative Commons as being essentially equivalent to this License,
- including, at a minimum, because that license: (i) contains terms that
- have the same purpose, meaning and effect as the License Elements of
- this License; and, (ii) explicitly permits the relicensing of
- adaptations of works made available under that license under this
- License or a Creative Commons jurisdiction license with the same License
- Elements as this License.
- .
- d. "Distribute" means to make available to the public the original and
- copies of the Work or Adaptation, as appropriate, through sale or other
- transfer of ownership.
- .
- e. "License Elements" means the following high-level license attributes
- as selected by Licensor and indicated in the title of this License:
- Attribution, ShareAlike.
- .
- f. "Licensor" means the individual, individuals, entity or entities that
- offer(s) the Work under the terms of this License.
- .
- g. "Original Author" means, in the case of a literary or artistic work,
- the individual, individuals, entity or entities who created the Work or
- if no individual or entity can be identified, the publisher; and in
- addition (i) in the case of a performance the actors, singers,
- musicians, dancers, and other persons who act, sing, deliver, declaim,
- play in, interpret or otherwise perform literary or artistic works or
- expressions of folklore; (ii) in the case of a phonogram the producer
- being the person or legal entity who first fixes the sounds of a
- performance or other sounds; and, (iii) in the case of broadcasts, the
- organization that transmits the broadcast.
- .
- h. "Work" means the literary and/or artistic work offered under the
- terms of this License including without limitation any production in the
- literary, scientific and artistic domain, whatever may be the mode or
- form of its expression including digital form, such as a book, pamphlet
- and other writing; a lecture, address, sermon or other work of the same
- nature; a dramatic or dramatico-musical work; a choreographic work or
- entertainment in dumb show; a musical composition with or without words;
- a cinematographic work to which are assimilated works expressed by a
- process analogous to cinematography; a work of drawing, painting,
- architecture, sculpture, engraving or lithography; a photographic work
- to which are assimilated works expressed by a process analogous to
- photography; a work of applied art; an illustration, map, plan, sketch
- or three-dimensional work relative to geography, topography,
- architecture or science; a performance; a broadcast; a phonogram; a
- compilation of data to the extent it is protected as a copyrightable
- work; or a work performed by a variety or circus performer to the extent
- it is not otherwise considered a literary or artistic work.
- .
- i. "You" means an individual or entity exercising rights under this
- License who has not previously violated the terms of this License with
- respect to the Work, or who has received express permission from the
- Licensor to exercise rights under this License despite a previous
- violation.
- .
- j. "Publicly Perform" means to perform public recitations of the Work
- and to communicate to the public those public recitations, by any means
- or process, including by wire or wireless means or public digital
- performances; to make available to the public Works in such a way that
- members of the public may access these Works from a place and at a place
- individually chosen by them; to perform the Work to the public by any
- means or process and the communication to the public of the performances
- of the Work, including by public digital performance; to broadcast and
- rebroadcast the Work by any means including signs, sounds or images.
- .
- k. "Reproduce" means to make copies of the Work by any means including
- without limitation by sound or visual recordings and the right of
- fixation and reproducing fixations of the Work, including storage of a
- protected performance or phonogram in digital form or other electronic
- medium.
- .
- 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
- limit, or restrict any uses free from copyright or rights arising from
- limitations or exceptions that are provided for in connection with the
- copyright protection under copyright law or other applicable laws.
- .
- 3. License Grant. Subject to the terms and conditions of this License,
- Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
- perpetual (for the duration of the applicable copyright) license to
- exercise the rights in the Work as stated below:
- .
- a. to Reproduce the Work, to incorporate the Work into one or more
- Collections, and to Reproduce the Work as incorporated in the
- Collections;
- .
- b. to create and Reproduce Adaptations provided that any such
- Adaptation, including any translation in any medium, takes reasonable
- steps to clearly label, demarcate or otherwise identify that changes
- were made to the original Work. For example, a translation could be
- marked "The original work was translated from English to Spanish," or a
- modification could indicate "The original work has been modified.";
- .
- c. to Distribute and Publicly Perform the Work including as incorporated
- in Collections; and,
- .
- d. to Distribute and Publicly Perform Adaptations.
- .
- e. For the avoidance of doubt:
- .
- i. Non-waivable Compulsory License Schemes. In those jurisdictions in
- which the right to collect royalties through any statutory or compulsory
- licensing scheme cannot be waived, the Licensor reserves the exclusive
- right to collect such royalties for any exercise by You of the rights
- granted under this License;
- .
- ii. Waivable Compulsory License Schemes. In those jurisdictions in which
- the right to collect royalties through any statutory or compulsory
- licensing scheme can be waived, the Licensor waives the exclusive right
- to collect such royalties for any exercise by You of the rights granted
- under this License; and,
- .
- iii. Voluntary License Schemes. The Licensor waives the right to collect
- royalties, whether individually or, in the event that the Licensor is a
- member of a collecting society that administers voluntary licensing
- schemes, via that society, from any exercise by You of the rights
- granted under this License.
- .
- The above rights may be exercised in all media and formats whether now
- known or hereafter devised. The above rights include the right to make
- such modifications as are technically necessary to exercise the rights
- in other media and formats. Subject to Section 8(f), all rights not
- expressly granted by Licensor are hereby reserved.
- .
- 4. Restrictions. The license granted in Section 3 above is expressly
- made subject to and limited by the following restrictions:
- .
- a. You may Distribute or Publicly Perform the Work only under the terms
- of this License. You must include a copy of, or the Uniform Resource
- Identifier (URI) for, this License with every copy of the Work You
- Distribute or Publicly Perform. You may not offer or impose any terms on
- the Work that restrict the terms of this License or the ability of the
- recipient of the Work to exercise the rights granted to that recipient
- under the terms of the License. You may not sublicense the Work. You
- must keep intact all notices that refer to this License and to the
- disclaimer of warranties with every copy of the Work You Distribute or
- Publicly Perform. When You Distribute or Publicly Perform the Work, You
- may not impose any effective technological measures on the Work that
- restrict the ability of a recipient of the Work from You to exercise the
- rights granted to that recipient under the terms of the License. This
- Section 4(a) applies to the Work as incorporated in a Collection, but
- this does not require the Collection apart from the Work itself to be
- made subject to the terms of this License. If You create a Collection,
- upon notice from any Licensor You must, to the extent practicable,
- remove from the Collection any credit as required by Section 4(c), as
- requested. If You create an Adaptation, upon notice from any Licensor
- You must, to the extent practicable, remove from the Adaptation any
- credit as required by Section 4(c), as requested.
- .
- b. You may Distribute or Publicly Perform an Adaptation only under the
- terms of: (i) this License; (ii) a later version of this License with
- the same License Elements as this License; (iii) a Creative Commons
- jurisdiction license (either this or a later license version) that
- contains the same License Elements as this License (e.g.,
- Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
- License. If you license the Adaptation under one of the licenses
- mentioned in (iv), you must comply with the terms of that license. If
- you license the Adaptation under the terms of any of the licenses
- mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
- comply with the terms of the Applicable License generally and the
- following provisions: (I) You must include a copy of, or the URI for,
- the Applicable License with every copy of each Adaptation You Distribute
- or Publicly Perform; (II) You may not offer or impose any terms on the
- Adaptation that restrict the terms of the Applicable License or the
- ability of the recipient of the Adaptation to exercise the rights
- granted to that recipient under the terms of the Applicable License;
- (III) You must keep intact all notices that refer to the Applicable
- License and to the disclaimer of warranties with every copy of the Work
- as included in the Adaptation You Distribute or Publicly Perform; (IV)
- when You Distribute or Publicly Perform the Adaptation, You may not
- impose any effective technological measures on the Adaptation that
- restrict the ability of a recipient of the Adaptation from You to
- exercise the rights granted to that recipient under the terms of the
- Applicable License. This Section 4(b) applies to the Adaptation as
- incorporated in a Collection, but this does not require the Collection
- apart from the Adaptation itself to be made subject to the terms of the
- Applicable License.
- .
- c. If You Distribute, or Publicly Perform the Work or any Adaptations or
- Collections, You must, unless a request has been made pursuant to
- Section 4(a), keep intact all copyright notices for the Work and
- provide, reasonable to the medium or means You are utilizing: (i) the
- name of the Original Author (or pseudonym, if applicable) if supplied,
- and/or if the Original Author and/or Licensor designate another party or
- parties (e.g., a sponsor institute, publishing entity, journal) for
- attribution ("Attribution Parties") in Licensor's copyright notice,
- terms of service or by other reasonable means, the name of such party or
- parties; (ii) the title of the Work if supplied; (iii) to the extent
- reasonably practicable, the URI, if any, that Licensor specifies to be
- associated with the Work, unless such URI does not refer to the
- copyright notice or licensing information for the Work; and (iv) ,
- consistent with Ssection 3(b), in the case of an Adaptation, a credit
- identifying the use of the Work in the Adaptation (e.g., "French
- translation of the Work by Original Author," or "Screenplay based on
- original Work by Original Author"). The credit required by this Section
- 4(c) may be implemented in any reasonable manner; provided, however,
- that in the case of a Adaptation or Collection, at a minimum such credit
- will appear, if a credit for all contributing authors of the Adaptation
- or Collection appears, then as part of these credits and in a manner at
- least as prominent as the credits for the other contributing authors.
- For the avoidance of doubt, You may only use the credit required by this
- Section for the purpose of attribution in the manner set out above and,
- by exercising Your rights under this License, You may not implicitly or
- explicitly assert or imply any connection with, sponsorship or
- endorsement by the Original Author, Licensor and/or Attribution Parties,
- as appropriate, of You or Your use of the Work, without the separate,
- express prior written permission of the Original Author, Licensor and/or
- Attribution Parties.
- .
- d. Except as otherwise agreed in writing by the Licensor or as may be
- otherwise permitted by applicable law, if You Reproduce, Distribute or
- Publicly Perform the Work either by itself or as part of any Adaptations
- or Collections, You must not distort, mutilate, modify or take other
- derogatory action in relation to the Work which would be prejudicial to
- the Original Author's honor or reputation. Licensor agrees that in those
- jurisdictions (e.g. Japan), in which any exercise of the right granted
- in Section 3(b) of this License (the right to make Adaptations) would be
- deemed to be a distortion, mutilation, modification or other derogatory
- action prejudicial to the Original Author's honor and reputation, the
- Licensor will waive or not assert, as appropriate, this Section, to the
- fullest extent permitted by the applicable national law, to enable You
- to reasonably exercise Your right under Section 3(b) of this License
- (right to make Adaptations) but not otherwise.
- .
- 5. Representations, Warranties and Disclaimer
- .
- UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
- OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
- KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
- FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
- LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
- WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
- EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
- .
- 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
- LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
- ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
- ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
- BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- .
- 7. Termination
- .
- a. This License and the rights granted hereunder will terminate
- automatically upon any breach by You of the terms of this License.
- Individuals or entities who have received Adaptations or Collections
- from You under this License, however, will not have their licenses
- terminated provided such individuals or entities remain in full
- compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
- survive any termination of this License.
- .
- b. Subject to the above terms and conditions, the license granted here
- is perpetual (for the duration of the applicable copyright in the Work).
- Notwithstanding the above, Licensor reserves the right to release the
- Work under different license terms or to stop distributing the Work at
- any time; provided, however that any such election will not serve to
- withdraw this License (or any other license that has been, or is
- required to be, granted under the terms of this License), and this
- License will continue in full force and effect unless terminated as
- stated above.
- .
- 8. Miscellaneous
- .
- a. Each time You Distribute or Publicly Perform the Work or a
- Collection, the Licensor offers to the recipient a license to the Work
- on the same terms and conditions as the license granted to You under
- this License.
- .
- b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
- offers to the recipient a license to the original Work on the same terms
- and conditions as the license granted to You under this License.
- .
- c. If any provision of this License is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of
- the remainder of the terms of this License, and without further action
- by the parties to this agreement, such provision shall be reformed to
- the minimum extent necessary to make such provision valid and
- enforceable.
- .
- d. No term or provision of this License shall be deemed waived and no
- breach consented to unless such waiver or consent shall be in writing
- and signed by the party to be charged with such waiver or consent.
- .
- e. This License constitutes the entire agreement between the parties
- with respect to the Work licensed here. There are no understandings,
- agreements or representations with respect to the Work not specified
- here. Licensor shall not be bound by any additional provisions that may
- appear in any communication from You. This License may not be modified
- without the mutual written agreement of the Licensor and You.
- .
- f. The rights granted under, and the subject matter referenced, in this
- License were drafted utilizing the terminology of the Berne Convention
- for the Protection of Literary and Artistic Works (as amended on
- September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
- Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
- the Universal Copyright Convention (as revised on July 24, 1971). These
- rights and subject matter take effect in the relevant jurisdiction in
- which the License terms are sought to be enforced according to the
- corresponding provisions of the implementation of those treaty
- provisions in the applicable national law. If the standard suite of
- rights granted under applicable copyright law includes additional rights
- not granted under this License, such additional rights are deemed to be
- included in the License; this License is not intended to restrict the
- license of any rights under applicable law.
-
-License: zlib
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
- .
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- .
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
-License: public-domain
- this code is public domain. I make no warranty that it is useful,
- correct, harmless, or environmentally safe.
- .
- This particular file may be used however you like, including copying it
- verbatim into a closed-source project, exploiting it commercially, and
- removing any trace of my name from the source (although I hope you won't
- do that). I welcome enhancements and corrections to this file, but I do
- not require you to send me patches if you make changes. This code has
- NO WARRANTY.
-
-License: GPL-2
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- .
- On Debian systems, the complete text of the GNU General
- Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
diff --git a/packaging/debian/manaplus-data.install b/packaging/debian/manaplus-data.install
deleted file mode 100644
index 186b1cf5a..000000000
--- a/packaging/debian/manaplus-data.install
+++ /dev/null
@@ -1,9 +0,0 @@
-usr/share/locale
-usr/share/manaplus/data/graphics
-usr/share/manaplus/data/help
-usr/share/manaplus/data/icons
-usr/share/manaplus/data/themes
-usr/share/manaplus/data/sfx
-usr/share/manaplus/data/sfx/system
-usr/share/manaplus/data/perserver
-usr/share/manaplus/data/translations
diff --git a/packaging/debian/manaplus-data.links b/packaging/debian/manaplus-data.links
deleted file mode 100644
index 0754ce07d..000000000
--- a/packaging/debian/manaplus-data.links
+++ /dev/null
@@ -1,11 +0,0 @@
-usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf usr/share/manaplus/data/fonts/dejavusans.ttf
-usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf usr/share/manaplus/data/fonts/dejavusans-bold.ttf
-usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf usr/share/manaplus/data/fonts/dejavusansmono.ttf
-usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf usr/share/manaplus/data/fonts/dejavusansmono-bold.ttf
-usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf usr/share/manaplus/data/fonts/liberationsans-bold.ttf
-usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf usr/share/manaplus/data/fonts/liberationsans.ttf
-usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf usr/share/manaplus/data/fonts/liberationsansmono-bold.ttf
-usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf usr/share/manaplus/data/fonts/liberationsansmono.ttf
-usr/share/fonts/truetype/mplus/mplus-1p-bold.ttf usr/share/manaplus/data/fonts/mplus-1p-bold.ttf
-usr/share/fonts/truetype/mplus/mplus-1p-regular.ttf usr/share/manaplus/data/fonts/mplus-1p-regular.ttf
-usr/share/fonts/truetype/wqy/wqy-microhei.ttc usr/share/manaplus/data/fonts/wqy-microhei.ttf
diff --git a/packaging/debian/manaplus.docs b/packaging/debian/manaplus.docs
deleted file mode 100644
index 594403310..000000000
--- a/packaging/debian/manaplus.docs
+++ /dev/null
@@ -1,3 +0,0 @@
-AUTHORS
-README
-docs/FAQ.txt
diff --git a/packaging/debian/manaplus.install b/packaging/debian/manaplus.install
deleted file mode 100644
index b6f7c99b6..000000000
--- a/packaging/debian/manaplus.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/share/applications/manaplus.desktop
-usr/share/manaplus/data/icons/manaplus.png usr/share/pixmaps
-usr/games/manaplus
-data/icons/manaplus.xpm usr/share/pixmaps
diff --git a/packaging/debian/manaplus.lintian-overrides b/packaging/debian/manaplus.lintian-overrides
deleted file mode 100644
index fb8da9244..000000000
--- a/packaging/debian/manaplus.lintian-overrides
+++ /dev/null
@@ -1,3 +0,0 @@
-manaplus: spelling-error-in-binary usr/games/manaplus dont don't
-manaplus: spelling-error-in-binary usr/games/manaplus standart standard
-manaplus: spelling-error-in-binary usr/games/manaplus spaw spawn
diff --git a/packaging/debian/manaplus.manpages b/packaging/debian/manaplus.manpages
deleted file mode 100644
index dfa31fe89..000000000
--- a/packaging/debian/manaplus.manpages
+++ /dev/null
@@ -1,2 +0,0 @@
-docs/manaplus.6
-docs/manaplustest.6
diff --git a/packaging/debian/manaplus.menu b/packaging/debian/manaplus.menu
deleted file mode 100644
index df633b0e9..000000000
--- a/packaging/debian/manaplus.menu
+++ /dev/null
@@ -1,5 +0,0 @@
-?package(manaplus):needs="X11" section="Games/Adventure" \
- title="ManaPlus" \
- longtitle="ManaPlus is a 2D MMORPG client." \
- command="/usr/games/manaplus" \
- icon="/usr/share/pixmaps/manaplus.xpm"
diff --git a/packaging/debian/rules b/packaging/debian/rules
deleted file mode 100755
index 7533b4c82..000000000
--- a/packaging/debian/rules
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/make -f
-
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-
-DEB_CONFIGURE_EXTRA_FLAGS := \
- --bindir=/usr/games
-
-override_dh_auto_configure:
- dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_FLAGS)
-
-override_dh_strip:
- dh_strip -a --dbg-package=manaplus-dbg
-
-override_dh_install:
- dh_install
- rm -f $(CURDIR)/debian/manaplus-data/usr/share/manaplus/data/themes/jewelry/LICENSE.txt
- rm -f $(CURDIR)/debian/manaplus-data/usr/share/manaplus/data/themes/golden-delicious/LICENSE.txt
-
-%:
- dh $@ --parallel --with autoreconf
diff --git a/packaging/debian/source.lintian-overrides b/packaging/debian/source.lintian-overrides
deleted file mode 100644
index 615c5ddde..000000000
--- a/packaging/debian/source.lintian-overrides
+++ /dev/null
@@ -1,2 +0,0 @@
-manaplus source: dep5-copyright-license-name-not-unique
-manaplus source: missing-license-paragraph-in-dep5-copyright gpl-2
diff --git a/packaging/debian/source/format b/packaging/debian/source/format
deleted file mode 100644
index 163aaf8d8..000000000
--- a/packaging/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/packaging/debian/source/include-binaries b/packaging/debian/source/include-binaries
deleted file mode 100644
index 95a390b97..000000000
--- a/packaging/debian/source/include-binaries
+++ /dev/null
@@ -1 +0,0 @@
-debian/upstream-signing-key.pgp
diff --git a/packaging/debian/upstream-signing-key.pgp b/packaging/debian/upstream-signing-key.pgp
deleted file mode 100644
index a8bfab91e..000000000
--- a/packaging/debian/upstream-signing-key.pgp
+++ /dev/null
Binary files differ
diff --git a/packaging/debian/watch b/packaging/debian/watch
deleted file mode 100644
index 1641bca30..000000000
--- a/packaging/debian/watch
+++ /dev/null
@@ -1,2 +0,0 @@
-version=3
-opts=pgpsigurlmangle=s/$/.sig/ http://download.evolonline.org/manaplus/download/latest/manaplus-([\d+.]+)\.tar\.xz
diff --git a/packaging/nacl/ports/manaplus/build.sh b/packaging/nacl/ports/manaplus/build.sh
deleted file mode 100755
index 19f97cabd..000000000
--- a/packaging/nacl/ports/manaplus/build.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2011 The Native Client Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-ConfigureStep() {
- Banner "Configuring ${PACKAGE_NAME}"
-
- SetupCrossEnvironment
-
- # export the nacl tools
- export PKG_CONFIG_PATH=${NACLPORTS_LIBDIR}/pkgconfig
- export PKG_CONFIG_LIBDIR=${NACLPORTS_LIBDIR}
-
- export SDL_CONFIG=${NACLPORTS_LIBDIR}/../bin/sdl-config
- SDL_CFLAGS=`$SDL_CONFIG --cflags`
- SDL_LIBS="-lSDL_image -lSDL_ttf -lSDL_mixer -lSDL_gfx -lSDL_net -lfreetype -ljpeg -lpng16 -lwebp -lvorbisfile -lvorbis -logg -lmikmod -lz -lbz2 -ltiff"
- export LIBS="-L${NACLPORTS_LIBDIR} ${SDL_LIBS} -lnacl_io -lpthread -lRegal -lm"
- export MANAPLUSDIR="${START_DIR}/src"
-
-# autoreconf -i ${SRC_DIR}
- autoreconf -i ${MANAPLUSDIR}
-# ${SRC_DIR}/configure
- ${MANAPLUSDIR}/configure \
- --enable-naclbuild \
- --disable-nls \
- --with-opengl \
- --without-librt \
- --without-mumble \
- --without-dyecmd \
- --host=nacl \
- --prefix=${PREFIX}
-}
diff --git a/packaging/nacl/ports/manaplus/pkg_info b/packaging/nacl/ports/manaplus/pkg_info
deleted file mode 100644
index 314dfb0b7..000000000
--- a/packaging/nacl/ports/manaplus/pkg_info
+++ /dev/null
@@ -1,6 +0,0 @@
-NAME=manaplus
-VERSION=1
-#URL=https://gitlab.com/manaplus/manaplus.git@master
-LICENSE=GPL
-DEPENDS=(sdl sdl-gfx sdl-mixer sdl-ttf sdl-image sdl-net curl libxml2 libwebp zlib)
-SHA1=4178d0c709b34b811d1781fc6dc183ea4979c2b5
diff --git a/packaging/nacl/ports/sdl-gfx/build.sh b/packaging/nacl/ports/sdl-gfx/build.sh
deleted file mode 100755
index f7bfe8572..000000000
--- a/packaging/nacl/ports/sdl-gfx/build.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2014 The Native Client Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# sdl2-config --libs includes -lppapi which cannot be linked
-# with shared libraries, so for now we disable the shared build.
-# In the future we could instead filter out this flag or remove
-# it and force SDL2 programs to add it themselves.
-EXTRA_CONFIGURE_ARGS="--enable-mmx=no --host=nacl --disable-shared"
-export RANLIB=${NACLRANLIB}
-
diff --git a/packaging/nacl/ports/sdl-gfx/pkg_info b/packaging/nacl/ports/sdl-gfx/pkg_info
deleted file mode 100644
index a32b0f393..000000000
--- a/packaging/nacl/ports/sdl-gfx/pkg_info
+++ /dev/null
@@ -1,7 +0,0 @@
-NAME=sdl-gfx
-VERSION=2.0.24
-ARCHIVE_ROOT=SDL_gfx-2.0.24
-URL=http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.24.tar.gz
-LICENSE=LGPL2
-DEPENDS=(sdl)
-SHA1=34e8963188e4845557468a496066a8fa60d5f563
diff --git a/packaging/nacl/ports/sdl-net/build.sh b/packaging/nacl/ports/sdl-net/build.sh
deleted file mode 100644
index 781e4fcfc..000000000
--- a/packaging/nacl/ports/sdl-net/build.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2014 The Native Client Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# sdl2-config --libs includes -lppapi which cannot be linked
-# with shared libraries, so for now we disable the shared build.
-# In the future we could instead filter out this flag or remove
-# it and force SDL2 programs to add it themselves.
-EXTRA_CONFIGURE_ARGS=--disable-shared
diff --git a/packaging/nacl/ports/sdl-net/nacl.patch b/packaging/nacl/ports/sdl-net/nacl.patch
deleted file mode 100644
index f07fdcffd..000000000
--- a/packaging/nacl/ports/sdl-net/nacl.patch
+++ /dev/null
@@ -1,1590 +0,0 @@
-diff -Naur a/Makefile.am b/Makefile.am
---- a/Makefile.am 2007-07-21 09:26:47.000000000 +0400
-+++ b/Makefile.am 2015-11-28 01:09:05.901015000 +0300
-@@ -8,7 +8,7 @@
-
- libSDL_net_la_SOURCES = \
- SDLnet.c \
-- SDLnetTCP.c \
-+ SDLnetTCP.cpp \
- SDLnetUDP.c \
- SDLnetselect.c \
- SDLnetsys.h
-diff -Naur a/Makefile.in b/Makefile.in
---- a/Makefile.in 2007-07-21 11:55:27.000000000 +0400
-+++ b/Makefile.in 2015-11-28 01:09:18.049151000 +0300
-@@ -244,7 +244,7 @@
-
- libSDL_net_la_SOURCES = \
- SDLnet.c \
-- SDLnetTCP.c \
-+ SDLnetTCP.cpp \
- SDLnetUDP.c \
- SDLnetselect.c \
- SDLnetsys.h
-diff -Naur a/SDLnetselect.c b/SDLnetselect.c
---- a/SDLnetselect.c 2007-07-02 06:04:03.000000000 +0400
-+++ b/SDLnetselect.c 2015-11-30 00:33:29.895731000 +0300
-@@ -111,109 +111,24 @@
- first. This function returns the number of sockets ready for reading,
- or -1 if there was an error with the select() system call.
- */
--#ifdef MACOS_OPENTRANSPORT
--int SDLNet_CheckSockets(SDLNet_SocketSet set, Uint32 timeout)
--{
--Uint32 stop;
--int numReady;
--
-- /* Loop, polling the network devices */
--
-- stop = SDL_GetTicks() + timeout;
--
-- do
-- {
-- OTResult status;
-- size_t numBytes;
-- int i;
--
-- numReady = 0;
--
-- for (i = set->numsockets-1;i >= 0;--i)
-- {
-- status = OTLook( set->sockets[i]->channel );
-- if( status > 0 )
-- {
-- switch( status )
-- {
-- case T_UDERR:
-- OTRcvUDErr( set->sockets[i]->channel , nil);
-- break;
-- case T_DISCONNECT:
-- OTRcvDisconnect( set->sockets[i]->channel, nil );
-- break;
-- case T_ORDREL:
-- OTRcvOrderlyDisconnect(set->sockets[i]->channel );
-- break;
-- case T_CONNECT:
-- OTRcvConnect( set->sockets[i]->channel, nil );
-- break;
--
--
-- default:
-- set->sockets[i]->ready = 1;
-- ++numReady;
-- }
-- }
-- else if( OTCountDataBytes(set->sockets[i]->channel, &numBytes ) != kOTNoDataErr )
-- {
-- set->sockets[i]->ready = 1;
-- ++numReady;
-- }
-- else
-- set->sockets[i]->ready = 0;
-- }
--
-- } while (!numReady && (SDL_GetTicks() < stop));
-
-- return(numReady);
--}
--#else
- int SDLNet_CheckSockets(SDLNet_SocketSet set, Uint32 timeout)
- {
- int i;
-- SOCKET maxfd;
- int retval;
-- struct timeval tv;
-- fd_set mask;
--
-- /* Find the largest file descriptor */
-- maxfd = 0;
-- for ( i=set->numsockets-1; i>=0; --i ) {
-- if ( set->sockets[i]->channel > maxfd ) {
-- maxfd = set->sockets[i]->channel;
-- }
-- }
--
-- /* Check the file descriptors for available data */
-- do {
-- errno = 0;
--
-- /* Set up the mask of file descriptors */
-- FD_ZERO(&mask);
-- for ( i=set->numsockets-1; i>=0; --i ) {
-- FD_SET(set->sockets[i]->channel, &mask);
-- }
-
-- /* Set up the timeout */
-- tv.tv_sec = timeout/1000;
-- tv.tv_usec = (timeout%1000)*1000;
-+ retval = 0;
-
-- /* Look! */
-- retval = select(maxfd+1, &mask, NULL, NULL, &tv);
-- } while ( errno == EINTR );
--
-- /* Mark all file descriptors ready that have data available */
-- if ( retval > 0 ) {
-- for ( i=set->numsockets-1; i>=0; --i ) {
-- if ( FD_ISSET(set->sockets[i]->channel, &mask) ) {
-- set->sockets[i]->ready = 1;
-- }
-- }
-+ for (i = 0; i < set->numsockets; ++i) {
-+ if (set->sockets[i]->ready)
-+ retval++;
-+ else
-+#warning SDLNet_CheckSockets can work only with TCPsockets!
-+ SDLNet_TCP_Recv (set->sockets[i], NULL, 0);
- }
-- return(retval);
-+
-+ return retval;
- }
--#endif /* MACOS_OPENTRANSPORT */
-
- /* Free a set of sockets allocated by SDL_NetAllocSocketSet() */
- extern void SDLNet_FreeSocketSet(SDLNet_SocketSet set)
-diff -Naur a/SDLnetTCP.c b/SDLnetTCP.c
---- a/SDLnetTCP.c 2007-07-15 09:55:42.000000000 +0400
-+++ b/SDLnetTCP.c 1970-01-01 03:00:00.000000000 +0300
-@@ -1,953 +0,0 @@
--/*
-- SDL_net: An example cross-platform network library for use with SDL
-- Copyright (C) 1997-2004 Sam Lantinga
--
-- This library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Library General Public
-- License as published by the Free Software Foundation; either
-- version 2 of the License, or (at your option) any later version.
--
-- This library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Library General Public License for more details.
--
-- You should have received a copy of the GNU Library General Public
-- License along with this library; if not, write to the Free
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--
-- Sam Lantinga
-- slouken@libsdl.org
--*/
--
--/* $Id: SDLnetTCP.c 3280 2007-07-15 05:55:42Z slouken $ */
--
--#include "SDLnetsys.h"
--#include "SDL_net.h"
--
--/* The network API for TCP sockets */
--
--/* Since the UNIX/Win32/BeOS code is so different from MacOS,
-- we'll just have two completely different sections here.
--*/
--
--#ifdef MACOS_OPENTRANSPORT
--
--#include <Events.h>
--#include <Threads.h>
--#include <OpenTransport.h>
--#include <OpenTptInternet.h>
--#include <OTDebug.h>
--
--struct _TCPsocket {
-- int ready;
-- SOCKET channel;
--
-- // These are taken from GUSI interface.
-- // I'm not sure if it's really necessary here yet
-- // ( masahiro minami<elsur@aaa.letter.co.jp> )
-- // ( 01/02/19 )
-- OTEventCode curEvent;
-- OTEventCode newEvent;
-- OTEventCode event;
-- OTEventCode curCompletion;
-- OTEventCode newCompletion;
-- OTEventCode completion;
-- OSStatus error;
-- TEndpointInfo info;
-- Boolean readShutdown;
-- Boolean writeShutdown;
-- Boolean connected;
-- OTConfigurationRef config; // Master configuration. you can clone this.
-- TCPsocket nextListener;
-- // ( end of new members --- masahiro minami<elsur@aaa.letter.co.jp>
--
-- IPaddress remoteAddress;
-- IPaddress localAddress;
-- int sflag;
--
-- // Maybe we don't need this---- it's from original SDL_net
-- // (masahiro minami<elsur@aaa.letter.co.jp>)
-- // ( 01/02/20 )
-- int rcvdPassConn;
--};
--
--// To be used in WaitNextEvent() here and there....
--// (010311 masahiro minami<elsur@aaa.letter.co.jp>)
--EventRecord macEvent;
--
--#if TARGET_API_MAC_CARBON
--/* for Carbon */
--OTNotifyUPP notifier;
--#endif
--
--/* Input: ep - endpointref on which to negotiate the option
-- enableReuseIPMode - desired option setting - true/false
-- Return: kOTNoError indicates that the option was successfully negotiated
-- OSStatus is an error if < 0, otherwise, the status field is
-- returned and is > 0.
--
-- IMPORTANT NOTE: The endpoint is assumed to be in synchronous more, otherwise
-- this code will not function as desired
--*/
--
--/*
--NOTE: As this version is written async way, we don't use this function...
--(010526) masahiro minami<elsur@aaa.letter.co.jp>
--*/
--/*
--OSStatus DoNegotiateIPReuseAddrOption(EndpointRef ep, Boolean enableReuseIPMode)
--
--{
-- UInt8 buf[kOTFourByteOptionSize]; // define buffer for fourByte Option size
-- TOption* opt; // option ptr to make items easier to access
-- TOptMgmt req;
-- TOptMgmt ret;
-- OSStatus err;
--
-- if (!OTIsSynchronous(ep))
-- {
-- return (-1);
-- }
-- opt = (TOption*)buf; // set option ptr to buffer
-- req.opt.buf = buf;
-- req.opt.len = sizeof(buf);
-- req.flags = T_NEGOTIATE; // negotiate for option
--
-- ret.opt.buf = buf;
-- ret.opt.maxlen = kOTFourByteOptionSize;
--
-- opt->level = INET_IP; // dealing with an IP Level function
-- opt->name = IP_REUSEADDR;
-- opt->len = kOTFourByteOptionSize;
-- opt->status = 0;
-- *(UInt32*)opt->value = enableReuseIPMode; // set the desired option level, true or false
--
-- err = OTOptionManagement(ep, &req, &ret);
--
-- // if no error then return the option status value
-- if (err == kOTNoError)
-- {
-- if (opt->status != T_SUCCESS)
-- err = opt->status;
-- else
-- err = kOTNoError;
-- }
--
-- return err;
--}
--*/
--
--/* A helper function for Mac OpenTransport support*/
--// This function is a complete copy from GUSI
--// ( masahiro minami<elsur@aaa.letter.co.jp> )
--// ( 01/02/19 )
--static __inline__ Uint32 CompleteMask(OTEventCode code)
--{
-- return 1 << (code & 0x1F);
--}
--
--/* Notifier for async OT calls */
--static pascal void AsyncTCPNotifier( TCPsocket sock, OTEventCode code,
-- OTResult result, void* cookie )
--{
--
--#ifdef DEBUG_NET
-- printf("AsyncTCPNotifier got an event : 0x%8.8x\n", code );
--#endif
--
-- switch( code & 0x7f000000L)
-- {
-- case 0:
-- sock->newEvent |= code;
-- result = 0;
-- break;
-- case kCOMPLETEEVENT:
-- if(!(code & 0x00FFFFE0 ))
-- sock->newCompletion |= CompleteMask( code );
-- if( code == T_OPENCOMPLETE )
-- sock->channel = (SOCKET)(cookie);
-- break;
-- default:
-- if( code != kOTProviderWillClose )
-- result = 0;
-- }
-- // Do we need these ???? TODO
-- // sock->SetAsyncMacError( result );
-- // sock->Wakeup();
--}
--
--/* Retrieve OT event */
--// This function is taken from GUSI interface.
--// ( 01/02/19 masahiro minami<elsur@aaa.letter.co.jp> )
--static void AsyncTCPPopEvent( TCPsocket sock )
--{
-- // Make sure OT calls are not interrupted
-- // Not sure if we really need this.
-- OTEnterNotifier( sock->channel );
--
-- sock->event |= (sock->curEvent = sock->newEvent );
-- sock->completion |= ( sock->curCompletion = sock->newCompletion );
-- sock->newEvent = sock->newCompletion = 0;
--
-- OTLeaveNotifier( sock->channel );
--
-- if( sock->curEvent & T_UDERR)
-- {
-- // We just clear the error.
-- // Should we feed this back to users ?
-- // (TODO )
-- OTRcvUDErr( sock->channel, NULL );
--
--#ifdef DEBUG_NET
-- printf("AsyncTCPPopEvent T_UDERR recognized");
--#endif
-- }
--
-- // Remote is disconnecting...
-- if( sock->curEvent & ( T_DISCONNECT | T_ORDREL ))
-- {
-- sock->readShutdown = true;
-- }
--
-- if( sock->curEvent &T_CONNECT )
-- {
-- // Ignore the info of remote (second parameter).
-- // Shoule we care ?
-- // (TODO)
-- OTRcvConnect( sock->channel, NULL );
-- sock->connected = 1;
-- }
--
-- if( sock->curEvent & T_ORDREL )
-- {
-- OTRcvOrderlyDisconnect( sock->channel );
-- }
--
-- if( sock->curEvent & T_DISCONNECT )
-- {
-- OTRcvDisconnect( sock->channel, NULL );
-- }
--
-- // Do we need to ?
-- // (masahiro minami<elsur@aaa.letter.co.jp>)
-- //YieldToAnyThread();
--}
--
--/* Create a new TCPsocket */
--// Because TCPsocket structure gets bigger and bigger,
--// I think we'd better have a constructor function and delete function.
--// ( 01/02/25 masahiro minami<elsur@aaa.letter.co.jp> )
--static TCPsocket AsyncTCPNewSocket()
--{
-- TCPsocket sock;
--
-- sock = (TCPsocket)malloc(sizeof(*sock));
-- if ( sock == NULL ) {
-- SDLNet_SetError("Out of memory");
-- return NULL;
-- }
--
-- sock->newEvent = 0;
-- sock->event = 0;
-- sock->curEvent = 0;
-- sock->newCompletion = 0;
-- sock->completion = 0;
-- sock->curCompletion = 0;
-- //sock->info = NULL;
-- sock->readShutdown = sock->writeShutdown = sock->connected = false;
-- sock->error = 0;
-- sock->config = NULL;
-- sock->nextListener = NULL;
-- sock->sflag = 0;
-- return sock;
--}
--
--// hmmm.... do we need this ???
--// ( 01/02/25 masahiro minami<elsur@aaa.letter.co.jp>)
--static void AsycnTCPDeleteSocket( TCPsocket sock )
--{
-- SDLNet_TCP_Close( sock );
--}
--/* Open a TCP network socket
-- If 'remote' is NULL, this creates a local server socket on the given port,
-- otherwise a TCP connection to the remote host and port is attempted.
-- The newly created socket is returned, or NULL if there was an error.
--
-- ( re-written by masahiro minami<elsur@aaa.letter.co.jp>
-- Now endpoint is created in Async mode.
-- 01/02/20 )
--*/
--TCPsocket SDLNet_TCP_Open(IPaddress *ip)
--{
-- EndpointRef dummy = NULL;
--
-- TCPsocket sock = AsyncTCPNewSocket();
-- if( ! sock)
-- return NULL;
--
-- // Determin whether bind locally, or connect to remote
-- if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) )
-- {
-- // ######## Connect to remote
-- OTResult stat;
-- InetAddress inAddr;
-- TBind bindReq;
--
-- // Open endpoint
-- sock->error = OTAsyncOpenEndpoint(
-- OTCreateConfiguration(kTCPName), NULL, &(sock->info),
-- (OTNotifyProcPtr)(AsyncTCPNotifier),
-- sock );
--
-- AsyncTCPPopEvent( sock );
-- while( !sock->error && !( sock->completion & CompleteMask(T_OPENCOMPLETE)))
-- {
-- //SetThreadState( kCurrentThreadID, kReadyThreadState, kNoThreadID );
-- //YieldToAnyThread();
-- //WaitNextEvent(everyEvent, &macEvent, 1, NULL);
-- AsyncTCPPopEvent( sock );
-- }
--
-- if( !sock->channel )
-- {
-- SDLNet_SetError("OTAsyncOpenEndpoint failed --- client socket could not be opened");
-- goto error_return;
-- }
--
-- // Set blocking mode
-- // I'm not sure if this is a good solution....
-- // Check out Apple's sample code, OT Virtual Server
-- // ( 010314 masahiro minami<elsur@aaa.letter.co.jp>)
--
-- sock->error = OTSetBlocking( sock->channel );
-- if( sock->error != kOTNoError )
-- {
-- SDLNet_SetError("OTSetBlocking() returned an error");
-- goto error_return;
-- }
--
-- // Bind the socket
-- OTInitInetAddress(&inAddr, 0, 0 );
-- bindReq.addr.len = sizeof( InetAddress );
-- bindReq.addr.buf = (unsigned char*)&inAddr;
-- bindReq.qlen = 0;
--
-- sock->error = OTBind( sock->channel, &bindReq, NULL );
-- AsyncTCPPopEvent(sock);
-- while( !sock->error && !( sock->completion & CompleteMask(T_BINDCOMPLETE)))
-- {
-- //YieldToAnyThread();
-- //WaitNextEvent(everyEvent, &macEvent, 1, NULL);
-- AsyncTCPPopEvent(sock);
-- }
--
--
-- switch( stat = OTGetEndpointState( sock->channel ))
-- {
-- InetAddress inAddr;
-- TCall sndCall;
-- OTResult res;
--
-- case T_OUTCON:
-- SDLNet_SetError("SDLNet_Open() failed -- T_OUTCON");
-- goto error_return;
-- break;
-- case T_IDLE:
-- sock->readShutdown = false;
-- sock->writeShutdown = false;
-- sock->event &=~T_CONNECT;
--
-- OTMemzero(&sndCall, sizeof(TCall));
-- OTInitInetAddress(&inAddr, ip->port, ip->host );
-- sndCall.addr.len = sizeof(InetAddress);
-- sndCall.addr.buf = (unsigned char*)&inAddr;
-- sock->connected = 0;
-- res = OTConnect( sock->channel, &sndCall, NULL );
-- AsyncTCPPopEvent(sock);
-- while( sock->error == kOTNoDataErr || !sock->connected )
-- AsyncTCPPopEvent(sock);
-- break;
-- default:
-- // What's to be done ? (TODO)
-- SDLNet_SetError("SDLNet_TCP_Open() failed -- EndpointState not good");
-- goto error_return;
--
-- }
-- if( !(sock->event & (T_CONNECT|T_DISCONNECT)))
-- goto error_return;
--
-- AsyncTCPPopEvent( sock );
-- while( !(sock->event & (T_CONNECT|T_DISCONNECT)))
-- {
-- AsyncTCPPopEvent( sock );
-- }
-- // OTConnect successfull
-- if( sock->event & T_CONNECT)
-- {
-- sock->remoteAddress.host = inAddr.fHost;
-- sock->remoteAddress.port = inAddr.fPort;
-- sock->sflag = false;
-- }
-- else
-- {
-- // OTConnect failed
-- sock->event &= ~T_DISCONNECT;
-- goto error_return;
-- }
-- }
-- else
-- {
-- // ######## Bind locally
-- TBind bindReq;
-- InetAddress inAddr;
--
-- // First, get InetInterfaceInfo.
-- // I don't search for all of them.
-- // Does that matter ?
--
-- sock->error = OTAsyncOpenEndpoint(
-- OTCreateConfiguration("tilisten, tcp"), NULL, &(sock->info),
-- (OTNotifyProcPtr)(AsyncTCPNotifier),
-- sock);
-- AsyncTCPPopEvent( sock );
-- while( !sock->error && !( sock->completion & CompleteMask( T_OPENCOMPLETE)))
-- {
-- AsyncTCPPopEvent( sock );
-- }
--
-- if( ! sock->channel )
-- {
-- SDLNet_SetError("OTAsyncOpenEndpoint failed --- server socket could not be opened");
-- goto error_return;
-- }
--
-- // Create a master OTConfiguration
-- sock->config = OTCreateConfiguration(kTCPName);
-- if( ! sock->config )
-- {
-- SDLNet_SetError("Could not create master OTConfiguration");
-- goto error_return;
-- }
--
-- // Bind the socket
-- OTInitInetAddress(&inAddr, ip->port, 0 );
-- inAddr.fAddressType = AF_INET;
-- bindReq.addr.len = sizeof( InetAddress );
-- bindReq.addr.buf = (unsigned char*)&inAddr;
-- bindReq.qlen = 35; // This number is NOT well considered. (TODO)
-- sock->localAddress.host = inAddr.fHost;
-- sock->localAddress.port = inAddr.fPort;
-- sock->sflag = true;
--
-- sock->error = OTBind( sock->channel, &bindReq, NULL );
-- AsyncTCPPopEvent(sock);
-- while( !sock->error && !( sock->completion & CompleteMask(T_BINDCOMPLETE)))
-- {
-- AsyncTCPPopEvent(sock);
-- }
-- if( sock->error != kOTNoError )
-- {
-- SDLNet_SetError("Could not bind server socket");
-- goto error_return;
-- }
--
-- if( dummy )
-- OTCloseProvider( dummy );
--
-- }
--
-- sock->ready = 0;
-- return sock;
--
-- error_return:
-- if( dummy )
-- OTCloseProvider( dummy );
-- SDLNet_TCP_Close( sock );
-- return NULL;
--}
--
--/* Accept an incoming connection on the given server socket.
-- The newly created socket is returned, or NULL if there was an error.
--*/
--TCPsocket SDLNet_TCP_Accept(TCPsocket server)
--{
--
-- /* Only server sockets can accept */
-- if ( ! server->sflag ) {
-- SDLNet_SetError("Only server sockets can accept()");
-- return(NULL);
-- }
-- server->ready = 0;
--
-- /* Accept a new TCP connection on a server socket */
-- {
-- InetAddress peer;
-- TCall peerinfo;
-- TCPsocket sock = NULL;
-- Boolean mustListen = false;
-- OTResult err;
--
-- memset(&peerinfo, 0, (sizeof peerinfo ));
-- peerinfo.addr.buf = (Uint8 *) &peer;
-- peerinfo.addr.maxlen = sizeof(peer);
--
-- while( mustListen || !sock )
-- {
-- // OTListen
-- // We do NOT block ---- right thing ? (TODO)
-- err = OTListen( server->channel, &peerinfo );
--
-- if( err )
-- goto error_return;
-- else
-- {
-- mustListen = false;
-- sock = AsyncTCPNewSocket();
-- if( ! sock )
-- goto error_return;
-- }
-- }
-- if( sock )
-- {
-- // OTAsyncOpenEndpoint
-- server->error = OTAsyncOpenEndpoint( OTCloneConfiguration( server->config ),
-- NULL, &(sock->info), (OTNotifyProcPtr)AsyncTCPNotifier, sock );
-- AsyncTCPPopEvent( sock );
-- while( !sock->error && !( sock->completion & CompleteMask( T_OPENCOMPLETE)))
-- {
-- AsyncTCPPopEvent( sock );
-- }
-- if( ! sock->channel )
-- {
-- mustListen = false;
-- goto error_return;
-- }
--
-- // OTAccept
-- server->completion &= ~(CompleteMask(T_ACCEPTCOMPLETE));
-- server->error = OTAccept( server->channel, sock->channel, &peerinfo );
-- AsyncTCPPopEvent( server );
-- while( !(server->completion & CompleteMask(T_ACCEPTCOMPLETE)))
-- {
-- AsyncTCPPopEvent( server );
-- }
--
-- switch( server->error )
-- {
-- case kOTLookErr:
-- switch( OTLook(server->channel ))
-- {
-- case T_LISTEN:
-- mustListen = true;
-- break;
-- case T_DISCONNECT:
-- goto error_return;
-- }
-- break;
-- case 0:
-- sock->nextListener = server->nextListener;
-- server->nextListener = sock;
-- sock->remoteAddress.host = peer.fHost;
-- sock->remoteAddress.port = peer.fPort;
-- return sock;
-- // accept successful
-- break;
-- default:
-- free( sock );
-- }
-- }
-- sock->remoteAddress.host = peer.fHost;
-- sock->remoteAddress.port = peer.fPort;
-- sock->sflag = 0;
-- sock->ready = 0;
--
-- /* The socket is ready */
-- return(sock);
--
-- // Error; close the socket and return
-- error_return:
-- SDLNet_TCP_Close(sock);
-- return(NULL);
-- }
--}
--
--/* Get the IP address of the remote system associated with the socket.
-- If the socket is a server socket, this function returns NULL.
--*/
--IPaddress *SDLNet_TCP_GetPeerAddress(TCPsocket sock)
--{
-- if ( sock->sflag ) {
-- return(NULL);
-- }
-- return(&sock->remoteAddress);
--}
--
--/* Send 'len' bytes of 'data' over the non-server socket 'sock'
-- This function returns the actual amount of data sent. If the return value
-- is less than the amount of data sent, then either the remote connection was
-- closed, or an unknown socket error occurred.
--*/
--int SDLNet_TCP_Send(TCPsocket sock, const void *datap, int len)
--{
-- const Uint8 *data = (const Uint8 *)datap; /* For pointer arithmetic */
-- int sent, left;
--
-- /* Server sockets are for accepting connections only */
-- if ( sock->sflag ) {
-- SDLNet_SetError("Server sockets cannot send");
-- return(-1);
-- }
--
-- /* Keep sending data until it's sent or an error occurs */
-- left = len;
-- sent = 0;
-- errno = 0;
-- do {
-- len = OTSnd(sock->channel, (void *)data, left, 0);
-- if (len == kOTFlowErr)
-- len = 0;
-- if ( len > 0 ) {
-- sent += len;
-- left -= len;
-- data += len;
-- }
-- // Do we need to ?
-- // ( masahiro minami<elsur@aaa.letter.co.jp> )
-- // (TODO)
-- //WaitNextEvent(everyEvent, &macEvent, 1, NULL);
-- //AsyncTCPPopEvent(sock);
-- } while ( (left > 0) && (len > 0) );
--
-- return(sent);
--}
--
--/* Receive up to 'maxlen' bytes of data over the non-server socket 'sock',
-- and store them in the buffer pointed to by 'data'.
-- This function returns the actual amount of data received. If the return
-- value is less than or equal to zero, then either the remote connection was
-- closed, or an unknown socket error occurred.
--*/
--int SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen)
--{
-- int len = 0;
-- OSStatus res;
-- /* Server sockets are for accepting connections only */
-- if ( sock->sflag ) {
-- SDLNet_SetError("Server sockets cannot receive");
-- return(-1);
-- }
--
-- do
-- {
-- res = OTRcv(sock->channel, data, maxlen-len, 0);
-- if (res > 0) {
-- len = res;
-- }
--
--#ifdef DEBUG_NET
-- if ( res != kOTNoDataErr )
-- printf("SDLNet_TCP_Recv received ; %d\n", res );
--#endif
--
-- AsyncTCPPopEvent(sock);
-- if( res == kOTLookErr )
-- {
-- res = OTLook(sock->channel );
-- continue;
-- }
-- } while ( (len == 0) && (res == kOTNoDataErr) );
--
-- sock->ready = 0;
-- if ( len == 0 ) { /* Open Transport error */
--#ifdef DEBUG_NET
-- printf("Open Transport error: %d\n", res);
--#endif
-- return(-1);
-- }
-- return(len);
--}
--
--/* Close a TCP network socket */
--void SDLNet_TCP_Close(TCPsocket sock)
--{
-- if ( sock != NULL ) {
-- if ( sock->channel != INVALID_SOCKET ) {
-- //closesocket(sock->channel);
-- OTSndOrderlyDisconnect( sock->channel );
-- }
-- free(sock);
-- }
--}
--
--#else /* !MACOS_OPENTRANSPORT */
--
--struct _TCPsocket {
-- int ready;
-- SOCKET channel;
-- IPaddress remoteAddress;
-- IPaddress localAddress;
-- int sflag;
--};
--
--/* Open a TCP network socket
-- If 'remote' is NULL, this creates a local server socket on the given port,
-- otherwise a TCP connection to the remote host and port is attempted.
-- The newly created socket is returned, or NULL if there was an error.
--*/
--TCPsocket SDLNet_TCP_Open(IPaddress *ip)
--{
-- TCPsocket sock;
-- struct sockaddr_in sock_addr;
--
-- /* Allocate a TCP socket structure */
-- sock = (TCPsocket)malloc(sizeof(*sock));
-- if ( sock == NULL ) {
-- SDLNet_SetError("Out of memory");
-- goto error_return;
-- }
--
-- /* Open the socket */
-- sock->channel = socket(AF_INET, SOCK_STREAM, 0);
-- if ( sock->channel == INVALID_SOCKET ) {
-- SDLNet_SetError("Couldn't create socket");
-- goto error_return;
-- }
--
-- /* Connect to remote, or bind locally, as appropriate */
-- if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) ) {
--
-- // ######### Connecting to remote
--
-- memset(&sock_addr, 0, sizeof(sock_addr));
-- sock_addr.sin_family = AF_INET;
-- sock_addr.sin_addr.s_addr = ip->host;
-- sock_addr.sin_port = ip->port;
--
-- /* Connect to the remote host */
-- if ( connect(sock->channel, (struct sockaddr *)&sock_addr,
-- sizeof(sock_addr)) == SOCKET_ERROR ) {
-- SDLNet_SetError("Couldn't connect to remote host");
-- goto error_return;
-- }
-- sock->sflag = 0;
-- } else {
--
-- // ########## Binding locally
--
-- memset(&sock_addr, 0, sizeof(sock_addr));
-- sock_addr.sin_family = AF_INET;
-- sock_addr.sin_addr.s_addr = INADDR_ANY;
-- sock_addr.sin_port = ip->port;
--
--/*
-- * Windows gets bad mojo with SO_REUSEADDR:
-- * http://www.devolution.com/pipermail/sdl/2005-September/070491.html
-- * --ryan.
-- */
--#ifndef WIN32
-- /* allow local address reuse */
-- { int yes = 1;
-- setsockopt(sock->channel, SOL_SOCKET, SO_REUSEADDR, (char*)&yes, sizeof(yes));
-- }
--#endif
--
-- /* Bind the socket for listening */
-- if ( bind(sock->channel, (struct sockaddr *)&sock_addr,
-- sizeof(sock_addr)) == SOCKET_ERROR ) {
-- SDLNet_SetError("Couldn't bind to local port");
-- goto error_return;
-- }
-- if ( listen(sock->channel, 5) == SOCKET_ERROR ) {
-- SDLNet_SetError("Couldn't listen to local port");
-- goto error_return;
-- }
--
-- /* Set the socket to non-blocking mode for accept() */
--#if defined(__BEOS__) && defined(SO_NONBLOCK)
-- /* On BeOS r5 there is O_NONBLOCK but it's for files only */
-- {
-- long b = 1;
-- setsockopt(sock->channel, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
-- }
--#elif defined(O_NONBLOCK)
-- {
-- fcntl(sock->channel, F_SETFL, O_NONBLOCK);
-- }
--#elif defined(WIN32)
-- {
-- unsigned long mode = 1;
-- ioctlsocket (sock->channel, FIONBIO, &mode);
-- }
--#elif defined(__OS2__)
-- {
-- int dontblock = 1;
-- ioctl(sock->channel, FIONBIO, &dontblock);
-- }
--#else
--#warning How do we set non-blocking mode on other operating systems?
--#endif
-- sock->sflag = 1;
-- }
-- sock->ready = 0;
--
--#ifdef TCP_NODELAY
-- /* Set the nodelay TCP option for real-time games */
-- { int yes = 1;
-- setsockopt(sock->channel, IPPROTO_TCP, TCP_NODELAY, (char*)&yes, sizeof(yes));
-- }
--#endif /* TCP_NODELAY */
--
-- /* Fill in the channel host address */
-- sock->remoteAddress.host = sock_addr.sin_addr.s_addr;
-- sock->remoteAddress.port = sock_addr.sin_port;
--
-- /* The socket is ready */
-- return(sock);
--
--error_return:
-- SDLNet_TCP_Close(sock);
-- return(NULL);
--}
--
--/* Accept an incoming connection on the given server socket.
-- The newly created socket is returned, or NULL if there was an error.
--*/
--TCPsocket SDLNet_TCP_Accept(TCPsocket server)
--{
-- TCPsocket sock;
-- struct sockaddr_in sock_addr;
-- int sock_alen;
--
-- /* Only server sockets can accept */
-- if ( ! server->sflag ) {
-- SDLNet_SetError("Only server sockets can accept()");
-- return(NULL);
-- }
-- server->ready = 0;
--
-- /* Allocate a TCP socket structure */
-- sock = (TCPsocket)malloc(sizeof(*sock));
-- if ( sock == NULL ) {
-- SDLNet_SetError("Out of memory");
-- goto error_return;
-- }
--
-- /* Accept a new TCP connection on a server socket */
-- sock_alen = sizeof(sock_addr);
-- sock->channel = accept(server->channel, (struct sockaddr *)&sock_addr,
--#ifdef USE_GUSI_SOCKETS
-- (unsigned int *)&sock_alen);
--#else
-- &sock_alen);
--#endif
-- if ( sock->channel == SOCKET_ERROR ) {
-- SDLNet_SetError("accept() failed");
-- goto error_return;
-- }
--#ifdef WIN32
-- {
-- /* passing a zero value, socket mode set to block on */
-- unsigned long mode = 0;
-- ioctlsocket (sock->channel, FIONBIO, &mode);
-- }
--#elif defined(O_NONBLOCK)
-- {
-- int flags = fcntl(sock->channel, F_GETFL, 0);
-- fcntl(sock->channel, F_SETFL, flags & ~O_NONBLOCK);
-- }
--#endif /* WIN32 */
-- sock->remoteAddress.host = sock_addr.sin_addr.s_addr;
-- sock->remoteAddress.port = sock_addr.sin_port;
--
-- sock->sflag = 0;
-- sock->ready = 0;
--
-- /* The socket is ready */
-- return(sock);
--
--error_return:
-- SDLNet_TCP_Close(sock);
-- return(NULL);
--}
--
--/* Get the IP address of the remote system associated with the socket.
-- If the socket is a server socket, this function returns NULL.
--*/
--IPaddress *SDLNet_TCP_GetPeerAddress(TCPsocket sock)
--{
-- if ( sock->sflag ) {
-- return(NULL);
-- }
-- return(&sock->remoteAddress);
--}
--
--/* Send 'len' bytes of 'data' over the non-server socket 'sock'
-- This function returns the actual amount of data sent. If the return value
-- is less than the amount of data sent, then either the remote connection was
-- closed, or an unknown socket error occurred.
--*/
--int SDLNet_TCP_Send(TCPsocket sock, const void *datap, int len)
--{
-- const Uint8 *data = (const Uint8 *)datap; /* For pointer arithmetic */
-- int sent, left;
--
-- /* Server sockets are for accepting connections only */
-- if ( sock->sflag ) {
-- SDLNet_SetError("Server sockets cannot send");
-- return(-1);
-- }
--
-- /* Keep sending data until it's sent or an error occurs */
-- left = len;
-- sent = 0;
-- errno = 0;
-- do {
-- len = send(sock->channel, (const char *) data, left, 0);
-- if ( len > 0 ) {
-- sent += len;
-- left -= len;
-- data += len;
-- }
-- } while ( (left > 0) && ((len > 0) || (errno == EINTR)) );
--
-- return(sent);
--}
--
--/* Receive up to 'maxlen' bytes of data over the non-server socket 'sock',
-- and store them in the buffer pointed to by 'data'.
-- This function returns the actual amount of data received. If the return
-- value is less than or equal to zero, then either the remote connection was
-- closed, or an unknown socket error occurred.
--*/
--int SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen)
--{
-- int len;
--
-- /* Server sockets are for accepting connections only */
-- if ( sock->sflag ) {
-- SDLNet_SetError("Server sockets cannot receive");
-- return(-1);
-- }
--
-- errno = 0;
-- do {
-- len = recv(sock->channel, (char *) data, maxlen, 0);
-- } while ( errno == EINTR );
--
-- sock->ready = 0;
-- return(len);
--}
--
--/* Close a TCP network socket */
--void SDLNet_TCP_Close(TCPsocket sock)
--{
-- if ( sock != NULL ) {
-- if ( sock->channel != INVALID_SOCKET ) {
-- closesocket(sock->channel);
-- }
-- free(sock);
-- }
--}
--
--#endif /* MACOS_OPENTRANSPORT */
-diff -Naur a/SDLnetTCP.cpp b/SDLnetTCP.cpp
---- a/SDLnetTCP.cpp 1970-01-01 03:00:00.000000000 +0300
-+++ b/SDLnetTCP.cpp 2015-11-30 00:34:59.378830000 +0300
-@@ -0,0 +1,483 @@
-+/*
-+ SDL_net: An example cross-platform network library for use with SDL
-+ Copyright (C) 1997-2004 Sam Lantinga
-+
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Library General Public
-+ License as published by the Free Software Foundation; either
-+ version 2 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Library General Public License for more details.
-+
-+ You should have received a copy of the GNU Library General Public
-+ License along with this library; if not, write to the Free
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+ Sam Lantinga
-+ slouken@libsdl.org
-+*/
-+
-+/* $Id: SDLnetTCP.c 3280 2007-07-15 05:55:42Z slouken $ */
-+
-+#include "SDLnetsys.h"
-+#include "SDL_net.h"
-+
-+#include "ppapi_simple/ps.h"
-+#include "ppapi/cpp/tcp_socket.h"
-+#include "ppapi/cpp/instance_handle.h"
-+#include "ppapi/cpp/message_loop.h"
-+#include "ppapi/cpp/instance.h"
-+#include "ppapi/c/ppb_net_address.h"
-+#include "ppapi/cpp/var.h"
-+#include "ppapi/utility/completion_callback_factory.h"
-+
-+#include "pthread.h"
-+#include <condition_variable>
-+#include <mutex>
-+
-+/* The network API for TCP sockets */
-+
-+#define BUFFER_SIZE 2000
-+
-+struct _TCPsocket {
-+ int ready;
-+ pp::TCPSocket channel;
-+ IPaddress remoteAddress;
-+ IPaddress localAddress;
-+ int sflag;
-+
-+ bool readInProgress;
-+ int bufferAmount;
-+ int bufferOffset;
-+ char buffer [BUFFER_SIZE];
-+};
-+
-+class SDLNetSynchronizer {
-+ public:
-+ pp::CompletionCallbackFactory <SDLNetSynchronizer> factory;
-+ pp::InstanceHandle handle;
-+ pp::Instance instance;
-+
-+ static pp::MessageLoop loop;
-+
-+ pp::TCPSocket sock_result;
-+ int32_t result;
-+ bool ready;
-+ std::condition_variable cv;
-+ std::mutex mtx;
-+
-+ SDLNetSynchronizer () : factory (this), handle (PSGetInstanceId ()), instance (PSGetInstanceId ()) {
-+ ready = false;
-+ if (loop.is_null ())
-+ loop = pp::MessageLoop::GetForMainThread ();
-+ }
-+
-+ int32_t Connect (pp::TCPSocket &sock, IPaddress *ip_addr) {
-+ int32_t code;
-+ PP_NetAddress_IPv4 ipv4_addr;
-+ IpToIpv4 (ip_addr, &ipv4_addr);
-+
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::ConnectWork,
-+ sock,
-+ pp::NetAddress (handle, ipv4_addr)
-+ );
-+
-+ loop.PostWork (cb, 0);
-+ wait ();
-+
-+ return result;
-+ }
-+
-+ int32_t Bind (pp::TCPSocket &sock, IPaddress *ip_addr) {
-+ PP_NetAddress_IPv4 ipv4_addr;
-+ IpToIpv4 (ip_addr, &ipv4_addr);
-+
-+
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::BindWork,
-+ sock,
-+ pp::NetAddress (handle, ipv4_addr)
-+ );
-+
-+ loop.PostWork (cb, 0);
-+
-+ wait ();
-+ return result;
-+ }
-+
-+ int32_t Listen (pp::TCPSocket &sock, int32_t backlog) {
-+
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::ListenWork,
-+ sock, backlog
-+ );
-+
-+ loop.PostWork (cb, 0);
-+
-+ wait ();
-+ return result;
-+ }
-+
-+ void WriteWork (int32_t result, pp::TCPSocket &sock, const char *data, size_t size) {
-+ sock.Write (
-+ data, size,
-+ factory.NewCallback (&SDLNetSynchronizer::resultCallback)
-+ );
-+ }
-+
-+ int32_t Write (pp::TCPSocket &sock, const char *data, size_t size) {
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::WriteWork,
-+ sock, data, size
-+ );
-+
-+ loop.PostWork (cb, 0);
-+
-+ wait ();
-+ return result;
-+ }
-+
-+ void ReadAsyncCallback (int32_t result, TCPsocket sock) {
-+ if (result <= 0)
-+ return;
-+
-+ sock->bufferOffset = 0;
-+ sock->bufferAmount = result;
-+ sock->ready = 1;
-+ sock->readInProgress = false;
-+ }
-+
-+ void ReadAsyncWork (int32_t result, TCPsocket sock) {
-+ sock->channel.Read (
-+ sock->buffer, BUFFER_SIZE,
-+ factory.NewCallback (&SDLNetSynchronizer::ReadAsyncCallback, sock)
-+ );
-+ }
-+
-+ void ReadAsync (TCPsocket sock) {
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::ReadAsyncWork,
-+ sock
-+ );
-+
-+ sock->readInProgress = true;
-+ loop.PostWork (cb, 0);
-+ }
-+
-+ void AcceptWork (int32_t result, pp::TCPSocket &sock) {
-+ sock.Accept (
-+ factory.NewCallbackWithOutput (&SDLNetSynchronizer::acceptCallback)
-+ );
-+ }
-+
-+ pp::TCPSocket Accept (pp::TCPSocket &sock, int32_t &out) {
-+ pp::CompletionCallback cb = factory.NewCallback (
-+ &SDLNetSynchronizer::AcceptWork,
-+ sock
-+ );
-+
-+ loop.PostWork (cb, 0);
-+
-+ wait ();
-+ out = result;
-+ return sock_result;
-+ }
-+
-+ void IpToIpv4 (IPaddress *ip_addr, PP_NetAddress_IPv4 *ipv4_addr) {
-+ ipv4_addr->port = ip_addr->port;
-+ for (int i = 0; i < 4; ++i)
-+ ipv4_addr->addr[i] = (ip_addr->host >> (8 * i)) & 0xFF;
-+ }
-+
-+ void NetToIp (pp::NetAddress net_addr, IPaddress *ip_addr) {
-+ PP_NetAddress_IPv4 ipv4_addr;
-+ net_addr.DescribeAsIPv4Address (&ipv4_addr);
-+ Ipv4ToIp (&ipv4_addr, ip_addr);
-+ }
-+
-+ void Ipv4ToIp (PP_NetAddress_IPv4 *ipv4_addr, IPaddress *ip_addr) {
-+ ip_addr->port = ipv4_addr->port;
-+ ip_addr->host = 0;
-+ for (int i = 0; i < 4; ++i)
-+ ip_addr->host ^= (((uint32_t) ipv4_addr->addr[i]) << (8 * i));
-+ }
-+
-+ void postMessage (std::string msg) {
-+ instance.PostMessage (pp::Var (msg));
-+ }
-+
-+ void postMessage (int32_t msg) {
-+ instance.PostMessage (pp::Var (msg));
-+ }
-+
-+ private:
-+ void ConnectWork (int32_t result, pp::TCPSocket &sock, pp::NetAddress &addr) {
-+ sock.Connect (
-+ addr,
-+ factory.NewCallback (&SDLNetSynchronizer::resultCallback)
-+ );
-+ }
-+
-+ void BindWork (int32_t result, pp::TCPSocket &sock, pp::NetAddress &addr) {
-+ sock.Bind (
-+ addr,
-+ factory.NewCallback (&SDLNetSynchronizer::resultCallback)
-+ );
-+ }
-+
-+ void ListenWork (int32_t result, pp::TCPSocket &sock, int32_t backlog) {
-+ sock.Listen (
-+ backlog,
-+ factory.NewCallback (&SDLNetSynchronizer::resultCallback)
-+ );
-+ }
-+
-+ void resultCallback (int32_t res) {
-+ result = res;
-+ unlock ();
-+ }
-+
-+ void acceptCallback (int32_t res, pp::TCPSocket sock) {
-+ result = res;
-+ sock_result = sock;
-+
-+ unlock();
-+ }
-+
-+ void wait () {
-+ std::unique_lock <std::mutex> lck (mtx);
-+ while (!ready)
-+ cv.wait (lck);
-+ ready = false;
-+ }
-+
-+ void unlock () {
-+ std::unique_lock <std::mutex> lck (mtx);
-+ ready = true;
-+ cv.notify_all ();
-+ }
-+};
-+
-+pp::MessageLoop SDLNetSynchronizer::loop = pp::MessageLoop ();
-+
-+SDLNetSynchronizer *__read_syncer = NULL;
-+
-+/* Open a TCP network socket
-+ If 'remote' is NULL, this creates a local server socket on the given port,
-+ otherwise a TCP connection to the remote host and port is attempted.
-+ The newly created socket is returned, or NULL if there was an error.
-+*/
-+TCPsocket SDLNet_TCP_Open (IPaddress *ip)
-+{
-+ TCPsocket sock;
-+ SDLNetSynchronizer syncer;
-+
-+ /* Allocate a TCP socket structure */
-+ sock = (TCPsocket)malloc (sizeof (*sock));
-+ if ( sock == NULL ) {
-+ SDLNet_SetError ("Out of memory");
-+ goto error_return;
-+ }
-+
-+ sock->channel = pp::TCPSocket (syncer.handle);
-+
-+ /* Connect to remote, or bind locally, as appropriate */
-+ if ( (ip->host != INADDR_NONE) && (ip->host != INADDR_ANY) ) {
-+
-+ // ######### Connecting to remote
-+
-+ /* Connect to the remote host */
-+ if ( syncer.Connect (sock->channel, ip) != PP_OK ) {
-+ SDLNet_SetError("Couldn't connect to remote host");
-+ goto error_return;
-+ }
-+ sock->sflag = 0;
-+
-+ } else {
-+
-+ // ########## Binding locally
-+
-+ /* Bind the socket for listening */
-+ if ( syncer.Bind (sock->channel, ip) != PP_OK ) {
-+ SDLNet_SetError("Couldn't bind to local port");
-+ goto error_return;
-+ }
-+
-+ if ( syncer.Listen (sock->channel, 5) != PP_OK ) {
-+ SDLNet_SetError("Couldn't listen to local port");
-+ goto error_return;
-+ }
-+
-+ /* Set the socket to non-blocking mode for accept() */
-+
-+ {
-+ /* In nacl O_NONBLOCK is defined */
-+ // fcntl(sock->channel, F_SETFL, O_NONBLOCK);
-+ }
-+
-+ sock->sflag = 1;
-+ }
-+
-+ sock->readInProgress = 0;
-+ sock->ready = 0;
-+ sock->bufferOffset = sock->bufferAmount = 0;
-+
-+#ifdef TCP_NODELAY
-+ /* Set the nodelay TCP option for real-time games */
-+ { int yes = 1;
-+ setsockopt(sock->channel, IPPROTO_TCP, TCP_NODELAY, (char*)&yes, sizeof(yes));
-+ }
-+#endif /* TCP_NODELAY */
-+
-+ /* Fill in the channel host address */
-+ sock->remoteAddress = *ip;
-+
-+ /* The socket is ready */
-+ return(sock);
-+
-+error_return:
-+ SDLNet_TCP_Close(sock);
-+ return(NULL);
-+}
-+
-+/* Accept an incoming connection on the given server socket.
-+ The newly created socket is returned, or NULL if there was an error.
-+*/
-+TCPsocket SDLNet_TCP_Accept(TCPsocket server)
-+{
-+ TCPsocket sock;
-+ SDLNetSynchronizer syncer;
-+ int acc_res;
-+
-+ /* Only server sockets can accept */
-+ if ( ! server->sflag ) {
-+ SDLNet_SetError("Only server sockets can accept()");
-+ return(NULL);
-+ }
-+ server->ready = 0;
-+
-+ /* Allocate a TCP socket structure */
-+ sock = (TCPsocket)malloc (sizeof (*sock));
-+ if ( sock == NULL ) {
-+ SDLNet_SetError("Out of memory");
-+ goto error_return;
-+ }
-+
-+ /* Accept a new TCP connection on a server socket */
-+ sock->channel = syncer.Accept (server->channel, acc_res);
-+
-+ if ( acc_res != PP_OK ) {
-+ SDLNet_SetError("accept() failed");
-+ goto error_return;
-+ }
-+
-+
-+ {
-+ /* int flags = fcntl(sock->channel, F_GETFL, 0);
-+ fcntl(sock->channel, F_SETFL, flags & ~O_NONBLOCK); */
-+ }
-+
-+ syncer.NetToIp ((sock->channel).GetRemoteAddress (), &sock->remoteAddress);
-+
-+ sock->sflag = 0;
-+ sock->ready = 0;
-+
-+ /* The socket is ready */
-+ return(sock);
-+
-+error_return:
-+ SDLNet_TCP_Close(sock);
-+ return(NULL);
-+}
-+
-+/* Get the IP address of the remote system associated with the socket.
-+ If the socket is a server socket, this function returns NULL.
-+*/
-+IPaddress *SDLNet_TCP_GetPeerAddress(TCPsocket sock)
-+{
-+ if ( sock->sflag ) {
-+ return(NULL);
-+ }
-+ return(&sock->remoteAddress);
-+}
-+
-+/* Send 'len' bytes of 'data' over the non-server socket 'sock'
-+ This function returns the actual amount of data sent. If the return value
-+ is less than the amount of data sent, then either the remote connection was
-+ closed, or an unknown socket error occurred.
-+*/
-+int SDLNet_TCP_Send(TCPsocket sock, const void *datap, int len)
-+{
-+ SDLNetSynchronizer syncer;
-+ Uint8 *data = (Uint8 *)datap; /* For pointer arithmetic */
-+ int sent, left;
-+
-+ /* Server sockets are for accepting connections only */
-+ if ( sock->sflag ) {
-+ SDLNet_SetError("Server sockets cannot send");
-+ return(-1);
-+ }
-+
-+ /* Keep sending data until it's sent or an error occurs */
-+ left = len;
-+ sent = 0;
-+ errno = 0;
-+ do {
-+ len = syncer.Write (sock->channel, (const char *) data, left);
-+ if ( len > 0 ) {
-+ sent += len;
-+ left -= len;
-+ data += len;
-+ }
-+ } while ( (left > 0) && (len >= 0 || errno == EINTR) );
-+
-+ return(sent);
-+}
-+
-+/* Receive up to 'maxlen' bytes of data over the non-server socket 'sock',
-+ and store them in the buffer pointed to by 'data'.
-+ This function returns the actual amount of data received. If the return
-+ value is less than or equal to zero, then either the remote connection was
-+ closed, or an unknown socket error occurred.
-+*/
-+int SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen)
-+{
-+ SDLNetSynchronizer syncer;
-+ int len = 0;
-+
-+ /* Server sockets are for accepting connections only */
-+ if ( sock->sflag ) {
-+ SDLNet_SetError("Server sockets cannot receive");
-+ return(-1);
-+ }
-+
-+ if ( sock->ready && maxlen > 0 ) {
-+ len = std::min (sock->bufferAmount - sock->bufferOffset, maxlen);
-+ memcpy (data, sock->buffer + sock->bufferOffset, len);
-+ sock->bufferOffset += len;
-+ if ( sock->bufferOffset == sock->bufferAmount )
-+ sock->ready = 0;
-+ }
-+
-+ if ( sock->ready == 0 && sock->readInProgress == 0) {
-+ if (__read_syncer == NULL)
-+ __read_syncer = new SDLNetSynchronizer ();
-+ __read_syncer->ReadAsync (sock);
-+ }
-+
-+ return(len);
-+}
-+
-+/* Close a TCP network socket */
-+void SDLNet_TCP_Close(TCPsocket sock)
-+{
-+ SDLNetSynchronizer syncer;
-+ if ( sock != NULL ) {
-+ sock->channel.Close ();
-+ free (sock);
-+ }
-+}
diff --git a/packaging/nacl/ports/sdl-net/pkg_info b/packaging/nacl/ports/sdl-net/pkg_info
deleted file mode 100644
index 29f94bb20..000000000
--- a/packaging/nacl/ports/sdl-net/pkg_info
+++ /dev/null
@@ -1,8 +0,0 @@
-NAME=sdl-net
-VERSION=1.2.7
-ARCHIVE_ROOT=SDL_net-1.2.7
-URL=http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz
-LICENSE=LGPL2
-DEPENDS=(sdl)
-SHA1=b46c7e3221621cc34fec1238f1b5f0ce8972274d
-DISABLED_TOOLCHAIN=(emscripten)
diff --git a/packaging/nacl/ports/sdl/build.sh b/packaging/nacl/ports/sdl/build.sh
deleted file mode 100644
index ee30577d1..000000000
--- a/packaging/nacl/ports/sdl/build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2011 The Native Client Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EXTRA_CONFIGURE_ARGS="--disable-assembly --disable-pthread-sem"
-
-AutogenStep() {
- ChangeDir ${SRC_DIR}
- # For some reason if we don't remove configure before running
- # autoconf it doesn't always get updates correctly. About half
- # the time the old configure script (with no reference to nacl)
- # will remain after ./autogen.sh
- rm -f configure
- ./autogen.sh
- PatchConfigure
- PatchConfigSub
- cd -
-}
-
-ConfigureStep() {
- AutogenStep
- SetupCrossEnvironment
- DefaultConfigureStep
-}
diff --git a/packaging/nacl/ports/sdl/nacl.patch b/packaging/nacl/ports/sdl/nacl.patch
deleted file mode 100644
index 7c82591cc..000000000
--- a/packaging/nacl/ports/sdl/nacl.patch
+++ /dev/null
@@ -1,529 +0,0 @@
-diff --git a/configure.in b/configure.in
-index ab0e314..c7ae13b 100644
---- a/configure.in
-+++ b/configure.in
-@@ -957,7 +957,7 @@ AC_HELP_STRING([--enable-naclvideo], [enable the nacl video driver [[default=yes
- AC_DEFINE(SDL_VIDEO_DRIVER_NACL)
- SOURCES="$SOURCES $srcdir/src/video/nacl/*.c"
- EXTRA_LDFLAGS="-lppapi_simple -l${NACL_CXX_LIB:-stdc++} $EXTRA_LDFLAGS"
-- SDL_LIBS="-Wl,-unacl_main -Wl,-undefined=PSUserMainGet -lSDLmain $SDL_LIBS -lppapi_gles2 -lcli_main -lnacl_spawn -ltar -lppapi_simple -lnacl_io -lppapi -lm -l${NACL_CXX_LIB:-stdc++}"
-+ SDL_LIBS="-lSDLmain $SDL_LIBS -lppapi_gles2 -lcli_main -lnacl_spawn -ltar -lppapi_simple_cpp -lnacl_io -lppapi -lm -l${NACL_CXX_LIB:-stdc++} -lppapi_cpp"
- SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
- fi
-
-@@ -2449,7 +2449,7 @@ case "$host" in
- have_timers=yes
- fi
- CheckPTHREAD
-- SDLMAIN_SOURCES="$srcdir/src/main/nacl/*.c"
-+ SDLMAIN_SOURCES="$srcdir/src/main/nacl/*.cc"
- ;;
- *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
- case "$host" in
-diff --git a/src/events/SDL_keyboard.c b/src/events/SDL_keyboard.c
-index 5753927..da37fe6 100644
---- a/src/events/SDL_keyboard.c
-+++ b/src/events/SDL_keyboard.c
-@@ -371,6 +371,13 @@ Uint8 * SDL_GetKeyState (int *numkeys)
- *numkeys = SDLK_LAST;
- return(SDL_KeyState);
- }
-+
-+// private (used in naclevents.c)
-+void SDL_SetKeyState (SDLKey key, Uint8 state)
-+{
-+ SDL_KeyState[key] = state;
-+}
-+
- SDLMod SDL_GetModState (void)
- {
- return(SDL_ModState);
-diff --git a/src/main/nacl/SDL_nacl_main.c b/src/main/nacl/SDL_nacl_main.c
-deleted file mode 100644
-index ef26120..0000000
---- a/src/main/nacl/SDL_nacl_main.c
-+++ /dev/null
-@@ -1,125 +0,0 @@
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
--
-- This software is provided 'as-is', without any express or implied
-- warranty. In no event will the authors be held liable for any damages
-- arising from the use of this software.
--
-- Permission is granted to anyone to use this software for any purpose,
-- including commercial applications, and to alter it and redistribute it
-- freely, subject to the following restrictions:
--
-- 1. The origin of this software must not be misrepresented; you must not
-- claim that you wrote the original software. If you use this software
-- in a product, an acknowledgment in the product documentation would be
-- appreciated but is not required.
-- 2. Altered source versions must be plainly marked as such, and must not be
-- misrepresented as being the original software.
-- 3. This notice may not be removed or altered from any source distribution.
--*/
--#include "SDL_config.h"
--
--#if SDL_VIDEO_DRIVER_NACL
--
--/* Include the SDL main definition header */
--#include "SDL_main.h"
--#include "../../SDL_trace.h"
--
--#include <errno.h>
--#include <ppapi_simple/ps_main.h>
--#include <ppapi_simple/ps_event.h>
--#include <ppapi_simple/ps_interface.h>
--#include <nacl_io/nacl_io.h>
--#include <sys/mount.h>
--#include <nacl_main.h>
--#include <unistd.h>
--
--extern void NACL_SetScreenResolution(int width, int height);
--
--static int
--ProcessArgs(int argc, char** argv) {
-- const char* arg = getenv("SDL_TAR_EXTRACT");
-- if (arg != NULL) {
-- const char* source;
-- const char* target = "/";
-- char* sep;
-- char buf[64];
-- int n;
--
-- const char* q, *p = arg;
-- while (*p) {
-- while (*p && isspace((unsigned char)*p)) ++p;
-- if (!*p) break;
-- q = p;
-- while (*p && !isspace((unsigned char)*p)) ++p;
--
-- n = sizeof(buf) - 1;
-- if (p - q < n) n = p - q;
-- strncpy(buf, q, n);
-- buf[n] = '\0';
--
-- sep = strchr(buf, ':');
-- source = buf;
-- if (sep) {
-- target = sep + 1;
-- *sep = '\0';
-- }
--
-- SDL_log("extracting tar file '%s' -> '%s'\n", source, target);
-- if (nacl_startup_untar(argv[0], source, target) != 0)
-- return 1;
-- }
-- }
--
-- return 0;
--}
--
--/* This is started in a worker thread by ppapi_simple! */
--int
--nacl_main(int argc, char *argv[])
--{
-- SDL_TRACE("nacl_main\n");
-- PSEvent* ps_event;
-- PP_Resource event;
-- struct PP_Rect rect;
-- int ready = 0;
-- const PPB_View *ppb_view = PSInterfaceView();
--
-- if (ProcessArgs(argc, argv) != 0) {
-- return 1;
-- }
--
-- /* Wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before starting the app */
-- PSEventSetFilter(PSE_INSTANCE_DIDCHANGEVIEW);
-- /* Process all waiting events without blocking */
-- while (!ready) {
-- ps_event = PSEventWaitAcquire();
-- event = ps_event->as_resource;
-- switch(ps_event->type) {
-- /* From DidChangeView, contains a view resource */
-- case PSE_INSTANCE_DIDCHANGEVIEW:
-- ppb_view->GetRect(event, &rect);
-- NACL_SetScreenResolution(rect.size.width, rect.size.height);
-- ready = 1;
-- break;
-- default:
-- break;
-- }
-- PSEventRelease(ps_event);
-- }
--
-- /*
-- * Startup in /mnt/http by default so resources hosted on the webserver
-- * are accessible in the current working directory.
-- */
-- if (getenv("PWD") == NULL) {
-- if (chdir("/mnt/http") != 0) {
-- SDL_log("chdir to /mnt/http failed: %s\n", strerror(errno));
-- }
-- }
--
-- return SDL_main(argc, argv);
--}
--
--#endif /* SDL_VIDEO_DRIVER_NACL */
-diff --git a/src/main/nacl/SDL_nacl_main.cc b/src/main/nacl/SDL_nacl_main.cc
-new file mode 100644
-index 0000000..ee80b9a
---- /dev/null
-+++ b/src/main/nacl/SDL_nacl_main.cc
-@@ -0,0 +1,129 @@
-+/*
-+ Simple DirectMedia Layer
-+ Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
-+
-+ This software is provided 'as-is', without any express or implied
-+ warranty. In no event will the authors be held liable for any damages
-+ arising from the use of this software.
-+
-+ Permission is granted to anyone to use this software for any purpose,
-+ including commercial applications, and to alter it and redistribute it
-+ freely, subject to the following restrictions:
-+
-+ 1. The origin of this software must not be misrepresented; you must not
-+ claim that you wrote the original software. If you use this software
-+ in a product, an acknowledgment in the product documentation would be
-+ appreciated but is not required.
-+ 2. Altered source versions must be plainly marked as such, and must not be
-+ misrepresented as being the original software.
-+ 3. This notice may not be removed or altered from any source distribution.
-+*/
-+#include "SDL_config.h"
-+
-+#if SDL_VIDEO_DRIVER_NACL
-+
-+/* Include the SDL main definition header */
-+#include "SDL_main.h"
-+#include "../../SDL_trace.h"
-+
-+#include <errno.h>
-+#include <ppapi_simple/ps_main.h>
-+#include <ppapi_simple/ps_event.h>
-+#include <ppapi_simple/ps_interface.h>
-+#include <nacl_io/nacl_io.h>
-+#include <sys/mount.h>
-+#include <nacl_main.h>
-+#include <unistd.h>
-+
-+extern "C" void NACL_SetScreenResolution(int width, int height);
-+
-+static int
-+ProcessArgs(int argc, char** argv) {
-+ const char* arg = getenv("SDL_TAR_EXTRACT");
-+ if (arg != NULL) {
-+ const char* source;
-+ const char* target = "/";
-+ char* sep;
-+ char buf[64];
-+ int n;
-+
-+ const char* q, *p = arg;
-+ while (*p) {
-+ while (*p && isspace((unsigned char)*p)) ++p;
-+ if (!*p) break;
-+ q = p;
-+ while (*p && !isspace((unsigned char)*p)) ++p;
-+
-+ n = sizeof(buf) - 1;
-+ if (p - q < n) n = p - q;
-+ strncpy(buf, q, n);
-+ buf[n] = '\0';
-+
-+ sep = strchr(buf, ':');
-+ source = buf;
-+ if (sep) {
-+ target = sep + 1;
-+ *sep = '\0';
-+ }
-+
-+ SDL_log("extracting tar file '%s' -> '%s'\n", source, target);
-+ if (nacl_startup_untar(argv[0], source, target) != 0)
-+ return 1;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+#undef main
-+
-+/* This is started in a worker thread by ppapi_simple! */
-+int
-+main(int argc, char *argv[])
-+{
-+ SDL_TRACE("main\n");
-+ PSEvent* ps_event;
-+ PP_Resource event;
-+ struct PP_Rect rect;
-+ int ready = 0;
-+ const PPB_View *ppb_view = PSInterfaceView();
-+
-+ if (ProcessArgs(argc, argv) != 0) {
-+ return 1;
-+ }
-+
-+ /* Wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before starting the app */
-+ PSEventSetFilter(PSE_INSTANCE_DIDCHANGEVIEW);
-+ /* Process all waiting events without blocking */
-+ while (!ready) {
-+ ps_event = PSEventWaitAcquire();
-+ event = ps_event->as_resource;
-+ switch(ps_event->type) {
-+ /* From DidChangeView, contains a view resource */
-+ case PSE_INSTANCE_DIDCHANGEVIEW:
-+ ppb_view->GetRect(event, &rect);
-+ NACL_SetScreenResolution(rect.size.width, rect.size.height);
-+ ready = 1;
-+ break;
-+ default:
-+ break;
-+ }
-+ PSEventRelease(ps_event);
-+ }
-+
-+ mount("", /* source */
-+ "/persistent", /* target */
-+ "html5fs", /* filesystemtype */
-+ 0, /* mountflags */
-+ "type=PERSISTENT,expected_size=1048576"); /* data */
-+
-+ mount("", /* source. Use relative URL */
-+ "/http", /* target */
-+ "httpfs", /* filesystemtype */
-+ 0, /* mountflags */
-+ ""); /* data */
-+
-+ return SDL_main(argc, argv);
-+}
-+
-+#endif /* SDL_VIDEO_DRIVER_NACL */
-diff --git a/src/video/nacl/SDL_naclevents.c b/src/video/nacl/SDL_naclevents.c
-index a2f7e19..a97134f 100644
---- a/src/video/nacl/SDL_naclevents.c
-+++ b/src/video/nacl/SDL_naclevents.c
-@@ -29,6 +29,7 @@
-
- #include <math.h>
- #include <ppapi_simple/ps_event.h>
-+#include <ppapi/c/ppb_input_event.h>
-
- #define PPAPI_KEY_CTRL 17
- #define PPAPI_KEY_ALT 18
-@@ -176,12 +177,85 @@ static SDLKey translateKey(uint32_t code) {
- }
- }
-
-+static SDL_bool SDL_NeedModUpdate = SDL_TRUE;
-+
-+static int Utf8ToUtf16(const Uint8 *utf8, const int utf8_length, Uint16 *utf16, const int utf16_max_length) {
-+
-+ /* p moves over the output buffer. max_ptr points to the next to the last slot of the buffer. */
-+ Uint16 *p = utf16;
-+ Uint16 const *const max_ptr = utf16 + utf16_max_length;
-+
-+ /* end_of_input points to the last byte of input as opposed to the next to the last byte. */
-+ Uint8 const *const end_of_input = utf8 + utf8_length - 1;
-+
-+ while (utf8 <= end_of_input) {
-+ Uint8 const c = *utf8;
-+ if (p >= max_ptr) {
-+ /* No more output space. */
-+ return -1;
-+ }
-+ if (c < 0x80) {
-+ /* One byte ASCII. */
-+ *p++ = c;
-+ utf8 += 1;
-+ } else if (c < 0xC0) {
-+ /* Follower byte without preceeding leader bytes. */
-+ return -1;
-+ } else if (c < 0xE0) {
-+ /* Two byte sequence. We need one follower byte. */
-+ if (end_of_input - utf8 < 1 || (((utf8[1] ^ 0x80)) & 0xC0)) {
-+ return -1;
-+ }
-+ *p++ = (Uint16)(0xCF80 + (c << 6) + utf8[1]);
-+ utf8 += 2;
-+ } else if (c < 0xF0) {
-+ /* Three byte sequence. We need two follower byte. */
-+ if (end_of_input - utf8 < 2 || (((utf8[1] ^ 0x80) | (utf8[2] ^ 0x80)) & 0xC0)) {
-+ return -1;
-+ }
-+ *p++ = (Uint16)(0xDF80 + (c << 12) + (utf8[1] << 6) + utf8[2]);
-+ utf8 += 3;
-+ } else if (c < 0xF8) {
-+ int plane;
-+ /* Four byte sequence. We need three follower bytes. */
-+ if (end_of_input - utf8 < 3 || (((utf8[1] ^ 0x80) | (utf8[2] ^0x80) | (utf8[3] ^ 0x80)) & 0xC0)) {
-+ return -1;
-+ }
-+ plane = (-0xC8 + (c << 2) + (utf8[1] >> 4));
-+ if (plane == 0) {
-+ /* This four byte sequence is an alias that
-+ corresponds to a Unicode scalar value in BMP.
-+ It fits in an UTF-16 encoding unit. */
-+ *p++ = (Uint16)(0xDF80 + (utf8[1] << 12) + (utf8[2] << 6) + utf8[3]);
-+ } else if (plane <= 16) {
-+ /* This is a legal four byte sequence that corresponds to a surrogate pair. */
-+ if (p + 1 >= max_ptr) {
-+ /* No enough space on the output buffer for the pair. */
-+ return -1;
-+ }
-+ *p++ = (Uint16)(0xE5B8 + (c << 8) + (utf8[1] << 2) + (utf8[2] >> 4));
-+ *p++ = (Uint16)(0xDB80 + ((utf8[2] & 0x0F) << 6) + utf8[3]);
-+ } else {
-+ /* This four byte sequence is out of UTF-16 code space. */
-+ return -1;
-+ }
-+ utf8 += 4;
-+ } else {
-+ /* Longer sequence or unused byte. */
-+ return -1;
-+ }
-+ }
-+ return p - utf16;
-+}
-+
-+
- void HandleInputEvent(_THIS, PP_Resource event) {
- static Uint8 last_scancode = 0;
- static int alt_down = 0;
- static int ctrl_down = 0;
- PP_InputEvent_Type type;
- PP_InputEvent_Modifier modifiers;
-+ SDLMod sdl_mod;
- Uint8 button;
- Uint8 state;
- Uint8 gained;
-@@ -197,9 +271,49 @@ void HandleInputEvent(_THIS, PP_Resource event) {
- int sdl_wheel_clicks_y;
- int i;
-
-+ // defining modifiers array for conversion
-+ static const size_t modcnt = 6;
-+ static const int ppapi_mods[modcnt] = {
-+ PP_INPUTEVENT_MODIFIER_SHIFTKEY,
-+ PP_INPUTEVENT_MODIFIER_CONTROLKEY,
-+ PP_INPUTEVENT_MODIFIER_ALTKEY,
-+ PP_INPUTEVENT_MODIFIER_METAKEY,
-+ PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY,
-+ PP_INPUTEVENT_MODIFIER_NUMLOCKKEY
-+ };
-+ static const SDLMod sdl_mods[modcnt] = {
-+ KMOD_LSHIFT,
-+ KMOD_LCTRL,
-+ KMOD_LALT,
-+ KMOD_LMETA,
-+ KMOD_CAPS,
-+ KMOD_NUM
-+ };
-+ static const SDLKey sdl_keys[modcnt] = {
-+ SDLK_LSHIFT,
-+ SDLK_LCTRL,
-+ SDLK_LALT,
-+ SDLK_LMETA,
-+ SDLK_CAPSLOCK,
-+ SDLK_NUMLOCK
-+ };
-+ static const SDLKey sdl_rkeys[modcnt] = {
-+ SDLK_RSHIFT,
-+ SDLK_RCTRL,
-+ SDLK_RALT,
-+ SDLK_RMETA,
-+ SDLK_CAPSLOCK,
-+ SDLK_NUMLOCK
-+ };
-+
- type = dd->ppb_input_event->GetType(event);
- modifiers = dd->ppb_input_event->GetModifiers(event);
-
-+ // alt_down and ctrl_down correction
-+ // needed when one of these keys were pressed outside of the module
-+ alt_down = modifiers & PP_INPUTEVENT_MODIFIER_ALTKEY ? 1 : 0;
-+ ctrl_down = modifiers & PP_INPUTEVENT_MODIFIER_CONTROLKEY ? 1 : 0;
-+
- switch (type) {
- case PP_INPUTEVENT_TYPE_MOUSEDOWN:
- case PP_INPUTEVENT_TYPE_MOUSEUP:
-@@ -216,13 +330,13 @@ void HandleInputEvent(_THIS, PP_Resource event) {
- sdl_wheel_clicks_y = trunc(wheel_clicks_y);
- button = (sdl_wheel_clicks_x > 0) ? SDL_BUTTON_X1 : SDL_BUTTON_X2;
- for (i = 0; i < abs(sdl_wheel_clicks_x); i++) {
-- SDL_PrivateMouseButton(SDL_MOUSEBUTTONDOWN, button, 0, 0);
-- SDL_PrivateMouseButton(SDL_MOUSEBUTTONUP, button, 0, 0);
-+ SDL_PrivateMouseButton(SDL_PRESSED, button, 0, 0);
-+ SDL_PrivateMouseButton(SDL_RELEASED, button, 0, 0);
- }
- button = (sdl_wheel_clicks_y > 0) ? SDL_BUTTON_WHEELUP : SDL_BUTTON_WHEELDOWN;
- for (i = 0; i < abs(sdl_wheel_clicks_y); i++) {
-- SDL_PrivateMouseButton(SDL_MOUSEBUTTONDOWN, button, 0, 0);
-- SDL_PrivateMouseButton(SDL_MOUSEBUTTONUP, button, 0, 0);
-+ SDL_PrivateMouseButton(SDL_PRESSED, button, 0, 0);
-+ SDL_PrivateMouseButton(SDL_RELEASED, button, 0, 0);
- }
- wheel_clicks_x -= sdl_wheel_clicks_x;
- wheel_clicks_y -= sdl_wheel_clicks_y;
-@@ -259,7 +373,12 @@ void HandleInputEvent(_THIS, PP_Resource event) {
- // It seems that SDL 1.3 is better in this regard.
- keysym.scancode = dd->ppb_keyboard_input_event->GetKeyCode(event);
- unicode_var = dd->ppb_keyboard_input_event->GetCharacterText(event);
-- keysym.unicode = dd->ppb_var->VarToUtf8(unicode_var, &unicode_var_len)[0];
-+ const Uint8 *utf8_buf = dd->ppb_var->VarToUtf8(unicode_var, &unicode_var_len);
-+
-+ Uint8 utf16_buf[10];
-+ Utf8ToUtf16(utf8_buf, unicode_var_len, (Uint16*)&utf16_buf[0], 1);
-+ keysym.unicode = *(Uint16*)&utf16_buf[0];
-+
- dd->ppb_var->Release(unicode_var);
- keysym.sym = translateKey(keysym.scancode);
-
-@@ -318,6 +437,34 @@ void HandleInputEvent(_THIS, PP_Resource event) {
- state = SDL_RELEASED;
- last_scancode = 0;
- }
-+
-+ if (SDL_NeedModUpdate) {
-+ // copying keyboard modifiers from PPAPI
-+ sdl_mod = KMOD_NONE;
-+ for (i = 0; i < modcnt; ++i) {
-+ if (sdl_keys[i] == keysym.sym) // if key is a modifier
-+ continue; // then do not copy it
-+ if (modifiers & ppapi_mods[i]) {
-+ sdl_mod |= sdl_mods[i];
-+ SDL_SetKeyState(sdl_keys[i], SDL_PRESSED);
-+ } else {
-+ SDL_SetKeyState(sdl_keys[i], SDL_RELEASED);
-+ }
-+ }
-+ SDL_SetModState(sdl_mod);
-+ SDL_NeedModUpdate = SDL_FALSE;
-+ }
-+
-+ if (modifiers & PP_INPUTEVENT_MODIFIER_ISRIGHT) {
-+ // convert left modifier keycode to the right one
-+ for (i = 0; i < modcnt; ++i) {
-+ if (keysym.sym == sdl_keys[i]) {
-+ keysym.sym = sdl_rkeys[i];
-+ break;
-+ }
-+ }
-+ }
-+
- keysym.mod = KMOD_NONE;
- SDL_TRACE("Key event: %d: %s\n", state, SDL_GetKeyName(keysym.sym));
- SDL_PrivateKeyboard(state, &keysym);
-@@ -352,6 +499,7 @@ static void HandleEvent(_THIS, PSEvent* ps_event) {
-
- /* From DidChangeFocus, contains a PP_Bool with the current focus state. */
- case PSE_INSTANCE_DIDCHANGEFOCUS:
-+ SDL_NeedModUpdate = SDL_TRUE;
- break;
-
- /* When the 3D context is lost, no resource. */
diff --git a/packaging/nacl/ports/sdl/pkg_info b/packaging/nacl/ports/sdl/pkg_info
deleted file mode 100644
index 21813f18c..000000000
--- a/packaging/nacl/ports/sdl/pkg_info
+++ /dev/null
@@ -1,7 +0,0 @@
-NAME=sdl
-VERSION=1.2.15
-URL=https://github.com/sbc100/SDL-mirror.git@1c6f2d0
-LICENSE=LGPL2
-DEPENDS=(nacl-spawn regal)
-SHA1=0c5f193ced810b0d7ce3ab06d808cbb5eef03a2c
-DISABLED_TOOLCHAIN=(emscripten)
diff --git a/packaging/openSUSE Build Service/manaplus.spec b/packaging/openSUSE Build Service/manaplus.spec
deleted file mode 100644
index 852f6422c..000000000
--- a/packaging/openSUSE Build Service/manaplus.spec
+++ /dev/null
@@ -1,101 +0,0 @@
-Name: manaplus
-Version: 1.1.6.26
-Release: 1
-Summary: A client for Evol Online and The Mana World: 2D MMORPG
-Group: Games/Other
-License: GPLv2+
-Url: http://manaplus.evolonline.org/
-Source0: http://download.evolonline.org/manaplus/download/%{version}/%{name}-%{version}.tar.bz2
-BuildRoot: %{_topdir}/%{name}-%{version}-root
-
-BuildRequires: gcc-c++
-BuildRequires: make
-BuildRequires: SDL-devel
-BuildRequires: SDL_image-devel
-BuildRequires: SDL_mixer-devel
-Buildrequires: SDL_net-devel
-BuildRequires: SDL_ttf-devel
-BuildRequires: SDL_gfx-devel
-BuildRequires: libcurl-devel
-BuildRequires: libxml2-devel
-BuildRequires: libpng-devel
-BuildRequires: gettext-devel
-
-Provides: evolonline-client = %{version}-%{release}
-Provides: manaworld-client = %{version}-%{release}
-
-%description
-ManaPlus is extended client for Evol Online, The Mana World and similar
-servers based on eAthena fork.
-As a 2D style game, Evol Online aims to create a friendly environment where
-people can escape reality and interact with others while enjoying themselves
-through a fantasy style game.
-The Mana World (TMW) is a serious effort to create an innovative free and
-open source MMORPG. TMW uses 2D graphics and aims to create a large and
-diverse interactive world.
-
-%prep
-%setup -q
-
-%build
-%configure --host=
-%{__make}
-
-%install
-rm -rf %{buildroot}
-%makeinstall
-
-%find_lang %{name}
-
-%clean
-rm -rf %{buildroot}
-
-%files -f %{name}.lang
-%attr(-, root, root) %doc AUTHORS ChangeLog COPYING docs/*.txt NEWS README
-%attr(0755, root, root) %{_bindir}/%{name}
-%attr(-, root, root) %{_datadir}/%{name}
-%attr(-, root, root) %{_datadir}/pixmaps/%{name}.png
-%attr(-, root, root) %{_datadir}/applications/%{name}.desktop
-%attr(-, root, root) %{_mandir}/man6/%{name}*
-
-
-%changelog
-* Sat Jul 02 2011 Andrei Karas <akaras@inbox.ru> 1.1.6.26
-- Add missing dependency SDL_image and compilation tools
-
-* Fri May 27 2011 Maarten Vanraes <maarten.vanraes@gmail.com> 1.1.5.15
-- Generalise spec file to work for multiple rpm-based distros
-
-* Sun Apr 17 2011 alien <alien> 1.1.4.17-1.mga1
-+ Revision: 87336
-- upgrade to 1.1.4.17
-
-* Fri Apr 08 2011 alien <alien> 1.1.4.3-1.mga1
-+ Revision: 82020
-- Update to new version 1.1.4.3
-- manaplus is now primarily for Evol Online, updating Summary and Description and add Provides
-- suggests mumble
-
-* Sat Feb 26 2011 alien <alien> 1.1.2.20-1.mga1
-+ Revision: 61040
-- Fix BuildRequires
-- Fix configure part
-- Remove unneeded mv files
-- Remove BuildRoot
-- use tmw spec file as basis
-- imported package manaplus
-
-
-* Sun Jan 31 2010 Jérôme Brenier <incubusss@mandriva.org> 0.0.29.1-3mdv2010.1
-+ Revision: 498772
-- add version and release for Provides
-
-* Tue Jan 05 2010 Jérôme Brenier <incubusss@mandriva.org> 0.0.29.1-2mdv2010.1
-+ Revision: 486410
-- use _gamesbindir and _gamesdatadir
-- Suggests: tmwmusic
-
-* Tue Jan 05 2010 Jérôme Brenier <incubusss@mandriva.org> 0.0.29.1-1mdv2010.1
-+ Revision: 486388
-- add some provides on themanaworld and manaworld
-- import tmw
diff --git a/packaging/patches/physfs/zip_seek.diff b/packaging/patches/physfs/zip_seek.diff
deleted file mode 100644
index 0d9b17f5e..000000000
--- a/packaging/patches/physfs/zip_seek.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -r 34ebe997c5c0 archivers/zip.c
---- a/archivers/zip.c Fri Jan 01 12:53:41 2016 -0500
-+++ b/archivers/zip.c Wed Jan 25 20:56:26 2017 +0300
-@@ -327,7 +327,8 @@
- return(0);
-
- inflateEnd(&finfo->stream);
-- memcpy(&finfo->stream, &str, sizeof (z_stream));
-+ inflateCopy(&finfo->stream, &str);
-+ inflateEnd(&str);
- finfo->uncompressed_position = finfo->compressed_position = 0;
- } /* if */
-
diff --git a/packaging/windows/FileAssociation.nsh b/packaging/windows/FileAssociation.nsh
deleted file mode 100644
index 71a9162ef..000000000
--- a/packaging/windows/FileAssociation.nsh
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
-_____________________________________________________________________________
-
- File Association
-_____________________________________________________________________________
-
- Based on code taken from http://nsis.sourceforge.net/File_Association
-
- Usage in script:
- 1. !include "FileAssociation.nsh"
- 2. [Section|Function]
- ${FileAssociationFunction} "Param1" "Param2" "..." $var
- [SectionEnd|FunctionEnd]
-
- FileAssociationFunction=[RegisterExtension|UnRegisterExtension]
-
-_____________________________________________________________________________
-
- ${RegisterExtension} "[executable]" "[extension]" "[description]"
-
-"[executable]" ; executable which opens the file format
- ;
-"[extension]" ; extension, which represents the file format to open
- ;
-"[description]" ; description for the extension. This will be display in Windows Explorer.
- ;
-
-
- ${UnRegisterExtension} "[extension]" "[description]"
-
-"[extension]" ; extension, which represents the file format to open
- ;
-"[description]" ; description for the extension. This will be display in Windows Explorer.
- ;
-
-_____________________________________________________________________________
-
- Macros
-_____________________________________________________________________________
-
- Change log window verbosity (default: 3=no script)
-
- Example:
- !include "FileAssociation.nsh"
- !insertmacro RegisterExtension
- ${FileAssociation_VERBOSE} 4 # all verbosity
- !insertmacro UnRegisterExtension
- ${FileAssociation_VERBOSE} 3 # no script
-*/
-
-
-!ifndef FileAssociation_INCLUDED
-!define FileAssociation_INCLUDED
-
-!include Util.nsh
-
-!verbose push
-!verbose 3
-!ifndef _FileAssociation_VERBOSE
- !define _FileAssociation_VERBOSE 3
-!endif
-!verbose ${_FileAssociation_VERBOSE}
-!define FileAssociation_VERBOSE `!insertmacro FileAssociation_VERBOSE`
-!verbose pop
-
-!macro FileAssociation_VERBOSE _VERBOSE
- !verbose push
- !verbose 3
- !undef _FileAssociation_VERBOSE
- !define _FileAssociation_VERBOSE ${_VERBOSE}
- !verbose pop
-!macroend
-
-
-
-!macro RegisterExtensionCall _EXECUTABLE _EXTENSION _DESCRIPTION
- !verbose push
- !verbose ${_FileAssociation_VERBOSE}
- Push `${_DESCRIPTION}`
- Push `${_EXTENSION}`
- Push `${_EXECUTABLE}`
- ${CallArtificialFunction} RegisterExtension_
- !verbose pop
-!macroend
-
-!macro UnRegisterExtensionCall _EXTENSION _DESCRIPTION
- !verbose push
- !verbose ${_FileAssociation_VERBOSE}
- Push `${_EXTENSION}`
- Push `${_DESCRIPTION}`
- ${CallArtificialFunction} UnRegisterExtension_
- !verbose pop
-!macroend
-
-
-
-!define RegisterExtension `!insertmacro RegisterExtensionCall`
-!define un.RegisterExtension `!insertmacro RegisterExtensionCall`
-
-!macro RegisterExtension
-!macroend
-
-!macro un.RegisterExtension
-!macroend
-
-!macro RegisterExtension_
- !verbose push
- !verbose ${_FileAssociation_VERBOSE}
-
- Exch $R2 ;exe
- Exch
- Exch $R1 ;ext
- Exch
- Exch 2
- Exch $R0 ;desc
- Exch 2
- Push $0
- Push $1
-
- ReadRegStr $1 HKCR $R1 "" ; read current file association
- StrCmp "$1" "" NoBackup ; is it empty
- StrCmp "$1" "$R0" NoBackup ; is it our own
- WriteRegStr HKCR $R1 "backup_val" "$1" ; backup current value
-NoBackup:
- WriteRegStr HKCR $R1 "" "$R0" ; set our file association
-
- ReadRegStr $0 HKCR $R0 ""
- StrCmp $0 "" 0 Skip
- WriteRegStr HKCR "$R0" "" "$R0"
- WriteRegStr HKCR "$R0\shell" "" "open"
- WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,0"
-Skip:
- WriteRegStr HKCR "$R0\shell\open\command" "" '"$R2" "%1"'
- WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
- WriteRegStr HKCR "$R0\shell\edit\command" "" '"$R2" "%1"'
-
- Pop $1
- Pop $0
- Pop $R2
- Pop $R1
- Pop $R0
-
- !verbose pop
-!macroend
-
-
-
-!define UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
-!define un.UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
-
-!macro UnRegisterExtension
-!macroend
-
-!macro un.UnRegisterExtension
-!macroend
-
-!macro UnRegisterExtension_
- !verbose push
- !verbose ${_FileAssociation_VERBOSE}
-
- Exch $R1 ;desc
- Exch
- Exch $R0 ;ext
- Exch
- Push $0
- Push $1
-
- ReadRegStr $1 HKCR $R0 ""
- StrCmp $1 $R1 0 NoOwn ; only do this if we own it
- ReadRegStr $1 HKCR $R0 "backup_val"
- StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
- DeleteRegKey HKCR $R0
- Goto NoOwn
-
-Restore:
- WriteRegStr HKCR $R0 "" $1
- DeleteRegValue HKCR $R0 "backup_val"
- DeleteRegKey HKCR $R1 ;Delete key with association name settings
-
-NoOwn:
-
- Pop $1
- Pop $0
- Pop $R1
- Pop $R0
-
- !verbose pop
-!macroend
-
-!endif # !FileAssociation_INCLUDED
diff --git a/packaging/windows/evol.nsi b/packaging/windows/evol.nsi
deleted file mode 100644
index 84b9cae9e..000000000
--- a/packaging/windows/evol.nsi
+++ /dev/null
@@ -1,497 +0,0 @@
-; This script allows the following parameters being overwritten from
-; command line. When called without any parameters it behaves exactly
-; like the old install script.
-;
-; DLLDIR - directory containing required dlls
-; EXEDIR - directory containing manaplus.exe
-; EXESUFFIX - offset to SRCDIR pointing to a directory containing manaplus.exe
-; PRODUCT_VERSION - software version
-; UPX - upx binary name
-;
-; For a cmake build on UNIX the following should give you a working installer:
-; makensis -DDLLDIR=/path/to/dlls \
-; -DPRODUCT_VERSION=0.1.`date +%Y%m%d`
-; -DUPX=upx
-; -DEXESUFFIX=/src
-
-CRCCheck on
-SetCompress off
-SetCompressor /SOLID lzma
-
-RequestExecutionLevel admin
-
-!define SRCDIR "..\.."
-!ifndef UPX
- !define "UPX upx\upx.exe"
-!endif
-
-!ifdef EXESUFFIX
- !define EXEDIR ${SRCDIR}/${EXESUFFIX}
-!endif
-
-!ifndef EXEDIR
- !define EXEDIR ${SRCDIR}
-!endif
-
-!ifndef DLLDIR
- !define DLLDIR ${SRCDIR}/dll
-!endif
-
-!ifndef BITS
- !define BITS 32
-!endif
-
-!ifndef SEHDLL
- !define SEHDLL "libgcc_s_sjlj-1.dll"
-!endif
-
-;--- (and without !defines ) ---
-!System "${UPX} --best --crp-ms=999999 --compress-icons=0 --nrv2d ${EXEDIR}\manaplus.exe"
-
-!define MULTIUSER_INSTALLMODE_COMMANDLINE
-!include "MultiUser.nsh"
-
-; HM NIS Edit helper defines
-!define PRODUCT_NAME "EvolClient"
-!ifndef PRODUCT_VERSION
- !define PRODUCT_VERSION "1.1"
-!endif
-!define PRODUCT_PUBLISHER "Evol Online Delopment Team"
-!define PRODUCT_WEB_SITE "http://www.evolonline.org/"
-!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\manaplus.exe"
-!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
-!define PRODUCT_UNINST_ROOT_KEY "SHCTX"
-
-!include "FileAssociation.nsh"
-
-; MUI 1.67 compatible ------
-!include "MUI.nsh"
-
-; MUI Settings
-!define MUI_ABORTWARNING
-;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
-!define MUI_ICON "${SRCDIR}\data\evol\icons\evol-client.ico"
-;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
-!define MUI_UNICON "${SRCDIR}\data\evol\icons\evol-client.ico"
-
-;Language Selection Dialog Settings
-;Remember the installer language
-!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
-!define MUI_LANGDLL_REGISTRY_KEY "Software\EvolOnline"
-!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-
-!define MUI_WELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-
-; Welcome page
-
-!define MUI_WELCOMEPAGE_TITLE_3LINES
-!insertmacro MUI_PAGE_WELCOME
-; License page
-!insertmacro MUI_PAGE_LICENSE "${SRCDIR}\COPYING"
-; Directory page
-!insertmacro MUI_PAGE_DIRECTORY
-; Components page
-!insertmacro MUI_PAGE_COMPONENTS
-; Instfiles page
-!insertmacro MUI_PAGE_INSTFILES
-; Finish page
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION RunEvol
-!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README$\""'
-!define MUI_PAGE_CUSTOMFUNCTION_PRE changeFinishImage
-!define MUI_FINISHPAGE_LINK "Visit EvolOnline website for the latest news, FAQs and support"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://www.evolonline.org/"
-!insertmacro MUI_PAGE_FINISH
-
-Function RunEvol
-SetOutPath $INSTDIR
-Exec "$INSTDIR\manaplus.exe $INSTDIR\evol.manaplus"
-FunctionEnd
-
-Function changeFinishImage
-!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\setup_finish.bmp"
-FunctionEnd
-
-; Uninstaller pages
-
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!define MUI_FINISHPAGE_TITLE_3LINES
-!insertmacro MUI_UNPAGE_FINISH
-
-;Languages
-!insertmacro MUI_LANGUAGE "English" # first language is the default language
-!insertmacro MUI_LANGUAGE "French"
-!insertmacro MUI_LANGUAGE "German"
-!insertmacro MUI_LANGUAGE "Spanish"
-!insertmacro MUI_LANGUAGE "SimpChinese"
-!insertmacro MUI_LANGUAGE "TradChinese"
-!insertmacro MUI_LANGUAGE "Japanese"
-!insertmacro MUI_LANGUAGE "Korean"
-!insertmacro MUI_LANGUAGE "Italian"
-!insertmacro MUI_LANGUAGE "Dutch"
-!insertmacro MUI_LANGUAGE "Danish"
-!insertmacro MUI_LANGUAGE "Swedish"
-!insertmacro MUI_LANGUAGE "Norwegian"
-!insertmacro MUI_LANGUAGE "Finnish"
-!insertmacro MUI_LANGUAGE "Greek"
-!insertmacro MUI_LANGUAGE "Russian"
-!insertmacro MUI_LANGUAGE "Portuguese"
-!insertmacro MUI_LANGUAGE "PortugueseBR"
-!insertmacro MUI_LANGUAGE "Polish"
-!insertmacro MUI_LANGUAGE "Ukrainian"
-!insertmacro MUI_LANGUAGE "Czech"
-!insertmacro MUI_LANGUAGE "Slovak"
-!insertmacro MUI_LANGUAGE "Croatian"
-!insertmacro MUI_LANGUAGE "Bulgarian"
-!insertmacro MUI_LANGUAGE "Hungarian"
-!insertmacro MUI_LANGUAGE "Thai"
-!insertmacro MUI_LANGUAGE "Romanian"
-!insertmacro MUI_LANGUAGE "Latvian"
-!insertmacro MUI_LANGUAGE "Macedonian"
-!insertmacro MUI_LANGUAGE "Estonian"
-!insertmacro MUI_LANGUAGE "Turkish"
-!insertmacro MUI_LANGUAGE "Lithuanian"
-!insertmacro MUI_LANGUAGE "Catalan"
-!insertmacro MUI_LANGUAGE "Slovenian"
-!insertmacro MUI_LANGUAGE "Serbian"
-!insertmacro MUI_LANGUAGE "SerbianLatin"
-!insertmacro MUI_LANGUAGE "Arabic"
-!insertmacro MUI_LANGUAGE "Farsi"
-!insertmacro MUI_LANGUAGE "Hebrew"
-!insertmacro MUI_LANGUAGE "Indonesian"
-!insertmacro MUI_LANGUAGE "Mongolian"
-!insertmacro MUI_LANGUAGE "Luxembourgish"
-!insertmacro MUI_LANGUAGE "Albanian"
-!insertmacro MUI_LANGUAGE "Breton"
-!insertmacro MUI_LANGUAGE "Belarusian"
-!insertmacro MUI_LANGUAGE "Icelandic"
-!insertmacro MUI_LANGUAGE "Malay"
-!insertmacro MUI_LANGUAGE "Bosnian"
-!insertmacro MUI_LANGUAGE "Kurdish"
-
-!insertmacro MUI_RESERVEFILE_LANGDLL
-
-ReserveFile "setup_finish.bmp"
-
-; MUI end ------
-
-Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "evol-${PRODUCT_VERSION}-win${BITS}.exe"
-InstallDir "$PROGRAMFILES\EvolOnline"
-InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
-ShowInstDetails show
-ShowUnInstDetails show
-RequestExecutionLevel admin
-
-Function .onInit
- !insertmacro MULTIUSER_INIT
- !insertmacro MUI_LANGDLL_DISPLAY
- InitPluginsDir
- File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
-
- ReadRegStr $R0 SHCTX \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \
- "UninstallString"
- StrCmp $R0 "" done
-
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- "${PRODUCT_NAME} is already installed. $\n$\nClick `YES` (recomended) to remove the \
- previous version or `NO` to install new version over old version." \
- IDNO done
-
-;Run the uninstaller
-uninst:
- ClearErrors
- ExecWait '$R0' ;Do not copy the uninstaller to a temp file
-
- IfErrors no_remove_uninstaller done
- ;You can either use Delete /REBOOTOK in the uninstaller or add some code
- ;here to remove the uninstaller. Use a registry key to check
- ;whether the user has chosen to uninstall. If you are using an uninstaller
- ;components page, make sure all sections are uninstalled.
- no_remove_uninstaller:
-
-done:
-
-FunctionEnd
-
-
-Section "Core files (required)" SecCore
- SectionIn RO
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$INSTDIR\data"
- CreateDirectory "$INSTDIR\data\evol"
- CreateDirectory "$INSTDIR\data\evol\icons"
- CreateDirectory "$INSTDIR\data\evol\images"
- CreateDirectory "$INSTDIR\data\fonts"
- CreateDirectory "$INSTDIR\data\graphics"
- CreateDirectory "$INSTDIR\data\help"
- CreateDirectory "$INSTDIR\data\help\idx"
- CreateDirectory "$INSTDIR\data\help\tips"
- CreateDirectory "$INSTDIR\data\icons"
- CreateDirectory "$INSTDIR\data\music"
- CreateDirectory "$INSTDIR\data\perserver"
- CreateDirectory "$INSTDIR\data\perserver\default"
- CreateDirectory "$INSTDIR\data\graphics\badges"
- CreateDirectory "$INSTDIR\data\graphics\gui"
- CreateDirectory "$INSTDIR\data\graphics\flags"
- CreateDirectory "$INSTDIR\data\graphics\images"
- CreateDirectory "$INSTDIR\data\graphics\shaders"
- CreateDirectory "$INSTDIR\data\graphics\sprites"
- CreateDirectory "$INSTDIR\data\sfx"
- CreateDirectory "$INSTDIR\data\sfx\system"
- CreateDirectory "$INSTDIR\data\themes"
- CreateDirectory "$INSTDIR\data\themes\blacknblack"
- CreateDirectory "$INSTDIR\data\themes\blackwood"
- CreateDirectory "$INSTDIR\data\themes\classic"
- CreateDirectory "$INSTDIR\data\themes\enchilado"
- CreateDirectory "$INSTDIR\data\themes\golden-delicious"
- CreateDirectory "$INSTDIR\data\themes\jewelry"
- CreateDirectory "$INSTDIR\data\themes\mana"
- CreateDirectory "$INSTDIR\data\themes\pink"
- CreateDirectory "$INSTDIR\data\themes\unity"
- CreateDirectory "$INSTDIR\data\themes\wood"
- CreateDirectory "$INSTDIR\data\translations"
- CreateDirectory "$INSTDIR\data\translations\help"
- CreateDirectory "$INSTDIR\docs"
-
- SetOverwrite ifnewer
- SetOutPath "$INSTDIR"
-
- File "${EXEDIR}\manaplus.exe"
- File "${DLLDIR}\SDL.dll"
- File "${DLLDIR}\SDL_image.dll"
-; File "${DLLDIR}\SDL_mixer.dll"
- File "${DLLDIR}\SDL_net.dll"
- File "${DLLDIR}\SDL_ttf.dll"
- File "${DLLDIR}\libSDL_gfx-15.dll"
- File "${DLLDIR}\libcurl-4.dll"
- File "${DLLDIR}\libfreetype-6.dll"
- File "${DLLDIR}\${SEHDLL}"
- File "${DLLDIR}\libiconv-2.dll"
- File "${DLLDIR}\libintl-8.dll"
- File "${DLLDIR}\libjpeg-9.dll"
- File "${DLLDIR}\libogg-0.dll"
- File "${DLLDIR}\libpng16-16.dll"
- File "${DLLDIR}\libstdc++-6.dll"
- File "${DLLDIR}\libvorbis-0.dll"
- File "${DLLDIR}\libvorbisfile-3.dll"
- File "${DLLDIR}\libxml2-2.dll"
- File "${DLLDIR}\libwinpthread-1.dll"
- File "${DLLDIR}\zlib1.dll"
- File "${SRCDIR}\AUTHORS"
- File "${SRCDIR}\COPYING"
- File "${SRCDIR}\NEWS"
- File "${SRCDIR}\README.txt"
- SetOutPath "$INSTDIR\data\fonts"
- File "${SRCDIR}\data\fonts\*.ttf"
- SetOutPath "$INSTDIR\data\graphics\badges"
- File "${SRCDIR}\data\graphics\badges\*.png"
- File "${SRCDIR}\data\graphics\badges\*.xml"
- SetOutPath "$INSTDIR\data\graphics\flags"
- File "${SRCDIR}\data\graphics\flags\*.png"
- SetOutPath "$INSTDIR\data\graphics\gui"
- File "${SRCDIR}\data\graphics\gui\*.png"
- File "${SRCDIR}\data\graphics\gui\*.xml"
- SetOutPath "$INSTDIR\data\graphics\images"
- File /x minimap_*.png ${SRCDIR}\data\graphics\images\*.png
- File "${SRCDIR}\data\graphics\images\error.png"
- SetOutPath "$INSTDIR\data\graphics\shaders"
- File "${SRCDIR}\data\graphics\shaders\*.glsl"
- SetOutPath "$INSTDIR\data\graphics\sprites"
- File "${SRCDIR}\data\graphics\sprites\*.png"
- File "${SRCDIR}\data\graphics\sprites\*.xml"
- SetOutPath "$INSTDIR\data\sfx\system"
- File "${SRCDIR}\data\sfx\system\*.ogg"
- SetOutPath "$INSTDIR\data\themes\blacknblack"
- File "${SRCDIR}\data\themes\blacknblack\*.png"
- File "${SRCDIR}\data\themes\blacknblack\*.xml"
- SetOutPath "$INSTDIR\data\themes\blackwood"
- File "${SRCDIR}\data\themes\blackwood\*.png"
- File "${SRCDIR}\data\themes\blackwood\*.xml"
- SetOutPath "$INSTDIR\data\themes\mana"
- File "${SRCDIR}\data\themes\mana\*.png"
- File "${SRCDIR}\data\themes\mana\*.xml"
- SetOutPath "$INSTDIR\data\themes\enchilado"
- File "${SRCDIR}\data\themes\enchilado\*.png"
- File "${SRCDIR}\data\themes\enchilado\*.xml"
- SetOutPath "$INSTDIR\data\themes\golden-delicious"
- File "${SRCDIR}\data\themes\golden-delicious\*.png"
- File "${SRCDIR}\data\themes\golden-delicious\*.xml"
- SetOutPath "$INSTDIR\data\themes\jewelry"
- File "${SRCDIR}\data\themes\jewelry\*.png"
- File "${SRCDIR}\data\themes\jewelry\*.xml"
- SetOutPath "$INSTDIR\data\themes\pink"
- File "${SRCDIR}\data\themes\pink\*.png"
- File "${SRCDIR}\data\themes\pink\*.xml"
- SetOutPath "$INSTDIR\data\themes\unity"
- File "${SRCDIR}\data\themes\unity\*.png"
- File "${SRCDIR}\data\themes\unity\*.xml"
- SetOutPath "$INSTDIR\data\themes\wood"
- File "${SRCDIR}\data\themes\wood\*.png"
- File "${SRCDIR}\data\themes\wood\*.xml"
- SetOutPath "$INSTDIR\data\translations\help"
- File "${SRCDIR}\data\translations\help\*.po"
- SetOutPath "$INSTDIR\data\help"
- File "${SRCDIR}\data\help\*.txt"
- SetOutPath "$INSTDIR\data\help\tips"
- File "${SRCDIR}\data\help\tips\*.txt"
- File "${SRCDIR}\data\help\tips\*.jpg"
- SetOutPath "$INSTDIR\data\help\idx"
- File "${SRCDIR}\data\help\idx\*.idx"
- SetOutPath "$INSTDIR\data\icons\"
- File "${SRCDIR}\data\icons\manaplus.ico"
- SetOutPath "$INSTDIR\data\music\"
- File "${SRCDIR}\data\music\*.ogg"
- SetOutPath "$INSTDIR\data\perserver\default\"
- File "${SRCDIR}\data\perserver\default\*.txt"
- File "${SRCDIR}\data\perserver\default\*.xml"
- SetOutPath "$INSTDIR\docs"
- File "${SRCDIR}\docs\FAQ.txt"
- SetOutPath "$INSTDIR"
- File "${SRCDIR}\data\evol\evol.manaplus"
- SetOutPath "$INSTDIR\data\evol\images"
- File "${SRCDIR}\data\evol\images\*.png"
- SetOutPath "$INSTDIR\data\evol\icons"
- File "${SRCDIR}\data\evol\icons\*.ico"
-SectionEnd
-
-Section "Create Shortcuts" SecShortcuts
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$SMPROGRAMS\EvolOnline"
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (no opengl).lnk" '"$INSTDIR\manaplus.exe"' '"--no-opengl" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (safemode).lnk" '"$INSTDIR\manaplus.exe"' '"--safemode" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$DESKTOP\EvolOnline (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
-
- ${registerExtension} "$INSTDIR\manaplus.exe" ".manaplus" "ManaPlus brandings"
-SectionEnd
-
-Section /o "Portable" SecPortable
- SetOutPath "$INSTDIR"
- File "portable.xml"
-SectionEnd
-
-Section /o "Debugger" SecDebug
- SetOutPath "$INSTDIR"
- File "${DLLDIR}\gdb.exe"
- File "${DLLDIR}\libdl.dll"
- File "${DLLDIR}\libexpat-1.dll"
- File "${DLLDIR}\libreadline6.dll"
- File "${DLLDIR}\libtermcap.dll"
- File "${EXEDIR}\manaplusd.exe"
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe" 1
- CreateShortCut "$DESKTOP\EvolOnline (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe" 1
- ${EndIf}
-SectionEnd
-
-Section /o "Profiler" SecProfiler
- SetOutPath "$INSTDIR"
- File "${EXEDIR}\manaplusp.exe"
-
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (profiler).lnk" '"$INSTDIR\manaplusp.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$DESKTOP\EvolOnline (profiler).lnk" '"$INSTDIR\manaplusp.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- ${EndIf}
-SectionEnd
-
-; Section "Tools" SecTools
-; SetOutPath "$INSTDIR"
-; File "${EXEDIR}\dyecmd.exe"
-; SectionEnd
-
-Section /o "Evol Online music" SecEvolMusic
- AddSize 9787
- CreateDirectory "$INSTDIR\data\music"
- SetOutPath "$INSTDIR\data\music"
- NSISdl::download "http://downloads.sourceforge.net/project/evolonline/music/evolmusic-beta2-1.tar.gz" "$TEMP\evolmusic-beta2-1.tar.gz"
- untgz::extract -j -d "$INSTDIR\data\music" "$TEMP\evolmusic-beta2-1.tar.gz"
- Delete "$TEMP\evolmusic-beta2-1.tar.gz"
-SectionEnd
-
-Section "Translations" SecTrans
- SetOutPath "$INSTDIR"
- File /nonfatal /r "${SRCDIR}\translations"
-SectionEnd
-
-;Package descriptions
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core program files."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Create game shortcuts and register extensions."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecPortable} "Portable client. (If selected client will work as portable client.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecEvolMusic} "Background evol music. (If selected the evol music will be downloaded from the internet.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTrans} "Translations for the user interface. Uncheck this component to leave it in English."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDebug} "Install debugger for try to detect stability issues."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecProfiler} "Install profiler build to detect perfomance issues."
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} "Install tools like dyecmd."
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-
-Section -AdditionalIcons
- WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
- WriteIniStr "$INSTDIR\ManaPlus.url" "InternetShortcut" "URL" "http://manaplus.evolonline.org/"
- CreateShortCut "$SMPROGRAMS\EvolOnline\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
- CreateShortCut "$SMPROGRAMS\EvolOnline\Readme.lnk" "notepad.exe" "$INSTDIR\README.txt"
- CreateShortCut "$SMPROGRAMS\EvolOnline\FAQ.lnk" "$INSTDIR\docs\FAQ.txt"
- CreateShortCut "$SMPROGRAMS\EvolOnline\Uninstall.lnk" "$INSTDIR\uninst.exe"
-SectionEnd
-
-Section -Post
- WriteUninstaller "$INSTDIR\uninst.exe"
- WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
-SectionEnd
-
-Function un.onInit
- !insertmacro MUI_UNGETLANGUAGE
- !insertmacro MULTIUSER_UNINIT
-FunctionEnd
-
-Section Uninstall
- DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\EvolOnline"
-
- Delete "$INSTDIR\*.*"
-
- Delete "$SMPROGRAMS\EvolOnline\Uninstall.lnk"
- Delete "$DESKTOP\EvolOnline.lnk"
- Delete "$DESKTOP\EvolOnline (debug).lnk"
- Delete "$DESKTOP\EvolOnline (profiler).lnk"
- Delete "$DESKTOP\EvolOnline (tests).lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline.lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline (debug).lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline (profiler).lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline (no opengl).lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline (safemode).lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline (tests).lnk"
- Delete "$SMPROGRAMS\EvolOnline\Website.lnk"
- Delete "$SMPROGRAMS\EvolOnline\Readme.lnk"
- Delete "$SMPROGRAMS\EvolOnline\FAQ.lnk"
- Delete "$SMPROGRAMS\EvolOnline\EvolOnline.lnk"
- Delete "$DESKTOP\EvolOnline.lnk"
-
- RMDir "$SMPROGRAMS\EvolOnline"
-
- RMDir /r "$INSTDIR\data"
- RMDir /r "$INSTDIR\docs"
- RMDir /r "$INSTDIR\translations"
- RMDir /r "$INSTDIR\updates"
- RMDir "$INSTDIR"
-
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
- DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
- ${unregisterExtension} ".manaplus" "ManaPlus brandings"
- SetAutoClose true
-SectionEnd
diff --git a/packaging/windows/make-translations.sh b/packaging/windows/make-translations.sh
deleted file mode 100755
index 1d4132397..000000000
--- a/packaging/windows/make-translations.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-for i in `grep -v ^# ../../po/LINGUAS`; do
- mkdir -p ../../translations/$i/LC_MESSAGES
- msgfmt -c -o ../../translations/$i/LC_MESSAGES/manaplus.mo ../../po/$i.po
-done
diff --git a/packaging/windows/make-translations.vbs b/packaging/windows/make-translations.vbs
deleted file mode 100644
index 339a0299e..000000000
--- a/packaging/windows/make-translations.vbs
+++ /dev/null
@@ -1,42 +0,0 @@
-Set fso = CreateObject("Scripting.FileSystemObject")
-Set WshShell = CreateObject("WScript.Shell")
-Dim s, infile, outfile, command
-
-Function CreateFolderIfNonexistent(folder)
- if not fso.FolderExists(folder) then
- fso.CreateFolder(folder)
- end if
-end Function
-
-'check for existence of msgfmt
-if not fso.FileExists("msgfmt.exe") then
- WScript.echo "msgfmt.exe not found. Please get gettext for windows from http://gnuwin32.sourceforge.net/packages/gettext.htm and copy the files msgfmt.exe and all dll files from the gettext/bin directory into this directory and run this script again."
- WScript.Quit(1)
-end if
-
-CreateFolderIfNonexistent("..\..\translations\")
-
-'open translation list
-Set stream = fso.GetFile("..\..\po\LINGUAS").OpenAsTextStream(1, 0)
-
-'iterate contents of translations file
-translations = 0
-do while not stream.AtEndOfStream
- s = stream.ReadLine()
- if inStr(s, "#") = false then
- 'create the output directory
- CreateFolderIfNonexistent("..\..\translations\" + s)
- CreateFolderIfNonexistent("..\..\translations\" + s + "\LC_MESSAGES")
- 'build the translate command
- infile = "../../po/" + s + ".po"
- outfile = "../../translations/" + s +"/LC_MESSAGES/mana.mo"
- command = "msgfmt -c -o " + outfile + " " + infile
- 'execute translate command
- errval = WshShell.run(command, 0, true)
- if errval = 0 then
- translations = translations + 1
- end if
- end if
-loop
-
-WScript.echo translations, " translations compiled."
diff --git a/packaging/windows/portable.xml b/packaging/windows/portable.xml
deleted file mode 100644
index dcc00f999..000000000
--- a/packaging/windows/portable.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <option name="dataDir" value="logs"/>
- <option name="configDir" value="configs"/>
- <option name="screenshotDir" value="screenshots"/>
-</configuration>
diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
deleted file mode 100644
index 14a208c44..000000000
--- a/packaging/windows/setup.nsi
+++ /dev/null
@@ -1,514 +0,0 @@
-; This script allows the following parameters being overwritten from
-; command line. When called without any parameters it behaves exactly
-; like the old install script.
-;
-; DLLDIR - directory containing required dlls
-; EXEDIR - directory containing manaplus.exe
-; EXESUFFIX - offset to SRCDIR pointing to a directory containing manaplus.exe
-; PRODUCT_VERSION - software version
-; UPX - upx binary name
-;
-; For a cmake build on UNIX the following should give you a working installer:
-; makensis -DDLLDIR=/path/to/dlls \
-; -DPRODUCT_VERSION=0.1.`date +%Y%m%d`
-; -DUPX=upx
-; -DEXESUFFIX=/src
-
-CRCCheck on
-SetCompress off
-SetCompressor /SOLID lzma
-
-RequestExecutionLevel admin
-
-!define SRCDIR "..\.."
-!ifndef UPX
- !define "UPX upx\upx.exe"
-!endif
-
-!ifdef EXESUFFIX
- !define EXEDIR ${SRCDIR}/${EXESUFFIX}
-!endif
-
-!ifndef EXEDIR
- !define EXEDIR ${SRCDIR}
-!endif
-
-!ifndef DLLDIR
- !define DLLDIR ${SRCDIR}/dll
-!endif
-
-!ifndef BITS
- !define BITS 32
-!endif
-
-!ifndef SEHDLL
- !define SEHDLL "libgcc_s_sjlj-1.dll"
-!endif
-
-;--- (and without !defines ) ---
-!System "${UPX} --best --crp-ms=999999 --compress-icons=0 --nrv2d ${EXEDIR}\manaplus.exe"
-
-!define MULTIUSER_INSTALLMODE_COMMANDLINE
-!include "MultiUser.nsh"
-
-; HM NIS Edit helper defines
-!define PRODUCT_NAME "ManaPlus"
-!ifndef PRODUCT_VERSION
- !define PRODUCT_VERSION "1.1"
-!endif
-!define PRODUCT_PUBLISHER "ManaPlus Development Team"
-!define PRODUCT_WEB_SITE "http://manaplus.evolonline.org/"
-!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\manaplus.exe"
-!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
-!define PRODUCT_UNINST_ROOT_KEY "SHCTX"
-
-!include "FileAssociation.nsh"
-
-; MUI 1.67 compatible ------
-!include "MUI.nsh"
-
-; MUI Settings
-!define MUI_ABORTWARNING
-;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
-!define MUI_ICON "${SRCDIR}\data\icons\manaplus.ico"
-;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
-!define MUI_UNICON "${SRCDIR}\data\icons\manaplus.ico"
-
-;Language Selection Dialog Settings
-;Remember the installer language
-!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
-!define MUI_LANGDLL_REGISTRY_KEY "Software\Mana"
-!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-
-!define MUI_WELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-
-; Welcome page
-
-!define MUI_WELCOMEPAGE_TITLE_3LINES
-!insertmacro MUI_PAGE_WELCOME
-; License page
-!insertmacro MUI_PAGE_LICENSE "${SRCDIR}\COPYING"
-; Directory page
-!insertmacro MUI_PAGE_DIRECTORY
-; Components page
-!insertmacro MUI_PAGE_COMPONENTS
-; Instfiles page
-!insertmacro MUI_PAGE_INSTFILES
-; Finish page
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION RunMana
-!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README$\""'
-!define MUI_PAGE_CUSTOMFUNCTION_PRE changeFinishImage
-!define MUI_FINISHPAGE_LINK "Visit ManaPlus website for the latest news, FAQs and support"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://manaplus.evolonline.org/"
-!insertmacro MUI_PAGE_FINISH
-
-Function RunMana
-SetOutPath $INSTDIR
-Exec "$INSTDIR\manaplus.exe"
-FunctionEnd
-
-Function changeFinishImage
-!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\setup_finish.bmp"
-FunctionEnd
-
-; Uninstaller pages
-
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!define MUI_FINISHPAGE_TITLE_3LINES
-!insertmacro MUI_UNPAGE_FINISH
-
-;Languages
-!insertmacro MUI_LANGUAGE "English" # first language is the default language
-!insertmacro MUI_LANGUAGE "French"
-!insertmacro MUI_LANGUAGE "German"
-!insertmacro MUI_LANGUAGE "Spanish"
-!insertmacro MUI_LANGUAGE "SimpChinese"
-!insertmacro MUI_LANGUAGE "TradChinese"
-!insertmacro MUI_LANGUAGE "Japanese"
-!insertmacro MUI_LANGUAGE "Korean"
-!insertmacro MUI_LANGUAGE "Italian"
-!insertmacro MUI_LANGUAGE "Dutch"
-!insertmacro MUI_LANGUAGE "Danish"
-!insertmacro MUI_LANGUAGE "Swedish"
-!insertmacro MUI_LANGUAGE "Norwegian"
-!insertmacro MUI_LANGUAGE "Finnish"
-!insertmacro MUI_LANGUAGE "Greek"
-!insertmacro MUI_LANGUAGE "Russian"
-!insertmacro MUI_LANGUAGE "Portuguese"
-!insertmacro MUI_LANGUAGE "PortugueseBR"
-!insertmacro MUI_LANGUAGE "Polish"
-!insertmacro MUI_LANGUAGE "Ukrainian"
-!insertmacro MUI_LANGUAGE "Czech"
-!insertmacro MUI_LANGUAGE "Slovak"
-!insertmacro MUI_LANGUAGE "Croatian"
-!insertmacro MUI_LANGUAGE "Bulgarian"
-!insertmacro MUI_LANGUAGE "Hungarian"
-!insertmacro MUI_LANGUAGE "Thai"
-!insertmacro MUI_LANGUAGE "Romanian"
-!insertmacro MUI_LANGUAGE "Latvian"
-!insertmacro MUI_LANGUAGE "Macedonian"
-!insertmacro MUI_LANGUAGE "Estonian"
-!insertmacro MUI_LANGUAGE "Turkish"
-!insertmacro MUI_LANGUAGE "Lithuanian"
-!insertmacro MUI_LANGUAGE "Catalan"
-!insertmacro MUI_LANGUAGE "Slovenian"
-!insertmacro MUI_LANGUAGE "Serbian"
-!insertmacro MUI_LANGUAGE "SerbianLatin"
-!insertmacro MUI_LANGUAGE "Arabic"
-!insertmacro MUI_LANGUAGE "Farsi"
-!insertmacro MUI_LANGUAGE "Hebrew"
-!insertmacro MUI_LANGUAGE "Indonesian"
-!insertmacro MUI_LANGUAGE "Mongolian"
-!insertmacro MUI_LANGUAGE "Luxembourgish"
-!insertmacro MUI_LANGUAGE "Albanian"
-!insertmacro MUI_LANGUAGE "Breton"
-!insertmacro MUI_LANGUAGE "Belarusian"
-!insertmacro MUI_LANGUAGE "Icelandic"
-!insertmacro MUI_LANGUAGE "Malay"
-!insertmacro MUI_LANGUAGE "Bosnian"
-!insertmacro MUI_LANGUAGE "Kurdish"
-
-!insertmacro MUI_RESERVEFILE_LANGDLL
-
-ReserveFile "setup_finish.bmp"
-
-; MUI end ------
-
-Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "manaplus-${PRODUCT_VERSION}-win${BITS}.exe"
-InstallDir "$PROGRAMFILES\Mana"
-InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
-ShowInstDetails show
-ShowUnInstDetails show
-RequestExecutionLevel admin
-
-Function .onInit
- !insertmacro MULTIUSER_INIT
- !insertmacro MUI_LANGDLL_DISPLAY
- InitPluginsDir
- File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
-
- ReadRegStr $R0 SHCTX \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \
- "UninstallString"
- StrCmp $R0 "" done
-
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- "${PRODUCT_NAME} is already installed. $\n$\nClick `YES` (recomended) to remove the \
- previous version or `NO` to install new version over old version." \
- IDNO done
-
-;Run the uninstaller
-uninst:
- ClearErrors
- ExecWait '$R0' ;Do not copy the uninstaller to a temp file
-
- IfErrors no_remove_uninstaller done
- ;You can either use Delete /REBOOTOK in the uninstaller or add some code
- ;here to remove the uninstaller. Use a registry key to check
- ;whether the user has chosen to uninstall. If you are using an uninstaller
- ;components page, make sure all sections are uninstalled.
- no_remove_uninstaller:
-
-done:
-
-FunctionEnd
-
-
-Section "Core files (required)" SecCore
- SectionIn RO
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$INSTDIR\data"
- CreateDirectory "$INSTDIR\data\fonts"
- CreateDirectory "$INSTDIR\data\graphics"
- CreateDirectory "$INSTDIR\data\help"
- CreateDirectory "$INSTDIR\data\help\idx"
- CreateDirectory "$INSTDIR\data\help\tips"
- CreateDirectory "$INSTDIR\data\icons"
- CreateDirectory "$INSTDIR\data\music"
- CreateDirectory "$INSTDIR\data\perserver"
- CreateDirectory "$INSTDIR\data\perserver\default"
- CreateDirectory "$INSTDIR\data\graphics\badges"
- CreateDirectory "$INSTDIR\data\graphics\gui"
- CreateDirectory "$INSTDIR\data\graphics\flags"
- CreateDirectory "$INSTDIR\data\graphics\images"
- CreateDirectory "$INSTDIR\data\graphics\shaders"
- CreateDirectory "$INSTDIR\data\graphics\sprites"
- CreateDirectory "$INSTDIR\data\sfx"
- CreateDirectory "$INSTDIR\data\sfx\system"
- CreateDirectory "$INSTDIR\data\themes"
- CreateDirectory "$INSTDIR\data\themes\blacknblack"
- CreateDirectory "$INSTDIR\data\themes\blackwood"
- CreateDirectory "$INSTDIR\data\themes\classic"
- CreateDirectory "$INSTDIR\data\themes\enchilado"
- CreateDirectory "$INSTDIR\data\themes\golden-delicious"
- CreateDirectory "$INSTDIR\data\themes\jewelry"
- CreateDirectory "$INSTDIR\data\themes\mana"
- CreateDirectory "$INSTDIR\data\themes\pink"
- CreateDirectory "$INSTDIR\data\themes\unity"
- CreateDirectory "$INSTDIR\data\themes\wood"
- CreateDirectory "$INSTDIR\data\translations"
- CreateDirectory "$INSTDIR\data\translations\help"
- CreateDirectory "$INSTDIR\docs"
-
- SetOverwrite ifnewer
- SetOutPath "$INSTDIR"
-
- File "${EXEDIR}\manaplus.exe"
- File "${DLLDIR}\SDL.dll"
- File "${DLLDIR}\SDL_image.dll"
-; File "${DLLDIR}\SDL_mixer.dll"
- File "${DLLDIR}\SDL_net.dll"
- File "${DLLDIR}\SDL_ttf.dll"
- File "${DLLDIR}\libSDL_gfx-15.dll"
- File "${DLLDIR}\libcurl-4.dll"
- File "${DLLDIR}\libfreetype-6.dll"
- File "${DLLDIR}\${SEHDLL}"
- File "${DLLDIR}\libiconv-2.dll"
- File "${DLLDIR}\libintl-8.dll"
- File "${DLLDIR}\libjpeg-9.dll"
- File "${DLLDIR}\libogg-0.dll"
- File "${DLLDIR}\libpng16-16.dll"
- File "${DLLDIR}\libstdc++-6.dll"
- File "${DLLDIR}\libvorbis-0.dll"
- File "${DLLDIR}\libvorbisfile-3.dll"
- File "${DLLDIR}\libxml2-2.dll"
- File "${DLLDIR}\libwinpthread-1.dll"
- File "${DLLDIR}\zlib1.dll"
- File "${SRCDIR}\AUTHORS"
- File "${SRCDIR}\COPYING"
- File "${SRCDIR}\NEWS"
- File "${SRCDIR}\README.txt"
- SetOutPath "$INSTDIR\data\fonts"
- File "${SRCDIR}\data\fonts\*.ttf"
- SetOutPath "$INSTDIR\data\graphics\badges"
- File "${SRCDIR}\data\graphics\badges\*.png"
- File "${SRCDIR}\data\graphics\badges\*.xml"
- SetOutPath "$INSTDIR\data\graphics\flags"
- File "${SRCDIR}\data\graphics\flags\*.png"
- SetOutPath "$INSTDIR\data\graphics\gui"
- File "${SRCDIR}\data\graphics\gui\*.png"
- File "${SRCDIR}\data\graphics\gui\*.xml"
- SetOutPath "$INSTDIR\data\graphics\images"
- File /x minimap_*.png ${SRCDIR}\data\graphics\images\*.png
- File "${SRCDIR}\data\graphics\images\error.png"
- SetOutPath "$INSTDIR\data\graphics\shaders"
- File "${SRCDIR}\data\graphics\shaders\*.glsl"
- SetOutPath "$INSTDIR\data\graphics\sprites"
- File "${SRCDIR}\data\graphics\sprites\*.png"
- File "${SRCDIR}\data\graphics\sprites\*.xml"
- SetOutPath "$INSTDIR\data\sfx\system"
- File "${SRCDIR}\data\sfx\system\*.ogg"
- SetOutPath "$INSTDIR\data\themes\blacknblack"
- File "${SRCDIR}\data\themes\blacknblack\*.png"
- File "${SRCDIR}\data\themes\blacknblack\*.xml"
- SetOutPath "$INSTDIR\data\themes\blackwood"
- File "${SRCDIR}\data\themes\blackwood\*.png"
- File "${SRCDIR}\data\themes\blackwood\*.xml"
- SetOutPath "$INSTDIR\data\themes\mana"
- File "${SRCDIR}\data\themes\mana\*.png"
- File "${SRCDIR}\data\themes\mana\*.xml"
- SetOutPath "$INSTDIR\data\themes\enchilado"
- File "${SRCDIR}\data\themes\enchilado\*.png"
- File "${SRCDIR}\data\themes\enchilado\*.xml"
- SetOutPath "$INSTDIR\data\themes\golden-delicious"
- File "${SRCDIR}\data\themes\golden-delicious\*.png"
- File "${SRCDIR}\data\themes\golden-delicious\*.xml"
- SetOutPath "$INSTDIR\data\themes\jewelry"
- File "${SRCDIR}\data\themes\jewelry\*.png"
- File "${SRCDIR}\data\themes\jewelry\*.xml"
- SetOutPath "$INSTDIR\data\themes\pink"
- File "${SRCDIR}\data\themes\pink\*.png"
- File "${SRCDIR}\data\themes\pink\*.xml"
- SetOutPath "$INSTDIR\data\themes\unity"
- File "${SRCDIR}\data\themes\unity\*.png"
- File "${SRCDIR}\data\themes\unity\*.xml"
- SetOutPath "$INSTDIR\data\themes\wood"
- File "${SRCDIR}\data\themes\wood\*.png"
- File "${SRCDIR}\data\themes\wood\*.xml"
- SetOutPath "$INSTDIR\data\translations\help"
- File "${SRCDIR}\data\translations\help\*.po"
- SetOutPath "$INSTDIR\data\help"
- File "${SRCDIR}\data\help\*.txt"
- SetOutPath "$INSTDIR\data\help\tips"
- File "${SRCDIR}\data\help\tips\*.txt"
- File "${SRCDIR}\data\help\tips\*.jpg"
- SetOutPath "$INSTDIR\data\help\idx"
- File "${SRCDIR}\data\help\idx\*.idx"
- SetOutPath "$INSTDIR\data\icons\"
- File "${SRCDIR}\data\icons\manaplus.ico"
- SetOutPath "$INSTDIR\data\music"
- File "${SRCDIR}\data\music\*.ogg"
- SetOutPath "$INSTDIR\data\perserver\default\"
- File "${SRCDIR}\data\perserver\default\*.txt"
- File "${SRCDIR}\data\perserver\default\*.xml"
- SetOutPath "$INSTDIR\docs"
- File "${SRCDIR}\docs\FAQ.txt"
-SectionEnd
-
-Section "Create Shortcuts" SecShortcuts
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$SMPROGRAMS\Mana"
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus.lnk" "$INSTDIR\manaplus.exe"
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (no opengl).lnk" "$INSTDIR\manaplus.exe" --no-opengl
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (safemode).lnk" "$INSTDIR\manaplus.exe" --safemode
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (tests).lnk" "$INSTDIR\manaplus.exe" --tests
- CreateShortCut "$DESKTOP\ManaPlus.lnk" "$INSTDIR\manaplus.exe"
- CreateShortCut "$DESKTOP\ManaPlus (tests).lnk" "$INSTDIR\manaplus.exe" --tests
-
- ${registerExtension} "$INSTDIR\manaplus.exe" ".manaplus" "ManaPlus brandings"
-SectionEnd
-
-Section /o "Tmw music" SecTmwMusic
- AddSize 25200
- CreateDirectory "$INSTDIR\data\music"
- SetOutPath "$INSTDIR\data\music"
- NSISdl::download "http://downloads.sourceforge.net/themanaworld/tmwmusic-0.3.tar.gz" "$TEMP\tmwmusic-0.3.tar.gz"
- ;Requires an additional plugin from http://nsis.sourceforge.net/UnTGZ_plug-in Place untgz.dll in your nsis/plugin dir
- untgz::extract -j -d "$INSTDIR\data\music" "$TEMP\tmwmusic-0.3.tar.gz"
- Delete "$TEMP\tmwmusic-0.3.tar.gz"
-SectionEnd
-
-Section /o "Portable" SecPortable
- SetOutPath "$INSTDIR"
- File "portable.xml"
-SectionEnd
-
-Section /o "Debugger" SecDebug
- SetOutPath "$INSTDIR"
- File "${DLLDIR}\gdb.exe"
- File "${DLLDIR}\libdl.dll"
- File "${DLLDIR}\libexpat-1.dll"
- File "${DLLDIR}\libreadline6.dll"
- File "${DLLDIR}\libtermcap.dll"
- File "${EXEDIR}\manaplusd.exe"
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
- CreateShortCut "$DESKTOP\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
- ${EndIf}
-SectionEnd
-
-Section /o "Profiler" SecProfiler
- SetOutPath "$INSTDIR"
- File "${EXEDIR}\manaplusp.exe"
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
- CreateShortCut "$DESKTOP\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
- ${EndIf}
-SectionEnd
-
-; Section "Tools" SecTools
-; SetOutPath "$INSTDIR"
-; File "${EXEDIR}\dyecmd.exe"
-; SectionEnd
-
-Section /o "Evol Online music" SecEvolMusic
- AddSize 9787
- CreateDirectory "$INSTDIR\data\music"
- SetOutPath "$INSTDIR\data\music"
- NSISdl::download "http://downloads.sourceforge.net/project/evolonline/music/evolmusic-beta2-1.tar.gz" "$TEMP\evolmusic-beta2-1.tar.gz"
- untgz::extract -j -d "$INSTDIR\data\music" "$TEMP\evolmusic-beta2-1.tar.gz"
- Delete "$TEMP\evolmusic-beta2-1.tar.gz"
-SectionEnd
-
-Section "Evol Online shortcuts" SecEvol
- SetOutPath "$INSTDIR"
- CreateDirectory "$INSTDIR\data\evol"
- CreateDirectory "$INSTDIR\data\evol\icons"
- CreateDirectory "$INSTDIR\data\evol\images"
-
- SetOutPath "$INSTDIR"
- File "${SRCDIR}\data\evol\evol.manaplus"
- SetOutPath "$INSTDIR\data\evol\images"
- File "${SRCDIR}\data\evol\images\*.png"
- SetOutPath "$INSTDIR\data\evol\icons"
- File "${SRCDIR}\data\evol\icons\*.ico"
-
- CreateShortCut "$SMPROGRAMS\Mana\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
- CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
-SectionEnd
-
-Section "Translations" SecTrans
- SetOutPath "$INSTDIR"
- File /nonfatal /r "${SRCDIR}\translations"
-SectionEnd
-
-;Package descriptions
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core program files."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Create game shortcuts and register extensions."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTmwMusic} "Background tmw music. (If selected the tmw music will be downloaded from the internet.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecPortable} "Portable client. (If selected client will work as portable client.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecEvol} "Create shortcuts for Evol Online."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecEvolMusic} "Background evol music. (If selected the evol music will be downloaded from the internet.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTrans} "Translations for the user interface. Uncheck this component to leave it in English."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDebug} "Install debugger for try to detect stability issues."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecProfiler} "Install profiler build to detect perfomance issues."
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} "Install tools like dyecmd."
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-Section -AdditionalIcons
- WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
- CreateShortCut "$SMPROGRAMS\Mana\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
- CreateShortCut "$SMPROGRAMS\Mana\Readme.lnk" "notepad.exe" "$INSTDIR\README.txt"
- CreateShortCut "$SMPROGRAMS\Mana\FAQ.lnk" "$INSTDIR\docs\FAQ.txt"
- CreateShortCut "$SMPROGRAMS\Mana\Uninstall.lnk" "$INSTDIR\uninst.exe"
-SectionEnd
-
-Section -Post
- WriteUninstaller "$INSTDIR\uninst.exe"
- WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
-SectionEnd
-
-Function un.onInit
- !insertmacro MUI_UNGETLANGUAGE
- !insertmacro MULTIUSER_UNINIT
-FunctionEnd
-
-Section Uninstall
- DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mana"
-
- Delete "$INSTDIR\*.*"
-
- Delete "$SMPROGRAMS\Mana\Uninstall.lnk"
- Delete "$DESKTOP\ManaPlus.lnk"
- Delete "$DESKTOP\ManaPlus (debug).lnk"
- Delete "$DESKTOP\ManaPlus (profiler).lnk"
- Delete "$DESKTOP\ManaPlus (tests).lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus.lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus (debug).lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus (no opengl).lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus (safemode).lnk"
- Delete "$SMPROGRAMS\Mana\ManaPlus (tests).lnk"
- Delete "$SMPROGRAMS\Mana\Website.lnk"
- Delete "$SMPROGRAMS\Mana\Readme.lnk"
- Delete "$SMPROGRAMS\Mana\FAQ.lnk"
- Delete "$SMPROGRAMS\Mana\EvolOnline.lnk"
- Delete "$DESKTOP\EvolOnline.lnk"
-
- RMDir "$SMPROGRAMS\Mana"
-
- RMDir /r "$INSTDIR\data"
- RMDir /r "$INSTDIR\docs"
- RMDir /r "$INSTDIR\translations"
- RMDir /r "$INSTDIR\updates"
- RMDir "$INSTDIR"
-
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
- DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
- ${unregisterExtension} ".manaplus" "ManaPlus brandings"
- SetAutoClose true
-SectionEnd
diff --git a/packaging/windows/setup_finish.bmp b/packaging/windows/setup_finish.bmp
deleted file mode 100644
index 412db0a90..000000000
--- a/packaging/windows/setup_finish.bmp
+++ /dev/null
Binary files differ
diff --git a/packaging/windows/setup_welcome.bmp b/packaging/windows/setup_welcome.bmp
deleted file mode 100644
index 412db0a90..000000000
--- a/packaging/windows/setup_welcome.bmp
+++ /dev/null
Binary files differ
diff --git a/packaging/windows/tmw.nsi b/packaging/windows/tmw.nsi
deleted file mode 100644
index 4f7d8c5e0..000000000
--- a/packaging/windows/tmw.nsi
+++ /dev/null
@@ -1,486 +0,0 @@
-; This script allows the following parameters being overwritten from
-; command line. When called without any parameters it behaves exactly
-; like the old install script.
-;
-; DLLDIR - directory containing required dlls
-; EXEDIR - directory containing manaplus.exe
-; EXESUFFIX - offset to SRCDIR pointing to a directory containing manaplus.exe
-; PRODUCT_VERSION - software version
-; UPX - upx binary name
-;
-; For a cmake build on UNIX the following should give you a working installer:
-; makensis -DDLLDIR=/path/to/dlls \
-; -DPRODUCT_VERSION=0.1.`date +%Y%m%d`
-; -DUPX=upx
-; -DEXESUFFIX=/src
-
-CRCCheck on
-SetCompress off
-SetCompressor /SOLID lzma
-
-RequestExecutionLevel admin
-
-!define SRCDIR "..\.."
-!ifndef UPX
- !define "UPX upx\upx.exe"
-!endif
-
-!ifdef EXESUFFIX
- !define EXEDIR ${SRCDIR}/${EXESUFFIX}
-!endif
-
-!ifndef EXEDIR
- !define EXEDIR ${SRCDIR}
-!endif
-
-!ifndef DLLDIR
- !define DLLDIR ${SRCDIR}/dll
-!endif
-
-!ifndef BITS
- !define BITS 32
-!endif
-
-!ifndef SEHDLL
- !define SEHDLL "libgcc_s_sjlj-1.dll"
-!endif
-
-;--- (and without !defines ) ---
-!System "${UPX} --best --crp-ms=999999 --compress-icons=0 --nrv2d ${EXEDIR}\manaplus.exe"
-
-!define MULTIUSER_INSTALLMODE_COMMANDLINE
-!include "MultiUser.nsh"
-
-; HM NIS Edit helper defines
-!define PRODUCT_NAME "The Mana World"
-!ifndef PRODUCT_VERSION
- !define PRODUCT_VERSION "1.1"
-!endif
-!define PRODUCT_PUBLISHER "ManaPlus Delopment Team"
-!define PRODUCT_WEB_SITE "http://www.themanaworld.org"
-!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\manaplus.exe"
-!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
-!define PRODUCT_UNINST_ROOT_KEY "SHCTX"
-
-!include "FileAssociation.nsh"
-
-; MUI 1.67 compatible ------
-!include "MUI.nsh"
-
-; MUI Settings
-!define MUI_ABORTWARNING
-;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
-!define MUI_ICON "${SRCDIR}\data\tmw\icons\tmw-client.ico"
-;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
-!define MUI_UNICON "${SRCDIR}\data\tmw\icons\tmw-client.ico"
-
-;Language Selection Dialog Settings
-;Remember the installer language
-!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
-!define MUI_LANGDLL_REGISTRY_KEY "Software\The Mana World"
-!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-
-!define MUI_WELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
-
-; Welcome page
-
-!define MUI_WELCOMEPAGE_TITLE_3LINES
-!insertmacro MUI_PAGE_WELCOME
-; License page
-!insertmacro MUI_PAGE_LICENSE "${SRCDIR}\COPYING"
-; Directory page
-!insertmacro MUI_PAGE_DIRECTORY
-; Components page
-!insertmacro MUI_PAGE_COMPONENTS
-; Instfiles page
-!insertmacro MUI_PAGE_INSTFILES
-; Finish page
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION RunTmw
-!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README$\""'
-!define MUI_PAGE_CUSTOMFUNCTION_PRE changeFinishImage
-!define MUI_FINISHPAGE_LINK "Visit our website for the latest news, FAQs and support"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://themanaworld.org"
-!insertmacro MUI_PAGE_FINISH
-
-Function RunTmw
-SetOutPath $INSTDIR
-Exec "$INSTDIR\manaplus.exe $INSTDIR\tmw.manaplus"
-FunctionEnd
-
-Function changeFinishImage
-!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\setup_finish.bmp"
-FunctionEnd
-
-; Uninstaller pages
-
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!define MUI_FINISHPAGE_TITLE_3LINES
-!insertmacro MUI_UNPAGE_FINISH
-
-;Languages
-!insertmacro MUI_LANGUAGE "English" # first language is the default language
-!insertmacro MUI_LANGUAGE "French"
-!insertmacro MUI_LANGUAGE "German"
-!insertmacro MUI_LANGUAGE "Spanish"
-!insertmacro MUI_LANGUAGE "SimpChinese"
-!insertmacro MUI_LANGUAGE "TradChinese"
-!insertmacro MUI_LANGUAGE "Japanese"
-!insertmacro MUI_LANGUAGE "Korean"
-!insertmacro MUI_LANGUAGE "Italian"
-!insertmacro MUI_LANGUAGE "Dutch"
-!insertmacro MUI_LANGUAGE "Danish"
-!insertmacro MUI_LANGUAGE "Swedish"
-!insertmacro MUI_LANGUAGE "Norwegian"
-!insertmacro MUI_LANGUAGE "Finnish"
-!insertmacro MUI_LANGUAGE "Greek"
-!insertmacro MUI_LANGUAGE "Russian"
-!insertmacro MUI_LANGUAGE "Portuguese"
-!insertmacro MUI_LANGUAGE "PortugueseBR"
-!insertmacro MUI_LANGUAGE "Polish"
-!insertmacro MUI_LANGUAGE "Ukrainian"
-!insertmacro MUI_LANGUAGE "Czech"
-!insertmacro MUI_LANGUAGE "Slovak"
-!insertmacro MUI_LANGUAGE "Croatian"
-!insertmacro MUI_LANGUAGE "Bulgarian"
-!insertmacro MUI_LANGUAGE "Hungarian"
-!insertmacro MUI_LANGUAGE "Thai"
-!insertmacro MUI_LANGUAGE "Romanian"
-!insertmacro MUI_LANGUAGE "Latvian"
-!insertmacro MUI_LANGUAGE "Macedonian"
-!insertmacro MUI_LANGUAGE "Estonian"
-!insertmacro MUI_LANGUAGE "Turkish"
-!insertmacro MUI_LANGUAGE "Lithuanian"
-!insertmacro MUI_LANGUAGE "Catalan"
-!insertmacro MUI_LANGUAGE "Slovenian"
-!insertmacro MUI_LANGUAGE "Serbian"
-!insertmacro MUI_LANGUAGE "SerbianLatin"
-!insertmacro MUI_LANGUAGE "Arabic"
-!insertmacro MUI_LANGUAGE "Farsi"
-!insertmacro MUI_LANGUAGE "Hebrew"
-!insertmacro MUI_LANGUAGE "Indonesian"
-!insertmacro MUI_LANGUAGE "Mongolian"
-!insertmacro MUI_LANGUAGE "Luxembourgish"
-!insertmacro MUI_LANGUAGE "Albanian"
-!insertmacro MUI_LANGUAGE "Breton"
-!insertmacro MUI_LANGUAGE "Belarusian"
-!insertmacro MUI_LANGUAGE "Icelandic"
-!insertmacro MUI_LANGUAGE "Malay"
-!insertmacro MUI_LANGUAGE "Bosnian"
-!insertmacro MUI_LANGUAGE "Kurdish"
-
-!insertmacro MUI_RESERVEFILE_LANGDLL
-
-ReserveFile "setup_finish.bmp"
-
-; MUI end ------
-
-Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "tmw-${PRODUCT_VERSION}-win${BITS}.exe"
-InstallDir "$PROGRAMFILES\The Mana World"
-InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
-ShowInstDetails show
-ShowUnInstDetails show
-RequestExecutionLevel admin
-
-Function .onInit
- !insertmacro MULTIUSER_INIT
- !insertmacro MUI_LANGDLL_DISPLAY
- InitPluginsDir
- File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
-
- ReadRegStr $R0 SHCTX \
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \
- "UninstallString"
- StrCmp $R0 "" done
-
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- "${PRODUCT_NAME} is already installed. $\n$\nClick `YES` (recomended) to remove the \
- previous version or `NO` to install new version over old version." \
- IDNO done
-
-;Run the uninstaller
-uninst:
- ClearErrors
- ExecWait '$R0' ;Do not copy the uninstaller to a temp file
-
- IfErrors no_remove_uninstaller done
- ;You can either use Delete /REBOOTOK in the uninstaller or add some code
- ;here to remove the uninstaller. Use a registry key to check
- ;whether the user has chosen to uninstall. If you are using an uninstaller
- ;components page, make sure all sections are uninstalled.
- no_remove_uninstaller:
-
-done:
-
-FunctionEnd
-
-
-Section "Core files (required)" SecCore
- SectionIn RO
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$INSTDIR\data"
- CreateDirectory "$INSTDIR\data\tmw"
- CreateDirectory "$INSTDIR\data\tmw\icons"
- CreateDirectory "$INSTDIR\data\tmw\images"
- CreateDirectory "$INSTDIR\data\fonts"
- CreateDirectory "$INSTDIR\data\graphics"
- CreateDirectory "$INSTDIR\data\help"
- CreateDirectory "$INSTDIR\data\help\idx"
- CreateDirectory "$INSTDIR\data\help\tips"
- CreateDirectory "$INSTDIR\data\icons"
- CreateDirectory "$INSTDIR\data\music"
- CreateDirectory "$INSTDIR\data\perserver"
- CreateDirectory "$INSTDIR\data\perserver\default"
- CreateDirectory "$INSTDIR\data\graphics\badges"
- CreateDirectory "$INSTDIR\data\graphics\gui"
- CreateDirectory "$INSTDIR\data\graphics\flags"
- CreateDirectory "$INSTDIR\data\graphics\images"
- CreateDirectory "$INSTDIR\data\graphics\shaders"
- CreateDirectory "$INSTDIR\data\graphics\sprites"
- CreateDirectory "$INSTDIR\data\sfx"
- CreateDirectory "$INSTDIR\data\sfx\system"
- CreateDirectory "$INSTDIR\data\themes"
- CreateDirectory "$INSTDIR\data\themes\blacknblack"
- CreateDirectory "$INSTDIR\data\themes\blackwood"
- CreateDirectory "$INSTDIR\data\themes\classic"
- CreateDirectory "$INSTDIR\data\themes\enchilado"
- CreateDirectory "$INSTDIR\data\themes\golden-delicious"
- CreateDirectory "$INSTDIR\data\themes\jewelry"
- CreateDirectory "$INSTDIR\data\themes\mana"
- CreateDirectory "$INSTDIR\data\themes\pink"
- CreateDirectory "$INSTDIR\data\themes\unity"
- CreateDirectory "$INSTDIR\data\themes\wood"
- CreateDirectory "$INSTDIR\data\translations"
- CreateDirectory "$INSTDIR\data\translations\help"
- CreateDirectory "$INSTDIR\docs"
-
- SetOverwrite ifnewer
- SetOutPath "$INSTDIR"
-
- File "${EXEDIR}\manaplus.exe"
- File "${DLLDIR}\SDL.dll"
- File "${DLLDIR}\SDL_image.dll"
-; File "${DLLDIR}\SDL_mixer.dll"
- File "${DLLDIR}\SDL_net.dll"
- File "${DLLDIR}\SDL_ttf.dll"
- File "${DLLDIR}\libSDL_gfx-15.dll"
- File "${DLLDIR}\libcurl-4.dll"
- File "${DLLDIR}\libfreetype-6.dll"
- File "${DLLDIR}\${SEHDLL}"
- File "${DLLDIR}\libiconv-2.dll"
- File "${DLLDIR}\libintl-8.dll"
- File "${DLLDIR}\libjpeg-9.dll"
- File "${DLLDIR}\libogg-0.dll"
- File "${DLLDIR}\libpng16-16.dll"
- File "${DLLDIR}\libstdc++-6.dll"
- File "${DLLDIR}\libvorbis-0.dll"
- File "${DLLDIR}\libvorbisfile-3.dll"
- File "${DLLDIR}\libxml2-2.dll"
- File "${DLLDIR}\libwinpthread-1.dll"
- File "${DLLDIR}\zlib1.dll"
- File "${SRCDIR}\AUTHORS"
- File "${SRCDIR}\COPYING"
- File "${SRCDIR}\NEWS"
- File "${SRCDIR}\README.txt"
- SetOutPath "$INSTDIR\data\fonts"
- File "${SRCDIR}\data\fonts\*.ttf"
- SetOutPath "$INSTDIR\data\graphics\badges"
- File "${SRCDIR}\data\graphics\badges\*.png"
- File "${SRCDIR}\data\graphics\badges\*.xml"
- SetOutPath "$INSTDIR\data\graphics\flags"
- File "${SRCDIR}\data\graphics\flags\*.png"
- SetOutPath "$INSTDIR\data\graphics\gui"
- File "${SRCDIR}\data\graphics\gui\*.png"
- File "${SRCDIR}\data\graphics\gui\*.xml"
- SetOutPath "$INSTDIR\data\graphics\images"
- File /x minimap_*.png ${SRCDIR}\data\graphics\images\*.png
- File "${SRCDIR}\data\graphics\images\error.png"
- SetOutPath "$INSTDIR\data\graphics\shaders"
- File "${SRCDIR}\data\graphics\shaders\*.glsl"
- SetOutPath "$INSTDIR\data\graphics\sprites"
- File "${SRCDIR}\data\graphics\sprites\*.png"
- File "${SRCDIR}\data\graphics\sprites\*.xml"
- SetOutPath "$INSTDIR\data\sfx\system"
- File "${SRCDIR}\data\sfx\system\*.ogg"
- SetOutPath "$INSTDIR\data\themes\blacknblack"
- File "${SRCDIR}\data\themes\blacknblack\*.png"
- File "${SRCDIR}\data\themes\blacknblack\*.xml"
- SetOutPath "$INSTDIR\data\themes\blackwood"
- File "${SRCDIR}\data\themes\blackwood\*.png"
- File "${SRCDIR}\data\themes\blackwood\*.xml"
- SetOutPath "$INSTDIR\data\themes\mana"
- File "${SRCDIR}\data\themes\mana\*.png"
- File "${SRCDIR}\data\themes\mana\*.xml"
- SetOutPath "$INSTDIR\data\themes\enchilado"
- File "${SRCDIR}\data\themes\enchilado\*.png"
- File "${SRCDIR}\data\themes\enchilado\*.xml"
- SetOutPath "$INSTDIR\data\themes\golden-delicious"
- File "${SRCDIR}\data\themes\golden-delicious\*.png"
- File "${SRCDIR}\data\themes\golden-delicious\*.xml"
- SetOutPath "$INSTDIR\data\themes\jewelry"
- File "${SRCDIR}\data\themes\jewelry\*.png"
- File "${SRCDIR}\data\themes\jewelry\*.xml"
- SetOutPath "$INSTDIR\data\themes\pink"
- File "${SRCDIR}\data\themes\pink\*.png"
- File "${SRCDIR}\data\themes\pink\*.xml"
- SetOutPath "$INSTDIR\data\themes\unity"
- File "${SRCDIR}\data\themes\unity\*.png"
- File "${SRCDIR}\data\themes\unity\*.xml"
- SetOutPath "$INSTDIR\data\themes\wood"
- File "${SRCDIR}\data\themes\wood\*.png"
- File "${SRCDIR}\data\themes\wood\*.xml"
- SetOutPath "$INSTDIR\data\translations\help"
- File "${SRCDIR}\data\translations\help\*.po"
- SetOutPath "$INSTDIR\data\help"
- File "${SRCDIR}\data\help\*.txt"
- SetOutPath "$INSTDIR\data\help\tips"
- File "${SRCDIR}\data\help\tips\*.txt"
- File "${SRCDIR}\data\help\tips\*.jpg"
- SetOutPath "$INSTDIR\data\help\idx"
- File "${SRCDIR}\data\help\idx\*.idx"
- SetOutPath "$INSTDIR\data\icons\"
- File "${SRCDIR}\data\icons\manaplus.ico"
- SetOutPath "$INSTDIR\data\music"
- File "${SRCDIR}\data\music\*.ogg"
- SetOutPath "$INSTDIR\data\perserver\default\"
- File "${SRCDIR}\data\perserver\default\*.txt"
- File "${SRCDIR}\data\perserver\default\*.xml"
- SetOutPath "$INSTDIR\docs"
- File "${SRCDIR}\docs\FAQ.txt"
- SetOutPath "$INSTDIR"
- File "${SRCDIR}\data\tmw\tmw.manaplus"
- SetOutPath "$INSTDIR\data\tmw\images"
- File "${SRCDIR}\data\tmw\images\*.png"
- SetOutPath "$INSTDIR\data\tmw\icons"
- File "${SRCDIR}\data\tmw\icons\*.ico"
-SectionEnd
-
-Section "Create Shortcuts" SecShortcuts
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- CreateDirectory "$SMPROGRAMS\The Mana World"
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World (no opengl).lnk" '"$INSTDIR\manaplus.exe"' '"--no-opengl" "$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World (safemode).lnk" '"$INSTDIR\manaplus.exe"' '"--safemode" "$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$DESKTOP\The Mana World.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$DESKTOP\The Mana World (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
-
- ${registerExtension} "$INSTDIR\manaplus.exe" ".manaplus" "ManaPlus brandings"
-SectionEnd
-
-Section /o "Portable" SecPortable
- SetOutPath "$INSTDIR"
- File "portable.xml"
-SectionEnd
-
-Section /o "Debugger" SecDebug
- SetOutPath "$INSTDIR"
- File "${DLLDIR}\gdb.exe"
- File "${DLLDIR}\libdl.dll"
- File "${DLLDIR}\libexpat-1.dll"
- File "${DLLDIR}\libreadline6.dll"
- File "${DLLDIR}\libtermcap.dll"
- File "${EXEDIR}\manaplusd.exe"
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe" 2
- CreateShortCut "$DESKTOP\The Mana World (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe" 2
- ${EndIf}
-SectionEnd
-
-Section /o "Profiler" SecProfiler
- SetOutPath "$INSTDIR"
- File "${EXEDIR}\manaplusp.exe"
-
- ${If} ${SectionIsSelected} ${SecShortcuts}
- CreateShortCut "$SMPROGRAMS\The Mana World\The Mana World (profiler).lnk" '"$INSTDIR\manaplusp.exe"' '"$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- CreateShortCut "$DESKTOP\The Mana World (profiler).lnk" '"$INSTDIR\manaplusp.exe"' '"$INSTDIR\tmw.manaplus"' "$INSTDIR\manaplus.exe" 2
- ${EndIf}
-SectionEnd
-
-; Section "Tools" SecTools
-; SetOutPath "$INSTDIR"
-; File "${EXEDIR}\dyecmd.exe"
-; SectionEnd
-
-Section "Translations" SecTrans
- SetOutPath "$INSTDIR"
- File /nonfatal /r "${SRCDIR}\translations"
-SectionEnd
-
-;Package descriptions
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core program files."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Create game shortcuts and register extensions."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecPortable} "Portable client. (If selected client will work as portable client.)"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecTrans} "Translations for the user interface. Uncheck this component to leave it in English."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDebug} "Install debugger for try to detect stability issues."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecProfiler} "Install profiler build to detect perfomance issues."
-; !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} "Install tools like dyecmd."
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-
-Section -AdditionalIcons
- WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
- WriteIniStr "$INSTDIR\The Mana World.url" "InternetShortcut" "URL" "http://www.themanaworld.org"
- CreateShortCut "$SMPROGRAMS\The Mana World\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
- CreateShortCut "$SMPROGRAMS\The Mana World\Readme.lnk" "notepad.exe" "$INSTDIR\README.txt"
- CreateShortCut "$SMPROGRAMS\The Mana World\FAQ.lnk" "$INSTDIR\docs\FAQ.txt"
- CreateShortCut "$SMPROGRAMS\The Mana World\Uninstall.lnk" "$INSTDIR\uninst.exe"
-SectionEnd
-
-Section -Post
- WriteUninstaller "$INSTDIR\uninst.exe"
- WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\manaplus.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
-SectionEnd
-
-Function un.onInit
- !insertmacro MUI_UNGETLANGUAGE
- !insertmacro MULTIUSER_UNINIT
-FunctionEnd
-
-Section Uninstall
- DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\The Mana World"
-
- Delete "$INSTDIR\*.*"
-
- Delete "$SMPROGRAMS\The Mana World\Uninstall.lnk"
- Delete "$DESKTOP\The Mana World.lnk"
- Delete "$DESKTOP\The Mana World (debug).lnk"
- Delete "$DESKTOP\The Mana World (profiler).lnk"
- Delete "$DESKTOP\The Mana World (tests).lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World.lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World (debug).lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World (profiler).lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World (no opengl).lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World (safemode).lnk"
- Delete "$SMPROGRAMS\The Mana World\The Mana World (tests).lnk"
- Delete "$SMPROGRAMS\The Mana World\Website.lnk"
- Delete "$SMPROGRAMS\The Mana World\Readme.lnk"
- Delete "$SMPROGRAMS\The Mana World\FAQ.lnk"
- Delete "$DESKTOP\The Mana World.lnk"
-
- RMDir "$SMPROGRAMS\The Mana World"
-
- RMDir /r "$INSTDIR\data"
- RMDir /r "$INSTDIR\docs"
- RMDir /r "$INSTDIR\translations"
- RMDir /r "$INSTDIR\updates"
- RMDir "$INSTDIR"
-
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
- DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
- ${unregisterExtension} ".manaplus" "ManaPlus brandings"
- SetAutoClose true
-SectionEnd