Phantom Wings
Smash Apprentice
- Joined
- Jul 29, 2008
- Messages
- 150
... No seriously folks, there's no way I'm analyzing all that with just my own. I mean c'mon look at that scroll bar - who do you think I look like? Hercules?
</James Woods>
*Ahem*
Which is why I'm recruiting the Smash community to help speed up the process. With a little help I'm hoping we can make some headway in to finally cracking those module files. But enough with the chatter. Show, don't tell they always say - or something like that.
The first pic isn't really interesting, but I needed it to make my point (really, look at that scroll bar) that's the objects in module 1B (a.k.a. the Common2 module)
Interestingly enough, the modules seemed to make a lot more sense once I slapped labels onto everything. The initializer of the WWR stage module invokes a method from the stClassInfoImpl object. Examining that method leads to - surprise surprise - the function that you need to modify in order to use the module in the Stage Roster Expansion code (see pic 2). Incidentally, it seems that the soClassInfoImpl is what controls Brawl's access to the module itself. By changing that code to 00 it allows the Stage Roster Expansion code to use it.
Another interesting thing I found was that articles seem to be managed more or less by the modules. If you look at the number of soInstancePoolSub objects in the third picture and what arguments they get passed, you'll see that they correspond to the limit of that article that's allowed on screen (3 charged shots, 3 bombs, etc.).
Finally, there's the soStatusUniqueProcess objects which appear to handle anything abnormal that isn't possible with the .pac files. This was actually the basis for my whole analysis as I was just messing around by mapping the processes to other moves causing Lucario's side B to act like his up B - it was then that I realized that these processes were part of the modules. Anyways, it seems that the unique process for Lucario's Up B directly accesses his kinetic modules (pic 4) therefore bypassing anything that PSA is capable of.
I don't know if this will lead to anything, but I'm hoping that after gaining a bit of experience with everything we'll finally be able to make some sense of it all. I'll leave the module viewer here - the source code's been overhauled so there's going to be a bunch of things missing that were from the old version, but I'll get around to fixing that. You can't save anything yet, so understandably, there won't be much room for experimentation. However, the rebuild of the source code should allow me add that in just a few days.
I understand that this post has been a bit messy, and I would have liked to finish up the editor a bit more before releasing it - maybe do a bit more analysis to explain things better as well - but I've currently got to go and get a new power cord for my computer. So I figured I'd post it before things go down.
Module Editor 2