okay, I have looks everywhere of how you did
wanna port it to pal but I cant find how you did!
could you pm me of how you did and where you changed? cause it is just simply amazing!
if you have time and want that ofcourse!
The main areas I changed - in broad terms - are as follows:
0x5C20: Removed all but one call to Create_wnMarioFireball_holder_and_article
0x7B60: Changed Create_wnMarioFireball_holder_and_article to call wnRobotBeam.ctor instead of wnMarioFireball.ctor.
0x7BB4: Changed wnInstanceHolder<wnMarioFireball>.Method[0][0] to call wnRobotBeam.dtor instead of wnMarioFireball.dtor
0x7C10: Removed all but the first call to soInstanceHolder<wnMarioFireball>.Method[0][0]
0xAEA4: Changed wnArticleMediator.Method[0][1] to only check the first instance holder when creating an instance of wnRobotBeam
0xAFB0: Changed wnArticleMediator.Method[0][1] to call wnRobotBeam.instantiate instead of wnMarioFireball.instantiate
0xB3D0: Changed wnArticleMediator.Method[1][3] to only try to clear 1 wnRobotBeam instance.
0xB6E8: Changed wnArticleMediator.Method[1][4] to only check 1 wnRobotBeam instance holder.
0xB950: Changed wnArticleMediator.Method[1][5] to return an instance cap of 1 for wnRobotBeam
0xBD80: Changed wnArticleMediator.Method[1][2] to only clear 1 wnRobotBeam instance.
Just for reference, the method listing for wnArticleMediator is as follows:
soArticleMediator : soArticleGenerator, soArticleOperator
soArticleGenerator
Method[0][0] Finalizer
Method[0][1] GenerateArticle(r4=article_id, r5=soModuleAccessor)
soArticleOperator
Method[1][0] Method[0][0] Thunk
Method[1][1] Method[1][8] Thunk
Method[1][2] ClearInstances()
Method[1][3] ClearInstances(r4=soModuleAccessor, r5=Article_id)
Method[1][4] GetInstanceCount(r4=soModuleAccessor, r5=article_id)
Method[1][5] GetInstanceCap(r4=article_id)
Method[1][6] GetArticleCount()
Method[1][7] SetEnabled(r4=val)
Method[1][8] PSAEvent1001(r4=soModuleAccessor, r5=soArticle)
It seems like a lot, but the actual number of instructions I changed is probably no more than 20. If you compare the modified module to the original Mario module, you should be able to get a good idea of what needs to be changed in the PAL version.
Concerning the file size limits: I think I may have stumbled upon a code that can be used to increase the amount of memory allocated towards stage icons. Unfortunately Brawl makes almost full use of the Wii's memory, so there's not a lot of room for expansion. However, it seems that you can safely increase the limit by approximately 510kb without causing the game to run out of memory.
Anyone care to test this for me? You'll need a sc_selmap.pac file that exceeds the normal size limit.
MenuResource Expansion (+510kb)
04422384 006E6700