Style Switcher 3.1.6 Documentation

  1. 1. Supported Versions
  2. 2. Installation
    1. 2.1 XInput Setup
  3. 3. Uninstallation
  4. 4. Configuration
    1. 4.1 DISPLAY
    2. 4.2 GAME
    3. 4.3 INPUT
    4. 4.4 SOUND
    5. 4.5 SYSTEM
  5. 5. Variables
    1. 5.1 Display Modes
    2. 5.2 Missions
    3. 5.3 Modes
    4. 5.4 Characters
    5. 5.5 Styles
    6. 5.6 Weapons
    7. 5.7 Devil forms
    8. 5.8 Swords
    9. 5.9 Languages
    10. 5.10 Rooms
    11. 5.11 Moves
      1. 5.11.1 Dante
      2. 5.11.2 Vergil
    12. 5.12 Commands
    13. 5.13 Tilt
  6. 6. Tutorials
    1. 6.1 Script Engine
      1. 6.1.1 Examples
    2. 6.2 Add missing BGM files

Supported Versions

Release Version
Japanese 1.3
Steam 1.3

Installation

Uninstallation

Configuration

Settings can be changed by editing the StyleSwitcher.ini file. The file contains multiple sections, each representing a specific target.
An entry within a section typically looks like name=value, where value is of a specific data type.

DISPLAY

This section covers all display related settings.

Setting Data type Default value Description
Bloom unsigned int 0 Looks great in most rooms, looks horrible in some rooms. You decide.
You can toggle it ingame by pressing F5.

Note: Can cause graphical glitches in some rooms.
DisableBlurShader unsigned int 1 Self-explanatory.
DisableFogShader unsigned int 1
DisableShadowEngine unsigned int 1
FOV float 0.5 Sets the field of view.
GammaCorrection unsigned int 1 Self-explanatory.
Mode unsigned int 0 Sets the display mode.
Noir unsigned int 0 Turns models black while keeping most of their effects intact.
You can toggle it ingame by pressing F6.

Note: Will very likely crash the game during transitions.
Resolution 3x unsigned int 1280x720@60 The format is width x height @ fps limit.

Note: The fps limit has to be within 0 to 255 for the mission timer to work correctly.
RGB.Rebellion
RGB.Cerberus
RGB.AgniRudra
RGB.Nevan
RGB.Beowulf
RGB.Sparda
RGB.Yamato
RGB.Beowulf.Vergil
RGB.ForceEdge
RGB.NeroAngelo
RGB.AirHike.Rebellion
RGB.AirHike.Cerberus
RGB.AirHike.AgniRudra
RGB.AirHike.Nevan
RGB.AirHike.Beowulf
RGB.SkyStar
RGB.Ultimate
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
3x unsigned char
800000
608090
A04010
7040A0
808080
800000
204080
204080
204080
4000FF
800000
608090
A04010
7040A0
808080
FF0000
8F7030
Contains the rgb color codes of the devil aura and some moves.

You can use this tool for easy color picking.
UI.HP1Frame
UI.HP1Bar
UI.HP1Bg
UI.HP2Frame
UI.HP2Bar
UI.HP2Bg
UI.MPGauge
UI.StyleIcon
UI.RedOrbCounter
UI.Timer
UI.Objective
UI.WeaponIcon1
UI.WeaponIcon2
UI.StyleRank
UI.StyleBar
UI.RoomText
UI.RoomText.Step
UI.BossFrame
UI.BossBar
UI.BossBg
float
float
float
float
float
float
float
float
float
float
float
float
float
float
int
short
char
float
float
float
-40,-20
-40,-20
-40,-20
-40,-20
-40,-20
-40,-20
-40,-20
-40,-20
40,-20
-40,-20
-40,-20
-40,0
40,0
40,-20
507,58
-50,200
-2
0,20
0,20
0,20
Sets the offset of various user interface elements.

The format is x offset, y offset.

GAME

This section covers all gameplay related settings.

Setting Data type Default value Description
AirHike.CoreAbility unsigned int 0 This allows you to use Air Hike with all weapons once you have bought it for Rebellion. So it turns Air Hike into a core ability instead of a weapon specific one.
Arcade
Arcade.Mission
Arcade.Mode
Arcade.Automatic
Arcade.Character
Arcade.BloodyPalace
Arcade.Equipment
Arcade.Costume
Arcade.HP
Arcade.MP
Arcade.Style
Arcade.Room
Arcade.Position
unsigned int
unsigned char
unsigned char
unsigned char
unsigned char
2x unsigned short
4x unsigned char
unsigned char
float
float
unsigned int
unsigned short
unsigned short
0
14
4
0
0
0,0
06050100
2
20000
10000
2
10
0
When activated it will take you directly to the room you specified,
bypassing all menus and applying all required variables automatically.

Note: The format for Arcade.BloodyPalace is enable, stage.
Artemis.InstantCharge unsigned int 0 Self-explanatory.
Artemis.NormalShotMultiLockSwap unsigned int 0
BossRush unsigned int 0 Skips the majority of a mission and takes you directly to the boss fight(s).
Devil.AirHike
Devil.WallJump
Devil.WallRun
Devil.Dash.Lv1
Devil.Dash.Lv2
Devil.Dash.Lv3
Devil.SkyStar
Devil.AirTrick
Devil.AirTrick.Vergil
Devil.TrickUp
Devil.TrickDown
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
1
1
1
1
2
3
1
1
1
1
1
Contains mobility variables. These only apply while in devil form.

Note: 0 means infinite.
ForceEasyAutomaticTwosomeTime unsigned int 0 Self-explanatory.
HideBeowulf unsigned int 0 The weapon, duh.
Human.AirHike
Human.WallJump
Human.WallRun
Human.Dash.Lv1
Human.Dash.Lv2
Human.Dash.Lv3
Human.SkyStar
Human.AirTrick
Human.AirTrick.Vergil
Human.TrickUp
Human.TrickDown
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
1
1
1
1
2
3
1
1
1
1
1
Contains mobility variables. These only apply while in human form.

Note: 0 means infinite.
InfiniteMP unsigned int 0 Infinite, infinite, infinite ...

Come on, everything with infinite in front of it is pretty much self-explanatory.
InfiniteRainStorm unsigned int 0
InfiniteRoundTrip unsigned int 0
InfiniteSwordPierce unsigned int 0
LowBuffer char 6 Required button mash level to trigger Crazy Combo.

Lower this value for easier Crazy Combos.
MP.Deplete float 11 The value that is subtracted from the MP with every tick while in devil form.
NoDemonForm unsigned int 0 Only disables the devil model, not the benefits.
OrbReach float 300 Orb gathering range. No idea what the unit is.
Revert.Delay float 60 The delay before you can use devil trigger again.
Speed.Rebellion
Speed.Cerberus
Speed.AgniRudra
Speed.Nevan
Speed.Beowulf
Speed.Yamato
Speed.Beowulf.Vergil
Speed.ForceEdge
Speed.Yamato.NeroAngelo
Speed.Beowulf.NeroAngelo
float
float
float
float
float
float
float
float
float
float
1.1
1.2
1.05
1.1
1.05
1.2
1.2
1.2
1
1
The character speed to apply while in devil form.
StyleSwitcher unsigned int 0 The very heart of this mod.
Allows you to switch on the fly between all six styles with Dante and between Dark Slayer and Quicksilver with Vergil.

Note: Doppelganger is activated by pressing Change Target + Default Camera together.
StyleSwitcher.Cancel unsigned int 0x1000 When triggered resets the motion state allowing you to cancel a move. The value here is the command id.
StyleSwitcher.ChronoSwords unsigned int 0 Summoned Swords will no longer hurl instantly at the enemy while Quicksilver is active.
StyleSwitcher.NoDoubleTap unsigned int 0 Don't apply Quicksilver when activating the same style twice.
WeaponSwitcher unsigned int 0 The wet dream of many, manifested at long last. The amount of complexity involved with this one is awe-inspiring.
Allows you to switch on the fly between all 10 available weapons.
WeaponSwitcher.Devil unsigned int 0 Which devil form to use.
WeaponSwitcher.Melee
WeaponSwitcher.Ranged
5x unsigned char
5x unsigned char
00,01,02,03,04
05,06,07,08,09
The equipped weapons.

Note: You can order the weapons however you want as long as they are of the same type.
WeaponSwitcher.Sword unsigned int 1 Which sword model to use.
WeaponSwitcher.Timeout float 6 The timeout between each switch where button input is ignored.

INPUT

This section covers all input related settings.

Setting Data type Default value Description
DisableLockOnToggle unsigned int 0 You can actually toggle the Lock-On display ingame by holding Change Target, this option will disable it.

Note: Only affects gamepad users.
Hotkeys
Hotkeys.RestartRoom
Hotkeys.NoDeath
Hotkeys.OneHitKill
Hotkeys.HideHUD
Hotkeys.Bloom
Hotkeys.Noir
unsigned int
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
1
70
71
72
73
74
75
The hotkey's function should be fairly obvious, it activates or toggles something in reference to its name.

The values are Virtual-Key Codes.

If you want to disable a specific hotkey set its value to 00.
Keyboard.L2
Keyboard.R2
Keyboard.L1
Keyboard.R1
Keyboard.Triangle
Keyboard.Circle
Keyboard.Cross
Keyboard.Square
Keyboard.Select
Keyboard.L3
Keyboard.R3
Keyboard.Start
Keyboard.D-Pad.Up
Keyboard.D-Pad.Right
Keyboard.D-Pad.Down
Keyboard.D-Pad.Left
Keyboard.LeftAnalogStick.Up
Keyboard.LeftAnalogStick.Right
Keyboard.LeftAnalogStick.Down
Keyboard.LeftAnalogStick.Left
Keyboard.RightAnalogStick.Up
Keyboard.RightAnalogStick.Right
Keyboard.RightAnalogStick.Down
Keyboard.RightAnalogStick.Left
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
2x unsigned char
51,51
45,45
4E,4E
20,20
49,08
4C,4C
4B,0D
4A,4A
4D,4D
4F,4F
50,50
1B,1B
31,26
34,27
33,28
32,25
57,57
44,44
53,53
41,41
26,00
27,00
28,00
25,00
Same as above. The only additional thing you need to know is that the first row (value before the comma) is active only ingame and the second (value after the comma) is active only in menus.

SOUND

This section covers all sound related settings.

Setting Data type Default value Description
BGM unsigned int
const char
unsigned int
float
float
An array that contains BGM related variables.

The format is id, "path", enableLoop, loopBegin, loopEnd.
You can view loopBegin and loopEnd as when and where to loop back to. Both use seconds.milliseconds as format.
DisableSoundDriver unsigned int 0 This will disable the sound driver entirely, effectively removing all BGM engine related fps drops.
DisableStageSE unsigned int 0 Disables all stage sound effects, getting rid of that pesky, looping water sound effect as well.
DisableSystemSE unsigned int 0 Self-explanatory.
ForceMode0 unsigned int 0 The game has two modes to deal with BGM files. By default mode 1 is used predominantly. For most users however this mode introduces large fps drops when dealing with more than 1 file. These fps drops do not occur when mode 0 is used. So we can alleviate this by forcing mode 0 at all times, which is exactly what this setting does.
Volume.BGM
Volume.SE
unsigned char
unsigned char
100
127
Self-explanatory, ranges from 0 to 100.
Self-explanatory, ranges from 0 to 127.

SYSTEM

This section covers all system related settings.

Setting Data type Default value Description
HideCursor unsigned int 0 Self-explanatory.
InvertCamera unsigned int 0 Inverts the camera's X-axis when using the Right Analog Stick.
Language unsigned int 1 For a list of languages, take a look at Languages.
SkipCutscenes unsigned int 0 Self-explanatory.
SkipIntro unsigned int 0
Subtitles unsigned int 1 For a list of languages, take a look at Languages.
Subtitles.Enable unsigned int 0 Self-explanatory.

Variables

Display modes

Id Mode
0 Windowed
1 Fullscreen

Missions

Id Mission
0 Play all movies
1 A crazy party
2 The blood link
3 The Devils' tower
4 The uninvited one
5 Of devils and swords
6 Family ties
7 A chance meeting
8 A renewed fear
9 Faded memories
10 The job
11 Revenge
12 Hunter and hunted
13 Chaos' warm welcome
14 Drive!
15 The gatecrasher
16 Win or lose
17 Inner-demons
18 Invading hell
19 Forces collide
20 Screaming souls
21 Bloody Palace

Modes

Id Mode
0 Easy
1 Normal
2 Hard
3 Very Hard
4 Dante Must Die

Characters

Id Character
0 Dante
1 Vergil Mission 19
2 Lady
3 Vergil

Styles

Id Style
0 Swordmaster
1 Gunslinger
2 Trickster, Dark Slayer
3 Royalguard
4 Quicksilver
5 Doppelganger

Weapons

Id Weapon
00 Rebellion
01 Cerberus
02 Agni Rudra
03 Nevan
04 Beowulf
05 Ebony Ivory
06 Shotgun
07 Artemis
08 Spiral
09 Kalina Ann
FF Skip Slot

Devil forms

Id Model
0 Rebellion
1 Cerberus
2 Agni Rudra
3 Nevan
4 Beowulf
5 Force Edge

Swords

Id Model
0 Rebellion sealed
1 Rebellion
2 Force Edge

Languages

