Home Gallery Resources The Team Rules chat Login Register
Pages:  [1] 2 3 4 ... 19
Author Topic: The Clone Engine Progression  (Read 122930 times)
0 Members and 1 Guest are viewing this topic.
SmashClash
This is my title.
Boss Kitten
****
Offline Offline

Posts: 4662


  • Awards Super Saiyan Topic Heart Container >9000 Renowned Hacker

  • View Profile Awards
    « on: February 24, 2011, 08:06:26 PM »


    http://www.ustream.tv/channel/strongbad338dude
    http://anonym.to/?http://opensa.dantarion.com/wiki/Clone_Engine
    Code:
    Usage Storage Engine (Dont Wreck My Music) [Dantarion]
    060AF160 0000000C
    3C808120 3800000B
    38840B10 00000000

    Usage Storage Engine Data
    07200B10 00000018
    110E120E 04030F0D
    1D1B1F1B 211B1E1B
    201B221B 32110000
    This code is needed to stop the game from saving usage data into an invalid location. That is what causes My Music to freeze after using Alloys. This code only lets you use independant Pokemon and Roy. I need to v2 it for all the other characters that the other No Wreck My Music Code does.

    Roy has Marths IC-Constant [Dantarion]
    C2858928 00000003
    2C040027 40820008
    38800011 1C040038
    60000000 00000000
    This code is needed to let Roy use Marths IC-Constant data. Without it, Roy would not be able to double jump without freezing the game. It will be needed for other characters as well.

    Roy Instance Slot File [Dantarion]
    07200A00 00000020
    726F792F 46697452
    6F792E70 61630000
    66745F72 6F792E72
    656C0000 00000000

    04AD813C 81200A10
    04AD7EDC 81200A00
    This code has 2 parts.
    Part 1 writes "roy/FitRoy.pac" and "ft_roy.rel" to a empty space in memory. Part 2 writes pointers to those two strings in the instance slot positions for ROY

    MarioD Character Slot->Roy Instance [Dantarion]
    06AD8578 00000010
    00000027 FFFFFFFF
    FFFFFFFF FFFFFFFF
    04455568 13321D10
    044557D8 10011332

    Universal Walljumping [Dantarion]
    C285893C 00000003
    2C030024 4082000C
    38600001 48000008
    7C63002E 00000000

    No Walljumping [Dantarion]
    C285893C 00000003
    2C030024 4082000C
    38600000 48000008
    7C63002E 00000000

    Custom CSS v3 [spunit262]
    0668310C 00000030
    387E006C 3B600000
    3C808068 38840DE0
    7CBB20AE 7CA50775
    41800014 94A30004
    3B7B0001 2C1B0032
    4180FFE8 48000038
    04690338 48000068
    066900D8 00000008
    2C170028 41820168
    02680DE0 0022FFFF
    06680DE0 0000002B
    00090D0C 0515011A
    0A071325 1002240E
    0F140616 1F172903
    040B1908 23201B5D
    5E5C1121 18221226
    27285100 00000000
    Roy and Mewtwo are bring worked on Tongue
    http://anonym.to/?http://opensa.dantarion.com/wiki/Clone_Engine_Example_Codes
    http://anonym.to/?http://opensa.dantarion.com/wiki/Patching_Charcter_Modules
    Sigh, all ye gentlemen of little faith.





    As much as I'd like to dispense with the wit and just release the darn things already, that's not really possible at the moment. You need a remote debugger in order to make them load properly. Rest assured though, that these clones are exact, flawless replicas of their originals.

    The problem is not really the fabled "clone engine" - that's child's play - but the actual clones themselves. The modules - the very essence of a character - are what determine whether a moveset has or hasn't been loaded already. That means that even if you were to use multiple .pac files, you would still get only one of the movesets. Thus it is required that the modules themselves be cloned. But there's a catch: modules are very specifically designed to load and manage resources at very specific levels - just copying them isn't enough.

    In ordinary cases, the modifications needed in order to make the modules function properly for any character id would be considered relatively simple. In the case of the two clones above, it was only a matter of changing 1 value for each of them at runtime using WiiRD. Even without a USB Gecko, the total sum of changes needed to be made to a module file would be within the range of 10 to 20 lines of ASM code - not a whole lot. However, module files are structured in such a way that even a slight change in the line count would require a massive amount of hex editing. I've spent the last 2 days trying to make a patched module by hand to release along with the pictures, but it was today that I finally realized the sheer scale of the job ahead of me.

    If and I when complete the module editor I've been working on, then creating clones will become substantially easier. Once modules can be hacked to work generically for any id, then the rest of the clone engine like adding separate slots to the roster or changing which sound banks are used can all be done with a few simple codes.



    Gasp... Wheeze... I barely made it out alive! But I got it... I got it.

    Behold! The very first Generic module!

    [>>>>>Here<<<<<]

    This module will allow you to clone Ike over any character in the roster and - when I finish the actual Engine part of the Clone Engine - clone him into any empty space in the roster.

    In order to clone a character you need to put all of their resources (moveset, models, motion and final smash) into the target character's folder named according to the target character's name. Then adjust the generic module to match the character (Read the Change.txt) and rename it to the target character's module name.

    If you want to go the extra mile and add sound whenever the host character isn't present, then you can adjust the sound banks to your liking with the following code:

    Code:
    Sound Bank Modifier:[Phantom Wings]
    4A000000 80AD89E0
    1400ZZZZ 0000000YY
    E0000000 80008000

    ZZZZ = XX * 0x04

    Characters [XX]:
    00 Mario
    01 Donkey Kong
    02 Link
    03 Samus
    04 Yoshi
    05 Kirby
    06 Fox
    07 Pikachu
    08 Luigi
    09 Captain Falcon
    0A Ness
    0B Bowser
    0C Peach
    0D Zelda
    0E Sheik
    0F Popo
    10 (Nana)
    11 Marth
    12 Mr. Game & Watch
    13 Falco
    14 Ganondorf
    15 Wario
    16 Metaknight
    17 Pit
    18 Zero Suit Samus
    19 Olimar
    1A Lucas
    1B Diddy Kong
    1C Pokemon Trainer
    1D Charizard
    1E Squirtle
    1F Ivysaur
    20 Dedede
    21 Lucario
    22 Ike
    23 Robot
    24 (Pra-mai)
    25 Jigglypuff
    26 (Mewtwo)
    27 (Roy)
    28 (Dr. Mario)
    29 Toon Link
    2A (Toon Zelda)
    2B (Toon Sheik)
    2C Wolf
    2D (Dixie)
    2E Snake
    2F Sonic
    30 Giga Bowser
    31 Warioman
    32 Red Alloy
    33 Blue Alloy
    34 Yellow Alloy
    35 Green Alloy
    36 (Mario D)

    Sound Bank Values [YY]:
    01 Mario
    02 Link
    03 Pit
    04 Metaknight
    05 Dedede
    06 Donkey Kong
    07 Samus/Zero Suit Samus
    08 Yoshi
    09 Kirby
    0A Fox
    0B Pikachu
    0C Luigi
    0D Captain Falcon
    0E Ness
    0F Bowser
    10 Peach
    11 Zelda/Sheik
    12 Popo/Nana
    13 Marth
    14 Mr. Game & Watch
    15 Falco
    16 Ganondorf
    17 Wario
    18 Olimar
    19 Lucas
    1A Diddy Kong
    1B Pokemon Trainer
    1C Charizard
    1D Squirtle
    1E Ivysaur
    1F Lucario
    20 Ike
    21 Rob
    22 Jigglypuff
    23 Toon Link
    24 Wolf
    25 Snake
    26 Sonic
    27 Unknown
    28 Alloy
    29-4B Unknown

    And finally, for your convenience and to prove that it works properly, here's a fully equipped clone of Ike Cloud over Mario.

    [>>>>>Download<<<<<]

    Some things to note:
    -As noted above, unless you use the Sound Bank modifier, the clone will not have any unique sounds or voice if the host character is not in the match.

    -If both the clone and the original are in the match, only one set of Graphic effects will be used. This is because the graphics are being loaded into a single set of ids that both movesets are calling whenever they create graphic effects. (To fix this, we'd need to further analyze the graphic effect files)

    -The .Pac file which is usually considered optional when reskinning an existing character is required if you want to use training or SSE with the clone.

    -Replacing the target character's Entry file is optional, but if you don't replace it then the original's entry Articles will still appear.

    -All the Cloud outfits in the example file are the same... .




    Before I go, please no requests for modules. I haven't mastered the art patching them yet so I need a little more time before I can mass produce them.


    "Required values to be changed:
    [0x000000] = Target Module Id
    [0x01C248] = Target Module Id
    [0x014080] = Target Character Id"

    ------

    "1) Open the generic .rel PW posted in a hex editor.

    2) Go to the offsets PW indicated in the Change.txt (00000, 1C248, 14080).

    3) At offsets 00000 and 1C248 you're going to have to change the module ID of Ike (77) to that of the character you want to port him to. So for example, if you wanted him over Olimar change 77 to 71.

    4) At offset 14080, change Ikes Character ID of 22 to that of the character you want him over. So 19 for Olimar.

    The module IDs are here, if you missed it: http://anonym.to/?http://opensa.dantarion.com/wiki/Modules. The character IDs are in the Change.txt."
    ------


    Ike over Olimar: http://www.mediafire.com/?iivnm9j3up31grv

    Ike over Mr. Game & Watch: http://www.mediafire.com/?r468kcyperfy086


    Well Bah, and here I was hoping that the modules handled all of this. >.<

    Anyways, it looks like there's a lot more that needs to be changed in order to get everything to line up correctly. From what I can gather using WiiRD, one of those things seems to point to two separate methods between Ike and Rob. Quite frankly, I have absolutely no idea what it is, but changing repointing Rob's method to Ike's allows Ike to go over Rob.

    Here's the code

    Code:
    Rob has Ike's ...Something:
    4A000000 80B27AC0
    14000000 80914B5C
    E0000000 80008000

    I'll look into this some more, but it's going to be a while until I have as much free time as I had today.


    ------

    Allowing Ike over Olimar to have 3 jabs(one linear code):
    SUCCESS!

    This code will change Olimar's IC-s to Ike's-IC, allowing him to use the third jab.
    Code:
    Olimar has Ike's IC-Constants(Dantarion, variables by Eternal Yoshi)
    C2858928 00000003
    2C040019 40820008
    38800022 1C040038
    60000000 00000000

    I see that ROB"s IC constants are quite different form Ike's.
    I'm gonna try ROB again with Ike's constants.


    Lol, so much more complicated than it needs to be if you only wanted the third jab. Tongue

    Could have just used a one liner.

    Olimar has 3 jabs
    Code:
    04B0B7BC 00000003


    Use your windows calculator and set it to hex mode to get the product of the character ID times 4.

    Example:

    Code:
    Rob has Ike's Sound Bank
    4A000000 80AD89E0
    1400008C 00000020
    E0000000 80008000

    Good Night.
    Use your windows calculator and set it to hex mode to get the product of the character ID times 4.

    Example:

    Code:
    Rob has Ike's Sound Bank
    4A000000 80AD89E0
    1400008C 00000020
    E0000000 80008000

    Good Night.

    --------------------------------------------------------------------------

    Reason for making thread:
    Nuke requested it and the other thread was getting cluttered.

    Discuss from here on out, I guess.
    Sticky?
    « Last Edit: February 25, 2011, 05:50:14 PM by SmashClash » Logged

    SmashClash
    This is my title.
    Boss Kitten
    ****
    Offline Offline

    Posts: 4662


  • Awards Super Saiyan Topic Heart Container >9000 Renowned Hacker

  • View Profile Awards
    « Reply #1 on: February 24, 2011, 08:21:24 PM »


    Reserved and also here to tell you if this thread isn't popular with discussion. I can just keep up-to-date with all the info here.
    Use your windows calculator and set it to hex mode to get the product of the character ID times 4.

    Example:

    Code:
    Rob has Ike's Sound Bank
    4A000000 80AD89E0
    1400008C 00000020
    E0000000 80008000

    Good Night.

    Attention everyone:

    If you are planning on trying to replace him over a multi-jumper, you must change the IC constants as well or you will get a freeze when jumping.

    Code:
    XX has YY's IC-Constant [Dantarion]
    C2858928 00000003
    2C0400XX 40820008
    388000YY 1C040038
    60000000 00000000
    Code:
    IDs

    Mario 00
    DK 01
    Link 02
    Samus 03
    Yoshi 04
    Kirby 05
    Fox 06
    Pikachu 07
    Luigi 08
    Falcon 09
    Ness 0A
    Bowser 0B
    Peach 0C
    Zelda 0D
    Sheik 0E
    Popo 0F
    Nana     10
    Marth 11
    G&W 12
    Falco 13
    Ganon 14
    Wario 15
    MK 16
    Pit 17
    ZSS 18
    Olimar 19
    Lucas 1A
    Diddy 1B
    Chariz 1D
    Squirt 1E
    Ivysaur 1F
    Dedede 20
    Lucario 21
    Ike      22
    ROB 23
    Jiggs 25
    Toony 29
    Wolf 2C
    Snake 2E
    Sonic 2F



    DO NOT MIX THIS WITH ROB FOR NOW.

    ----------
    Ike over Mr. Game & Watch has 3 jabs[Standardtoaster]
    04B0B634 00000003
    « Last Edit: February 27, 2011, 09:04:34 PM by SmashClash » Logged

    Sanitys_Theif
    Extreme Kitten
    *******
    Offline Offline

    Posts: 310


    The Gambler

  • Awards Constructive Hyperactive Contributor Dedicated Hacker

  • View Profile Awards
    « Reply #2 on: February 24, 2011, 08:29:42 PM »


    EDIT:

    Nevermind, only Ike can be ported lol
    « Last Edit: February 24, 2011, 08:31:53 PM by Sanitys_Theif » Logged

    Sanitys_Theif
    Extreme Kitten
    *******
    Offline Offline

    Posts: 310


    The Gambler

  • Awards Constructive Hyperactive Contributor Dedicated Hacker

  • View Profile Awards
    « Reply #3 on: February 24, 2011, 08:55:58 PM »


    Has anyone gotten the soundbank to work? I'm trying to get Ike's voice over G&W
    Logged

    Albafika
    Anti-Christ
    Administrator
    ******
    Offline Offline

    Posts: 5871


  • Awards Epic Restorer Super Saiyan Topic Star Hacker PC Core Gamer

  • View Profile Awards
    « Reply #4 on: February 24, 2011, 08:58:03 PM »


    I'm lost, completely lost. XD Ill wait for the SFX over Olimar to work before putting my head into this.
    Logged


    SmashClash
    This is my title.
    Boss Kitten
    ****
    Offline Offline

    Posts: 4662


  • Awards Super Saiyan Topic Heart Container >9000 Renowned Hacker

  • View Profile Awards
    « Reply #5 on: February 24, 2011, 08:59:28 PM »


    Has anyone gotten the soundbank to work? I'm trying to get Ike's voice over G&W
    I don't know. But try asking EternalYoshi or ds22. They might know how.
    I need Cloud's SFX over GW.[/repetative]
    Logged

    Nuke
    Last of the Breed
    Holy Kitten
    *
    Offline Offline

    Posts: 1572


  • Awards FistBump! Super Saiyan Topic KCMM Veteran Pin Collector

  • View Profile Awards
    « Reply #6 on: February 24, 2011, 09:21:02 PM »


    Thank you Smash Clash... Much better too find things.. Smiley
    Logged

    FC:4898-8419-2778

    KTH
    French fries
    Special Access
    *****
    Offline Offline

    Posts: 5396


  • Awards Nintendo Revolution Team Heart Container Smash 3 Team Featured

  • View Profile Awards
    « Reply #7 on: February 25, 2011, 08:13:23 AM »


    Thank SmashClash, i'm gonna do Doc.Mario over Wario :p
    Logged


    _Data_Drain_
    Master of the Dark Matter
    Heroic Kitten
    **
    Offline Offline

    Posts: 2579


    ....

  • Awards 2012 SSBB Tournament Runner-Up Fiery Topic Good Citizen Ceiling Cat

  • View Profile WWW Awards
    « Reply #8 on: February 25, 2011, 08:22:06 AM »


    I think this link would be better for getting rid of Olimar...
    http://www.mediafire.com/?cq5u7ggm1439a7j
    I made the rocket invisible, and included those codes to make him work right.
    Logged


    3DS FC: 1762-2823-8581

    Wii-U ID: Data-Drain Mii Name: Jiro

    SMM Stages: https://supermariomakerbookmark.nintendo.net/profile/Data-Drain

    KTH
    French fries
    Special Access
    *****
    Offline Offline

    Posts: 5396


  • Awards Nintendo Revolution Team Heart Container Smash 3 Team Featured

  • View Profile Awards
    « Reply #9 on: February 25, 2011, 08:28:21 AM »


    I think this link would be better for getting rid of Olimar...
    http://www.mediafire.com/?cq5u7ggm1439a7j
    I made the rocket invisible, and included those codes to make him work right.



    I've try you're pack Data_Drain, i don't know... This freeze my Wii when i'm on Stage select.
    Logged


    Albafika
    Anti-Christ
    Administrator
    ******
    Offline Offline

    Posts: 5871


  • Awards Epic Restorer Super Saiyan Topic Star Hacker PC Core Gamer

  • View Profile Awards
    « Reply #10 on: February 25, 2011, 08:37:15 AM »


    I think this link would be better for getting rid of Olimar...
    http://www.mediafire.com/?cq5u7ggm1439a7j
    I made the rocket invisible, and included those codes to make him work right.



    I've try you're pack Data_Drain, i don't know... This freeze my Wii when i'm on Stage select.


    I added

    Code:
    Olimar Sound mod
    4A000000 80AD89E0
    14000064 00000020
    E0000000 80008000

    Olimar has Ike's IC-Constants(Dantarion, variables by Eternal Yoshi)
    C2858928 00000003
    2C040019 40820008
    38800022 1C040038
    60000000 00000000

    These two to my .GCT, and it worked, but the Third Jab of Cloud isn't working...
    Logged


    Oshtoby
    Extreme Kitten
    *******
    Offline Offline

    Posts: 326


  • Awards Hot Topic Famous Hacker Favorite'd Active Contributor

  • View Profile Awards
    « Reply #11 on: February 25, 2011, 09:46:57 AM »


    Can someone test this? I cannot, as I am at work.

    Edit the generic Ike .REL in a hex editor like so:
    *At address 0x000000, use the value 7E.
    *At address 0x01C248, use the value 7E.
    *At address 0x014080, use the value 33. (IF THIS CRASHES, THIS VALUE MAY BE THE ISSUE.)

    rename the .REL to "ft_zako.REL"

    In "sd:/private/wii/app/RSBE/pf/fighter/zakogirl", put all of Ike's files

    Rename the files accordingly (FITIKE.PAC to FITZAKOGIRL.PAC, ect.)

    Use the following codes:

    Code:
    ZAKOGIRL has IKE's IC-Constants(Dantarion)
    C2858928 00000003
    2C040033 40820008
    38800022 1C040038
    60000000 00000000

    Sound Bank Modifier:[Phantom Wings]
    4A000000 80AD89E0
    140000CC 00000020
    E0000000 80008000

    Use a character select screen that allows you to choose the Fighting Alloy Team, as well as any codes they may need.

    Try to play a match using the girl alloy.

    Post results (if it froze, worked, or whatever).

    I want to believe ;_;
    « Last Edit: February 25, 2011, 10:08:28 AM by Oshtoby » Logged

    Eternal Yoshi
    Heroic Kitten
    **
    Offline Offline

    Posts: 2425


    Boss? Is that you?

  • Awards KCMM Old Timer Super Saiyan Topic Active Contributor Former PMDT

  • View Profile Awards
    « Reply #12 on: February 25, 2011, 10:33:20 AM »


    I think this link would be better for getting rid of Olimar...
    http://www.mediafire.com/?cq5u7ggm1439a7j
    I made the rocket invisible, and included those codes to make him work right.




    I've try you're pack Data_Drain, i don't know... This freeze my Wii when i'm on Stage select.


    I added

    Code:
    Olimar Sound mod
    4A000000 80AD89E0
    14000064 00000020
    E0000000 80008000

    Olimar has Ike's IC-Constants(Dantarion, variables by Eternal Yoshi)
    C2858928 00000003
    2C040019 40820008
    38800022 1C040038
    60000000 00000000

    These two to my .GCT, and it worked, but the Third Jab of Cloud isn't working...



    Strange. It's working for me.
    I'm using SDoom's cloud BTW.

    Attention everyone:

    If you are planning on trying to replace him over a multi-jumper, you must change the IC constants as well or you will get a freeze when jumping.

    Code:
    XX has YY's IC-Constant [Dantarion]
    C2858928 00000003
    2C0400XX 40820008
    388000YY 1C040038
    60000000 00000000

    DO NOT MIX THIS WITH ROB FOR NOW.
    ROB already has a code that allows Ike to work over him.
    « Last Edit: February 25, 2011, 10:34:47 AM by EternalYoshi » Logged


    DMN666
    Dawn/Hikari fanatic!
    Holy Kitten
    *
    Offline Offline

    Posts: 1017


    Meh

  • Awards Pin Collector Super Saiyan Topic Heart Container Starstormer

  • View Profile WWW Awards
    « Reply #13 on: February 25, 2011, 02:22:16 PM »


    I think this link would be better for getting rid of Olimar...
    http://www.mediafire.com/?cq5u7ggm1439a7j
    I made the rocket invisible, and included those codes to make him work right.


    I am lost with this so im just gonna download this Im srs here
    Logged



    SmashClash
    This is my title.
    Boss Kitten
    ****
    Offline Offline

    Posts: 4662


  • Awards Super Saiyan Topic Heart Container >9000 Renowned Hacker

  • View Profile Awards
    « Reply #14 on: February 25, 2011, 05:09:38 PM »


    Updated with 2nd post.
    Logged

    Pages:  [1] 2 3 4 ... 19
    Print
    Jump to: