mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-21 06:30:52 +10:00
Merge branch 'main' into among-us
This commit is contained in:
+1
-1
@@ -48,7 +48,7 @@
|
|||||||
- Resolve exception handler not logging to file
|
- Resolve exception handler not logging to file
|
||||||
- Display raised exceptions from main thread to users
|
- Display raised exceptions from main thread to users
|
||||||
- Increment Binaries:
|
- Increment Binaries:
|
||||||
- PatcherSupportPkg 1.0.2 - release
|
- PatcherSupportPkg 1.1.0 - release
|
||||||
- OpenCorePkg 0.9.2 - release
|
- OpenCorePkg 0.9.2 - release
|
||||||
- Lilu 1.6.6 - rolling (d8f3782)
|
- Lilu 1.6.6 - rolling (d8f3782)
|
||||||
- RestrictEvents 1.1.1 - release
|
- RestrictEvents 1.1.1 - release
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class Constants:
|
|||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
# Patcher Versioning
|
# Patcher Versioning
|
||||||
self.patcher_version: str = "0.6.6" # OpenCore-Legacy-Patcher
|
self.patcher_version: str = "0.6.6" # OpenCore-Legacy-Patcher
|
||||||
self.patcher_support_pkg_version: str = "1.0.2" # PatcherSupportPkg
|
self.patcher_support_pkg_version: str = "1.1.0" # PatcherSupportPkg
|
||||||
self.copyright_date: str = "Copyright © 2020-2023 Dortania"
|
self.copyright_date: str = "Copyright © 2020-2023 Dortania"
|
||||||
self.patcher_name: str = "OpenCore Legacy Patcher"
|
self.patcher_name: str = "OpenCore Legacy Patcher"
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ class Constants:
|
|||||||
## Internal settings
|
## Internal settings
|
||||||
self.allow_oc_everywhere: bool = False # Set whether Patcher can be run on unsupported Macs
|
self.allow_oc_everywhere: bool = False # Set whether Patcher can be run on unsupported Macs
|
||||||
self.gui_mode: bool = False # Determine whether running in a GUI or TUI
|
self.gui_mode: bool = False # Determine whether running in a GUI or TUI
|
||||||
self.cli_mode: bool = False # Determine if running in CLI mode
|
self.cli_mode: bool = True # Determine if running in CLI mode
|
||||||
self.validate: bool = False # Enable validation testing for CI
|
self.validate: bool = False # Enable validation testing for CI
|
||||||
self.recovery_status: bool = False # Detect if booted into RecoveryOS
|
self.recovery_status: bool = False # Detect if booted into RecoveryOS
|
||||||
self.ignore_updates: bool = False # Ignore OCLP updates
|
self.ignore_updates: bool = False # Ignore OCLP updates
|
||||||
|
|||||||
@@ -159,6 +159,9 @@ class InitializeLoggingSupport:
|
|||||||
"""
|
"""
|
||||||
logging.error("Uncaught exception in main thread", exc_info=(type, value, tb))
|
logging.error("Uncaught exception in main thread", exc_info=(type, value, tb))
|
||||||
|
|
||||||
|
if self.constants.cli_mode is True:
|
||||||
|
return
|
||||||
|
|
||||||
error_msg = f"OpenCore Legacy Patcher encountered the following internal error:\n\n"
|
error_msg = f"OpenCore Legacy Patcher encountered the following internal error:\n\n"
|
||||||
error_msg += f"{type.__name__}: {value}"
|
error_msg += f"{type.__name__}: {value}"
|
||||||
if tb:
|
if tb:
|
||||||
|
|||||||
+1
-1
@@ -93,6 +93,7 @@ class OpenCoreLegacyPatcher:
|
|||||||
threading.Thread(target=analytics_handler.Analytics, args=(self.constants,)).start()
|
threading.Thread(target=analytics_handler.Analytics, args=(self.constants,)).start()
|
||||||
|
|
||||||
if utilities.check_cli_args() is None:
|
if utilities.check_cli_args() is None:
|
||||||
|
self.constants.cli_mode = False
|
||||||
logging.info(f"- No arguments present, loading {'GUI' if self.constants.wxpython_variant is True else 'TUI'} mode")
|
logging.info(f"- No arguments present, loading {'GUI' if self.constants.wxpython_variant is True else 'TUI'} mode")
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -102,7 +103,6 @@ class OpenCoreLegacyPatcher:
|
|||||||
ignore_args = ["--auto_patch", "--gui_patch", "--gui_unpatch", "--update_installed"]
|
ignore_args = ["--auto_patch", "--gui_patch", "--gui_unpatch", "--update_installed"]
|
||||||
if not any(x in sys.argv for x in ignore_args):
|
if not any(x in sys.argv for x in ignore_args):
|
||||||
self.constants.current_path = Path.cwd()
|
self.constants.current_path = Path.cwd()
|
||||||
self.constants.cli_mode = True
|
|
||||||
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
||||||
logging.info("- Rerouting payloads location")
|
logging.info("- Rerouting payloads location")
|
||||||
self.constants.payload_path = sys._MEIPASS / Path("payloads")
|
self.constants.payload_path = sys._MEIPASS / Path("payloads")
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
from resources.sys_patch import sys_patch_helpers
|
from resources.sys_patch import sys_patch_helpers
|
||||||
from resources.build import build
|
from resources.build import build
|
||||||
from resources import constants
|
from resources import constants, network_handler
|
||||||
from data import example_data, model_array, sys_patch_dict, os_data
|
from data import example_data, model_array, sys_patch_dict, os_data
|
||||||
|
|
||||||
|
|
||||||
@@ -134,8 +134,11 @@ class PatcherValidation:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not Path(self.constants.payload_local_binaries_root_path_dmg).exists():
|
if not Path(self.constants.payload_local_binaries_root_path_dmg).exists():
|
||||||
logging.info("- Skipping Root Patch File integrity validation")
|
dl_obj = network_handler.DownloadObject(f"https://github.com/dortania/PatcherSupportPkg/releases/download/{self.constants.patcher_support_pkg_version}/Universal-Binaries.dmg", self.constants.payload_local_binaries_root_path_dmg)
|
||||||
return
|
dl_obj.download(spawn_thread=False)
|
||||||
|
if dl_obj.download_complete is False:
|
||||||
|
logging.info("Failed to download Universal-Binaries.dmg")
|
||||||
|
raise Exception("Failed to download Universal-Binaries.dmg")
|
||||||
|
|
||||||
logging.info("Validating Root Patch File integrity")
|
logging.info("Validating Root Patch File integrity")
|
||||||
output = subprocess.run(
|
output = subprocess.run(
|
||||||
|
|||||||
@@ -229,7 +229,8 @@ class SettingsFrame(wx.Frame):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
models = [model for model in smbios_data.smbios_dictionary if "_" not in model and " " not in model and smbios_data.smbios_dictionary[model]["Board ID"] is not None]
|
models = [model for model in smbios_data.smbios_dictionary if "_" not in model and " " not in model and smbios_data.smbios_dictionary[model]["Board ID"] is not None]
|
||||||
socketed_gpu_models = ["iMac9,1", "iMac10,1", "iMac11,1", "iMac11,2", "iMac11,3", "iMac12,1", "iMac12,2", "MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1"]
|
socketed_imac_models = ["iMac9,1", "iMac10,1", "iMac11,1", "iMac11,2", "iMac11,3", "iMac12,1", "iMac12,2"]
|
||||||
|
socketed_gpu_models = socketed_imac_models + ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1"]
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"Build": {
|
"Build": {
|
||||||
@@ -541,6 +542,7 @@ class SettingsFrame(wx.Frame):
|
|||||||
"Override detected/assumed GPU on",
|
"Override detected/assumed GPU on",
|
||||||
"socketed MXM-based iMacs.",
|
"socketed MXM-based iMacs.",
|
||||||
],
|
],
|
||||||
|
"condition": bool((not self.constants.custom_model and self.constants.computer.real_model in socketed_imac_models) or (self.constants.custom_model and self.constants.custom_model in socketed_imac_models))
|
||||||
},
|
},
|
||||||
"Populate Graphics Override": {
|
"Populate Graphics Override": {
|
||||||
"type": "populate",
|
"type": "populate",
|
||||||
@@ -713,6 +715,16 @@ class SettingsFrame(wx.Frame):
|
|||||||
"condition": gui_support.CheckProperties(self.constants).host_is_non_metal(general_check=True)
|
"condition": gui_support.CheckProperties(self.constants).host_is_non_metal(general_check=True)
|
||||||
|
|
||||||
},
|
},
|
||||||
|
"Beach Ball Cursor Workaround": {
|
||||||
|
"type": "checkbox",
|
||||||
|
"value": self._get_system_settings("Moraea.EnableSpinHack"),
|
||||||
|
"variable": "Moraea.EnableSpinHack",
|
||||||
|
"description": [
|
||||||
|
"Note: May be more CPU intensive.",
|
||||||
|
],
|
||||||
|
"override_function": self._update_system_defaults,
|
||||||
|
"condition": gui_support.CheckProperties(self.constants).host_is_non_metal(general_check=True)
|
||||||
|
},
|
||||||
"wrap_around 2": {
|
"wrap_around 2": {
|
||||||
"type": "wrap_around",
|
"type": "wrap_around",
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user