From a779dc8d2b6345a095c68333a400fdeac722f947 Mon Sep 17 00:00:00 2001 From: Christopher Roy Bratusek Date: Tue, 21 Aug 2012 19:29:25 +0200 Subject: [PATCH] add available versions to NUS download-UI channels currently not downloadable - will be added back --- GUI/Ui_VenPri.py | 21 ++++--- GUI/VenPri.py | 1 + GUI/VenPri.ui | 46 +++++++++++---- TitleIDs.py | 149 ++++++++++++++++++++++++++++++++++++++++------- 4 files changed, 179 insertions(+), 38 deletions(-) diff --git a/GUI/Ui_VenPri.py b/GUI/Ui_VenPri.py index f983294..fa5246a 100644 --- a/GUI/Ui_VenPri.py +++ b/GUI/Ui_VenPri.py @@ -163,11 +163,10 @@ class Ui_Qwad(object): self.NusOutputButton.setArrowType(QtCore.Qt.NoArrow) self.NusOutputButton.setObjectName("NusOutputButton") self.enteredTitleID = QtGui.QLineEdit(self.NUStab) - self.enteredTitleID.setGeometry(QtCore.QRect(125, 45, 161, 31)) + self.enteredTitleID.setGeometry(QtCore.QRect(95, 45, 161, 31)) self.enteredTitleID.setObjectName("enteredTitleID") self.TitleIDlabel = QtGui.QLabel(self.NUStab) - self.TitleIDlabel.setGeometry(QtCore.QRect(15, 51, 101, 20)) - self.TitleIDlabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTop|QtCore.Qt.AlignTrailing) + self.TitleIDlabel.setGeometry(QtCore.QRect(40, 51, 101, 20)) self.TitleIDlabel.setObjectName("TitleIDlabel") self.Title = QtGui.QLabel(self.NUStab) self.Title.setGeometry(QtCore.QRect(0, 10, 121, 21)) @@ -179,19 +178,25 @@ class Ui_Qwad(object): self.comboBox.addItem(QtCore.QString()) self.decryptCheck = QtGui.QCheckBox(self.NUStab) self.decryptCheck.setEnabled(False) - self.decryptCheck.setGeometry(QtCore.QRect(130, 80, 171, 23)) + self.decryptCheck.setGeometry(QtCore.QRect(40, 120, 171, 23)) self.decryptCheck.setChecked(False) self.decryptCheck.setObjectName("decryptCheck") self.pack_in_WAD_checkbox = QtGui.QCheckBox(self.NUStab) - self.pack_in_WAD_checkbox.setGeometry(QtCore.QRect(130, 110, 181, 23)) + self.pack_in_WAD_checkbox.setGeometry(QtCore.QRect(170, 120, 181, 23)) self.pack_in_WAD_checkbox.setChecked(True) self.pack_in_WAD_checkbox.setObjectName("pack_in_WAD_checkbox") self.VersionlineEdit = QtGui.QLineEdit(self.NUStab) - self.VersionlineEdit.setGeometry(QtCore.QRect(340, 45, 71, 31)) + self.VersionlineEdit.setGeometry(QtCore.QRect(325, 45, 71, 31)) self.VersionlineEdit.setObjectName("VersionlineEdit") self.versionlabel = QtGui.QLabel(self.NUStab) - self.versionlabel.setGeometry(QtCore.QRect(290, 50, 51, 20)) + self.versionlabel.setGeometry(QtCore.QRect(265, 50, 51, 20)) self.versionlabel.setObjectName("versionlabel") + self.availableVersions = QtGui.QLabel(self.NUStab) + self.availableVersions.setGeometry(QtCore.QRect(170, 81, 300, 40)) + self.availableVersions.setObjectName("availableVersions") + self.availableLabel = QtGui.QLabel(self.NUStab) + self.availableLabel.setGeometry(QtCore.QRect(40, 90, 120, 20)) + self.availableLabel.setObjectName("availableLabel") self.tabWidget.addTab(self.NUStab, "") Qwad.setCentralWidget(self.centralWidget) self.menuBar = QtGui.QMenuBar(Qwad) @@ -260,6 +265,8 @@ class Ui_Qwad(object): self.pack_in_WAD_checkbox.setText(QtGui.QApplication.translate("Qwad", "Pack into WAD", None, QtGui.QApplication.UnicodeUTF8)) self.VersionlineEdit.setText(QtGui.QApplication.translate("Qwad", "unset", None, QtGui.QApplication.UnicodeUTF8)) self.versionlabel.setText(QtGui.QApplication.translate("Qwad", "Version:", None, QtGui.QApplication.UnicodeUTF8)) + self.availableLabel.setText(QtGui.QApplication.translate("Qwad", "Available Versions:", None, QtGui.QApplication.UnicodeUTF8)) + self.availableVersions.setText(QtGui.QApplication.translate("Qwad", "unset", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.NUStab), QtGui.QApplication.translate("Qwad", "Download from NUS", None, QtGui.QApplication.UnicodeUTF8)) self.menuAyuda.setTitle(QtGui.QApplication.translate("Qwad", "Help", None, QtGui.QApplication.UnicodeUTF8)) self.actionAcerca_de_Qwad.setText(QtGui.QApplication.translate("Qwad", "About Qwad", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/GUI/VenPri.py b/GUI/VenPri.py index f696865..291acf8 100644 --- a/GUI/VenPri.py +++ b/GUI/VenPri.py @@ -212,6 +212,7 @@ class MWQwad(QMainWindow, Ui_Qwad): if self.comboBox.findText(selection) != 0: self.enteredTitleID.enabled = False self.enteredTitleID.setText(TitleIDs.TitleDict[str(selection)]) + self.availableVersions.setText(TitleIDs.IOSdict[str(selection)]) @pyqtSignature("") def on_enteredTitleID_returnPressed(self): diff --git a/GUI/VenPri.ui b/GUI/VenPri.ui index 61c70a0..8fdf1fd 100644 --- a/GUI/VenPri.ui +++ b/GUI/VenPri.ui @@ -46,7 +46,7 @@ false - 1 + 3 @@ -154,13 +154,13 @@ TMD file - + 10 50 451 - 147 + 151 @@ -525,8 +525,8 @@ - 130 - 80 + 40 + 120 171 23 @@ -541,8 +541,8 @@ - 130 - 110 + 220 + 120 181 23 @@ -557,7 +557,7 @@ - 340 + 350 45 71 31 @@ -577,7 +577,33 @@ - Version: + Version + + + + + + 80 + 79 + 121 + 31 + + + + Available Versions + + + + + + 210 + 80 + 121 + 31 + + + + unset @@ -589,7 +615,7 @@ 0 0 481 - 22 + 21 diff --git a/TitleIDs.py b/TitleIDs.py index 0b6f834..0c2a6e4 100644 --- a/TitleIDs.py +++ b/TitleIDs.py @@ -6,9 +6,12 @@ import binascii, re from PyQt4.QtCore import QT_TR_NOOP TitleDict = { -#"BOOT2":"0000000100000001", -"System Menu":"0000000100000002", -#"BC":"0000000100000100", +"BOOT2":"0000000100000001", +"System Menu [JAP]":"0000000100000002", +"System Menu [PAL]":"0000000100000002", +"System Menu [USA]":"0000000100000002", +"System Menu [KOR]":"0000000100000002", +"BC":"0000000100000100", "MIOS":"0000000100000101", "IOS4":"0000000100000004", "IOS9":"0000000100000009", @@ -32,26 +35,39 @@ TitleDict = { "IOS36":"0000000100000024", "IOS37":"0000000100000025", "IOS38":"0000000100000026", +"IOS40":"0000000100000028", +"IOS41":"0000000100000029", +"IOS43":"000000010000002b", +"IOS45":"000000010000002d", +"IOS46":"000000010000002f", +"IOS48":"0000000100000030", "IOS50":"0000000100000032", "IOS51":"0000000100000033", +"IOS52":"0000000100000034", "IOS53":"0000000100000035", "IOS55":"0000000100000037", +"IOS56":"0000000100000038", +"IOS57":"0000000100000039", +"IOS58":"000000010000003a", "IOS60":"000000010000003c", "IOS61":"000000010000003d", -"IOS254":"00000001000000fe", -#TODO: Add remaining IOSes +"IOS70":"0000000100000046", +"IOS80":"0000000100000050", } + +Channeldict = { +#TODO: Add remaining Channels + UI #QT_TR_NOOP("Wii Speak Channel"):"00010001484346xx", #QT_TR_NOOP("Photo Channel 1.1 [USA]"):"0001000148415a45", QT_TR_NOOP("Photo Channel 1.1 [PAL]"):"0001000148415a50", #QT_TR_NOOP("Photo Channel 1.1 [JAP]"):"0001000148415a4a", #QT_TR_NOOP("Metroid Prime 3 Preview"):"00010001484157xx", QT_TR_NOOP("Nintendo Channel"):"00010001484154xx", -QT_TR_NOOP("Check Mii Out / Mii Contest Channel[USA]"):"0001000148415045", -QT_TR_NOOP("Check Mii Out / Mii Contest Channel[PAL]"):"0001000148415050", -QT_TR_NOOP("Check Mii Out / Mii Contest Channel[JAP]"):"000100014841504A", -QT_TR_NOOP("Everyone Votes Channel[USA]"):"0001000148414a45", -QT_TR_NOOP("Everyone Votes Channel[PAL]"):"0001000148414a50", -QT_TR_NOOP("Everyone Votes Channel[JAP]"):"0001000148414a4A", +QT_TR_NOOP("Mii Contest Channel [USA]"):"0001000148415045", +QT_TR_NOOP("Mii Contest Channel [PAL]"):"0001000148415050", +QT_TR_NOOP("Mii Contest Channel [JAP]"):"000100014841504A", +QT_TR_NOOP("Everyone Votes Channel [USA]"):"0001000148414a45", +QT_TR_NOOP("Everyone Votes Channel [PAL]"):"0001000148414a50", +QT_TR_NOOP("Everyone Votes Channel [JAP]"):"0001000148414a4A", #QT_TR_NOOP("Opera / Internet Channel"):"00010001484144xx", QT_TR_NOOP("Photo Channel"):"0001000248414141", QT_TR_NOOP("Shopping Channel"):"0001000248414241", @@ -64,17 +80,108 @@ QT_TR_NOOP("Photo Channel 1.1"):"001000248415941", #QT_TR_NOOP("News Channel-HAGA"):"0001000248414741" } -#idDict = {} -#for title in TitleDict: -# idDict[TitleDict[title]] = title +IOSdict = { +"BOOT2":"4", +"System Menu [JAP]":"128 2.0, 192 2.1, 224 3.0, 256 3.1, 288 3.2,\ +\n352 3.3, 384 3.4, 416 4.0, 448 4.1, 480 4.2,\n512 4.3", +"System Menu [PAL]":"130 2.0, 162 2.1, 194 2.2, 226 3.0, 257 3.1,\ +\n290 3.2, 354 3.3, 386 3.4, 418 4.0, 450 4.1,\n482 4.2, 514 4.3", +"System Menu [USA]":"97 2.0, 193 2.2, 225 3.0, 257 3.1, 289 3.2,\ +\n353 3.3, 385 3.4, 417 4.0, 449 4.1, 481 4.2,\n513 4.3", +"System Menu [KOR]":"390 3.5, 454 4.1, 486 4.2, 518 4.3", +"BC":"2, 4, 5, 6", +"MIOS":"4, 5, 8, 9, 10", +"IOS4":"65280 (stub)", +"IOS9":"520, 521, 778, 1034", +"IOS10":"768 (stub)", +"IOS11":"10, 256 (stub)", +"IOS12":"6, 11, 12, 269, 525, 526", +"IOS13":"10, 15, 16, 273, 1031, 1032", +"IOS14":"262, 263, 520, 1031, 1032", +"IOS15":"257, 258, 259, 260, 265, 266, 523, 1031, 1032", +"IOS16":"512 (stub)", +"IOS17":"512, 517, 518, 775, 1031, 1032", +"IOS20":"12, 256 (stub)", +"IOS21":"514, 515, 516, 517, 522, 525, 782, 1038, 1039", +"IOS22":"777, 780, 1037, 1293, 1294", +"IOS28":"1292, 1293, 1550, 1806, 1807", +"IOS30":"1037, 1039, 1040, 2576, 2816 (stub)", +"IOS31":"1037, 1039, 1040, 2576, 3088, 3092, 3349,\n3607, 3608", +"IOS33":"1040, 2832, 2834, 3091, 3607, 3608", +"IOS34":"1039, 3087, 3091, 3348, 3607, 3608", +"IOS35":"1040, 3088, 3092, 3349, 3607, 3608", +"IOS36":"1042, 3090, 3094, 3351, 3607, 3608", +"IOS37":"2070, 3609, 3612, 3869, 5662, 5663", +"IOS38":"3610, 3867, 4123, 4124", +"IOS40":"3072 (stub)", +"IOS41":"2835, 3091, 3348, 3606, 3607", +"IOS43":"2835, 3091, 3348, 3606, 3607", +"IOS45":"2835, 3091, 3348, 3606, 3607", +"IOS46":"2837, 3093, 3350, 3606, 3607", +"IOS48":"4123, 4124", +"IOS50":"4889, 5120", +"IOS51":"4633, 4864", +"IOS52":"5661, 5888 (stub)", +"IOS53":"4113, 5149, 5406, 5662, 5663", +"IOS55":"4633, 5149, 5406, 5662, 5663", +"IOS56":"4890, 5405, 5661, 5662", +"IOS57":"5404, 5661, 5918, 5919", +"IOS58":"6175, 6176", +"IOS60":"6174, 6400 (stub)", +"IOS61":"4890, 5405, 5661, 5662", +"IOS70":"6687, 6912 (stub)", +"IOS80":"6943", +} -IOSdict = {} -for title in TitleDict: - if re.search("IOS", title): - IOSdict[title] = TitleDict[title] -IOSdict["IOS202"] = "00000001000000ca" -IOSdict["IOS222"] = "00000001000000de" -IOSdict["IOS249"] = "00000001000000f9" +DESCdict = { +"BOOT2":"Second level boot", +"System Menu [JAP]":"System Menu for japanese Wii", +"System Menu [PAL]":"System Menu for european Wii", +"System Menu [USA]":"System Menu for american Wii", +"System Menu [KOR]":"System Menu for korean Wii", +"BC":"GameCube compat", +"MIOS":"GameCube IOS", +"IOS4":"", +"IOS9":"", +"IOS10":"", +"IOS11":"", +"IOS12":"", +"IOS13":"", +"IOS14":"", +"IOS15":"", +"IOS16":"", +"IOS17":"", +"IOS20":"", +"IOS21":"", +"IOS22":"", +"IOS28":"", +"IOS30":"", +"IOS31":"", +"IOS33":"", +"IOS34":"", +"IOS35":"", +"IOS36":"", +"IOS37":"", +"IOS38":"", +"IOS40":"", +"IOS41":"", +"IOS43":"", +"IOS45":"", +"IOS46":"", +"IOS48":"", +"IOS50":"", +"IOS51":"", +"IOS52":"", +"IOS53":"", +"IOS55":"", +"IOS56":"", +"IOS57":"", +"IOS58":"", +"IOS60":"", +"IOS61":"", +"IOS70":"", +"IOS80":"", +} IOSids = {} for ios in IOSdict: