Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,485,172
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-26-24 04:37 AM
Guest: Register | Login

0 users currently in ROM Hacking | 1 guest | 1 bot

Main - ROM Hacking - Let's hack NSMB! (To be exact, a level viewer.) New thread | New reply

Pages: 1 2 3 4 5

Raccoon Sam
Posted on 07-24-07 12:34 AM Link | Quote | ID: 57334


Cobrat
Level: 56

Posts: 294/672
EXP: 1379997
Next: 18179

Since: 02-19-07
From: Hi

Last post: 3467 days
Last view: 2698 days
Sweet job, once again! I don't like how the vertical scrollbar cuts from the top, though... Ad a horizontal separator for the buttons (Open, Undo, Save, and whatever that last one is) or make the bar go all the way up.

As for name suggestions, Lakitu's Cloud sounds a bit sissy. Maybe for its current state some crazy pun, like NewView. Maybe just plain "NSMB Editor". Or Nitro Logic hurrrrrrr.

____________________


GuyPerfect
Posted on 07-24-07 01:20 AM Link | Quote | ID: 57338


Paratroopa
Level: 30

Posts: 108/155
EXP: 152597
Next: 13272

Since: 03-14-07

Last post: 6045 days
Last view: 5994 days
Obviuosly, the name of the editor will be OldHack, just to be tongue-in-cheek.

Treeki
Posted on 07-24-07 01:30 AM Link | Quote | ID: 57342


Red Cheep-cheep
Level: 34

Posts: 41/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
So I decided to post this.. Maybe it's of use to someone who can help me continue? I'll carry on tomorrow.

NSMB Level Format Documentation
Written by Treeki. Copyright 2007

BGDAT files:
10 bytes for each object.
A map:
2 = Tile type
2 = X
2 = Y
2 = Width
2 = Height
Each of these are encoded in 2 bytes.

Formula to convert 2 byte format to an integer:
((second byte * 256) + first byte)

Formula to convert integer to 2 byte format:
first byte = number mod 256
second byte = (number - (number mod 256)) / 256

All positions are in tiles, not in pixels. Each tile is 16x16 pixels.
Collisions are determined by the tile; you do not have to set them yourself.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Normal level files:
-- To be updated as more is discovered --
Enemies are encoded in 12 bytes. I do not know how the area they start is delimited, though.

