Star on GitHubStar1.1k stars

Case study

d2mac-linux: porting the Diablo II Mac executable to 32-bit Linux

d2mac-linux ports the Diablo II 1.14d Mac executable to 32-bit Linux by converting its i386 Mach-O container to ELF and reimplementing imported Darwin, Carbon and AGL interfaces in Zig. The shim translates graphics to GLX and adapts threading, files and sockets. The author reports that the game reaches its menu and character creation.

Targets
Binary · Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: A legitimate copy of the original Diablo II Mac client and its game data is required.
  • Prerequisites: Execution needs a 32-bit-capable Linux userland, Mesa GL and an X server.
  • Limits: Right-click handling and sound remain unimplemented.
  • License: MIT.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · jaenster/d2mac-linux · Revision 313fa1c
  2. scripts/README.md GitHub · jaenster/d2mac-linux · Revision 313fa1c
  3. LICENSE GitHub · jaenster/d2mac-linux · Revision 313fa1c

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab