10 September 2019, 22:56 | #1 |
Registered User
Join Date: Feb 2019
Location: Malmö
Posts: 9
|
Ripping from The Immortal
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? Last edited by Eleas; 11 September 2019 at 22:45. |
11 September 2019, 00:30 | #2 |
Registered User
Join Date: Dec 2011
Location: Dortmund, Germany
Posts: 1,055
|
I couldn't do it either. Alas, Spriter's Resource at least has some of the Genesis sprites.
|
11 September 2019, 11:57 | #3 |
Registered User
Join Date: Feb 2019
Location: Malmö
Posts: 9
|
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). |
11 September 2019, 14:21 | #4 |
Registered User
Join Date: Sep 2008
Location: Gainesville U.S.A.
Posts: 771
|
Thanks to the Eleas tile info we at least have level maps.
http://hol.abime.net/2615/gamemap |
11 September 2019, 20:37 | #5 | |
Registered User
Join Date: Feb 2019
Location: Malmö
Posts: 9
|
Quote:
|
|
13 September 2019, 11:48 | #6 |
Registered User
Join Date: Feb 2019
Location: Malmö
Posts: 9
|
That's interesting. I tried to rip the maps using Maptapper. It didn't find a match. How did you do it, clenched?
|
13 September 2019, 17:50 | #7 |
Registered User
Join Date: Sep 2008
Location: Gainesville U.S.A.
Posts: 771
|
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. |
13 February 2021, 23:13 | #8 |
Registered User
Join Date: Feb 2019
Location: Malmö
Posts: 9
|
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? Last edited by Eleas; 14 February 2021 at 07:25. |
18 February 2021, 00:31 | #9 | ||
Registered User
Join Date: Sep 2008
Location: Gainesville U.S.A.
Posts: 771
|
Quote:
Quote:
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. |
||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Immortal | mai | support.Games | 2 | 13 January 2010 16:56 |
To be immortal ;-) | oraclex | support.Games | 15 | 17 May 2009 13:27 |
Immortal | haynor666 | HOL contributions | 2 | 03 September 2008 12:45 |
Help with Immortal | FILIPE ALVES | support.WinUAE | 2 | 10 September 2004 06:57 |
Immortal 2 | thinlega | Amiga scene | 5 | 19 October 2002 15:39 |
|
|