Skip to content

Commit 5e436b5

Browse files
committed
Fixed Mii Maestro
1 parent 0dcbde3 commit 5e436b5

File tree

3 files changed

+31
-25
lines changed

3 files changed

+31
-25
lines changed

WiiMusicEditorPlus.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
from update import UpdateWindow, CheckForUpdate
2626
from errorhandler import ShowError
27-
from settings import SettingsWindow, CheckboxSeperateSongPatching
27+
from settings import SettingsWindow
2828
from dialog import RiivolutionWindow, SuccessWindow, PackRomWindow, RevertChangesWindow, ImportChangesWindow, ConfirmDialog, DownloadSongThread
2929
from firstsetup import FirstSetupWindow
3030
from pypresence import Presence
@@ -634,7 +634,7 @@ def DownloadSongs(self):
634634
def SE_Patchable(self):
635635
allow = True
636636
if(self.SE_Midi.isEnabled() and (self.SE_Midi.isChecked() or Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Menu)):
637-
if(self.brseqInfo[1] == 0) or (self.brseqInfo[0] == 0 and self.SE_Midi_File_Replace_Song.isChecked() and LoadSetting("Settings","LoadSongSeparately",False)): allow = False
637+
if(self.brseqInfo[1] == 0) or (self.brseqInfo[0] == 0 and self.SE_Midi_File_Replace_Song.isChecked() and LoadSetting("Settings","LoadSongSeparately",False) and (Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Maestro)): allow = False
638638
elif(Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Menu):
639639
if(self.SE_ChangeSongText_Name_Input.text() == editor.textFromTxt[0][self.SE_SongToChange.currentRow()] and
640640
self.SE_ChangeSongText_Desc_Input.toPlainText() == editor.textFromTxt[1][self.SE_SongToChange.currentRow()] and
@@ -677,11 +677,29 @@ def Button_SE_Midi_Length(self):
677677
if(self.SE_Midi_Length_Measures.isChecked()): self.SE_Midi_Length_Input.setValue(round(int(self.SE_Midi_Length_Input.text())/(3+self.SE_Midi_TimeSignature_4.isChecked())))
678678
else: self.SE_Midi_Length_Input.setValue(round(int(self.SE_Midi_Length_Input.text())*(3+self.SE_Midi_TimeSignature_4.isChecked())))
679679

680+
def SE_SeperateSongPatching(self):
681+
if LoadSetting("Settings","LoadSongSeparately",False):
682+
self.SE_Midi_File_Song_Button.show()
683+
self.SE_Midi_File_Song_Title.show()
684+
self.SE_Midi_File_Song_Label.show()
685+
self.SE_Midi_File_Score_Title.show()
686+
self.SE_Midi_File_Replace_Song.show()
687+
enabled = (not self.SE_Midi.isEnabled() or Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Maestro)
688+
self.SE_Midi_File_Song_Button.setEnabled(enabled)
689+
self.SE_Midi_File_Song_Title.setEnabled(enabled)
690+
self.SE_Midi_File_Song_Label.setEnabled(enabled)
691+
self.SE_Midi_File_Replace_Song.setEnabled(enabled)
692+
else:
693+
self.SE_Midi_File_Song_Button.hide()
694+
self.SE_Midi_File_Song_Title.hide()
695+
self.SE_Midi_File_Song_Label.hide()
696+
self.SE_Midi_File_Score_Title.hide()
697+
self.SE_Midi_File_Replace_Song.hide()
698+
680699
def List_SE_SongToChange(self):
681700
if(AllowType(LoadType.Brsar)):
682-
if(not self.SE_Midi.isCheckable()):
683-
self.SE_Midi.setCheckable(True)
684-
self.SE_Midi.setEnabled(True)
701+
self.SE_Midi.setCheckable(True)
702+
self.SE_Midi.setEnabled(True)
685703
if(AllowType(LoadType.Carc)):
686704
if(Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Menu):
687705
self.SE_ChangeSongText.setEnabled(True)
@@ -696,6 +714,7 @@ def List_SE_SongToChange(self):
696714
self.SE_Midi.setCheckable(False)
697715
self.SE_Midi.setEnabled(True)
698716
if(AllowType(LoadType.Brsar)):
717+
self.SE_SeperateSongPatching()
699718
self.SE_StyleLabel.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
700719
self.SE_StyleText.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
701720
self.SE_OpenDefaultStyleEditor.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
@@ -716,7 +735,7 @@ def Button_SE_Patch(self):
716735
tmpInfo[1] = midiInfo[0]
717736
tmpLength[1] = midiInfo[1]
718737

719-
if(not self.SE_Midi_File_Replace_Song.isChecked() or not LoadSetting("Settings","LoadSongSeparately",False)):
738+
if(not self.SE_Midi_File_Replace_Song.isChecked() or not LoadSetting("Settings","LoadSongSeparately",False) or not self.SE_Midi_File_Replace_Song.isEnabled()):
720739
tmpInfo[0] = tmpInfo[1]
721740
tmpLength[0] = tmpLength[1]
722741
tmpPath[0] = ""
@@ -1115,7 +1134,7 @@ def run(self):
11151134
if(version != "null"): UpdateWindow(win,version)
11161135
except:
11171136
print("Could Not Update")
1118-
CheckboxSeperateSongPatching(win)
1137+
win.SE_SeperateSongPatching()
11191138
app.exec()
11201139
if(win.discord): win.discord.close()
11211140
sys.exit()

editor.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,8 @@ def SizeIncreaseBrsar(file,sizeDifference,startoffset):
574574
size = file.read(4)
575575
file.seek(offset)
576576
file.write((int.from_bytes(size,"big")+sizeDifference).to_bytes(4, 'big'))
577-
offset += 8
577+
offset += 8
578+
if(offset > startoffset):
578579
file.seek(offset)
579580
size = file.read(4)
580581
file.seek(offset)
@@ -1563,4 +1564,4 @@ def getData(file,point):
15631564
if(not os.path.exists(file.path)): file.path = ""
15641565
from errorhandler import ShowError
15651566

1566-
version = "1.0.0"
1567+
version = "1.0.1"

settings.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def ConnectCheckmark(self,checkmarkId,setting,default):
6666
def Checkmark(self,checkmark,setting):
6767
SaveSetting("Settings",setting,(checkmark.checkState() == 2))
6868
if(setting == "UnsafeMode"): editor.unsafeMode = (checkmark.checkState() == 2)
69-
if(setting == "LoadSongSeparately"): CheckboxSeperateSongPatching(self.otherWindow)
69+
if(setting == "LoadSongSeparately"): self.otherWindow.SE_SeperateSongPatching()
7070

7171
def RegionChange(self):
7272
if(editor.file.type != LoadType.Rom):
@@ -131,18 +131,4 @@ def GetDolphinSave(self):
131131
else:
132132
self.hide()
133133
ShowError(self.tr("Not a Dolphin Save Directory"),self.tr("Wii and GameSettings folder not found"))
134-
self.show()
135-
136-
def CheckboxSeperateSongPatching(otherWindow):
137-
if(LoadSetting("Settings","LoadSongSeparately",False)):
138-
otherWindow.SE_Midi_File_Song_Button.show()
139-
otherWindow.SE_Midi_File_Song_Title.show()
140-
otherWindow.SE_Midi_File_Song_Label.show()
141-
otherWindow.SE_Midi_File_Score_Title.show()
142-
otherWindow.SE_Midi_File_Replace_Song.show()
143-
else:
144-
otherWindow.SE_Midi_File_Song_Button.hide()
145-
otherWindow.SE_Midi_File_Song_Title.hide()
146-
otherWindow.SE_Midi_File_Song_Label.hide()
147-
otherWindow.SE_Midi_File_Score_Title.hide()
148-
otherWindow.SE_Midi_File_Replace_Song.hide()
134+
self.show()

0 commit comments

Comments
 (0)