Points of Required Attention™
Friendly reminder: Please don't respond to spammers! Their posts inevitably get memory-holed when staff get around to, leaving behind an inexplicable tableau of you shouting at nothing and (if they otherwise would have been alone in a thread) dangling posts and wrong postcounts.
Views: 44,816,429
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-30-17 01:24 AM
Guest: Register | Login

1 user currently in ROM Hacking: Da_GPer | 1 guest | 2 bots

Main - ROM Hacking - General SMB3 Hacking Thread New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

KP9000
Posted on 07-12-09 07:09 PM (rev. 2 of 05-11-11 07:55 PM) Link | Quote | ID: 110344


Boomboom

Level: 83

Posts: 857/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


Posted by Quick Curly
Tools/utilities:
SMB3 Workshop - To edit the levels, level headers, and object palettes.
SMB3 Map Editor - To edit the World Maps.
SMB3TE - To edit the title screen.
FCEUXD - To edit everything else. Use this to edit palettes for enemies, Mario, Luigi, etc. that cannot be edited in SMB3 Workshop, as well as text, music, etc.

Information/references:
SMB3 Data Crystal Page - For quick ROM and RAM offsets, as well as the locations for palettes and text for editing purposes.
General SMB3 Hacking Thread (This Thread) - Definitely a good read.
SMB3 Music Data-Related Post - For an idea (a rough idea) about music.
A Little SMB3 Data - Another old small post. Mainly only really good for map animation speed (not much).
Small SMB3 Map Editor Pipe Editing Tutorial - A short, simple tutorial showing how to add a pipe system to the World 1 Map.
Small SMB3 Palette Editing Tutorial - A short tutorial showing how to use FCEUXD to edit the World Map palettes. Also refer to my previous post in this thread to take note that the palettes that each World Map uses are determined by the data at ranges 0x1842D-0x18435 (0x9) (object palettes) and 0x18436-0x1843E (0x9) (sprite palettes).
SMB3 Title Screen Palette Definitions - Courtesy of your friendly neighbourhood KP9000.

These links obviously don't cover everything there is to know, but hopefully this post provides you with a decent starting ground and helps you out. If you have any further questions, please feel free to PM me or post your questions in this thread so that others can help you out as well.


In an effort to de-clutter the board, please drop all your questions for SMB3 in this thread. I'll start with one from another thread.

Posted by KP9000
I've set up pointers normally (in this and other levels) and it isn't working. No matter how I configure them they all place me at 0,0 XY coordinates in the connecting level. Doesn't matter if I use a pipe or a door.

The level is the dungeon in world 1. Both pointers are broken. I am aware that there are two different types of doors, but I don't know of any other door than the princess' door or the invisible door. I used the door that the original level used, so there shouldn't be any problems.

It doesn't seem that the connecting level has anything to do with it; I changed the connecting level to several others and it loads the level fine but no matter where I try to start Mario off at he always appears at 0,0...


____________________

Quick Curly
Posted on 07-12-09 08:15 PM Link | Quote | ID: 110355


Giant Paratroopa
Level: 70

Posts: 475/1394
EXP: 2962739
Next: 53072

Since: 06-15-08
From: Earth

Last post: 12 days
Last view: 12 days
Great idea, KP. I always find it great to see more SMB3 hacking, but even I admit that there were too many separate SMB3 threads considering there isn't an individual section for SMB3 like SMW and SMRPG (and while at first I thought it might have been neat, I soon figured that there shouldn't be; it would probably take the event of DahrkDaiz finishing the Ultimate SMB3 Editor and as a result hundreds of more people want to start hacking SMB3 before it would probably be important enough and actually beneficial). I tried to suggest the SMB3 Workshop Problem thread could be the main SMB3 thread to prevent numerous threads from being created, but I guess those who were starting new threads never saw the post...

Anyway, in short, thanks for creating and pinning a new thread that everyone should be able to find. It's actually motivating me even more to see that the SMB3 hacking is increasing. It's like years ago which I wasn't around for. It's exciting.

As for your question, it shouldn't matter whether you use the Door (Bank: 0, Type: 0) or the Invisible Door (Bank: 0, Type: 6). I've used both of them before and they work fine. The Princess' Door (Bank: 0, Type: 7) is obviously used with Bowser, so that obviously shouldn't be used with the pointers.

Anyway, I know that you know how to set the pointers properly and everything, so considering that you've double-checked the range and exit action, etc. I'm thinking maybe a screenshot might help give us an idea of what the problem might be; or if you really want, I'll offer to take a look at it like I did a while ago so that we can debug the problem easier and faster (less typing, more action) if you want to send it to me. Whichever you prefer.

The only possible thing that I can think of at the top of my head without any visual to work off of is that maybe you have/had "Entering pipe ends level" checked (even though that doesn't make any sense whatever to how the problem sounds, since fiddling with this screws with the level header maybe it changed something that is causing your problem). The problem itself sounds familiar to me, but like with many problems in the world more than one thing could be causing it. Sorry that that isn't much help.

KP9000
Posted on 07-12-09 11:36 PM Link | Quote | ID: 110366


Boomboom

Level: 83

Posts: 858/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


Well, out of methods of troubleshooting, I did end up checking the "Entering pipe ends level" box to see what it did... The only thing that happens is any doors drop you in the same XY Position but in another level. (Same way the doors work in 4-6, which gives me a damn good idea for another level btw) Thing is, if I put a pipe there instead of a door, it makes no difference in my problem at all. So, I've deduced that the problem lies with the pointers or the level itself.

I would be more than happy to let you take a look at it. I don't remember how we did it last time though...

____________________

zbyte
Posted on 07-13-09 12:13 AM (rev. 2 of 07-13-09 12:13 AM) Link | Quote | ID: 110367


Boomerang Brother
Z is Superior!
Level: 60

Posts: 122/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Coulda just edited the thread title from the SMB3 Workshop Thread... you could still do that since this thread isn't big...

Posted by KP9000
Another pointer problem again. This time, I'm editing my world 1 dungeon. The pointers point to the right area in the level, but when I go to a different area, it puts me in the top left part of a level. 0,0 I presume. I don't know what the hell is going on.


Posted by zbyte
A "bump"...

Yeah, I've got that problem too, I used to think I set the vertical exit proprely and I didn't. I still have something that Quick Curly sent me, so it'll probably go well!

He Sent this:

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○
Select the 3-byte pointer object and press the ENTER/Return key. A screen will pop up. The range pertains to the horizontal location of the pipe/door that you're referring to in hex. You can view the data of the pipe/door by selecting it and looking at the bottom-right part of the screen. You'll see 3 bytes; the second byte is the horizontal location of the pipe/door in hex. So if this byte is 4A, for example, the range that you set for the pointer is 40-4F. Remember what I said before; try to have it so that you only have one pointer pointing to each range, or else you'll run into problems.

The exiting locations are for the exiting pipe/door. Make sure the vertical position matches one of the valid values. Here's how to keep track of the vertical hex values so you know where to put your pipe/door: Mentally assign the top row a hex value of 00. The bottom row (Y: 026 in decimal) is 1A in hex in relation to the pointers. Going up (counting backwards), you go 19 and then 18. So the third last row is a valid exiting position. The row above it, the fourth last row, is also valid as it is 17.

So the rows from top to bottom for your reference (valid exits are bolded): 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, and 1A.

Unless you're dealing with Pipe levels, don't bother with the values that include "(Vert)".

There are cases where you'll have a pipe exit in a valid position, but when you go to test it you find that you'll see a graphical X thing. Just size the pipe so that it covers the space that the X appears and test it again to make sure that it works right. Also keep in mind that the red "XX" that you see in SMB3 Workshop when you're placing the pipe is what you have to put match up with a valid exit position; not necessarily the TOP of the 3-byte pipe object (keep that in mind when dealing with downward pipes). With doors, it's the top half of the door that you want to match up with a valid exit position.○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

Just posting the stuff from the other threads.
I tried the pointer stuff but I still fall up from the top. I'll post a screenshot from the game since I don't know how to take one from SMB3 W.s.

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








Quick Curly
Posted on 07-14-09 04:49 AM Link | Quote | ID: 110445


Giant Paratroopa
Level: 70

Posts: 482/1394
EXP: 2962739
Next: 53072

Since: 06-15-08
From: Earth

Last post: 12 days
Last view: 12 days
Posted by KP9000
Well, out of methods of troubleshooting, I did end up checking the "Entering pipe ends level" box to see what it did... The only thing that happens is any doors drop you in the same XY Position but in another level. (Same way the doors work in 4-6, which gives me a damn good idea for another level btw) Thing is, if I put a pipe there instead of a door, it makes no difference in my problem at all. So, I've deduced that the problem lies with the pointers or the level itself.

I would be more than happy to let you take a look at it. I don't remember how we did it last time though...
We used our emails.

I thought of another unlikely possibility shortly after my last post though. If you have more than one door within one range, the pointers can potentially send you to random areas in the next area and/or crash the game. If you ever saw my first preview of Quick Bros. 2 and wondered how the same door had two different exits, it was made possible by assigning at least two pointers to the same range. Discovering the problems that can be caused by doing this though, I quickly scrapped that level and changed both connecting areas.

Well that's just another idea that I thought of without a visual. The reason I thought of it though was because one of the doors sometimes caused the game to crash, but there was also the chance that it would send Mario to X: 0, Y: 0 in the next area (with a bunch of graphical glitch crap free of charge). If that isn't it though, hopefully we'll be able to figure it out.

NutheadBros
Posted on 07-14-09 07:10 AM Link | Quote | ID: 110469


Koopa
Level: 24

Posts: 55/117
EXP: 68781
Next: 9344

Since: 03-29-09
From: Spiral Mountain

Last post: 2821 days
Last view: 1943 days
Yeah is it possible in a water level to put a goal card at the end {The Whole Level is Water by the way. No Surface.} or could that be causing my 1-2 freeze.

Trelior
Posted on 07-14-09 07:23 AM Link | Quote | ID: 110472


Level: 90

Posts: 15/2602
EXP: 7084371
Next: 104238

Since: 07-12-09

Last post: 1944 days
Last view: 1931 days
I have a number of questions:

1) Stage pointers: What all can I do with them?

2) Pointers that lead to other levels: If I move a pipe or a door, do I have to move the pointer with it or can I leave it where it is? If I have to move it, how do I move it?

3) Additional bosses in a stage: I want to add a few Boom Booms to a couple of my fortresses, do I have to jump through any extra hoops to do that?

4) Purposefully exploitable levels: If you look at the Bowser's Castle section of my World 8 map on my preview thread, you'll see 2 pipes separated by a lock, one takes you to that area and the other leads to an unused pipe stage that I plan on altering to make it a place to recover lives and get powerups if your inventory is empty (I plan on making World 8 pretty tough, and the massive detour to get to it, as well as the requirement of beating Super Tank to unlock it, is to make people want to make a big decision on using it or not). Is my plan feasible or frivolous?

/long-winded questionaire

KP9000
Posted on 07-14-09 07:40 AM Link | Quote | ID: 110476


Boomboom

Level: 83

Posts: 866/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


#1: You usually just move them around... but I once took a hammer bros. level pointer in World 1 and pointed it to the level data for one of the unused pipe levels. Viola, pipes in world 1!

#2: Pointers are configured to a range within a level where if you enter a pipe or door within that range, it points to another level where you exit. The exit location depends on how you edit the pointer.

#3: If you want to add more than 1 boom boom in different places, you'll need to know ASM. Reason being, if you kill one, it's coded to stop scrolling, time countdown, and some other stuff and forces you to collect the ? object to complete the level. If you want to add two boom booms in the same room, that requires ASM too, but I believe you go about it a slightly different way. There was a hack that made it so if you kill one boom boom it gives you a powerup and then you kill the last one to get the ? object.

____________________

zbyte
Posted on 07-14-09 07:41 AM (rev. 2 of 07-14-09 07:42 AM) Link | Quote | ID: 110477


