From 2186defb038f835bffe75681e5259c30b4a46216 Mon Sep 17 00:00:00 2001 From: Fedja Beader Date: Fri, 29 Mar 2024 02:32:55 +0100 Subject: Revert "Remove data/evol" This reverts commit 0144ab308fed93b96b3a819dfe7d9940ee9eedb9. [ci skip] --- .gitignore | 2 + build/packevol | 16 + configure.ac | 3 + data/Makefile.am | 2 +- data/evol/Makefile.am | 20 ++ data/evol/evol.desktop.in | 25 ++ data/evol/evol.in | 2 + data/evol/evol.manaplus | 19 ++ data/evol/icons/evol-client.ico | Bin 0 -> 533366 bytes data/evol/icons/evol-client.png | Bin 0 -> 7366 bytes data/evol/icons/evol-client.xpm | 45 +++ data/evol/images/loginwallpaper_800x600.png | Bin 0 -> 1481772 bytes nightly/buildlinux.sh | 1 + nightly/buildwindows.sh | 6 + nightly/evol.sh | 6 + nightly/packevol | 14 + packaging/windows/evol.nsi | 488 ++++++++++++++++++++++++++++ packaging/windows/setup.nsi | 17 + 18 files changed, 665 insertions(+), 1 deletion(-) create mode 100755 build/packevol create mode 100644 data/evol/Makefile.am create mode 100644 data/evol/evol.desktop.in create mode 100755 data/evol/evol.in create mode 100644 data/evol/evol.manaplus create mode 100644 data/evol/icons/evol-client.ico create mode 100644 data/evol/icons/evol-client.png create mode 100644 data/evol/icons/evol-client.xpm create mode 100644 data/evol/images/loginwallpaper_800x600.png create mode 100755 nightly/evol.sh create mode 100755 nightly/packevol create mode 100644 packaging/windows/evol.nsi 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 @@ + + + diff --git a/data/evol/icons/evol-client.ico b/data/evol/icons/evol-client.ico new file mode 100644 index 000000000..17309a1ba Binary files /dev/null and b/data/evol/icons/evol-client.ico differ diff --git a/data/evol/icons/evol-client.png b/data/evol/icons/evol-client.png new file mode 100644 index 000000000..2fb9eaab0 Binary files /dev/null and b/data/evol/icons/evol-client.png 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 Binary files /dev/null and b/data/evol/images/loginwallpaper_800x600.png 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" -- cgit v1.2.3-70-g09d2