• 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!

Clone Engine Discussion (The ARF Engine.)

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Well we know what's going to happen to this project.
what can we do? we'll eventually find a way. maybe with Riivolution's future updates (if there is going to be one)
either way. if he does cancel's it, lets hope he'll release all the work for some of use to hopefully find some trick to make them work by themselves.
1. Riivlution is just file replacement. We already have that in the FPC. You fail at logic.
2. I have released almost ALL of the data I have found on OpenSA wiki

T
it's not possible with Brawl's code.
Its not possible? You realize that I can clone characters and the only thing that didnt work was articles, right?
Without patched modules. Also, since when are you ANY kind of authority on anything related to Brawl?

I hATE THIS THREAD
I hate this thread and never post in it because the REAL people who can actually help me finish things up are all on the Project M team. Everyone who just posts questions and speculation might as well be forum trolls.
 

Ultraxwing

Smash Ace
Joined
Mar 4, 2010
Messages
615
Location
Peach Lover =3
**** i looked at the Official ProjectM page. figured out, that it's actually MUCH more superior than well, all of brawl. Actually Interested now that i've READ it. Never bothered to look. i was too busy being a "troll"



Dantarion had a right. i'm done <_<
 

GP&B

Ike 'n' Ike
Joined
May 8, 2009
Messages
4,609
Location
Orlando, FL
NNID
MetalDude
Given that some of the most knowledgeable Brawl hackers are present in the Project M team, you really can't argue against his point of not posting in here. There's simply no reason to besides updates.
 

cuckoos

Smash Journeyman
Joined
Feb 21, 2009
Messages
380
This thread really does suck, as far as some posts go. The objective is cool though!

gj dant
 

Supreme Dirt

King of the Railway
Joined
Sep 28, 2009
Messages
7,336
lol at the people posting in this thread. I seriously doubt some of these people can in fact read, and just somehow know how to write.
 

Photos

Smash Journeyman
Joined
Oct 14, 2009
Messages
399
Location
Dreamworld
Good luck!
i'm following this. i just wish i could help, but i have no patience for codes.
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Ultraxwing, u mad.

Anyways, I have this working for all characters, without patching any modules. Articles don't work however.
Other than that its allllllll good.

So, basically, nothing has changed.
 

Photos

Smash Journeyman
Joined
Oct 14, 2009
Messages
399
Location
Dreamworld
sooooo, any characters that have stuff, like a sword, or umbrella, or a hammer, don't work?
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
An "article" is generally any attack that is detached from the character, or a seperate model from the character.

This includes things like Mario's Cape, as well as Fireballs, and it includes some small things you might not think about, like Ike's up+B.
 

Segtendo

Smash Hero
Joined
Dec 1, 2009
Messages
5,021
Location
Illinois
NNID
Segtend0
3DS FC
2552-4940-9357
Ike's Up+B sword wouldn't be there? I thought the sword for his Up+B is in his character file (unless it deals with PSA)...
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
Right now I am seeing serveral effects with articles.
Either..
a) The article crashes the game when used. (soft crash, meaning I can't debug it)
b) The character crashes on spawn (can debug it, but havent been able to figure it out)
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
It may be because the article is used for the entry animation, like MK's cape, Popo's Condor, and the Spacies' Arwing/Wolfen and that alone.

Why is the MK's cape's shadow an article by itself?
 

pokelover980

Smash Ace
Joined
Oct 4, 2007
Messages
905
b) The character crashes on spawn (can debug it, but havent been able to figure it out)
Well, if it helps, I tested a while ago with Pikachu over Olimar (thanks to ds22 for the files to test it out) and it seemed that upon entering the 5th register value becomes set to something (I think it's the hex values of RSBE) and crashes the game, and it's the same for another test I did (Jiggz over someone I think). This was done in Dolphin though, so I don't know how well it's debugging can compare to that of a USBGecko on a Wii.
 

ds22

Smash Lord
Joined
Aug 30, 2009
Messages
1,662
Location
Rotterdam, The Netherlands
Well, if it helps, I tested a while ago with Pikachu over Olimar (thanks to ds22 for the files to test it out) and it seemed that upon entering the 5th register value becomes set to something (I think it's the hex values of RSBE) and crashes the game, and it's the same for another test I did (Jiggz over someone I think). This was done in Dolphin though, so I don't know how well it's debugging can compare to that of a USBGecko on a Wii.
Already been over that a long time ago.
It actually proved we shouldn't patch modules.
 

Wolfric

Smash Journeyman
Joined
May 7, 2009
Messages
363
Location
Dominican Republic, Caribbean Islands
NNID
GoodLuckTrying
Wasn't sure where else to post this, but I guess this is the thread since it's related to the Clone Engine...

Originally Posted by Phantom Wings
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.
Original Thread: http://forums.kc-mm.com/index.php?topic=14915.225

Arranged thread: http://forums.kc-mm.com/index.php?topic=20844.0
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
Nice bump.
You should fix the quoting code.

Also this:

Phantom Wings said:
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.
 

Revven

FrankerZ
Joined
Apr 27, 2006
Messages
7,550
Location
Cleveland, Ohio
Basically, PW is where Dantarion has gotten to. Nothing... substantial until he gets a clone slot of Lucario or Snake going (just two examples of article intensive characters).
 

[TSON]

Hella.
Joined
May 7, 2008
Messages
3,422
Location
Macomb, MI
NNID
oTSONo
>He ONLY got a character with ONE article working.

Really? Really? Oh, wow. You guys are hilarious. If Dantarion had done the same thing and published it, you'd be blessing the ground he walked on.
he did.

that's why we're not all menstruating and licking it up, as per usual
they're both stuck at the same part.
 

Dragoon Fighter

Smash Lord
Joined
May 23, 2010
Messages
1,915
I JUST noticed this thread >_>. Anyway awesome stuff, how do I set it up on my SD Card? what would the character ID for the CSS be? What is the CSS Limit anyway?
 

mastaklo

Smash Cadet
Joined
Mar 17, 2009
Messages
70
PhantomWings Clone Engine Progression

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 000000YY
E0000000 80008000



Characters [ZZZZ]:
0000 Mario
0004 Donkey Kong
0008 Link
000C Samus
0010 Yoshi
0014 Kirby
0018 Fox
001C Pikachu
0020 Luigi
0024 Captain Falcon
0028 Ness
002C Bowser
0030 Peach
0034 Zelda
0038 Sheik
003C Popo
0040 (Nana)
0044 Marth
0048 Mr. Game & Watch
004C Falco
0050 Ganondorf
0054 Wario
0058 Metaknight
005C Pit
0060 Zero Suit Samus
0064 Olimar
0068 Lucas
006C Diddy Kong
0070 Pokemon Trainer
0074 Charizard
0078 Squirtle
007C Ivysaur
0080 Dedede
0084 Lucario
0088 Ike
008C Robot
0090 (Pra-mai)
0094 Jigglypuff
0098 (Mewtwo)
009C (Roy)
00A0 (Dr. Mario)
00A4 Toon Link
00A8 (Toon Zelda)
00AC (Toon Sheik)
00B0 Wolf
00B4 (Dixie)
00B8 Snake
00BC Sonic
00C0 Giga Bowser
00C4 Warioman
00C8 Red Alloy
00CC Blue Alloy
00D0 Yellow Alloy
00D4 Green Alloy
00D8 (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"

Small Tutorial on How to Port Characters
------

"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://opensa.dantarion.com/wiki/Modules. The character IDs are in the Change.txt."
------

Patched Modules


If you port your character over an multijumper you need this code
Code:
XX has YY's IC-Constant [Dantarion]
C2858928 00000003
2C0400XX 40820008
388000YY 1C040038
60000000 00000000

Characters [XX/YY]:
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)
 
Top Bottom