Id Language
0 Japanese
1 English
2 French
3 German
4 Italian
5 Spanish
6 Korean
7 Simplified Chinese
8 Traditional Chinese
9 Russian
10 Polish

Rooms

Id Room
0 Dante's Office
1 Dante's Office: Front
2 66 Slum Avenue
3 Bullseye
4 Love Planet
5 13th Avenue
6 Ice Guardian's Chamber
7 Love Planet
8 13th Avenue: Aftermath
9 Dante's Office: Front
10 Dante's Office: Front
11 66 Slum Avenue
12 Credits
100 Chamber of Echoes
101 Entranceway
102 Living Statue Room
103 Silence Statuary
104 Chamber of Sins
105 Cursed Skull Chamber
106 Sun & Moon Chamber
107 Ice Guardian's Chamber
108 Entranceway
109 Chamber of Sins
110 Incandescent Space
111 Giantwalker Chamber
112 Endless Infernum
113 Surge of Fortunas
114 Heavenrise Chamber
115 The Divine Library
116 Incandescent Space
117 Endless Infernum
118 Surge of Fortunas
119 High-fly Zone
120 Azure Garden
121 Firestorm Chamber
122 Mute Goddess' Chamber
123 Chamber of 3 Trials
124 Trial of the Warrior
125 Trial of Skill
126 Trial of Wisdom
127 The Dark Corridor
128 God-cube Chamber
129 Tri-sealed Antechamber
130 Trial of the Warrior
131 Trial of Skill
132 Trial of Wisdom
133 The Dark Corridor
134 Pitch-black Void
135 Skull Spire
136 Tranquil Souls Room
137 Lift Room
138 Moonlight Mile
139 Apparition Incarnate
140 Pitch-black Void
141 Skull Spire
142 Peak of Darkness
143 Dark-pact Chamber
144 Peak of Darkness
145 Astral Chamber
146 Waking Sun Chamber
200 Forbidden Land: Front
201 The Rotating Bridge
202 Provisions Storeroom
203 Subterranean Garden
204 Subground Water Vein
205 Rounded Pathway
206 Subterranean Lake
207 Rounded Pathway
208 Provisions Storeroom
209 Limestone Cavern
210 Sunken Opera House
211 Marble Throughway
212 Gears of Madness
213 Altar of Evil Pathway
214 Altar of Evil
215 Debug Room
216 Temperance Wagon
217 Torture Chamber
218 Spiral Corridor
219 Devilsprout Lift
220 Debug Room
221 Subterran Garden
222 Upper Subterran Garden
223 Debug Room
224 Rounded Pathway
225 Subterran Lake
226 Top Subterria Lack
227 Rounded Pathway
228 Underground Arena
229 Effervescence Corridor
230 Spiral Staircase
231 Top Obsidian Path
232 Obsidian Path
233 Vestibule
234 Lair of Judgement
235 Underwater Elevator
236 Hell's Highway
237 Lair of Judgement Ruins
238 Underground Arena
239 Temperance Wagon
240 Temperance Wagon
241 Lux-luminous Corridor
300 Leviathan's Stomach
301 Leviathan's Intestines
302 Leviathan's Heartcore
303 Leviathan's Intestines
304 Leviathan's Intestines
305 Leviathan's Retina
306 Leviathan's Intestines
307 Leviathan's Intestines
308 Leviathan's Stomach
309 Leviathan's Intestines
310 Leviathan's Heartcore (Debug Room)
311 Leviathan's Intestines
312 Leviathan's Intestines
313 Leviathan's Retina
400 Unsacred Hellgate
401 Damned Chess Board
402 Road to Despair
403 Lost Souls Nirvana
404 Infinity Nirvana
405 Nirvana of Illusions
406 Room of Fallen Ones
407 Debug Room
408 End of the Line
409 Forbidden Nirvana
410 No use
411 Unsacred Hellgate
412 Ice Guardian Reborn
413 Giantwalker Reborn
414 Firestorm Reborn
415 Lightning Witch Reborn
416 Lightbeast Reborn
417 Timesteed Reborn
418 Deathvoid Reborn
419 Evil God-beast Reborn
420 Demon Army Reborn
421 Forbidden Nirvana
422 Demon Clown Chamber
423 Bloody Palace
424 Bloody Palace
425 Bloody Palace
426 Bloody Palace
427 Bloody Palace
428 Bloody Palace
429 Bloody Palace
430 Bloody Palace
431 Bloody Palace
432 Bloody Palace
433 Bloody Palace Boss
434 Bloody Palace Boss
435 Bloody Palace Boss
436 Bloody Palace Boss
437 Bloody Palace Boss
438 Bloody Palace Boss
439 Bloody Palace Boss
440 Bloody Palace Boss
441 Bloody Palace Boss
442 Bloody Palace Boss
443 Bloody Palace Boss
444 Bloody Palace Boss
445 Bloody Palace Boss
446 Bloody Palace Boss
447 Bloody Palace Boss
448 Demon Clown Chamber
449 Demon Clown Chamber
600 Secret Mission
601 Secret Mission
602 Secret Mission
603 Secret Mission
604 Secret Mission
605 Secret Mission
606 Secret Mission
607 Secret Mission
608 Secret Mission
609 Secret Mission
610 Secret Mission
611 Secret Mission
900 Debug Room
901 Debug Room
902 Debug Room
903 Debug Room
904 Debug Room
905 Debug Room
906 Debug Room
907 Debug Room
908 Debug Room
909 Debug Room
910 Debug Room

