summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFedja Beader <fedja@protonmail.ch>2024-03-29 02:32:55 +0100
committerFedja Beader <fedja@protonmail.ch>2024-03-29 02:32:55 +0100
commit2186defb038f835bffe75681e5259c30b4a46216 (patch)
treebc9400af6e8c5f2139c6412842870214c553b904
parentf55e112f9909c53de0a4789305999f0e3cf477b9 (diff)
downloadmanaverse-2186defb038f835bffe75681e5259c30b4a46216.tar.gz
manaverse-2186defb038f835bffe75681e5259c30b4a46216.tar.bz2
manaverse-2186defb038f835bffe75681e5259c30b4a46216.tar.xz
manaverse-2186defb038f835bffe75681e5259c30b4a46216.zip
Revert "Remove data/evol"improved_controller_build
This reverts commit 0144ab308fed93b96b3a819dfe7d9940ee9eedb9. [ci skip]
-rw-r--r--.gitignore2
-rwxr-xr-xbuild/packevol16
-rwxr-xr-xconfigure.ac3
-rw-r--r--data/Makefile.am2
-rw-r--r--data/evol/Makefile.am20
-rw-r--r--data/evol/evol.desktop.in25
-rwxr-xr-xdata/evol/evol.in2
-rw-r--r--data/evol/evol.manaplus19
-rw-r--r--data/evol/icons/evol-client.icobin0 -> 533366 bytes
-rw-r--r--data/evol/icons/evol-client.pngbin0 -> 7366 bytes
-rw-r--r--data/evol/icons/evol-client.xpm45
-rw-r--r--data/evol/images/loginwallpaper_800x600.pngbin0 -> 1481772 bytes
-rwxr-xr-xnightly/buildlinux.sh1
-rwxr-xr-xnightly/buildwindows.sh6
-rwxr-xr-xnightly/evol.sh6
-rwxr-xr-xnightly/packevol14
-rw-r--r--packaging/windows/evol.nsi488
-rw-r--r--packaging/windows/setup.nsi17
18 files changed, 665 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index f14ecdc02..bf274d538 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,7 +38,9 @@ po/POTFILES
stamp-h1
/manaplus.spec
PKGBUILD
+data/evol/evol.desktop
data/tmw/tmw.desktop
+data/evol/evol
data/tmw/tmw
# files created by CMake
diff --git a/build/packevol b/build/packevol
new file mode 100755
index 000000000..8da89d051
--- /dev/null
+++ b/build/packevol
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+cd ..
+
+dir=`pwd`
+
+cd packaging/windows
+./make-translations.sh
+makensis -DDLLDIR=$dir/../libs/dll/ \
+ -DPRODUCT_VERSION="1.0" \
+ -DEXESUFFIX=/src \
+ -DUPX=true \
+ -DBITS=${BITS} \
+ -DSEHDLL=${SEHDLL} \
+ evol.nsi
+
diff --git a/configure.ac b/configure.ac
index f4e2e1599..7defacfae 100755
--- a/configure.ac
+++ b/configure.ac
@@ -893,6 +893,8 @@ Makefile
PKGBUILD
src/Makefile
data/Makefile
+data/evol/evol.desktop
+data/evol/Makefile
data/fonts/Makefile
data/fonts/src/Makefile
data/graphics/Makefile
@@ -935,6 +937,7 @@ docs/Makefile
po/Makefile.in
])
+AC_CONFIG_FILES([data/evol/evol], [chmod +x data/evol/evol])
AC_CONFIG_FILES([data/tmw/tmw], [chmod +x data/tmw/tmw])
AC_OUTPUT
diff --git a/data/Makefile.am b/data/Makefile.am
index 794c71a18..794e67b8f 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,5 +1,5 @@
-SUBDIRS = fonts graphics help icons music perserver sfx test themes tmw translations
+SUBDIRS = evol fonts graphics help icons music perserver sfx test themes tmw translations
EXTRA_DIST = CMakeLists.txt items.xsd
diff --git a/data/evol/Makefile.am b/data/evol/Makefile.am
new file mode 100644
index 000000000..5ad7b74cf
--- /dev/null
+++ b/data/evol/Makefile.am
@@ -0,0 +1,20 @@
+
+desktopdir = $(datarootdir)/applications
+
+branding:
+ mkdir -p "$(DESTDIR)$(pkgdatadir)/data/evol/icons"
+ mkdir -p "$(DESTDIR)$(datarootdir)/icons"
+ mkdir -p "$(DESTDIR)$(desktopdir)"
+ cp evol.desktop "$(DESTDIR)$(desktopdir)"
+ cp evol.manaplus "$(DESTDIR)$(pkgdatadir)/data/evol"
+ cp icons/evol-client.png "$(DESTDIR)$(pkgdatadir)/data/evol/icons"
+ cp icons/evol-client.png "$(DESTDIR)$(datarootdir)/icons"
+ cp -r images "$(DESTDIR)$(pkgdatadir)/data/evol"
+
+EXTRA_DIST = evol.desktop.in \
+ evol.in \
+ evol.manaplus \
+ icons/evol-client.ico \
+ icons/evol-client.png \
+ icons/evol-client.xpm \
+ images/loginwallpaper_800x600.png
diff --git a/data/evol/evol.desktop.in b/data/evol/evol.desktop.in
new file mode 100644
index 000000000..8ab97e773
--- /dev/null
+++ b/data/evol/evol.desktop.in
@@ -0,0 +1,25 @@
+
+[Desktop Entry]
+Version=1.0
+Name=EvolOnline
+Comment=A 2D MMORPG client
+Exec=manaplus @datadir@/manaplus/data/evol/evol.manaplus
+StartupNotify=false
+Terminal=false
+Type=Application
+Icon=evol-client
+Categories=Game;AdventureGame;
+
+
+# Translations
+Comment[vls]=Nen 2D MMORPG client
+Comment[ru]=Клиент к 2D MMORPG игре
+Comment[it]=Un gioco fantasy online
+Comment[ja]=2DのMMORPGクライアント
+Comment[cs]=2D MMORPG klient
+Comment[nl_BE]=Een 2D MMORPG client
+Comment[de]=ein 2D MMORG Client
+Comment[sv_SE]=Ett fantasyrollspel online
+Comment[es]=Un cliente MMORPG 2D
+Comment[fr]=Un jeu en ligne dans un univers fantastique
+Comment[nl]=Een online role playing game
diff --git a/data/evol/evol.in b/data/evol/evol.in
new file mode 100755
index 000000000..2b010dc80
--- /dev/null
+++ b/data/evol/evol.in
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec manaplus @datadir@/manaplus/data/evol/evol.manaplus "$@"
diff --git a/data/evol/evol.manaplus b/data/evol/evol.manaplus
new file mode 100644
index 000000000..969fe06f0
--- /dev/null
+++ b/data/evol/evol.manaplus
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <option name="appName" value="Evol Online"/>
+ <option name="appShort" value="mana"/>
+ <option name="appIcon" value="evol/icons/evol-client"/>
+ <option name="screenshots" value="EvolOnline"/>
+ <option name="loginMusic" value="Artis - The Adventure Begins.ogg"/>
+ <option name="onlineServerList" value="http://www.evolonline.org/serverlist.xml"/>
+ <option name="onlineServerList2" value="http://evolonline.org/serverlist.xml"/>
+ <option name="onlineServerFile" value="evol.xml"/>
+ <option name="defaultServer" value="world.evolonline.org"/>
+ <option name="defaultPort" value="6901"/>
+ <option name="defaultServerType" value="evol2"/>
+ <option name="font" value="fonts/dejavusans.ttf" />
+ <option name="boldFont" value="fonts/dejavusans-bold.ttf" />
+ <option name="theme" value="jewelry" />
+ <option name="wallpapersPath" value="evol/images/" />
+ <option name="wallpaperFile" value="loginwallpaper_800x600.png" />
+</configuration>
diff --git a/data/evol/icons/evol-client.ico b/data/evol/icons/evol-client.ico
new file mode 100644
index 000000000..17309a1ba
--- /dev/null
+++ b/data/evol/icons/evol-client.ico
Binary files differ
diff --git a/data/evol/icons/evol-client.png b/data/evol/icons/evol-client.png
new file mode 100644
index 000000000..2fb9eaab0
--- /dev/null
+++ b/data/evol/icons/evol-client.png
Binary files differ
diff --git a/data/evol/icons/evol-client.xpm b/data/evol/icons/evol-client.xpm
new file mode 100644
index 000000000..7fb1f2cda
--- /dev/null
+++ b/data/evol/icons/evol-client.xpm
@@ -0,0 +1,45 @@
+/* XPM */
+static char * manaplus_xpm[] = {
+"32 32 10 1",
+" c None",
+". c #663300",
+"X c #673200",
+"o c #663400",
+"O c #653400",
+"+ c #653200",
+"@ c #653300",
+"# c #673300",
+"$ c #663200",
+"% c #673400",
+" .. . ",
+" .. X . ",
+" .X .. o O. ",
+" +@o .o O# o. ",
+" Xo. $.@ . o%. ",
+" $.#$.#$+ ",
+" . $$$## ",
+" ....$@+ %. ",
+" ....o#$X ",
+" .$o.. ",
+" .@@. ",
+" Oo#. ",
+" o ",
+" #@ . ",
+" O... ",
+" $.o ",
+" #.$. ",
+" ..% ",
+" #$@. ",
+" .... ",
+" # O%.@..$.#.o . ",
+" +# oO X+$..@ .#$$ ",
+" % +...o # % ",
+" O %o..$oO O.% ",
+" o #O$@ X# + ",
+" # $ $ % ",
+" O. . $ #@ ",
+" o XO ",
+" . X $X ",
+" # + + ",
+" . @ . ",
+" .$# $@ "};
diff --git a/data/evol/images/loginwallpaper_800x600.png b/data/evol/images/loginwallpaper_800x600.png
new file mode 100644
index 000000000..a1fe4f83b
--- /dev/null
+++ b/data/evol/images/loginwallpaper_800x600.png
Binary files differ
diff --git a/nightly/buildlinux.sh b/nightly/buildlinux.sh
index 24ef620a3..ffc50c35b 100755
--- a/nightly/buildlinux.sh
+++ b/nightly/buildlinux.sh
@@ -29,4 +29,5 @@ then
cp src/manaplus $DSTDIR/bin
cp nightly/runme.sh $DSTDIR
cp "nightly/run tests.sh" $DSTDIR
+ cp nightly/evol.sh $DSTDIR
fi
diff --git a/nightly/buildwindows.sh b/nightly/buildwindows.sh
index da1c6bc51..ff353eab4 100755
--- a/nightly/buildwindows.sh
+++ b/nightly/buildwindows.sh
@@ -32,3 +32,9 @@ makensis -DDLLDIR=$dir/../packaging/windows/libs/dll/ \
cp ../../nightly/setup_finish.bmp .
cp ../../nightly/setup_welcome.bmp .
+
+makensis -DDLLDIR=$dir/../packaging/windows/libs/dll/ \
+ -DPRODUCT_VERSION="nightly-$1" \
+ -DEXESUFFIX=/src \
+ -DUPX=true \
+ evol.nsi
diff --git a/nightly/evol.sh b/nightly/evol.sh
new file mode 100755
index 000000000..06af1d85a
--- /dev/null
+++ b/nightly/evol.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIR=$(dirname "$(readlink -f $0)")
+cd "$DIR"
+export LD_LIBRARY_PATH="$DIR"/libs/:$LD_LIBRARY_PATH
+./bin/manaplus ./data/evol/evol.manaplus
diff --git a/nightly/packevol b/nightly/packevol
new file mode 100755
index 000000000..1e0bc5d7d
--- /dev/null
+++ b/nightly/packevol
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+cd ..
+
+dir=`pwd`
+
+cd packaging/windows
+./make-translations.sh
+makensis -DDLLDIR=$dir/../libs/dll/ \
+ -DPRODUCT_VERSION="nightly-$1" \
+ -DEXESUFFIX=/src \
+ -DUPX=true \
+ evol.nsi
+
diff --git a/packaging/windows/evol.nsi b/packaging/windows/evol.nsi
new file mode 100644
index 000000000..1aa27088a
--- /dev/null
+++ b/packaging/windows/evol.nsi
@@ -0,0 +1,488 @@
+; 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
+!define MULTIUSER_EXECUTIONLEVEL "admin"
+!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 "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\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/setup.nsi b/packaging/windows/setup.nsi
index f5ca57644..1c159c7cd 100644
--- a/packaging/windows/setup.nsi
+++ b/packaging/windows/setup.nsi
@@ -398,6 +398,23 @@ SectionEnd
; File "${EXEDIR}\dyecmd.exe"
; 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"