View Single Post
Old 05-08-2007, 04:26 AM   #337
anonymous
Guest
Default

So, I recently came across information that says one can turn on screen capture capabilities. Thing is, it does not write them to a common (or known by me) format.

I did use a hex editor and a webpage on the BMP format, to add a BMP header to the *A.B1, *A.G1, and *A.R1 files (the E1 files are mostly null with some non-null bytes strewn through out. No idea what kind of info might be in here.) The *B.?1 are all 7kb so too small to be a screenshot, and not sure what kind of info per channel it could be, yet.

Playing around with the height, width, and color depth bytes of the BMP header (and copying in a color table from a 8-bit grayscale BMP) has lead me to actually see an image. So I am confident that each file is just a raw dump with nothing extra (ie palette info, hieght, width info, etc.). I am guessing that this feature was just to help debug (?) and so the programmers knew what the palette was, what the size is (seems to be based on 320 by 200, but I'll get to that) etc so they just needed the raw data and their program took care of displaying it.

At 320 by 200, 4bit color (16 colors) I can see 2 side by side pics. Changing it to 160 by 400 makes it one image wide (but since the two lines are light and dark it looks interleaved) and has it look all squished (160 by 400 is too narrow and long looking). using Gimp to then scale to 320 by 200 makes it look nice. I suspect though, that each line is first the odd pixels then the even pixels (or vice versa) and the gimp's scaling was more of a lucky break (things getting blurred hiding the disrepencies). I might try, another time, just having gimp keep just the odd lines or even (at the 160 width) and play with that a bit. I been using the 320, 2 image side by side, to try to recompose the 3 bitmaps into a colored picture (instead of 3 greyscales that probably represent red, blue, and green) but the pictures don't look well colored (or just as nice in general as the in-game screens). I might need to play around with learning to program (Hmm, maybe I can find an old C++ compiler to run on dos-box) so I can try playing with that odd / even pixel idea to see if that helps resolution (basically a custom viewer where I can tweak on the fly height, width, non-sequential reading, etc). Also, I'll need to find or figure out the palette info for these files, maybe the main program has it built in, but that'll be alot of work. (Remember, that's 16 colors per channel, or 12bits total. Not exactly high-color but I don't thinkl there was very many 15/16 bit colors used in the early 90's. So, 4bit per channel instead of 8 probably does the job for storing a vga display. I think, not sure, that the game was 320 by 200, and maybe 256 colors? more? At best it would be 640 by 480 but that is too big for these files unless teh screen capture function lowered the resolution upon capture. Not like it's an official feature.)

Now, this is just an excersize for me, cause I find it a pleasing challenge to puzzle out. After all, Dos-box does have its own screen capture feature, so this is not really necessary if I really cared about getting a screen cap. I just notice people mentioning it's strange format and I wonder how much of it could be figured out with some plugging about. I was wondering if anyone else has looked into this and what you might have found. (Also, it's a pleasant diversion from using my hex editor to figure out how to hack the save games. Which is a fun puzzle in its own right.) But any helpful info would be nice. Color Tables, viewers, format specs, etc can be very useful.

I also wonder if anyone is working on things like Total Conversion (or at least having fun hacking the items, fashion, school, work, etc.) I know the LBX files are basically archives, and I can unpack them if I wanted, but the txt files are not ascii / plain text (must be in some format specific to the game, I'd try unicode but I don't know if it was around back then) and the pt1 files are confusing. I am guessing, regardless if it was a graphic, a music, or what, it all got called pt1 and the game engine knows which is which and how to read them, but I'm not going to go through all of them just to see if they could be image or sound raw data. Also, they could be compressed with RLE or LZW or something.) So, anyone else have luck figuring out how to work with all of that game data?

Thanks, and I hope none of this is too annoying to read.
                       
Reply With Quote