Files uploaded: xtra-mac-302-gcc.tar.gz.2 - replacement for xtra-mac-302-gcc.tar.gz and *.1 xtra-mac-302-gcc.tar.gz.txt.2 - replacement for xtra-mac-302-gcc.tar.gz.txt and *.1 Update #1 (11 January, 2003) - Use of #ifdef __APPLE__ interfared with Darwin + GCU/Xaw/Gtk/X11. - Removed *huge* graphics and sound resouces from the archive. Update #2 (12 January, 2003) - Moved tiles out of application's resource fork. They are ordinary PNG files, to be stored in application bundle's Resources subdirectory. - Killed all the compiler warnings but those involving redefinitions of uint and bool by h-type.h. Update #3 (16 January, 2003) - TileWidth/Height menus ceased to work, because some APIs started to return Unicode strings instead of ASCII. Update #4 (19 January, 2003) - Transparency effect code no longer requires masks of any sorts, but it assumes black pixels in monster/object tiles should be transparent. - Regression test on CodeWarrior (to see if main-crb.c still can be used to produce functional PEF Carbon code). Update #5 (20 January, 2003) - Rewrote sound effect player, because it unlocked and freed sound data immediated after they are started playing, while Apple documentation clearly states they should remain locked until they finish playing. In fact, I saw the game crashing with sound effects on more than a couple of times. - The game now frees memory allocated by graphics and sound code upon exiting. --- Carbon port of Angband 3.0.2 for OS X gcc + Makefile Makefile.osx - a really quick and dirty Makefile. Angband.icns - traditional Mac Angband icons converted (binary) Data.icns - " Edit.icns - " Save.icns - " Angband.r - Menu and dialog definitions (text) Angband.plist - Info.plist for the Angband application (xml text) main-crb.c - Hacked version of my Carbon support file -- replaced legacy HFS API with Unix-sensitive ones. I haven't stated this anywhere, but all the modifications done by myself ("pelpel") are subject to the Angband/GPL dual licence (for everything I've done to Angband and its variants). patch.diff - source code patch I haven't converted those resources yet, so it doesn't work on UFS volumes, nor you can use cp or tar to copy/archive the application. Please use dual-fork aware utilities like StuffIt. The graphics tiles have been moved out of the resource fork, but, again, it isn't generally safe just to convert GIF or BMP files to PNG, because the Mac OS takes dpi values stored in various images quite seriously. Almost all tilesets for *band requires adjustment, with the sole exception of 8x8.bmp for Vanilla. Make sure setting dpi to 72, *not* preserving the actual size of image (e.g. if a source image is in 96 dpi, the actual size should grow by 96/72 = 1.3333..., both horizontally and vertically after setting its resolution to 72 dpi). When you have them ready, put them in the src directory and "make install-tiles". If you miss sound effects, download angband-302-mac-osx.sit.bin from clockwork, unstuff it, then run this command against "Angband (Carbon)" $ DeRez -only 'snd ' "Angband (Carbon)" > Sound.r (DeRez is found in /Developer/Tools, as well as Rez) Then, copy Sound.r to your src directory, edit RESSRCS in Makefile.osx so that it looks like: RESSRCS = Angband.r Sound.r To use 32x32 tiles, use prf files in graf-dvg.zip, not graf-dvg2.zip. You also have to edit graf-mac.prf to include these lines at the end: ----8<------8<------8<------8<------8<------8<-- # David Gervais tiles ?:[EQU $GRAF david] %:graf-dvg.prf ?:1 ----8<------8<------8<------8<------8<------8<-- Because I changed the internal code generated by the numpad keys, so that macroes can distinguish them from usual number keys (those above the qwerty/azerty/qwertz or whatever you are familiar with), you have to put these lines in your pref-mac.prf if you intend to compile *band with my main-mac/crb.c: ----8<------8<------8<------8<------8<------8<-- # # Keypad -- (/,*,7,8,9,-,4,5,6,+,1,2,3,0,.) # A:/ P:^_K/\r A:* P:^_K*\r A:7 P:^_K7\r A:8 P:^_K8\r A:9 P:^_K9\r A:- P:^_K-\r A:4 P:^_K4\r A:5 P:^_K5\r A:6 P:^_K6\r A:+ P:^_K+\r A:1 P:^_K1\r A:2 P:^_K2\r A:3 P:^_K3\r A:0 P:^_K0\r A:. P:^_K.\r ----8<------8<------8<------8<------8<------8<-- // pelpel (pelpel@zak.att.ne.jp)