2012-05-08 17:09:29 +02:00
|
|
|
|
;Copyright 2012 NeoRame
|
|
|
|
|
|
2015-04-26 18:52:40 +02:00
|
|
|
|
;Website: http://sourceforge.net/projects/usbloadergx/
|
2012-05-08 17:09:29 +02:00
|
|
|
|
;This software is OSI Certified Open Source Software.
|
|
|
|
|
;OSI Certified is a certification mark of the Open Source Initiative.
|
|
|
|
|
|
|
|
|
|
;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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
|
|
|
|
!include InstallerConfig.nsh
|
|
|
|
|
|
|
|
|
|
;=== Program Details
|
|
|
|
|
Name "${NAME2}"
|
|
|
|
|
OutFile "${FILENAME}.exe"
|
|
|
|
|
InstallDir "\${SHORTNAME}"
|
|
|
|
|
Caption "${NAME2} Installer"
|
|
|
|
|
VIProductVersion "${VERSION}"
|
|
|
|
|
VIAddVersionKey ProductName "${NAME2}"
|
2015-04-26 18:52:40 +02:00
|
|
|
|
VIAddVersionKey Comments "For more informations please visit http://sourceforge.net/projects/usbloadergx/"
|
2012-05-08 17:09:29 +02:00
|
|
|
|
VIAddVersionKey CompanyName "${TEAM}"
|
|
|
|
|
VIAddVersionKey LegalCopyright "${TEAM}"
|
|
|
|
|
VIAddVersionKey FileDescription "${NAME2}"
|
|
|
|
|
VIAddVersionKey FileVersion "${VERSION}"
|
|
|
|
|
VIAddVersionKey ProductVersion "${VERSION}"
|
|
|
|
|
VIAddVersionKey InternalName "${NAME}"
|
|
|
|
|
VIAddVersionKey LegalTrademarks "${NAME2} created by ${TEAM}."
|
|
|
|
|
VIAddVersionKey OriginalFilename "${FILENAME}.exe"
|
|
|
|
|
;VIAddVersionKey PrivateBuild ""
|
|
|
|
|
;VIAddVersionKey SpecialBuild ""
|
|
|
|
|
|
|
|
|
|
;=== Runtime Switches
|
|
|
|
|
;SetDatablockOptimize on
|
|
|
|
|
;SetCompress off
|
|
|
|
|
SetCompressor /SOLID lzma
|
|
|
|
|
CRCCheck on
|
|
|
|
|
AutoCloseWindow True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;=== Include Modern UI
|
|
|
|
|
|
|
|
|
|
!include "${NSISDIR}\Contrib\Modern UI 2\MUI2.nsh"
|
|
|
|
|
!include "FileFunc.nsh"
|
|
|
|
|
!include "MUI_EXTRAPAGES.nsh"
|
|
|
|
|
!insertmacro GetOptions
|
|
|
|
|
!insertmacro GetDrives
|
|
|
|
|
!include "Sections.nsh"
|
|
|
|
|
!include "LogicLib.nsh"
|
|
|
|
|
|
|
|
|
|
;=== General
|
|
|
|
|
|
|
|
|
|
;Request application privileges for Windows Vista
|
|
|
|
|
RequestExecutionLevel user
|
|
|
|
|
|
|
|
|
|
;=== Interface Settings
|
|
|
|
|
|
|
|
|
|
!define MUI_ABORTWARNING
|
|
|
|
|
|
|
|
|
|
;=== Program Icon
|
|
|
|
|
|
|
|
|
|
Icon "${NAME}.ico"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;=== Icon & Style ===
|
|
|
|
|
|
|
|
|
|
!define MUI_ICON "${NAME}.ico"
|
|
|
|
|
BrandingText "${NAME2} - GUI for Waninkoko<6B>s USB Loader (based on libwiigui)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;=== Pages
|
|
|
|
|
|
|
|
|
|
!define MUI_WELCOMEFINISHPAGE_BITMAP ${NAME}.bmp
|
|
|
|
|
!define MUI_WELCOMEPAGE_TITLE "${NAME2}"
|
|
|
|
|
!define MUI_WELCOMEPAGE_TEXT "$(welcome)"
|
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
|
|
|
;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
|
|
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
|
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
|
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
|
!define MUI_FINISHPAGE_SHOWREADME http://docs.google.com/View?id=dfwvk5sg_0gksqfcdj&hl=en
|
|
|
|
|
!define MUI_FINISHPAGE_TEXT "$(finish)"
|
|
|
|
|
;!define MUI_FINISHPAGE_LINK "Please DONATE!"
|
|
|
|
|
;!define MUI_FINISHPAGE_LINK_LOCATION https://www.paypal.com/de/cgi-bin/webscr?cmd=_flow&SESSION=E1LIyStPgJANyyD1vAmprj2ztJT3SSowGvCPLlWj9FKXySqqdKYvlS1MLoS&dispatch=5885d80a13c0db1fb6947b0aeae66fdbfb2119927117e3a6ad170b0a66ce6e8a
|
|
|
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;=== Languages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGUAGE "ENGLISH" ;first language is the default language
|
|
|
|
|
!insertmacro MUI_LANGUAGE "GERMAN"
|
|
|
|
|
!insertmacro MUI_LANGUAGE "FRENCH"
|
|
|
|
|
|
|
|
|
|
!include LANG.nsh
|
|
|
|
|
|
|
|
|
|
;===Reserve Files
|
|
|
|
|
|
|
|
|
|
;If you are using solid compression, files that are required before
|
|
|
|
|
;the actual installation should be stored first in the data block,
|
|
|
|
|
;because this will make your installer start faster.
|
|
|
|
|
|
|
|
|
|
;insertmacro MUI_RESERVEFILE_LANGDLL
|
|
|
|
|
|
|
|
|
|
;=== Tools
|
|
|
|
|
!macro CharStrip Char InStr OutVar
|
|
|
|
|
Push '${InStr}'
|
|
|
|
|
Push '${Char}'
|
|
|
|
|
Call CharStrip
|
|
|
|
|
Pop '${OutVar}'
|
|
|
|
|
!macroend
|
|
|
|
|
!define CharStrip '!insertmacro CharStrip'
|
|
|
|
|
|
|
|
|
|
;=== Installer Sections
|
|
|
|
|
|
|
|
|
|
Section "USB Loader GX" SecMain
|
|
|
|
|
;SectionIn RO
|
|
|
|
|
AddSize "4832"
|
|
|
|
|
SetOutPath "$INSTDIR"
|
|
|
|
|
|
2015-04-26 18:52:40 +02:00
|
|
|
|
NSISdl::download http://svn.code.sf.net/p/usbloadergx/code/branches/updates/update_dol.txt rev.txt
|
2012-05-08 17:09:29 +02:00
|
|
|
|
;get revision number
|
|
|
|
|
Push 1 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R5 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R5 $R5
|
|
|
|
|
${CharStrip} "$\r" $R5 $R5
|
|
|
|
|
;get download link
|
|
|
|
|
Push 2 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R0 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R0 $R0
|
|
|
|
|
${CharStrip} "$\r" $R0 $R0
|
2012-05-10 08:31:19 +02:00
|
|
|
|
;get download link for languages
|
|
|
|
|
Push 3 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R6 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R6 $R6
|
|
|
|
|
${CharStrip} "$\r" $R6 $R6
|
2012-05-08 17:09:29 +02:00
|
|
|
|
; remove file again
|
|
|
|
|
Delete "$INSTDIR\rev.txt"
|
|
|
|
|
|
2015-04-26 18:52:40 +02:00
|
|
|
|
NSISdl::download http://svn.code.sf.net/p/usbloadergx/code/branches/updates/icon.png icon.png
|
|
|
|
|
NSISdl::download http://svn.code.sf.net/p/usbloadergx/code/branches/updates/meta.xml meta.xml
|
2012-05-08 17:09:29 +02:00
|
|
|
|
NSISdl::download $R0 boot.dol
|
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
CreateDirectory "$INSTDIR"
|
|
|
|
|
CreateDirectory "$INSTDIR\images"
|
|
|
|
|
CreateDirectory "$INSTDIR\images\disc"
|
|
|
|
|
CreateDirectory "$INSTDIR\language"
|
|
|
|
|
;CreateDirectory "$INSTDIR\backgroundmusic"
|
|
|
|
|
;CreateDirectory "$INSTDIR\..\..\codes"
|
|
|
|
|
;CreateDirectory "$INSTDIR\..\..\txtcodes"
|
|
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
SectionGroup "$(DESC_Op_Lang)" SecOptional1
|
|
|
|
|
Section "!$(DESC_SD)" g2o1
|
|
|
|
|
AddSize "0"
|
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
;File /r "readMii.txt"
|
|
|
|
|
Push "$INSTDIR\GXGlobal.cfg" ; file to modify
|
|
|
|
|
Push "language_path" ; string that a line must begin with *WS Sensitive*
|
|
|
|
|
Push "" ; string to replace whole line with
|
|
|
|
|
Call ReplaceLineStr
|
|
|
|
|
Push "$INSTDIR\GXGlobal.cfg" ; file to modify
|
|
|
|
|
Push " language_path" ; string that a line must begin with *WS Sensitive*
|
|
|
|
|
Push "" ; string to replace whole line with
|
|
|
|
|
Call ReplaceLineStr
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "# USB Loader GX R$R5 - Main settings file$\r$\n" ; we write a new line
|
|
|
|
|
FileWrite $4 "language_path = sd:/apps/${SHORTNAME}/language/"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "!$(DESC_USB)" g2o2
|
|
|
|
|
AddSize "0"
|
|
|
|
|
SetOutPath $INSTDIR
|
|
|
|
|
;File /r "readMii.txt"
|
|
|
|
|
Push "$INSTDIR\GXGlobal.cfg" ; file to modify
|
|
|
|
|
Push "language_path" ; string that a line must begin with *WS Sensitive*
|
|
|
|
|
Push "" ; string to replace whole line with
|
|
|
|
|
Call ReplaceLineStr
|
|
|
|
|
Push "$INSTDIR\GXGlobal.cfg" ; file to modify
|
|
|
|
|
Push " language_path" ; string that a line must begin with *WS Sensitive*
|
|
|
|
|
Push "" ; string to replace whole line with
|
|
|
|
|
Call ReplaceLineStr
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "$\r$\n" ; we write a new line
|
|
|
|
|
FileWrite $4 "language_path = usb1:/apps/${SHORTNAME}/language/"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Czech" g1o19
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/czech.lang" czech.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "czech.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Danish" g1o2
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/danish.lang" danish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "danish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Dutch" g1o3
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/dutch.lang" dutch.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "dutch.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section "English" g1o4
|
|
|
|
|
AddSize "9"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/english.lang" english.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "english.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Finnish" g1o5
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/finnish.lang" finnish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "finnish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "French" g1o6
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/french.lang" french.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "french.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "German" g1o1
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/german.lang" german.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "german.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Hungarian" g1o20
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/hungarian.lang" hungarian.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "hungarian.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Italian" g1o7
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/italian.lang" italian.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "italian.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Japanese" g1o8
|
|
|
|
|
AddSize "16"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/japanese.lang" japanese.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "japanese.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Korean" g1o9
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/korean.lang" korean.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "korean.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Norwegian" g1o10
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/norwegian.lang" norwegian.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "norwegian.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Polish" g1o21
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/polish.lang" polish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "polish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Portuguese_br" g1o11
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/portuguese_br.lang" portuguese_br.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "portuguese_br.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Portuguese_pt" g1o12
|
|
|
|
|
AddSize "15"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/portuguese_pt.lang" portuguese_pt.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "portuguese_pt.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Russian" g1o13
|
|
|
|
|
AddSize "16"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/russian.lang" russian.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "russian.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "S.Chinese" g1o14
|
|
|
|
|
AddSize "12"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/schinese.lang" schinese.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "schinese.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "T.Chinese" g1o15
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/tchinese.lang" tchinese.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "tchinese.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Spanish" g1o16
|
|
|
|
|
AddSize "14"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/spanish.lang" spanish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "spanish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Swedish" g1o17
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/swedish.lang" swedish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "swedish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
Section /o "Turkish" g1o18
|
|
|
|
|
AddSize "13"
|
|
|
|
|
SetOutPath "$INSTDIR\language"
|
2012-05-10 08:31:19 +02:00
|
|
|
|
NSISdl::download "$R6/turkish.lang" turkish.lang
|
2012-05-08 17:09:29 +02:00
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
FileOpen $4 "$INSTDIR\GXGlobal.cfg" a
|
|
|
|
|
FileSeek $4 0 END
|
|
|
|
|
FileWrite $4 "turkish.lang"
|
|
|
|
|
FileClose $4 ; and close the file
|
|
|
|
|
SectionEnd
|
|
|
|
|
SectionGroupEnd
|
|
|
|
|
|
|
|
|
|
Section /o "$(DESC_Op_Chan)" SecOptional3
|
|
|
|
|
|
|
|
|
|
SetOutPath "$INSTDIR\..\..\wad"
|
|
|
|
|
CreateDirectory "$INSTDIR\..\..\wad"
|
|
|
|
|
AddSize "6773"
|
|
|
|
|
|
2015-04-26 18:52:40 +02:00
|
|
|
|
NSISdl::download http://svn.code.sf.net/p/usbloadergx/code/branches/updates/update_wad.txt rev.txt
|
2012-05-08 17:09:29 +02:00
|
|
|
|
;get revision number
|
|
|
|
|
Push 1 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\..\..\wad\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R5 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R5 $R5
|
|
|
|
|
${CharStrip} "$\r" $R5 $R5
|
|
|
|
|
;get download link
|
|
|
|
|
Push 2 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\..\..\wad\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R0 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R0 $R0
|
|
|
|
|
${CharStrip} "$\r" $R0 $R0
|
2012-05-10 08:31:19 +02:00
|
|
|
|
;get download link for languages
|
|
|
|
|
Push 3 ;line number to read from
|
|
|
|
|
Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
Call ReadFileLine
|
|
|
|
|
Pop $R6 ;output string (read from meta.txt)
|
|
|
|
|
; remove line endings
|
|
|
|
|
${CharStrip} "$\n" $R6 $R6
|
|
|
|
|
${CharStrip} "$\r" $R6 $R6
|
2012-05-08 17:09:29 +02:00
|
|
|
|
; remove file again
|
2012-05-10 08:31:19 +02:00
|
|
|
|
Delete "$INSTDIR\rev.txt"
|
2012-05-08 17:09:29 +02:00
|
|
|
|
|
|
|
|
|
NSISdl::download $R0 USBLoaderGX_UNLR.wad
|
|
|
|
|
Pop $0
|
|
|
|
|
StrCmp $0 success success
|
|
|
|
|
SetDetailsView show
|
|
|
|
|
DetailPrint "download failed: $0 $R0"
|
|
|
|
|
Abort
|
|
|
|
|
success:
|
|
|
|
|
;ZipDLL::extractall "$INSTDIR\..\..\wad\dat4inst.zip" "$INSTDIR\..\..\wad"
|
|
|
|
|
;Delete "$INSTDIR\..\..\wad\dat4inst.zip"
|
|
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
|
|
;Section /o "$(DESC_DB)" SecOptional2
|
|
|
|
|
;
|
|
|
|
|
; AddSize "114"
|
|
|
|
|
; SetOutPath "$INSTDIR\..\..\config"
|
|
|
|
|
; NSISdl::download http://wiitdb.com/wiitdb/pub/wiitdb.zip wiitdb.zip
|
|
|
|
|
; Pop $0
|
|
|
|
|
; StrCmp $0 success success
|
|
|
|
|
; SetDetailsView show
|
|
|
|
|
; DetailPrint "download failed: $0"
|
|
|
|
|
; Abort
|
|
|
|
|
; success:
|
|
|
|
|
;
|
|
|
|
|
; Push 1 ;line number to read from
|
|
|
|
|
; Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
; Call ReadFileLine
|
|
|
|
|
; Pop $0 ;output string (read from meta.txt)
|
|
|
|
|
;
|
|
|
|
|
;SectionEnd
|
|
|
|
|
|
|
|
|
|
; Section /o "$(DESC_Cheats)" SecOptional4
|
|
|
|
|
|
|
|
|
|
; AddSize "15"
|
|
|
|
|
; SetOutPath "$INSTDIR\..\..\txtcodes"
|
|
|
|
|
; NSISdl::download http://usbloader-gui.googlecode.com/files/txtcodes.zip txtcodes.zip
|
|
|
|
|
; Pop $0
|
|
|
|
|
; StrCmp $0 success success
|
|
|
|
|
; SetDetailsView show
|
|
|
|
|
; DetailPrint "download failed: $0"
|
|
|
|
|
; Abort
|
|
|
|
|
; success:
|
|
|
|
|
; ZipDLL::extractall "$INSTDIR\..\..\txtcodes\txtcodes.zip" "$INSTDIR\..\..\txtcodes"
|
|
|
|
|
; Delete "$INSTDIR\..\..\txtcodes\txtcodes.zip"
|
|
|
|
|
|
|
|
|
|
; Push 1 ;line number to read from
|
|
|
|
|
; Push "$INSTDIR\rev.txt" ;text file to read
|
|
|
|
|
; Call ReadFileLine
|
|
|
|
|
; Pop $0 ;output string (read from meta.txt)
|
|
|
|
|
|
|
|
|
|
; SectionEnd
|
|
|
|
|
|
|
|
|
|
SectionGroup "!$(DESC_clean)" SecOptional5
|
|
|
|
|
Section /o "$(DESC_Folder1)" SecOptional6
|
|
|
|
|
Delete $INSTDIR\images\*.*
|
|
|
|
|
SectionEnd
|
|
|
|
|
Section /o "$(DESC_Folder2)" SecOptional7
|
|
|
|
|
AddSize "0"
|
|
|
|
|
Delete $INSTDIR\images\disc\*.*
|
|
|
|
|
SectionEnd
|
|
|
|
|
SectionGroupEnd
|
|
|
|
|
|
|
|
|
|
;=== Installer Functions/ Variables
|
|
|
|
|
|
|
|
|
|
Var FOUNDRMTPATH
|
|
|
|
|
|
|
|
|
|
Function .onInit
|
|
|
|
|
|
|
|
|
|
StrCpy $1 ${g1o4} ; Group 1 - Option 1 is selected by default
|
|
|
|
|
StrCpy $2 ${g2o1} ; Group 2 - Option 1 is selected by default
|
|
|
|
|
|
|
|
|
|
;!insertmacro MUI_LANGDLL_DISPLAY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;StrCpy $FOUNDRMTPATH ''
|
|
|
|
|
|
|
|
|
|
${GetOptions} "$CMDLINE" "/DESTINATION=" $R0
|
|
|
|
|
|
|
|
|
|
IfErrors CheckLegacyDestination
|
|
|
|
|
StrCpy $INSTDIR "$R0${SHORTNAME}"
|
|
|
|
|
Goto InitDone
|
|
|
|
|
|
|
|
|
|
CheckLegacyDestination:
|
|
|
|
|
ClearErrors
|
|
|
|
|
${GetOptions} "$CMDLINE" "-o" $R0
|
|
|
|
|
IfErrors NoDestination
|
|
|
|
|
StrCpy $INSTDIR "$R0${SHORTNAME}"
|
|
|
|
|
Goto InitDone
|
|
|
|
|
|
|
|
|
|
NoDestination:
|
|
|
|
|
ClearErrors
|
|
|
|
|
${GetDrives} "HDD+FDD" GetDrivesCallBack
|
|
|
|
|
StrCmp $FOUNDRMTPATH "" DefaultDestination
|
|
|
|
|
StrCpy $INSTDIR "$FOUNDRMTPATH\${SHORTNAME}"
|
|
|
|
|
Goto InitDone
|
|
|
|
|
|
|
|
|
|
DefaultDestination:
|
|
|
|
|
StrCpy $INSTDIR "$9\apps\${SHORTNAME}"
|
|
|
|
|
|
|
|
|
|
InitDone:
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
|
|
Function GetDrivesCallBack
|
|
|
|
|
;=== Skip usual floppy letters
|
|
|
|
|
StrCmp $8 "FDD" "" CheckForRMTPath
|
|
|
|
|
StrCmp $8 "CDROM" End
|
|
|
|
|
StrCmp $9 "A:\" End
|
|
|
|
|
StrCmp $9 "B:\" End
|
|
|
|
|
|
|
|
|
|
CheckForRMTPath:
|
|
|
|
|
${If} ${FileExists} "$9apps"
|
|
|
|
|
StrCpy $FOUNDRMTPATH "$9apps"
|
|
|
|
|
${Else}
|
|
|
|
|
StrCpy $FOUNDRMTPATH "$9apps"
|
|
|
|
|
${EndIf}
|
|
|
|
|
End:
|
|
|
|
|
Push $0
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
|
|
Function ReadFileLine
|
|
|
|
|
Exch $0 ;file
|
|
|
|
|
Exch
|
|
|
|
|
Exch $1 ;line number
|
|
|
|
|
Push $2
|
|
|
|
|
Push $3
|
|
|
|
|
|
|
|
|
|
FileOpen $2 $0 r
|
|
|
|
|
StrCpy $3 0
|
|
|
|
|
|
|
|
|
|
Loop:
|
|
|
|
|
IntOp $3 $3 + 1
|
|
|
|
|
ClearErrors
|
|
|
|
|
FileRead $2 $0
|
|
|
|
|
IfErrors +2
|
|
|
|
|
StrCmp $3 $1 0 loop
|
|
|
|
|
FileClose $2
|
|
|
|
|
|
|
|
|
|
Pop $3
|
|
|
|
|
Pop $2
|
|
|
|
|
Pop $1
|
|
|
|
|
Exch $0
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
|
|
;=== Descriptions and Lang Strings
|
|
|
|
|
|
|
|
|
|
;Assign language strings to sections
|
|
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $(DESC_SecMain)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional1} $(DESC_SecOptional1)
|
|
|
|
|
;!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional2} $(DESC_SecOptional2)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional3} $(DESC_SecOptional3)
|
|
|
|
|
;!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional4} $(DESC_SecOptional4)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional5} $(DESC_SecOptional5)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional6} $(DESC_SecOptional6)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecOptional7} $(DESC_SecOptional7)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${g2o1} $(DESC_SD_Des)
|
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${g2o2} $(DESC_USB_Des)
|
|
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
|
|
|
|
|
|
|
|
;=== RadioButtons
|
|
|
|
|
|
|
|
|
|
Function .onSelChange
|
|
|
|
|
|
|
|
|
|
${If} ${SectionIsSelected} ${SecOptional1}
|
|
|
|
|
!insertmacro UnSelectSection ${SecOptional1}
|
|
|
|
|
!insertmacro SelectSection $1
|
|
|
|
|
!insertmacro SelectSection $2
|
|
|
|
|
${Else}
|
|
|
|
|
!insertmacro StartRadioButtons $1
|
|
|
|
|
!insertmacro RadioButton ${g1o1}
|
|
|
|
|
!insertmacro RadioButton ${g1o2}
|
|
|
|
|
!insertmacro RadioButton ${g1o3}
|
|
|
|
|
!insertmacro RadioButton ${g1o4}
|
|
|
|
|
!insertmacro RadioButton ${g1o5}
|
|
|
|
|
!insertmacro RadioButton ${g1o6}
|
|
|
|
|
!insertmacro RadioButton ${g1o7}
|
|
|
|
|
!insertmacro RadioButton ${g1o8}
|
|
|
|
|
!insertmacro RadioButton ${g1o9}
|
|
|
|
|
!insertmacro RadioButton ${g1o10}
|
|
|
|
|
!insertmacro RadioButton ${g1o11}
|
|
|
|
|
!insertmacro RadioButton ${g1o12}
|
|
|
|
|
!insertmacro RadioButton ${g1o13}
|
|
|
|
|
!insertmacro RadioButton ${g1o14}
|
|
|
|
|
!insertmacro RadioButton ${g1o15}
|
|
|
|
|
!insertmacro RadioButton ${g1o16}
|
|
|
|
|
!insertmacro RadioButton ${g1o17}
|
|
|
|
|
!insertmacro RadioButton ${g1o18}
|
|
|
|
|
!insertmacro RadioButton ${g1o19}
|
|
|
|
|
!insertmacro RadioButton ${g1o20}
|
|
|
|
|
!insertmacro RadioButton ${g1o21}
|
|
|
|
|
!insertmacro EndRadioButtons
|
|
|
|
|
!insertmacro StartRadioButtons $2
|
|
|
|
|
!insertmacro RadioButton ${g2o1}
|
|
|
|
|
!insertmacro RadioButton ${g2o2}
|
|
|
|
|
!insertmacro EndRadioButtons
|
|
|
|
|
${EndIf}
|
|
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
|
|
;==== CFG Edit
|
|
|
|
|
|
|
|
|
|
Function ReplaceLineStr
|
|
|
|
|
Exch $R0 ; string to replace that whole line with
|
|
|
|
|
Exch
|
|
|
|
|
Exch $R1 ; string that line should start with
|
|
|
|
|
Exch
|
|
|
|
|
Exch 2
|
|
|
|
|
Exch $R2 ; file
|
|
|
|
|
Push $R3 ; file handle
|
|
|
|
|
Push $R4 ; temp file
|
|
|
|
|
Push $R5 ; temp file handle
|
|
|
|
|
Push $R6 ; global
|
|
|
|
|
Push $R7 ; input string length
|
|
|
|
|
Push $R8 ; line string length
|
|
|
|
|
Push $R9 ; global
|
|
|
|
|
|
|
|
|
|
StrLen $R7 $R1
|
|
|
|
|
|
|
|
|
|
GetTempFileName $R4
|
|
|
|
|
|
|
|
|
|
FileOpen $R5 $R4 w
|
|
|
|
|
FileOpen $R3 $R2 r
|
|
|
|
|
|
|
|
|
|
ReadLoop:
|
|
|
|
|
ClearErrors
|
|
|
|
|
FileRead $R3 $R6
|
|
|
|
|
IfErrors Done
|
|
|
|
|
|
|
|
|
|
StrLen $R8 $R6
|
|
|
|
|
StrCpy $R9 $R6 $R7 -$R8
|
|
|
|
|
StrCmp $R9 $R1 0 +3
|
|
|
|
|
|
|
|
|
|
FileWrite $R5 "$R0"
|
|
|
|
|
Goto ReadLoop
|
|
|
|
|
|
|
|
|
|
FileWrite $R5 $R6
|
|
|
|
|
Goto ReadLoop
|
|
|
|
|
|
|
|
|
|
Done:
|
|
|
|
|
|
|
|
|
|
FileClose $R3
|
|
|
|
|
FileClose $R5
|
|
|
|
|
|
|
|
|
|
SetDetailsPrint none
|
|
|
|
|
Delete $R2
|
|
|
|
|
Rename $R4 $R2
|
|
|
|
|
SetDetailsPrint both
|
|
|
|
|
|
|
|
|
|
Pop $R9
|
|
|
|
|
Pop $R8
|
|
|
|
|
Pop $R7
|
|
|
|
|
Pop $R6
|
|
|
|
|
Pop $R5
|
|
|
|
|
Pop $R4
|
|
|
|
|
Pop $R3
|
|
|
|
|
Pop $R2
|
|
|
|
|
Pop $R1
|
|
|
|
|
Pop $R0
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
|
|
Function CharStrip
|
|
|
|
|
Exch $R0 #char
|
|
|
|
|
Exch
|
|
|
|
|
Exch $R1 #in string
|
|
|
|
|
Push $R2
|
|
|
|
|
Push $R3
|
|
|
|
|
Push $R4
|
|
|
|
|
StrCpy $R2 -1
|
|
|
|
|
IntOp $R2 $R2 + 1
|
|
|
|
|
StrCpy $R3 $R1 1 $R2
|
|
|
|
|
StrCmp $R3 "" +8
|
|
|
|
|
StrCmp $R3 $R0 0 -3
|
|
|
|
|
StrCpy $R3 $R1 $R2
|
|
|
|
|
IntOp $R2 $R2 + 1
|
|
|
|
|
StrCpy $R4 $R1 "" $R2
|
|
|
|
|
StrCpy $R1 $R3$R4
|
|
|
|
|
IntOp $R2 $R2 - 2
|
|
|
|
|
Goto -9
|
|
|
|
|
StrCpy $R0 $R1
|
|
|
|
|
Pop $R4
|
|
|
|
|
Pop $R3
|
|
|
|
|
Pop $R2
|
|
|
|
|
Pop $R1
|
|
|
|
|
Exch $R0
|
|
|
|
|
FunctionEnd
|