English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Maptapper (https://eab.abime.net/forumdisplay.php?f=123)
-   -   Banshee [REQUEST] (https://eab.abime.net/showthread.php?t=73303)

blindfold 14 April 2014 22:11

Banshee [REQUEST]
 
Hi guys.

Did someone rip maps from Banshee?
I'm asking before I even start to crack maptapper altogether.

zenox98 14 April 2014 22:43

There are some rips here.

Codetapper 15 April 2014 00:57

I'd say if it's not in HOL, it hasn't been done so crack on... :)

blindfold 15 April 2014 17:17

:)

Joe Maroni 18 April 2014 10:29

good luck, the maps of banshee could have already been done but the problem is that the game tiles uses different amount of bitplanes.

as far as i remember some tiles uses 4 bitplanes and some 5 or so....

i always got problems to rip them in one rush...

Joe Maroni 24 April 2014 17:56

any news ???

blindfold 26 April 2014 20:01

Sorry for late reply. I have done several attempts, but so far none of them got any (satisfying) results.

Joe Maroni 27 April 2014 20:28

2 Attachment(s)
ok, i was already able to change some tiles inside a savestat without crashing the game....

as you can already see the "ocean" tiles seems to be not tilebased...only the unmoveable enemies are tilebased....

i wish to have some more free time to work it out....:crying

another interesting information is that all tiles are 6 bitplanes depth. but some are using a mask and it is not possible to rip them in one way with the tool. first tile has 7 bitplanes and the last bitplane is a mask. tile 2+3 are pure 6 bitplanes..without mask.

the indexes seems to point to the start offset of each tile...this means when i've got the base adress for the tiles you have to write a little program to extract the bitplanes and then recolor them in one way....

much work, but i think worth enough....:great

ok, i took the time to have a deeper look at the game and i was wrong that the "ocean" tiles are not tilebased...they are and after writing a little program i was able to replace the whole indexes...see picture 2

blindfold 28 April 2014 11:30

Wow, that's awesome!

In my attempts I saw the different number of bitplanes, but I thought that one bitplane is treated as a mask and is skipped (per tile, not all tiles have a mask). I'm not an expert so I can be wrong. But then again - you confirmed something similar.

I remember that Magic Pockets PC files are kept this way, although all 'tiles' there had a mask. When I skipped it, everything was fine (including colors).

Anyway, my plan was to rip all the tiles and put them together one per one, then use the map indexes with prepared tile sheet. Too bad it is a long run and I can just afford few hours per week in total, so it can/could take decades.

Did you write the tool or did it by hand?

Joe Maroni 28 April 2014 21:41

I'm already working together with Codetapper to solve the problem. My thoughts are that the game itself uses some kind of lookup table to get the right pointer to each tile and decide if 6 or 7 bitplanes are used.
THIS lookup table was already found by myself. So please don't waste you're time to put each tile by tile together...it can be done with a tool that needs to be written soon.

Anything will follow soon. Give Codetapper and me some days to investigate the other stuff......:spin

BTW: yes, i'm writing some tools by myself to understand those custom formats....

turrican3 29 April 2014 06:54

hi joe,
could you explain how you did this ?

Joe Maroni 29 April 2014 19:57

2 Attachment(s)
maybe later when we (Codetapper and myself) finished the work on it...;)


EDIT: you can see that we are able to change something..;)

Joe Maroni 01 May 2014 20:23

1 Attachment(s)
ripping the tiles is done as soon as possible...
the complicated stuff is that we have to add bitplanes by hand (or let a program doing it), but until now everything looks like we are on the right way...:)

clenched 01 May 2014 20:34

You guys are doing a fine job. One thing that looks like trouble is when the big bombers and subs appear on level 1. The ocean keeps scrolling until these are destroyed. Later on a heavy fog bank obscures the map. Anyway good luck with it. :)

blindfold 02 May 2014 10:57

Whoa! Great stuff!

blindfold 10 May 2014 12:46

Hi. Did it go well?
I really can't wait for this one... though your approach required a lot of work and skill, so probably I should just sit still.

Joe Maroni 10 May 2014 17:53

2 Attachment(s)
I've spent half an hour today to work on it.
Look at the result. There is still one kind of tile that makes me headaches, but i think i'm on the right way to solve the problem....;)

Sorry for waiting, but I still have a real life with wife and kids..;)

EDIT: same method works with stage 2 too....

clenched 17 May 2014 20:44

Improved map
 
1 Attachment(s)
Here is a test map made from Joe's tiles. All the craters and bombed out lighthouse remind me of Blood Money where the gun emplacements defaulted to destroyed on the initial map. The good guns were later stamped on top. The fog is no problem after all. The repeating section of track at end boss clipped at arbitrary length.

EDIT:
There exist files on disk named level1f - level4f and bossf. These contain information about the maps. They first need to be unpacked with RNC tool. Offset $a shows start of map and offset $16 is end+1. This means we can determine exactly the size of map without the intermediate bosses stretching it out.

These data still need to be processed into a map but the area of code that needs to be reassembled is compact. It is already done and all five maps produced. Each file size is perfectly divisible by 48 and also tells the exact height to use in Maptapper.

Look how much shorter it is.

Joe Maroni 18 May 2014 18:36

looks good...:great

Are there any informations about the map data that you like to share with us?

I'll continue the work o nthe tiles...:)

clenched 19 May 2014 02:29

Carry out these steps before the level starts and with WinUAE paused. This thing just logs writes to tile index and copies them to an unused block of memory.
Code:

        ;s 60000156600001526000014e7000
        ;Searching from 00000000 to 00200000..
        ;Scanning.. 00000000 - 00200000 (Chip memory)
        ;0002EB00
        ;add $2e to address then read the long word there
        ;m 2eb2e
        ;0002EB2E 0002 ED06 3E39 0002 ED08 2079 0002 ED02
        ;s 33c0xxxxxxxx

        ;in my case:
        ;s 33c00002ed06
        ;Searching from 00000000 to 00200000..
        ;Scanning.. 00000000 - 00200000 (Chip memory)
        ;0002EB14 0002EB46 0002EB80 0002EBBA 0002EBF0 0002EC26 0002EC7E 0002ECCC

        ;Replace with these bytes
        ;4eb9 0000 0200
        ;Initialize $254.l to $1f0000 to hold map data
       
        ;Assemble this little program
        org        $200
        move.w        d0,$2ed06        ;address found from step 1
        move.l        a0,-(sp)
        move.l        $254,a0
        move.w        d0,-(a0)        ;create map $1f0000-2 downward
        move.l        a0,$254
        move.l        (sp)+,a0
        rts
       
        ;Play the level to end.
        ;$254.l holds address of last tile written or
        ;first byte of file. Debugger - save about 100k or so from here.

Use loaded map in Maptapper with type: word and width: 24


All times are GMT +2. The time now is 11:03.

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

Page generated in 0.08304 seconds with 11 queries