Register - Login
Views: 95222645
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
09-26-18 08:43:17 AM

Jul - General Game/ROM Hacking - Sega BAKU BAKU (PC) Sprites? New poll - New thread - New reply
Next newer thread | Next older thread
tkrn
Random nobody
Level: 5


Posts: 1/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 05-16-16 11:57:24 AM (last edited by tkrn at 06-23-17 11:15:51 AM) Link | Quote
All -

I am trying to view sprites that was apart of the Sega BAKU BAKU (PC) game. It was coded in Visual C++ and it uses Intel's RDX (dino2d.dll) for the graphics. It appears it leverages the dino2d.dll to display the sprites and it appears it's not in 'standard sprite' format that most viewers try to open sprites up in.

Can any one assist in converting the following sprites/animation to BMP? See http://nthnk.com/u/tkrn/TITLE.SPR

Thanks!
xdaniel
760
Level: 55


Posts: 630/765
EXP: 1266517
For next: 47672

Since: 12-04-08

Pronouns: he/him
From: Germany

Since last post: 2 hours
Last activity: 1 hour

Posted on 05-16-16 08:27:40 PM (last edited by xdaniel at 05-16-16 08:29:21 PM) Link | Quote
Good news:

- At least TITLE.SPR contains simple, indexed 8bpp data. Dunno about the others.
- There's multiple images per file, and each image has, first, an (un)signed short specifying the image's width in pixels, second, another short specifying the height, and lastly, the image data itself.

That's enough to display (some of) the images in Tile Molester, such as this Sega logo at 0x25B1C in TITLE.SPR:


Bad news:

- There are no palettes that I can see. The colors will be scrambled unless you'll be able to find them in another file.
- There's no pointer table or similar that points to each of the images. I guess you can calculate the offsets, tho (width*height=size of image data; current offset+4+data size=next image offset).

Uncertain:

- Haven't really checked the other files, so I dunno if there might be different color depths and/or pixel formats than indexed 8bpp. Probably not.

Edit, mind you, I've only looked at these very briefly. Maybe there's ex. palettes and I just haven't seen them while glancing over the data at 2:20 am. Hope this'll still give you an idea of what's in the files.
tkrn
Random nobody
Level: 5


Posts: 2/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 05-19-16 11:56:49 PM Link | Quote
xdaniel - This is great news! How did you get it to display in Tile Molester? Also is that 8bpp linear? I see there are a few 8bpp options. Also, what was the dimensions you got for the Sega logo? 88px (00 58) x 32px (00 20)? If that is the case, then the image would be 88 * 32 * 8 = 22528 total bytes until the next image offset?

Thanks again! I don't know how you figured this out but I'm amazed!
xdaniel
760
Level: 55


Posts: 631/765
EXP: 1266517
For next: 47672

Since: 12-04-08

Pronouns: he/him
From: Germany

Since last post: 2 hours
Last activity: 1 hour

Posted on 05-20-16 04:52:07 AM Link | Quote
It's 8bpp linear, as well as 2-dimensional (menu "View" -> "Mode"). As for the Sega logo, it is 88 by 32 pixels, but you don't have to multiply by 8; 8bpp means 8 bits per pixel, so one byte, and thus it's just 88 * 32 = 2816 (0xB00 hex).

So, ex. starting at 0x25B1C, you add 4 to that (because of the width and height shorts), then add 0xB00, which gives you 0x26620, which is where you'll find the dimensions of the next image.

(Also, my screenshot is technically from 0x25B20, skipping the width/height values, should've clarified that in the post )
tkrn
Random nobody
Level: 5


Posts: 3/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 06-14-16 04:55:27 PM (last edited by tkrn at 06-20-16 02:51:58 PM) Link | Quote
I'm not sure about the palette information but the application requires the color depth to be set to 256 colors (Windows 95/98) to run. I would think that would a clue to the palette information? Thoughts?

I also wrote a small app to calculate dimensions, start:stop address of data then to write an individual file for each block of data.

tkrn
Random nobody
Level: 5


Posts: 4/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 06-23-17 11:11:26 AM (last edited by tkrn at 03-08-18 01:34:29 PM) Link | Quote
xdaniel - Thanks for you help thus far. Maybe you can help me get over the last hurtle. I've reviewed all my math + conversions multiple times but I keep on getting this clipping. See my offsets below.

Header: 25B1C-25B1F (length 4) - dimensions 88x32
Data: 25B20 - 2661F (length 2816, hex b00)

2017-06-23_11-01-27.png
tkrn
Random nobody
Level: 5


Posts: 5/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 03-08-18 01:39:48 PM (last edited by tkrn at 03-08-18 01:41:46 PM) Link | Quote
Just a status update (it's been a while) but I'm still working on an extraction tool. I've been able to create a BMP header for output and display. I'm working with palettes now to get the color right. Is there anyone that can assist me reading some de-compiled C code? Shoot me PM if so.

I do have the palette files but I could use some help reverse engineering them.

See progress below:
BMF54123

Rhea Snaketail
Slightly frazzled...
Level: 135


Posts: 5833/5863
EXP: 28756704
For next: 578301

Since: 07-03-07

From: Neither here nor there.

Since last post: 14 days
Last activity: 6 hours

Posted on 03-25-18 06:52:56 PM Link | Quote
Originally posted by tkrn
xdaniel - Thanks for you help thus far. Maybe you can help me get over the last hurtle. I've reviewed all my math + conversions multiple times but I keep on getting this clipping. See my offsets below.

Header: 25B1C-25B1F (length 4) - dimensions 88x32
Data: 25B20 - 2661F (length 2816, hex b00)

2017-06-23_11-01-27.png

You've probably figured it out by now, but Tile Molester has a bug that clips off most of the last row of tiles. It's pretty obnoxious.
tkrn
Random nobody
Level: 5


Posts: 6/6
EXP: 431
For next: 98

Since: 05-16-16


Since last post: 97 days
Last activity: 7 days

Posted on 06-20-18 10:41:37 AM Link | Quote
Good news, after working on this off and on for a period of time. I've developed a tool to help extract sprites. I am hitting an issue with the TITLE.SPR and it maybe tied to TITLE.FIX somehow? See the tool "bakuspr" on GitHub @

https://github.com/tkrn/bakuspr
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - Sega BAKU BAKU (PC) Sprites? New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 5d36857 [2018-03-03]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

26 database queries, 5 query cache hits.
Query execution time: 0.146181 seconds
Script execution time: 0.015708 seconds
Total render time: 0.161889 seconds
Memory used: 1048576