wiki:MacPortStatus

Version 10 (modified by myshkin, 7 years ago) (diff)

--

Cocoa module

The Cocoa port contribution from ridiculousfish is a substantial improvement, but still requires some work before we can adopt it as the supported OS X module. Things I hope to fix before the 3.4 release:

  • Currently, resizing a window simply rescales its contents; the application does not permit different font sizes in different windows or non-default numbers of rows or columns. It should behave more like other multi-term modules. I have coded support for different font names and sizes in different terms, and setting the font will resize the term accordingly. I would like to add support for holding down Command while resizing to change the number of rows and columns in a term, but that is not present yet.
  • The Cocoa port chooses a different directory for save files, pref files, and the like from what the Carbon port used. I'll have to check the Apple docs to see which makes more sense. UPDATE: see OS X Standard Directories: Where Files Reside. Save files, user preference files, etc. will go under ~/Documents/Angband, and app-created preferences like font sizes for terms will go into ~/Library/Preferences/org.rephial.angband.plist.
  • The Cocoa port lacks the Open Recent... menu from the Carbon port.
  • The Cocoa port lacks support for double-height tiles, overdraw, and alphablend.
  • Keymaps do not work as expected. With roguelike keys, it knows that keymaps like ^B -> +1 exist enough to be able to append them to a file, but the query function doesn't know them, and they don't work in the game. Also, capital J becomes {S}J (which is technically correct, but quite cumbersome), and ^J becomes ^[Return] (and ^H becomes ^[Backspace]). david3x3x3 fixed most of this problem in the #1417 fix, and adding checks for MODS_INCLUDE_{CONTROL,SHIFT} to send_event() dealt with most of the extraneous modifiers.
  • Command-` cycles through the windows in a non-intuitive order.

I have UTF-8 support mostly working in my v4-utf-8 branch.

The myshkin/master-osx branch now has UTF-8 support and the fixes noted above. It awaits testing and merging into master. Valgrind reports lots of leaks and errors, but many of them are safe to ignore. I will go through the output in more detail soon.

Note that, because of the API functions it uses, the Cocoa module requires OS X 10.5 or later. We are also not supporting PPC machines.

Carbon module

We intend to deprecate the Carbon module for the 3.4.0 release, presumably with intentions to remove it in 3.5.0.

Tickets

Milestone: Future (4 matches)

Ticket Summary Keywords Status Owner Type Created
#1114 Use Sparkle for automatic game updates on OS X mac new task 9 years
#1375 Add Mac OS X support to configure.ac and version.sh support to the Mac build mac assigned myshkin change 8 years
#1460 Non-English keyboard layouts have problems for commonly-used commands on SDL and OS X InputRework sdl mac reopened takkaria bug 8 years
#1549 OSX support for double-height tiles mac graphics assigned myshkin change 8 years