Jump to content

Blades of Exile Source Code Released


Spidweb

Recommended Posts

It seems that the putting-resources-in-datafiles thing didn't go as well as I'd hoped, and the program isn't opening them properly. It's fine for the binary releases, since they have the resource forks too because of a quirk of how the resource forks were turned to data forks, but it will mess you up if you try to build. My BoE page now links to an archive of resource files that actually work.

 

Also, release 4 has been put up, which adds the scenario editor.

Link to comment
Share on other sites

r4 is acting stranger than r1 did with regard to windowing. Now it starts up normally but sometimes adds a title bar to the fullscreen window during the startup process, right after the second splash image shows up. I can't figure out what's triggering it, exactly. I'll grab the source after I make this post and take a look at what might be going on.

 

Also, "never show instant help" is completely broken. I'm getting instant help every single time I open the preferences window, whether I've checked the option or not. Rather annoying.

 

Probably want to get rid of the shareware window, too. Replace it with "license info", perhaps? There's certainly no point in telling users that they can send in $30 to get the program on three 3.5" floppies anymore.

Link to comment
Share on other sites

Khoth -

 

I did a quick test of save and load files between OS9 and your release 4 versions of BoE on iBook G4 using 10.3.9. Using the default party, enter VoDT scenario and move a square or two before saving, then I quit and start the other version. I appear in a weird spot where the images don't make sense, and if I move I now appear outside the starting fort even though I haven't moved that far. I get the problem no matter which one I start with for creation and then switch to for playing.

 

There is something definitely wrong with the way the versions are reading the player's location in the save files

 

Edit- fixed the typo for version number. Must not let you know about time travel.

Link to comment
Share on other sites

Ah, I can't run the old BoE so I wasn't able to check savefile compatability beyond the savefiles people provide for some scenarios, which are generally out of a scenario. I can guess the sort of thing that will be causing the problem (end-of-struct padding is most likely, I think), but I'll find it hard to fix without access to both versions.

Link to comment
Share on other sites

As for documenting the internals, I'm currently not that interested in digging through looking at game mechanics, although documentation of file formats would help with universalisation and making a more compiler-independent file-loading mechanism.

 

Same thing, really -- the EXS file format is pretty much just the in-memory data structures ejected right onto the disk.

 

Speaking of which, it would probably be a very good idea to change that. One of the first things I'm doing is working on an EXS-to-XML converter -- I'm no great booster of XML, but it makes a very reasonable file format for things like this, especially if you gzip it.

 

EDIT: Hey, Khoth, will you accept documentation patches?

Link to comment
Share on other sites

Yeah, I'll accept documentation patches. Although since you have a repo online, it would probably be easier for you to push them there and let me pull them than to send them to me. (I'm picturing this as stuff like adding comments. More standalone documentation would probably be better as a wiki or something).

Link to comment
Share on other sites

I am responding to one of Andrea's comments from another threas. I didn't want to sully that thread with chit chat.

 

"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."

 

By the time I wrote Blades of Exile, I was wise enough to try to isolate the system-dependent stuff. I was also doing what I can to make porting much faster (which explains the dialog engine, which might appear insane at first glance but was INCREDIBLY helpful to me over the years).

 

But yes, in the process of cleaning the code, sorting out the game mechanics stuff and isolating it from the platform stuff would be wise.

 

I have already done this in my more modern engines. I apologize for coming so late to the wisdom of this. frown

 

- Jeff Vogel

Link to comment
Share on other sites

Yeah, I can see there was a conscious effort in BoE to separate business logic from display logic. The main issue I'm running into, honestly, is a lack of named constants. Monster special skills, statuses, etc.

 

All told, though, the BoE code isn't too imposing to sort through. I just wish there were more, smaller, and more logically organized files.

Link to comment
Share on other sites

"I just wish there were more, smaller, and more logically organized files."

 

I did too. So I just gave up and started over from scratch. My leaving that engine and starting a new one was similar to the process of the Millenium Falcon flying out of the Death Star 2 while it was exploding.

 

Different structures and calls for player characters and monsters. Jesus. I wish I'd been doing drugs so I'd have something to blame that on.

 

- Jeff Vogel

Link to comment
Share on other sites

Quote:
Originally written by Tyranicus:
Any chance of a carbonized character editor?
Uh, yeah... I got it to the point of almost working (just not opening the external resource files properly AFAICT), and then promptly lost access to my computer for two weeks. I'll send the patch to Khoth soon.
Link to comment
Share on other sites