Room names in hex format
0x0000	Dante's Office
0x0001	Dante's Office: Front
0x0002	66 Slum Avenue
0x0003	Bullseye
0x0004	Love Planet
0x0005	13th Avenue
0x0006	Ice Guardian's Chamber
0x0007	Love Planet
0x0008	13th Avenue: Aftermath
0x0009	Dante's Office: Front
0x000a	Dante's Office: Front
0x000b	66 Slum Avenue
0x000c	Credits
0x0064	Chamber of Echoes
0x0065	Entranceway
0x0066	Living Statue Room
0x0067	Silence Statuary
0x0068	Chamber of Sins
0x0069	Cursed Skull Chamber
0x006a	Sun & Moon Chamber
0x006b	Ice Guardian's Chamber
0x006c	Entranceway
0x006d	Chamber of Sins
0x006e	Incandescent Space
0x006f	Giantwalker Chamber
0x0070	Endless Infernum
0x0071	Surge of Fortunas
0x0072	Heavenrise Chamber
0x0073	The Divine Library
0x0074	Incandescent Space
0x0075	Endless Infernum
0x0076	Surge of Fortunas
0x0077	High-fly Zone
0x0078	Azure Garden
0x0079	Firestorm Chamber
0x007a	Mute Goddess' Chamber
0x007b	Chamber of 3 Trials
0x007c	Trial of the Warrior
0x007d	Trial of Skill
0x007e	Trial of Wisdom
0x007f	The Dark Corridor
0x0080	God-cube Chamber
0x0081	Tri-sealed Antechamber
0x0082	Trial of the Warrior
0x0083	Trial of Skill
0x0084	Trial of Wisdom
0x0085	The Dark Corridor
0x0086	Pitch-black Void
0x0087	Skull Spire
0x0088	Tranquil Souls Room
0x0089	Lift Room
0x008a	Moonlight Mile
0x008b	Apparition Incarnate
0x008c	Pitch-black Void
0x008d	Skull Spire
0x008e	Peak of Darkness
0x008f	Dark-pact Chamber
0x0090	Peak of Darkness
0x0091	Astral Chamber
0x0092	Waking Sun Chamber
0x00c8	Forbidden Land: Front
0x00c9	The Rotating Bridge
0x00ca	Provisions Storeroom
0x00cb	Subterranean Garden
0x00cc	Subground Water Vein
0x00cd	Rounded Pathway
0x00ce	Subterranean Lake
0x00cf	Rounded Pathway
0x00d0	Provisions Storeroom
0x00d1	Limestone Cavern
0x00d2	Sunken Opera House
0x00d3	Marble Throughway
0x00d4	Gears of Madness
0x00d5	Altar of Evil Pathway
0x00d6	Altar of Evil
0x00d7	Debug Room
0x00d8	Temperance Wagon
0x00d9	Torture Chamber
0x00da	Spiral Corridor
0x00db	Devilsprout Lift
0x00dc	Debug Room
0x00dd	Subterran Garden
0x00de	Upper Subterran Garden
0x00df	Debug Room
0x00e0	Rounded Pathway
0x00e1	Subterran Lake
0x00e2	Top Subterria Lack
0x00e3	Rounded Pathway
0x00e4	Underground Arena
0x00e5	Effervescence Corridor
0x00e6	Spiral Staircase
0x00e7	Top Obsidian Path
0x00e8	Obsidian Path
0x00e9	Vestibule
0x00ea	Lair of Judgement
0x00eb	Underwater Elevator
0x00ec	Hell's Highway
0x00ed	Lair of Judgement Ruins
0x00ee	Underground Arena
0x00ef	Temperance Wagon
0x00f0	Temperance Wagon
0x00f1	Lux-luminous Corridor
0x012c	Leviathan's Stomach
0x012d	Leviathan's Intestines
0x012e	Leviathan's Heartcore
0x012f	Leviathan's Intestines
0x0130	Leviathan's Intestines
0x0131	Leviathan's Retina
0x0132	Leviathan's Intestines
0x0133	Leviathan's Intestines
0x0134	Leviathan's Stomach
0x0135	Leviathan's Intestines
0x0136	Leviathan's Heartcore (Debug Room)
0x0137	Leviathan's Intestines
0x0138	Leviathan's Intestines
0x0139	Leviathan's Retina
0x0190	Unsacred Hellgate
0x0191	Damned Chess Board
0x0192	Road to Despair
0x0193	Lost Souls Nirvana
0x0194	Infinity Nirvana
0x0195	Nirvana of Illusions
0x0196	Room of Fallen Ones
0x0197	Debug Room
0x0198	End of the Line
0x0199	Forbidden Nirvana
0x019a	No use
0x019b	Unsacred Hellgate
0x019c	Ice Guardian Reborn
0x019d	Giantwalker Reborn
0x019e	Firestorm Reborn
0x019f	Lightning Witch Reborn
0x01a0	Lightbeast Reborn
0x01a1	Timesteed Reborn
0x01a2	Deathvoid Reborn
0x01a3	Evil God-beast Reborn
0x01a4	Demon Army Reborn
0x01a5	Forbidden Nirvana
0x01a6	Demon Clown Chamber
0x01a7	Bloody Palace
0x01a8	Bloody Palace
0x01a9	Bloody Palace
0x01aa	Bloody Palace
0x01ab	Bloody Palace
0x01ac	Bloody Palace
0x01ad	Bloody Palace
0x01ae	Bloody Palace
0x01af	Bloody Palace
0x01b0	Bloody Palace
0x01b1	Bloody Palace Boss
0x01b2	Bloody Palace Boss
0x01b3	Bloody Palace Boss
0x01b4	Bloody Palace Boss
0x01b5	Bloody Palace Boss
0x01b6	Bloody Palace Boss
0x01b7	Bloody Palace Boss
0x01b8	Bloody Palace Boss
0x01b9	Bloody Palace Boss
0x01ba	Bloody Palace Boss
0x01bb	Bloody Palace Boss
0x01bc	Bloody Palace Boss
0x01bd	Bloody Palace Boss
0x01be	Bloody Palace Boss
0x01bf	Bloody Palace Boss
0x01c0	Demon Clown Chamber
0x01c1	Demon Clown Chamber
0x0258	Secret Mission
0x0259	Secret Mission
0x025a	Secret Mission
0x025b	Secret Mission
0x025c	Secret Mission
0x025d	Secret Mission
0x025e	Secret Mission
0x025f	Secret Mission
0x0260	Secret Mission
0x0261	Secret Mission
0x0262	Secret Mission
0x0263	Secret Mission
0x0384	Debug Room
0x0385	Debug Room
0x0386	Debug Room
0x0387	Debug Room
0x0388	Debug Room
0x0389	Debug Room
0x038a	Debug Room
0x038b	Debug Room
0x038c	Debug Room
0x038d	Debug Room
0x038e	Debug Room

Moves

Dante

Id Move
00 Idle

Rebellion

01 Combo I Part 1
02 Combo I Part 2
03 Combo I Part 3
04 Combo II Part 1
05 Combo II Part 2
06 Helm Breaker
07 Stinger Lv 1
08 Stinger Lv 2
09 Leap
0A High Time Part 1
0B High Time Part 2
0C Kick
0D Drive
0E Million Stab
0F Sword Pierce Throw
10 Prop Shredder Part 1
11 Killer Bee
12 Kick
13 Aerial Rave Part 1
14 Aerial Rave Part 2
15 Aerial Rave Part 3
16 Aerial Rave Part 4
17 Sword Pierce Return
18 Prop Shredder Part 2
19 Drive
C8 Dance Macabre Part 1
C9 Dance Macabre Part 2
CA Dance Macabre Part 3
CB Dance Macabre Part 4
CC Dance Macabre Part 5
CD Dance Macabre Part 6
CE Dance Macabre Part 7
CF Dance Macabre Part 8
D0 Dance Macabre Part 9

Cerberus

1E Combo I Part 1
1F Combo I Part 2
20 Combo I Part 3
21 Combo I Part 4
22 Combo I Part 5
23 Combo II Part 1
24 Combo II Part 2
25 Windmill
26 Revolver Lv 1
27 Revolver Lv 2
28 Swing
29 Satellite
2A Flicker
2B Flicker
2C Crystal
2D Million Carats
2E Ice Age

