Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 35

We should count like this (HEX): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F,

reading: f1 01 00 00 ----> SHADE PART IS LAST PART


GH EF CD AB

FINDING CODES:
_L 0xE01D00AA 0x004078B4 - ID NUMBER
_L 0xE00201D2 0x00407A18 - 08C07A18 - 1ST MOVE
_L 0xE01DKKKK 0x00407D1C - 08C07A18 - 1ST MOVE - 4EFGH
_L 0xE001GGGG 0x0040864C - 8C08348 - P2 HIT REACTION ( GROUD AND AIR )
_L 0x20407D24 0xLLLLLLLL - 8C07964 - FOR CHANGING / ADDING MOVE ( VER PAUL / VER
ALISA ) ( VER ALISA = VER PAUL+ABC00 )

_L 0xE00D1110 0x00407980 - confirming the added move ( reversing code: XXX ) -->
ALSO PLACE AFTER LINES OF MAKING k!
_L 0xE01D0Z00 0x00407D3C - 8C07D3C - ASSIGNING BUTTONS
_L 0xE01D0Z0Z 0x00407D3C - 8C07D3C - SAME CONSECUTIVE BUTTONS, EXAMPLE: D+2,2
_L 0xE01D0QQQ 0x00407D30 - 8C07D30 - ASSIGNING DIRECTIONS

_L 0x20407980 0x00001110 - registering move empty address ( LEFT: 0407980, 0407984,


040798C )
- must place after D3C ( assigning buttons ) - MUST 1XXX - XXX =
FIRST MOVE!!
- never take it out if you have 2 or more moves.
_L 0x00000000 0x00000000 - reset: commonly use after addmove and change ( even in
looping in the addmove )

1 = 1
2 = 2
3 = 4
4 = 8
B = 10
D/B = 02
D = 04
D/F = 08
F = 40
U/B = 80
U = 100
U/F = 200

ID NUMBER:

19 = BAEK
08 = CHRISTIE
1C = FENG
0B = KUMA
0F = LEE
02 = LEI
05 = NINA
11 = MARDUK
00 = PAUL
1B = RAVEN
0E = KAZUYA
28 = LARS
29 = ALISA
09 = JIN
1F = DRAGUNOV
1D = ARMOR KING
03 = KING
0A = JULIA
14 = ANNA
01 = LAW
16 = GANRYU
13 = ROGER
1D = MOKUJIN
12 = JACK-6
0C = BRYAN
21 = EDDY
07 = XIAOYU
1A = DEVIL JIN
17 = ASUKA
22 = BOB
25 = LEO
24 = MIGUEL
23 = ZAFINA
1E = LILI
06 = HWOARANG
0D = HEIHACHI
10 = STEVE
18 = BRUCE
15 = WANG
04 = YOSHIMITSU

1.) WIDEN HITBOX


_L 0xE01D0022 0x004078B4 - ID
_L 0xE00201D2 0x00407A18 - 08C07A18
_L 0x204083D8 0x00F80000 - CONSTANT

2.) MAKING K! ( KIRIMOMI / TAILSPIN )


_L 0xE01D0022 0x004078B4 - ID
_L 0xE11D0041 0x0061F09C - CONSTANT
_L 0xE00301D2 0x00407A18 - 1P MOVE - 08C07A18
_L 0xE002801C 0x0040864C - REACT 2P - 8C08348
_L 0x20408654 0x08E43C38 - SPIN OR _L 0x20408654 0x08E43BE0
_L 0x20408658 0x08E40F78 - CONSTANT //sometimes not use.
_L 0xE00D1110 0x00407980 - confirming the added move ( reversing code: XXX ) -->
ALSO PLACE AFTER LINES OF MAKING k!

3.) CHANGE HIT RANK:


_C0 Sample Code 1
_L 0xE01DRRRR 0x004078B4
_L 0xE01DNNNN 0x00407A18
_L 0x20407A08 0x00000MMM

Instead of MMM write


512 - if you want high rank
217 - if you want middle rank
10F - if you want low rank
41F - if you want special middle rank
707 - if you want unblockable rank

4.) CHANGE MOVE

_C0 Sample Code 2


_L 0xE01DRRRR 0x004078B4 - ID NUMBER
_L 0xE01DKKKK 0x00407D1C - 4EFGH - 08C07A18
_L 0xE001086A 0x004078E2 - CONSTANT
_L 0x20407D24 0xLLLLLLLL - ABCDEFGH - 8C07964
_L 0xE0010875 0x004078E2 - CONSTANT
_L 0x20407D24 0xJJJJJJJJ - ABCDEFGH - 8C07964 ( ALISA )
_L 0x00000000 0x00000000 - CONSTANT

BEST EXAMPLE: EWGF DEVIL JIN ( D/F+2 )


1) ENEMY PAUL
2) Now goto "Changes finder" and input 00407D1C. Do the move which you want to
replace, for example d/f+2.
The four digits in the middle part of the line are your KKKK.
3) Now goto "Changes finder", input 00407D24 and press Square button one time more
to set 32bit.
4) Do the move which you want see as new move (which will instead of d/f+2), for
example f,n,d,d/f+2.
The eight digits that you see in the middle part of the line are your LLLLLLLL.
5) Now goto the "Select characters screen" and select your character
7)versus Alisa (it's important).
8) Do your new move again (f,n,d,d/f+2). What you see now in the middle part of the
line is your JJJJJJJJ.
That's all.

5.) ADD MOVE

_C0 Sample Code 3


_L 0xE01DRRRR 0x004078B4 = ID NUMBER
_L 0xE01DKKKK 0x00407A18 = 1P MOVE - 08C07A18
_L 0xE00D1110 0x00407980 - confirming the added move ( reversing code: XXX ) -->
ALSO PLACE AFTER LINES OF MAKING k!
_L 0xE01D00VV 0x20407940 = ( 2ND MOTION, I USE 14 )
_L 0xE01D0U00 0x00407D3C = button setting: 1=1; 2=2; 4=3; 8=4;
_L 0x20407980 0x00001110 - registering move empty address ( LEFT: 0407980, 0407984,
040798C )
- must place after D3C ( assigning buttons ) - MUST 1XXX - XXX =
FIRST MOVE!!!
- never take it out if you have 2 or more moves.
_L 0x20407D10 0x000000WW = ( 1ST MOTION, I USE 15 )
_L 0xE001086A 0x004078E2 = CONSTANT
_L 0x20407D24 0xLLLLLLLL = ABCDEFGH - 8C07964
_L 0xE0010875 0x004078E2 = CONSTANT
_L 0x20407D24 0xJJJJJJJJ = ABCDEFGH - 8C07964 ( ALISA )
- adding moves by Paul makes ( ALISA ) 0x00000000
_L 0x00000000 0x00000000 = constant

You need set your own value instead of RRRR, KKKK, VV, U, WW, LLLLLLLL and
JJJJJJJJ.
To know these values:
3) versus Paul (it's important)
When the Practice will load, look at the line in the buttom of the screen. The four
digits in the end of the line are your RRRR.
4) Now goto "Changes finder" and input 00407A18. Do the move which you want add a
new move to, for example u/b+2.
The four digits in the end (!) of the line are your KKKK.

5) Now let's design a button type for the adding move, for example 3 (Cross), so in
result we'll have u/b+2,3.
Goto the "Changes finder" and input 00407D3C. Return to the game and hold the
button(s) that you want.
The digit that you predominantly see in the right part of the line is your U.
(for example, if you hold Cross button you see 4.)

6) Instead of VV/WW you need set an exact time when your adding move should begin.
Would be good if you know a frame data, at least approximately. But anyway you'll
have to experiment.
Try to set 10 and look at result. If it'll too fast or you don't like it then
change it to 18 or 25 or 1C and look at result.
Feel free to set your own value. (for example for u/b+2 better set values no less
0F, because the hit moment is on 0E'th frame)

7) Now goto "Changes finder", input 00407D24 and press Square button one time more
to set 32bit.
8) Do the move which you want to add (for example f,f,f+3).
The eight digits that you see in the middle part of the line are your LLLLLLLL.
9) Now goto the "Select characters screen" and select your character versus Alisa
(it's important).
10) Do your adding move again (f,f,f+3). What you see now in the middle part of the
line is your JJJJJJJJ.
That's all.

6.) CHANGE MOVE REACTION

