Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
Acmlm's Board - I2 Archive - - Posts by Ark42b
User Post
Ark42b
Newcomer
Level: 5

Posts: 1/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 05-29-05 08:24 AM, in Password Link
I'll just be "B" here instead. You can delete/ban that first account before somebody adds any more spam posts. I put in a password this time.
Ark42b
Newcomer
Level: 5

Posts: 2/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 05-29-05 12:34 PM, in Metroid Data Link
If anybody is interested, I'll post the C++ source code when I'm done decoding all of the information from the ROM.
Here are some pictures of the sprite data, you can see where I was trying to piece together the Skree's and it doesn't make alot of sense how that one switches to a vertical tile layout instead of horizontal.
http://ark42.com/metroid/sprites-brinstar.png
http://ark42.com/metroid/sprites-general.png
Ark42b
Newcomer
Level: 5

Posts: 3/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 05-29-05 09:14 PM, in Metroid Data Link
VL-Tone, I did read your document, and it was a good start, but it was not 100% accurate. The 00 byte at the end of the items marks the end of the item-list for that x,y coordinate. You can have multiple items at one x,y coordinate by just listing them all together there. There is a 3 byte header per y coordinate (y value, 2byte memory pointer) and a 2 byte header per x coordinate (x value, number of bytes to skip to find next x value), and I decoded all possible item types (which are only in the low-nibble, the high-nibble is an ID field used by some of the item types).
Items are 1=extra enemy, 2=powerup, 3=swam, 4=elevator, 5=turret(the things at the top of the motherbrain room shooting down) 6=motherbrain itself 7=zeebitite 8=rinkas 9=extra door(if low nibble is 3, the door cannot be opened after mother brain is dead), and 10=palette switch
A lot of the items are only 1 byte long, except for enemy and powerup which are 3 bytes, and elevator, turret, and door, which are 2 bytes.

Another discovery was the "unknown byte" at the start of each room data, which is actually a special default palette byte. The attribute table is set to that palette and any structure data matching that palette will not update the attribute table, even if it is being put ontop of a different structure which already did change the attribute table, it will not be updated! For example, the entrance to the motherbrain room at position (4,B) has a default palette of 3. The blue platform which is 3 tiles wide right where you enter the room by the door, and it has palette #1, but the tall column of blocks which overlaps it by 1 tile, has palette #3, which is why the top block will be drawn with palette #1 and shows up bluish. It overlaps the blue platform and changes the name table entry without changing the attribute table. Just another little aspect of how the Metroid programs added a bit more variety to the level design I think.

-----

Thanks, dan, I did not know the source to MetEdit was released. I will check that out.

Edit: It does look like MetEdit has some of what I want. It looks like some things are hard coded, but the sprite code is there to remake the sprites from the ROM, in met.cpp's DrawFrame() function.



(edited by Ark42b on 05-29-05 04:15 AM)
(edited by Ark42b on 05-29-05 04:43 AM)
Ark42b
Newcomer
Level: 5

Posts: 4/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-02-05 01:39 AM, in Metroid Data decoded, source, images Link
Ok, well, it's not a a level editor, but I finished decoding all the data, and the source is at http://ark42.com/metroid/Met1Map.cpp if anybody ever wants it. You can view lots of neat maps at http://ark42.com/metroid/ including maps of *all* the "hidden zones" and maps which show all shootable/walkable blocks, all of the sprites and patterns, etc.

*edit* WARNING! some of the large images (8192 pixels wide) might cause certain versions of Firefox/Mozilla/Netscape 7 to crash. Try the -4096 versions which have been rescaled down to 1/2 size if viewing online.



(edited by Ark42b on 06-02-05 01:55 AM)
Ark42b
Newcomer
Level: 5

Posts: 5/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-02-05 02:25 AM, in Metroid Data decoded, source, images Link
My bandwidth is about 3100 GB/month on that server, so no, it hasn't been exceeded

The large PNGs do fail to load in firefox for some reason (it tells me its invalid, odd) yet IE displays them fine, and ALT+clicking them to download in firefox will let me view them in Paint Shop Pro just fine. The big images are 8192x7680x256 with transparency, but that isn't all *that* huge I wouldn't think.



(edited by Ark42b on 06-01-05 04:04 PM)
Ark42b
Newcomer
Level: 5

Posts: 6/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-02-05 05:09 AM, in Metroid Data decoded, source, images Link
The program I wrote automatically created maps of the entire world for Metroid 1, which is 32x32 screens of 256x240 each. What netscape has a buffer overflow? 4 or 7?
Anyway, just save them to disk then.. I have no problem viewing them locally and zooming in/out and scrolling around in them in Paint Shop.
I resized the main two maps down to 4096x3840 which appears to work in Firefox, so if you really want to see them online, go to http://ark42.com/metroid/Metroid-Map-4096.png or http://ark42.com/metroid/Metroid-Map-Secrets-4096.png

Ark42b
Newcomer
Level: 5

Posts: 7/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-02-05 06:54 PM, in Metroid Data decoded, source, images Link
Hey, BMF, I remember seeing that name in the NES palette I picked up from a random google search. It makes the generated images look a lot nicer then the game does in NESticle

--

Heh, thanks VL-Tone. Your work on the item decoding saved me a lot of time getting that part started.
There are a lot of duplicate sprites it seems, just a bunch of pointers all pointing at the same thing, and ignore the right hand side of the sprite pictures of course, because I'm sure I am just decoding garbage/invalid pointers at that point.
Anybody can pull the suitless sprites too if they want, if you uncomment the 0x1B in the common_patterns and recompile, the common sprites should use the alternate then.

--

Sorry about crashing on NS7. I'll put a warning in the post above.
Ark42b
Newcomer
Level: 5

Posts: 8/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-03-05 08:22 PM, in Metroid Data Link

Thanks Mega-Dog, I seem to have found all the information I needed for what I wanted to accomplish for now - http://board.acmlm.org/thread.php?id=12718
Ark42b
Newcomer
Level: 5

Posts: 9/9
EXP: 338
For next: 191

Since: 05-29-05

Since last post: 151 days
Last activity: 103 days
Posted on 06-03-05 10:55 PM, in Metroid Data decoded, source, images Link
I just whipped up another way to view the entire maps, if you want to see the entire 8192 version, you can use this tool: http://ark42.com/metroid/map/map.php (it's just a slight alteration of something else I already had laying around at http://ark42.com/google/map.php

This may take a minute to load and use up a bit of memory to display, but the full resolution map all at once is at http://ark42.com/metroid/map/map.php?left=0&right=31&top=0&bottom=31&zoom=0&scale=256
Acmlm's Board - I2 Archive - - Posts by Ark42b


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.044 seconds.