Boomerang Brother
Z is Superior!
Level: 60

Posts: 138/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Posted by NutheadBros
Yeah is it possible in a water level to put a goal card at the end {The Whole Level is Water by the way. No Surface.}
Anything is possible, but will it work? It won't, unless you have floor at the bottom. As long as you don't have many other objects, that's a Great Idea!

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








KP9000
Posted on 07-14-09 07:42 AM Link | Quote | ID: 110478


Boomboom

Level: 83

Posts: 867/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


You can put a goal card at the end, but you can't have the ending backdrop because it can't exist with Water at the same time. So, if you have black water, it works fine. Otherwise it looks really corny.

____________________

zbyte
Posted on 07-14-09 07:44 AM (rev. 3 of 07-14-09 07:49 AM) Link | Quote | ID: 110479


Boomerang Brother
Z is Superior!
Level: 60

Posts: 139/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Posted by KP9000
You can put a goal card at the end, but you can't have the ending backdrop because it can't exist with Water at the same time. So, if you have black water, it works fine. Otherwise it looks really corny.
Ooops, I forgot about that!
Posted by Trelior
Pointers that lead to other levels: If I move a pipe or a door, do I have to move the pointer with it or can I leave it where it is? If I have to move it, how do I move it?


Refer to Quick Curly's Document on Pointer and Level Data. It should be easy.

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








NutheadBros
Posted on 07-14-09 07:49 AM Link | Quote | ID: 110481


Koopa
Level: 24

Posts: 56/117
EXP: 68781
Next: 9344

Since: 03-29-09
From: Spiral Mountain

Last post: 2821 days
Last view: 1943 days
Actually I tried having 1-2 as a water level {done all the right things} then it freezes and then the level gets messed up in the editor....Well I must make something different

zbyte
Posted on 07-14-09 07:50 AM Link | Quote | ID: 110482


Boomerang Brother
Z is Superior!
Level: 60

Posts: 140/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Posted by NutheadBros
Actually I tried having 1-2 as a water level {done all the right things} then it freezes and then the level gets messed up in the editor....Well I must make something different
Are you sure you didn't override the original number of Objects and/or Enemies?

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








Trelior
Posted on 07-14-09 04:05 PM (rev. 2 of 07-14-09 04:06 PM) Link | Quote | ID: 110495


Level: 90

Posts: 17/2602
EXP: 7084371
Next: 104238

Since: 07-12-09

Last post: 1944 days
Last view: 1931 days
Posted by KP9000
#1: You usually just move them around... but I once took a hammer bros. level pointer in World 1 and pointed it to the level data for one of the unused pipe levels. Viola, pipes in world 1!


That's weird, because when I moved my pipes around, it seemed like the pipe level data is tied to the pointers at the same coordinate on the original map. I ran into this problem in my World 7 map because my pipes had the right coordinates and all of that, but I would be output in the wrong area, still on a pipe, but the wrong one. That essentially made a complex pipe maze that I didn't deliberately make.

Posted by KP9000
#3: If you want to add more than 1 boom boom in different places, you'll need to know ASM. Reason being, if you kill one, it's coded to stop scrolling, time countdown, and some other stuff and forces you to collect the ? object to complete the level. If you want to add two boom booms in the same room, that requires ASM too, but I believe you go about it a slightly different way. There was a hack that made it so if you kill one boom boom it gives you a powerup and then you kill the last one to get the ? object.


I was just asking about adding Boom Boom to the end of the fortresses, like in Ultimate SMB3, where you have to fight 2+ Boom Booms and have to avoid picking up the crystal until they're all dead or else they still run around, ripping you to pieces while the "Stage Clear" theme played.

zbyte
Posted on 07-14-09 07:01 PM Link | Quote | ID: 110500


Boomerang Brother
Z is Superior!
Level: 60

Posts: 141/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Posted by Trelior


