Jump animation Start

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

0008a35c: 27bdffc0 addiu r29,r29,0xffc0
0008a360: afb00030 sw r16,0x0030(r29)
0008a364: 00808021 addu r16,r4,r0
0008a368: afbf0038 sw r31,0x0038(r29)
0008a36c: afb10034 sw r17,0x0034(r29)
0008a370: 8e11008c lw r17,0x008c(r16)		load distortion var
0008a374: 8e020028 lw r2,0x0028(r16)
0008a378: 8e03002c lw r3,0x002c(r16)
0008a37c: 8e040030 lw r4,0x0030(r16)
0008a380: 8e050034 lw r5,0x0034(r16)
0008a384: afa20020 sw r2,0x0020(r29)
0008a388: afa30024 sw r3,0x0024(r29)
0008a38c: afa40028 sw r4,0x0028(r29)
0008a390: afa5002c sw r5,0x002c(r29)
0008a394: 8e030088 lw r3,0x0088(r16)
0008a398: 00000000 nop
0008a39c: 10600005 beq r3,r0,0x0008a3b4
0008a3a0: 34020001 ori r2,r0,0x0001
0008a3a4: 1062001b beq r3,r2,0x0008a414
0008a3a8: 00000000 nop
0008a3ac: 0802291a j 0x0008a468
0008a3b0: 00000000 nop
if counter = 0
0008a3b4: 0c01f4fd jal 0x0007d3f4		0007d3f4 - 0007d474 - returns height of mount
0008a3b8: 02002021 addu r4,r16,r0
0008a3bc: 00021023 subu r2,r0,r2		height of mount
0008a3c0: 3c038009 lui r3,0x8009
0008a3c4: 8c636128 lw r3,0x6128(r3)		relevant to weapon sheathe check?
0008a3c8: 24420120 addiu r2,r2,0x0120
0008a3cc: 00430018 mult r2,r3
0008a3d0: 00002012 mflo r4
0008a3d4: 0c00709a jal 0x0001c268			Get_Square_root_of_r4_dealing_with_4096
0008a3d8: 00042040 sll r4,r4,0x01		obtain sqrt(*80096128 x abs(Mount Height mod))
0008a3dc: 02002021 addu r4,r16,r0
0008a3e0: 3c058009 lui r5,0x8009
0008a3e4: 8ca56128 lw r5,0x6128(r5)
0008a3e8: 00021823 subu r3,r0,r2		negative of square root?
0008a3ec: 0045001a div r2,r5			square root/*80096128
0008a3f0: 00008812 mflo r17
0008a3f4: 0c01fc90 jal 0x0007f240
0008a3f8: afa30024 sw r3,0x0024(r29)		store negative of root in stack
0008a3fc: 8e020144 lw r2,0x0144(r16)		load status flags 5 and 6, (blank 7 and 8 sets)
0008a400: 8e030088 lw r3,0x0088(r16)		load distortion counter
0008a404: 34420200 ori r2,r2,0x0200		sets flag 0x20 in status flags 6? (no use?)
0008a408: 24630001 addiu r3,r3,0x0001
0008a40c: ae020144 sw r2,0x0144(r16)		store again
0008a410: ae030088 sw r3,0x0088(r16)		increment distortion counter
if counter = 1, 0
0008a414: 1a20000d blez r17,0x0008a44c		branch if square root/* <= 0
0008a418: 34040002 ori r4,r0,0x0002		r4 = 2
0008a41c: 8e02001c lw r2,0x001c(r16)		load height mod
0008a420: 8fa30024 lw r3,0x0024(r29)		load negative of root from stack?
0008a424: 00000000 nop
0008a428: 00431021 addu r2,r2,r3		move unit further towards height of mount
0008a42c: ae02001c sw r2,0x001c(r16)		store
0008a430: 8fa20024 lw r2,0x0024(r29)
0008a434: 3c038009 lui r3,0x8009
0008a438: 8c636128 lw r3,0x6128(r3)
0008a43c: 00000000 nop
0008a440: 00431021 addu r2,r2,r3		add square root and 80096128?
0008a444: 08022919 j 0x0008a464
0008a448: afa20024 sw r2,0x0024(r29)		store again
if r17 <= 0
0008a44c: 86050070 lh r5,0x0070(r16)		load current facing
0008a450: 02003021 addu r6,r16,r0		move unit data into r6
0008a454: ae0002e8 sw r0,0x02e8(r16)		clear unused?
0008a458: a2000298 sb r0,0x0298(r16)		clear shadow
0008a45c: 0c020662 jal 0x00081988		Store unit animation/facing/someothervalue - sets 0x20 flag in motion flags. jump.
0008a460: a2000087 sb r0,0x0087(r16)		clear distortion type
0008a464: 2631ffff addiu r17,r17,0xffff	square root, thing? - 1
0008a468: 8fa20020 lw r2,0x0020(r29)
0008a46c: 8fa30024 lw r3,0x0024(r29)
0008a470: 8fa40028 lw r4,0x0028(r29)
0008a474: 8fa5002c lw r5,0x002c(r29)
0008a478: ae020028 sw r2,0x0028(r16)
0008a47c: ae03002c sw r3,0x002c(r16)
0008a480: ae040030 sw r4,0x0030(r16)
0008a484: ae050034 sw r5,0x0034(r16)
0008a488: 0c02255f jal 0x0008957c
0008a48c: 02002021 addu r4,r16,r0
0008a490: ae11008c sw r17,0x008c(r16)		store new distortion var
0008a494: 8fbf0038 lw r31,0x0038(r29)
0008a498: 8fb10034 lw r17,0x0034(r29)
0008a49c: 8fb00030 lw r16,0x0030(r29)
0008a4a0: 27bd0040 addiu r29,r29,0x0040
0008a4a4: 03e00008 jr r31
0008a4a8: 00000000 nop