mruby is a lightweight implementation of Ruby that seems just perfect for this project. It's not quite ready for prime time, but it's simple enough that I can competently hack it.
I've contributed a couple of patches to it, and that's mainly to support nethack-i18n.
Using mruby will mainly be of benefit on Windows; you won't need RubyInstaller to run nethack-i18n anymore. You'll still need it to build, at least for the time being.
I recently upgraded my Mac to Mavericks, and now the Qt and Ne.W.T. interfaces don't build.
The Qt package has "#include QtCore>" in QtGui; but the QtCore header is not in a directory called QtCore. The SDLSDL.h header has similar difficulties.
The Mac port is Curses only until I resolve this.
I was trying to chase down a segfault that I hit while dancing on a magic trap; a purple worm had spit me out and I felt charismatic. Unfortunately the dump file contained nothing useful.... read more
The code in git now supports Mac OS X with the curses, Qt and Ne.W.T. interfaces. A tarball should follow, once I've tested various display enhancements on Windows.
MacRuby seemed to provide everything needed. It compiled and linked, with a bit of tweaking to the code (the function I was using for UTF-8 conversion wasn't there). But actually running the program produced an error: "'.../libmacruby.dylib' was compiled with -fobjc-gc-only, but the application does not support GC". It was necessary to compile MRI from source, which went without a hitch, but that's more than the user should have to deal with. I'm not satisfied with this, and still hope to get it working with MacRuby.... read more
I am now the proud owner of a Macbook. Dang, but Macs are expensive. Anyway, it might now be feasible to release a Mac port of nethack-i18n.
This is my "learn Mac programming" project.
What it's going to take:
The Qt 4 interface had a vexing bug in which the final game report (the tombstone, or the ending score report if you ascended) did not appear. That has finally fallen and I have gone ahead and made a release.
There's still trouble with the initial character selection dialog. I am not yet satisfied with the Qt 4 interface.
Edit: The trouble is with initial name selection. It seems to be a general problem when playing on Linux with other than your user name.
An interface for Qt 4 is now tested on Linux (one more Wizard joins the demigods, yay!) and up in Git. I have it built on Windows 7 and a test game is in progress.
The X11 interface seems sound so far as it is feasible to build one. Xorg, however, has a serious bug with Unicode support in its Athena Widgets. (Have I mentioned that Athena Widgets are ugly?) The corresponding bug in XFree86 is fixed. I have filed a bug report against Xorg and confirmed that the fix for XFree86 works for Xorg as well; but until the fix goes mainstream, the X11 interface is officially unsupported, and the Rakefile will disable it by default.... read more
NetHack-i18n now supports tile-based interfaces on Windows and Linux. The primary tiled interface is Ne.W.T. for Linux and Win32 for Windows. Windows also supports Ne.W.T., but it's a bit of a pain to build (it needs SDL, SDL_image, SDL_mixer and SDL_ttf). Linux also supports Qt, but the Qt interface still has much of the roughness of the original.
I made an attempt at X11 support, but it seems that the Athena Widgets Unicode support is broken on Ubuntu, or maybe I just haven't figured out how it works. Have I mentioned how ugly Athena Widgets are?... read more
A Curses-based Windows binary is now available.
The one uploaded uses win32a for its Curses library. The unmodified PDCurses for Win32 also works, with different compile time options, but has the limitations of the Win32 console. Win32a on the other hand doesn't seem to gracefully handle copy off of the screen, so this is best avoided. It requires RubyInstaller for its Ruby interpreter.... read more
Today marks the first release that supports the Spanish locale.
I quite extensively refactored the English-specific code and have probably introduced some bugs. I'll be back when (not if :-/) I find any bugs.
Then it's on to Windows.
The Spanish locale is now in a more or less playable state and I've spent the last few days giving it an initial shakedown.
Marisela la valquiria humana neutral was a valiant girl. Aside from the usual bestiary, she battled dungeon panics, segfaults and the RNG alone knows how many exceptions in the Ruby code. Dozens of bugs will never leave my hard disk, thanks to Marisela.
The initial release of Internationalized NetHack is now available.
It's mostly of interest to developers at this point. Only an English locale presently exists, it only runs on Linux, and some stray language dependencies undoubtedly remain. A Spanish locale, based on the existing Spanish NetHack project, is now in progress, and may help ferret out any remaining language dependencies.