add available versions to NUS download-UI

channels currently not downloadable - will be added back
This commit is contained in:
Christopher Roy Bratusek 2012-08-21 19:29:25 +02:00
parent 5e8cf2a477
commit a779dc8d2b
4 changed files with 179 additions and 38 deletions

View File

@ -163,11 +163,10 @@ class Ui_Qwad(object):
self.NusOutputButton.setArrowType(QtCore.Qt.NoArrow) self.NusOutputButton.setArrowType(QtCore.Qt.NoArrow)
self.NusOutputButton.setObjectName("NusOutputButton") self.NusOutputButton.setObjectName("NusOutputButton")
self.enteredTitleID = QtGui.QLineEdit(self.NUStab) 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.enteredTitleID.setObjectName("enteredTitleID")
self.TitleIDlabel = QtGui.QLabel(self.NUStab) self.TitleIDlabel = QtGui.QLabel(self.NUStab)
self.TitleIDlabel.setGeometry(QtCore.QRect(15, 51, 101, 20)) self.TitleIDlabel.setGeometry(QtCore.QRect(40, 51, 101, 20))
self.TitleIDlabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTop|QtCore.Qt.AlignTrailing)
self.TitleIDlabel.setObjectName("TitleIDlabel") self.TitleIDlabel.setObjectName("TitleIDlabel")
self.Title = QtGui.QLabel(self.NUStab) self.Title = QtGui.QLabel(self.NUStab)
self.Title.setGeometry(QtCore.QRect(0, 10, 121, 21)) self.Title.setGeometry(QtCore.QRect(0, 10, 121, 21))
@ -179,19 +178,25 @@ class Ui_Qwad(object):
self.comboBox.addItem(QtCore.QString()) self.comboBox.addItem(QtCore.QString())
self.decryptCheck = QtGui.QCheckBox(self.NUStab) self.decryptCheck = QtGui.QCheckBox(self.NUStab)
self.decryptCheck.setEnabled(False) 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.setChecked(False)
self.decryptCheck.setObjectName("decryptCheck") self.decryptCheck.setObjectName("decryptCheck")
self.pack_in_WAD_checkbox = QtGui.QCheckBox(self.NUStab) 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.setChecked(True)
self.pack_in_WAD_checkbox.setObjectName("pack_in_WAD_checkbox") self.pack_in_WAD_checkbox.setObjectName("pack_in_WAD_checkbox")
self.VersionlineEdit = QtGui.QLineEdit(self.NUStab) 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.VersionlineEdit.setObjectName("VersionlineEdit")
self.versionlabel = QtGui.QLabel(self.NUStab) 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.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, "") self.tabWidget.addTab(self.NUStab, "")
Qwad.setCentralWidget(self.centralWidget) Qwad.setCentralWidget(self.centralWidget)
self.menuBar = QtGui.QMenuBar(Qwad) 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.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.VersionlineEdit.setText(QtGui.QApplication.translate("Qwad", "unset", None, QtGui.QApplication.UnicodeUTF8))
self.versionlabel.setText(QtGui.QApplication.translate("Qwad", "Version:", 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.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.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)) self.actionAcerca_de_Qwad.setText(QtGui.QApplication.translate("Qwad", "About Qwad", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -212,6 +212,7 @@ class MWQwad(QMainWindow, Ui_Qwad):
if self.comboBox.findText(selection) != 0: if self.comboBox.findText(selection) != 0:
self.enteredTitleID.enabled = False self.enteredTitleID.enabled = False
self.enteredTitleID.setText(TitleIDs.TitleDict[str(selection)]) self.enteredTitleID.setText(TitleIDs.TitleDict[str(selection)])
self.availableVersions.setText(TitleIDs.IOSdict[str(selection)])
@pyqtSignature("") @pyqtSignature("")
def on_enteredTitleID_returnPressed(self): def on_enteredTitleID_returnPressed(self):

View File

@ -46,7 +46,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>3</number>
</property> </property>
<widget class="QWidget" name="unpacktab"> <widget class="QWidget" name="unpacktab">
<attribute name="title"> <attribute name="title">
@ -154,13 +154,13 @@
<string>TMD file</string> <string>TMD file</string>
</property> </property>
</widget> </widget>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>10</x>
<y>50</y> <y>50</y>
<width>451</width> <width>451</width>
<height>147</height> <height>151</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
@ -525,8 +525,8 @@
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>130</x> <x>40</x>
<y>80</y> <y>120</y>
<width>171</width> <width>171</width>
<height>23</height> <height>23</height>
</rect> </rect>
@ -541,8 +541,8 @@
<widget class="QCheckBox" name="pack_in_WAD_checkbox"> <widget class="QCheckBox" name="pack_in_WAD_checkbox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>130</x> <x>220</x>
<y>110</y> <y>120</y>
<width>181</width> <width>181</width>
<height>23</height> <height>23</height>
</rect> </rect>
@ -557,7 +557,7 @@
<widget class="QLineEdit" name="VersionlineEdit"> <widget class="QLineEdit" name="VersionlineEdit">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>340</x> <x>350</x>
<y>45</y> <y>45</y>
<width>71</width> <width>71</width>
<height>31</height> <height>31</height>
@ -577,7 +577,33 @@
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>Version:</string> <string>Version</string>
</property>
</widget>
<widget class="QLabel" name="availableLabel">
<property name="geometry">
<rect>
<x>80</x>
<y>79</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Available Versions</string>
</property>
</widget>
<widget class="QLabel" name="availableVersions">
<property name="geometry">
<rect>
<x>210</x>
<y>80</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>unset</string>
</property> </property>
</widget> </widget>
</widget> </widget>
@ -589,7 +615,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>481</width> <width>481</width>
<height>22</height> <height>21</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuAyuda"> <widget class="QMenu" name="menuAyuda">

View File

@ -6,9 +6,12 @@ import binascii, re
from PyQt4.QtCore import QT_TR_NOOP from PyQt4.QtCore import QT_TR_NOOP
TitleDict = { TitleDict = {
#"BOOT2":"0000000100000001", "BOOT2":"0000000100000001",
"System Menu":"0000000100000002", "System Menu [JAP]":"0000000100000002",
#"BC":"0000000100000100", "System Menu [PAL]":"0000000100000002",
"System Menu [USA]":"0000000100000002",
"System Menu [KOR]":"0000000100000002",
"BC":"0000000100000100",
"MIOS":"0000000100000101", "MIOS":"0000000100000101",
"IOS4":"0000000100000004", "IOS4":"0000000100000004",
"IOS9":"0000000100000009", "IOS9":"0000000100000009",
@ -32,26 +35,39 @@ TitleDict = {
"IOS36":"0000000100000024", "IOS36":"0000000100000024",
"IOS37":"0000000100000025", "IOS37":"0000000100000025",
"IOS38":"0000000100000026", "IOS38":"0000000100000026",
"IOS40":"0000000100000028",
"IOS41":"0000000100000029",
"IOS43":"000000010000002b",
"IOS45":"000000010000002d",
"IOS46":"000000010000002f",
"IOS48":"0000000100000030",
"IOS50":"0000000100000032", "IOS50":"0000000100000032",
"IOS51":"0000000100000033", "IOS51":"0000000100000033",
"IOS52":"0000000100000034",
"IOS53":"0000000100000035", "IOS53":"0000000100000035",
"IOS55":"0000000100000037", "IOS55":"0000000100000037",
"IOS56":"0000000100000038",
"IOS57":"0000000100000039",
"IOS58":"000000010000003a",
"IOS60":"000000010000003c", "IOS60":"000000010000003c",
"IOS61":"000000010000003d", "IOS61":"000000010000003d",
"IOS254":"00000001000000fe", "IOS70":"0000000100000046",
#TODO: Add remaining IOSes "IOS80":"0000000100000050", }
Channeldict = {
#TODO: Add remaining Channels + UI
#QT_TR_NOOP("Wii Speak Channel"):"00010001484346xx", #QT_TR_NOOP("Wii Speak Channel"):"00010001484346xx",
#QT_TR_NOOP("Photo Channel 1.1 [USA]"):"0001000148415a45", #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 [PAL]"):"0001000148415a50",
#QT_TR_NOOP("Photo Channel 1.1 [JAP]"):"0001000148415a4a", #QT_TR_NOOP("Photo Channel 1.1 [JAP]"):"0001000148415a4a",
#QT_TR_NOOP("Metroid Prime 3 Preview"):"00010001484157xx", #QT_TR_NOOP("Metroid Prime 3 Preview"):"00010001484157xx",
QT_TR_NOOP("Nintendo Channel"):"00010001484154xx", QT_TR_NOOP("Nintendo Channel"):"00010001484154xx",
QT_TR_NOOP("Check Mii Out / Mii Contest Channel[USA]"):"0001000148415045", QT_TR_NOOP("Mii Contest Channel [USA]"):"0001000148415045",
QT_TR_NOOP("Check Mii Out / Mii Contest Channel[PAL]"):"0001000148415050", QT_TR_NOOP("Mii Contest Channel [PAL]"):"0001000148415050",
QT_TR_NOOP("Check Mii Out / Mii Contest Channel[JAP]"):"000100014841504A", QT_TR_NOOP("Mii Contest Channel [JAP]"):"000100014841504A",
QT_TR_NOOP("Everyone Votes Channel[USA]"):"0001000148414a45", QT_TR_NOOP("Everyone Votes Channel [USA]"):"0001000148414a45",
QT_TR_NOOP("Everyone Votes Channel[PAL]"):"0001000148414a50", QT_TR_NOOP("Everyone Votes Channel [PAL]"):"0001000148414a50",
QT_TR_NOOP("Everyone Votes Channel[JAP]"):"0001000148414a4A", QT_TR_NOOP("Everyone Votes Channel [JAP]"):"0001000148414a4A",
#QT_TR_NOOP("Opera / Internet Channel"):"00010001484144xx", #QT_TR_NOOP("Opera / Internet Channel"):"00010001484144xx",
QT_TR_NOOP("Photo Channel"):"0001000248414141", QT_TR_NOOP("Photo Channel"):"0001000248414141",
QT_TR_NOOP("Shopping Channel"):"0001000248414241", 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" #QT_TR_NOOP("News Channel-HAGA"):"0001000248414741"
} }
#idDict = {} IOSdict = {
#for title in TitleDict: "BOOT2":"4",
# idDict[TitleDict[title]] = title "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 = {} DESCdict = {
for title in TitleDict: "BOOT2":"Second level boot",
if re.search("IOS", title): "System Menu [JAP]":"System Menu for japanese Wii",
IOSdict[title] = TitleDict[title] "System Menu [PAL]":"System Menu for european Wii",
IOSdict["IOS202"] = "00000001000000ca" "System Menu [USA]":"System Menu for american Wii",
IOSdict["IOS222"] = "00000001000000de" "System Menu [KOR]":"System Menu for korean Wii",
IOSdict["IOS249"] = "00000001000000f9" "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 = {} IOSids = {}
for ios in IOSdict: for ios in IOSdict: