Skip to content

Commit

Permalink
Fixed Mii Maestro
Browse files Browse the repository at this point in the history
  • Loading branch information
BenjaminHalko committed Feb 12, 2022
1 parent 0dcbde3 commit 5e436b5
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 25 deletions.
33 changes: 26 additions & 7 deletions WiiMusicEditorPlus.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

from update import UpdateWindow, CheckForUpdate
from errorhandler import ShowError
from settings import SettingsWindow, CheckboxSeperateSongPatching
from settings import SettingsWindow
from dialog import RiivolutionWindow, SuccessWindow, PackRomWindow, RevertChangesWindow, ImportChangesWindow, ConfirmDialog, DownloadSongThread
from firstsetup import FirstSetupWindow
from pypresence import Presence
Expand Down Expand Up @@ -634,7 +634,7 @@ def DownloadSongs(self):
def SE_Patchable(self):
allow = True
if(self.SE_Midi.isEnabled() and (self.SE_Midi.isChecked() or Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Menu)):
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
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
elif(Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Menu):
if(self.SE_ChangeSongText_Name_Input.text() == editor.textFromTxt[0][self.SE_SongToChange.currentRow()] and
self.SE_ChangeSongText_Desc_Input.toPlainText() == editor.textFromTxt[1][self.SE_SongToChange.currentRow()] and
Expand Down Expand Up @@ -677,11 +677,29 @@ def Button_SE_Midi_Length(self):
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())))
else: self.SE_Midi_Length_Input.setValue(round(int(self.SE_Midi_Length_Input.text())*(3+self.SE_Midi_TimeSignature_4.isChecked())))

def SE_SeperateSongPatching(self):
if LoadSetting("Settings","LoadSongSeparately",False):
self.SE_Midi_File_Song_Button.show()
self.SE_Midi_File_Song_Title.show()
self.SE_Midi_File_Song_Label.show()
self.SE_Midi_File_Score_Title.show()
self.SE_Midi_File_Replace_Song.show()
enabled = (not self.SE_Midi.isEnabled() or Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Maestro)
self.SE_Midi_File_Song_Button.setEnabled(enabled)
self.SE_Midi_File_Song_Title.setEnabled(enabled)
self.SE_Midi_File_Song_Label.setEnabled(enabled)
self.SE_Midi_File_Replace_Song.setEnabled(enabled)
else:
self.SE_Midi_File_Song_Button.hide()
self.SE_Midi_File_Song_Title.hide()
self.SE_Midi_File_Song_Label.hide()
self.SE_Midi_File_Score_Title.hide()
self.SE_Midi_File_Replace_Song.hide()

def List_SE_SongToChange(self):
if(AllowType(LoadType.Brsar)):
if(not self.SE_Midi.isCheckable()):
self.SE_Midi.setCheckable(True)
self.SE_Midi.setEnabled(True)
self.SE_Midi.setCheckable(True)
self.SE_Midi.setEnabled(True)
if(AllowType(LoadType.Carc)):
if(Songs[self.SE_SongToChange.currentRow()].SongType != SongTypeValue.Menu):
self.SE_ChangeSongText.setEnabled(True)
Expand All @@ -696,6 +714,7 @@ def List_SE_SongToChange(self):
self.SE_Midi.setCheckable(False)
self.SE_Midi.setEnabled(True)
if(AllowType(LoadType.Brsar)):
self.SE_SeperateSongPatching()
self.SE_StyleLabel.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
self.SE_StyleText.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
self.SE_OpenDefaultStyleEditor.setEnabled(Songs[self.SE_SongToChange.currentRow()].SongType == SongTypeValue.Regular)
Expand All @@ -716,7 +735,7 @@ def Button_SE_Patch(self):
tmpInfo[1] = midiInfo[0]
tmpLength[1] = midiInfo[1]

if(not self.SE_Midi_File_Replace_Song.isChecked() or not LoadSetting("Settings","LoadSongSeparately",False)):
if(not self.SE_Midi_File_Replace_Song.isChecked() or not LoadSetting("Settings","LoadSongSeparately",False) or not self.SE_Midi_File_Replace_Song.isEnabled()):
tmpInfo[0] = tmpInfo[1]
tmpLength[0] = tmpLength[1]
tmpPath[0] = ""
Expand Down Expand Up @@ -1115,7 +1134,7 @@ def run(self):
if(version != "null"): UpdateWindow(win,version)
except:
print("Could Not Update")
CheckboxSeperateSongPatching(win)
win.SE_SeperateSongPatching()
app.exec()
if(win.discord): win.discord.close()
sys.exit()
5 changes: 3 additions & 2 deletions editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,8 @@ def SizeIncreaseBrsar(file,sizeDifference,startoffset):
size = file.read(4)
file.seek(offset)
file.write((int.from_bytes(size,"big")+sizeDifference).to_bytes(4, 'big'))
offset += 8
offset += 8
if(offset > startoffset):
file.seek(offset)
size = file.read(4)
file.seek(offset)
Expand Down Expand Up @@ -1563,4 +1564,4 @@ def getData(file,point):
if(not os.path.exists(file.path)): file.path = ""
from errorhandler import ShowError

version = "1.0.0"
version = "1.0.1"
18 changes: 2 additions & 16 deletions settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def ConnectCheckmark(self,checkmarkId,setting,default):
def Checkmark(self,checkmark,setting):
SaveSetting("Settings",setting,(checkmark.checkState() == 2))
if(setting == "UnsafeMode"): editor.unsafeMode = (checkmark.checkState() == 2)
if(setting == "LoadSongSeparately"): CheckboxSeperateSongPatching(self.otherWindow)
if(setting == "LoadSongSeparately"): self.otherWindow.SE_SeperateSongPatching()

def RegionChange(self):
if(editor.file.type != LoadType.Rom):
Expand Down Expand Up @@ -131,18 +131,4 @@ def GetDolphinSave(self):
else:
self.hide()
ShowError(self.tr("Not a Dolphin Save Directory"),self.tr("Wii and GameSettings folder not found"))
self.show()

def CheckboxSeperateSongPatching(otherWindow):
if(LoadSetting("Settings","LoadSongSeparately",False)):
otherWindow.SE_Midi_File_Song_Button.show()
otherWindow.SE_Midi_File_Song_Title.show()
otherWindow.SE_Midi_File_Song_Label.show()
otherWindow.SE_Midi_File_Score_Title.show()
otherWindow.SE_Midi_File_Replace_Song.show()
else:
otherWindow.SE_Midi_File_Song_Button.hide()
otherWindow.SE_Midi_File_Song_Title.hide()
otherWindow.SE_Midi_File_Song_Label.hide()
otherWindow.SE_Midi_File_Score_Title.hide()
otherWindow.SE_Midi_File_Replace_Song.hide()
self.show()

0 comments on commit 5e436b5

Please sign in to comment.