From 3eeae12c498d1a4dbe969462d2ba841f77ee3ccb Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Sun, 2 Jan 2011 01:48:38 +0200
Subject: Initial commit.

This code based on mana client http://www.gitorious.org/mana/mana
and my private repository.
---
 packaging/debian/changelog              |  77 ++++++++
 packaging/debian/compat                 |   1 +
 packaging/debian/control                |  27 +++
 packaging/debian/copyright              |  49 +++++
 packaging/debian/mana-data.install      |   5 +
 packaging/debian/mana.desktop           |  16 ++
 packaging/debian/mana.docs              |   6 +
 packaging/debian/mana.install           |   5 +
 packaging/debian/mana.sgml              | 149 ++++++++++++++
 packaging/debian/patches/00list         |   0
 packaging/debian/rules                  |  69 +++++++
 packaging/debian/watch                  |   2 +
 packaging/windows/make-translations.sh  |   6 +
 packaging/windows/make-translations.vbs |  42 ++++
 packaging/windows/portable.xml          |   6 +
 packaging/windows/readme.txt            |   6 +
 packaging/windows/setup.nsi             | 336 ++++++++++++++++++++++++++++++++
 packaging/windows/setup_finish.bmp      | Bin 0 -> 206243 bytes
 packaging/windows/setup_welcome.bmp     | Bin 0 -> 206243 bytes
 19 files changed, 802 insertions(+)
 create mode 100644 packaging/debian/changelog
 create mode 100644 packaging/debian/compat
 create mode 100644 packaging/debian/control
 create mode 100644 packaging/debian/copyright
 create mode 100644 packaging/debian/mana-data.install
 create mode 100644 packaging/debian/mana.desktop
 create mode 100644 packaging/debian/mana.docs
 create mode 100644 packaging/debian/mana.install
 create mode 100644 packaging/debian/mana.sgml
 create mode 100644 packaging/debian/patches/00list
 create mode 100644 packaging/debian/rules
 create mode 100644 packaging/debian/watch
 create mode 100755 packaging/windows/make-translations.sh
 create mode 100644 packaging/windows/make-translations.vbs
 create mode 100644 packaging/windows/portable.xml
 create mode 100644 packaging/windows/readme.txt
 create mode 100644 packaging/windows/setup.nsi
 create mode 100644 packaging/windows/setup_finish.bmp
 create mode 100644 packaging/windows/setup_welcome.bmp

(limited to 'packaging')