These values are encoded using the same 2 byte format described above:
0x74 = Time Limit
0x76 = Background Graphics Set
0x7C = Level Tileset Graphics Set (also, collision data)
0x82 = Background (Near Layer) Graphics Set
0xAA = Background Tile Layout (seems to also change some tiles like question block and brick to their appropiate level's palette)
0xAC = Background Palette

These I haven't tested, but am fairly sure of:
0xC0 = Level Tileset Palette
0xD2 = Background (Near Layer) Tile Layout
0xD4 = Background (Near Layer) Palette

The quest to crack NSMB's level format continues!

BTW, the new editor will be released tomorrow.
Also hopefully I will have full level editing (enemies etc) in a few days. (or maybe sooner!)

____________________
I'll put something here later.

GuyPerfect
Posted on 07-24-07 02:15 AM Link | Quote | ID: 57348


Paratroopa
Level: 30

Posts: 109/155
EXP: 152597
Next: 13272

Since: 03-14-07

Last post: 6045 days
Last view: 5994 days
When using bitwise arithmetic, which is not supported by VB, you can make things more efficient.

16-bit, unsigned, big-endian conversion from bytes to value:
Value = FirstByte | (SecondByte << 8);

And back to bytes:
FirstByte = Value & 0xFF;
SecondByte = Value >> 8;

interdpth
Posted on 07-24-07 06:28 AM Link | Quote | ID: 57405


Buzzy Beetle
Level: 44

Posts: 94/383
EXP: 593653
Next: 17632

Since: 02-22-07

Last post: 4098 days
Last view: 4072 days
Use multiple or divide to emulate it o.O

Jeesh

n<< 8 is same as n = n * (2*8) or n = n * 256
n>>8 is same as n = n \ (2*8) or n = n \ 256


Still efficient

____________________
lawl blog

http://interdpths.blogspot.com/

Treeki
Posted on 07-24-07 03:22 PM Link | Quote | ID: 57444


Red Cheep-cheep
Level: 34

Posts: 42/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days

Set for release later today, if all goes well.
Yep, you can now organise the objects in the list. I will also be adding basic editing of some stuff in the level header (time limit, Mario's start position, tileset, background).

____________________
I'll put something here later.

Tanks
Posted on 07-24-07 03:38 PM Link | Quote | ID: 57445


Dry Bones
Level: 55

Posts: 604/627
EXP: 1243738
Next: 70451

Since: 02-19-07

Last post: 5519 days
Last view: 5265 days
Your object tutorial works fine. I don't see why you haven't implemented it yet though... I'm currently making an object list... it will take a while but I've found things like possible beta collision blocks, the flag, and even check points. I even found a collision block of doom that kills you if you run into it . (It will only kill ou once and then it disappears...) I have yet to go farther but for now all I can do is keeping moving at a very slow pace...



____________________




Treeki
Posted on 07-24-07 03:47 PM Link | Quote | ID: 57447


Red Cheep-cheep
Level: 34

Posts: 43/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
Posted by Tanks
Your object tutorial works fine. I don't see why you haven't implemented it yet though... I'm currently making an object list... it will take a while but I've found things like possible beta collision blocks, the flag, and even check points. I even found a collision block of doom that kills you if you run into it . (It will only kill ou once and then it disappears...) I have yet to go farther but for now all I can do is keeping moving at a very slow pace...



I haven't implemented it because the offset at which objects start is different for every level, I think. It won't be in the first version of Lakitu's Cloud (ugh, I need a better name) but it will definitely be in a later version!
Object definitions will also be extended to support them, when they're added. If you manage to make an object list, do post it, as it will save me time once I decide to add this!

____________________
I'll put something here later.

GuyPerfect
Posted on 07-24-07 04:01 PM Link | Quote | ID: 57448


Paratroopa
Level: 30

Posts: 110/155
EXP: 152597
Next: 13272

Since: 03-14-07

Last post: 6045 days
Last view: 5994 days
I'm telling you, the final name of the software will be OldHack. There's no avoiding it.

Treeki
Posted on 07-24-07 08:23 PM Link | Quote | ID: 57467


Red Cheep-cheep
Level: 34

Posts: 44/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
Nah, I've decided to change it back to NSMB Editor 2.0.

Editor is almost done! Everything works, just need to design, code and test the Level Header dialog.

Here's a full list of stuff that will be changeable in this version:
+ Time limit
+ Mario's start position
+ Level tileset (GFX set, palette)
+ Level background (GFX set, palette, tile layout)
+ Parallax background (GFX set, palette, tile layout)

I do want to add more when I find the data.

Also, I'll be making a new thread for the new editor (I think this one's run its course) so keep an eye out for that when it's released!

____________________
I'll put something here later.

Reini
Posted on 07-24-07 08:27 PM Link | Quote | ID: 57468


Koopa
Level: 25

Posts: 30/104
EXP: 83420
Next: 6200

Since: 05-19-07

Last post: 5253 days
Last view: 5239 days
Posted by Treeki
Nah, I've decided to change it back to NSMB Editor 2.0.

Editor is almost done! Everything works, just need to design, code and test the Level Header dialog.

Here's a full list of stuff that will be changeable in this version:
+ Time limit
+ Mario's start position
+ Level tileset (GFX set, palette)
+ Level background (GFX set, palette, tile layout)
+ Parallax background (GFX set, palette, tile layout)

I do want to add more when I find the data.

Also, I'll be making a new thread for the new editor (I think this one's run its course) so keep an eye out for that when it's released!


Will this work on any version of NSMB?'Cause when I tried one of them with your
editor,an error has been occured.

Treeki
Posted on 07-24-07 08:32 PM Link | Quote | ID: 57469


Red Cheep-cheep
Level: 34

Posts: 45/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
Posted by Reini
Posted by Treeki
Nah, I've decided to change it back to NSMB Editor 2.0.

Editor is almost done! Everything works, just need to design, code and test the Level Header dialog.

Here's a full list of stuff that will be changeable in this version:
+ Time limit
+ Mario's start position
+ Level tileset (GFX set, palette)
+ Level background (GFX set, palette, tile layout)
+ Parallax background (GFX set, palette, tile layout)

I do want to add more when I find the data.

Also, I'll be making a new thread for the new editor (I think this one's run its course) so keep an eye out for that when it's released!


Will this work on any version of NSMB?'Cause when I tried one of them with your
editor,an error has been occured.

What error? What description? When did it happen?
I haven't tried it on any version, only the US version. But an error shouldn't happen.
But if you do get an error, please describe it. Saying "An error has been occured" won't help at all!

____________________
I'll put something here later.

GuyPerfect
Posted on 07-24-07 08:43 PM Link | Quote | ID: 57472


Paratroopa
Level: 30

Posts: 111/155
EXP: 152597
Next: 13272

Since: 03-14-07

Last post: 6045 days
Last view: 5994 days
In order to assist people in filing bug reports, please use this guideline:

• GOOD
When I do X, Y happens.

• BAD
It won't work.

Sonicandfails
Posted on 07-24-07 08:45 PM Link | Quote | ID: 57473


Lantern Ghost
Level: 60

Posts: 748/766
EXP: 1679509
Next: 93269

Since: 02-19-07

Last post: 5964 days
Last view: 5770 days
I'm sure any trimmed ROM or other version ROM won't work. I'll PM you details to a site with a working one...

____________________
I miss post headers more.

Tanks
Posted on 07-24-07 08:58 PM Link | Quote | ID: 57476


Dry Bones
Level: 55

Posts: 605/627
EXP: 1243738
Next: 70451

Since: 02-19-07

Last post: 5519 days
Last view: 5265 days
Well I know how much work is needed to make a thurough object list since I've been tediously working... but I'll give it a try if I could get sonic's help.

I've just found out how to change Koopa Troopa colors too. I'll toss that in along with my documentation. I'm a bit hesitant to try this on paratroopas or even goombas but for the sake of documentation it shall be done!

As for the editor a name... I was thinking NSLM (New Super Lunar Magic) but you'd probably get in a heap of trouble for that... so how about NSME ('Nother Super Mario Editor)

PS 'nother as in another

____________________




Treeki
Posted on 07-24-07 09:02 PM Link | Quote | ID: 57478


Red Cheep-cheep
Level: 34

Posts: 46/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
Posted by Tanks
Well I know how much work is needed to make a thurough object list since I've been tediously working... but I'll give it a try if I could get sonic's help.

I've just found out how to change Koopa Troopa colors too. I'll toss that in along with my documentation. I'm a bit hesitant to try this on paratroopas or even goombas but for the sake of documentation it shall be done!

As for the editor a name... I was thinking NSLM (New Super Lunar Magic) but you'd probably get in a heap of trouble for that... so how about NSME ('Nother Super Mario Editor)

PS 'nother as in another

Changing Koopa colours probably won't do much to Goombas. It will probably either make them not appear, not load the level or have them with glitched graphics.

____________________
I'll put something here later.

GuyPerfect
Posted on 07-24-07 09:08 PM Link | Quote | ID: 57480


Paratroopa
Level: 30

Posts: 112/155
EXP: 152597
Next: 13272

Since: 03-14-07

Last post: 6045 days
Last view: 5994 days
He'll settle on OldHack. Tonight, a vision will come to him in a dream as to why it is crucial to use that name.

Treeki
Posted on 07-24-07 09:13 PM Link | Quote | ID: 57482


Red Cheep-cheep
Level: 34

Posts: 47/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
Posted by GuyPerfect
He'll settle on OldHack. Tonight, a vision will come to him in a dream as to why it is crucial to use that name.

Here is my totally scientific formula why the name will not be changed then.

AcmlmBoard doesn't support editing topic titles + Editor will be released later, before your "dream" has a chance = No change of name.

____________________
I'll put something here later.

Tanks
Posted on 07-24-07 09:13 PM Link | Quote | ID: 57483


Dry Bones
Level: 55

Posts: 606/627
EXP: 1243738
Next: 70451

Since: 02-19-07

Last post: 5519 days
Last view: 5265 days
[citation needed]

____________________




Treeki
Posted on 07-24-07 09:28 PM Link | Quote | ID: 57485


Red Cheep-cheep
Level: 34

Posts: 48/209
EXP: 236609
Next: 17042

Since: 07-12-07
From: Rogueport

Last post: 3927 days
Last view: 3629 days
[citation needed]

____________________
I'll put something here later.
Pages: 1 2 3 4 5


Main - ROM Hacking - Let's hack NSMB! (To be exact, a level viewer.) New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.031 seconds. (340KB of memory used)
MySQL - queries: 132, rows: 172/172, time: 0.020 seconds.