Replace logo and clean up packaging

This commit is contained in:
Martin Natano
2022-05-19 11:45:45 +02:00
parent f5682cfdac
commit ee65b7b0c4
262 changed files with 79 additions and 79117 deletions
-15
View File
@@ -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
+14 -14
View File
@@ -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}")
+49 -73
View File
@@ -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:
+2 -39
View File
@@ -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)
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

-4
View File
@@ -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)
+1 -1
View File
@@ -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.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

-47
View File
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

-36
View File
@@ -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.
-37
View File
@@ -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.
-37
View File
@@ -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.
-36
View File
@@ -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.
-36
View File
@@ -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.
-37
View File
@@ -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=지우는데 오류가 났습니다.
-36
View File
@@ -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.
-6
View File
@@ -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
-199
View File
@@ -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 );
-80
View File
@@ -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,"
+2 -2
View File
@@ -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>
-30
View File
@@ -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.
*/
-163
View File
@@ -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.
*/
-11
View File
@@ -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-
-28
View File
@@ -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 */;
}
-28
View File
@@ -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.
*/
-56
View File
@@ -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.
*/
-364
View File
@@ -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.
*/
Binary file not shown.
Binary file not shown.
-23
View File
@@ -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;
}
-34
View File
@@ -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>
Binary file not shown.
-29
View File
@@ -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.
*/
-17
View File
@@ -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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
PRODUCT_NAME = sm-ssc
-35
View File
@@ -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.
-20
View File
@@ -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';
-92
View File
@@ -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 )
}
BIN
View File
Binary file not shown.
Binary file not shown.
@@ -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?
Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Some files were not shown because too many files have changed in this diff Show More