diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 000000000..fcd965fd5 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index ee420dbf2..c6760f21b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ Super Mario Sunshine [![Build Status]][actions] [![Code Progress]][progress] [![Discord Badge]][discord] ============= + [][Progress] ============= @@ -43,17 +44,7 @@ macOS brew install ninja ``` -- Install [wine-crossover](https://github.com/Gcenx/homebrew-wine): - - ```sh - brew install --cask --no-quarantine gcenx/wine/wine-crossover - ``` - -After OS upgrades, if macOS complains about `Wine Crossover.app` being unverified, you can unquarantine it using: - -```sh -sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app' -``` +[wibo](https://github.com/decompals/wibo), a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used. Linux ------ diff --git a/configure.py b/configure.py index dbccba99e..bdd1bc72b 100644 --- a/configure.py +++ b/configure.py @@ -148,7 +148,8 @@ config.dtk_tag = "v1.3.0" config.objdiff_tag = "v3.7.1" config.sjiswrap_tag = "v1.2.0" -config.wibo_tag = "0.6.11" +config.wibo_tag = "1.2.0" +config.shift_jis = False # Project config.config_path = Path("config") / config.version / "config.yml" diff --git a/tools/download_tool.py b/tools/download_tool.py index 381b170a6..72d680e84 100644 --- a/tools/download_tool.py +++ b/tools/download_tool.py @@ -78,8 +78,21 @@ def sjiswrap_url(tag: str) -> str: def wibo_url(tag: str) -> str: + uname = platform.uname() + system = uname.system.lower() + arch = uname.machine.lower() + if arch == "amd64": + arch = "x86_64" + + if system == "darwin": + wibo_type = "wibo-macos" + elif system == "linux" and arch in ("i386", "i686"): + wibo_type = "wibo-i686" + else: + wibo_type = "wibo-x86_64" + repo = "https://github.com/decompals/wibo" - return f"{repo}/releases/download/{tag}/wibo" + return f"{repo}/releases/download/{tag}/{wibo_type}" TOOLS: Dict[str, Callable[[str], str]] = { diff --git a/tools/project.py b/tools/project.py index c36a335f6..b928bb20b 100644 --- a/tools/project.py +++ b/tools/project.py @@ -277,8 +277,8 @@ def compiler_wrapper(self) -> Optional[Path]: def use_wibo(self) -> bool: return ( self.wibo_tag is not None - and sys.platform == "linux" - and platform.machine() in ("i386", "x86_64") + and sys.platform in ("linux", "darwin") + and platform.machine() in ("i386", "x86_64", "arm64") and self.wrapper is None ) @@ -975,7 +975,13 @@ def write(self, n: ninja_syntax.Writer) -> None: "basefile": pch_out_abs_path.with_suffix(""), "basefilestem": pch_out_abs_path.stem, }, - implicit=[*mwcc_implicit], + implicit=[ + *( + mwcc_sjis_implicit + if pch.get("shift_jis", config.shift_jis) + else mwcc_implicit + ) + ], ) n.newline()