projects

Riven X 0.5

March 15th, 2008

Update: Riven X 0.6 is now available.

Riven X 0.5 is now available. The most important new feature is the edition manager, which will allow owners of the CD edition as well as owners of the various DVD editions to use Riven X. It should be noted that optical disc swapping is not supported yet, which means that CD edition owners should do a full install for the time being. Other changes include performance improvements and a large amount of bug fixes.

Riven X’s edition manager

There is a number of outstanding issues in this version, namely one that will badly affect single-processor machines (see bug #70). I will try to remedy this in the early 0.6 builds, which will become available through Sparkle.

Riven X 0.6 will be a more interesting releasing focusing on missing engine features, such as transitions, cursors and so forth. For detailed information, see the 0.6 milestone page.

Download Riven X 0.5.

projects

MPQDraft 1.1

March 8th, 2008

MPQDraft 1.1 is now available. This release basically adds proper support for Mach-O PowerPC and Intel programs. The download link is available from the sidebar, or you can update via Sparkle.

osx

Xcode 3.1 preview included in the iPhone SDK

March 6th, 2008

Update: I initially had stated that LLVM was the future of Apple compiler technologies. This is the case in-so-far as I believe LLVM is the future of the gcc compiler backend. This is a personal blog and I’m obviously not speaking for anyone but myself.

While watching the iPhone SDK announcement video, I noticed some odd things in my beloved Xcode. Some UI elements were looking different. And indeed, the iPhone SDK includes a new version of Xcode (and many other dev tools) which may be of interest for anyone doing Mac OS X development. Some of the highlights:

  • Brand-new “New Project” and “New File” dialogs. I really like them, and the new templates make more sense.
  • Multi-platform support. Each platform can provide its own set of tools and SDKs. This was obviously added to support the iPhone. So the big picture now is Platforms > SDKs > Architectures.
  • Preview of gcc-4.2 and llvm-gcc-4.2. I am really excited to check this two out, particularly the LLVM powered compiler, which brings to Mac OS X developers modern link-time optimization that Microsoft Visual Studio and Intel CC customers have enjoyed for many years now. LLVM is the future of gcc compiler technologies, and it’s great to start seeing that get out into a lot of people’s hands.
  • Improved support for conditional build settings (AKA per-architecture build settings).

I hope to see the final version of Xcode 3.1 to be released at this year’s WWDC, if not some manner of new beta release.

apple

Apple Developer Connection DDOSed by iPhone SDK

March 6th, 2008

Apparently, a lot of people wanted the iPhone SDK, and for the first time that I can remember in the past 10 years, developer.apple.com died. I think it’s mostly a good thing, but it sure is making programming a little bit more tedious this evening. At least there’s the built-in documentation.

404 on ADC

projects

DropMPQ 0.7

March 6th, 2008

DropMPQ 0.7.1 has been released. It adds support for dropping folders on DropMPQ’s icon in Finder or the Dock.

This is a relatively small but critical update for DropMPQ. The highlights are:

  • Fixed a bug in MPQKit that caused invalid MPQ archives to be created on Intel Macs.
  • Added support for the bzip2 compressor and updated the compression settings for zlib and ADPCM.
  • Added Sparkle for easy updating.

I was also made aware that the previous archive didn’t execute on Leopard (and in fact might have simply been corrupted), so this update also resolves that particular (and somewhat embarrassing) issue.

It should be noted that if you’ve used DropMPQ previously, the import preferences will most likely be reset because the internal format has changed significantly. Speaking of which, I’ve added additional default import settings for some new file types, including ogg, mp4, mov and smk.

Download DropMPQ 0.7.1.

osx

CUDA for Mac OS X

February 13th, 2008

CUDA is NVIDIA’s architecture and API for GPGPU – general purpose GPU programming. The fact is, those graphic cards are hugely powerful parallel computing units, and everyone stands to benefit by exploiting them to do far more than just outputting images to a screen.

Well today, NVIDIA made CUDA available for Mac OS X. This is a sign that times are changing for Apple when they start to make such a kind of inroad. And of course, everyone in the (probably small) Mac HPC business and in the scientific community is probably very happy about this.

So if you own NVIDIA hardware, go grab it and give it a try!

projects

MPQDraft 1.0

February 11th, 2008

MPQDraft 1.0 is now available, after a ridiculous 6 years of development. This is my second oldest project, second only to MPQKit (and its predecessor, MPQ2K Mac Edition). The highlights are as follows:

  • Support for patching PowerPC CFM programs on both PowerPC and Intel Macs. Mach-O and Intel support are forthcoming.
  • MPQ Loader 0.5 only supports Starcraft. Warcraft III support will be added only if there is demand.

The download is available from the sidebar and on the MPQDraft project page.

MPQDraft has an interesting history which I will be revisiting in an upcoming post. This will bring us all the way back to the days of Classic Mac OS.

In addition, I am planning on releasing in partnership with Campaign Creations updated versions for their classic campaigns using this new version of MPQDraft. Hopefully, people will check out the richness of the Starcraft modding community before stepping into the next chapter that Starcraft 2 will begin.

projects

MPQDraft is now working on Intel Macs for CFM applications

February 4th, 2008

This is probably coming out of the blue, but the renewed interest in StarCraft spurred by the ongoing development of Starcraft 2 has prompted me to take a look at MPQDraft again. As the title indicates, I now have the technology working again on Intel and PowerPC Macs for CFM (that’s Code Fragment Manager, a relic from classic Mac OS) applications (the primary target of MPQDraft, StarCraft, is still a CFM application).

MPQDraft at work

I will be releasing the new version once a few more bugs are addressed and proper testing on Leopard is completed. Once that’s done, I will probably contact old friends at Campaign Creations to have updated versions of all their classic StarCraft campaigns posted.

projects

Riven X engine variables

January 22nd, 2008

I introduced in Riven X 0.4 arbitrary engine variables. The intent is for them to control various behaviors of the engine as development continues. Engine variables are categorized according to the sub-system they affect, and can have any arbitrary numerical, alphanumeric or boolean values.

At this time, there’s only one category, “rendering”, which contains only one variable, “renderHotspots”. As the name suggests, this variable is interpreted as a boolean by the engine and controls whether or not hotspot rectangles are rendered over regular card content.

To change the value of an engine variable, you can use the new “set” debug shell command as such:

set <category>.<variable> <value>

For example,

set rendering.renderHotspots 0

Right now, there is no way to query for the value of a single variable, nor for a complete listing of valid engine variables. To remedy that, I am currently working on a variable editor interface which will not only allow easy viewing and editing of engine variables, but also of game variables (what determines and control the state of the game; that is which doors are open, etc.).

projects

Riven X 0.4

January 20th, 2008

Update: Riven X 0.5 is now available.

There it is at last, a new binary release of Riven X. This new version is of course far beyond the previous release. Some highlights:

  • Basic hotspots are working (mouse up and mouse down), which means you can walk around the islands, flip switches, push buttons, and so on.
  • Major improvements in movie and audio rendering. Ambient sounds now fade in and fade out correctly.
  • Game variables are implemented and have sane default values, which means simple puzzles should be working correctly.

Of course, there’s still a lot of work left to be done. CD media is still not supported, transitions are not rendered, there are a lot of stability and performance issues left to address, many opcodes and all external functions are missing, water animation is not implemented, saving and loading games are not implemented and full-screen is not available yet.

In addition, this new release comes with Sparkle, the popular technology for self-updating applications. All development builds are set to check a development appcast which gets automatically updated daily with a fresh build from Subversion. In short, Riven X will update itself to the latest revision automatically every day. I hope this will help get new versions into the hands of testers more rapidly.

I’ll be preparing a short series of posts about useful tricks for finding problems and using the debug console in the coming days. In the meantime, enjoy this new release.

Download Riven X 0.4 (4.60 MB). A permanent link is available in the blog’s sidebar.