+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Secret of Mana Hacking
Pages: [1] 2
Author Topic: Secret of Mana Hacking  (Read 2 times)
kenshin9
Guest
« on: March 17, 2008, 01:39:12 am »

Hey everyone. There's something I've been wondering for a while, so I figured I'd ask here. As anyone that has played Secret of Mana knows, when you get to your ring menu to cast magic or use items, the game will pause. Is there anyway to hack the game so that the game wouldn't pause? That way, playing the game would be much more fluid when it's multiplayer, and perhaps a bit more harder. It's really not that big of a deal, but when magic is pretty strong in the game and you cast it over and over again, it gets a little tiresome when you're using the boy and trying to attack, but keep getting interrupted by the menu.

I'm not asking for any real work to be done, but I would like to know if it is possible. Any replies would be cool. Thanks.
Deathlike2
Guest
« Reply #1 on: March 17, 2008, 09:01:23 am »

Possible? Probably. Practical? No.

You would have to figure out how to continue to allow other characters continue receiving input.. plus allow them to access their menu w/o hindering someone else's, plus you have to factor in the menus that completely stop gameplay, such as the Status screen (you would have to disable it at the very least).

The game would be much more interactive, and require boatloads of work to get that done.
kenshin9
Guest
« Reply #2 on: March 17, 2008, 10:04:23 am »

Yeah, I figured that much. It would be cool though. After playing the latest FF:CC game, I kinda enjoy each person doing their own thing. But we've each got our own DS, so I guess it makes it easier to not interrupt each other. Oh well, SoM is still a great game.
MathOnNapkins
Guest
« Reply #3 on: March 17, 2008, 10:09:00 am »

I suppose if you could "cache" a command, that is, continue to target the same monster with the same spell, that could be a step in that direction. That certainly would be a lot more feasible than what you're talking about. To be more specific, I'm saying, that once you select a spell with either the Sprite or the Girl, press a certain button, like R, to recast it. And if that target is dead, then I guess you could always just have it auto retarget the next enemy. Coding a dynamic targeting screen would not only be hard it would also be confusing with more than one player trying to use it.
Deathlike2
Guest
« Reply #4 on: March 17, 2008, 10:24:43 am »

Quote from: MathOnNapkins on March 17, 2008, 10:09:00 am
I suppose if you could "cache" a command, that is, continue to target the same monster with the same spell, that could be a step in that direction. That certainly would be a lot more feasible than what you're talking about. To be more specific, I'm saying, that once you select a spell with either the Sprite or the Girl, press a certain button, like R, to recast it. And if that target is dead, then I guess you could always just have it auto retarget the next enemy. Coding a dynamic targeting screen would not only be hard it would also be confusing with more than one player trying to use it.

That might not quite work. You need to map 2 buttons for that in a 1 player scenario, and the L/R buttons are used for allowing the character to continuing facing the enemy while charging the weapon (you would need to find a suitable option, and remapping would require some thought at the very least).

A menu option that casts the previous spell wouldn't be as farfetched though.
kenshin9
Guest
« Reply #5 on: March 17, 2008, 12:03:35 pm »

Actually, yeah. I never thought about that before. That would work out pretty well too.

And I never knew about holding L/R to face the enemy while charging. Interesting.
MathOnNapkins
Guest
« Reply #6 on: March 17, 2008, 12:18:32 pm »

Why do you need both R and L to face the enemy?

edit: for that matter, why does my suggestion require two buttons? The only thing I proposed was a button mapping to "repeat" the last action if possible.
deespence2929
Guest
« Reply #7 on: March 17, 2008, 12:20:10 pm »

Another thing to consider is what happens to the character that is casting the spell  if he gets hit by an enemy. It probably should intereupt your spell selection, so you gotta set it so it closes if your hit.
Deathlike2
Guest
« Reply #8 on: March 17, 2008, 12:24:53 pm »

Quote from: MathOnNapkins on March 17, 2008, 12:18:32 pm
Why do you need both R and L to face the enemy?

edit: for that matter, why does my suggestion require two buttons? The only thing I proposed was a button mapping to "repeat" the last action if possible.

I was thinking of having that for both characters (L for Girl's spell, R for Sprite's spell), but your idea is still workable.