diff --git a/packaging/debian/changelog b/packaging/debian/changelog
new file mode 100644
index 000000000..bc5b75799
--- /dev/null
+++ b/packaging/debian/changelog
@@ -0,0 +1,77 @@
+tmw (0.0.24-1) unstable; urgency=low
+
+  * New upstream release.
+  * Wrapped configure script options line to a more human readable
+    format.
+  * Bumped Standards-Version to 3.7.3.
+  * Changed description in debian/tmw.menu, it is now called as an
+    adventure instead of an arcade game.
+  * Removed the ugly hyphen in the description of debian/tmw.desktop.
+  * Removed debian/tmw.6 manpage, because it is in upstream now.
+  * Removed 01-set-gl-texture-zero and 02-guichan_0.7 patches,
+    because they are fixed in the current upstream release.
+  * Removed now useless calls of dh_link and dh_installman in
+    debian/rules.
+  * Removed debian/tmw-data.docs, because the NEWS and AUTHORS file
+    is already in the tmw package.
+  * Removed deprecated encoding flag from debian/tmw.desktop.
+  * Added debian/watch file.
+  * Added homepage field to debian/control and removed the one from
+    the long descriptions.
+  * Added a break to the long description of tmw-data. It looks now
+    realy better.
+  * Added the tmw-dbg package, which provides the debugging symbols.
+
+ -- Patrick Matthäi <patrick.matthaei@web.de>  Mon, 24 Dec 2007 17:10:00 +0100
+
+tmw (0.0.23-3) unstable; urgency=low
+
+  * Added missing files data/graphics/images/ambient/*.png to
+    release.
+    Closes: #439861
+  * Added guichan_0.7 patch to build tmw against guichan 0.7.1.
+  * debian/control: Changed guichan version to libguichan2 and
+    changed build dependencie from libcurl3-dev to libcurl4-gnutls-dev.
+  * debian/tmw.menu: Corrected menu entry categorie to Games/Adventure.
+    Thanks lintian.
+  * Fixed clean rule. Thanks lintian.
+
+ -- Patrick Matthäi <patrick.matthaei@web.de>  Thu,  6 Sep 2007 18:36:00 +0100
+
+tmw (0.0.23-2) unstable; urgency=low
+
+  * Added set-gl-texture-zero patch to set GL texture index
+    to zero when an image uses the SDL backend.
+    Closes: #427915
+  * debian/control: Removed dependencie of tmw-data to tmw.
+    Closes: #427920
+  * debian/control: Set tmw as recommends to tmw-data.
+  * debian/control: Added dpatch to the build dependencies.
+  * debian/control: Changed guichan version to libguichan1.
+    Closes: #435065
+  * debian/tmw.docs: Added upstream ChangeLog to package.
+  * debian/rules: Removed now unneeded '--with-opengl'
+    configure flag.
+
+ -- Patrick Matthäi <patrick.matthaei@web.de>  Wed,  20 Jun 2007 08:55:12 +0100
+
+tmw (0.0.23-1) unstable; urgency=low
+
+  * Uploaded tmw to unstable.
+    Closes: #418725, #423275
+  * New upstream release.
+  * debian/rules: No longer needed the tmw-icon rename
+    hack. Upstream renamed the icon files.
+  * debian/tmw.xpm: Added xpm icon file, because upstream
+    has forgotten it in the newest release.
+
+ -- Patrick Matthäi <patrick.matthaei@web.de>  Mon,  5 Jun 2007 21:05:36 +0100
+
+tmw (0.0.22.2-1) experimental; urgency=low
+
+  * Initial release.
+  * Uploading to experimental because we need libguichan0-dev (>= 0.6.1).
+  * src/main.cpp:
+     Moved tmw-icon.png to /usr/share/icons/tmw.png.
+
+ -- Patrick Matthäi <patrick.matthaei@web.de>  Tue,  6 Mar 2007 09:08:21 +0100
diff --git a/packaging/debian/compat b/packaging/debian/compat
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/packaging/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/packaging/debian/control b/packaging/debian/control
new file mode 100644
index 000000000..a5696ca5d
--- /dev/null
+++ b/packaging/debian/control
@@ -0,0 +1,27 @@
+Source: mana
+Section: games
+Priority: optional
+Homepage: http://manasource.org/
+Maintainer: Patrick Matthäi <patrick.matthaei@web.de>
+Build-Depends: debhelper (>= 5), dpkg-dev (>= 1.13.19), dpatch, autotools-dev, libcurl4-gnutls-dev, libgl1-mesa-dev, libguichan2-dev (>= 0.7.1), libsdl1.2-dev, libsdl-image1.2-dev, libsdl-net1.2-dev, libsdl-mixer1.2-dev, libphysfs-dev, libpng12-dev, libxml2-dev, zlib1g-dev
+Standards-Version: 3.7.3
+
+Package: mana
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, mana-data (= ${source:Version})
+Description: Mana is a 2D MMORPG client
+
+Package: mana-dbg
+Architecture: any
+Priority: extra
+Depends: mana (= ${binary:Version})
+Description: Mana is a 2D MMORPG client (debugging symbols)
+ .
+ This package provides debugging symbols for the mana package.
+
+Package: mana-data
+Architecture: all
+Recommends: mana
+Description: Mana is a 2D MMORPG client
+ .
+ This package contains the data files.
diff --git a/packaging/debian/copyright b/packaging/debian/copyright
new file mode 100644
index 000000000..a6a2b687a
--- /dev/null
+++ b/packaging/debian/copyright
@@ -0,0 +1,49 @@
+This package was debianized by Patrick Matthäi <patrick.matthaei@web.de> on
+Wed,  6 Feb 2007 09:16:23 +0100.
+
+It was downloaded from <http://www.themanaworld.org/>.
+
+Upstream Author: Eugenio Favalli <elvenprogrammer@gmail.com>
+
+License (src/utils/base64.h, src/utils/base64.cpp):
+
+	Copyright (C) 1997-1998 PHP Development Team
+
+	This program is free software; you can redistribute it and/or modify
+	it under the terms of one of the following licenses:
+
+	A) 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.
+
+	B) the PHP License as published by the PHP Development Team and
+	included in the distribution in the file: LICENSE
+
+	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.
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in /usr/share/common-licenses/GPL file.
+
+License (everything else):
+
+	Copyright (C) 2004-2007 The The Mana World Development Team
+
+	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
+can be found in /usr/share/common-licenses/GPL file.
diff --git a/packaging/debian/mana-data.install b/packaging/debian/mana-data.install
new file mode 100644
index 000000000..82a37bb34
--- /dev/null
+++ b/packaging/debian/mana-data.install
@@ -0,0 +1,5 @@
+data/graphics/gui/*.png usr/share/games/mana/data/graphics/gui
+data/graphics/images/*.png usr/share/games/mana/data/graphics/images
+data/graphics/images/ambient/*.png usr/share/games/mana/data/graphics/images/ambient
+data/graphics/tiles/*.png usr/share/games/mana/data/graphics/tiles
+data/help/*.txt usr/share/games/mana/data/help
diff --git a/packaging/debian/mana.desktop b/packaging/debian/mana.desktop
new file mode 100644
index 000000000..ec24a2fc6
--- /dev/null
+++ b/packaging/debian/mana.desktop
@@ -0,0 +1,16 @@
+
+[Desktop Entry]
+Version=1.0
+Name=Mana
+Comment=A 2D MMORPG client
+Comment[fr]=Un jeu en ligne dans un univers fantastique
+Comment[de]=ein Online Fantasy Spiel
+Comment[it]=Un gioco fantasy online
+Comment[nl]=Een online role playing game
+Comment[sv]=Ett fantasyrollspel online
+Exec=mana
+StartupNotify=false
+Terminal=false
+Type=Game
+Icon=mana.png
+Categories=Game
diff --git a/packaging/debian/mana.docs b/packaging/debian/mana.docs
new file mode 100644
index 000000000..d622a5279
--- /dev/null
+++ b/packaging/debian/mana.docs
@@ -0,0 +1,6 @@
+AUTHORS
+NEWS
+README
+ChangeLog
+docs/progression.txt
+docs/FAQ.txt
diff --git a/packaging/debian/mana.install b/packaging/debian/mana.install
new file mode 100644
index 000000000..da45ec4a9
--- /dev/null
+++ b/packaging/debian/mana.install
@@ -0,0 +1,5 @@
+debian/manaplus.desktop usr/share/applications
+debian/manaplus.xpm usr/share/pixmaps
+data/icons/manaplus.png usr/share/icons
+docs/manaplus.6 usr/share/man/man6
+src/manaplus usr/games
diff --git a/packaging/debian/mana.sgml b/packaging/debian/mana.sgml
new file mode 100644
index 000000000..257c948d6
--- /dev/null
+++ b/packaging/debian/mana.sgml
@@ -0,0 +1,149 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+	docbook-to-man $< > $@
+
+    
+	The docbook-to-man binary is found in the docbook-to-man package.
+	Please remember that if you create the nroff version in one of the
+	debian/rules file targets (such as build), you will need to include
+	docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FERREIRA</firstname>">
+  <!ENTITY dhsurname   "<surname>Yohann</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>avril 13, 2005</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>6</manvolnum>">
+  <!ENTITY dhemail     "<email>bertram@cegetel.net</email>">
+  <!ENTITY dhusername  "FERREIRA Yohann">
+  <!ENTITY dhucpackage "<refentrytitle>Mana</refentrytitle>">
+  <!ENTITY dhpackage   "mana">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>Mana is the abreviation of The Mana World : A Fantasy Online Game</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> ingame
+      commands.</para>
+    <para><command>&dhpackage;</command> is a Great Online Game based upon the Seiken Densetsu Serie.
+It has its own universe, and and its own character management system, which will
+give you the opportunity to play in a 2D heroic-fantasy world forever.</para>
+
+  </refsect1>
+  <refsect1>
+    <title>COMMON KEYS</title>
+
+    <para>Arrow Keys, Key Pad Keys (Diagonals Supported).
+Move your character around.
+
+Left Ctrl : 
+Make your character attack.
+
+G : 
+Get Items on the ground or in a chest.
+
+Alt + 1...9 : 
+Shows an Emoticon above your character.
+
+Alt + I : 
+Shows / Hide Inventory Window.
+
+Alt + K : 
+Shows / Hide Skills Window.
+
+Alt + E : 
+Shows / Hide Equipment Window.
+
+Alt + C : 
+Shows Configuration Window.
+</para>
+
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>libguichan (2).</para>
+
+    <para>The program is documented fully by <citetitle>The Mana World Team</citetitle> available via the
+      website http://www.manaworld.org/</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+	  later version published by the Free Software Foundation.
+    </para>
+	<para>
+	  On Debian systems, the complete text of the GNU General Public
+	  License can be found in /usr/share/common-licenses/GPL.
+	</para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
diff --git a/packaging/debian/patches/00list b/packaging/debian/patches/00list
new file mode 100644
index 000000000..e69de29bb
diff --git a/packaging/debian/rules b/packaging/debian/rules
new file mode 100644
index 000000000..df2e08d6f
--- /dev/null
+++ b/packaging/debian/rules
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+include /usr/share/dpatch/dpatch.make
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+config.status: patch
+	dh_testdir
+	CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) \
+	--build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr \
+	--datadir=/usr/share/games --bindir=/usr/games --mandir=/usr/share/man
+
+build: build-stamp
+build-stamp: config.status
+	dh_testdir
+	$(MAKE)
+	touch build-stamp
+
+clean: unpatch
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp
+	[ ! -f Makefile ] || $(MAKE) distclean
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+binary-indep: build install
+	dh_testdir -i
+	dh_testroot -i
+	dh_installchangelogs -i ChangeLog
+	dh_installdocs -i
+	dh_install -i
+	dh_compress -i
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+binary-arch: build install
+	dh_testdir -a
+	dh_testroot -a
+	dh_installchangelogs -a ChangeLog
+	dh_installdocs -a
+	dh_install -a
+	dh_desktop -a
+	dh_installmenu -a
+	dh_strip -a --dbg-package=mana-dbg
+	dh_compress -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/packaging/debian/watch b/packaging/debian/watch
new file mode 100644
index 000000000..01aa13f7e
--- /dev/null
+++ b/packaging/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://sf.net/themanaworld/tmw-(.*)\.tar\.gz
diff --git a/packaging/windows/make-translations.sh b/packaging/windows/make-translations.sh
new file mode 100755
index 000000000..1d4132397
--- /dev/null
+++ b/packaging/windows/make-translations.sh
@@ -0,0 +1,6 @@
+#!/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
new file mode 100644
index 000000000..339a0299e
--- /dev/null
+++ b/packaging/windows/make-translations.vbs
@@ -0,0 +1,42 @@
+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
new file mode 100644
index 000000000..0059d1094
--- /dev/null
+++ b/packaging/windows/portable.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+ <option name="dataDir" value="logs"/>
+ <option name="configDir" value="configs"/>
+ <option name="screenshotDir" value="screenshots"/>
+</configuration>
diff --git a/packaging/windows/readme.txt b/packaging/windows/readme.txt
new file mode 100644
index 000000000..4a10fef49
--- /dev/null
+++ b/packaging/windows/readme.txt
@@ -0,0 +1,6 @@
+HOW TO BUILD THE INSTALLER
+
+See the following wiki page, which also deals with the steps needed to produce
+the Windows installer:
+
+  http://wiki.themanaworld.org/index.php/Making_a_new_release
diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
new file mode 100644
index 000000000..f4cecdf22
--- /dev/null
+++ b/packaging/windows/setup.nsi
@@ -0,0 +1,336 @@
+; 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
+
+!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
+
+;--- (and without !defines ) ---
+!System "${UPX} --best --crp-ms=999999 --compress-icons=0 --nrv2d ${EXEDIR}\manaplus.exe"
+
+; HM NIS Edit helper defines
+!define PRODUCT_NAME "ManaPlus"
+!ifndef PRODUCT_VERSION
+  !define PRODUCT_VERSION "0.0.29.1"
+!endif
+!define PRODUCT_PUBLISHER "Mana Development Team"
+!define PRODUCT_WEB_SITE "http://manasource.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 "HKLM"
+
+; 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 Mana website for the latest news, FAQs and support"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://themanaworld.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}-win32.exe"
+InstallDir "$PROGRAMFILES\Mana"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+  !insertmacro MUI_LANGDLL_DISPLAY
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
+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\icons"
+  CreateDirectory "$INSTDIR\data\graphics\gui"
+  CreateDirectory "$INSTDIR\data\graphics\images"
+  CreateDirectory "$INSTDIR\data\graphics\sprites"
+  CreateDirectory "$INSTDIR\data\sfx"
+  CreateDirectory "$INSTDIR\data\sfx\system"
+  CreateDirectory "$INSTDIR\data\themes"
+  CreateDirectory "$INSTDIR\data\themes\blackwood"
+  CreateDirectory "$INSTDIR\data\themes\classic"
+  CreateDirectory "$INSTDIR\data\themes\enchilado"
+  CreateDirectory "$INSTDIR\data\themes\redandblack"
+  CreateDirectory "$INSTDIR\data\themes\wood"
+  CreateDirectory "$INSTDIR\docs"
+
+  SetOverwrite ifnewer
+  SetOutPath "$INSTDIR"
+
+  File "${EXEDIR}\manaplus.exe"
+  File "${DLLDIR}\*.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"
+  File "${SRCDIR}\data\graphics\*.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\sprites"
+  File "${SRCDIR}\data\graphics\sprites\*.gif"
+  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\blackwood"
+  File "${SRCDIR}\data\themes\blackwood\*.png"
+  File "${SRCDIR}\data\themes\blackwood\*.xml"
+  SetOutPath "$INSTDIR\data\themes\classic"
+  File "${SRCDIR}\data\themes\classic\*.png"
+  File "${SRCDIR}\data\themes\classic\*.xml"
+  SetOutPath "$INSTDIR\data\themes\enchilado"
+  File "${SRCDIR}\data\themes\enchilado\*.png"
+  File "${SRCDIR}\data\themes\enchilado\*.xml"
+  SetOutPath "$INSTDIR\data\themes\redandblack"
+  File "${SRCDIR}\data\themes\redandblack\*.png"
+  File "${SRCDIR}\data\themes\redandblack\*.xml"
+  SetOutPath "$INSTDIR\data\themes\wood"
+  File "${SRCDIR}\data\themes\wood\*.png"
+  File "${SRCDIR}\data\themes\wood\*.xml"
+  SetOutPath "$INSTDIR\data\help"
+  File "${SRCDIR}\data\help\*.txt"
+  SetOutPath "$INSTDIR\data\icons\"
+  File "${SRCDIR}\data\icons\manaplus.ico"
+  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 "$DESKTOP\ManaPlus.lnk" "$INSTDIR\manaplus.exe"
+SectionEnd
+
+Section /o "Music" SecMusic
+  AddSize 17602
+  CreateDirectory "$INSTDIR\data\music"
+  SetOutPath "$INSTDIR\data\music"
+  NSISdl::download "http://downloads.sourceforge.net/themanaworld/tmwmusic-0.2.tar.gz" "$TEMP\tmwmusic-0.2.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.2.tar.gz"
+  Delete "$TEMP\tmwmusic-0.2.tar.gz"
+SectionEnd
+
+Section /o "Portable" SecPortable
+  SetOutPath "$INSTDIR"
+  File "portable.xml"
+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."
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecMusic} "Background music. (If selected the 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 ${SecTrans} "Translations for the user interface into 23 different languages. Uncheck this component to leave it in English."
+!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 HKLM "${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
+FunctionEnd
+
+Section Uninstall
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Mana"
+
+  Delete "$INSTDIR\*.*"
+
+  Delete "$SMPROGRAMS\Mana\Uninstall.lnk"
+  Delete "$DESKTOP\ManaPlus.lnk"
+  Delete "$SMPROGRAMS\Mana\ManaPlus.lnk"
+  Delete "$SMPROGRAMS\Mana\ManaPlus (no opengl).lnk"
+  Delete "$SMPROGRAMS\Mana\Website.lnk"
+  Delete "$SMPROGRAMS\Mana\Readme.lnk"
+  Delete "$SMPROGRAMS\Mana\FAQ.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 HKLM "${PRODUCT_DIR_REGKEY}"
+  SetAutoClose true
+SectionEnd
diff --git a/packaging/windows/setup_finish.bmp b/packaging/windows/setup_finish.bmp
new file mode 100644
index 000000000..c23770b9f
Binary files /dev/null and b/packaging/windows/setup_finish.bmp differ
diff --git a/packaging/windows/setup_welcome.bmp b/packaging/windows/setup_welcome.bmp
new file mode 100644
index 000000000..c23770b9f
Binary files /dev/null and b/packaging/windows/setup_welcome.bmp differ
-- 
cgit v1.2.3-70-g09d2