English Amiga Board


Go Back   English Amiga Board > abime.net - Hosted Projects > project.Sprites

 
 
Thread Tools
Old 10 September 2019, 22:56   #1
Eleas
Registered User

 
Join Date: Feb 2019
Location: Malmö
Posts: 8
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?
Attached Files
File Type: uss The Immortal.uss (518.8 KB, 186 views)

Last edited by Eleas; 11 September 2019 at 22:45.
Eleas is offline  
Old 11 September 2019, 00:30   #2
Cherno
Registered User
Cherno's Avatar
 
Join Date: Dec 2011
Location: Dortmund, Germany
Posts: 883
I couldn't do it either. Alas, Spriter's Resource at least has some of the Genesis sprites.
Cherno is online now  
Old 11 September 2019, 11:57   #3
Eleas
Registered User

 
Join Date: Feb 2019
Location: Malmö
Posts: 8
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).
Eleas is offline  
Old 11 September 2019, 14:21   #4
clenched
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
clenched is offline  
Old 11 September 2019, 20:37   #5
Eleas
Registered User

 
Join Date: Feb 2019
Location: Malmö
Posts: 8
Quote:
Originally Posted by clenched View Post
Thanks to the Eleas tile info we at least have level maps.
http://hol.abime.net/2615/gamemap
Hey hey, nicely done.
Eleas is offline  
Old 13 September 2019, 11:48   #6
Eleas
Registered User

 
Join Date: Feb 2019
Location: Malmö
Posts: 8
That's interesting. I tried to rip the maps using Maptapper. It didn't find a match. How did you do it, clenched?
Eleas is offline  
Old 13 September 2019, 17:50   #7
clenched
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.
Attached Thumbnails
Click image for larger version

Name:	imm_search.png
Views:	249
Size:	55.7 KB
ID:	64451  
clenched is offline  
Old 13 February 2021, 23:13   #8
Eleas
Registered User

 
Join Date: Feb 2019
Location: Malmö
Posts: 8
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.
Eleas is offline  
Old 18 February 2021, 00:31   #9
clenched
Registered User

 
Join Date: Sep 2008
Location: Gainesville U.S.A.
Posts: 771
Quote:
Originally Posted by Eleas View Post
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.
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.
Attached Thumbnails
Click image for larger version

Name:	immss.png
Views:	115
Size:	35.8 KB
ID:	70953  
clenched is offline  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.07828 seconds with 16 queries