Agni Rudra

32 Combo I Part 1
33 Combo I Part 2
34 Combo I Part 3
35 Combo I Part 4
36 Combo I Part 5
37 Combo II Part 1
38 Combo II Part 2
39 Combo III Part 1
3A Jet-Stream Lv 1
3B Jet-Stream Lv 2
3C Jet-Stream Lv 3
3D Aerial Cross
3E Whirlwind Lv 1
3F Whirlwind Lv 2
40 Million Slash
41 Crossed Swords
42 Crawler
43 Twister
44 Sky Dance Part 1
45 Sky Dance Part 2
46 Sky Dance Part 3
47 Tempest

Nevan

50 Tune-up Part 1
51 Combo I - III
52 Combo I - III
53 Jam Session
54 Bat Rift
55 Bat Rift
56 Reverb Shock Lv 1
57 Reverb Shock Lv 2
58 Air Play
59 Slash
5A Air Slash Part 1
5B Air Slash Part 2
5C Feedback
5D Crazy Roll
5E Distortion
5F Vortex
60 Thunder Bolt
63 Tune-up Part 2

Beowulf

6E Combo I Part 1
6F Combo I Part 2
70 Combo I Part 3
71 Combo II Part 1
72 Combo II Part 2
73 Hyper Fist
74 Killer Bee
75 Beast Uppercut
76 Beast Uppercut
77 Rising Dragon Part 1
78 Rising Dragon Part 2
79 Straight Lv 1
7A Straight Lv 2
7B Zodiac
7C Volcano
7D Air Volcano
7E Tornado
7F The Hammer
80 Real Impact

Ebony Ivory

82 Normal Shot
83 Charged Shot
84 Air Normal Shot
85 Air Charged Shot
86 Twosome Time
87 Rain Storm
88 Wild Stomp

Shotgun

8C Normal Shot
8D Charged Shot
8E Air Normal Shot
8F Air Charged Shot
90 Fireworks
91 Air Fireworks
92 Gun Stinger
93 Point Blank

Artemis

96 Normal Shot
97 Air Normal Shot
98 Multi-lock
99 Air Multi-lock
9A Sphere
9B Acid Rain

Spiral

A0 Normal Shot
A1 Sniper
A2 Trick Shot

Kalina Ann

AA Normal Shot
AB Hysteric
AC Grapple

Trickster

B4 Dash
B5 Sky Star
B6 Air Trick
B7 Wall Hike

Royalguard

BE Release
BF Perfect Release
C0 Counter Perfect Release
C1 Counter Release
C2 Air Release
C3 Air Perfect Release
C4 Air Counter Perfect Release
C5 Air Counter Release

Vergil

Id Move
00 Idle

Yamato

01 Combo Part 1
02 Combo Part 2
03 Combo Part 3
04 Rapid Slash Lv 1
05 Rapid Slash Lv 2
06 Leap
07 Upper Slash Part 1
08 Upper Slash Part 2
09 Judgement Cut Lv 1
0A Judgement Cut Lv 2
0B Aerial Rave Part 1
0C Aerial Rave Part 2

Beowulf

14 Combo Part 1
15 Combo Part 2
16 Combo Part 3
17 Starfall Lv 1
18 Starfall Lv 2
19 Rising Sun
1A Lunar Phase Lv 1
1B Lunar Phase Lv 2

Force Edge

1E Combo Part 1
1F Combo Part 2
20 Combo Part 3
21 Combo Part 4
22 Helm Breaker Lv 1
23 Helm Breaker Lv 2
24 High Time Part 1
25 High Time Part 2
26 Stinger Lv 1
27 Stinger Lv 2
28 Round Trip
29 Kick

Dark Slayer

3C Air Trick
3D Trick Up
3E Trick Down

Nero Angelo Yamato

46 Combo Part 1
47 Combo Part 2
48 Combo Part 3
49 Helm Breaker
4A High Time Part 1
4B High Time Part 2
4C Stinger
4D Meteor

Nero Angelo Beowulf

5A Combo Part 1
5B Combo Part 2
5C Combo Part 3
5D Starfall
5E Kick 13
5F Magma Drive
60 Meteor

Commands

Id Command
0001 Change Gun
0002 Change Devil Arms
0004 Devil Trigger
0008 Lock-On
0010 Melee Attack
0020 Style Action
0040 Jump
0080 Shoot
0100 Taunt
0200 Change Target
0400 Default Camera
1000 Item Screen
2000 Map Screen
4000 Equip Screen
8000 File Screen

