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

Terminal refresh calls have also been addressed.

Cocoa module

The Cocoa port contribution from ridiculousfish is a substantial improvement. We have made it the supported OS X display module, but it still wants some work before we can adopt it as the supported OS X module. Things I hope to fix before the next 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 (or perhaps vice versa), but that is not present yet.
  • The window close buttons are currently disabled. They should instead work and automatically modify the subwindow preferences, or save and quit the game in the case of the main window, possibly with prompting.
  • The Cocoa port lacks the Open Recent... menu from the Carbon port.
  • The Cocoa port lacks support for double-height tiles, overdraw, and alphablend.
  • Command-` cycles through the windows in a non-intuitive order.

Fixes that have already made it into master:

  • 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.
  • 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.
  • UTF-8 is now completely supported, as far as I know.
  • The Cocoa port now has support for movement by mouse. See #1678 and commits 08ab3b9 and 2ad65bd.
  • Some excessive terminal refresh calls have been removed. See #1669.

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.


Milestone: Future (4 matches)

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