Cocoa module

3.5.0 Release

  • Resizable terminal windows have been added. On occasion, after resizing a window, a redraw might need to be forced using ^R. This will be fixed in the future. (#1743)
  • Fixes some memory handling to better support OS X 10.5. See commit b1011f7cb2.
  • Window close buttons work properly. They, along with the Window menu, are based on the subwindow settings. (#1664)
  • Window visibility should be maintained across launches. In some cases, they still might need to be opened manually (from the Window menu). This will be fixed in the future.
  • The `safe-install target has been added to Makefile.osx. This will append the version number to the Angband directory in the Documents folder (only if the Angband directory needs to be created) and to the preferences file. (#506)
  • A Command menu has been added to the menu bar. This menu currently contains commands that were difficult or impossible to type using non-US keyboards. This menu will probably grow in the future. (#880, #1460)
  • Added right mouse click and mouse click plus modifier support to the Cocoa port. Also, mouse clicks should be more accurate in relation to screen elements in the game itself. (#1678)
  • The default window layout is now nicely laid out, instead of windows cascaded onto the screen.
  • Monster recall now draws all characters properly. (#1710)

Earlier Versions

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 9 years

Last modified 7 years ago Last modified on 11/26/13 19:06:33