Achilles1515
Smash Master
I use CFG Loader with Dios Mios Lite (SD Card). Works fine.@ Achilles1515 is there anyway to make this work via CFG loader? If so, using dios mios or devolution?
Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!
You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!
I use CFG Loader with Dios Mios Lite (SD Card). Works fine.@ Achilles1515 is there anyway to make this work via CFG loader? If so, using dios mios or devolution?
Sounds like something is wrong with your DOL file. Try remaking the ISO from scratch again.My game crashed on the start menu screen whenever I've changed a setting in the debug menu, what did I do wrong?
If I understood correctly, it's a modification that isn't possible to get using Memory Card hacking with an original iso? not that it's a bad thing, it will just make the gap bigger comparing the full and lite memory card version...For anyone that doesn't know, MnSlChr.usd includes the textures for character select icons and character select portraits and all sorts of CSS stuff.
Correct. It will and it will be worth it.If I understood correctly, it's a modification that isn't possible to get using Memory Card hacking with an original iso? not that it's a bad thing, it will just make the gap bigger comparing the full and lite memory card version...
WOW this is amazing! I would totally donate to the #freeachilles cause, I really appreciate the amazing things you are doing for this game!*IMPORTANT* - Please Read
Guys,
Last night I performed an important research experiment.
The experiment was extending the file length of MnSlChr.usd by adding...well...whatever I want to the end of the file.
For anyone that doesn't know, MnSlChr.usd includes the textures for character select icons and character select portraits and all sorts of CSS stuff.
So what I did was this:
1) Pasted my long CSS code (extra chars, alt costumes, etc.) at the end of the MnSlChr.usd file.
2) Changed the beginning line of the file, which describes the file length, to appropriately accomodate the extended length to the file that I added.
The results was just as I hoped - (At the CSS) When the game loaded the contents of this file into the RAM like normal, it loaded everything I added in at the end as well.
My logic is that anytime I need the CSS code, I will be at the CSS and the contents of this file will be loaded into the RAM anyway, so why not add my code to that file instead of having it take up space in the DOL that can be used for something else?
Next, I changed the custom code at my CSS code injection point to branch to the location that it is now loaded to with the other contents of the MnSlChr.usd file, and it worked like normal. (So this is actually testing that branching into the code I added in that file actually works).
I didn't seem like there was any problem at all with adding stuff to the end of that file and the game was totally okay with it and accounts for the extended space used with anything loaded afterward.
(I still need to test on Wii, though, and will need to see if there is any sort of limitation on how much I could add to this file).
Flippin' fantastic!
WHAT THIS MEANS FOR ME (& YOU):
Lots. So much.
Directly: With having the CSS code in the MnSlChr.usd file, ~1300 more free code lines in the DOL to be used for other codes or debug menu options.
Future: Because the CSS is always the first thing the game boots to, I could do something like adding tons of other codes to the end of the file (ones executed outside of the CSS) and then write a simple code that gets executed on the CSS to copy these codes to the end of the RAM at a location that the game probably never hits. So then they will be there for me to use outside of the CSS.
....basically, an innumerable amount of code lines now available for use!
Because I no longer have to worry about the CSS code length, alt costumes for every character costume can definitely happen!
Another thing I should be able to do is add more CSPs to the end of the MnSlChr.usd file that could be pointed to when alt costumes are selected!
This just really opens up a new world of possibilities.
Other
Since the release of 3.0, I really haven't done much new coding (to my normal standards). My girlfriend is under the "assumption" that I care more about coding than her, which doesn't bode well for our relationship. So I've been limiting my coding time for the past two weeks and doing more chores around the apartment to show her that is not true. Women are infinitely complicated...
What I have done though:
1) Disable CPU taunting
2) Added a debug menu option for custom shield colors (love this one!)
3) Character Mod: DK - always full punch
Will be doing soon:
4) Character Mod: Peach - Always Pull XX (turnips)
I'll be releasing this update after I add the last two to the debug menu.
View attachment 27499
I just can't get enough of this project. This will be the game we all deserve after years of dedication!
I just wish it were my full time job. Imagine what I could get accomplished if I had 8+ hours to spend on it everyday, had a stream, could make tons of coding tutorial videos, extensive work on CPU AI.... Could the Melee community donate enough money to get me a good, yearly salary? Would #freeAchilles ever work??? (this paragraphy is a joke...kind of).
Don't underestimate us. Those who realize the work you've put in would very likely want to support youI just wish it were my full time job. Imagine what I could get accomplished if I had 8+ hours to spend on it everyday, had a stream, could make tons of coding tutorial videos, extensive work on CPU AI.... Could the Melee community donate enough money to get me a good, yearly salary? Would #freeAchilles ever work??? (this paragraphy is a joke...kind of).
You can't. wParam kept part of his exploit in the name tag area after the initial hack loading (I'm not exactly sure why) but it interferes with name tags and would probably cause the game to freeze if you could input them. So I believe he just disabled the function totally.In the Crazy Mod, I've noticed that after I enter the hacked mode with the name entry glitch, I am not able to put any name inside it. Even if I enter a name and press Confirm, it doesn't show up at all in the list, so it's not possible to have any. Do you know a solution to have the option to input names?
Then would it be possible to put 4 default names (that can't be modified or deleted)? Because sometimes in teams, having the same characters may create confusion, and having a name reduces the risk to mix up characters.You can't. wParam kept part of his exploit in the name tag area after the initial hack loading (I'm not exactly sure why) but it interferes with name tags and would probably cause the game to freeze if you could input them. So I believe he just disabled the function totally.
oh. Well I think I can just enable tags by completely erasing the exploit after it's used. I guess wParam ignored this because you can't use tags via matches from the debug menu anyway? I think.Then would it be possible to put 4 default names (that can't be modified or deleted)? Because sometimes in teams, having the same characters may create confusion, and having a name reduces the risk to mix up characters.
I ask that about if you do it for 20XX lite; it doesn't bother me for Crazy Mod because you can simply put a player black/grey (sub-color 3/4) or change his color easily.
This also can make the interval of "(R+D-Pad Right) P2 [Falco] Short Hop Lasers" be changed.I'll have to think about this one.
I've seen your apathy first hand.Since the release of 3.0, I really haven't done much new coding (to my normal standards). My girlfriend is under the "assumption" that I care more about coding than her, which doesn't bode well for our relationship. So I've been limiting my coding time for the past two weeks and doing more chores around the apartment to show her that is not true. Women are infinitely complicated...
No, they probably don't work on Dolphin. (But I think they might work if you make the Debug changes, exit out of Debug Menu so it saves to memory card, and then close Dolphin and reopen). I think I might try and write a Gecko code for Dolphin users to make the Debug Menu work completely - I have an idea for this.Does the multiple spoof controllers not work on Dolphin? Also if you have two spoof controllers in can you have both of them follow the character codes so two people can practice shield pressure on two different spoof controllers?
Do you think having character controls on multiple spoof controllers being something you could possibly add? If p1s command set the same action for every spoof controller that would be really beneficial if you want to practice with a friend. I don't see the downside to this as I've never seen a need to have more than p2 as a spoof controller.No, they probably don't work on Dolphin. (But I think they might work if you make the Debug changes, exit out of Debug Menu so it saves to memory card, and then close Dolphin and reopen). I think I might try and write a Gecko code for Dolphin users to make the Debug Menu work completely - I have an idea for this.
But no, the "character codes" are still for P2 only.
If you go back a few pages, you'll see there is a lot of talk about this issue, and I have no idea why it's happening, as it's working for some (including myself) but not for others. I *think* it is an issue with the device you are loading from.First: Thanks Achilles the hack pack is just too amazing. i mean, battlefield with modular platforms? n_n
So i just updated from 2.07 to 3.00 but the "blue" Pokemon Stadium with no transformations is still green like in 2.07.
is it a file which holds the blue texture or is it code like with Rainbow FD?
It's doable, I just have never tapped into the function that controls P3 inputs, which I have done with P2. It would require a decent amount of work and coordination.Do you think having character controls on multiple spoof controllers being something you could possibly add? If p1s command set the same action for every spoof controller that would be really beneficial if you want to practice with a friend. I don't see the downside to this as I've never seen a need to have more than p2 as a spoof controller.
Sounds awesome to me. If it would be easier you could have it so P1 controls whatever controllers are spoofed. (So if P3 and P4 are set to spoof controllers one command would control both of them). I'm not sure what would be easier in that case, but either way would be a fantastic feature to implement. My friends and I love practicing tech together but as you can imagine sharing one shield is rather tedious. Thanks for the quick responses and I look forward to your continued development!It's doable, I just have never tapped into the function that controls P3 inputs, which I have done with P2. It would require a decent amount of work and coordination.
BUT, you have me thinking....
So I have the "Control All Humans" code. Ideally, I want to rewrite this code so that you can choose any player controlling any other player slot.
For example,
P1 - controlled by P1
P2 - controlled by P1
P3 - controlled by P3
P4 - controlled by P3
(Player one could control 2 players and player 3 could control 2 characters).
If this was implemented, I think you could do this:
P1 - controlled by P1 (actual human)
P2 - controlled by P2
P3 - controlled by P2
P4 - controlled by P4 (actual human)
and then whatever you forced P2 to do, P3 would do the same. I havent tested this, but I think that would work with the P2 action toggles (some of them...it wouldn't work on ones that I force load action states specifically into P2 because that wouldn't be transferred to P3 in this example). But shielding would work.
Interesting...I never thought about this.
You can already set p2 to shield grab to practice shield pressure.I think that the automatic death if you roll concept should be applied to getting grabbed. For example, say you are a spacie and you want to get better at the marth matchup, you could turn on automatic death if you get grabbed for. Obviously forcing you to focus on not getting grabbed. This could work for fox v fox, fox vs falco, etc.... It could be applied to other things as well, but I think this one could help a lot of people.
ok, well im talking about playing with another person....You can already set p2 to shield grab to practice shield pressure.
The thing about the roll-death code is that it is punishing you for doing an action that is sometimes deemed bad, but not always punished (unless playing a really good player that would punish bad rolls every time). Continuously doing so without being punished would probably be developing a bad habit of rolling during bad/predictable times.I think that the automatic death if you roll concept should be applied to getting grabbed. For example, say you are a spacie and you want to get better at the marth matchup, you could turn on automatic death if you get grabbed for. Obviously forcing you to focus on not getting grabbed. This could work for fox v fox, fox vs falco, etc.... It could be applied to other things as well, but I think this one could help a lot of people.
That's true, but that's also the reason why I think this is important. Most people DONT zero to death you off a grab. So if you are practicing against someone who doesn't have insane punishes, there is less incentive to not get grabbed. Not only that but it would lead to more efficient practice because it allows you to practice solely neutral, then later you and your practice partner could focus on punishes and di. And put it together in the end.The thing about the roll-death code is that it is punishing you for doing an action that is sometimes deemed bad, but not always punished (unless playing a really good player that would punish bad rolls every time). Continuously doing so without being punished would probably be developing a bad habit of rolling during bad/predictable times.
This doesn't apply to being grabbed. Once you are grabbed, you're already going to be punished for this action no matter what because the opponent has control over you. Dying for this action is unnecessary because Marth’s steel being plunged deep into your body against your own will is punishment enough.
Kind of, but not really.So would it be possible to make a code that uses P1 + P2 or P3 + P4 where P2 behaves like Nana (AI when desynced) but when not desynced it just does whatever P1 inputs 6 frames later for whatever character is selected so we can have IC battles but with Foxes or Marths or whatever lol.
Red Falcon alt is LowLandLions Falcon.@ Achilles1515
I'm currently using dios mios lite 2.10 since my usbstick died.
Which one are you using?
Finding an up2date dios mios version seems really difficult to me since the project died...
The red falcon alt is working for me ( the purple on i guess?)
edit: oh no thats the pink alt.. the red falcon alt should be the one with the american colours... i remember this working with an older hack pack version loaded from usb.
..which would confirm your theory
sorry for not having looked back in the thread enough :D
I don't know how LowLandLion's Falcon looks like.Red Falcon alt is LowLandLions Falcon.
I'm using SD card with Dios Mios Lite 2.10. CFG Loader and Dios Mios Booter both boot the game and successfully allow me to use blue pokemon stadium/red falcon alt.
It's on the main post.I don't know how LowLandLion's Falcon looks like.
Idk what that is. I just hold down the power button on my Wii everytime I want to shut it down.does power off work with your version of dios mios lite or do you have to force shutdown every time?
Also, why would you want to be punished everytime for something that's only sometimes bad.... that doesn't make any sense. Anything you do can be considered bad if you do it at the wrong time. That's why you play the game, to determine when something is good and when something is bad. That means the only way to get rid of a bad rolling habit is to get punished everytime it's BAD, not everytime. Otherwise you are creating a bad habit of not rolling when you actually should. This is clearly different from being grabbed which is always bad, so you should always die.The thing about the roll-death code is that it is punishing you for doing an action that is sometimes deemed bad, but not always punished (unless playing a really good player that would punish bad rolls every time). Continuously doing so without being punished would probably be developing a bad habit of rolling during bad/predictable times.
This doesn't apply to being grabbed. Once you are grabbed, you're already going to be punished for this action no matter what because the opponent has control over you. Dying for this action is unnecessary because Marth’s steel being plunged deep into your body against your own will is punishment enough.
So the current code has a player die. This is a noticeable on-screen punishment, but an arbitrary one. It doesn't matter if the punishment is dying, or putting the player to sleep, or slingshotting them into the air - whatever. They all accomplish the same thing, which is break the character out of their current action to signify to them that what they did is "bad". (We are considering rolling to be "bad" in this respect because we turned the code on...that's what we are trying to not do).Also, why would you want to be punished everytime for something that's only sometimes bad.... that doesn't make any sense. Anything you do can be considered bad if you do it at the wrong time. That's why you play the game, to determine when something is good and when something is bad. That means the only way to get rid of a bad rolling habit is to get punished everytime it's BAD, not everytime. Otherwise you are creating a bad habit of not rolling when you actually should. This is clearly different from being grabbed which is always bad, so you should always die.
I understand your point, but I guess I don't really understand why this code should be limited to rolling. There are a lot of other things that are considered bad that often times aren't punished. For example, shielding is not always that great especially if you sit in shield for too long. Would it be possible to make it so that before a match started you could make it so being in an actionable state of your choosing would force you to die? And, as a continuation of that, could you make it so that being in an actionable state after a certain number of frames would force you to die? I know this would be pretty complicated, but I feel like you have pieces of this already in place, and I feel like this is a reasonable compromise even though you have no obligation to do so.So the current code has a player die. This is a noticeable on-screen punishment. It doesn't matter if the punishment is dying, or putting the player to sleep, or slingshotting them into the air - whatever. They all accomplish the same thing, which is break the character out of their current action to signify to them that what they did is "bad". (We are considering rolling to be "bad" in this respect because we turned the code on...that's what we are trying to not do).
All I'm saying is that your opponent grabbing you is the same thing as the above consequences. You are broken out of an action because what you were doing is "bad". Your opponent grabbing you is an on-screen punishment for...idk...bad dash dancing for example, or poor shield pressure.
I guess the consequences are not equal if you are trying to play legit, "if I win I am better than you", matches with this code on, which I assume no one does.
(I might like the idea of putting the player to sleep as a punishment more than dying. Maybe I'll experiment with this.)
I changed Rumble ON to default and it works. But when I create a new nametag it still appears with rumble off as default.Go to the DOL mod topic in this forum.
I've made some tests with AI as Nana and doppelgangers:Kind of, but not really.
The only way I would know how to do this is using the "dopplegangers" code that was in the Crazy Mod. Basically, every player in the match gets a CPU clone, and if you were to turn their AI type to "Nana" then, yeah, they would act like Nana and attached with the player they were spawned with.
BUT, the problem with the code is that they only have one life and never respawn after dying. Maybe this is possible to change...idk...but that's the only way I would know how to do this.
I agree that it could have uses outside of rolling. I like the idea of making it customizable for whatever action you'd like - this would provide a win-win situation for me and the user. Obviously, it would just be more complicated to write.I understand your point, but I guess I don't really understand why this code should be limited to rolling. There are a lot of other things that are considered bad that often times aren't punished. For example, shielding is not always that great especially if you sit in shield for too long. Would it be possible to make it so that before a match started you could make it so being in an actionable state of your choosing would force you to die? And, as a continuation of that, could you make it so that being in an actionable state after a certain number of frames would force you to die? I know this would be pretty complicated, but I feel like you have pieces of this already in place, and I feel like this is a reasonable compromise even though you have no obligation to do so.
Edit: just saw the part about putting someone to sleep, I think that would be pretty cool as well.
Thanks for the info. This comment is very interesting. I wonder why that would be... It's good to know, though, that it is possible for them to respawn. I want to look into this at some point because the doppelganger code is pretty fascinating.I've made some tests with AI as Nana and doppelgangers:
• If both the character and the doppel dies at the same time, the doppel will respawn with the main.
This is because I had to move the location of the rumble byte to accomodate 8 character name tags.I changed Rumble ON to default and it works. But when I create a new nametag it still appears with rumble off as default.
I assumed it had something to do with that. Its not really a major problem, so there should not be rush to fix it.I agree that it could have uses outside of rolling. I like the idea of making it customizable for whatever action you'd like - this would provide a win-win situation for me and the user. Obviously, it would just be more complicated to write.
Executing a punishment after a certain amount of frames isn't a bad idea either. I'm sure people could find a multitude of uses out of that.
Thinking all this over now, I could rewrite the code to work in a completely different manner, and probably be able to accomplish both of these things.
The tricky part would be having it work with any action state, but I could do something like I did with the frame counter code.
Thanks for the info. This comment is very interesting. I wonder why that would be... It's good to know, though, that it is possible for them to respawn. I want to look into this at some point because the doppelganger code is pretty fascinating.
This is because I had to move the location of the rumble byte to accomodate 8 character name tags.
To put a long story short, the byte in memory that controls rumble for a name tag is located, basically, immediately after the name tag characters. If you make the max nametag character length twice as long, it will overwrite this rumble byte. (it would actually turn rumble on, because 00 is off and anything greater than or equal to 01 is on. An alphabet character has a value greater than 01.)
Obviously, that's a problem. And to make the problem even more complicated, if I had an 8 character name tag and then I turned the rumble off (because like I said, it would default on), that alphabet byte would then be changed to a 00, which would break the name tag at that location and any characters after that point would not be registered by the game.
~ Aside ~
When the game reads name tags, it reads characters until it sees the byte 00. That's when it tells itself "okay, this is the end of the name tag". And this is why we can have nametags longer than 4 characters. All you have to do is place more characters immediately after the first four and the game will continue to read them (until it sees 00). *This also how the name entry memory card exploit works.* When the game loads the name entry screen, it reads the name tags that have currently been entered/are on the memory card. The exploit starts at the very first name tag slot, where instead of having an actual name tag, there is essentially just junk bytes (meaningless bytes). Lots and lots of them, but none of which are 00. So the game continues to try and read them. It "stores" these values in the stack, which is an area of the RAM that acts like a mini storage area for things currently being copied and it also holds information as to where the code was last before it branched into the fuction it is currently at - so it can load back the "where was I" memory address and then branch back there and continue on. What you do with these junk bytes is you put enough in there so that it "overflows" the stack and gets you down to the point in the stack that holds the "where was I" location (and you're still writing values in the stack). And then you write a meaningful memory address to branch to, instead of the previous one it had written there. End that with a 00 and then the game will stop writing "nametag" values to the stack and shortly after will attempt to branch back to the function it was previously at. So at this point, the memory address you wrote to the stack will be pointed to the start of custom code that you saved on the memory card, the game will branch there instead of the previous normal address, and BINGO. Profit. It's quite brilliant.
Anyway, as explained above, there were a few problems associated with the rumble byte still being in the middle of an 8 character name tag. So what I had to do to restore normal rumble function, was find every line of code [I could find] that looks at that rumble byte (code that ACTUALLY makes rumble happen or not happen based on looking at the flag value, like pressing Start at the CSS), and rewriting this line of code to look at a different location instead. One that wouldn't interfere with an 8 character name tag.
Yes, this was a b***h. (and one of those "little" things that end users of 20XX don't know took like an entire night of pounding my head against a wall to figure out).
But yeah, that's why it doesn't automatically turn rumble on when you make a name tag, because I guess I didn't tell it to store the rumble on value into the new location. It wouldn't know to do so unless I find that storing line of code and tell it to store it at the new location.
I don't plan on looking at this anytime soon. Well, maybe. We'll see. But thanks for bringing it up. So you'll just have to manually turn rumble on for any name tag you make. At least I got that working...