(NOTE: PSP method of making the code may be slightly different.


I cannot make a PSP version now because I don't have one at the moment)

Sample problem: change Kazuya f+4 reaction into ff+3 reaction

_C0 KAZ f+4 (ff+3 reaction)


First, choose Kazuya and pick Paul (required!) as P2 in practice
_L 0xE01D08C0 0x204078E2 - condition constant (do not change constants!)
_L 0xE01D000E 0x004078B4 - id number of kazuya (0E) see ID NUMBER list

Press ctrl+m and search for 08C07A18. Then perform the move you want the reaction
to change (f+4 in this case)
After performing the move, pause. You will see 1A highlighted,
and on the right is 02. Write this as 021A as seen below:
_L 0xE01D021A 0x00407A18 - move: f+4 that we want to change
_L 0xE002086A 0x004078E2 - ver paul constant (do not change)

Now, ctrl+m again (unless it's open already) and type 8C07964.
Perform the move from which we want the reaction to be copied (in this case, ff+3).
You will see a highlighted value, and 3 more values on the right.
Like this: GH EF CD AB. Write it as ABCDEFGH. Then open calculator, change it to
programmer mode and click hex. Add the value you got with 20.
After adding, ctrl+m again and type the resulting value.
A value will be highlighted. Write the value along with 3 values on the right
in the similar manner (GH EF CD AB -> ABCDEFGH).
086B3968 = ABCDEFGH
_L 0x60407964 0x086B3968 - we copy the animation of f,f+3. 8C07964: R+8: 86B3968
_L 0x00020001 0x00000020 - constant

NOTE: for making the code in the PSP version, it is required to choose Alisa as
P2 for this part. In the ppsspp version, we don't need to do it anymore since
We have a constant provided already shown below, and we only need to add the value
of our move's reaction with ABC00 instead of having to perform the move on Alisa
and check for the value.
_L 0xE0020875 0x004078E2 - ver alisa constant

Add your ABCDEFGH with ABC00.


_L 0x60407964 0x0875F568 - 86B3968+ABC00= 0875F568
_L 0x00020001 0x00000020 - constant

Result:
_C0 KAZ f+4 (ff+3 reaction)
_L 0xE01D08C0 0x204078E2
_L 0xE01D000E 0x004078B4
_L 0xE01D021A 0x00407A18
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B3968
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x0875F568
_L 0x00020001 0x00000020

Another code made with the same steps. Try to analyze it.
_C0 LIL f+4 (TR/T7 reaction)
_L 0xE01D08C0 0x204078E2
_L 0xE01D001E 0x004078B4
_L 0xE01D01F0 0x00407A18
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B4870
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x08760470
_L 0x00020001 0x00000020

=============================================
To make a move you need to know how it looks
In Tk6 a move takes 88 bytes (in DEC), it's 176 digits, it's the same for all
characters
Usually moves are located in "minus" area (in PSP), except Mokujin-ken, but it's
not important if you can make a custom one
I explain the most important lines there, for example

0x00000000 0x08B98190 - (technical pointer, is always the same)


0x00000004 0x08B98190 - (technical pointer, is always the same)
0x00000008 0x09682980 - pointer to animation
0x0000000C 0x00000842 - inner body position (842 means body stands)
0x00000010 0x00000217 - hit rank (middle)
0x00000014 0x08781FC4 - pointer to recovery/strings (different vs Paul and vs
Alisa)
0x00000018 0x00008001 - visually this move will connect to 8001 stance in the end
0x0000001C 0x00XX0YYY
0x00000020 0x08765EAC - pointer to reactions/damage (diff vs Paul / vs Alisa)
0x00000024 0x0000003A - length of move (58 frames)
0x00000028 0x00000000 - ground break (not necessary)
0x0000002C 0x00000000 - moment of ground fall (not necessary)
0x00000030 0x00000000 - length of smoothig the animation before ground fall (not
necessary)
0x00000034 0x00000000 - pointer to hit sound (not necessary)
0x00000038 0x00000000 - pointer to audio/visual effects (not necessary)
0x0000003C 0x00000000
0x00000040 0x00000000
0x00000044 0x08000000 - another properties of body
0x00000048 0x00000010 - hit limb (10 means right foot)
0x0000004C 0x00000012 - the frame when the move hits "from"
0x00000050 0x00000014 - the frame when the move hits "to"
0x00000054 0x00000000 - extra properties, like movement of body in the air (rare
using), or head targeting on opponent

So, all these values together are one move


When i say move i also mean a throw, a reaction, an intro, a win pose, etc. They
all are moves

================================
change the reaction animations

_L 0xE01D00XX 0x004078B4
_L 0xE0070XXX 0x00407A18 - P1 ordinal move number (08C07A18)
_L 0xE0060XXX 0x0040864C - P2 ordinal move number (08C08348)
_L 0xE002086A 0x004078E2
_L 0x20408654 0xXXXXXXXX - P2 move pointer (08C08294)
_L 0x20408658 0xXXXXXXXX - distance of blowback (08C08658)
_L 0xE0020875 0x004078E2
_L 0x20408654 0xXXXXXXXX
_L 0x20408658 0xXXXXXXXX

There are two addresses which show ordinal move numbers for one character
Values on them are the SAME!
The first one for P1 is 0407A18, it shows values during all move time
The second one for P1 is 0407D1C, it shows values very very fast, from the moment
when you press buttons to the first frame when this move starts, it works the same
like 0407D24, it's why you better use them together in a code (0407D1C and
0407D24). Of course you can use 0407A18 and 0407D24 also, but in this case you need
add 0407D10 (it sets the time when move must begin). If you do it without 0407D10
your move (on 0407D24) will start only when current move (on 0407A18) will ended.

Distance between P1 and P2 is 930


So you can easily find all P2 addresses just by counting
0407A18 + 930 = 0408348
0407D1C + 930 = 040864C
0407D24 + 930 = 0408654

===================================================================================
======================================
0xE00?0217 0x00407A18 - it's the first thing that you should ask when you started
learn coding stuff, because it's basics
As you know this line is a condition, and this ? means how many next lines will
work if this condition is "true"
For example
0xE0010217 0x00407A18
0xXXXXXXXX 0xXXXXXXXX
Or
0xE0020217 0x00407A18
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX
Or
0xE0050217 0x00407A18
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX

You can combine them like this:


0xE0020217 0x00407A18
0xE0010512 0x00408348
0xXXXXXXXX 0xXXXXXXXX

But don't use the same address two times:


0xE01D0217 0x00407A18
0xXXXXXXXX 0xXXXXXXXX
0xXXXXXXXX 0xXXXXXXXX
0xE0010512 0x00407A18
0xXXXXXXXX 0xXXXXXXXX
It makes no sense!

I often write "1D" because it's the max amount of lines in one cheat code.
But i do it only if i sure that this condition must work for all code lines and it
will not conflict with other conditions

What about zero moves


We use 0407A18 to set a condition of an ordinal move number
It's like a move identificator to recognize it but if this ID doesn't work then
just use another features, for example 0407964 (use pointer as a condition)
But firstly you should know the difference between 8bit 16bit and 32bit addresses,
because it's basics too.
32bit addresses ends with 0, 4, 8 or C
16bit addresses ends with 0, 2, 4, 6, 8, A, C or E
8bit addresses ends with any digit
Another important thing is the digit that you use in beginning of a line, it
regulates how many digits in the value will work
0x2 means all eight digits will work
0x1 means four digits will work
0x0 means two digits will work

!You can use 0x2 only for 32bit addresses!


!You can use 0x1 only with 32bit and 16bit addresses!

For example 0407A18 is 32bit address, so if you write:


0x20407A18 0x12345678 - you write to memory "12345678"
0x10407A18 0x12345678 - you write to memory only "5678", the rest part will be
ignored
0x00407A18 0x12345678 - you write to memory only "78", all the rest will be ignored

You can write one 32bit address as two 16bit addresses


0x10407A18 0x00005678
0x10407A1A 0x00001234
Or you can write it as four 8bit addresses
0x00407A18 0x00000078
0x00407A19 0x00000056
0x00407A1A 0x00000034
0x00407A1B 0x00000012

And the same thing for conditions, 0xE0 means 16bit condition, 0xE1 means 8bit
condition
0xE00X5678 0x00407A18
0xE00X1234 0x00407A1A
Or
0xE10X0078 0x00407A18
0xE10X0056 0x00407A19
0xE10X0034 0x00407A1A
0xE10X0012 0x00407A1B

@hepta_X_27
Way1:
Just use values for 0889014 from another move (for example b+2,1)
Way2:
Set a move remover like this
0xE00201E2 0x00407A18 - if f+4 is going
0xE00101EF 0x00407D1C - if CH throw starts
0x20407D24 0x00000000 - then "no move"
But please don't write 0xE00X01E2 0x00407A18 twice.
You need to learn how to save lines in a code, how to make it as short as it
possible

===================================================================================
==
Ok, editing an animation, it's pretty easy thing, i waited you to try do it
yourself
In #308 post i told you the animation pointer is on 0407964=>8
Choose Jin and do 1,2,4 (don't know why there's 1,2,3 i did it for 1,2,4)
You see the value on 0407964=>8 is 09663828
It's the pointer to animation data (or as i like to say "mocap" data)
You can change some basic positions of an animation
There are two kinds of addresses 16bit and 32bit
16bit addresses are like a radio handle, you can turn it freely on 360 degrees,
from 0000 to FFFF
32bit addresses are very sensitive,
write values from ~3C000000 to ~42000000 for set to one side, and from ~BC000000 to
~C2000000 for set to another side
Here's the list of the most useful addresses

The first addresses are 32bit


0407964=>8=>38 - strength of movement forward and back
0407964=>8=>3C - strength of jump
0407964=>8=>44 - offset to left and to right
0407964=>8=>4C - offset forward and back
0407964=>8=>50 - strength of movement to left and to right
0407964=>8=>54 - height of body
Then all addresses are 16bit
0407964=>8=>68 - upper body, axis 1
0407964=>8=>6A - upper body, axis 2
0407964=>8=>6C - upper body, axis 3
0407964=>8=>6E - lower body, axis 1
0407964=>8=>70 - lower body, axis 2
0407964=>8=>72 - lower body, axis 3
0407964=>8=>80 - neck, axis 1
0407964=>8=>82 - neck, axis 2
0407964=>8=>84 - neck, axis 3
0407964=>8=>86 - head, axis 1
0407964=>8=>88 - head, axis 2
0407964=>8=>8A - head, axis 3
0407964=>8=>8C - right shoulder, inner, axis 1
0407964=>8=>8E - right shoulder, inner, axis 2
0407964=>8=>90 - right shoulder, inner, axis 3
0407964=>8=>92 - right shoulder, outer, axis 1
0407964=>8=>94 - right shoulder, outer, axis 2
0407964=>8=>96 - right shoulder, outer, axis 3
0407964=>8=>98 - right elbow, axis 1
0407964=>8=>9A - right elbow, axis 2
0407964=>8=>9C - right elbow, axis 3
0407964=>8=>9E - right wrist, axis 1
0407964=>8=>A0 - right wrist, axis 2
0407964=>8=>A2 - right wrist, axis 3
0407964=>8=>A4 - left shoulder, inner, axis 1
0407964=>8=>A6 - left shoulder, inner, axis 2
0407964=>8=>A8 - left shoulder, inner, axis 3
0407964=>8=>AA - left shoulder, outer, axis 1
0407964=>8=>AC - left shoulder, outer, axis 2
0407964=>8=>AE - left shoulder, outer, axis 3
0407964=>8=>B0 - left elbow, axis 1
0407964=>8=>B2 - left elbow, axis 2
0407964=>8=>B4 - left elbow, axis 3
0407964=>8=>B6 - left wrist, axis 1
0407964=>8=>B8 - left wrist, axis 2
0407964=>8=>BA - left wrist, axis 3
0407964=>8=>BC - right hip, axis 1
0407964=>8=>BE - right hip, axis 2
0407964=>8=>C0 - right hip, axis 3
0407964=>8=>C2 - right knee, axis 1
0407964=>8=>C4 - right knee, axis 2
0407964=>8=>C6 - right knee, axis 3
0407964=>8=>C8 - right foot, axis 1
0407964=>8=>CA - right foot, axid 2
0407964=>8=>CC - right foot, axis 3
0407964=>8=>CE - left hip, axis 1
0407964=>8=>D0 - left hip, axis 2
0407964=>8=>D2 - left hip, axis 3
0407964=>8=>D4 - left knee, axis 1
0407964=>8=>D6 - left knee, axis 2
0407964=>8=>D8 - left knee, axis 3
0407964=>8=>DA - left foot, axis 1
0407964=>8=>DC - left foot, axis 2
0407964=>8=>DE - left foot, axis 3

After these addresses vectors of animation are going on, we cannot edit them
manually
Also there's another type of mocap data, which uses basically for default stances,
we will talk about it later
You can see effect of changes on neck and head addresses only if you use a move
with disabled head tracking
===================================================================================
=========================================
COPYING MOVES FROM ANOTHER CHARACTER +
COPYING HIT REACTIONS FROM ANOTHER CHARACTER using P0 REACTION (P0R)

by Lester Paul ( HOGAN ), SADAMITSU, Dan Paul Culata ( PPSSPPcoder )


PPSSPP PC version - Analyzed by Dan Paul Culata ( PPSSPPcoder )

2 PROBLEMS ENCOUNTER:
1. CHANGING A MOVE TO A NEW MOVE (COPIED MOVED)
2. ADDING A NEW MOVE FROM AN EXISTING MOVE (COPIED MOVED) - P0 MOVE PROPERTY.
3. COPYING HIT REACTIONS USING P0R (NOT EXISTING REACTION)

1. PROBLEM#1: JIN d/b+2,3. 3 WAS EXCHANGED TO D+3 HEIHACHI


2. SOLUTION:

*** STEP1: choose HEIHACHI in Practice Mode


_C0 JIN d/b+2,3 (hei) Tekken 7
_L 0xE01D08C0 0x204078E2 -- condition
_L 0xE002000D 0x004078B4 -- id number: HEIHACHI ( we want to copy ) 08c08294
_L 0x5(0EEA280) 0x00001F00 -- : 08701DA0 = R
R+8: value must subtract to 8800000
_L 0x00886000 0x00000000 -- EMPTY ADDRESS: from 0884000 to 08A4000z

*** STEP3: choose JIN in Practice Mode


_L 0xE01D0009 0x004078B4 -- id number: JIN ( our experiment )
_L 0xE0010064 0x00886000 -- CONSTANT 0x00886000 from 4THLINE
_L 0xE01D026F 0x00407A18 -- 08C07A18
_L 0x60407964 0x0(9086000) -- 8800000+886000 (thats from 2NDLINE) = 9086000

*** STEP2: (CONTINUATION OF STEP1) choose HEIHACHI in Practice Mode


_L 0x00020001 0x00000008 -- name for R+8
_L 0x60407964 0x00000045 -- R+24: 45
_L 0x00020001 0x00000024 -- name for R+24
_L 0x60407964 0x00000016 -- R+4C: 16
_L 0x00020001 0x0000004C -- name for R+4C
_L 0x60407964 0x00000017 -- R+50: 17
_L 0x00020001 0x00000050 -- name for R+50

*** STEP4: (CONTINUATION OF STEP3) choose JIN in Practice Mode.NOW WE GO TO


COPYING REACTION: JIN D/F+4 (8C07964: 08707C7C = R2)

_L 0xE002086A 0x004078E2 -- CONSTANT ( VER PAUL )


_L 0x60407964 0x(086B5D90) -- R2+20: 086B5D90
_L 0x00020001 0x00000020 -- name for R2+20
_L 0xE0020875 0x004078E2 -- CONSTANT ( VER ALISA or +ABC00 )
_L 0x60407964 0x08761990 -- 086B5D90+ABC00 = 08761990
_L 0x00020001 0x00000020 -- name for R2+20 confirmation

RESULT:

_C0 JIN d/b+2,3 (hei) Tekken 7


_L 0xE01D08C0 0x204078E2
_L 0xE002000D 0x004078B4
_L 0x50EEA280 0x00001F00
_L 0x00886000 0x00000000
_L 0xE01D0009 0x004078B4
_L 0xE0010064 0x00886000
_L 0xE01D026F 0x00407A18
_L 0x60407964 0x09086000
_L 0x00020001 0x00000008
_L 0x60407964 0x00000045
_L 0x00020001 0x00000024
_L 0x60407964 0x00000016
_L 0x00020001 0x0000004C
_L 0x60407964 0x00000017
_L 0x00020001 0x00000050
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B5D90
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x08761990
_L 0x00020001 0x00000020

1. PROBLEM#2: LEO GIVING HIS B+2,(1+2) TO HEIHACHI.. HEIHACHI CREATES THE MOVE AS
D/F+3,1.
1 IS NEVER EXIST ANY MOVE.

2.SOLUTION:

****STEP 1: CHOOSE LEO IN PRACTICE MODE. PERFORME B+2,1+2


_C0 HEI D/F+3,1 (P1 leo)
_L 0xE01D08C0 0x204078E2 - condition
_L 0xE0020025 0x004078B4 - Leo's ID number
_L 0x5(0EE3480) 0x00001F00 - 8C07964: R+8: value must subtract to 8800000
_L 0x00887000 0x00000000 - EMPTY ADDRESS: from 0884000 to 08A4000

_L 0xE01D000D 0x004078B4 - heihachi's ID number


_L 0xE0010064 0x00887000 - CONSTANT 0x00887000 from 4THLINE
_L 0x50(643870) 0x00000058 - THIS IS ZERO MOVE. I dont know how to get this
exactly.. but mathematically i can:
Let 643870 be the 1st P0move(PM). If you want to get another
value just add 58.
PM+58 .If there's an error while testing the move in
practice, that's the case that
you accidentally used an EXISTINGMOVE(EM). To avoid EM, PM-
58.
THEREFORE: NEW PM = PM+58... 0R PM-58
_L 0x00888F00 0x00000000 - ADD: 887000 (4THLINE) + 1F00 = NEWEST MOVE(NM). NM is
just like R.
_L 0x00888F08 0x(09087000) - NM+8 887000+8800000
BELOW are the important values like R.
_L 0x00888F48 0x0000000D - NM+48 (R+8)
_L 0x00888F4C 0x0000001B - NM+4C (R+4C)
_L 0x00888F50 0x0000001C - NM+50 (R+50)
_L 0x00888F24 0x00000040 - NM+24 (R+24)
****STEP 2: CHOOSE HEIHACHI IN PRACTICE MODE.
THIS TIME WE NEED TO PUT A REACTION INTO D/F+3,(1). WE NEED TO COPY THE REACTION OF
HEIHACHI'S
D/F+1,(2).
_L 0xE001086A 0x004078E2 - VS PAUL
_L 0x00888F20 0x086B4928 - R2+20: 0x086B4928
_L 0xE0010875 0x004078E2 - CONSTANT ( VER ALISA or +ABC00 )
_L 0x00888F20 0x08760528 - 086B4928+ABC00 = 08760528
_L 0x00000000 0x00000000 - REFRESH
NOW, PERFORM D/F+3
_L 0xE01D000D 0x004078B4 - ID NUMBER of heihachi
_L 0xE01D01FE 0x00407A18 - 08C07A18: 01FE
_L 0xE01D0015 0x20407940 - 2ND MOVE SPEED - STRUCTURE CODE OF ADDMOVE STARTS HERE
_L 0xE01D0100 0x00407D3C - BUTTONS
_L 0x20407980 0x000011FE - CONFIRMATION CODE
_L 0x20407D10 0x00000015 - 1ST MOVE SPEED
_L 0x20407D24 0x09088F00 - REGISTERING NM; VALUE OF (NM+8=VALUE)+1F00= 09088F00
_L 0x00000000 0x00000000 - REFRESH

RESULT:
_C0 HEI D/F+3,1 (P1 leo)
_L 0xE01D08C0 0x204078E2
_L 0xE0020025 0x004078B4
_L 0x50EE3480 0x00001F00
_L 0x00887000 0x00000000
_L 0xE01D000D 0x004078B4
_L 0xE0010064 0x00887000
_L 0x50643870 0x00000058
_L 0x00888F00 0x00000000
_L 0x00888F08 0x09087000
_L 0x00888F48 0x0000000D
_L 0x00888F4C 0x0000001B
_L 0x00888F50 0x0000001C
_L 0x00888F24 0x00000040
_L 0xE001086A 0x004078E2
_L 0x00888F20 0x086B4928
_L 0xE0010875 0x004078E2
_L 0x00888F24 0x08760528
_L 0x00000000 0x00000000
_L 0xE01D000D 0x004078B4
_L 0xE01D01FE 0x00407A18
_L 0xE01D0015 0x20407940
_L 0xE01D0100 0x00407D3C
_L 0x20407980 0x000011FE
_L 0x20407D10 0x00000015
_L 0x20407D24 0x09088F00
_L 0x00000000 0x00000000

1. PROBLEM#3: Hwoarang hits the enemy with F+1+2 thus enemy reacts like he punched
by Steve (F+1+2).
Same reaction too in CH.
2. SOLUTION:

_C1 HWOARANG F+1+2 (HIT LIKE STEVE F+1+2)


_L 0xE01D08C0 0x204078E2 - condition / constant
_L 0xE0060010 0x004078B4 - Steve's Id number
_L 0x50F379F0 0x00001F00 - 8C08294: R+8: value must subtract to 8800000
_L 0x00892000 0x00000000 - EMPTY ADDRESS: from 0884000 to 08A4000
_L 0x50(643920) 0x00000058 - P0 move (PM) you may also use this for basic
calculating. same as: 643870
_L 0x00893F00 0x00000000 - (4THLINE)892000+1F00 = 893F00
_L 0x50(641B10) 0x00000020 - (for recovery only) This line use for making your
opponnent recover in standing position
not so sure: 643920-1E10 (constant) = 641B10 > basically,
this is a PM also.
_L 0x00893F60 0x00000000 - (for recovery only) reads recovery: F+60

_L 0xE01D0006 0x004078B4 - Hwoarang's Id number


_L 0xE01D0064 0x00(892000) - constant 892000 from 4thline
_L 0x20893F08 0x0(9092000) - 8800000+892000 from 4thline = 09092000 (P0R)
_L 0x20893F14 0x(09093F60) - (for recovery only) 8800000+893F60 = 9093F60
_L 0x20893F18 0x00008001 - (for recovery only) 8001 is default stance
_L 0x20893F24 0x00000050 - R+24
_L 0x20893F70 0x0000004B - (for recovery only) Steve's Recovery 4B. dont know
how to get this.
_L 0x20893F78 0x0000004B - (for recovery only) same from above

_L 0xE0040(1EA) 0x00407A18 - Hwoarang's F+1+2


_L 0xE0010(1ED) 0x0040864C - normal reaction
_L 0x20408654 0x0(9093F00) - Value of 1F00+09092000(P0R)= 9093F00
_L 0xE00101EB 0x0040864C - counter reaction (CH)
_L 0x20408654 0x09093F00 - Value of 1F00+09092000(P0R)= 9093F00
===================================================================================
==============================
As i said 0407964=>48 regulates an attacking limb, a value can be XXYYZZTT
If XX or YY or ZZ are not 00 then it means an "extension"
For example if you set 00130010 for Jin 4, it will hit an opponent from left foot
(13) to right foot (10)
You will have very large hitbox, able to hit even almost grounded opponent
It's very specific for each move, all depends on the animation and the hit time
Try to experiment with it to find the hitbox which you want
I prepared a list of the most important limb numbers
http://sadamitsu.ru/cwcheat/limbs.htm
===================================================================================
=================================
@hepta_X_27
1. I'm using this condition to make sure that a user copied exactly Hei's d+3
animation for 88A and not another.
088A038 (0908A038 in ppsspp), find it in Memory Viewer after you select Hei and see
the value
Or see it in the original area: 0B77AA0 + 38 = 0B77AD8 (09377AD8 in ppsspp)
You can take any animation address for this, just 0407964=>8=>38 is the first
address which has an unique value
2. That means
_L 0xE01D026F 0x00407A18 - if it's 26F'th move is going
_L 0x20407974 0x00001000 - then speed during this move is 1000 (default)
_L 0xE0010008 0x'2'0407940 - but if it's less than 8 frames
_L 0x20407974 0x00000C00 - then speed is C00
The digit just before an address in a condition line sets properties of that
condition
0 - if equal to value
1 - if not equal to value
2 - if less than value
3 - if greater than value
So from the 1st frame to 7th frame the speed will be C00, and from 8th frame to the
end the speed will be 1000
===================================================================================
====================================
@hepta_X_27
It's very easy, but let's better take for the first move b+2,1
i also would take another animation for the second move too, but it's ok, i gonna
explain the principle

First of all, what will happen if you press 1+2 while ZEN?
If you set 1+2 to L trigger or R trigger and press it while ZEN then Jin will do
ZEN+1
If you press 1+2 with a buffering (b+1, then holding 1 press 2) then Jin will do
ZEN+2
So Jin can do two moves if you press 1+2,
we need to add some identificators to ZEN+1 and ZEN+2 if a user press 1+2 in
beginning
_L 0xE00301C5 0x00407A18 - if ZEN+1
_L 0xE0020004 0x20407940 - if time of this move is less 4 frames
_L 0xE0010300 0x00407D3C - if hold 1+2 buttons
_L 0x20407A18 0x000011C5 - any custom move number which Jin does not have (just for
id)
And the same thing for ZEN+2
_L 0xE00301CD 0x00407A18 - if ZEN+2
_L 0xE0020004 0x20407940
_L 0xE0010300 0x00407D3C
_L 0x20407A18 0x000011C5
But since we have two the same conditions (time and buttons) we can shorten it like
this
_L 0xE0050004 0x20407940
_L 0xE0040300 0x00407D3C
_L 0xE00101C5 0x00407A18
_L 0x20407A18 0x000011C5
_L 0xE00101CD 0x00407A18
_L 0x20407A18 0x000011C5

Now if a user press 1+2 while ZEN it will be 11C5 move number, good, let's set
b+2,1 on this number
_L 0xE00511C5 0x00407A18 - if it's ZEN 1+2
_L 0x20407D10 0x00000000 - then without any delay..
_L 0xE001086A 0x004078E2 - ..starts b+2,1
_L 0x20407D24 0x0870630C
_L 0xE0010875 0x004078E2
_L 0x20407D24 0x087B1F0C

Ok, and now add b,f+2,1,d/f+2 but since we made a custom move for ZEN 1+2
its number is 0000 now, we need to use an extra condition to identify it
_L 0xE0060000 0x00407A18 - if a custom move
_L 0xE105000C 0x00407964 - if last two digits of this move is "0C"
_L 0x20407D10 0x0000000F - then after 15 frames of delay (because b+2,1 must have
time to hit)
_L 0xE001086A 0x004078E2 - starts b,f+2,1,d/f+2
_L 0x20407D24 0x087088DC
_L 0xE0010875 0x004078E2
_L 0x20407D24 0x087B44DC

That's all, the full code will look like this

_L 0xE01D0009 0x004078B4
_L 0xE0050004 0x20407940
_L 0xE0040300 0x00407D3C
_L 0xE00101C5 0x00407A18
_L 0x20407A18 0x000011C5
_L 0xE00101CD 0x00407A18
_L 0x20407A18 0x000011C5
_L 0xE00511C5 0x00407A18
_L 0x20407D10 0x00000000
_L 0xE001086A 0x004078E2
_L 0x20407D24 0x0870630C
_L 0xE0010875 0x004078E2
_L 0x20407D24 0x087B1F0C
_L 0xE0060000 0x00407A18
_L 0xE105000C 0x00407964
_L 0x20407D10 0x0000000F
_L 0xE001086A 0x004078E2
_L 0x20407D24 0x087088DC
_L 0xE0010875 0x004078E2
_L 0x20407D24 0x087B44DC
===================================================================================
=====================================
1. I know it the same like you do
I also have to find these empty areas and check them for a while
You can use 08A6000 only for short animations (empty addresses are ending about
08A7C00)
I didn't recommend it to use since usually we set 2000 or 1F00 bytes for copy (but
here's no more 1C00)
Most likely you can use the area from ~0906000 to ~0946000, it looks stable but i
didn't check it long enough
===================================================================================
=================================
Copy 8001 stance is even easier than copy a move
The only difference is that almost all 8001 stances have 32bit mocap data, it takes
much more space
_L 0xE01D08C0 0x204078E2 - if a stage is loaded
_L 0xE0030006 0x004081E4 - if P2 is Hwor
_L 0xE00200C8 0x10910000 - if Hwor's stance is not copied yet
_L 0x50B421B4 0x00004000 - copy 4 kilobytes (in hex) from Hwor's 8001
_L 0x00910000 0x00000000 - sorry, i forgot to say, i'm using the area from ~0906000
to 0910000 for Rage Attacks
_L 0xE01D0018 0x004078B4 - if P1 is Bruce
_L 0xE01D00C8 0x00910000 - if Hwor's stance is copied successfully
_L 0xE01D8001 0x00407A18 - if it's a default stance
_L 0x60407964 0x09110000 - pointer to set animation
_L 0x00020001 0x00000008
_L 0x60407964 0x00000032 - pointer to set length of move
_L 0x00020001 0x00000024
===================================================================================
=========================
@hepta_X_27
0910000 + 08800000 = 09110000 see the value when data is copied
Or see the value before the copying in the source area (0B421B4 + 08800000 =
093421B4)
No, length of copying is different for each animation
For 16bit mocap (99% of all) usually 2000 is enough (or even 1F00 if you wanna
leave 100 to build a move)
For 32bit mocap the length is very depends on quantity of frames
64 bytes for a "mocap introduction" and 114 bytes for each frame, Hwor's stance
takes 32 frames
64 in hex = 100 in dec
114 in hex = 276 in dec
32 in hex = 50 in dec
So, 276*50+100=13900
13900 in dec = 364C in hex, i just rounded it upwards to 4000
Since we usually take 2000 for copying, it's like we did it two times, from 0910000
to 0912000 and from 0912000 to 0914000
I would start the name of this code like this _C0 BRU(p2hwo910,912)
===================================================================================
===========================
@hepta_X_27
Ouh, it's very interesting idea since it has a string to Spinning Ball forward and
back
Allows to perform new cool combos
There are two ways how to do it - hard (write a script in the root) and easy (while
performing), let's make it easy
The main address here is 04079BC, it regulates did P1 hit an opponent and which the
opponent it was (P2, P0 or another)
If you set it to 0 like this
_C0 P1 Multihit
_L 0x204079BC 0x00000000
then P1 will multihit an opponent as many times as wide the range between
0407964=>4C and 0407964=>50
Ok, first of all let's force this move to hit an opponent at least once
_L 0xE01D0168 0x00407A18
_L 0x60407964 0x00000217 - mid rank
_L 0x00020001 0x00000010
_L 0x60407964 0x001A0014 - limbs for both hits
_L 0x00020001 0x00000048
_L 0x60407964 0x00000011 - hit time for both hits
_L 0x00020001 0x0000004C
_L 0x60407964 0x00000017
_L 0x00020001 0x00000050
The separation will be on 15th frame
_L 0xE0060015 0x20407940 - if it's less than 15 frames
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B5C1C - hit properties from b+2
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x0876181C
_L 0x00020001 0x00000020
Before 15th frame is 1st hit, since 15th frame is 2nd hit
_L 0xE0070015 0x00407940 - if it's the 15th frame
_L 0x204079BC 0x00000000 - the system will think that u+1+2 was not hit yet
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B6048 - hit properties from d/b+1+2
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x08761C48
_L 0x00020001 0x00000020
It's the main principle but in the result code i would add extra properties to make
it connect better

_C0 BOB u+1+2 hits


_L 0xE01D0022 0x004078B4
_L 0xE01D08C0 0x204078E2
_L 0xE01D0168 0x00407A18
_L 0x10E6CFCA 0x00003D60 - Bob's body will moving forward a little, see the value
at 0407964=>8=>3A
_L 0xE001039D 0x00408348 - on hit a standing P2..
_L 0x20408604 0x42000000 - ..the blowback will be a little farther
_L 0x60407964 0x00000217
_L 0x00020001 0x00000010
_L 0x60407964 0x001A0014
_L 0x00020001 0x00000048
_L 0x60407964 0x00000011
_L 0x00020001 0x0000004C
_L 0x60407964 0x00000017
_L 0x00020001 0x00000050
_L 0xE0070015 0x20407940
_L 0x20408658 0x08E40F78 - disable blowback on the 1st hit, otherwise the 2nd hit
will not connect
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B5C1C
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x0876181C
_L 0x00020001 0x00000020
_L 0xE0070015 0x00407940
_L 0x204079BC 0x00000000
_L 0xE002086A 0x004078E2
_L 0x60407964 0x086B6048
_L 0x00020001 0x00000020
_L 0xE0020875 0x004078E2
_L 0x60407964 0x08761C48
_L 0x00020001 0x00000020
===================================================================================
========================
you can create this system yourself
enable "Bound Remover" and modify the "P1 No Bound" code a little

_C0 NIN B! Remover works for example only for 1+4; u/f+2,1 and f+4,3,3
_L 0xE01D0005 0x004078B4 - if Nina
_L 0x204085F8 0x00000000 - then B! works for all moves, but..
_L 0xE01D01B8 0x10407A18 - if not 1+4
_L 0xE01D0169 0x10407A18 - if not u/f+2,1
_L 0xE01D01DF 0x10407A18 - if not f+4,3,3
_L 0x204085F8 0xFFFFFFFE - then no B!

So this code will give B! (which will turn into B! Remover) only for specific moves
because "if not 1+4... then no B!" is a double denial which means "if 1+4... then
B!"
It's like a list of exceptions, i hope you understand
And btw, yes, you can write lines with move numbers here in a row

@hepta_X_27
But even with B! Remover his f,b+2,1 gives B! launcher if you do it on a standing
opponent
Ok, another way
Enable "Bound Remover" disable "P1 No Bound", and then
To add Remover
_C0 B! Remover LAR d+2
_L 0xE01D0028 0x004078B4
_L 0xE01D0001 0x00642990 - checker if B! Remover code is enabled
_L 0xE0030202 0x00407A18 - d+2
_L 0xE0020006 0x3040864C - if reaction is more than "6"
_L 0xE001000C 0x2040864C - and less than "C"
_L 0x20408654 0x08E43B30 - B! Remover
To remove Remover
_C0 no B! Remover NIN U/F+4
_L 0xE01D0005 0x004078B4
_L 0xE001019A 0x00407A18
_L 0x204085F8 0xFFFFFFFE
@hepta_X_27
Hm, indeed, B! Remover and F!=>BN reset all counters, why didn't i notice it
before.
Ok, it is time for a new version of B! Remover.
It keeps juggle counter and wall hit counter, though K! counter is still resets but
it will be fixed in the new K! version
About B! on some strings like Jin f,f+3,1,3~3 yes, it's a problem too
but B! Remover is a common code for all characters and all moves,
it cannot know which the B! must be replaced with laying down and which with the
one i made
It leaves B! for all strings which start on standing opponent
So the only way to fix it, is set the reactions for these moves manually

_C0 no B! Remover JIN f,f+3,1,3~3


_L 0xE01D0009 0x004078B4
_L 0xE001029A 0x00407A18
_L 0x204085F8 0xFFFFFFFE
or
_C0 B! Remover JIN f,f+3,1,3~3
_L 0xE01D0009 0x004078B4
_L 0xE01D0001 0x00642990
_L 0xE002029A 0x00407A18
_L 0xE001000C 0x2040864C
_L 0x20408654 0x08E43B30

#######################################################################
1. There is no a way to disable rage if a character has less than 20hp (in dec).
At least i didn't find a way how to do it.
In Kazuya's Rage Art code i set hp to 21 (04078C0) and only after that i turned off
rage (0407B4E)
2. In the video it was just BN animation (0904F404)
I made it higher by editing 0407964=>8=>44 and 0407964=>8=>5C
But please don't edit the p0 animation itself, copy it to an empty place and then
edit it, ok.
Because it's a popular animation and someone might use it for another code.
I also decreased the speed and added spinning by 040823E like this
_L 0xE0010XXX 0x00408348
_L 0x30300400 0x0040823E - 400 is strength of spinning here, can be different
depends on the speed.
To make the spinning and speed more smooth i seems added frame conditions also
(0408270)
Don't remember already, it was long time ago, and i deleted codes then.
But i surely didn't do anything with 0408658 for f+1+2
####################################################################
1. Yes
0408658 takes 50 bytes (in hex)
0407964=>14 takes 20 bytes (in hex) for each string move
0407964=>38 takes 3 lines for each effect
0407964=>38=>0 - frame of start
0407964=>38=>4 - number of effect
0407964=>38=>8 - properties of the effect
Next effect will take 0407964=>38=>C, 0407964=>38=>10 and 0407964=>38=>14
If you meet three empty lines it means a separator.
I thought you succesfully got it when i saw your Lili RD test with omen sparks.
2. Hmm, yes, you're right, tailspin do not work with wall code.
Oh, that wall code, i'm just looking at it now and see how it bad.
It uses P0 animation, why did i make it with Dragunov activation. It's so stupid.
I planned to make a new version of wall code, personal for each character, but it's
a big work.
All what i now think about is "another kind" of codes, i'll explain later.
But if you wanna do it yourself then ok, you will make a better code than this one
anyways.

_L 0xE00708E4 0x00408296 - if it's a P0's move going


_L 0xE004001E 0x20408270 - if it's less than 1E frames
_L 0xE0030001 0x00408388 - if P2's body is at a wall
_L 0x20408640 0x00000000 - then immediately..
_L 0x20408654 0x08E439D0 - ..P2 performs one of P0's move
_L 0x0061F09C 0x00000040 - and no more K! moves in this combo
_L 0xE00139D0 0x00408294 - if current P2's move pointer ends with 39D0
_L 0x204083CC 0x00011001 - then... i even don't remember what it is. Why i made
this code at all. It's a shame. Forget this line
############################################################################
1. Two ways
1.1 Change attack sound in 0407964=>34
0407964=>34=>0 - block sound, for example 06000021, 06 means number of track, 21
means number of sound
0407964=>34=>4 - hit sound, numbers are in the same format.
A line with FFFFFFFF means a separator.
There also can be a third line, the result sound often looks like a mix, anyway you
have to experiment with it.
1.2 Add an extra sound to reaction in the audio/visual area (0407964=>38), it's
what i did for K! Master and RD test.
As i told you, every three lines mean one effect
00000001 - on the first frame
000081E4 - sound base of the move performer
01000017 - number of track and number of sound. 01 means the main collection,
numbers there are from 01 to 2D (common sounds) and from 726 to 734 (extra sounds)

2. Yes, it's there, i call it "inner body position"


Laying face up - 9084
Laying face down - 9A84
You can also use a few "body positions" for different time, set it in 0407964=>38
000000XX - frame
00008091 - "body position" effect
00007402 - number

3. We don't use 0407964=>C


It's just char number and ordinal move number in a technical count
#################################################################################
The first P0 move is 08E42B08
The last one is 08E43C90
Distance between moves as you know is 58 bytes (in hex)
Actually if you know the first move pointer you can find any move pointer by
ordinal number and find any ordinal number by move pointer just by counting.
It's what i did in this generator for all characters
http://sadamitsu.ru/cwcheat/movefinder.htm (though it's still not completed)
###################################################################################
#
Yes, 0407964/0408294=>14 takes 20 bytes for each string move but it might contain a
few string moves, so in result it can be 40 bytes or 60 bytes or even 200 bytes.
It can be numerous, i think we should create a new description for this
0407964/0408294=>14=>n*20, so:
0407964=>14=>n*0 - condition of directional button(s)
0407964=>14=>n*4 - condition of attack button(s)
0407964=>14=>n*8 - pointer to "permission(s)" for performing
0407964=>14=>n*C - pointer to extra properties
0407964=>14=>n*10 - first frame for input the button(s)
0407964=>14=>n*14 - last frame for input the button(s)
0407964=>14=>n*18 - frame when the move must begin
0407964=>14=>n*1C - the move itself (ordinal number the same like on 0407A18)
!!! There is a rule - not important how many string moves there are, the last one
must return to a stance, in this case:
0407964=>14=>n*0 = 8000
0407964=>14=>n*10 - frame for recovery
0407964=>14=>n*18 - frame for end of move

The same for 0407964/0408294=>20, it takes C bytes but might contain a few hit
states - on standing opponent, in the air, bound, clean hit, etc.
To find out the exact length you should check the value in 0407964=>20=>0
!!! The 18D value (on standing opponent state) must be the last one
0407964=>20=>0 - pointer to state
0407964=>20=>4 - damage in this state
0407964=>20=>8 - pointer to reaction set

And the same for 0407964/0408294=>38, it might contain as many slots for effects as
you want
###################################################################################
####
Oh, it looks very complexly, i didn't expect it.
And i'm very surprised that you use things which i didn't explain yet
For example heigth of reactions in 0407964/0408294=>20=>8=>30
Though you could do it by 04082D4, i like the way how you did it, it's more
correct.
In general it looks very good, really
###################################################################################
######
~D92~E07 area is empty but not stable, especially if you choose as P2 a character
with large move base (for example King)
###################################################################################
#######
Hi, sorry for long answers, i spend all my time to prepare a generator for replace
animations (from TTT2 to Tk6)
1. There is an address which regulates the distance of impacts in a process of
performing - 0408604, switch it to 0 when P2 meets a wall
2. The same like i did for K!
Pick an address which will work like a checker (in K! System it's 061F09C), for
example 09060E0
Then build such system
...
_L 0xE00X0000 0x009060E0
_L 0xRageDrives
...
_L 0xE0 any RageDrive
_L 0x209060E0 0x00000001
...
_L 0xE0020001 0x009060E0
_L 0xE0010000 0x00408330 - if it's not a combo
_L 0x209060E0 0x00000000
...
3. Just add the non-rage condition
_L 0xE00X0030 0x20407B4E
_L 0xJin Zen+3 (WS+3) code
###############################################################
In 0407964=>20 each three lines are one slot for reaction state, and each reaction
state has own damage.
If a move has default air reaction, then
0407964=>20=>4 - common damage
If a move has specific air reaction, then
0407964=>20=>4 - air damage
0407964=>20=>10 - standing damage
There might be a third slot and fourth and more, it depends on the move, you should
look at the number in 0407964=>20=>0=>0 to understand how many states this move
has, if the number is 18D then it's the last state (standing reaction)
Btw, i explained it on TZ already
#####################################################################
Even if these moves have the same last two digits on 0407964 (4C) they have
different last two digits on 04080EC (64 on electric CD+1 and 34 on b+3)
I don't see a problem here
But ok, you can use another way - get last four digits from 0407964 vs Paul and vs
Alisa
0xE004YYYY 0x00407A18
0xE001paul 0x00407964
0x20407A18 0xcustom number
0xE001alisa 0x00407964
0x20407A18 0xcustom number
#######################################################################
Build a throw from very beginning it's what i never did.
But ok, let's try
To make a perfect throw we should build it in the "minus" area but i meant we will
"kill" one of existing Kazuya's throw, and also it means to do a lot of difficult
work, so it's not a way.
We will build custom moves (main and reaction) which will look like a throw.

The concept of any throw is:


1. characters are not material (can run through each other)
2. P2 (who performs a reaction) takes all coordinates of P1
So, here we go

Make two custom moves


0xE0048190 0x10911000 - stabilizer, to copy it only once
0x50643710 0x00000058
0x00911000 0x00000000 - for example 911
0x50643710 0x00000058
0x00912000 0x00000000 - for example 912

Add properties
0x20911008 0xheaven's door P1 animation
0x20911014 0x08E41AF0 - recovery to 8001 when move ends
0x20911024 0x00000070 - length 70 frames
0x20911038 0x00000000 - audio/visual effects for P1 (not necessary)
0x20912008 0xheaven's door P2 animation
0x20912014 0x08E42390 - recovery to 8009 (lie face down stance) when move ends
0x20912018 0x00008009 - visual recovery to 8009
0x20912024 0x00000070 - length 70 frames
0x20912038 0x09112800 - audio/visual effects for P2 we will add later

Use these moves like this


0xE00501FD 0x00407A18 - for example Kaz CD+1
0xE00400XX 0x0040864C - one of opponents reaction while CD+1 (have to make this
part for all CD+1 reactions)
0xE0030200 0x00407D30 - if press U/F
0x20407D10 0x00000000
0x20407D24 0x09111000
0x20408654 0x09112000

And add properties while performing


0xE00A1000 0x00407964 - if P1 performs heaven's door
0xE0092000 0x00408294 - if P2 performs heaven's door
0x204083B4 0x00100000 - it will be a standing reaction anyway
0x20408604 0x00000000 - no impact
0xE0040010 0x20408270 - on first frames
0x50407860 0x00000048 - copy P1 coordinates to P2
0x00408190 0x00000000
0x50407908 0x0000001C - copy P1 position to P2
0x00408238 0x00000000
0x204079F8 0x00000001 - P1 is not material (starts a throw)
0x20408328 0xFFFFFFFF - P2 is not material (performs a throw reaction)

Audio/visual effects (as you remember each three lines mean one effect)
0x20912800 0x00000038 - the 38th frame is when they fall on the ground
0x20912804 0x00008050 - damage of the move performer
0x20912808 0x0000000F - for example damage is 15 (as 100%)
Adding all the rest effects is pretty creative work, you can take them from
0407964=>38=>... and from 0408294=>38=>... of the heaven's door, or create your own
0x2091280C 0x00000038
0x20912810 0x0000800F - effect of crashing the floor
0x20912814 0x00000001
0x20912818 0x00000038
0x2091281C 0x00008023 - red visual effect
0x20912820 0x00000004 - (limb)
0x20912824 0x00000038
0x20912828 0x000081E4 - sound base of the move performer
0x2091282C 0x01000027 - track number 1, sound number 27
#####################################################################
Yes, it's 80C7, good
They both fall with standing position because they have the same "inner body
positions" on =>C
I think while heaven's door P2 should have 7E06
And also i think P2 should turn on 180 degrees while floor break
0x00000001 - any frame from 1 to floor break
0x000080C8
0x00008000 - degrees (ex. 4000 is 90 degrees, 8000 is 180deg, C000 is 270deg, etc.)
Though better to do it by =>38 too, because P2 should start heaven's door with
standing position
0x00000010
0x00008091
0x00007E06
###################################################################
I've got the same problem with B! Remover,
have to build a custom juggle counter
I used 061F054 address for this, you can use it too
0xE002heaven's door
0x50408344 0x00000004
0x0061F054 0x00000000
Then
0xE002floor break
0x5061F054 0x00000004
0x00408344 0x00000000
##################################################################
Oh, yes, i forgot, It's a wall combo counter and it also resets on floor break
while heaven's door.
Have to build a custom counter also, i used 061F058.
Though i don't sure it is really necessary, in Tk7 after F! BN it looks like the
wall combo counter resets too
##################################################################
Lee Hitman 3 is not the best move for learning since it has a CH throw.
For now you better take a move which always returns to 8001.
The code's structure is not hard, the only new thing for you is
=>14=>8 - on-hit properties, where every TWO lines means one effect, it's the same
like in =>38 but without the first line (start frame) because it happens only on
hit
0x2090FF50 0x0000013C - ignoring opponents's attacks
Then there should be 0x2090FF54 0x00000000 but i missed it since it's already 0
And the last effect must be
0x0000018D
0x00000000
It's like a closing tag in HTML (or in BB codes on forums)
All the rest you already know
################################################################
There is one more free area which i know
I had plans with it for the future but i see you need it now
It's actually not empty, it's filled with 32bit mocap
061A488-061F060 - Paul 8001 stance
061F064-062FE4C - Seryoga 8001 stance (part1)
062FE50-0640C40 - Seryoga 8001 stance (part2)
But these animations are useless, so we can take this piece from 061A488 to 0640C40
for ourselves
###############################################################
Yes, there is a small area i used for K!, from 061F064 to ~0621300
Sorry, i forgot about it

0407940 shows frames of current move


0407944 shows time of current move
usually they show the same values, you can see a difference only if you change the
speed

090FF30 regulates the frame of recovery to default stance there.


Take the value from the last slot on =>14=>n*20+10 or from 0407A40
###################################################################
Just watch the =>38 while DVJ laser attacks and while Kaz RA laser move and you
will find these effects - 80D5, 80D6, 80D7

For turning an opponent to FF position i would use 040823C like this


0xE006while the first RA move
0xE005while its reaction
0xE0020001 0x00408270 - on the first frame of this reaction
0x5040790C 0x00000004 - P2 takes rotate position from P1
0x0040823C 0x00000000
0xE0010002 0x00408270 - on the second frame
0x30308000 0x0040823E - P2 position rotates on 180 degrees

Yeah, i know there are even a few empty areas


4C9-4D3, 4D6-527, 54C-55F but unlikely they are stable
Anyway you can check it if you want, i really don't have time
####################################################################
Oh, looks good but... BY TURN!!!
04079F8/0408328 must work before the last hit also, then set them to zero
_L 0xE00600B0 0x20408270
_L 0x50407860 0x00000048
_L 0x00408190 0x00000000
_L 0x50407908 0x0000001C
_L 0x00408238 0x00000000
_L 0x204079F8 0x00000001
_L 0x20408328 0xFFFFFFFF
_L 0xE00200B0 0x30408270
_L 0x204079F8 0x00000000
_L 0x20408328 0x00000000
#################################################################
Zasvet in a throw is not possible, you can only set the camera manually by
056F1F0/1F4/1F8 and only in a throw with a default camera mode.
#################################################################
Ok, as i said need to make a custom area for =>14=>C
Let's take as a sample two slots from 0641510
0x50641510 0x00000040
0x00910000 0x00000000
Copy it for example on 0910000
0x2091000C 0x08E423B8 - connection from BT position
0x20910010 0x00000001
0x20910014 0x00007FFF
0x20910018 0x00000029
0x2091001C 0x015001C8 - 1C8 is Lili BT 3+4
Then from 0910020 to 0910040 is a necessary slot which returns to 8001 stance, even
if it will never come to 8001 stance (since 1C8 move will start rather) we always
need to add this slot in the end, it's important!
And apply it to 1F8 move (Lili d/f+3+4,3+4 second hit) like this
0xE00201F8 0x00407A18
0x60407964 0x09110000
0x00020001 0x00000014
Don't forget to set default =>14=>C pointers for 1F8 if it's not RD string
(default pointers are different vs Paul and vs Alisa)
##################################################################
Yeah, while a juggle characters have "air rules" also.
It's what "Air time" code for. 04082D0/D4/D8 regulate it.
Use them for the first RA animation like this
0x204082A4 0x00000000
0x204082D0 0x00000000 - X coordinates (relative to a stage)
0x204082D4 0x40C00000 - Y coordinates (height)
0x204082D8 0x00000000 - Z coordinates (relative to a stage)
Values more 40000000 mean "to one side",
values more C0000000 mean "to another side".
Feel free to experiment with them
####################################################################
Well, ok, as you remember
if list of permissions on attack=>20=>0=>... starts with "18D" then it's "stand"
reaction slot
if list of permissions on attack=>20=>0=>... starts with "143" then it's "air"
reaction slot
if list of permissions on attack=>20=>0=>... starts with "144" then it's "bound"
reaction slot
if list of permissions on attack=>20=>0=>... starts with "23" then it's "clean hit"
reaction slot
if list of permissions on attack=>20=>0=>... starts with "D1" then it's "hold
button" reaction slot
Rule - stand slot must be always in the end, it's like recovery slot in =>14
Area of "standing" reactions (attack=>20=>n*C+8):
0x00000000 0xXXXXXXXX - pointer to front side hit impact
0x00000004 0xXXXXXXXX - pointer to back side hit impact
0x00000008 0xXXXXXXXX - pointer to left side hit impact
0x0000000C 0xXXXXXXXX - pointer to right side hit reaction
0x00000010 0xXXXXXXXX - pointer to counter hit impact
0x00000014 0xXXXXXXXX - pointer to ground hit impact
0x00000018 0xXXXXXXXX - pointer to block hit impact
0x0000001C 0xXXXXYYYY - direction of back (X) and front/block (Y) impact
0x00000020 0xXXXXYYYY - direction of right (X) and left (Y) impact
0x00000024 0xXXXXYYYY - direction of ground (X) and counter (Y) impact
0x00000028 0xXXXXYYYY - position of back (X) and front/block (Y) reaction (rarely
used)
0x0000002C 0xXXXXYYYY - position of right (X) and left (Y) reaction (rarely used)
0x00000030 0xXXXXYYYY - position of ground (X) and counter (Y) reaction (rarely
used)
0x00000034 0x0XXX0YYY - front side reaction number, crouch (X) and stand (Y)
0x00000038 0x0XXX0YYY - counter hit reaction number, crouch (X) and stand (Y)
0x0000003C 0x0XXX0YYY - left side reaction number, crouch (X) and stand (Y)
0x00000040 0x0XXX0YYY - right side reaction number, crouch (X) and stand (Y)
0x00000044 0x0XXX0YYY - back side reaction number, crouch (X) and stand (Y)
0x00000048 0x0XXX0YYY - block reaction number, crouch (X) and stand (Y)
0x0000004C 0x0XXX0YYY - ground reaction number, face down (X) and face up (Y)

Area of air reactions (attack=>20=>n*C+8):


0x00000000 0xXXXXXXXX - pointer to front side hit impact
0x00000004 0xXXXXXXXX - pointer to back side hit impact
0x00000008 0xXXXXXXXX - pointer to left side hit impact
0x0000000C 0xXXXXXXXX - pointer to right side hit reaction
0x00000010 0xXXXXXXXX - pointer to counter hit impact
0x00000014 0xXXXXXXXX - pointer to ground hit impact
0x00000018 0xXXXXXXXX - pointer to block hit impact
0x0000001C 0xXXXXYYYY - direction of back (X) and front (Y) impact
0x00000020 0xXXXXYYYY - direction of right (X) and left (Y) impact
0x00000024 0xXXXXYYYY - direction of ground (X) and counter (Y)impact
0x00000028 0x00000000
0x0000002C 0x00000000
0x00000030 0x0000XXXX - additional height for the reaction (not necessary), can be
as more 0 as less 0
0x00000034 0x0XXX0YYY - front reaction number, face down (X) and face up (Y)
0x00000038 0x00000000
0x0000003C 0x0XXX0YYY - left reaction number, face down (X) and face up (Y)
0x00000040 0x0XXX0YYY - right reaction number, face down (X) and face up (Y)
0x00000044 0x0XXX0YYY - back reaction number, face down (X) and face up (Y)
0x00000048 0x00000000
0x0000004C 0x00000000
###################################################################################
#
Yes, wall splat numbers are different for all characters, but you should use
numbers from the character which you make code for.
Take these numbers from another opponent's reaction, for example "one spin"
But don't take numbers from reactions which start with 80XX, such reactions are
from opponent's movebase
For example default air reaction number is 801D
If you compare values on 0408210 and 0408214 while it, you will see these values
are the same
It means P2 performs a move from its own movebase
But while such reactions as double spin, one spin, double helix, etc. values on
0408210 and 0408214 are different.
And yes, data from 0407964=>20=>n*C+8 you can find on 0408658
Damage data from 0407964=>20=>n*C+4 you can find on 0407A04
Impact data from 0407964=>20=>n*C+8=>0/4/8/C/10/14/18 you can find on 0408628
(depends on side/CH/block hit)
###################################################################################
#
Yeah, it's interesting, i remember someone was asking here about how we can skip
first frames of an animation.
At last i found how it should be, btw, it's the original method which devs use too.
Did you notice when Eddy/Christie do SSL 3+4 and return to default stance they
start this default stance with right leg behind,
but after SSR 3+4 with left leg behind. That's it
Ok, my version of WS+1,4

_C0 EDD WS+1,4


_L 0xE01D0021 0x004078B4
_L 0xE01C08C0 0x204078E2
_L 0x204B7004 0x40000004 - WS+1,3 slot
_L 0x204B7008 0x08E410B8
_L 0x204B700C 0x08E423C0
_L 0x204B7010 0x00000001
_L 0x204B7014 0x0000000D
_L 0x204B7018 0x00000010
_L 0x204B701C 0x015002B9
_L 0x204B7024 0x40000008 - 3,4 slot
_L 0x204B7028 0x08CB7060 - pointer to effects/permissions
_L 0x204B702C 0x08CB7070 - pointer to connection properties
_L 0x204B7030 0x00000001
_L 0x204B7034 0x0000000D
_L 0x204B7038 0x00000010
_L 0x204B703C 0x01500266
_L 0x204B7040 0x00008000 - recovery slot
_L 0x204B7048 0x08E410B8
_L 0x204B704C 0x08E423B0
_L 0x204B7050 0x00000026
_L 0x204B7054 0x00007FFF
_L 0x204B7058 0x00000026
_L 0x204B705C 0x01508001
_L 0x204B7060 0x000080AB - effect of "skip first frames"
_L 0x204B7064 0x0000001E - skip 1E frames
_L 0x204B7068 0x0000018D - ultimate permission
_L 0x204B7070 0x00000882 - connection properties compatible with skipping frames
_L 0xE00201F9 0x00407A18 - if WS+1
_L 0x604078E0 0x08CB7000
_L 0x00020001 0x00073344 - distance to WS+1=>14

So, as you can see the effect itself is in =>14=>n*20+8=>...


But this effect will not work until you set properties in =>14=>n*20+C=>0
These properties has such structure (if i right understood)
"0000XYZZ"
X - mode of character(s) position while connection (for BT moves and throws)
Y - mode of work for the following move
ZZ - mode for 0407A86,
if ZZ is "82" then value on 0407A86 before hit is "7", after hit is "A"
if ZZ is "80" then value on 0407A86 before hit is "0", after hit is "0"
if ZZ is "81" then value on 0407A86 before hit is "10", after hit is "10"
if ZZ is "83" then value on 0407A86 before hit is "5", after hit is "A"
if ZZ is "84" then value on 0407A86 before hit is "6", after hit is "A"
if ZZ is "85" then value on 0407A86 before hit is "3", after hit is "A"
if ZZ is "86" then value on 0407A86 before hit is "4", after hit is "A"
if ZZ is "86" then value on 0407A86 before hit is "4", after hit is "A"
This theme is new for me, so maybe i'm wrong somewhere
But Y mode is difenetely the most interesting here,
If you set Y to "4" you will start current and following move at the same time
(like we did for Bryan's RD taunt)
If you set Y to "C" you will run the follwing move backwards
###################################################################################
#######
P3 and P4 are usual characters as P1 and P2,
they have their data areas and you can set a motion to them as well.
to switch the P3 use 0407904 address (value "00000002" is on, value "00000000" is
off)
all addresses what you known for P1, P3 has also (and with a same distance)
0409D20 works like 0407860
0409E34 like 0407974=24C0
040A1DC like 0407D1C
040A1E4 like 0407D24
###################################################################################
#########

i would add two things


"08000000" on 0408294=>44 just before the last RA hit to force an opponent look at
Serge
and
0xE0020005 0x004140B8
0xE0010064 0x304140B0
0x204140B0 0x00000064
during all the RAs. it will delay the round end if RA started after K.O.?
###################################################################################
#########

@hepta_X_27
ok, it is time ))
"hold input" or "strong hit", it's pretty complicated thing (at least how they
composed it)
the main effect which switches a move to "strong" mode is 805C
this mode does not switch off by itself, we have to switch it manually
after this D1 condition checks if "strong" mode is on
that's all,
let's try it for Paul f+1+2, here's a simplified version

0xE00601E0 0x00407A18
0x60407964 0x09111000 - custom area for =>14
0x00020001 0x00000014
0x60407964 0x09112000 - custom area for =>20
0x00020001 0x00000020
0x60407964 0x09113000 - custom area for =>38
0x00020001 0x00000038

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

=>14 area:
0x20911000 0x00000000
0x20911004 0x00000300 - if hold 1+2
0x20911008 0x09111100 - custom permissions #1
0x2091100C 0x08E423B0
0x20911010 0x00000004 - from 4th frame
0x20911014 0x0000000E - to Eth frame
0x20911018 0x00000004
0x2091101C 0x01108001 - disabled (none of moves will start)
0x20911020 0x00000000
0x20911024 0x00030000 - if release 1+2
0x20911028 0x09111200 - custom permissions #2
0x2091102C 0x08E423B0
0x20911030 0x00000004 - from 4th frame
0x20911034 0x0000000E - to Eth frame
0x20911038 0x00000004
0x2091103C 0x01108001 - disabled
0x20911040 0x00000000
0x20911044 0x00000300 - if hold 1+2
0x20911048 0x09111300 - custom permissions #3
0x2091104C 0x08E423B0
0x20911050 0x0000000E - on Eth frame
0x20911054 0x0000000E
0x20911058 0x0000000E
0x2091105C 0x01108001 - disabled
0x20911060 0x00008000 - recovery
0x20911064 0x00000000
0x20911068 0x08E410B8
0x2091106C 0x08E423B0
0x20911070 0x00000034
0x20911074 0x00007FFF
0x20911078 0x00000034
0x2091107C 0x01508001
if a slot does not lead to a new move then effects in permission area will work
every frame (inside the specified range of time)

custom permissions #1:


0x20911100 0x000080BB - change speed..
0x20911104 0xFFFFFF00 - ..decrease 100 from current speed value
0x20911108 0x000000EB - speed limiter..
0x2091110C 0x00000201 - ..if speed is more 200
0x20911110 0x0000805C - "strong" mode..
0x20911114 0x00000000 - ..is off
0x20911118 0x0000018D - ultimate permission (end of sequence)
0x2091111C 0x00000000

custom permissions #2:


0x20911200 0x0000805C - "strong" mode..
0x20911204 0x00000000 - ..is off
0x20911208 0x0000018D - u.p.
0x2091120C 0x00000000

custom permissions #3:


0x20911300 0x0000805C - "strong" mode..
0x20911304 0x00000001 - ..is on
0x20911308 0x000080BA - set speed..
0x2091130C 0x00001000 - ..to default
0x20911310 0x0000018D - u.p.
0x20911314 0x00000000

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

=>20 area:
0x20912000 0x09112100 - custom permissions (strong air)
0x20912004 0x0000001E - strong air damage
0x20912008 0x09116000 - strong air reactions
0x2091200C 0x09112118 - custom permissions (strong stand)
0x20912010 0x0000001E - strong stand damage
0x20912014 0x09116100 - strong stand reactions
0x20912018 0x09112108 - custom permissions (air)
0x2091201C 0x00000014 - air damage
0x20912020 0x09116200 - air reactions
0x20912024 0x09112110 - custom permissions (stand)
0x20912028 0x00000014 - stand damage
0x2091202C 0x09116300 - stand reactions