That's weird, because when I moved my pipes around, it seemed like the pipe level data is tied to the pointers at the same coordinate on the original map. I ran into this problem in my World 7 map because my pipes had the right coordinates and all of that, but I would be output in the wrong area, still on a pipe, but the wrong one. That essentially made a complex pipe maze that I didn't deliberately make.
Did you set the Pipe Pointers correctly? You probably forgot about Pipes mode. Use the Pg ↑ and Pg↓ to configure the pipe sets. Match the set# to the pipe pointer you set earlier. There you go!


Posted by Trelior
I was just asking about adding Boom Boom to the end of the fortresses, like in Ultimate SMB3, where you have to fight 2+ Boom Booms and have to avoid picking up the crystal until they're all dead or else they still run around, ripping you to pieces while the "Stage Clear" theme played.
That's Okay.

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








NutheadBros
Posted on 07-14-09 07:09 PM Link | Quote | ID: 110501


Koopa
Level: 24

Posts: 57/117
EXP: 68781
Next: 9344

Since: 03-29-09
From: Spiral Mountain

Last post: 2821 days
Last view: 1943 days
Actually I think I used less objects if I remember correctly. I did that with 1-1 and it worked fine.

KP9000
Posted on 07-14-09 07:19 PM Link | Quote | ID: 110502


Boomboom

Level: 83

Posts: 868/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


Posted by Trelior
Posted by KP9000
#3: If you want to add more than 1 boom boom in different places, you'll need to know ASM. Reason being, if you kill one, it's coded to stop scrolling, time countdown, and some other stuff and forces you to collect the ? object to complete the level. If you want to add two boom booms in the same room, that requires ASM too, but I believe you go about it a slightly different way. There was a hack that made it so if you kill one boom boom it gives you a powerup and then you kill the last one to get the ? object.


I was just asking about adding Boom Boom to the end of the fortresses, like in Ultimate SMB3, where you have to fight 2+ Boom Booms and have to avoid picking up the crystal until they're all dead or else they still run around, ripping you to pieces while the "Stage Clear" theme played.
You can do this if you want. All you have to do is add two boombooms. They are an enemy, so you can just drop it anywhere. No special setup is needed (as far as I know) just as long as you don't have any other enemies nearby that would screw up its graphics and you also need to make sure you put one of them right over the top the other so the battle doesn't start before you reach both of them.

____________________

zbyte
Posted on 07-14-09 07:28 PM Link | Quote | ID: 110503


Boomerang Brother
Z is Superior!
Level: 60

Posts: 142/1016
EXP: 1737973
Next: 34805

Since: 06-10-09

Last post: 1878 days
Last view: 357 days
Posted by NutheadBros
Actually I think I used less objects if I remember correctly. I did that with 1-1 and it worked fine.
Did you change the Object/Graphics Set? That would screw up the level.

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








Trelior
Posted on 07-14-09 07:30 PM Link | Quote | ID: 110504


Level: 90

Posts: 18/2602
EXP: 7084371
Next: 104238

Since: 07-12-09

Last post: 1944 days
Last view: 1931 days
Thanks for the boom boom help!

Now my issue is with pointers in levels, I know how to make it take me to different stages (thanks to Curly's document), but when I try to change the enter/exit points all hell breaks loose and I either end up throwing into nothingness, or into the correct level at the same spot that it would normally send me through that pointer, but the graphic set of the "new" stage is garbled beyond recognition and kinda resembles something triggered by a corrupter, what am I doing wrong?

KP9000
Posted on 07-14-09 07:33 PM Link | Quote | ID: 110505


Boomboom

Level: 83

Posts: 869/1975
EXP: 5355222
Next: 76999

Since: 02-19-07

Last post: 1026 days
Last view: 650 days


It's your level header. Make sure that your level header settings "expect" to load the correct level graphics. Example: If you are in a castle and you want it to load plains graphics, make sure the header is set to use the ice graphics. Otherwise, you'll get some screwed up graphics.

____________________
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20


Main - ROM Hacking - General SMB3 Hacking Thread New thread | New reply

Acmlmboard 2.1+3δ (2016-01-08)
© 2005-2016 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.127 seconds. (341KB of memory used)
MySQL - queries: 116, rows: 158/0, time: 0.089 seconds.