Jump to content

Character Swapping Framework Documentation: Difference between revisions

From HEModdingWiki
Created page with "The "'''Character Swapping Framework'''" is a mod for '''Sonic Unleashed''' that adds in the ability for a user to install one or more model mods to their game and then toggle between each model mod in game. The mod has a few major iterations that a modder could fork for their own work. === Glossery: === '''CSF''' : Character Swapping Framework '''Data Archive''': The archive containing character model, sound and ui data, such as "'''ActD_Char_Custom.ar'''" '''Data B..."
 
No edit summary
Line 4: Line 4:


=== Glossery: ===
=== Glossery: ===
'''CSF''' : Character Swapping Framework
'''CSF''': Character Swapping Framework


'''Data Archive''': The archive containing character model, sound and ui data, such as "'''ActD_Char_Custom.ar'''"
'''Data Archive''': The archive containing character model, sound and ui data, such as "'''ActD_Char_Custom.ar'''"
Line 32: Line 32:


== Major Iterations. ==
== Major Iterations. ==
'''Version 1.0.'''
 
=== Version 1.0. ===
 
=== Version 2.0. ===
 
=== Version 3.0. ===
 
== Mods Using Iterations. ==
 
=== Version 1.0: ===
Sonic Unleashed: Reimagined 1.0.0
 
=== Version 2.0: ===
Sonic Unleashed: Reimagined 2.0.0
 
Sonic Unleashed: Reimagined 3.0.0
 
Sonic Unleashed: Reimagined V4
 
=== Version 3.0: ===
Character Swapping Framework
 
=== Version Forks: ===
'''Version 3.0A:'''
 
Like a Werehog: Extreme Fury
 
Nightmare: A LAW Mod
 
<small>Version 3.0 forked for the Like a Werehog mods. This fork removes the "iFlag_DayCharacter" flag and the ability to toggle between flag values in day stages. This version also reworks the system to have all regions in a given flag list correlate to a single integer number to facilitate the ability to toggle all styles within every region, along with having flag modifier lists be unique to each style (character) rather than being shared flag modifier lists.</small>

Revision as of 17:13, 8 January 2025

The "Character Swapping Framework" is a mod for Sonic Unleashed that adds in the ability for a user to install one or more model mods to their game and then toggle between each model mod in game.

The mod has a few major iterations that a modder could fork for their own work.

Glossery:

CSF: Character Swapping Framework

Data Archive: The archive containing character model, sound and ui data, such as "ActD_Char_Custom.ar"

Data Bridge: The archive used to bridge between the Data Archive and the stage instance, such as "#Custom_Africa.ar"

SR_Enter Scripts: The stage entry scripts primarily modified to facilitate this mods functions.

How The Core System Works In All Iterations.

All iterations use the same fundamental system where you require:

An archive containing your "characters" data, this for example would be similar to "Sonic.ar", but labled something like "ActD_Char_Custom.ar".

Archives to hook the Data Archive to the stage, such as "#Custom_Africa.ar" or "#Sub_Custom_Africa1.ar".

A custom archive tree, referenced as additional in the main archive trees.

Entries for Data Archives and Data Bridge archives in the "swa.arcinfo".

Entires for your flag type [integer or bool] in the "Flaglist.xml".

Flag modifier scripts for your characters, these dictate what region within the script sets the bool or integer flag.

Relevent per version cases in the "SR_Enter" scripts.

Stagelist entries directing to the flag modifer scripts.

Major Iterations.

Version 1.0.

Version 2.0.

Version 3.0.

Mods Using Iterations.

Version 1.0:

Sonic Unleashed: Reimagined 1.0.0

Version 2.0:

Sonic Unleashed: Reimagined 2.0.0

Sonic Unleashed: Reimagined 3.0.0

Sonic Unleashed: Reimagined V4

Version 3.0:

Character Swapping Framework

Version Forks:

Version 3.0A:

Like a Werehog: Extreme Fury

Nightmare: A LAW Mod

Version 3.0 forked for the Like a Werehog mods. This fork removes the "iFlag_DayCharacter" flag and the ability to toggle between flag values in day stages. This version also reworks the system to have all regions in a given flag list correlate to a single integer number to facilitate the ability to toggle all styles within every region, along with having flag modifier lists be unique to each style (character) rather than being shared flag modifier lists.