Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - mario land 2 level data | | | |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
midget35 Paragoomba Level: 13 Posts: 42/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
Hi all. I'm getting into hacking sml2, and seem to have made good progress so far. Level data doesn't seem to be compressed and is managable within a hex editor. cool. Anyway- has anyone done much hacking of sml2? I would be very grateful if anyone could point me to any info or docs thay have on the game. I am specifically looking for the hex $addresses that dictate level dimensions and sprite & enemy locations for the first level of the game. Thanks as always for any help, and please let me know if you'd like to get involved in a sml2 hack. |
|||
stag019 Snifit Level: 23 Posts: 94/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
2. RLE Main use: Data Implemented in: Super Mario Land 2 (Levels) This compression method relies on unbroken repeating strings. The "proper" format is a length byte followed by a data byte. For example, 06 0A is equal to 0A 0A 0A 0A 0A 0A - the 06 means repeat 6 times. It's possible, but uncommon, for the data byte to come first. Often, the length byte is only 7 bits, with the highest bit being an indicator of whether it's a length byte or an uncompressed data byte. If your uncompressed data is something like 0D 46 93 00 you don't want to have to compress that - that'd result in a string of 01 0D 01 46 01 93 01 00, doubling the length. However, this can only work if you know all the data bytes will be less than 7F - otherwise the high bit will be set, and your program would interpret it as a length byte. RLE compression is very flexible and can have more than one byte for both length and data, so you could use RLE to compress a string such as 0D 0A 0D 0A 0D 0A 0D 0A, provided the program was designed for 16-bit data. In some cases, the length and data bytes could be combined. For example, if you know neither will exceed 15 (decimal), you could use the upper 4 bits for length and lower 4 for data. This is rare, however, since it restricts the values so much. RLE compression isn't too hard to implement, but it can make hacking a bitch, since you need to know what to look for and usually need a lot more room for new stuff. (Plus if you plan to make an editor, you'll either need to be able to code a routine to RLE-compress data the same way it is in the game, or ASM-hack it to disable the compression altogether.) That's all the info I got, I took that from The Crimson Chin's website. |
|||
midget35 Paragoomba Level: 13 Posts: 44/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
Thanks for replying stag! I was beginning to wonder if anyone would! Needless to say- within about 15 secs of instigating this post, I realised there WAS compression involved. Nonetheless it's very basic, and level layout-wise I understand it. As far as I can see- so long as the scrolling, map data, enemy & item data remains unchanged, I can already realise a significant amount of (arduously implemented!) level design changes! I must re-iterate my priorities- finding the scrolling/level length data seems to have eluded everyone so far. They don't seem to appear at the start of the level layout data as one might expect. I urge anyone with any interest to help me investigate this further and get involved. SML2 has a fantastic engine that is underappreciated because ithe game's too easy to complete. There's real potential here. Please don't hold back with any seemingly insignificant info you might have. Thanks again Stag. |
|||
stag019 Snifit Level: 23 Posts: 100/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
Originally posted by midget35No problem.But, I have a question for you. I've wanted to hack this for a long time, but didn't know how. Could you document like where the levels are, where the pieces are, and all the pieces? I really want to hack this game. Edit: 100th Post!!!!! (edited by stag019 on 07-28-05 08:32 PM) |
|||
midget35 Paragoomba Level: 13 Posts: 45/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
Ok Stag. Let's see... I haven't bothered writing down the starting addresses for any of the levels passed l1 yet, as I still have so much to understand about the layout / design principles. I'm taking it one step at a time, and focusing purely on the 1st level as it is easiest to get to and check as I make changes. l1 object data starts at $24500. This data then goes from the top left hand 'block' across to the top right block. The following numbers are repeated dictating the 'blocks' to be used for that upper row: E0 FF E0 FF E0 FF E0 FF etc ... E0 is, basically 'thin air': a white square with no collision values or other properties to speak of. FF then dictates that the preceding block is to be repeated 255 times (+ 1 for the original E0, if you get me!). So a lot of thin air. There is a prefixed level length value that I cannot track down at this time. Nonetheless- once the blocks reach the end of the row, they automatically return to the far left and drawing of the next row begins. This 'signal' to end one row and start the next does NOT appear within the block layout. ie. there is no explicit value saying the end has been reached. Within this code for example ... E0 FF E0 FF E0 FF E0 FF E0 FF E0 FF E0 FF E0 FF several rows are created, with no 'on the fly' cut-of-point indicating the next row is to be started. Ok. values 00 -7F are individual blocks. For example 01 draws a single '?' coin block. values 80 -FF dictate there is to be a row of a particular block, and must be followed by a value stating how long the row is (+ 1). A7 33, for example, draws 52 blocks of grass. Editing is arduous for this reason: the number of blocks in a row has to be spot on. If I changed A7 33 to A7 32, for example, all the rows below it would be offset by one! This is why I'm so frustrated that I can't locate the level dimension data. Something for you to play with: $x24C9A is the starting address for the row directly underfoot for level 1. It starts: A7 33 29 2B 28 This draws a long row of grass (A7 33) and the bottom of a small mound (29 2B 28) directly after. Change the final 3 values to anything you like between 00 - 7F to see the diversity of blocks available. Changing the first value to 80 - FF changes the style and attributes of blocks underfoot for that row. Changing the 2nd (row value) will offset all rows thereafter. Go down a pipe to see how this takes effect. I'm not interested in documenting all the block types & their values until I know more about the essentials of sml2 level creation. I'm into level & graphics hacking, but such info would be fairly useless until I can dictate the level scrolling & dimensions, item & enemy placement. I've made a lot more progress than I've listed here, but this is the most important I feel. Good luck stag, let's see if we can crack this thing! |
|||
stag019 Snifit Level: 23 Posts: 130/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
All of this info is pure gold. Perhaps, If there's a decompressor, we could make an editor. This is just amazing! Good luck with any hacks you're planning, you deserve it! Do you know anything on overworld editing?Originally posted by midget35I'll work on that, you try to find the enemy data. Again, great info, let's get to work! |
|||
midget35 Paragoomba Level: 13 Posts: 46/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
I can't find the item & level data. I'll keep looking but it has been very well hidden. I'm completely lost. | |||
stag019 Snifit Level: 23 Posts: 194/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
I'm working on the list, which I'll post after midnight. | |||
Violent J Melon Bug Level: 41 Posts: 499/749 EXP: 479154 For next: 991 Since: 05-05-04 From: Since last post: 8 hours Last activity: 8 hours |
| ||
Its after midnight Mr. NonStop Poster! POST TEH LIST! I wouldnt mind trying to see if I can understand this and maybe help out. | |||
stag019 Snifit Level: 23 Posts: 206/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
Originally posted by SonicandtailsWell excuse me for trying to get some point in the ACS. Because of that, I'm only listing ten Items at a time. I'll edit this post each time I decide to add more. The List: 00=Used Block 01=? Block With Coin 02=Solid Emptiness 03=Used Block 04=Conveyer Belt Right 05=Conveyer Belt Left 06=Fireball Destroy Blocks 07=Used Block 08=Vertical Top Left Side of Pipe 09= Vertical Top Right Side of Pipe 0A=Vertical Bottom Left Side of Pipe 0B=Vertical Bottom Right Side of Pipe 0C=Horizontal Top Left Side of Pipe 0D=Horizontal Bottom Left Side of Pipe 0E=Horizontal Top Right Side of Pipe 0F=Horizontal Bottom Right Side of Pipe I don't know what in the ? block, because I can't reach it. Is there any other object you know of that I can change?(SOLVED) Oh, and It would be great if you helped out. (edited by stag019 on 07-31-05 11:13 PM) (edited by stag019 on 07-31-05 11:14 PM) |
|||
midget35 Paragoomba Level: 13 Posts: 47/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
Change the value at 24C2F to 00 - 7F. This is easily accessible. I didn't realise you were only operating with the example values I gave you. rows start something like this: etc. 24906 249C3 24A6A 24AF9 (etc) 24B9C (row3) 24C2F (row 2) 24C9A (ground level) The blocks you noted as 'emptiness' may have more significance- many seemingly blank blocks are solid, act as conveyer belts, water, gue properties etc. Keep an eye out for those! *Oh, and It would be great if you helped out.* Is this directed at me? I've spent the last day and a half looking for sprite data per your request. |
|||
richyawyingtmv Koopa Level: 15 Posts: 45/116 EXP: 14829 For next: 1555 Since: 06-14-05 Since last post: 15 hours Last activity: 14 hours |
| ||
No, im sure he meant Sonicandtails. | |||
stag019 Snifit Level: 23 Posts: 214/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
Originally posted by richyawyingtmvYeah I meant Sonicandtails. I've been busy so I only have up until 0F done, however, next time I update, I'll add a lot more. |
|||
Coolman Goomba Level: 10 Posts: 8/32 EXP: 3753 For next: 661 Since: 08-29-04 From: Germany FWB Since last post: 5 days Last activity: 21 hours |
| ||
Hi, I'm working on a Mapeditor for SuperMario2 atm. I'm so far that it can view all maps but I don't know if it works with the English version, too... If I find a English rom, I'll what I can do... Perhaps I'll give you a little beta version the next days... EDIT: I just remember that there is only one version of SuperMario2 ^^" (edited by Coolman on 08-01-05 12:10 PM) |
|||
Someguy Buzzy Beetle It seems as though the girl you've fallen for is also a pyromaniac. Level: 32 Posts: 358/397 EXP: 193329 For next: 13113 Since: 03-15-04 From: I'm proud to be an American... I think... Since last post: 1 day Last activity: 5 hours |
| ||
Actually if I remember there is atleast an english and japanese version, if not more. If I saw the rom though I may be able to see which one it is... you are talking about the Super Mario Land 2 game(for Gameboy) and not Super Mario Bros. 2 for NES, right? | |||
Coolman Goomba Level: 10 Posts: 9/32 EXP: 3753 For next: 661 Since: 08-29-04 From: Germany FWB Since last post: 5 days Last activity: 21 hours |
| ||
Yes, we are talking about Super Mario Land 2 - Six Golden Coins. My editor supports 1.0/ENG, 1.2/ENG, 1.0/JAP, 1.2/JAP... With "only one version" I wanted to say that there is no special German edition... EDIT: I've made a screenshot of what I have so far: Screenshot (edited by Coolman on 08-01-05 01:12 PM) (edited by Coolman on 08-01-05 01:17 PM) (edited by Coolman on 08-01-05 01:18 PM) |
|||
Someguy Buzzy Beetle It seems as though the girl you've fallen for is also a pyromaniac. Level: 32 Posts: 359/397 EXP: 193329 For next: 13113 Since: 03-15-04 From: I'm proud to be an American... I think... Since last post: 1 day Last activity: 5 hours |
| ||
You are the best for doing that, Coolman. You probably aren't accepting them but I would love to try and beta test and find glitches because when I test things I come acrost them. That and I love SML2! | |||
stag019 Snifit Level: 23 Posts: 220/299 EXP: 62259 For next: 5464 Since: 06-10-05 From: C:\Documents and Settings\stag019\Desktop Since last post: 9 days Last activity: 7 hours |
| ||
Originally posted by SomeguyMe too, can I beta test it. That editor is awesome. So much for my list. But you don't know how to edit sprites yet, do you. |
|||
midget35 Paragoomba Level: 13 Posts: 48/70 EXP: 8877 For next: 1390 Since: 03-17-05 Since last post: 3 days Last activity: 14 hours |
| ||
Very impressive! Is this a mock-up or an actual screenshot? I'm, working pretty solidly on this too right now. I'd be very appreciative of any and all information you could forward to me- as well as any docs you've come across. I'm going through the rom byte by byte at the moment looking for enemy location data. I shall of course post my findings here. Bis jetzt finde ich es sehr Schon! |
|||
Coolman Goomba Level: 10 Posts: 10/32 EXP: 3753 For next: 661 Since: 08-29-04 From: Germany FWB Since last post: 5 days Last activity: 21 hours |
| ||
Originally posted by midget35 It's a actual screenshot(well, now it is old again). Well I'll look for Sprites and Enemeys this afternoon, I think. Well, I could give you the docs, but most of them are full of ASM-Stuff... |
Pages: 1 2 | Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - mario land 2 level data | | | |