Incidentally, I just built BoE on OS 9 using CodeWarrior, and the windowed mode looked kind of weird there too.

 

I think I figured out what was causing the menu-hiding weirdness, though. BoE defines "HideMenuBar" and "ShowMenuBar", but these were later defined in the Toolbox. Changing these to "DoHideMenuBar" and "DoShowMenuBar" solved a link error on OS 9, and would probably fix some of the startup weirdness under Carbon.

Link to comment
Share on other sites

  • 3 weeks later...

I tried a couple of scenarios on Khoth's BoE release 4 with my iBook G4.

 

EDIT: Oops. The system version is 10.4.9, not 10.3.9....

 

It seems that the font in talking dialogue box and main menu buttons is different than what it used to be. Not that this is necessarily a bad thing. Otherwise, it seems to work fine (except that I also got an extra title bar after the second splash screen).

Link to comment
Share on other sites

Oh, hey, speaking of the font being different, could we now fix the Mac-Windows font size difference issue? A few scenarios created by Windows designers have text that over-runs the screen on a Mac because of the size difference, and it seems like that would be an easy problem to fix now.

 

Um, unless someone already fixed it while I wasn't looking.

Link to comment
Share on other sites

Quote:
Originally written by Khoth:
If it doesn't work for you, let me know. If it does work for you, let me know too, because I currently don't know what the system requirements are, beyond "OS X".
Release 4's editor doesn't want to create a scenario on my Core Duo MacBookPro. I'm not nearly sure what's at fault but it gives that lovely error code 40 - something bad happened in loading/saving/creating so try again and see if that fixes it. Which it doesn't. It also asks for more memory, but I don't think you can even do that on OS X.

Edit: Upon closer inspection I suspect that this has something to do with the total absence of any bladbase.exs. Pasting in the one from the source release 3 is ineffective, though.
Link to comment
Share on other sites

  • 2 weeks later...

A couple little bugs more (not very serious problems):

 

1. In the main menu, when I click "custom scenario" and then click "cancel", I get a strange message: "this scenario was created by BoE v2.0 or later and can't be run using this copy..."

 

2. When I open a save file by dragging it on top of the BoE icon, it does the same thing as clicking "load game", except that it doesn't open anything that I choose.

Link to comment
Share on other sites

  • 1 month later...

I'm ripping apart the source code in an attempt to port it to C# (using Mono, for cross-platform winfulness). I have a few questions that someone might be able to help with (possibly JV, possibly someone else):

 

In the structure item_record_type, there are two fields that I am unfamiliar with: is_special and one termed, rather oddly, a. is_special is only used in two places, and from this I cannot figure out its purose. a--no idea there. Can anyone assist?

 

(And for anyone who is interested, what I'm doing is copying over all of the data structures into C# equivalents--and doing minor changes as well to make it easier--before trying to parse the .EXS file. There are enough errors in the Windows codebase that I don't foresee ever getting the thing to really work--better to start over.)

Link to comment
Share on other sites

I found the use if is_special -- it differentiates node/party/monster item drops from preplaced items. Thanks to TM for the insight.

 

As far as I can tell, a is just a spacer variable...

 

Also, I'm trying to hunt up an old compiler and setup to work on this in its native environment, so to speak. If JV happens to look at this forum--could you tell me exactly what compiler you used? I recall you saying you used CodeWarrior, but which version? Any makefiles? That sort of thing.

Link to comment
Share on other sites

  • 4 weeks later...
Quote:
Originally written by Arenax:
I'm ripping apart the source code in an attempt to port it to C#
Please, no C#! This is originally a Macintosh game, and C# is basically a Windows programming language. It needs to run on both platforms.
Quote:
Originally written by Thomas Frost:
Is there any compiled registed version for windows? 16 bit will do
Ormus had a Win32 release. Check out this thread .
Link to comment
Share on other sites

  • 3 months later...
Quote:
Originally written by Celtic Minstrel:
Quote:
Originally written by Arenax:
I'm ripping apart the source code in an attempt to port it to C#
Please, no C#! This is originally a Macintosh game, and C# is basically a Windows programming language. It needs to run on both platforms.
Quote:
Originally written by Thomas Frost:
Is there any compiled registed version for windows? 16 bit will do
Ormus had a Win32 release. Check out this thread .
C# will work on Mac OS X AS LONG AS it is Mono compatible. And Ormus's release functions as if it was unregistered.
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.

Guest
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...