And how about leveling up?
how does that work? do you get EXP or something?
Yes, that's what I planned. Every time you kill a monster, you get a certain amount of EXP, by default I guess that will be 1. After that your current EXP are compared with LevelUpTable,x where LevelUpTable has the EXP you need for a level up and x is your current level. So if EXP is bigger or equal LevelUpTable,x you level up. I'll try to make it as simple as possible, so that you only have to edit a few tables to set the new stats. Also I'm planning to make a layer 3 stripe image message that says "Level up! Level XX reached! HP up X, MP up X" plus a little animation. I don't know if I can do that, though. The message itself wouldn't be the problem, but I don't know how to use stripe image messages with dynamic numbers.
I have an idea. How about every time mario levels up, you hear the sound that plays when you hit a bonus block and get it right, and show mario's victory pose animation.
Yes, that's exactly what I had in mind (except I wasn't sure what sound effect to use). I want to do it like in Terranigma. When you level up, the screen freezes (like when you press Start). Then you hear the sound and the level up messages appears for a few seconds. After that Mario shows the Victory Pose for a few seconds. Then the game continues.
I love this, i finally made my dream HP counter using this patch as a base:
Hey, looks cool! But I'd probably move the "Gems", the "000" and the "100%" one tile to the right each, then it would look much better I think. If you don't know how to do that with my patch I can help you (in that case just send me your edited patch via PM). It would look kinda like this:
Originally posted by iReaper
Just one question, Do you think i should update to the new one?
Well if the patch already works the way you want it to, then you don't really have to. It just adds a few options to the patch (for example: You can set it up to not lose your powerup after death, to not refill your MP after death and so that Floating doesn't require MP) as well as fixes a few bugs. It creates some other bugs in exchange, though. My old patch had bugs when you played it on Wii or DS (it loaded some junk data out of the SRAM). My new patch has a glitch if you skip the intro (Mario looks glichted on the overworld). Hmm... Thinking about it... I may know a way to fix it. Gotta try it out.
I'm glad you're enjoying my patch
YES! Fixed the overworld glitch ! I haven't tested yet, if this creates any other glitches (I will in a few minutes), but it's already a first step! Should have waited with version 1.1 release until today.
No additional bugs !
Made a little custom Palette:
Looks cool, no? Also can anyone tell me, what I have to change to make the number of lifes not appear on the overworld? I want to make it so that your lifes aren't shown on the overworld if you set your starting lifes to 1 and disable the increasing of lifes (because that would be really stupid).
Looking good, man! Will there be a way to change how much normal sprites do? I.E. Goombas dealing 1 Damage, Rexes dealing 4, Koopa Shells dealing 2, and so on? Also, check stuff in Lunar Magic & the ROM/RAM Maps. I know in Lunar Magic you can make layer 3 above all other layers...I use it for my Fog.
Hmm... I probably could do that. I probably could do it with a table, I don't know for sure, though. I could give it a try.
Thanks! It works now!
Though, I wonder if this may cause complications if the level uses a layer 3 background...
So what about this?
I still got to figure out how to make those numbers (99) dynamic and how to display the letters one after another. That probably won't even work with the stripe image format.
Great patch RPG Hacker! I'm sure this will be useful for many hackers.
Maybe you should add an option to disable fireball shooting while spinjumping, because that takes away MP for fireballs you don't need.
Yeah, good idea. And shouldn't be to hard to do, either. I'll give it a try.
Done and thanks ! One problem with my patch is that it disassembles the complete Fireball to add the MP system, so it is incompatible with patches that replace the Fireball. I'll see if I can do anything about that.
Also somebody has suggestions for the problem with the layer 3 message? As explained above I'm trying to do it with stripe images format, but I want the numbers to be dynamic (=to show your current level). If that's not possible, then what else do I have to do? Also I don't want all the letters to appear at the same time, but one after another.
Any way it can work with the Luigi Seperate 2.0 Patch? (you know, have 2 different frame pics for the character used?
Well I really can't tell. My patch dosen't support two-player-mode, that is for sure (I could probably still include that afterwards, but then again it would probably be too much work and not worth it, since this patch is mainly meant for single-player games). I don't know if it works, though, if those two characters are both controlled by the first player. Probably you should just give it a try. In that case I suggest you patch the Luigi Patch first and the HP Patch second. Don't forget to make a backup.
Originally posted by Iceguy
You modify the entire fireball routine, which isn't really needed. All you need to do is modify the routine at $00/FEA8 which has the fireball extended sprite slot check. Right before that routine just return if MP = 0 rather than writing the entire one.
Yes, I thought about something like that. I wrote that routine pretty early, when I wasn't that experienced with ASM, so I dissambled the whole Fireball Routine (especially since I thought that xkas supports branch-commands only with labels). But I'll improve that for the next version. Shouldn't be too hard.
Woah, that's awesome! That's exactly what I was looking for! Thanks! Is there a tutorial for this? Or do you know somebody who can explain it to me? From your video descritpion I take it that you don't know how do do this yourself, right? So maybe Alcaro can help me? I'll look into this!
Thanks a lot, this is really awesome! I'm totally going to analyze this and see, what you can do with it. Though I already have a few questions:
1) How can you make it so that the letters have layer priority below the status bar? The method I used for stripe images doesn't work or at least I THINK it doesn't work.
2) How do you even set the starting position of the text? $5000 is the top of the screen, right? But what do I have to change to make the text move in what direction?
3) The properties byte is in YXPCCCTT format?
Hope you can help me. And thanks again, this is really awesome !
It's hard to believe not more people are using this in their hacks.
It's since I never released it officially earlier. No one can use an unreleased* code, right?
Yeah, that's true. I thought more people knew about this, though.
I've done the window as a stripe image and the letters with the VRAM upload buffer. However, the letters always appear behind the window. Is there a way I can change that, or do I have to do both things with the VRAM upload buffer? I've also tried to not set the priority bits of the stripe image tiles, but that just put them in the background.
Yes, the position and size of the text box is just for testing purposes, it's not final.
Posting my stripe image code? Okies. It's the exact same code as Ersanio posted in the stripe images thread. I didn't use RLE, though, because I was too lazy to recalculate the screen positions. On a second thought this would be much better since you could edit the textbox length easier.
Yeah, that's true. I was too lazy to recalculate the screen positions, so I just used tile $FC. I think I'll redo it.
OK, I won't post my stripe image code yet. I'll try this first.
Way better, no?
And yes, I know it's over the border. Just testing, you know.
Noone will do all that work for you, you'll really have to do it yourself. Just open your messed up ROM in Lunar Magic and extract all the levels, palettes etc. to files. After that get a new, clean SMW ROM and insert all the levels, palettes etc. to this new ROM. To copy the overworld use this trick: Open two Lunar Magics. In one you load your old ROM, in the other one your new ROM. Then open the Overworld Editor on your old ROM. After that just click on a random spot in the Lunar Magic that your new ROM is loaded it. Go back to the Overworld Editor, click a random tile and move it, so that you can save. After that click the save button. If that doesn't work then try to play around with it a bit. There IS a way to copy your oveworld from one ROM to another like that, I just don't know how exactly you do it.
Well I haven't done anything with my Patch lately and I probably won't do anything with it for a while, but before this thread sinks into the depths of this forum I'll take my chance and ask a few questions:
1. smkdan mentioned something about clearing unwanted layer 3 tiles. So how do I do that? How do I remove the layer 3 tiles I don't need anymore?
2. Is there a way to move the tiles uploaded to layer 3 this way? I mean like actually move, not just "remove from one tile and write to another tile". You actually have the see the movement (like it goes pixel by pixel, not tile by tile). I give an example: Let's say I'd make that "Level Up" message. Now after a few seconds I'd want the letters to move towards the top of the screen and then just disappear. Is there a way to do that with the upload buffer?
3. Can you make tables that point to tables and if so, how do you do that? Let's say I'm using the upload buffer to display level messages and let's say I have one message per level. The messages themselfs are stored in tables like this:
When a message is displayed, it displays the tile specified under that messagetable,x and then increments x and repeats the process. But how do I make my code display the correct message? Like when I'm in level 105 it displays level 105's message, when I'm in level 104 it displays level 104's message. Can I make a table for that as well? Something like:
Thanks in advance for your help! Wait, I probably have another question. Look at this:
This is a screenshot from Secret of Mana. Now I'm not really a layer expert or something, but I think that both, the text box and the letters, are on layer 3. Secret of Mana gives you the option of customizing your textbox' background. Now I'm not sure about this, but I don't think that Secret of Mana has seperate letter graphics for each background. My guess is that the letters use a transparent color, that lets you see the background behind them. So here is my question: Is that actually possible? Can you display both, the letters and the textbox-background, on layer 3 and replace the transparent color of the layer 3 letters with another layer 3 graphic (in this case the background)? I know this is probably a complicated question, but I hope someone knows the answer.
Well as I said you just have to try around with it. I'm not even sure if what I said was right, but I know there is a way to copy the overworld. Basically what you have to do is open to Lunar Magics (one with your old and one with your new rom) and then in the Lunar Magic with your old ROM open the Overworld Editor. Then go to the Lunar Magic with the new ROM, clik somewhere, go back to the Overworld Editor and save the overworld (you'll have to move a tile first before you can do that). I can't guarantee, but I think that should save the same overworld you had in your old ROM into your new ROM.
Thanks, that's a pretty useful list! I think we should complete it and then put it in the documents section or something. It's pretty useful if you want to make Custom Music that sounds exactly like it's original or if you want to add voices to the game (like me). Then again for that purpose it would probably be better to completely rewrite SMW so that it can use more samples
Then what's the problem? If you know there is stuff that might help you in the documents section, then why don't you check that out first? Read the Music Porting tutorial and if you still have questions then ask.