0x20912100 0x000000D1 - if "strong" mode..


0x20912104 0x00000001 - ..is on
0x20912108 0x00000143 - if air hit
0x2091210C 0x00000000
0x20912110 0x0000018D - u.p.
0x20912114 0x00000000
0x20912118 0x000000D1 - if "strong" mode..
0x2091211C 0x00000001 - ..is on
0x20912120 0x0000018D - u.p.
0x20912124 0x00000000

strong air reactions:


0x40916000 0x00070001 - [i took impacts from P0]
0x08E414B8 0x00000000
0x20916030 0x0000FEE8 - height -118
0x20916034 0x0010000C - front
0x2091603C 0x0010000C - left
0x20916040 0x0010000C - right
0x20916044 0x0010000C - back

strong stand reactions:


0x40916100 0x00070001
0x08E414C4 0x00000000
0x20916134 0x033A033A - front
0x20916138 0x033A033A - CH
0x2091613C 0x033A033A - left
0x20916140 0x033A033A - right
0x20916144 0x033A033A - back
0x20916148 0x02870287 - block
0x2091614C 0x00BC00BB - ground

air reactions:
0x40916200 0x00070001
0x08E4147C 0x00000000
0x20916230 0x0000FE70 - height -190
0x20916234 0x000B0007 - front
0x2091623C 0x000B0007 - left
0x20916240 0x000B0007 - right
0x20916244 0x000B0007 - back

