Register - Login
Views: 99807610
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 08:25:18 AM
Jul - NSMB Hacking (Archive) - Sprite Sheet Quick Reference New poll - New thread - New reply
Next newer thread | Next older thread
Garmichael
Member
Level: 26


Posts: 66/121
EXP: 91211
For next: 11064

Since: 06-24-09

From: Seattle, Wa

Since last post: 10.8 years
Last activity: 10.7 years

Posted on 03-01-10 04:01:46 AM Link | Quote

Hey guys, I've put together an image of all the sprites in New Super Mario Bros.

The image is large, but I'm going to post it here anyway, so this thread can be a reference. It is every sprite with the exception of bosses and a few uniques (if you're going to mess with those, you're going to have to find those sprites in their home levels and mimic the environment, so a quick or those sprites reference is useless).

Ive put a transparent box with a red border on top of each sprite. This box indicates where the blue numbered sprite box should be placed.

If you cannot see the image below because your browser does not support PNGs, you can download it Here.

Enoy!





____________________

jceggbert5
Member
again
Level: 33


Posts: 193/218
EXP: 216784
For next: 12395

Since: 12-01-09


Since last post: 12.1 years
Last activity: 360 days

Posted on 03-01-10 04:11:11 AM Link | Quote
Awesome! I can really see this coming in handy for many people

I have been wondering about a few of them myself
mariofanatic64
Member
Level: 25


Posts: 14/111
EXP: 78205
For next: 11415

Since: 02-03-10

From: Australia

Since last post: 7.7 years
Last activity: 6.9 years

Posted on 03-01-10 04:28:43 AM Link | Quote
Wow! This is great! It can help me out alot.
Hiccup
Member
Level: 57


Posts: 200/772
EXP: 1475484
For next: 10444

Since: 05-19-09


Since last post: 110 days
Last activity: 22 hours

Posted on 03-01-10 07:33:04 AM Link | Quote
The editor could use a feature based around this
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 1519/2014
EXP: 6638609
For next: 12055

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 113 days
Last activity: 6 days

Posted on 03-01-10 10:39:34 AM Link | Quote
Originally posted by Hiccup
The editor could use a feature based around this

... Uh, you don't seem to realise just HOW hard something like this would be to implement.

I have been working for ages on sprite images for Reggie (NSMBW editor). It's not easy at all.

____________________
[20:07:36] @Treeki: ikachan say something funny I can put in my signature
[20:07:41] @Ikachan: And it was funny in the can with a syringe.
Hacking Tools: NSMB Editor 5 · Nitro / NARC Explorer
Current Project: Reggie! - NSMBWii Level Editor
dirbaio
For future reference, "Responsible disclosure" isn't "acting like a douche about an exploit and demanding compensation".
Level: NaN


Posts: 430/-1288
EXP: NaN
For next: 0

Since: 07-28-09

From: Spain

Since last post: 10.8 years
Last activity: 9.9 years

Posted on 03-01-10 10:42:41 AM Link | Quote
That's because you hard-coded it
I'll do it scripting (if I ever do it...)
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 1520/2014
EXP: 6638609
For next: 12055

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 113 days
Last activity: 6 days

Posted on 03-01-10 10:53:07 AM Link | Quote
Originally posted by dirbaio
That's because you hard-coded it
I'll do it scripting (if I ever do it...)


Positioning everything and making sure it all changes properly along with the data would still be complicated. Also, some stuff really gets annoying.. how would you code this?


def SizeScalePlatform(sprite): # 178

info1 = ord(sprite.spritedata[4])
info2 = ord(sprite.spritedata[5])
sprite.platformWidth = (info1 & 0xF0) >> 4
if sprite.platformWidth > 12: sprite.platformWidth = -1

sprite.ropeLengthLeft = info1 & 0xF
sprite.ropeLengthRight = (info2 & 0xF0) >> 4
sprite.ropeWidth = info2 & 0xF

ropeWidth = sprite.ropeWidth * 16
platformWidth = (sprite.platformWidth + 3) * 16
sprite.xsize = ropeWidth + platformWidth

maxRopeHeight = max(sprite.ropeLengthLeft, sprite.ropeLengthRight)
sprite.ysize = maxRopeHeight * 16 + 19
if maxRopeHeight == 0: sprite.ysize += 8

sprite.xoffset = -((sprite.platformWidth + 3) * 16 / 2)


def PaintScalePlatform(sprite, painter):
# this is FUN!! (not)
ropeLeft = sprite.ropeLengthLeft * 24 + 4
if sprite.ropeLengthLeft == 0: ropeLeft += 12

ropeRight = sprite.ropeLengthRight * 24 + 4
if sprite.ropeLengthRight == 0: ropeRight += 12

ropeWidth = sprite.ropeWidth * 24 + 8
platformWidth = (sprite.platformWidth + 3) * 24

ropeX = platformWidth / 2 - 4

painter.drawTiledPixmap(ropeX + 8, 0, ropeWidth - 16, 8, ImageCache['ScaleRopeH'])

ropeVertImage = ImageCache['ScaleRopeV']
painter.drawTiledPixmap(ropeX, 8, 8, ropeLeft - 8, ropeVertImage)
painter.drawTiledPixmap(ropeX + ropeWidth - 8, 8, 8, ropeRight - 8, ropeVertImage)

pulleyImage = ImageCache['ScalePulley']
painter.drawPixmap(ropeX, 0, pulleyImage)
painter.drawPixmap(ropeX + ropeWidth - 20, 0, pulleyImage)

platforms = [(0, ropeLeft), (ropeX+ropeWidth-(platformWidth/2)-4, ropeRight)]
for x,y in platforms:
painter.drawPixmap(x, y, ImageCache['WoodenPlatformL'])
painter.drawTiledPixmap(x + 27, y, (platformWidth - 51), 24, ImageCache['WoodenPlatformM'])
painter.drawPixmap(x + platformWidth - 24, y, ImageCache['WoodenPlatformR'])



____________________
[20:07:36] @Treeki: ikachan say something funny I can put in my signature
[20:07:41] @Ikachan: And it was funny in the can with a syringe.
Hacking Tools: NSMB Editor 5 · Nitro / NARC Explorer
Current Project: Reggie! - NSMBWii Level Editor
dirbaio
For future reference, "Responsible disclosure" isn't "acting like a douche about an exploit and demanding compensation".
Level: NaN


Posts: 431/-1288
EXP: NaN
For next: 0

Since: 07-28-09

From: Spain

Since last post: 10.8 years
Last activity: 9.9 years

Posted on 03-01-10 10:58:09 AM Link | Quote
I'd implement some kind of script from which you can-
- Ask for bytes, nybbles or ushorts of the sprite data
- Or even better: treat the text boxes shown to the user as variables
- Draw stuff: circles, lines, rectangles, images, scaled images
- Do simple IF's, WHILE's, etc...

QT has a thing called QTScript. Have you looked at it? It's javascript i think...
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 1521/2014
EXP: 6638609
For next: 12055

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 113 days
Last activity: 6 days

Posted on 03-01-10 11:02:33 AM Link | Quote
Originally posted by dirbaio
I'd implement some kind of script from which you can-
- Ask for bytes, nybbles or ushorts of the sprite data
- Or even better: treat the text boxes shown to the user as variables
- Draw stuff: circles, lines, rectangles, images, scaled images
- Do simple IF's, WHILE's, etc...

QT has a thing called QTScript. Have you looked at it? It's javascript i think...
Yeah, but I'm already using Python for the editor so having extra dependencies and stuff would be a pain - when Python does the job quite well.

I might look into it if I ever move to C++.. I've been thinking about it, but I don't want to rewrite over 12,000 lines of code (3,700 of them for the sprites). Using a custom scripting language would be -FAR- too slow if done in Python, but it could work in C++ or C# (assuming that I compiled it to some sort of bytecode)

____________________
[20:07:36] @Treeki: ikachan say something funny I can put in my signature
[20:07:41] @Ikachan: And it was funny in the can with a syringe.
Hacking Tools: NSMB Editor 5 · Nitro / NARC Explorer
Current Project: Reggie! - NSMBWii Level Editor
frjd
Member
Level: 18


Posts: 20/56
EXP: 28138
For next: 1759

Since: 12-28-09

From: Denmark

Since last post: 11.9 years
Last activity: 10.8 years

Posted on 03-01-10 03:58:55 PM Link | Quote
Originally posted by Garmichael
Hey guys, I've put together an image of all the sprites in New Super Mario Bros.


Greate! - nice reference. Thanks a lot.
frjd
Member
Level: 18


Posts: 21/56
EXP: 28138
For next: 1759

Since: 12-28-09

From: Denmark

Since last post: 11.9 years
Last activity: 10.8 years

Posted on 03-01-10 04:01:55 PM Link | Quote
Originally posted by Hiccup
The editor could use a feature based around this


Yes that would be nice - but remember that for many of the sprites you can set size, so the editor would need many sizes images...

An perhaps more easy implementation might be just to show the image in the sprite list.
And make the little blue sprite the size you make it (still blue however).
Dark_fusionX
Tana~
Level: 38


Posts: 146/304
EXP: 356902
For next: 13545

Since: 12-03-09

From: Wynnum, Queensland, Australia

Since last post: 11.1 years
Last activity: 9.4 years

Posted on 03-05-10 12:31:48 AM Link | Quote
Originally posted by Garmichael
Hey guys, I've put together an image of all the sprites in New Super Mario Bros.




wow.

very handy!

____________________




frjd
Member
Level: 18


Posts: 45/56
EXP: 28138
For next: 1759

Since: 12-28-09

From: Denmark

Since last post: 11.9 years
Last activity: 10.8 years

Posted on 04-11-10 09:55:12 AM Link | Quote

I have made a "browser" that uses Garmichaels (thanks) sprite image.
It is possible to search useing sprite number og name. If you maximize the window you can use the mouse to select a image for the sprite.
Click once in upper corner and once in lower corner to mark the image, it is the automatic added to the browser.
I have allready made a some of them, but not all. There is also a button to get a new sprite list from web and a option to submit
you modifyed list. However Im not sure I have time to keep the master list updated with your changes but please submit if you have made a lot of changes.
You can also put your own images in a images folder then it will use these.
http://www.mediafire.com/?mjjymbztzn2
Next newer thread | Next older thread
Jul - NSMB Hacking (Archive) - Sprite Sheet Quick Reference New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

31 database queries, 4 query cache hits.
Query execution time: 0.120842 seconds
Script execution time: 0.037266 seconds
Total render time: 0.158108 seconds