mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-16 15:20:11 -05:00
bradley -> dev #2365
This commit is contained in:
commit
207d38e476
@ -32,17 +32,16 @@ def main():
|
|||||||
parser.add_argument("-z", "--zapd", help="Path to ZAPD executable", dest="zapd_exe", type=str)
|
parser.add_argument("-z", "--zapd", help="Path to ZAPD executable", dest="zapd_exe", type=str)
|
||||||
parser.add_argument("rom", help="Path to the rom", type=str, nargs="?")
|
parser.add_argument("rom", help="Path to the rom", type=str, nargs="?")
|
||||||
parser.add_argument("--non-interactive", help="Runs the script non-interactively for use in build scripts.", dest="non_interactive", action="store_true")
|
parser.add_argument("--non-interactive", help="Runs the script non-interactively for use in build scripts.", dest="non_interactive", action="store_true")
|
||||||
|
parser.add_argument("-v", "--verbose", help="Display rom's header checksums and their corresponding xml folder", dest="verbose", action="store_true")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
rom_paths = [ args.rom ] if args.rom else rom_chooser.chooseROM(args.non_interactive)
|
roms = [ Z64Rom(args.rom) ] if args.rom else rom_chooser.chooseROM(args.verbose, args.non_interactive)
|
||||||
for rom_path in rom_paths:
|
for rom in roms:
|
||||||
rom = Z64Rom(rom_path)
|
|
||||||
|
|
||||||
if (os.path.exists("Extract")):
|
if (os.path.exists("Extract")):
|
||||||
shutil.rmtree("Extract")
|
shutil.rmtree("Extract")
|
||||||
|
|
||||||
BuildOTR("../soh/assets/xml/" + rom.version.xml_ver + "/", rom_path, zapd_exe=args.zapd_exe)
|
BuildOTR("../soh/assets/xml/" + rom.version.xml_ver + "/", rom.file_path, zapd_exe=args.zapd_exe)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
@ -2,12 +2,13 @@ import os, sys, glob
|
|||||||
|
|
||||||
from rom_info import Z64Rom
|
from rom_info import Z64Rom
|
||||||
|
|
||||||
def chooseROM(non_interactive=False):
|
def chooseROM(verbose=False, non_interactive=False):
|
||||||
roms = []
|
roms = []
|
||||||
|
|
||||||
for file in glob.glob("*.z64"):
|
for file in glob.glob("*.z64"):
|
||||||
if Z64Rom.isValidRom(file):
|
rom = Z64Rom(file)
|
||||||
roms.append(file)
|
if rom.is_valid:
|
||||||
|
roms.append(rom)
|
||||||
|
|
||||||
if not (roms):
|
if not (roms):
|
||||||
print("Error: No roms located, place one in the OTRExporter directory", file=os.sys.stderr)
|
print("Error: No roms located, place one in the OTRExporter directory", file=os.sys.stderr)
|
||||||
@ -21,23 +22,28 @@ def chooseROM(non_interactive=False):
|
|||||||
foundMq = False
|
foundMq = False
|
||||||
foundOot = False
|
foundOot = False
|
||||||
for rom in roms:
|
for rom in roms:
|
||||||
isMq = Z64Rom.isMqRom(rom)
|
if rom.isMq and not foundMq:
|
||||||
if isMq and not foundMq:
|
|
||||||
romsToExtract.append(rom)
|
romsToExtract.append(rom)
|
||||||
foundMq = True
|
foundMq = True
|
||||||
elif not isMq and not foundOot:
|
elif not rom.isMq and not foundOot:
|
||||||
romsToExtract.append(rom)
|
romsToExtract.append(rom)
|
||||||
foundOot = True
|
foundOot = True
|
||||||
return romsToExtract
|
return romsToExtract
|
||||||
|
|
||||||
print(str(len(roms))+ " roms found, please select one by pressing 1-"+str(len(roms)))
|
print(f"{len(roms)} roms found, please select one by pressing 1-{len(roms)}")
|
||||||
|
print()
|
||||||
|
|
||||||
for i in range(len(roms)):
|
for i in range(len(roms)):
|
||||||
print(str(i+1)+ ". " + roms[i])
|
print(f"[{i+1:>2d}] {roms[i].file_path}")
|
||||||
|
if verbose:
|
||||||
|
print(f" Checksum: {roms[i].checksum.value}, Version XML: {roms[i].version.xml_ver}")
|
||||||
|
print()
|
||||||
|
|
||||||
while(1):
|
while(1):
|
||||||
try:
|
try:
|
||||||
selection = int(input())
|
selection = int(input())
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
sys.exit(1)
|
||||||
except:
|
except:
|
||||||
print("Bad input. Try again with the number keys.")
|
print("Bad input. Try again with the number keys.")
|
||||||
continue
|
continue
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
<string>@CMAKE_PROJECT_VERSION@</string>
|
<string>@CMAKE_PROJECT_VERSION@</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright 2022 HarbourMasters.</string>
|
<string>Copyright 2022 HarbourMasters.</string>
|
||||||
|
<key>LSApplicationCategoryType</key>
|
||||||
|
<string>public.app-category.games</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.15</string>
|
<string>10.15</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -55,9 +55,8 @@ void DrawPresetSelector(PresetType presetTypeId) {
|
|||||||
|
|
||||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(6.0f, 4.0f));
|
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(6.0f, 4.0f));
|
||||||
if (ImGui::Button(("Apply Preset##" + presetTypeCvar).c_str())) {
|
if (ImGui::Button(("Apply Preset##" + presetTypeCvar).c_str())) {
|
||||||
if (selectedPresetId == 0) {
|
clearCvars(presetTypeDef.cvarsToClear);
|
||||||
clearCvars(presetTypeDef.cvarsToClear);
|
if (selectedPresetId != 0) {
|
||||||
} else {
|
|
||||||
applyPreset(selectedPresetDef.entries);
|
applyPreset(selectedPresetDef.entries);
|
||||||
}
|
}
|
||||||
SohImGui::RequestCvarSaveOnNextTick();
|
SohImGui::RequestCvarSaveOnNextTick();
|
||||||
|
@ -286,6 +286,11 @@ Item& ItemFromGIID(const int giid) {
|
|||||||
}
|
}
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// there are vanilla items that don't exist in the item table we're reading from here
|
||||||
|
// if we made it this far, it means we didn't find an item in the table
|
||||||
|
// if we don't return anything, the game will crash, so, as a workaround, return greg
|
||||||
|
return itemTable[GREEN_RUPEE];
|
||||||
}
|
}
|
||||||
|
|
||||||
//This function should only be used to place items containing hint text
|
//This function should only be used to place items containing hint text
|
||||||
|
@ -271,6 +271,10 @@ namespace GameMenuBar {
|
|||||||
ImGui::PopStyleVar(1);
|
ImGui::PopStyleVar(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (SohImGui::supportsWindowedFullscreen()) {
|
||||||
|
UIWidgets::PaddedEnhancementCheckbox("Windowed fullscreen", "gSdlWindowedFullscreen", true, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (SohImGui::supportsViewports()) {
|
if (SohImGui::supportsViewports()) {
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Allow multi-windows", "gEnableMultiViewports", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Allow multi-windows", "gEnableMultiViewports", true, false);
|
||||||
UIWidgets::Tooltip("Allows windows to be able to be dragged off of the main game window. Requires a reload to take effect.");
|
UIWidgets::Tooltip("Allows windows to be able to be dragged off of the main game window. Requires a reload to take effect.");
|
||||||
|
Loading…
Reference in New Issue
Block a user