stand reactions:
0x40916300 0x00070001
0x08E414C4 0x00000000
0x20916334 0x01E101E1 - front
0x20916338 0x00ED00ED - CH
0x2091633C 0x00EB00EB - left
0x20916340 0x00EA00EA - right
0x20916344 0x00EC00EC - back
0x20916348 0x02A602A6 - block
0x2091634C 0x00BC00B9 - ground

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

=>38 area
0x20913000 0x0000000E - on Eth frame..
0x20913004 0x000080BA - ..speed turns..
0x20913008 0x00001000 - ..to default
0x2091300C 0x00000016 - on 16th frame..
0x20913010 0x0000805C - .."strong" mode..
0x20913014 0x00000000 - ..is off
==========================================================================
if you have two animations then it's much easier, you no need the charging method
which i explained before
pity, usually in Tekken "hold input" moves have only one animation
ok, for example you set b+2 move on 09110000, b+2,1* on 09120000 and b+2,1 on
09130000
then i would apply them like this
0xE00101E7 0x00407D1C - if native b+2 move
0x20407D24 0x09110000 - then new b+2 move
0xE0050911 0x00407966 - if while new b+2 move
0xE0040000 0x00407964
0xE0030012 0x20407940 - if less 12 fremes
0xE1020001 0x00407D3D - if press 1
0x20407D10 0x00000012 - then on 12th frame..
0x20407D24 0x09120000 ..will start b+2,1*
0xE0050912 0x00407966 - if while b+2,1*
0xE0040000 0x00407964
0xE0030028 0x20407940 - if less 28 frames (it's original value)
0xE1020001 0x10407D3D - if don't press 1
0x20407D10 0x00000012 - then on 12th frame..
0x20407D24 0x09130000 - ..will start b+2,1
==========================================================================
For camera use 056F1F0, 056F1F4, 056F1F8 - point of camera position
And 056F200, 056F204, 056F208 - point of camera target
===========================================================================
3) 04082D4 regulates height of P2 in the air (not including launchers)
Line
_L 0x30300001 0x004082D6
Adds 1 to the first four digits of value on 04082D4 for each frame
(as you found, it depends on refresh rate)
================================================================================