Tilt

Id Direction
00 Up
01 Down
02 Left
03 Right
FF Stationary

Tutorials

Script Engine
Examples

Air Lunar Phase

In this example we are going to replace Starfall with Lunar Phase if certain conditions are met.

Let's have a look at the entire code first.

[ENABLE]
define(GetBinding,0)
define(GetInput,6)
define(GetTilt,C)
define(GetCharacterIndex,12)
define(GetDevilState,18)
define(GetDoppelgangerState,1E)
define(GetQuicksilverState,24)

40:
push eax
push edi

cmp cl,18
jne short sect0

call GetCharacterIndex

cmp al,03
jne short sect0

push 08
call GetBinding

mov edi,eax

call GetInput

and eax,edi

cmp eax,edi
jne short sect0

call GetTilt

cmp al,00
jne short sect0

mov cl,1B

sect0:
pop edi
pop eax

mov [esi+00002914],cl
ret

[DISABLE]


Take a closer look at the first two instructions.

push eax
push edi


Assembly uses something called registers to store information and I designed all functions to store each result in the eax register.
Now, in order to prevent game crashes or undefined behaviour you have to save the current state of a register first.
This can be done with push.
This example also makes use of the edi register so we're going to push both eax and edi.
Using it at the beginning like this allows you to avoid constant use of push and pop before and after each call.
Talking about pop, to restore both registers to their former glory you would use just that, pop edi and pop eax. We'll get to that later.

cmp cl,18
jne short sect0


This piece of code checks the move identifier. It is pretty straight forward and translated to English it would be something like: 'If the move to be executed is not Starfall jump to some other section, otherwise proceed.'

call GetCharacterIndex

cmp al,03
jne short sect0


This checks if we're using Vergil. Same as above: Change section if false, continue if true.
GetCharacterIndex returns the character id.

push 08
call GetBinding

mov edi,eax

call GetInput

and eax,edi

cmp eax,edi
jne short sect0


Here we check if you press or hold Lock-On.
The code is actually a bit more complex, literally - it involves bit calculation.
But don't worry, the usage is the same: Change section if the condition is not met, otherwise continue.
Just stick to this template and you'll be fine.
GetBinding requires a command id as argument, 08 in this case for Lock-On.

call GetTilt

cmp al,00
jne short sect0


You know the drill.

GetTilt returns the left analog stick's tilt relative to the direction your character is currently facing.

mov cl,1B


If all the previous conditions are met (move is Starfall, character is Vergil, Lock-On down and tilt up) replace the move with Lunar Phase. This is done with mov cl,1B.

sect0:
pop edi
pop eax

mov [esi+00002914],cl
ret


Finally the newly added section and the modified default code.
Note the pop edi and pop eax. Like I said this is required to restore the state of the registers before the push.
The order is important, always pop the last pushed register first.

After you're done editing the script click on Execute to write it to the file.

Additional Notes

You can create a new section by adding a colon after a unique identifier.
All changes you commit in the memory viewer are saved directly to the file.

Cancellable Helm Breaker

This example will show you how to make a specific move cancellable by modifying its motion state.

Let's have a look at the entire code first.

[ENABLE]
define(GetBinding,0)
define(GetInput,6)
define(GetTilt,C)
define(GetCharacterIndex,12)
define(GetDevilState,18)
define(GetDoppelgangerState,1E)
define(GetQuicksilverState,24)

40:
push eax

mov al,[esi+00002914]

cmp al,06
jne short sect0

call GetCharacterIndex

cmp al,00
jne short sect0

and edx,FF00FFFF

sect0:
pop eax

mov [ecx+000027E0],edx
ret

[DISABLE]


On to the first part!

push eax


Save the register.

mov al,[esi+00002914]

cmp al,06
jne short sect0


Get the current move id and compare it against Helm Breaker's move id.
Change section if it doesn't match, continue if it does. Same old, same old.

call GetCharacterIndex

cmp al,00
jne short sect0


Check if we're using Dante.

and edx,FF00FFFF


Apply the new mask. This sets the motion state to 00 allowing you to cancel a move.

sect0:
pop eax

mov [ecx+000027E0],edx
ret


The new section and the modified default code.

Add missing BGM files

The port is missing a few BGM files, let's fix that!

Requirements

Devil May Cry 3 Special Edition PS2 disc or image
AFS Explorer
ADXUtil
aoTuV

Process
Congratulations! The game now has access to all BGM files.
The only thing to note here is that they are not as loud as the previous files so you might wanna set Volume.SE to 64 to balance this.