Well mostly everything you need to know you can find it in the OpenSA Wiki.
#1 #2 #3 #4 #7 #13 #14 #15 Wiki
#5
"Finally, about the records, records are accessed through a lookup table located at memory address 0x80407A40.
Each entry is 3 bytes long: 0x00 Fighter Id 0x01 Unlock Flag 0x02 Cosmetic Id
The only really important value is the first one. When the game goes to access the record id, it searches through the lookup table for the corresponding Fighter Id. However, if the id isn't found (Independent Pokemon, Alloys, Wario Man, etc.) the lookup returns an invalid index.
Fortunately there is also a lookup override table which is used in the cases of Sheik and Zero Suit Samus as well as the 3 non-independent Pokemon Trainer aliases. The lookup override table is located at 0x80407BD0 and contains entries in the form of:
0x00 Character Id 0x01 Record Index
Both tables are read in the function located at 800AF160.
Unfortunately, there is not a way you can prevent the record functions from writing data if they are passed an invalid index. However, it would be possible to ensure that the record lookup function always returns a valid record index. The best way to accomplish this would be to extend the lookup override table to include all characters who don't naturally have their own record index. The 3 instructions responsible for setting the location and length of the lookup override table are the first three instructions of the lookup function."
#6 #9 #10 #11 Yes
#8 Folder name (e.g pf\fighter\Roy), module name (e.g. "ft_roy.rel"), pac names (e.g. "FitRoy.pac"), etc.
#12 What costumes are set for each character, so the game will try to load them. cBliss was born from this
AFAIK The only people who were successful making a clone engine were the PMDT, PhantomWings, and ASF1nk (me). Sammi I think attempted one, but I don't know if he finished. At the end BrawlEx pawnt all.
Just import your models into MiscData[110] and name accordingly, e.g. InfResultMark21_TopN and so on. Also remember to add the corresponding CLR animations for each of your models (The color animations that give the icons their p1,p2,p3,p4,cpu colors)
Last, you call the franchise icon to be used by your character in BrawlEx (if you're using that.) To get the ID just subtract 1 from whatever number you have it on the file name and convert it to hex. E.g. for InfResultMark21 21-1 = 20 20 = 0x14 ID= 14
You basically need to relocate tables, expand some tables, add new strings, set flags, make use of unused stuff, add all cosmetics, etc.
Off the top of my head: CSS slots Character Slots Cosmetic slots Instance slots Record Usage Sound banks IC constants File names Victory themes Anouncer calls Result camera fixes Costume flags Load flags Kirby hat flags Entry flags System names CSPs BPs RSPs Franchise Stock Icons Pacs Modules
All of this is not user friendly and you need at least some knowledge of coding, brawlbox, hex, etc.
Just import the models and name them accordingly? I don't really understand the question. I wrote something semi-related about result franchise icons. Maybe it'll help you.
Thanks a bunch, ASF1nk. It works great, now! One more thing to anyone, not just you (you did enough lol). What are the codes to have independent pokemon now? I forgot. I know you put in 5C instead of 1C for Squirtle or something( so that he's independant), but is there other things needed? Because he still has pokemon trainer lol.
And if you still want external CSPs codes need to be fixed for compatibility. I need to figure out how to fix the module that way I don't need to mess with the codes.