_C0 homing effect


_L 0xE01DRRRR 0x004078B4
_L 0xE01DNNNN 0x00407A18
_L 0x00407A86 0x0000000A
_L 0xE00100XX 0x20407940
_L 0x00407A86 0x0000000@
@=1 FOR RIGHT TO LEFT
@=2 FOR LEFT TO RIGHT
HOMING PROPERTIES=>38
00000001
0000814V
00000001
000000YY = [50] + E
0000814V
00000000
V = 8 FOR LEFT PUNCH
9 FOR RIGHT PUNCH
A FOR LEFT KICK
B FOR RIGHT KICK
=================================================================
It's not hard, just make two custom moves and string them by such slot
0x00000000 0x00000010
0x00000004 0x00000000
0x00000008 0x08E410B8
0x0000000C 0x08E423B4 - pointer to "parallel" connection
0x00000010 0x00000010
0x00000014 0x00000010
0x00000018 0x00000010
0x0000001C 0x0150XXXX
Then intercept it
0xE001XXXX 0x00407D1C
0x20407D24 0xYYYYYYYY
That's all. btw PowerCrash codes use parallel connection too
I understood that you will not use it with Paul's RA but it's important thing, you
should know how it works
====================================================================
I will try to find a way how to force Lili's penguins slide faster
For now let's make it with Anna (Nurse Legwear required)
Move:
0x20884008 0x09084078 - pointer to Eliza's qcf+2 animation
0x20884014 0x08E61530
0x20884020 0x08E41464
0x20884024 0x0000004C
0x20884038 0x09120000 - pointer to effects
We can leave this move without hit because we set it in =>38
Effects:
0x20920000 0x00000018
0x20920004 0x000081E4
0x20920008 0x02000007 - attack voice number 7
0x2092000C 0x0000001C
0x20920010 0x000081E4
0x20920014 0x0C000002 - sound from bazooka item move
0x40920018 0x00070003 - write "20" value, 7 times, on every 3rd line
0x00000020 0x00000000
0x2092001C 0x00008129
0x20920020 0x000000FA - speed of item
0x20920028 0x0000812A
0x2092002C 0x00000010 - direction (upper/lower)
0x20920034 0x0000812B
0x20920038 0x00000052 - reaction number (not equal to 0408348)
0x20920040 0x0000812E
0x20920044 0x00000014 - damage
0x2092004C 0x0000812F
0x20920050 0x0000031F - hit rank
0x20920058 0x00008130
0x2092005C 0x00000200 - direction (left/right)
0x20920064 0x00008140
0x20920068 0x00000018 - effect turn on (values are different for each item move)
===================================================================================
====
54 PROPERTY
0988-7988=BACK
8988-F988=FORWARD
8,9,A,B,C,D,E,F,0,1,2,3,4,5,6,7
===================================================================================
====
BODY SIZE:

04D434C=>9BA4380=>150=WAIST;270=NECK
WAIST1:
9BA4440
9BA4444
9BA4448
WAIST2:
9BA44D0
9BA44D4
9BA44D8
STOMACH:
9BA4560
9BA4564
9BA4568
NECK1:
9BA45F0
9BA45F4
9BA45F8
NECK2:
9BA4680
9BA4684
9BA4688
RIGHT SHOULDER1:
9BA4710
9BA4714
9BA4718
RIGHT SHOULDER2:
9BA47A0
9BA47A4
9BA47A8
RIGHT ARM:
9BA4830
9BA4834
9BA4838
RIGHT HAND:
9BA48C0
9BA48C4
9BA48C8
LEFT SHOULDER1:
9BA4950
9BA4954
9BA4958
LEFT SHOULDER2:
9BA49E0
9BA49E4
9BA49E8
LEFT ARM:
9BA4A70
9BA4A74
9BA4A78
LEFT HAND:
9BA4B00
9BA4B04
9BA4B08
RIGHT THIGH:
9BA4B90
9BA4B94
9BA4B98
RIGHT CALF:
9BA4C20
9BA4C24
9BA4C28
RIGHT LEG:
9BA4CB0
9BA4CB4
9BA4CB8
LEFT THIGH:
9BA4D40
9BA4D44
9BA4D48
LEFT CALF:
9BA4DD0
9BA4DD4
9BA4DD8
LEFT LEG:
9BA4E60
9BA4E64
9BA4E68
RIGHT FOOT:
9BA4EF0
9BA4EF4
9BA4EF8
LEFT FOOT:
9BA4F80
9BA4F84
9BA4F88
==========================================================================
Fingers:
1. In the root by =>38
2. While performing by
0x2040811C 0xVVVV0000 - right fingers
0x20408120 0x00SSRRRR
and
0x20408130 0xVVVV0000 - left fingers
0x20408134 0x00SSRRRR
VVVV - Value, from 3F800000 to 42300000, a "step" depends on the range:
from 3F800000 to 41000000 step is 00800000,
from 41000000 to 41800000 step is 00100000,
from 41800000 to 42000000 step is 00080000,
from 42000000 to 42300000 step is 00040000
SS - smooth time of transition from previous gesture to the current one.
RRRR - you no need it now

===================================================================================
=====
04078E0 regulates which movebase P1 has and shows where this movebase places
(Paul/Alisa system), values are:
086A8800 - the first area
08754400 - the second area
08E40CD0 - P0 area (P1 and P2 take it when a stage is not loaded)
Which areas characters will take depends on characters' numbers,
Who has a bigger number that take the first area.
For example you choose Yoshi vs Nina, Yoshi's number is 04, Nina's number is 05,
Her number is bigger so she will take 086A8800, Yoshi will take 08754400
We choose Paul and Alisa because Paul number is 00 (the first), and Alisa's number
is 29 (the last).
086A8800, 08754400 and 08E40CD0 are pointers to the first addresses of movebases
including all move properties (not including animations).
Well,
0x604078E0 0x08CB7000 (i will call it typeA)
0x00020001 0x000606E8
Is the same to
0xE002028C 0x00407A18 - d+1
0x60407964 0x08CB7000 (i will call it typeB)
0x00020001 0x00000034
Choose Jin vs Paul, do d+1, value on 0407964 is 08708EB4
We use it as a pointer with offset 34, so 08708EB4 + 34 = 08708EE8
Value on 04078E0 is 086A8800,
In typeA i used it as a pointer with offset 606E8, so 086A8800 + 606E8 = 08708EE8.
As i said it's the same but why i used typeA instead of typeB
Because if you change some move properties such as =>34 sounds, with typeB, the
changes will not work on the first time, only from the second.
But typeA allow you to apply changes instantly
===================================================================================
=
You cannot copy position from P1 to P2 and turn P2 on 180 degrees during only one
frame.
You should do it in two steps - one frame is copy, another frame is turning.
However, when i started to make RAtk system i was making it with four wall
reactions
Front - 09051600
Left - 0905D8B4
Right - 0905EE0C
Back - 0905C3DC
And i still sure it's the best way
There are even a few addresses which shows opponent's side near a wall 04083C4,
04083C8, 0408488 but i didn't use them.
I did a permanent wallsplat for each of stand and air reactions,
In Rage Drives the impact is so strong that it looks ok.
For example if PAU qcf+2 hits a back turned opponent in the air (like in the gif)
then opponent's reaction number is 1B
So,
0xE00?001B 0x00408348
0xE00?0001 0x00408388 - common P2 wall detector
0x20408640 0x00000000
0x20408654 0x custom move with 0905C3DC animation
=========================================================
_C0 JIN Rage (v2)
_L 0xE01D0009 0x004078B4
_L 0xE00C0001 0x00407D40 => if it's pre-battle mode ("Ready?", "Fight!")
_L 0xE0020052 0x00407C78 => if it's 52nd frame of current mode (now i prefer to use
04140B0)
_L 0x20407A18 0x00008000 => custom move number
_L 0x00407B4E 0x00000040 => rage is on
_L 0xE0080038 0x00407C78 => if it's 38th frame of current mode (it's like a timer)
_L 0x20407950 0x00000000 => then current move sets to 0th frame
_L 0xE0068001 0x00407A18
_L 0xE0021874 0x00407964
_L 0x20407964 0x087066D4
_L 0x20407968 0x087066D4
_L 0xE002D474 0x00407964
_L 0x20407964 0x087B22D4
_L 0x20407968 0x087B22D4
=================================
_C0 Cut of Time
_L 0xD0000002 0x10000200 - if press R button (right trigger)
_L 0x204140B8 0x0000000C - game mode is "pause" (everything freezes on the stage)
_L 0x6056F1E4 0x00000001 - camera unfreezes
_L 0x00000001 0x00000064
_L 0xD0000001 0x10000220 - if press R+right
_L 0x2056F284 0x3C100000 - camera flies to right around characters
_L 0x1015350C 0x00003F78 - with a little zoom in
_L 0xD0000001 0x10000280 - if press R+left
_L 0x2056F284 0xBC100000 - camera flies to left around characters
_L 0x1015350C 0x00003F78 - with a little zoom in
_L 0xD0000001 0x30000200 - if R button not pressed
_L 0x204140B8 0x00000016 - game mode is "practice"
_L 0x1015350C 0x00003F80 - default zoom

_C0 SlowMo v2.3 Master (23d8f5s)


_L 0xE0010004 0x20407C78 - if timer shows less 4 frames (current mode just begun)
_L 0x20407CA0 0x00000014 - second timer starts from 14th frame
_L 0xE0030020 0x20407CA0 - if second timer shows between 8 and 20 frames
_L 0xE0020008 0x30407CA0
_L 0x20452890 0x00000001 - then speed of game is default (assumes 60fps)
_L 0x2056F270 0x3DCC0000 - speed of camera is default
_L 0xE01D0003 0x304140B8 - if game mode is more 3 (0, 1 and 2 are intros)
_L 0xE01D0007 0x104140B8 - if game mode is not 7 (winpose)
_L 0xE01D000A 0x104140B8 - if game mode is not A (getups between rounds)
_L 0xE01D0017 0x204140B8 - if game mode is less 17 (17 is demo in practice, 19 is
download, etc.)
_L 0xE00408E4 0x10408656 - if P2 does not perform P0 moves (assumes kirimomis)
_L 0xE0030017 0x30407A04 - if damage of P1's move more 17 (23 in dec)
_L 0xE1020010 0x00407B4C - if P1 hits P2
_L 0xE0010000 0x10408494 - if P2 gets damage
_L 0x20407CA0 0x00000000 - second timer resets
_L 0xE01D0008 0x20407CA0 - if second times shows less 8 frames
_L 0x2056F224 0x40000000 - strong zoom in
_L 0x2056F270 0x3F400000 - camera flies slow
_L 0x20452890 0x00000005 - speed of game is 1/5 (about 12fps)

===========================================================================
yes, pointers from 049D550 to ~049D680 regulate P2 customize items
you can combine items there
for example set a head item as aura category (pointer)
http://sadamitsu.ru/other/image/yos2sh.jpg
or set three same items for different categories (pointers)
http://sadamitsu.ru/other/image/jin...e_hair_test.png
or even disable an item http://sadamitsu.ru/scr/alysa.jpg

Hei uses animation of Jin's intro from Arcade battle, for Nina and Anna i was
modifying the first frame of an animation while intro mode too.
because while intro/winpose modes characters can walk throught walls.
mig2.jpg: items are part of an animation only if value on first animation address
is 00190064, 001B0064 etc.
while MIG's 136th move (guitar item move) he has animation which starts with
00170064 (default kind), so, it's not matter of animation.
there is an area from 04BF290=>68 to ~04BF3B0 which shows pointers to customization
items of P1.
btw, Master Raven's RA throw starts with 001B0064,
so if you equip Christie or Nina (or whom you use as Master Raven) with Naginata
and change scale of item then... i think there is a way to use it as her sword
don't ask me how to do it ))) i just guess

You might also like