Dynamically frob the menu bar to achieve selection of game presets.


git-svn-id: svn://svn.tartarus.org/sgt@5176 cda61777-01e9-0310-a592-d414129be87e
I _think_ this has just fixed an uninitialised-memory bug, but I'm
not sure.


git-svn-id: svn://svn.tartarus.org/sgt@5177 cda61777-01e9-0310-a592-d414129be87e
Ah, no, _that_ fixes the malloc problem. I'd forgotten that midend.c
already takes care of managing the allocation of game presets, so
there's no need for me to introduce scary ObjC machinery to do so in
the frontend.


git-svn-id: svn://svn.tartarus.org/sgt@5178 cda61777-01e9-0310-a592-d414129be87e
Added a framework for putting things other than the binary into a
Mac OS X application bundle, and provided an icon for Puzzles.

Also renamed the OS X source file from macosx.m to osx.m, so that it
can sit beside other things such as osx-info.plist and not cause
enormously long filenames.


git-svn-id: svn://svn.tartarus.org/sgt@5179 cda61777-01e9-0310-a592-d414129be87e
Implemented the configurable dialog box mechanism, allowing custom
game sizes and entering of specific game IDs. I think this is now a
plausibly usable port, even if still by no means _finished_.


git-svn-id: svn://svn.tartarus.org/sgt@5182 cda61777-01e9-0310-a592-d414129be87e
Status bar support.


git-svn-id: svn://svn.tartarus.org/sgt@5183 cda61777-01e9-0310-a592-d414129be87e
Added a dock menu which makes it more convenient to launch a new
game window.


git-svn-id: svn://svn.tartarus.org/sgt@5184 cda61777-01e9-0310-a592-d414129be87e
Improve fatal error handling.


git-svn-id: svn://svn.tartarus.org/sgt@5185 cda61777-01e9-0310-a592-d414129be87e
Fix two window-resizing bugs introduced by the addition of the status bar.


git-svn-id: svn://svn.tartarus.org/sgt@5186 cda61777-01e9-0310-a592-d414129be87e
The main grid outline in Pattern was asymmetric between the top/left
edges and the bottom/right ones. Fix it. (Also remove it from the
todo list in osx.m, where I had entered it in the assumption that it
was a bug in my new OS X port! Turns out it's an entirely platform-
independent bug.)


git-svn-id: svn://svn.tartarus.org/sgt@5187 cda61777-01e9-0310-a592-d414129be87e
First cut at online help under OS X. I just built the HTML version
of the manual using Halibut (with one additional magic tag in the
<HEAD> section), stuck it in the right part of the application
bundle, referenced it in Info.plist, and added a Help menu.
Everything else was automatic. Not bad!


git-svn-id: svn://svn.tartarus.org/sgt@5190 cda61777-01e9-0310-a592-d414129be87e
The #definition of COMBINED was done very badly: it was a piece of
platform-dependent code in puzzles.h (ick), which in turn depended
on the magic symbol MAC_OS_X being defined by mkfiles.pl itself
(yuck). Suddenly realised I can do much better simply by putting it
in an OS X makefile extras section in Recipe, and removing both
previous hacks. Much nicer.


git-svn-id: svn://svn.tartarus.org/sgt@5191 cda61777-01e9-0310-a592-d414129be87e
Improve OS X help: split back up into multiple files (thanks to
Halibut's new \cfg{html-local-head} directive), and add some CSS to
mimic the font choices of system help files.


git-svn-id: svn://svn.tartarus.org/sgt@5194 cda61777-01e9-0310-a592-d414129be87e
Help should have the shortcut Command-?.


git-svn-id: svn://svn.tartarus.org/sgt@5195 cda61777-01e9-0310-a592-d414129be87e
`make release' target, which builds a .dmg disk image in what
appears to be the approved Apple fashion.


git-svn-id: svn://svn.tartarus.org/sgt@5197 cda61777-01e9-0310-a592-d414129be87e
Ahem. Rogue copy and paste was causing preset menu items to go into
the Help menu rather than the Type menu. Fixed.


git-svn-id: svn://svn.tartarus.org/sgt@5199 cda61777-01e9-0310-a592-d414129be87e
Updates for OS X port (including updating copyright statements).


git-svn-id: svn://svn.tartarus.org/sgt@5201 cda61777-01e9-0310-a592-d414129be87e
Ahem. Lots of stuff, including the new OS X sources, was being left
out of the tarball by makedist.sh, causing the downloaded source
tree to fail mkfiles.pl. Worse still, the GTK Makefile wasn't
included, so people _needed_ to run mkfiles.pl! Both now fixed, I
think.


git-svn-id: svn://svn.tartarus.org/sgt@5205 cda61777-01e9-0310-a592-d414129be87e
Include code in midend.c to sanitise streams of mouse events so that
back ends can be assured of always receiving them in a sensible
sequence (button-down, followed by zero or more drags, followed by
button-up, and never changing button in the middle of such a
sequence). I have a suspicion this issue was the cause of the
mysterious Pattern grid updates seen by Dan during testing last
night.


git-svn-id: svn://svn.tartarus.org/sgt@5208 cda61777-01e9-0310-a592-d414129be87e
Sanitising the mouse input data was a good idea, but my
implementation sucked. Revise it completely.


git-svn-id: svn://svn.tartarus.org/sgt@5209 cda61777-01e9-0310-a592-d414129be87e