Jump to content

Open Source BoE Projects Summary


Recommended Posts

This post is intended to provide a summary of all that's going on, BoE-wise. Please post additions/corrections to this.


1. Carbonisation of Mac BoE. Project at http://khoth.ath.cx/~khoth/ , with the repository mirrored at http://pygsys.com/darcs/oboe-mac . Being done by me, interest expressed my Stareye. Status: Playable, probably, but flaky.


2. Modernisation of Mac BoE. (OBoE). Intended branch from (1), containing changes which would break compatability with the original BoE. Discussion has started, with Stareye likely to be the informal leader. Status: No code yet, but as soon as someone makes a breaking change, there will be.


3. Windows BoE. Being ported to Win32 by Ormus. Status: working game (see this post )


4. OBoE (again). Rewrite of old Win16 code to a crossplatform version, possibly using GTK+, by Daniele. No repository yet, likely to be hosted on Sourceforge. Status: Not started.


If you're working on stuff and are not listed, now's the time to say so.

Link to comment
Share on other sites

I'm setting up a wiki to document my own diggings through the source. If anyone wants to get in on that, here it is:




I just put it up recently. It uses Hiki, which is Japanese, so there's a few scraps of Japanese around. I'm weeding them out.


If anyone else has a public repository for their work on Blades, you can email it to me and I'll integrate it into something like:




darcs, of course, is preferred since I can feed it directly into darcsweb.


EDIT: By the way, one thing I'm going to be doing along my merry travels through the source is checking up on which parts have system-dependent code. My early examinations tend to support my belief that most of the game's mechanics are completely free of direct references to Mac or Windows-specific code. As a result, it should be possible to merge the codebases in the near future, which I see as a prerequisite to substantial cleanup, bug-fixing, and the like.

Link to comment
Share on other sites

A first step in open-source BoE development should definitely be merging the Mac OS and Windows ports into a single source tree. Most of the code is indeed platform-independent (Jeff's confirmed this in another thread), so there's no reason it shouldn't be possible. More importantly, merging the two trees will make it less likely that development on the different versions will diverge in the future (which would be a Very Bad Thing).


Even something as simple as generating a set of #ifdefs that'd conditionally enable code for the appropriate platform would be invaluable. As soon as someone's got a working Win32 version, merging it with the Carbon version should be a top priority. I realize this isn't a particularly interesting task, but it needs to be done as soon as possible to avoid creating an inadvertent fork.

Link to comment
Share on other sites

Yeah, I'm going to work on separating out the gameplay code from both codebases. In terms of files, there's not a lot of cleanness:


[mboeh@deuce]projects/boe-win% ls -1 *.CPP | wc -l                                                              24[mboeh@deuce]projects/boe-win% grep HWND -l *.CPP | wc -l                                                       19
That is, 19 out of 24 files -- at least -- have some reference to the Windows-specific HWND type. However, most of these are just one-off references, and it's generally a result of things like items.cpp containing both item-related gameplay functions and item-related UI functions. One of my goals is to separate that out.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...