Quote from: deespence2929 on March 17, 2008, 12:20:10 pm
Another thing to consider is what happens to the character that is casting the spell  if he gets hit by an enemy. It probably should intereupt your spell selection, so you gotta set it so it closes if your hit.

That would only make it interesting...

However, the game occasionally has problems casting the spell you cast, though sometimes that has more to do with the spell itself than the menu/input being kinda unresponsive due to lag or some spells coming off a delay (such as level 8:99 spell effects).
kenshin9
Guest
« Reply #9 on: March 18, 2008, 01:00:04 am »

As far as I remember, don't they cast the spells instantly? Making them stop casting the spell when getting hit would be a new feature for the game. But it sure would add some new challenge. As far as the L/R buttons, I wouldn't be opposed to them being used to recast the last spell for the two characters. Like I mentioned before, I didn't even know that they were used in the game. It's really nice to imagine. I think this would be a cool hack for the game. It's times like these that I wish I stuck with Computer Science as a major.
deespence2929
Guest
« Reply #10 on: March 18, 2008, 08:30:36 am »

They don't cast until the spell is selected. If opening the ring menu doesn't stop the game anymore that leaves them open to attack. So either they need to be immune, or they need to be able to take damage. And if they take damage it would make sense that the ring menu closes when that happens.
kenshin9
Guest
« Reply #11 on: March 18, 2008, 10:15:00 am »

True. But if someone did what MathOnNapkins suggested, the ring menu wouldn't have to be used. The L/R buttons could be used to cast the magic again without going back into the menu, that is, until you wanted to change what spell was casted.

For my original idea, it didn't really matter to me that each player could open their ring. It would still be fine if only one character could access the ring at a time. Everything would be the same except for the fact that things won't be frozen when you access the ring menu. So it'd be like an active battle system. Let's say I was the Sprite and wanted to cast magic. All the other characters could still walk around and kill things, while I select the spell to be cast.

I don't know much about the capabilities of coding and what can be done, but I'd imagine that the person would need to program the game so that...

- The ring menu doesn't pause the game.
- The character in the ring menu has movement disabled.
- The screen doesn't darken while in the ring menu.
- Status screens pause the game.
- Ring menu closes when getting hit. ( as deespence2929 said )

I'm sure there are more things to factor in. But that's just how I understand it.
Nightcrawler
Guest
« Reply #12 on: March 18, 2008, 11:42:53 am »

I'd be seriously impressed if somebody were able to pull that off. I imagine it would be very difficult. Making the main game engine and menu engine run concurrently is likely to be hell. I'd also question the SNES's CPU power to be able to simultaneously handle everything. I also see potential for many glitches to occur as you'll have to take many possibilities into account with the hack since the game wasn't made to run concurrently originally. One horrible thought occurs to me; what if the menu engine and main game engine use some of the same memory locations? What goes on when you bring up the menu loading wise and when you exit? There may be resource overlap. That could be disastrous to hack. Anyway, you'll have to be very intimate with the game code to do something like this. I'd say only a small handful of people would have the ability to do it.

It's a MUCH more feasible job to do the spell recast button hack. By doing that, you've reduced the hack to a menu option shortcut or hotkey. It might be as simple as just setting a few bytes in memory on keypress depending on how the game knows it's supposed to cast a spell. It's probably got a command queue or something like that since it seems spell selections are delayed at times. That would make it easier. You could potentially do other neat things with the game this way. It's like adding hot key support.
DarknessSavior
Guest
« Reply #13 on: March 18, 2008, 12:18:43 pm »

I agree with what NC said. If you were to program it so that each player has a macro key for last casted spell, it would be much easier than re-working the entire menu system.

Plus, I think it would be annoying as hell to have the menu up and have other people trying to fight at the same time. >.>

~DS
Trunaur68
Guest
« Reply #14 on: March 22, 2008, 09:50:53 pm »

It may not be that hard to make the game still run while the ring menu is still open...

This is just sheer speculation (I have absolutely no experience in SNES hacking but I do in GBA) but I did make a menu hack for MZM on the gba and one thing I found while hacking it was that there was only one specific value that specified wheather all active in-game action should stop or not. If you changed that value you could control the game while the menu was open. So what I'm saying is that if there's such a value for that in Secret of Mana you just may be able to accomplish that.

Secret of Mana was a good game though I kinda liked the 3rd one better, but it'd still be cool to see a few hacks for it being released.
Pages: [1] 2  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC