Hiya, a few notes you might find of interest:
- Notes on how the game image compression formats work can be found here. Note that just because a file has a certain extension, doesn't always mean it uses the associated format: though TFTD inventories do use BDY.
- TFTD's battlescape palettes are embedded into the game executable somewhere. You can find pre-dumped versions of them in my toolkit, in the file "Pal.java". There's lots of other bits of sample code in the kit you might find interesting, though I'd consider it messy even by the standards of those who like high-level languages. ;)
- New attempts to "remake" UFO are forever popping up. If you wish to try one, I'd recommend joining a project already under way. Two of the more recent ones: UFO: The Two Sides is a closed-source example (dunno if there's any openings for recruits), it cleans up many of the graphics nicely. There's also OpenXcom, which as the name implies, is open-source. The most advanced project, by far, would be UFO2000 - though that's aimed squarely at the tactical aspects of the original and little else.
- Regarding alien/HWP inventories, HWPs require code editing to access, and aliens can't be accessed at all in TFTD. Alien inventory screens for UFO are included in my toolkit (based on their UFOpedia images).
- Bomb Bloke 22:35, 6 August 2010 (EDT)
Hi, Bomb Bloke! Thanks for your input! I'll reply point by point below:
- I've already been all over Image Formats. It is indeed very helpful. Regarding extensions being wrong - I can understand that. I can't begin to count the times my own tools have warned me "This is not a BMP" when I save something from MSPAINT and forget to change the dropdown from whatever the source file was. (mspaint isn't quite smart enough to realize that 'image.bmp' shouldn't be a PNG image anymore)
- I'm going through your toolkit right now, and I like what I see, it's very cool. You probably have enough data format handling routines to handle something like Z-COM stage one right now. (Java-Com?)
- About those other projects - most of them are not being done in my favorite platform - OpenGL / C99. The Two Sides is a single man coding project from what I read (I haven't seen it before though); OpenXCom is more in line with what you suggested, but it's SDL/C++... Also, I tend to program as a personal challenge, with useful utilities, games, or such resulting as a happy side effect rather than being the main goal. X-COM: Ufo Defense/Enemy Unknown is by far my favorite tile-based, isometric game, and having never written anything like that, it would be something of a learning experience.
- I'm also looking through the UFOGRAPH folder with the images you mentioned (a quick three line one-off shell script turned 'em all into BMPs so windows won't 'durr' at them) -- they're very nice, using the UFOpedia entry images for the paperdolls is very clever, and looks pretty good. I'd like to know how you managed to get X-COM to load those, though. XComUtil, I guess? Anyhow, my own plans regarding inventories had to do with Z-Com rather than X-Com directly. x86 assembly makes my skin itch, I come from a 68K background (I never played the PC version of X-Com prior to it showing up on gog.com -- my original X-Com experience is Amiga-based), so I'd never be able to mod the original PC X-Com without a serious amount of allergy medication.
FYI though - I've already completed a rough draft version of my SPK conversion suite. It works against 24-bit BMPs, although some of the sub-tools can extract palettes from .PNG files that DOSBOX makes. It can import any image from any source (so long as it's 320x200, I didn't bother making it directly scalable, although it wouldn't be hard to fix that up)
~ Renegrade 11:43, 7 August 2010 (EDT)
The goal of my battlescape editor was indeed to replace the original battlescape engine. Though I've mostly been concentrating on creating a tool that makes it easier to determine how the original game works - for eg, it's much easier to understand how smoke effects vision when you can convert all the clouds to numbers with the press of a button. It'll be a long time before it becomes "playable", assuming that ever happens.
The extra inventory screens are implemented by "BBMod" (included in the toolkit). Check the "tools manual" HTML file if you want to see them in action.
- Bomb Bloke 22:00, 7 August 2010 (EDT)