Replace logo and clean up packaging
@@ -52,21 +52,6 @@ ___*
|
||||
*_LOCAL_*
|
||||
*_REMOTE_*
|
||||
|
||||
# Mac Programming Files
|
||||
*.pbxuser
|
||||
PBProject/build
|
||||
Xcode/build
|
||||
Xcode/*.xcodeproj/xcuserdata/
|
||||
*.xcodeproj/xcuserdata
|
||||
*.xcodeproj/project.xcworkspace
|
||||
*.xcscheme
|
||||
WorkspaceSettings.xcsettings
|
||||
UserInterfaceState.xcuserstate
|
||||
*.xccheckout
|
||||
contents.xcworkspacedata
|
||||
xcschememanagement.plist
|
||||
PBProject/Hardware.plist
|
||||
|
||||
# Mac General Files
|
||||
*.app
|
||||
*.dmg
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
set(CPACK_PACKAGE_NAME "${SM_EXE_NAME}")
|
||||
set(CPACK_PACKAGE_VENDOR "ITGmania")
|
||||
set(CPACK_PACKAGE_VENDOR "${SM_EXE_NAME} Developers")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rhythm Game Simulator")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${SM_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${SM_VERSION_MINOR}")
|
||||
@@ -31,28 +31,28 @@ if(WIN32)
|
||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
set(CPACK_NSIS_MUI_ICON "${SM_INSTALLER_DIR}/install.ico")
|
||||
set(CPACK_NSIS_MUI_UNIICON "${SM_INSTALLER_DIR}/uninstall.ico")
|
||||
set(CPACK_NSIS_MUI_HEADERIMAGE "${SM_INSTALLER_DIR}/header.bmp")
|
||||
set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "${SM_INSTALLER_DIR}/welcome.bmp")
|
||||
set(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
|
||||
|
||||
# Custom items for nsis go here.
|
||||
set(CPACK_SM_NSIS_REPOSITORY "https://github.com/itgmania/itgmania")
|
||||
set(CPACK_SM_NSIS_ROOT_DIR "${SM_ROOT_DIR}")
|
||||
set(CPACK_SM_NSIS_PRODUCT_ID "ITGmania ${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}")
|
||||
set(CPACK_SM_NSIS_PRODUCT_VERSION "${SM_VERSION_TRADITIONAL}.0")
|
||||
set(CPACK_SM_NSIS_HEADER_BITMAP "${SM_INSTALLER_DIR}/header-sm5.bmp")
|
||||
set(CPACK_SM_NSIS_WELCOME_BITMAP "${SM_INSTALLER_DIR}/welcome-sm5.bmp")
|
||||
set(CPACK_SM_NSIS_GIT_VERSION "${SM_VERSION_GIT}")
|
||||
set(CPACK_NSIS_MUI_FINISHPAGE_RUN "${SM_EXE_NAME}.exe")
|
||||
set(CPACK_NSIS_BRANDING_TEXT " ")
|
||||
|
||||
# The header and welcome bitmaps require backslashes.
|
||||
string(REGEX
|
||||
REPLACE "/"
|
||||
"\\\\\\\\"
|
||||
CPACK_SM_NSIS_HEADER_BITMAP
|
||||
"${CPACK_SM_NSIS_HEADER_BITMAP}")
|
||||
CPACK_NSIS_MUI_HEADERIMAGE
|
||||
"${CPACK_NSIS_MUI_HEADERIMAGE}")
|
||||
string(REGEX
|
||||
REPLACE "/"
|
||||
"\\\\\\\\"
|
||||
CPACK_SM_NSIS_WELCOME_BITMAP
|
||||
"${CPACK_SM_NSIS_WELCOME_BITMAP}")
|
||||
CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
|
||||
"${CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP}")
|
||||
|
||||
# Custom items for nsis go here.
|
||||
set(CPACK_SM_NSIS_PRODUCT_ID "ITGmania")
|
||||
set(CPACK_SM_NSIS_PRODUCT_VERSION "${SM_VERSION_TRADITIONAL}.0")
|
||||
set(CPACK_SM_NSIS_GIT_VERSION "${SM_VERSION_GIT}")
|
||||
elseif(MACOSX)
|
||||
set(CPACK_GENERATOR DragNDrop)
|
||||
set(CPACK_DMG_VOLUME_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
!define VERSION "@CPACK_PACKAGE_VERSION@"
|
||||
!define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
|
||||
!define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
|
||||
!define NSIS_SOURCE_PATH "@CPACK_SM_NSIS_ROOT_DIR@"
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
@@ -35,23 +34,15 @@
|
||||
Name "@CPACK_NSIS_PACKAGE_NAME@"
|
||||
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
|
||||
|
||||
;Captions for the process.
|
||||
Caption "@CPACK_NSIS_PACKAGE_NAME@ | install"
|
||||
UninstallCaption "@CPACK_NSIS_PACKAGE_NAME@ | uninstall"
|
||||
|
||||
;Set compression
|
||||
SetCompressor @CPACK_NSIS_COMPRESSOR@
|
||||
|
||||
;Allow for optimized blocks. This can be off.
|
||||
SetDatablockOptimize on
|
||||
|
||||
;Utilize a checksum for safety.
|
||||
CRCCheck on
|
||||
|
||||
;Require administrator access
|
||||
RequestExecutionLevel admin
|
||||
|
||||
@CPACK_NSIS_DEFINES@
|
||||
@CPACK_NSIS_MANIFEST_DPI_AWARE_CODE@
|
||||
@CPACK_NSIS_BRANDING_TEXT_CODE@
|
||||
|
||||
; Some additional version information.
|
||||
VIProductVersion "@CPACK_SM_NSIS_PRODUCT_VERSION@"
|
||||
@@ -59,20 +50,6 @@
|
||||
VIAddVersionKey "FileVersion" "@CPACK_SM_NSIS_GIT_VERSION@"
|
||||
VIAddVersionKey "FileDescription" "@CPACK_SM_NSIS_PRODUCT_ID@ Installer"
|
||||
|
||||
; Have the window close automatically at the end.
|
||||
AutoCloseWindow true
|
||||
|
||||
; Allow for restoring files to their original date.
|
||||
SetDateSave on
|
||||
|
||||
; Attempt to register an entry in the registry.
|
||||
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\@CPACK_SM_NSIS_PRODUCT_ID@" ""
|
||||
|
||||
DirText "@CPACK_NSIS_PACKAGE_NAME@"
|
||||
|
||||
; Allow for smooth progress bars.
|
||||
InstProgressFlags smooth
|
||||
|
||||
!include Sections.nsh
|
||||
|
||||
;--- Component support macros: ---
|
||||
@@ -186,18 +163,8 @@ Var AR_RegFlags
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_HEADERIMAGE
|
||||
; The following two MUST use backslashes on Windows for some gosh-awful reason.
|
||||
!define MUI_HEADERIMAGE_BITMAP "@CPACK_SM_NSIS_HEADER_BITMAP@"
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "@CPACK_SM_NSIS_WELCOME_BITMAP@"
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
;--------------------------------
|
||||
; path functions
|
||||
|
||||
!verbose 3
|
||||
!include "WinMessages.NSH"
|
||||
!verbose 4
|
||||
|
||||
;----------------------------------------
|
||||
; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
|
||||
;----------------------------------------
|
||||
@@ -564,26 +531,21 @@ Function DownloadFile
|
||||
FunctionEnd
|
||||
!endif
|
||||
|
||||
;--------------------------------
|
||||
; Installation types
|
||||
@CPACK_NSIS_INSTALLATION_TYPES@
|
||||
|
||||
;--------------------------------
|
||||
; Component sections
|
||||
@CPACK_NSIS_COMPONENT_SECTIONS@
|
||||
|
||||
;--------------------------------
|
||||
; Define some macro setting for the gui
|
||||
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
|
||||
@CPACK_NSIS_INSTALLER_ICON_CODE@
|
||||
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
|
||||
@CPACK_NSIS_INSTALLER_MUI_WELCOMEFINISH_CODE@
|
||||
@CPACK_NSIS_INSTALLER_MUI_UNWELCOMEFINISH_CODE@
|
||||
@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
@CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE@
|
||||
@CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE@
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
|
||||
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
|
||||
@CPACK_NSIS_LICENSE_PAGE@
|
||||
Page custom InstallOptionsPage
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
|
||||
@@ -591,15 +553,16 @@ FunctionEnd
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "@CPACK_SM_NSIS_PRODUCT_ID@"
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
||||
|
||||
@CPACK_NSIS_PAGE_COMPONENTS@
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
@CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE@
|
||||
@CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE@
|
||||
|
||||
; Modify the settings for MUI_PAGE_FINISH here.
|
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\Program\ITGmania.exe"
|
||||
!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_RUN_TEXT "Launch ITGmania"
|
||||
|
||||
@@ -612,21 +575,27 @@ FunctionEnd
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "Afrikaans"
|
||||
!insertmacro MUI_LANGUAGE "Albanian"
|
||||
!insertmacro MUI_LANGUAGE "Arabic"
|
||||
!insertmacro MUI_LANGUAGE "Asturian"
|
||||
!insertmacro MUI_LANGUAGE "Basque"
|
||||
!insertmacro MUI_LANGUAGE "Belarusian"
|
||||
!insertmacro MUI_LANGUAGE "Bosnian"
|
||||
!insertmacro MUI_LANGUAGE "Breton"
|
||||
!insertmacro MUI_LANGUAGE "Bulgarian"
|
||||
!insertmacro MUI_LANGUAGE "Catalan"
|
||||
!insertmacro MUI_LANGUAGE "Corsican"
|
||||
!insertmacro MUI_LANGUAGE "Croatian"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!insertmacro MUI_LANGUAGE "Danish"
|
||||
!insertmacro MUI_LANGUAGE "Dutch"
|
||||
!insertmacro MUI_LANGUAGE "Esperanto"
|
||||
!insertmacro MUI_LANGUAGE "Estonian"
|
||||
!insertmacro MUI_LANGUAGE "Farsi"
|
||||
!insertmacro MUI_LANGUAGE "Finnish"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "Galician"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "Greek"
|
||||
!insertmacro MUI_LANGUAGE "Hebrew"
|
||||
@@ -645,25 +614,31 @@ FunctionEnd
|
||||
!insertmacro MUI_LANGUAGE "Malay"
|
||||
!insertmacro MUI_LANGUAGE "Mongolian"
|
||||
!insertmacro MUI_LANGUAGE "Norwegian"
|
||||
!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
|
||||
!insertmacro MUI_LANGUAGE "Pashto"
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
!insertmacro MUI_LANGUAGE "Portuguese"
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
!insertmacro MUI_LANGUAGE "Romanian"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!insertmacro MUI_LANGUAGE "ScotsGaelic"
|
||||
!insertmacro MUI_LANGUAGE "Serbian"
|
||||
!insertmacro MUI_LANGUAGE "SerbianLatin"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
!insertmacro MUI_LANGUAGE "Slovak"
|
||||
!insertmacro MUI_LANGUAGE "Slovenian"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!insertmacro MUI_LANGUAGE "SpanishInternational"
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
!insertmacro MUI_LANGUAGE "Tatar"
|
||||
!insertmacro MUI_LANGUAGE "Thai"
|
||||
!insertmacro MUI_LANGUAGE "TradChinese"
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
!insertmacro MUI_LANGUAGE "Ukrainian"
|
||||
!insertmacro MUI_LANGUAGE "Uzbek"
|
||||
!insertmacro MUI_LANGUAGE "Vietnamese"
|
||||
!insertmacro MUI_LANGUAGE "Welsh"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
|
||||
@@ -674,6 +649,17 @@ FunctionEnd
|
||||
ReserveFile "NSIS.InstallOptions.ini"
|
||||
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
||||
|
||||
; for UserInfo::GetName and UserInfo::GetAccountType
|
||||
ReserveFile /plugin 'UserInfo.dll'
|
||||
|
||||
;--------------------------------
|
||||
; Installation types
|
||||
@CPACK_NSIS_INSTALLATION_TYPES@
|
||||
|
||||
;--------------------------------
|
||||
; Component sections
|
||||
@CPACK_NSIS_COMPONENT_SECTIONS@
|
||||
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
@@ -688,27 +674,18 @@ Section "-Core installation"
|
||||
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
WriteUninstaller "$INSTDIR\@CPACK_NSIS_UNINSTALL_NAME@.exe"
|
||||
Push "DisplayName"
|
||||
Push "@CPACK_NSIS_DISPLAY_NAME@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "DisplayVersion"
|
||||
Push "@CPACK_PACKAGE_VERSION@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "Comments"
|
||||
Push "ITGmania is a rhythm game simulator."
|
||||
Call ConditionalAddToRegisty
|
||||
Push "Publisher"
|
||||
Push "@CPACK_PACKAGE_VENDOR@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "URLInfoAbout"
|
||||
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "URLUpdateInfo"
|
||||
Push "@CPACK_SM_NSIS_REPOSITORY@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "UninstallString"
|
||||
Push "$INSTDIR\Uninstall.exe"
|
||||
Push "$\"$INSTDIR\@CPACK_NSIS_UNINSTALL_NAME@.exe$\""
|
||||
Call ConditionalAddToRegisty
|
||||
Push "NoRepair"
|
||||
Push "1"
|
||||
@@ -732,6 +709,9 @@ Section "-Core installation"
|
||||
Push "HelpLink"
|
||||
Push "@CPACK_NSIS_HELP_LINK@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "URLInfoAbout"
|
||||
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
|
||||
Call ConditionalAddToRegisty
|
||||
Push "Contact"
|
||||
Push "@CPACK_NSIS_CONTACT@"
|
||||
Call ConditionalAddToRegisty
|
||||
@@ -742,12 +722,6 @@ Section "-Core installation"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\Program\ITGmania.exe" "%1"'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip" "" "smzipfile"
|
||||
|
||||
; Associate SMURL protocol.
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania" "" "ITGmania protocol handler"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania" "URL Protocol" ""
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\DefaultIcon" "" "$INSTDIR\Program\ITGmania.exe"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\stepmania\shell\open\command" "" '"$INSTDIR\Program\ITGmania.exe" "%1"'
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
@@ -755,7 +729,7 @@ Section "-Core installation"
|
||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||
@CPACK_NSIS_CREATE_ICONS@
|
||||
@CPACK_NSIS_CREATE_ICONS_EXTRA@
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\@CPACK_NSIS_UNINSTALL_NAME@.exe"
|
||||
|
||||
;Read a value from an InstallOptions INI file
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
|
||||
@@ -894,7 +868,7 @@ Section "Uninstall"
|
||||
!endif
|
||||
|
||||
;Remove the uninstaller itself.
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
Delete "$INSTDIR\@CPACK_NSIS_UNINSTALL_NAME@.exe"
|
||||
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
||||
|
||||
;Remove the installation directory if it is empty.
|
||||
@@ -912,7 +886,7 @@ Section "Uninstall"
|
||||
@CPACK_NSIS_DELETE_ICONS@
|
||||
@CPACK_NSIS_DELETE_ICONS_EXTRA@
|
||||
|
||||
;Delete empty start menu parent diretories
|
||||
;Delete empty start menu parent directories
|
||||
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
startMenuDeleteLoop:
|
||||
@@ -931,7 +905,7 @@ Section "Uninstall"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
@CPACK_NSIS_DELETE_ICONS_EXTRA@
|
||||
|
||||
;Delete empty start menu parent diretories
|
||||
;Delete empty start menu parent directories
|
||||
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
secondStartMenuDeleteLoop:
|
||||
@@ -970,15 +944,17 @@ Function .onInit
|
||||
|
||||
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
|
||||
"@CPACK_NSIS_PACKAGE_NAME@ is already installed. $\n$\nDo you want to uninstall the old version before installing the new one?" \
|
||||
IDYES uninst IDNO inst
|
||||
/SD IDYES IDYES uninst IDNO inst
|
||||
Abort
|
||||
|
||||
;Run the uninstaller
|
||||
uninst:
|
||||
ClearErrors
|
||||
StrLen $2 "\Uninstall.exe"
|
||||
StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
|
||||
ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
|
||||
StrCpy $2 $0 1
|
||||
StrCmp '"' $2 0 +3 ; checks if string is quoted (CPack before v3.20.6 did not quote it)
|
||||
ExecWait '$0 /S'
|
||||
Goto +2
|
||||
ExecWait '"$0" /S'
|
||||
|
||||
IfErrors uninst_failed inst
|
||||
uninst_failed:
|
||||
|
||||
@@ -35,42 +35,5 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_MAJOR_VERSION STREQUAL "3")
|
||||
# Use the CMake 3 approach whenever possible.
|
||||
string(TIMESTAMP SM_TIMESTAMP_DATE "%Y%m%d")
|
||||
string(TIMESTAMP SM_TIMESTAMP_TIME "%H:%M:%S" UTC)
|
||||
else()
|
||||
if(MSVC)
|
||||
message(
|
||||
STATUS
|
||||
"Getting date and time information via PowerShell. This may take a few seconds."
|
||||
)
|
||||
execute_process(COMMAND powershell get-date -format "{yyyyMMdd}"
|
||||
OUTPUT_VARIABLE SM_TIMESTAMP_DATE
|
||||
RESULT_VARIABLE ret
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND powershell get-date -format "{HH:mm:ss zzz}"
|
||||
OUTPUT_VARIABLE SM_TIMESTAMP_TIME
|
||||
RESULT_VARIABLE ret
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
else()
|
||||
execute_process(COMMAND date "+%Y%m%d"
|
||||
OUTPUT_VARIABLE SM_TIMESTAMP_DATE
|
||||
RESULT_VARIABLE ret
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND date "+%H:%M:%S %z"
|
||||
OUTPUT_VARIABLE SM_TIMESTAMP_TIME
|
||||
RESULT_VARIABLE ret
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
|
||||
if(NOT (ret STREQUAL "0"))
|
||||
set(SM_TIMESTAMP_DATE "xxxxyyzz")
|
||||
endif()
|
||||
|
||||
if(NOT (ret STREQUAL "0"))
|
||||
set(SM_TIMESTAMP_TIME "xx:yy:zz ???")
|
||||
endif()
|
||||
endif()
|
||||
string(TIMESTAMP SM_TIMESTAMP_DATE "%Y%m%d")
|
||||
string(TIMESTAMP SM_TIMESTAMP_TIME "%H:%M:%S" UTC)
|
||||
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
@@ -22,10 +22,6 @@ usage: --Type=arcade
|
||||
Reads preferences from [Preferences-{Type}], usually from the metrics.
|
||||
--------------------------------------------------------------------------------
|
||||
[StepMania]
|
||||
* ExportNsisStrings
|
||||
usage: --ExportNsisStrings
|
||||
Exports strings for the installer.
|
||||
|
||||
* ExportLuaInformation
|
||||
usage: --ExportLuaInformation
|
||||
Exports Lua.xml using the current theme (and anything it falls back on)
|
||||
|
||||
@@ -44,7 +44,7 @@ PROJECT_BRIEF = "An advanced dance and rhythm game"
|
||||
# exceed 55 pixels and the maximum width should not exceed 200 pixels.
|
||||
# Doxygen will copy the logo to the output directory.
|
||||
|
||||
PROJECT_LOGO = ../icons/hicolor/48x48/apps/stepmania-ssc.png
|
||||
PROJECT_LOGO = ../Data/icon.png
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
|
||||
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,47 +0,0 @@
|
||||
[Settings]
|
||||
NumFields=5
|
||||
|
||||
[Field 1]
|
||||
Type=Button
|
||||
Flags=NOTIFY
|
||||
Text=&Install
|
||||
Left=160
|
||||
Right=-10
|
||||
Top=50
|
||||
Bottom=70
|
||||
|
||||
[Field 2]
|
||||
Type=Button
|
||||
Flags=NOTIFY
|
||||
Text=&Play
|
||||
Left=160
|
||||
Right=-10
|
||||
Top=30
|
||||
Bottom=50
|
||||
|
||||
[Field 3]
|
||||
Type=Button
|
||||
Flags=NOTIFY
|
||||
Text=&Re-Install
|
||||
Left=160
|
||||
Right=-10
|
||||
Top=60
|
||||
Bottom=80
|
||||
|
||||
[Field 4]
|
||||
Type=Link
|
||||
Text=http://www.urlhere.com
|
||||
State=http://www.urlhere.com
|
||||
Left=160
|
||||
Right=-10
|
||||
Top=130
|
||||
Bottom=140
|
||||
|
||||
[Field 5]
|
||||
Type=Bitmap
|
||||
Text=custom.bmp
|
||||
Flags=TRANSPARENT
|
||||
Left=0
|
||||
Right=150
|
||||
Top=0
|
||||
Bottom=120
|
||||
|
Before Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 466 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 151 KiB |
@@ -1,36 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Updates zu überprüfen
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (non-SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=${PRODUCT_ID} Programmordner öffnen
|
||||
TEXT_IO_MANUAL=${PRODUCT_ID} Dokumentation
|
||||
TEXT_IO_TOOLS=${PRODUCT_ID} Werkzeug
|
||||
TEXT_IO_WEB_SITE=${PRODUCT_ID} Webseite
|
||||
TEXT_IO_UNINSTALL=Deinstallation von ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=Statistiken anschauen
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Nur entfernen)
|
||||
TEXT_IO_SMZIP_PACKAGE=SMZIP Paket
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Spiel starten
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Installieren
|
||||
TEXT_IO_PLAY=Spielen
|
||||
TEXT_IO_REINSTALL=Noch mal installieren
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=Konnte $INSTDIR\Program\${PRODUCT_FAMILY}.exe nicht ausführen
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=Die letzte Version von ${PRODUCT_ID} muss deinstalliert werden, bevor Sie weiter machen.\nWollen Sie fortfahren?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=Die letzte Version von DirectX (8.1 oder höher) ist dringend zu empfehlen.\nWollen Sie die Webseite von Microsoft jetzt besuchen?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Deinstallation fehlgeschlagen. Trotzdem installieren?
|
||||
TEXT_IO_INSTALL_DIRECTX=Die letzte Version von DirectX (8.1 oder höher) ist dringend zu empfehlen.\nWollen Sie es jetzt installieren?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} scheint nicht installiert zu sein.\nWollen Sie fortfahren?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall.
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Check for Updates
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (non-SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=Open ${PRODUCT_ID} Program Folder
|
||||
TEXT_IO_OPEN_SETTINGS_FOLDER=Open ${PRODUCT_ID} Settings Folder
|
||||
TEXT_IO_MANUAL=${PRODUCT_ID} Manual
|
||||
TEXT_IO_TOOLS=${PRODUCT_ID} Tools
|
||||
TEXT_IO_WEB_SITE=${PRODUCT_ID} Web Site
|
||||
TEXT_IO_UNINSTALL=Uninstall ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=View Statistics
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (remove only)
|
||||
TEXT_IO_SMZIP_PACKAGE=SMZIP package
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK =Fatal error copying pck files.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Launch StepMania
|
||||
TEXT_IO_TEXTURE_FONT_GENERATOR=Texture Font Generator
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Install
|
||||
TEXT_IO_PLAY=Play
|
||||
TEXT_IO_REINSTALL=Reinstall
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=Could not execute $INSTDIR\Program\${PRODUCT_FAMILY}.exe
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=The previous version of ${PRODUCT_ID} must be uninstalled before continuing.\nDo you wish to continue?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=The latest version of DirectX (8.1 or higher) is strongly recommended.\nDo you wish to visit Microsoft's site now?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Uninstallation failed. Install anyway?
|
||||
TEXT_IO_INSTALL_DIRECTX=The latest version of DirectX (8.1 or higher) is required.\nDo you wish to install DirectX 8.1 now?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} does not appear to be installed.\nDo you wish to continue?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall.
|
||||
@@ -1,37 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Comprobar actualizaciones
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (no SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=Abrir la carpeta de programa de ${PRODUCT_ID}
|
||||
TEXT_IO_OPEN_SETTINGS_FOLDER=Abrir la carpeta de preferencias de ${PRODUCT_ID}
|
||||
TEXT_IO_MANUAL=Manual de ${PRODUCT_ID}
|
||||
TEXT_IO_TOOLS=Herramientas de ${PRODUCT_ID}
|
||||
TEXT_IO_WEB_SITE=Sitio web de ${PRODUCT_ID}
|
||||
TEXT_IO_UNINSTALL=Desinstalar ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=Ver estadísticas
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (sólo eliminar)
|
||||
TEXT_IO_SMZIP_PACKAGE=Paquete SMZIP
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK=Error fatal copiando archivos pck.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Error fatal durante la instalación.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Ejecutar StepMania
|
||||
TEXT_IO_TEXTURE_FONT_GENERATOR=Generador de fuentes en textura
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Instalar
|
||||
TEXT_IO_PLAY=Jugar
|
||||
TEXT_IO_REINSTALL=Reinstalar
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=No se pudo ejecutar $INSTDIR\Program\${PRODUCT_FAMILY}.exe
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=La versión anterior de ${PRODUCT_ID} debe ser desinstalada antes de continuar.\n¿Desea continuar?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=Se recomienda la última versión de DirectX (8.1 o superior).\n¿Desea visitar el sitio web de Microsoft ahora?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Falló la desinstalación. ¿Instalar de todas maneras?
|
||||
TEXT_IO_INSTALL_DIRECTX=Se requiere la última versión de DirectX (8.1 o superior).\n¿Desea instalar DirectX 8.1 ahora?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} no parece estar instalado.\n¿Desea continuar?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Error fatal durante la desinstalación.
|
||||
@@ -1,36 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Vérifier les mises à jour
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (non-SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=Ouvrir le dossier programme de ${PRODUCT_ID}
|
||||
TEXT_IO_MANUAL=Documentation de ${PRODUCT_ID}
|
||||
TEXT_IO_TOOLS=Outils de ${PRODUCT_ID}
|
||||
TEXT_IO_WEB_SITE=Le site web de ${PRODUCT_ID}
|
||||
TEXT_IO_UNINSTALL=Désinstaller ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=Voir les statistiques
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Supprimer uniquement)
|
||||
TEXT_IO_SMZIP_PACKAGE=SMZIP package
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Lancer le jeu
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Installer
|
||||
TEXT_IO_PLAY=Jouer
|
||||
TEXT_IO_REINSTALL=Réinstaller
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=N'a pas pu exécuter $INSTDIR\Program\${PRODUCT_FAMILY}.exe
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=La version précédente de ${PRODUCT_ID} doit être déinstallée pour pouvoir continuer. Voulez-vous continuer ?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=La dernière version de DirectX (8.1 ou supérieure) est hautement recommandée. Voulez-vous visiter le site de Microsoft maintenant ?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Echec de la déinstallation. Voulez-vous tout de même lancer l'installation ?
|
||||
TEXT_IO_INSTALL_DIRECTX=La dernière version de DirectX (8.1 ou supérieure) est hautement recommandée. Désirez-vous l'installer maintenant ?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} ne semble pas installé.\nVoulez-vous continuer?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall.
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Per cercare aggiornamenti
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (non-SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=Apri ${PRODUCT_ID} Cartella Programmi
|
||||
TEXT_IO_MANUAL=${PRODUCT_ID} Documentazione
|
||||
TEXT_IO_TOOLS=${PRODUCT_ID} Strumenti
|
||||
TEXT_IO_WEB_SITE=${PRODUCT_ID} Sito Web
|
||||
TEXT_IO_UNINSTALL=Disinstalla ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=Mostra Statistiche
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Elimina soltanto)
|
||||
TEXT_IO_SMZIP_PACKAGE=SMZIP pacchetto
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Lancia gioco
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Installa
|
||||
TEXT_IO_PLAY=Gioca
|
||||
TEXT_IO_REINSTALL=Re-installa
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=Impossibile eseguire $INSTDIR\Program\${PRODUCT_FAMILY}.exe
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=Prima di continuare va installata la versione precendente di ${PRODUCT_ID}. Vuoi continuare?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=Si consiglia vivamente di installare la versione più recente di DirectX (8.1 o superiore). Vuoi visitare il sito Microsoft adesso?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Disinstallazione non riuscita. Vuoi installare comunque?
|
||||
TEXT_IO_INSTALL_DIRECTX=Si consiglia vivamente di installare la versione più recente di DirectX (8.1 o superiore). Vuoi installarla adesso?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} non sembra installato.\nVuoi continuare?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall.
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=갱신확인
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (SSE2없이)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=${PRODUCT_ID}프로그람폴더를 여세요
|
||||
TEXT_IO_OPEN_SETTINGS_FOLDER=${PRODUCT_ID}설정폴더를 여세요
|
||||
TEXT_IO_MANUAL=${PRODUCT_ID}설명서
|
||||
TEXT_IO_TOOLS=${PRODUCT_ID}도구
|
||||
TEXT_IO_WEB_SITE=${PRODUCT_ID}웹사이트
|
||||
TEXT_IO_UNINSTALL=${PRODUCT_DISPLAY}지우기
|
||||
TEXT_IO_VIEW_STATISTICS=통계보기
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY}(지우기에만)
|
||||
TEXT_IO_SMZIP_PACKAGE=SMZIP(스텝마니아압축파일)꾸러미
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK=pck파일을 베끼는데 실패했습니다
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=깔아두기에 실패했습니다
|
||||
TEXT_IO_LAUNCH_THE_GAME=스텝마니아돌리기
|
||||
TEXT_IO_TEXTURE_FONT_GENERATOR=질감글꼴만들기
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=자막
|
||||
TEXT_IO_INSTALL=깔아두기
|
||||
TEXT_IO_PLAY=즐기기
|
||||
TEXT_IO_REINSTALL=다시깔아두기
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=$INSTDIR\Program\${PRODUCT_FAMILY}.exe 을 추출할수 없습니다.
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=${PRODUCT_ID}이전판은 이어서하기전에 지워져야합니다. \n계속하시겠습니까?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=다이렉트엑스최신판(8.1이상)이 권고됩니다. \n이제 마이크로소프트웹사이트를 들러뵈시겠습니까?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=지우기실패했습니다. 그래도 깔아두시겠습니까?
|
||||
TEXT_IO_INSTALL_DIRECTX=다이렉트엑스최신판(8.1이상)이 필요합니다. \n이제 다이렉트엑스8.1을 깔아두시겠습니까?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID}는 깔아두는데 나타나지않습니다.\n계속하시겠습니까?
|
||||
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=지우는데 오류가 났습니다.
|
||||
@@ -1,36 +0,0 @@
|
||||
[Installer Sections]
|
||||
TEXT_IO_CHECK_FOR_UPDATES=Sprawdź aktualizacje
|
||||
TEXT_IO_RUN=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_RUN_WITHOUT_SSE2=${PRODUCT_DISPLAY} (non-SSE2)
|
||||
TEXT_IO_OPEN_PROGRAM_FOLDER=Otwórz ${PRODUCT_ID} Folder Programu
|
||||
TEXT_IO_OPEN_SETTINGS_FOLDER=Otwórz ${PRODUCT_ID} Ustawienia Programu
|
||||
TEXT_IO_MANUAL=${PRODUCT_ID} Obsługa
|
||||
TEXT_IO_TOOLS=${PRODUCT_ID} Narzędzia
|
||||
TEXT_IO_WEB_SITE=${PRODUCT_ID} Strona WWW
|
||||
TEXT_IO_UNINSTALL=Usuń ${PRODUCT_DISPLAY}
|
||||
TEXT_IO_VIEW_STATISTICS=Pokaż Statystyki
|
||||
TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (tylko usuń)
|
||||
TEXT_IO_SMZIP_PACKAGE=Paczka SMZIP
|
||||
TEXT_IO_FATAL_ERROR_COPYING_PCK =Błąd krytyczny kopiowania pliku pck.
|
||||
TEXT_IO_FATAL_ERROR_INSTALL=Błąd krytyczny podczas instalacji.
|
||||
TEXT_IO_LAUNCH_THE_GAME=Uruchom StepMania
|
||||
TEXT_IO_TEXTURE_FONT_GENERATOR=Generator Tekstur Czcionek
|
||||
|
||||
[Installer Functions]
|
||||
TEXT_IO_TITLE=${PRODUCT_DISPLAY}
|
||||
TEXT_IO_SUBTITLE=
|
||||
TEXT_IO_INSTALL=Instaluj
|
||||
TEXT_IO_PLAY=Graj
|
||||
TEXT_IO_REINSTALL=Zainstaluj ponownie
|
||||
|
||||
[Leave Autorun]
|
||||
TEXT_IO_COULD_NOT_EXECUTE=Nie można uruchomić $INSTDIR\Program\${PRODUCT_FAMILY}.exe
|
||||
|
||||
[PreInstall]
|
||||
TEXT_IO_UNINSTALL_PREVIOUS=Wcześniejsza wersja ${PRODUCT_ID} musi zostać usunięta przed kontynuowaniem.\nCzy chcesz kontynuować?
|
||||
TEXT_IO_DIRECTX_VISIT_MICROSOFT=Zdecydowanie zaleca się najnowszą wersję DirectX (8.1 lub wyższej).\nCzy chcesz odwiedzić stronę Microsoftu teraz?
|
||||
TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Dezinstalacja nie powiodła się. Zainstalować mimo wszystko?
|
||||
TEXT_IO_INSTALL_DIRECTX=Wymagana jest najnowsza wersja DirectX (8.1 lub wyższej).\nCzy chcesz zainstalować teraz DirectX 8.1?
|
||||
TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} nie wydaje się być zainstalowany.\nCzy chcesz kontynuować?
|
||||
[Uninstall]
|
||||
TEXT_IO_FATAL_ERROR_UNINSTALL=Błąd krytyczny podczas odinstalowywania.
|
||||
@@ -1,6 +0,0 @@
|
||||
The _Installer theme is only used for generating an installer with NSIS
|
||||
(specifically, the strings used in the installer). Non-source code distributions
|
||||
(aka public releases) should not contain this folder.
|
||||
|
||||
kthx! :D
|
||||
-aj
|
||||
@@ -1,199 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $CWD = `pwd`;
|
||||
chomp $CWD;
|
||||
my $ZIP = "zip";
|
||||
if ( -x "$CWD/zip.exe" ) { $ZIP = "$CWD/zip.exe"; }
|
||||
|
||||
if( $#ARGV < 1 )
|
||||
{
|
||||
print "Usage: create-zips.pl <game directory> <zip directory>\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $in = $ARGV[0];
|
||||
my $out = $ARGV[1];
|
||||
|
||||
if( ! -d $in )
|
||||
{
|
||||
print "$in isn't a directory\n";
|
||||
exit 1;
|
||||
}
|
||||
if( ! -d $out )
|
||||
{
|
||||
print "$out isn't a directory\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Resolve $out to an absolute path.
|
||||
my $pwd = `pwd`;
|
||||
chomp $pwd;
|
||||
chdir $out || die "chdir($out): $!";
|
||||
$out = `pwd`;
|
||||
chomp $out;
|
||||
chdir $pwd || die "chdir($pwd): $!";
|
||||
|
||||
print "$in -> $out\n";
|
||||
|
||||
sub ZipFiles($$@);
|
||||
sub ZipFiles($$@)
|
||||
{
|
||||
my $dir = shift;
|
||||
my $file = shift;
|
||||
my @files = @{(shift)};
|
||||
|
||||
$dir = $in . "/" . $dir;
|
||||
chdir $dir || die "chdir($dir): $!";
|
||||
|
||||
my @list;
|
||||
|
||||
foreach my $x ( @files )
|
||||
{
|
||||
print "$x\n";
|
||||
# No CVS directories, no dotfiles, files only.
|
||||
my $output = `find "$x" -path '*/CVS' -prune -o -path '*/.*' -prune -o -path '*/*.psd' -prune -o '(' -type f -a -name '*' ')' -print`;
|
||||
if( $? == -1 ) { die "Find failed: $!\n"; }
|
||||
if( $? & 127 ) { die "Find failed with signal %d\n", ($? & 127); }
|
||||
if( $? >> 8 != 0 ) { exit 1; }
|
||||
|
||||
push @list, split(/\n/, $output);
|
||||
}
|
||||
|
||||
# ZIP the files.
|
||||
{
|
||||
my @lst;
|
||||
my %lst_hash;
|
||||
for( my $f = 0; $f <= $#list; ++$f )
|
||||
{
|
||||
push @lst, $list[$f];
|
||||
$lst_hash{$list[$f]} = 1;
|
||||
}
|
||||
|
||||
# @lst contains the files for zip number $zipno.
|
||||
|
||||
my $filename = $out . "/$file.smzip";
|
||||
# If the ZIP already exists, get a list of files in it. Delete any files
|
||||
# that shouldn't be there.
|
||||
if( -e $filename )
|
||||
{
|
||||
my @files = split(/\n/, `unzip -l "$filename"`);
|
||||
shift @files; # "Archive: ..."
|
||||
shift @files; # " Length Date Time Name"
|
||||
shift @files; # "-------- ---- ---- ----"
|
||||
pop @files; # "-------- ---- ---- -------"
|
||||
pop @files; # " 2501 2 files"
|
||||
|
||||
foreach my $fn ( @files )
|
||||
{
|
||||
# " 1081 02-11-04 19:27 foo" -> "foo"
|
||||
$fn = substr( $fn, 28 );
|
||||
}
|
||||
|
||||
# Loop over files in the ZIP, and find any files not in %lst_hash.
|
||||
my @unneeded;
|
||||
for( my $n = 0; $n <= $#files; ++$n )
|
||||
{
|
||||
my $file = $files[$n];
|
||||
# Skip directories.
|
||||
if( $file =~ /.*\/$/ ) { next; }
|
||||
if( defined( $lst_hash{$file} ) ) { next; }
|
||||
push @unneeded, $files[$n];
|
||||
}
|
||||
|
||||
if( $#unneeded != -1 )
|
||||
{
|
||||
print "$filename has " . ($#unneeded+1) . " extra files; removing ...\n";
|
||||
|
||||
open TMP, ">/tmp/zip.lst" || die "$!";
|
||||
foreach my $fn ( @unneeded ) { print TMP "$fn\n"; }
|
||||
close TMP;
|
||||
|
||||
system "$ZIP -b $out $filename -d -@ < /tmp/zip.lst";
|
||||
if ($? == -1) { die "Zip failed: $!\n"; }
|
||||
if ($? & 127) { die "Zip failed with signal %d\n", ($? & 127); }
|
||||
if( $? >> 8 != 0 ) { die "Zip failed\n"; }
|
||||
}
|
||||
}
|
||||
|
||||
if( -e $filename ) { print "Updating $filename ...\n"; }
|
||||
else { print "Creating $filename ...\n"; }
|
||||
|
||||
# -q: quiet
|
||||
# -u: update only (only if it already exists)
|
||||
# -y: store links
|
||||
# -n: don't compress
|
||||
|
||||
my $options = "-q -y -n .ogg:.mp3:.png:.jpg:.mpg:.avi";
|
||||
if( -e $filename ) { $options .= " -u"; }
|
||||
open TMP, ">/tmp/zip.lst" || die "$!";
|
||||
foreach my $fn ( @lst ) { print TMP "$fn\n"; }
|
||||
close TMP;
|
||||
|
||||
system "$ZIP $options -b $out $filename -@ < /tmp/zip.lst" || die "Zip failed";
|
||||
|
||||
if ($? == -1) { die "Zip failed: $!\n"; }
|
||||
if ($? & 127) { die "Zip failed with signal %d\n", ($? & 127); }
|
||||
my $ret = ($? >> 8);
|
||||
if( $ret != 0 && $ret != 12 ) { die "Zip failed\n"; }
|
||||
}
|
||||
|
||||
chdir $CWD || die "chdir($CWD): $!";
|
||||
}
|
||||
|
||||
my @files = (
|
||||
"BackgroundEffects",
|
||||
"BackgroundTransitions",
|
||||
"BGAnimations",
|
||||
"Characters/default",
|
||||
"Courses/Default",
|
||||
"Data",
|
||||
"NoteSkins/beat/default",
|
||||
"NoteSkins/common/common",
|
||||
"NoteSkins/common/_Editor",
|
||||
# dance noteskins
|
||||
"NoteSkins/dance/default",
|
||||
"NoteSkins/dance/Delta",
|
||||
## midi series
|
||||
"NoteSkins/dance/midi-note",
|
||||
"NoteSkins/dance/midi-note-3d",
|
||||
"NoteSkins/dance/midi-solo",
|
||||
"NoteSkins/dance/midi-vivid",
|
||||
"NoteSkins/dance/midi-vivid-3d",
|
||||
"NoteSkins/dance/midi-routine-p1",
|
||||
"NoteSkins/dance/midi-routine-p2",
|
||||
## retro/retrobar
|
||||
"NoteSkins/dance/retro",
|
||||
"NoteSkins/dance/retrobar",
|
||||
"NoteSkins/dance/retrobar-splithand_whiteblue",
|
||||
# pump noteskins
|
||||
"NoteSkins/pump/cmd",
|
||||
"NoteSkins/pump/cmd-routine-p1",
|
||||
"NoteSkins/pump/cmd-routine-p2",
|
||||
"NoteSkins/pump/complex",
|
||||
"NoteSkins/pump/default",
|
||||
"NoteSkins/pump/delta",
|
||||
"NoteSkins/pump/delta-note",
|
||||
"NoteSkins/pump/delta-routine-p1",
|
||||
"NoteSkins/pump/delta-routine-p2",
|
||||
"NoteSkins/pump/frame5p",
|
||||
"NoteSkins/pump/newextra",
|
||||
"NoteSkins/pump/pad",
|
||||
"NoteSkins/pump/rhythm",
|
||||
"NoteSkins/pump/simple",
|
||||
# kb7 noteskins
|
||||
"NoteSkins/kb7/default",
|
||||
"NoteSkins/kb7/orbital",
|
||||
"NoteSkins/kb7/retrobar",
|
||||
"NoteSkins/kb7/retrobar-iidx",
|
||||
"NoteSkins/kb7/retrobar-o2jam",
|
||||
"NoteSkins/kb7/retrobar-razor",
|
||||
"NoteSkins/kb7/retrobar-razor_o2",
|
||||
# themes
|
||||
"Themes/_fallback",
|
||||
"Themes/default",
|
||||
"Scripts"
|
||||
);
|
||||
|
||||
ZipFiles( ".", "GameData", \@files );
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MAC= WIN=
|
||||
|
||||
# Parse options
|
||||
while :; do
|
||||
case "$1" in
|
||||
-m) MAC=1; shift;;
|
||||
-w) WIN=1; shift;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Usage message
|
||||
if [ -z "$1" ]; then
|
||||
echo "\
|
||||
Usage: $0 [-m] [-w] REV
|
||||
|
||||
Generates a source tarball at \`dist/stepmania-TAG.tar.bz2'.
|
||||
-m Include Mac-specific build components
|
||||
-w Include Windows-specific build components\
|
||||
REV can be a Mercurial revision or tag
|
||||
" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get confirmation
|
||||
echo "WARNING! This will do a clean update of the current repository." 1>&2
|
||||
echo "If you have any uncommitted changes or extra files in this repository," 1>&2
|
||||
echo "they will be LOST!" 1>&2
|
||||
echo
|
||||
read -sn1 -p "Do you want to continue [y/N]? " ISOK
|
||||
if [ "$ISOK" != y -a "$ISOK" != Y ]; then
|
||||
echo n
|
||||
exit 1
|
||||
fi
|
||||
echo y
|
||||
|
||||
# Clean the source tree
|
||||
hg update -C "$1"
|
||||
hg clean --all
|
||||
|
||||
# This replaces autogen.sh. Run now so our users don't need to have autoconf
|
||||
# and friends installed.
|
||||
#
|
||||
# Note: the -f flag is here so any symlinks in autoconf/ get replaced with real
|
||||
# files.
|
||||
autoreconf -if
|
||||
|
||||
# Tarball will be placed here
|
||||
mkdir dist
|
||||
|
||||
# List excludes for tar's -X flag
|
||||
{
|
||||
echo './dist'
|
||||
echo '*/.hg*'
|
||||
echo './_assets'
|
||||
echo './Utils/Font generation'
|
||||
# OSX
|
||||
if [ -z "$MAC" ]; then
|
||||
echo './Xcode'
|
||||
fi
|
||||
# Windows/misc
|
||||
if [ -z "$WIN" ]; then
|
||||
echo './Program'
|
||||
echo './Installer'
|
||||
echo './sm-ssc.nsi'
|
||||
echo './Utils/doxygen'
|
||||
echo './Utils/Graphviz'
|
||||
echo './Utils/NSIS'
|
||||
echo './src/BaseClasses'
|
||||
echo './src/Texture Font Generator'
|
||||
echo './src/smpackage*'
|
||||
echo '*.[ao]'
|
||||
echo '*.lib'
|
||||
echo '*.dll'
|
||||
echo '*.exe'
|
||||
echo '*.bat'
|
||||
fi
|
||||
} | tar cvjf "dist/stepmania-$1-src.tar.bz2" -X- . --transform "s,^\.,stepmania-$1,"
|
||||
@@ -12,7 +12,7 @@
|
||||
<string>smzip</string>
|
||||
</array>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>smicon.icns</string>
|
||||
<string>logo.icns</string>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/zip</string>
|
||||
@@ -32,7 +32,7 @@
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>${SM_EXE_NAME} ${SM_VERSION_TRADITIONAL}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>smicon.icns</string>
|
||||
<string>logo.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.${SM_EXE_NAME}-${SM_VERSION_MAJOR}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
BOOL NeedsPrivs( NSString *path );
|
||||
NSString *CopyWithPrivs( NSString *src, NSString *dest );
|
||||
NSString *Copy( NSString *src, NSString *dest );
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,163 +0,0 @@
|
||||
#import "CopyFiles.h"
|
||||
#include <Security/Authorization.h>
|
||||
#include <Security/AuthorizationTags.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/stat.h>
|
||||
#include <dirent.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static NSString *COPY_FAILED;
|
||||
static NSString *EXECUTE_FAILED;
|
||||
static NSString *AUTH_FAILED;
|
||||
|
||||
static void LoadStrings()
|
||||
{
|
||||
static bool bLoaded = false;
|
||||
if( bLoaded )
|
||||
return;
|
||||
COPY_FAILED = NSLocalizedString( @"Copy failed.", nil );
|
||||
EXECUTE_FAILED = NSLocalizedString( @"Execute failed.", nil );
|
||||
AUTH_FAILED = NSLocalizedString( @"Authentication failed. File not patched.", nil );
|
||||
bLoaded = true;
|
||||
}
|
||||
|
||||
static BOOL CheckDir( const char *path )
|
||||
{
|
||||
DIR *dir = opendir( path );
|
||||
int fd = dirfd( dir );
|
||||
struct dirent entry, *ep;
|
||||
int err;
|
||||
|
||||
fchdir( fd );
|
||||
for( err = readdir_r(dir, &entry, &ep); ep && !err; err = readdir_r(dir, &entry, &ep) )
|
||||
{
|
||||
if( !strcmp(".", entry.d_name) || !strcmp("..", entry.d_name) )
|
||||
continue;
|
||||
if( access(entry.d_name, W_OK|R_OK) )
|
||||
{
|
||||
closedir( dir );
|
||||
return YES;
|
||||
}
|
||||
if( entry.d_type == DT_DIR )
|
||||
{
|
||||
if( CheckDir(entry.d_name) )
|
||||
{
|
||||
closedir( dir );
|
||||
return YES;
|
||||
}
|
||||
fchdir( fd );
|
||||
}
|
||||
}
|
||||
closedir( dir );
|
||||
return err;
|
||||
}
|
||||
|
||||
BOOL NeedsPrivs( NSString *path )
|
||||
{
|
||||
const char *p = [path UTF8String];
|
||||
struct stat sb;
|
||||
|
||||
if( stat(p, &sb) )
|
||||
return YES;
|
||||
if( access(p, W_OK|R_OK) ) // I don't care to parse stat output.
|
||||
return YES;
|
||||
if( (sb.st_mode & S_IFDIR) && CheckDir(p) )
|
||||
return YES;
|
||||
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSString *CopyWithPrivs( NSString *src, NSString *dest )
|
||||
{
|
||||
LoadStrings();
|
||||
OSStatus error;
|
||||
static AuthorizationRef authRef;
|
||||
static BOOL bCreated = false;
|
||||
|
||||
if( !bCreated )
|
||||
{
|
||||
AuthorizationFlags flags = kAuthorizationFlagDefaults;
|
||||
AuthorizationItem item = { kAuthorizationRightExecute, 0, NULL, 0 };
|
||||
AuthorizationRights rights = { 1, &item };
|
||||
|
||||
error = AuthorizationCreate( NULL, kAuthorizationEmptyEnvironment, flags, &authRef );
|
||||
|
||||
if (error != errAuthorizationSuccess)
|
||||
return @"Failed to create authorization.";
|
||||
|
||||
|
||||
flags = kAuthorizationFlagDefaults |
|
||||
kAuthorizationFlagInteractionAllowed |
|
||||
kAuthorizationFlagPreAuthorize |
|
||||
kAuthorizationFlagExtendRights;
|
||||
|
||||
error = AuthorizationCopyRights( authRef, &rights, NULL, flags, NULL );
|
||||
|
||||
if (error != errAuthorizationSuccess)
|
||||
return AUTH_FAILED;
|
||||
bCreated = YES;
|
||||
}
|
||||
|
||||
|
||||
// Don't pass path as the first argument. AuthorizationExecuteWithPrivileges must do it.
|
||||
char path[] = "/bin/cp";
|
||||
const char *argv[] = { "-Rf", [src UTF8String], [dest UTF8String], NULL };
|
||||
NSString *result = nil;
|
||||
|
||||
error = AuthorizationExecuteWithPrivileges( authRef, path, kAuthorizationFlagDefaults, (char **)argv, NULL );
|
||||
|
||||
if (error == errAuthorizationSuccess)
|
||||
{
|
||||
int status = 0;
|
||||
pid_t pid = wait( &status );
|
||||
|
||||
if( pid == -1 )
|
||||
result = [NSString stringWithUTF8String:strerror(errno)];
|
||||
else if( !WIFEXITED(status) || WEXITSTATUS(status) )
|
||||
result = COPY_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = EXECUTE_FAILED;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
NSString *Copy( NSString *src, NSString *dest )
|
||||
{
|
||||
LoadStrings();
|
||||
// Again, don't pass the path.
|
||||
NSArray *argv = [NSArray arrayWithObjects:@"-Rf", src, dest, nil];
|
||||
NSTask *task = [NSTask launchedTaskWithLaunchPath:@"/bin/cp" arguments:argv];
|
||||
|
||||
[task waitUntilExit];
|
||||
return [task terminationStatus] ? COPY_FAILED : nil;
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,11 +0,0 @@
|
||||
# The format of this file is:
|
||||
# Application name
|
||||
# Bundle ID
|
||||
# version1
|
||||
# version2
|
||||
# ...
|
||||
# The version key -ALL- or no version keys matches all versions.
|
||||
|
||||
StepMania
|
||||
com.StepMania
|
||||
-ALL-
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>smicon</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.StepMania.Patcher</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>ITGp</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,337 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
AA2BF5C30A4F6E1B00A21643 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = AA2BF5C10A4F6E1B00A21643 /* Localizable.strings */; };
|
||||
AAD7D8740A36C53E0073BAC6 /* Identification.txt in Resources */ = {isa = PBXBuildFile; fileRef = AAD7D8730A36C53E0073BAC6 /* Identification.txt */; };
|
||||
AAD7D8BF0A36CC020073BAC6 /* smicon.icns in Resources */ = {isa = PBXBuildFile; fileRef = AAD7D8BE0A36CC020073BAC6 /* smicon.icns */; };
|
||||
AAF586BC0A27D9300046D33E /* CopyFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = AAF586BB0A27D9300046D33E /* CopyFiles.m */; };
|
||||
AAF586BF0A27D9410046D33E /* Upgrader.m in Sources */ = {isa = PBXBuildFile; fileRef = AAF586BE0A27D9410046D33E /* Upgrader.m */; };
|
||||
AAF586CC0A27DA7F0046D33E /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = AAF586CA0A27DA7F0046D33E /* MainMenu.nib */; };
|
||||
AAF586CF0A27DA900046D33E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = AAF586CD0A27DA900046D33E /* InfoPlist.strings */; };
|
||||
AAF587560A2826240046D33E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAF587550A2826240046D33E /* Security.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
32CA4F630368D1EE00C91783 /* Patcher_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Patcher_Prefix.pch; sourceTree = "<group>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D1107320486CEB800E47090 /* Patcher.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Patcher.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AA2BF5C20A4F6E1B00A21643 /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
AAD7D8730A36C53E0073BAC6 /* Identification.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Identification.txt; sourceTree = "<group>"; };
|
||||
AAD7D8BE0A36CC020073BAC6 /* smicon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = smicon.icns; path = ../smicon.icns; sourceTree = SOURCE_ROOT; };
|
||||
AAF586BA0A27D9300046D33E /* CopyFiles.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; path = CopyFiles.h; sourceTree = "<group>"; };
|
||||
AAF586BB0A27D9300046D33E /* CopyFiles.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = CopyFiles.m; sourceTree = "<group>"; };
|
||||
AAF586BD0A27D9410046D33E /* Upgrader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Upgrader.h; sourceTree = "<group>"; };
|
||||
AAF586BE0A27D9410046D33E /* Upgrader.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = Upgrader.m; sourceTree = "<group>"; };
|
||||
AAF586CB0A27DA7F0046D33E /* en */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = en; path = en.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
AAF586CE0A27DA900046D33E /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
AAF587550A2826240046D33E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||
AAF587560A2826240046D33E /* Security.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AAF586BD0A27D9410046D33E /* Upgrader.h */,
|
||||
AAF586BE0A27D9410046D33E /* Upgrader.m */,
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107320486CEB800E47090 /* Patcher.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* Patcher */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
name = Patcher;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AAF586BA0A27D9300046D33E /* CopyFiles.h */,
|
||||
AAF586BB0A27D9300046D33E /* CopyFiles.m */,
|
||||
32CA4F630368D1EE00C91783 /* Patcher_Prefix.pch */,
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AA2BF5C10A4F6E1B00A21643 /* Localizable.strings */,
|
||||
AAD7D8BE0A36CC020073BAC6 /* smicon.icns */,
|
||||
AAD7D8730A36C53E0073BAC6 /* Identification.txt */,
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
AAF586CD0A27DA900046D33E /* InfoPlist.strings */,
|
||||
AAF586CA0A27DA7F0046D33E /* MainMenu.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AAF587550A2826240046D33E /* Security.framework */,
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D1107260486CEB800E47090 /* Patcher */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Patcher" */;
|
||||
buildPhases = (
|
||||
8D1107290486CEB800E47090 /* Resources */,
|
||||
8D11072C0486CEB800E47090 /* Sources */,
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Patcher;
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = Patcher;
|
||||
productReference = 8D1107320486CEB800E47090 /* Patcher.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Patcher" */;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* Patcher */;
|
||||
projectDirPath = "";
|
||||
targets = (
|
||||
8D1107260486CEB800E47090 /* Patcher */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D1107290486CEB800E47090 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AAF586CC0A27DA7F0046D33E /* MainMenu.nib in Resources */,
|
||||
AAF586CF0A27DA900046D33E /* InfoPlist.strings in Resources */,
|
||||
AAD7D8740A36C53E0073BAC6 /* Identification.txt in Resources */,
|
||||
AAD7D8BF0A36CC020073BAC6 /* smicon.icns in Resources */,
|
||||
AA2BF5C30A4F6E1B00A21643 /* Localizable.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||
AAF586BC0A27D9300046D33E /* CopyFiles.m in Sources */,
|
||||
AAF586BF0A27D9410046D33E /* Upgrader.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
AA2BF5C10A4F6E1B00A21643 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
AA2BF5C20A4F6E1B00A21643 /* en */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
AAF586CA0A27DA7F0046D33E /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
AAF586CB0A27DA7F0046D33E /* en */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AAF586CD0A27DA900046D33E /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
AAF586CE0A27DA900046D33E /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4B08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_CPP_EXCEPTIONS = NO;
|
||||
GCC_ENABLE_CPP_RTTI = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||
GCC_MODEL_TUNING = G4;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = Patcher;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_CPP_EXCEPTIONS = NO;
|
||||
GCC_ENABLE_CPP_RTTI = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G4;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = Patcher;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/..";
|
||||
GCC_VERSION = 3.3;
|
||||
GCC_VERSION_i386 = 4.0;
|
||||
GCC_VERSION_ppc = 3.3;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
|
||||
MACOSX_DEPLOYMENT_TARGET_ppc = 10.2;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk;
|
||||
SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||
SDKROOT_ppc = /Developer/SDKs/MacOSX10.2.8.sdk;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/..";
|
||||
GCC_VERSION = 3.3;
|
||||
GCC_VERSION_i386 = 4.0;
|
||||
GCC_VERSION_ppc = 3.3;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
|
||||
MACOSX_DEPLOYMENT_TARGET_ppc = 10.2;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk;
|
||||
SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||
SDKROOT_ppc = /Developer/SDKs/MacOSX10.2.8.sdk;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Patcher" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4B08A954540054247B /* Debug */,
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Patcher" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4F08A954540054247B /* Debug */,
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,56 +0,0 @@
|
||||
/* Upgrader */
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface Upgrader : NSObject
|
||||
{
|
||||
IBOutlet NSButton *m_Choose;
|
||||
IBOutlet NSButton *m_Okay;
|
||||
IBOutlet NSPanel *m_Panel;
|
||||
IBOutlet NSProgressIndicator *m_ProgressBar;
|
||||
IBOutlet NSProgressIndicator *m_Searching;
|
||||
IBOutlet NSTextField *m_StatusText;
|
||||
IBOutlet NSTextField *m_SelectionText;
|
||||
IBOutlet NSTextField *m_PatchingText;
|
||||
IBOutlet NSWindow *m_Window;
|
||||
NSString *m_sAppID;
|
||||
NSArray *m_vVersions;
|
||||
NSString *m_sName;
|
||||
NSString *m_sError;
|
||||
NSString *m_sPath;
|
||||
}
|
||||
- (IBAction) chooseFile:(id)sender;
|
||||
- (IBAction) upgrade:(id)sender;
|
||||
- (void) findApp:(id)obj;
|
||||
- (void) foundApp:(id)obj;
|
||||
- (void) upgradeFile:(id)path;
|
||||
- (void) sheetEnded:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
|
||||
- (BOOL) panel:(id)sender isValidFilename:(NSString *)filename;
|
||||
- (BOOL) panel:(id)sender shouldShowFilename:(NSString *)filename;
|
||||
- (BOOL) checkPath:(NSString *)path;
|
||||
@end
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,364 +0,0 @@
|
||||
#import "Upgrader.h"
|
||||
#import "CopyFiles.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
@implementation Upgrader
|
||||
|
||||
// Generate English strings using: genstring -o en.lproj Upgrader.m
|
||||
|
||||
static NSString *CHOOSE_FILE;
|
||||
static NSString *PATCH_FILE;
|
||||
static NSString *PATCH_COMPLETE;
|
||||
static NSString *QUIT;
|
||||
static NSString *ERROR;
|
||||
static NSString *ERROR_MESSAGE;
|
||||
static NSString *PATCH_FILES_MISSING;
|
||||
static NSString *PATCHER_CORRUPTED;
|
||||
static NSString *CORRUPT_TITLE;
|
||||
static NSString *PATCHING;
|
||||
static NSString *SEARCHING;
|
||||
static NSString *SELECTION;
|
||||
static NSString *WINDOW_TITLE;
|
||||
|
||||
static NSOpenPanel *panel = nil;
|
||||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"Identification" ofType:@"txt"];
|
||||
NSData *data = [NSData dataWithContentsOfFile:path];
|
||||
NSString *stringData = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
|
||||
|
||||
CHOOSE_FILE = NSLocalizedString( @"Choose file to patch.", nil );
|
||||
PATCH_FILE = NSLocalizedString( @"Patch file.", nil );
|
||||
PATCH_COMPLETE = NSLocalizedString( @"Patch complete.", nil );
|
||||
QUIT = NSLocalizedString( @"Quit", nil );
|
||||
ERROR = NSLocalizedString( @"Error", nil );
|
||||
ERROR_MESSAGE = NSLocalizedString( @"Patching failed:\n%@", nil );
|
||||
PATCH_FILES_MISSING = NSLocalizedString( @"Patch files missing.", nil );
|
||||
PATCHER_CORRUPTED = NSLocalizedString( @"This patcher has become corrupted.", nil );
|
||||
CORRUPT_TITLE = NSLocalizedString( @"Corrupt Patcher", nil );
|
||||
PATCHING = NSLocalizedString( @"Patching", nil );
|
||||
SEARCHING = NSLocalizedString( @"Searching for %@...", nil );
|
||||
SELECTION = NSLocalizedString( @"You have chosen to patch \"%@\" in the folder:\n%@", nil );
|
||||
WINDOW_TITLE = NSLocalizedString( @"StepMania Patcher", nil );
|
||||
|
||||
if( !data )
|
||||
{
|
||||
NSRunCriticalAlertPanel( CORRUPT_TITLE, PATCHER_CORRUPTED, @"OK", nil, nil );
|
||||
[NSApp terminate:self];
|
||||
}
|
||||
|
||||
m_sName = nil;
|
||||
m_sAppID = nil;
|
||||
m_vVersions = nil;
|
||||
|
||||
NSArray *lines = [stringData componentsSeparatedByString:@"\n"];
|
||||
NSEnumerator *iter = [lines objectEnumerator];
|
||||
NSString *line;
|
||||
NSMutableArray *versions = [NSMutableArray array];
|
||||
|
||||
while( (line = [iter nextObject]) )
|
||||
{
|
||||
line = [line stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||
if( [line length] == 0 || [line characterAtIndex:0] == '#' )
|
||||
continue;
|
||||
if( m_sName == nil )
|
||||
{
|
||||
m_sName = [line retain];
|
||||
}
|
||||
else if( m_sAppID == nil )
|
||||
{
|
||||
m_sAppID = [line retain];
|
||||
}
|
||||
else if( [line isEqualToString:@"-ALL-"] )
|
||||
{
|
||||
versions = nil;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
[versions addObject:line];
|
||||
}
|
||||
}
|
||||
|
||||
if( !m_sName || !m_sAppID )
|
||||
{
|
||||
NSRunCriticalAlertPanel( CORRUPT_TITLE, PATCHER_CORRUPTED, @"OK", nil, nil );
|
||||
[NSApp terminate:self];
|
||||
}
|
||||
|
||||
if( versions && [versions count] )
|
||||
m_vVersions = [versions retain];
|
||||
|
||||
// Set strings.
|
||||
[m_StatusText setStringValue:[NSString stringWithFormat:SEARCHING, m_sName]];
|
||||
[m_SelectionText setStringValue:@""];
|
||||
[m_PatchingText setStringValue:PATCHING];
|
||||
|
||||
[m_Searching setUsesThreadedAnimation:YES];
|
||||
[m_ProgressBar setUsesThreadedAnimation:YES];
|
||||
[m_Window setTitle:WINDOW_TITLE];
|
||||
|
||||
[NSThread detachNewThreadSelector:@selector(findApp:) toTarget:self withObject:nil];
|
||||
[m_Choose setEnabled:YES];
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[m_sName release];
|
||||
[m_sAppID release];
|
||||
[m_vVersions release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction) chooseFile:(id)sender
|
||||
{
|
||||
if( !panel )
|
||||
{
|
||||
panel = [[NSOpenPanel openPanel] retain];
|
||||
[panel setCanChooseDirectories:YES];
|
||||
[panel setAllowsMultipleSelection:NO];
|
||||
[panel setDelegate:self];
|
||||
[panel setDirectory:@"/Applications"];
|
||||
}
|
||||
|
||||
if( [panel runModal] == NSFileHandlingPanelOKButton )
|
||||
{
|
||||
NSString *dir, *app;
|
||||
|
||||
[m_StatusText setStringValue:PATCH_FILE];
|
||||
[m_Okay setEnabled:YES];
|
||||
[m_sPath release];
|
||||
m_sPath = [[panel filename] retain];
|
||||
dir = [m_sPath stringByDeletingLastPathComponent];
|
||||
app = [[m_sPath lastPathComponent] stringByDeletingPathExtension];
|
||||
[m_SelectionText setStringValue:[NSString stringWithFormat:SELECTION, app, dir]];
|
||||
[m_Okay setTitle:@"OK"];
|
||||
[m_Okay setAction:@selector(upgrade:)];
|
||||
[m_Okay setTarget:self];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) upgrade:(id)sender
|
||||
{
|
||||
[NSApp beginSheet:m_Panel
|
||||
modalForWindow:[sender window]
|
||||
modalDelegate:self
|
||||
didEndSelector:@selector(sheetEnded:returnCode:contextInfo:)
|
||||
contextInfo:NULL];
|
||||
[NSThread detachNewThreadSelector:@selector(upgradeFile:) toTarget:self withObject:m_sPath];
|
||||
}
|
||||
|
||||
- (void) findApp:(id)obj
|
||||
{
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
[m_Searching startAnimation:self];
|
||||
|
||||
// Find ITG
|
||||
CFStringRef key = CFSTR( "ApplicationBundlePath" );
|
||||
CFPropertyListRef list = CFPreferencesCopyAppValue( key, (CFStringRef)m_sAppID );
|
||||
|
||||
NSString *sPath = nil;
|
||||
|
||||
if( list && CFGetTypeID(list) != CFDictionaryGetTypeID() )
|
||||
{
|
||||
CFRelease( list );
|
||||
list = NULL;
|
||||
}
|
||||
if( list )
|
||||
{
|
||||
CFTypeRef value;
|
||||
CFDictionaryRef dict = (CFDictionaryRef)list;
|
||||
|
||||
if( m_vVersions )
|
||||
{
|
||||
NSEnumerator *iter = [m_vVersions objectEnumerator];
|
||||
id version;
|
||||
|
||||
while( (version = [iter nextObject]) )
|
||||
{
|
||||
if( CFDictionaryGetValueIfPresent(dict, (CFStringRef)version, &value) &&
|
||||
CFGetTypeID(value) == CFStringGetTypeID() &&
|
||||
[self checkPath:(NSString *)value] )
|
||||
{
|
||||
sPath = (NSString *)CFRetain( value );
|
||||
[sPath autorelease];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NSDictionary *dict = (NSDictionary *)list;
|
||||
NSEnumerator *iter = [dict objectEnumerator];
|
||||
id path;
|
||||
|
||||
while( (path = [iter nextObject]) )
|
||||
{
|
||||
if( ![path isKindOfClass:[NSString class]] || ![self checkPath:path] )
|
||||
continue;
|
||||
sPath = [[path retain] autorelease];
|
||||
break;
|
||||
}
|
||||
}
|
||||
CFRelease( list );
|
||||
}
|
||||
if( !sPath )
|
||||
{
|
||||
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
|
||||
|
||||
[ws findApplications];
|
||||
sPath = [ws fullPathForApplication:m_sName];
|
||||
|
||||
if( ![self checkPath:sPath] )
|
||||
sPath = nil;
|
||||
}
|
||||
[self performSelectorOnMainThread:@selector(foundApp:) withObject:sPath waitUntilDone:YES];
|
||||
[m_Searching stopAnimation:self];
|
||||
[pool release];
|
||||
}
|
||||
|
||||
- (void) foundApp:(id)obj
|
||||
{
|
||||
NSString *path = (NSString *)obj;
|
||||
|
||||
if( path ) // found
|
||||
{
|
||||
NSString *dir = [path stringByDeletingLastPathComponent];
|
||||
NSString *app = [[path lastPathComponent] stringByDeletingPathExtension];
|
||||
|
||||
[m_sPath release];
|
||||
m_sPath = [path retain];
|
||||
[m_Okay setEnabled:YES];
|
||||
[m_StatusText setStringValue:PATCH_FILE];
|
||||
[m_SelectionText setStringValue:[NSString stringWithFormat:SELECTION, app, dir]];
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sPath = @"";
|
||||
[m_StatusText setStringValue:CHOOSE_FILE];
|
||||
}
|
||||
[m_Choose setEnabled:YES];
|
||||
[m_Choose setNeedsDisplay:YES];
|
||||
[m_Okay setNeedsDisplay:YES];
|
||||
[m_StatusText setNeedsDisplay:YES];
|
||||
[m_SelectionText setNeedsDisplay:YES];
|
||||
}
|
||||
|
||||
- (void) upgradeFile:(id)path
|
||||
{
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
NSBundle *bundle = [NSBundle mainBundle];
|
||||
NSString *patch = [bundle pathForResource:@"Contents" ofType:@"" inDirectory:@"Patch"];
|
||||
NSArray *parentFiles = [bundle pathsForResourcesOfType:@"" inDirectory:@"Patch/ParentContents"];
|
||||
|
||||
if( patch && parentFiles)
|
||||
{
|
||||
[m_ProgressBar startAnimation:self];
|
||||
|
||||
if( NeedsPrivs(path) )
|
||||
m_sError = CopyWithPrivs( patch, path );
|
||||
else
|
||||
m_sError = Copy( patch, path );
|
||||
|
||||
path = [path stringByDeletingLastPathComponent];
|
||||
NSEnumerator *enumerator = [parentFiles objectEnumerator];
|
||||
while( !m_sError && (patch = [enumerator nextObject]) )
|
||||
{
|
||||
if( NeedsPrivs(path) )
|
||||
m_sError = CopyWithPrivs( patch, path );
|
||||
else
|
||||
m_sError = Copy( patch, path );
|
||||
}
|
||||
|
||||
[m_ProgressBar stopAnimation:self];
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sError = PATCH_FILES_MISSING;
|
||||
}
|
||||
[NSApp performSelectorOnMainThread:@selector(endSheet:) withObject:m_Panel waitUntilDone:YES];
|
||||
[pool release];
|
||||
}
|
||||
|
||||
- (void) sheetEnded:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
|
||||
{
|
||||
[m_Panel orderOut:self];
|
||||
if( m_sError )
|
||||
{
|
||||
NSRunCriticalAlertPanel( ERROR, ERROR_MESSAGE, @"OK", nil, nil, m_sError );
|
||||
return;
|
||||
}
|
||||
[m_StatusText setStringValue:PATCH_COMPLETE];
|
||||
[m_Okay setTitle:QUIT];
|
||||
[m_Okay setAction:@selector(terminate:)];
|
||||
[m_Okay setTarget:NSApp];
|
||||
}
|
||||
|
||||
- (BOOL) panel:(id)sender isValidFilename:(NSString *)filename
|
||||
{
|
||||
return [filename hasSuffix:@".app"] && [self checkPath:filename];
|
||||
}
|
||||
|
||||
- (BOOL) panel:(id)sender shouldShowFilename:(NSString *)filename
|
||||
{
|
||||
if( [filename hasSuffix:@".app"] )
|
||||
return [self checkPath:filename];
|
||||
|
||||
struct stat sb;
|
||||
|
||||
if( stat([filename UTF8String], &sb) )
|
||||
return NO;
|
||||
return (sb.st_mode & S_IFDIR) == S_IFDIR;
|
||||
}
|
||||
|
||||
- (BOOL) checkPath:(NSString *)path
|
||||
{
|
||||
NSBundle *b = [NSBundle bundleWithPath:path];
|
||||
|
||||
if( !b )
|
||||
return NO;
|
||||
if( ![[b objectForInfoDictionaryKey:@"CFBundleIdentifier"] isEqualToString:m_sAppID] )
|
||||
return NO;
|
||||
if( m_vVersions == nil )
|
||||
return YES;
|
||||
|
||||
NSString *bundleVersion = [b objectForInfoDictionaryKey:@"CFBundleVersion"];
|
||||
NSEnumerator *iter = [m_vVersions objectEnumerator];
|
||||
NSString *version;
|
||||
|
||||
while( (version = [iter nextObject]) )
|
||||
if( [bundleVersion isEqualToString:version] )
|
||||
return YES;
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
IBClasses = (
|
||||
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
|
||||
{
|
||||
ACTIONS = {chooseFile = id; upgrade = id; };
|
||||
CLASS = Upgrader;
|
||||
LANGUAGE = ObjC;
|
||||
OUTLETS = {
|
||||
"m_Choose" = NSButton;
|
||||
"m_Okay" = NSButton;
|
||||
"m_Panel" = NSPanel;
|
||||
"m_PatchingText" = NSTextField;
|
||||
"m_ProgressBar" = NSProgressIndicator;
|
||||
"m_Searching" = NSProgressIndicator;
|
||||
"m_SelectionText" = NSTextField;
|
||||
"m_StatusText" = NSTextField;
|
||||
"m_Window" = NSWindow;
|
||||
};
|
||||
SUPERCLASS = NSObject;
|
||||
}
|
||||
);
|
||||
IBVersion = 1;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>39 98 356 240 0 0 1920 1178 </string>
|
||||
<key>IBEditorPositions</key>
|
||||
<dict>
|
||||
<key>29</key>
|
||||
<string>207 529 151 44 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>446.1</string>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>29</integer>
|
||||
<integer>217</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>8J135</string>
|
||||
<key>IBUserGuides</key>
|
||||
<dict>
|
||||
<key>21</key>
|
||||
<dict>
|
||||
<key>guideLocations</key>
|
||||
<array>
|
||||
<string>Horizontal:180.000000</string>
|
||||
</array>
|
||||
<key>guidesLocked</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,29 +0,0 @@
|
||||
int main( int argc, const char *argv[] )
|
||||
{
|
||||
return NSApplicationMain( argc, argv );
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2006 Steve Checkoway
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -1,17 +0,0 @@
|
||||
StepMania Xcode Project
|
||||
=======================
|
||||
|
||||
There used to be an Xcode project that lived here. However, it is no longer.
|
||||
|
||||
Please use CMake to generate an Xcode project.
|
||||
|
||||
|
||||
SDK Selection
|
||||
-----------------
|
||||
|
||||
Any Mac OS X SDK that is 10.6 or higher will work. However, the 10.6 SDK is needed to offer full screen support at this time.
|
||||
|
||||
Please see this [comment](https://github.com/stepmania/stepmania/issues/224#issuecomment-48857894) on how to install 10.6 SDK in Xcode if this feature is necessary for your setup.
|
||||
|
||||
Please note that you must restart Xcode after installing the SDK, in case Xcode is running, for it to detect the new SDKs.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PRODUCT_NAME = sm-ssc
|
||||
@@ -1,35 +0,0 @@
|
||||
StepMania Scripts For OS X
|
||||
=========
|
||||
|
||||
These scripts can be used to bundle a .dmg installer of StepMania.
|
||||
It assumes you have already built a StepMania.app using Xcode and
|
||||
that your *stepmania* directory structure is intact as you cloned it.
|
||||
|
||||
|
||||
Bundling a Release:
|
||||
-------------------
|
||||
To bundle a release version of StepMania open a terminal and cd to
|
||||
your *stepmania* directory, then run the following commands:
|
||||
|
||||
```
|
||||
cd Xcode/scripts
|
||||
ruby mkrelease.rb
|
||||
```
|
||||
|
||||
This will create a disk image like *StepMania-v5.0-beta-4-mac.dmg*
|
||||
in the root of your *stepmania* directory.
|
||||
|
||||
|
||||
|
||||
Bundling a Nightly:
|
||||
-------------------
|
||||
To bundle an intermediate or "nightly" .dmg installer, cd to your
|
||||
*stepmania* directory, and run the following commands:
|
||||
|
||||
```
|
||||
cd Xcode/scripts
|
||||
ruby mkrelease.rb nightly
|
||||
```
|
||||
|
||||
This will create a disk image like *StepMania-v5.0-31-8-2014-mac.dmg*
|
||||
in the root of your *stepmania* directory.
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
use File::Copy;
|
||||
|
||||
$ver = 0;
|
||||
if( open FH, '<ver.cpp' )
|
||||
{
|
||||
<FH> =~ /version_num = (\d+);/ and $ver = $1 + 1;
|
||||
close FH;
|
||||
}
|
||||
chop( $date = `date` );
|
||||
chop( $time = `time` );
|
||||
open FH, '>.ver.tmp' or die $!;
|
||||
print FH <<"EOF";
|
||||
extern const unsigned long version_num = $ver;
|
||||
extern const char *const version_date = "$date";
|
||||
extern const char *const version_time = "$time";
|
||||
extern char const * const product_version = "5.0-git-UNKNOWN";
|
||||
EOF
|
||||
close FH;
|
||||
move '.ver.tmp', 'ver.cpp';
|
||||
@@ -1,92 +0,0 @@
|
||||
# 'fileutils' is used to recursively copy directories
|
||||
# 'tmpdir' is used to create and work with temporary directories
|
||||
require 'fileutils'
|
||||
require 'tmpdir'
|
||||
|
||||
# cd to the StepMania 5 src directory
|
||||
Dir.chdir "../../src"
|
||||
|
||||
# check the command line for the presence of the "nightly" option, used
|
||||
# if we are bundling a nightly build as opposed to an official release
|
||||
nightly = (true and ARGV[0] == "nightly") or false
|
||||
|
||||
# initialize empty strings
|
||||
family, version, date = ""
|
||||
|
||||
# if this is to be a nightly build, store the system date;
|
||||
# we'll use it below to name the bundle
|
||||
if nightly
|
||||
time = time = Time.new
|
||||
date = "#{time.day}-#{time.month}-#{time.year}"
|
||||
end
|
||||
|
||||
# open ProductInfo.h in read-only mode
|
||||
File.open("#{Dir.pwd}/ProductInfo.h", "r") do |f|
|
||||
# read each line, matching for product family
|
||||
f.each do |line|
|
||||
if line.match( /^#define\s+PRODUCT_FAMILY_BARE\s+(.*?)\s*$/ )
|
||||
family = $1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Determine if the Cmake generated verstub.cpp is available.
|
||||
File.open("#{Dir.pwd}/verstub.cpp", "r") do |verFile|
|
||||
verFile.each do |verLine|
|
||||
if verLine.match( /^extern char const \* const product_version \= "(.*?)"/ )
|
||||
version = $1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if (version.length == 0)
|
||||
# open ver.h in read-only mode
|
||||
File.open("#{Dir.pwd}/ver.h", "r") do |f|
|
||||
# read each line, matching for product version
|
||||
f.each do |line|
|
||||
if line.match( /^#define\s+product_version\s+"(.*?)"/ )
|
||||
version = $1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# replace whitespace with hyphens in the version string
|
||||
version.gsub!(/\s+/,"-")
|
||||
|
||||
# the name of what we are bundling
|
||||
if nightly
|
||||
version = version.partition("-")[0]
|
||||
name = "#{family}-#{version}-#{date}"
|
||||
else
|
||||
name = "#{family}-#{version}"
|
||||
end
|
||||
|
||||
# a list of directories we want to include in our .dmg
|
||||
directories = [ "Announcers", "BackgroundEffects", "BackgroundTransitions",
|
||||
"BGAnimations", "Characters", "Courses", "Data", "Docs", "Manual",
|
||||
"NoteSkins", "Scripts", "Songs", "StepMania.app", "Themes" ]
|
||||
|
||||
# cd back to the root of the StepMania 5 directory
|
||||
Dir.chdir ".."
|
||||
|
||||
# create a temp directory; this will be automatically deleted when the block completes
|
||||
Dir.mktmpdir {|temp|
|
||||
|
||||
# nest two directories named by family and version within the temp directory
|
||||
# the outer will become the root of the dmg
|
||||
# the inner will neatly tidy all the contents together so users can easily drag/drop everything at once
|
||||
FileUtils.mkdir_p("#{temp}/#{name}/#{name}/")
|
||||
|
||||
# loop through the directories array
|
||||
directories.each do |directory|
|
||||
# recursively copy each directory into our temp directory
|
||||
FileUtils.cp_r directory, "#{temp}/#{name}/#{name}/", :verbose => true
|
||||
end
|
||||
|
||||
#construct the shell command that will create the dmg
|
||||
cmd = "hdiutil create #{Dir.pwd}/#{name}-mac.dmg -srcfolder #{temp}/#{name} -ov"
|
||||
|
||||
#execute the command in a subshell
|
||||
system( cmd )
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
This folder contains all graphics and fonts used in SMMAX2.0 theme project.
|
||||
Project is aimed to cration of new version of very popular SM3.9`s SMMAX theme for use in SM5.0.
|
||||
It`s not intended to be a port! Project was desingned to be new from scratch.
|
||||
I was planning to do all work myself but I hit the wall of my poor coding skills.
|
||||
So, after couple months lack of progress I`ve made a decision to share the project with community.
|
||||
Main project file is "SMMAX20 screens project ver1_1.cdr". To open it you need Corel Draw X5 or later.
|
||||
From corel you can export every tiny element to PNG or PSD whith transperacy.
|
||||
It`s just a matter of proper selection.
|
||||
Keep in mind that project graphisc was designed in 1920x1200 resolution.
|
||||
It is native resolution of my monitor. So now you must bear with me,
|
||||
because it`s lots of work to change it back to 1080p
|
||||
Project use 2 fonts and you can find`em (or info about how to obtain it) in fonts folder.
|
||||
Project is released under MIT License. Same as whole stepmania.
|
||||
Thankyou for your attention, intrest, future contribution,
|
||||
and please, really please, (I`m beging now) do not convert my work to something ugly. ^__^;
|
||||
|
||||
~ John Reactor.
|
||||
@@ -1,3 +0,0 @@
|
||||
No graphics here.
|
||||
Hey. It`s only black bacground and some text. What you`ve expeced.
|
||||
All text should be dynamic, and translatable, remeber?
|
||||
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 296 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 452 KiB |
|
Before Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 209 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |