[DOC][FE7U, FE8U] Notes on TSA Animes of FE8U Break-Stone Anime and FE7U Limstella's Lightning and more

,

My original goal is to port FE7 Lightning animation to FE8, but got stuck when decompressing TSA. The following is the progress of my work. You can use these materials to achieve some other animation effects, or continue on it.

Now we have achieved free TSA Anime management.

1. FE7U Lightning

On reference to here and here,you can set such Event Code to call a lightning in FE7U:

_0xE1
_0xE0 0xFFFFFFFF 0x4 0x80 0x802 // Screen dims
SOUN 0xF5
_LIGHTNING 0xD0 0x00 0x00 0x00 0xD0 0x00 0x00 0x00
_0xE0 0xFFFFFFFF 0x4 0x100 0x1004 // Screen un-dims
ENDA

2

Using the same method as FE8U’s, we can find that the function it corresponds is Event ID=0xDD → 0x8011465

Inside this function, it insert Proc 0x8B92140:

	_6C_YIELD
	_6C_CALL_ROUTINE(0x801138D)
	_6C_WHILE_ROUTINE(0x80AA719)
	_6C_CALL_ROUTINE(0x8011431)
	_6C_END

In the first proc function, 0x801138D. The real Lightning Anime proc, 0x8CE4CB0 is started and a Gfx set pointer, 0x8B92074, in which the first WORD value is set as a flag, and the game start the judgment from 0x80AE60A: 0x3=Pal, 0x1=Gfx, 0x2=TSA.

2. FE8U Break Stone Anime

In FE8U, you can write down such event code to get stone-break anime:

SVAL 0x2 Eirika
/*
CALL 0x9EEBB8
*/
STARTFADE
COLORFADE_FADE [0,32] 8 128 128 128
STAL 30
BREAKSTONE 0xFFFD
COLORFADE_FADE [0,32] 4 256 256 256
ENUN

1

Code BREAKSTONE 0xFFFD Corresponds to data:

SHORT 0x4420 0xFFFD

Refer to Master EA Doc of StanH, this event ID = 0x44, which is calling function 0x801D28, inside which, it called function 0x8012CFD. You can also use such ASMC to get Break-Stone Anime independently:

CallBreakStone:
	push	{r4-r7, lr}
	@ r0 should be ParentProc
	mov		r4, r0
	
	ldr		r0, =gUnitArrayBlue
	mov		r1, r4
	blh		0x8012CFD		@ (Unit*, Proc*)
	
.End:
	pop		{r4-r7, pc}

Inside function 0x8012CFD, it insert two proc:

@inside function 8012CFD
...
ldr r0, =0x8592608
bl ProcStartBlocking
...
bl 0x80AE7C4 @ r0=0x8592628
...


@ Inside function 80AE7C4
...
ldr r0, =0x8A20DFC
bl ProcStart

The latter proc, 0x8A20DFC works on showing Break-Stone Anime, inside which it loops function 0x80AE518 to show Gfx on BG2.

3. Some other weird FE8U TSA Anime

3.1. The coming of the Devil

ASMC 0x7F879
ENUN

3
8

3.2. Shining Floor

STARTFADE
COLORFADE_FADE [0,32] 8 128 128 128
STAL 30
ASMC 0x7FCC1
COLORFADE_FADE [0,32] 4 256 256 256
ENUN

5

3.3. Shining for scared stone

EVBIT_T 0x7
ASMC 0x8080475
STAL 60
ENUN

7
7

3.4. GlowingCross

STARTFADE
COLORFADE_FADE [0,32] 8 128 128 128
STAL 2
GLOWINGCROSS Eirika
STAL 30
GLOWINGCROSS_END
COLORFADE_FADE [0,32] 4 256 256 256
ENUN

6

3.5. Warp out

SVAL 0x2 Eirika
CALL 0x9EE51C

8

4. Reasons for port failure

The problem is on decompress process of TSA.

In FE8U’s Stone Break, it decompress TSA at Location 0x80AE6BE.
In FE7U’s Lightning, it decompress TSA at 0x80AA68C.

They use different way.
Now we have succeeded (see the top!).

6 Likes

Since warp is an event called by call, it can be further subdivided by looking inside it.
Event 0x41 is responsible for Warp IN and Warp Out.

All TSA Animation addresses are known.


The format is a bit similar to the TSA animation, but the addresses of some of the magic animations are known.

Got it~
In addition, 7743, would you like to consider adding the function of unpacking FE7U’s lightning animation on FEB According to the FE7U address I provided above?
To be honest, for now, I can only use FEB to import and export TSA Anime pictures. Therefore, if there can be any way to export Lightning Anime Gfx in FE7U, we should be able to achieve the similar lightning anime on FE8U.
お願い!

I’m not very interested in FE7 analysis.
I think it’s better to implement an animation framework based on Skill Animation in FE8.
Because SkillAnimation is defined by SkillSystems, FEBuilderGBA has the ability to import it.
The same is true for buildfile users.

And SkillAnimation can define only one sound data at the same time.
I think this will meet most specifications.

A precedent for displaying animations on a map has been implemented by Leonarth.
However, he created his own animation format, so it’s hard to support it.
His animation format was a unique format that was different from battle animation and Skill Animation.

I think creating standard-format animations that the tool can handle will lead to the development of this field.
However, it has not been realized yet because it requires a considerable amount of effort to do so.
I have a lot of work to do besides animation.

1 Like

TSA DIY Animes now have been achieved. Click Here!