English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   project.Sprites (http://eab.abime.net/forumdisplay.php?f=64)
-   -   Ripping from The Immortal (http://eab.abime.net/showthread.php?t=98780)

Eleas 10 September 2019 22:56

Ripping from The Immortal
 
1 Attachment(s)
Hey everyone.

So I wanted to have a go at ripping sprites. I've always had a soft spot for The Immortal. This was the second game I bought with my own money, and while the game does have its share of design flaws, I still think it's evocative and graphically stunning -- especially for a 16-color game without (as far as I can tell) leveraging any Amiga tricks whatsoever. I decided to try and rip it.

Background tiles are going well so far. They're 4 bitplanes sized 64x32 and in ACBM. I can't seem to get a handle on the other graphics -- the animations, the panels, the font, the inventory images: I see a lot of repeated data of the appropriate size, but try as I might, I just can't bring it into focus.

What am I missing here? If we look at address $259CE in the supplied .uss, bitplane width 8x32 @ 4 bitplanes, we can see what looks like the main character and some kind of mask. How do I get rid of the mask?

Cherno 11 September 2019 00:30

I couldn't do it either. Alas, Spriter's Resource at least has some of the Genesis sprites.

Eleas 11 September 2019 11:57

Yeah, those are the bigger combat sprites (not sure they're actually sprites, mind you) that weren't included on the Amiga. A remake would, of course, preferably include them.

I'm not saying maptapper is the only way forward. I'd much prefer to do it programmatically though, since it's probably the best way to snag a complete representation of the data. The alternative is to use different software (dubious), to write my own utility (educational, tempting, but also time-consuming), or to simply run WinUAE in slow mode, with lots of screen caps (workable but time consuming, and runs the risk of overlooking certain sprites).

Then again, for completeness' sake, one would have to get ahold of a Megadrive emulator anyway, just to get the Megadrive-only sprites (apparently, Gens supports slowdown).

clenched 11 September 2019 14:21

Thanks to the Eleas tile info we at least have level maps. :cool
http://hol.abime.net/2615/gamemap

Eleas 11 September 2019 20:37

Quote:

Originally Posted by clenched (Post 1344910)
Thanks to the Eleas tile info we at least have level maps. :cool
http://hol.abime.net/2615/gamemap

Hey hey, nicely done.

Eleas 13 September 2019 11:48

That's interesting. I tried to rip the maps using Maptapper. It didn't find a match. How did you do it, clenched?

clenched 13 September 2019 17:50

1 Attachment(s)
You know how to get tiles so skip that. Look for a room with the fewest animated areas. A room with two unlit torches is selected. Unfortunately the tiles are huge compared to the small play area. So it is hard to capture a large enough sample of tiles in one go for the map search to work.

Moreover the hero is always near the center and blocks capturing a larger area. My solution was to make composite captures while walking hero around. Subsequent captures must include area hero just left to erase him.

Three captures were enough for 3^2 tile match sufficient for Maptapper to find map.

In Map Ripper load via drop down box or by hand the Jackpot! data. That's it.

Eleas 13 February 2021 23:13

Hello, all. I realize this is the mother of all thread necromancy, except I actually have something to talk about.

So after gaining a bit of experience with low-level code, I decided to tackle the game again in search of sprite- and font data. I figured the font data would come the easiest: from what I can tell, it looks like font characters are variable width (min 8px), but with a fixed height at 16 pixels tall. It would make sense for this data to be baked into the binary representation, maybe using a jump table and either a stop byte or preceding width information.

Anyway. So I decide to try out WinUAE's debugger. I fire up the savestate for the first level of the game and then I enter the debugger to switch off sprites. I exit. Nothing happens. So, ok, does that mean the game uses no hardware sprites? Cool, thinks I; that would provide lots of options for optimization. So I enter the debugger again, and switch off backgrounds (mb 0), thinking that this should at least give me some graphical artefacts.

Nothing changes. Game still behaves as normal. Shouldn't this blank out the screen? What am I missing here?

Bear in mind that I haven't quite grokked how DMA and the blitter works on the Amiga, not on a gut level, so I may be misunderstanding what's happening here. Still, from what I understand it, you draw to the screen by the bitplane pointers and this should disable them, right?

clenched 18 February 2021 00:31

1 Attachment(s)
Quote:

Originally Posted by Eleas (Post 1462152)
Hello, all. I realize this is the mother of all thread necromancy, except I actually have something to talk about.

At least you didn't apologize. I've never read an EAB rule limiting the age of threads that can be replied to. :D
Quote:

So I enter the debugger again, and switch off backgrounds (mb 0), thinking that this should at least give me some graphical artefacts.

Nothing changes. Game still behaves as normal. Shouldn't this blank out the screen? What am I missing here?
I fear you won't have success ripping these with conventional tools. Data are passed through mazes of ANDs,ORs,RORs,ROLs before being applied to screen. The capital Mb 0 does what you mean. Also means the graphics you're after are gone too.

Here is the method I used to capture a few "sprite" screenshots for HOL.
In debugger zero out selected tiles but leave enough to navigate.
Wf 337ea 413ea 00
Setup genlock with a contrasting background. This makes it easier to distinguish transparent and black pixels.
Not practical to rip all animations this way. Good enough to fill the 150x40 HOL picture though.


All times are GMT +2. The time now is 08:43.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.

Page generated in 0.04618 seconds with 11 queries