Repository navigation
Releases: abduzeedo/mapc-engine
Releases · abduzeedo/mapc-engine
Release list
0.1.7
Mac driver options follow the registry.
WineRunner.syncMacDriver(_:engine:bottle:)reads the bottle's real Mac driver values (Retina mode, Command as Control) before each launch, writes only what differs from the game's profile, and checks each write (MacDriver.SyncResult). While a wineserver runs it asks it (reg query); otherwise it readsuser.reg, which is what the next wineserver loads and starts nothing. A registry that can't be read means every value is written.MacDriver: the profile's values, how the Mac driver reads an option (y/t/1, n/f/0),user.regandreg queryparsing.applyMacDriveris removed.AppSettings.appliedRetina/appliedMacDriverare no longer used (kept so older versions can read the file).
Validation: 192 tests pass.
0.1.6
Replaced engines are found and updated.
EngineManifest.updates(for:appVersion:macOS:)finds installed engines the engine list no longer offers, and pairs each with the newest listed engine that replaces it: newer, provides every backend the old one did, and fits this app and macOS. With the current list: 2.0.1 → 2.0.2 (2.0.1 crashes at start on macOS 26) and 1.0.0 → 1.0.1. Test builds newer than anything listed are left alone.- Manifest entries can set
minMacOS. AppSettings.moveEnvironments(fromEngine:to:)moves the environments and the active engine to the replacement.- Check Last Launch: a crash within seconds on a replaced engine now names the engine and offers the update, instead of the generic engine-crash text.
Validation: 180 tests pass.
0.1.5
Steam stays signed in across engine switches.
- Engine 2.x is built from CrossOver's source, which reports the Windows user as
crossover. Engine 1.x reports the Mac user. Windows encrypts saved logins (DPAPI) with a key based on that name, so Steam's saved login couldn't be read after switching engines, and Steam asked to sign in again. MaPC now setsCX_REPORT_REAL_USERNAME=1for every Wine process, so both engines use the same name. - One-time: anything saved while on a 2.x engine (for example a Steam login last made there) needs one more sign-in after updating. After that, logins carry across engine switches in both directions.
Validation: 174 tests pass.
0.1.4
Backend switch fix.
- Moving a bottle from a D3DMetal engine (2.x) to a DXVK engine (1.x) no longer leaves
system32withoutd3d10,d3d11anddxgi. Wine's own copies are put back, and bottles the old code broke are repaired the next time they start. This fixes Steam's helper failing to start withFailed to load module dxgi.dll(c0000135). Files MaPC didn't put there are left alone.
Validation: 173 tests pass.
0.1.3
32-bit Direct3D 10/11, macOS 26 engine fix and launch diagnosis, for MaPC 1.1.4. Fixes #3.
- Detect 32-bit Direct3D 10/11 games and run them with DXMT v0.80 (MIT) in engine 2.x; take back graphics DLLs a launch doesn't want.
- Engine 2.x: fix the start crash on macOS 26 (
pipe2weak import), with a build check for unguarded weak imports; game videos through a user-installed GStreamer.framework (none is shipped). - Engine 1.x: DXVK built in as in 1.0.0; unused Wine Gecko left out; Wine Mono's licenses shipped.
- LogDiagnosis and
mapc diagnose: name known problems in a launch log. - Engine list: skip entries whose
minAppVersionis newer than the app. - Complete third-party notices (DXMT, LLVM, Microsoft DXBC parser, winpthreads, Wine's bundled libraries, Wine Mono).
Validation: 170 tests pass.
0.1.2
Steam recovery and save safety fixes for MaPC 1.1.2.
- Verify incomplete Steam installations instead of treating the bootstrapper as a complete client; support an explicit verification launch for repair.
- Replace Chromium helpers atomically, recover interrupted replacements, and upgrade legacy wrappers while preserving Valve's executable.
- Pass per-game launch arguments to Steam and expose all Steam library directories for file monitoring.
- Abort save restoration if a required safety backup fails, and defer retention until restoration finishes.
- Include engine, environment, backend and process exit metadata in launch logs without logging arguments or tokens.
Validation: 148 MacadeKit tests and 10 command tests pass, including nine new recovery and save-safety regressions.