Files uploaded xtra-mac-303.sit.bin xtra-mac-303.sit.txt Changes: - Completely removed the use of masks of any sorts in the transparency effect code -- Ron Anderson and XDD have long done it this way, and just changing ForeColor/BackColor to RGBForeColor/RGBBackColor and one can do the same for David Gervais'. I'm just too ignorant. - Regression test of the Carbon code, to see if it can produce PEF Carbon as well as Mach-O (= gcc + makefile port). - TileWidth/Height menu should work again on OS X. - Rewrote the asynchronous sound effect player, because it unlocked and freed sound resource data just after they were started playing! This bug is present in many main-mac.c I've checked -- browsing them to steal more code from others (^ ^;)... The new code is only tested on OS X, so it is #ifdef'ed. To use it, please say #define USE_ASYNC_SOUND. - The game now frees memory allocated by graphics and sound code upon exiting. - Ported lib folder locating code over from Carbon port, because I found that the system service used to implement this was alread available at the time of System 7.0. - Changed the file dialogues of Classic PPC port from the ancient Standard File one to Navigation Service. - Tried to compile some variants with MPW to see if it can be used to produced Carbon binaries (please see my rather lengthy notes at Everything) - Killed some theoretically possible memory leaks. To do: - Fix random abort problem on OS 10.2. I personally have seen it only once, so have no clue of its cause(s). - It might be desirable to introduce double buffering for graphics tiles and/or when always_pict is set, for Classic ports (doing this on OS X is an overkill, because it would effectively mean triple buffering). Macintosh extra files for Angband 3.0.3 --------------------------------------- Angsound.rsrc ('snd ' resources) - Sound effects, taken from Ben's 2.8.3 8x8.rsrc (PICT id 1001) - 8x8 tiles, taken from Z (IIRC, ditto for the below) 16x16.rsrc (PICT id 1002) - Adam Bolt tiles 32x32.rsrc (PICT id 1004) - David Gervais tiles, converted from the Unix one. Please make sure using the graphics definitions in graf-dvg.zip, not those in graf-dvg2.zip with it. 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<-- Just in case if you are interested in my customised main-mac.c, I also attached these files: main-crb.c - main-mac.c for Carbon (OS X) main-mac.c - main-mac.c for Classic Mac OS A-mac-h.pch - CodeWarrior prefix header (for classic) A-osx-h.pch - CodeWarrior prefix header (for (PEF) Carbon) Angband.proj.xml - CodeWarrior project file Angband.r - CodeWarrior resource definitions (in plain text) If you are using CW6/7, the project file assumes that the files should be arranged this way: Angband.proj (created by importing Angband.proj.xml) src/*.[ch] (the source directory) src/lua/*.[ch] (the lua subdirectory) src-mac/A-mac-h.pch src-mac/A-osx-h.pch src-mac/main-crb.c src-mac/main-mac.c src-mac/Angband.r src-mac/Angsound.rsrc src-mac/8x8.rsrc src-mac/16x16.rsrc src-mac/32x32.rsrc 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)