Users browsing this thread: 1 Guest(s)
All About Battle Events

#11
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
Tracing the code with the debugger back to the animation bytes (Same bahamut example, 0D 05 00 01) leads to:
Code:
Headerless!
D0/8E05: 10
D0/8E06: FF
D0/8E07: FF
D0/8E08: 30
D0/8E09: 02
D0/8E0A: FF
D0/8E0B: FF
D0/8E0C: 00
D0/8E0D: 00
D0/8E0E: 00
D0/8E0F: 00
D0/8E10: 42
D0/8E11: FF
D0/8E12: FF

And I don't have any idea how that works. I tried summoning custom espers, but it seems like a specific mold is used for each esper. For example, replacing Bahamut by Alexander will only summon a glitched Alexander sprite.
Quote  

#12
Posts: 341
Threads: 12
Thanks Received: 0
Thanks Given: 2
Joined: Sep 2010
Reputation: 5
Status
None
Have you found where the "Step Forward" or "Step Back" animations are that get used for the Startup/Finish animations of skills like Tools, Jump, Dance, Shock?

In particular, I have a modified Shock command in my hack and whenever he uses it, he takes a step back that is unnecessary, causing him to eventually end up off-screen (after maybe three uses?). I would -love- to be able to edit this, but I have no idea where to look.
Quote  

#13
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(05-11-2012, 02:44 AM)DjinnAndTonic Wrote: Have you found where the "Step Forward" or "Step Back" animations are that get used for the Startup/Finish animations of skills like Tools, Jump, Dance, Shock?

In particular, I have a modified Shock command in my hack and whenever he uses it, he takes a step back that is unnecessary, causing him to eventually end up off-screen (after maybe three uses?). I would -love- to be able to edit this, but I have no idea where to look.

Well I probably won't solve your issue but I saw the same problem in a animation I was testing: http://www.youtube.com/watch?v=61CkW_YrdIY

It's not related to battle event but to the intro/outro of the kind of move you perform I think (blitz, swtech, magic, etc...) This part cannot be edited in FF3usME I think like the animation itself. I haven't really looked deeper into it.
  Find
Quote  

#14
Posts: 341
Threads: 12
Thanks Received: 0
Thanks Given: 2
Joined: Sep 2010
Reputation: 5
Status
None
Yeah, I know it's related to the intro/outro, but I assumed the commands might be similar if we could just find where intro/outro animations are stored.
Quote  

#15
Posts: 341
Threads: 12
Thanks Received: 0
Thanks Given: 2
Joined: Sep 2010
Reputation: 5
Status
None
Trying to sort through the Gau recruitment scene. I got lost during the end of it where the screen fades to black, music changes, and the Imp shows up to tutorial about Leap/Rage. Need help annotating if anyone can?

Assumes a headered ROM, typed by hand, so possibly misformatted in parts?
Code:
Give Gau Dried Meat (D0/AC21)
11 - Open dialog window at bottom of the screen
0E - Begin action
03 0B - Gau's action
88 AC - Gau hops around the screen, blinking a lot
0F - End action

0E 03 05 - Begin Sabin's action
21 AD 0F - Sabin goes into Ready pose, end

01 3A - Display message $3A "SABIN: What the...?"
01 4C - Display message $4C "CYAN: Thou art so... odd."

0E 03 02 - Begin Cyan's action
2D AD 0F - Cyan spins around once quickly, end

01 3B - Display message $3B "I'm CYAN and he's SABIN."
01 3C - Display message $3C "You SABIN... you CYAN, me want more food!!

0E 03 0B - Begin Gau action (connected to Sabin)
46 AD  - Gau jumps backward across screen
04 05 - Begin Sabin simultaneous action? (connected to Gau)
59 AD - Sabin jumps forward across screen
0F - End action

01 3D - Display message $3D "SABIN: No more for you."
01 3E - Display message $3E "GAU: You go... get more for me."

0E - Begin Action
03 0B - Queue for Gau
6C AD - Gau hops backward
04 05 - Queue for Sabin
A4 AD - Sabin hops forward (with Gau)
0F - Execute action, End

01 3F - Display message $3F "SABIN: You're a regular munchkin!
01 F8 - Display message $F8 "GAU: And you... afraid of me!

0E - Begin action
03 0B - Queue for Gau
7A AD - Gau hops forward
04 05 - Queue for Sabin
B2 AD - Sabin hops backward
0F - Execute, End action

01 40 - Display message $40 "SABIN: You wanna fight?

0010ac64  0e 03 0b - Begin action for Gau
88 ad - Gau hops forward again
04 05 c0 ad 0f  - Sabin simultaneously hops backward again

01 41 - Display message $41 "GAU: Me not wanna hurt you..."

0e 03 0b - Begin action Gau
96 ad - Gau hops forward again
04 05 ce ad 0f - Sabin simultaneously hops backward again

01 42 - Display message $42 "SABIN: Stop looking at me like that!"

0e 03 0b dc ad 04 05 5d ae 0f - Gau and Sabin hop around like idiots and stop mid-screen.

01 4d - Display message $4D "SABIN: Wheeze.. puff...! You're pretty tough!"

0010ac88  
01 f9 - Display message $F9 "GAU: Wah, ha!"

0e - Begin action
03 0b - Queue for Gau
de ae - Gau hops around like an idiot then laughs
04 05 - Queue for Sabin
6e af - Sabin hops around like an idiot with Gau then keeps hopping before landing mid-screen, facing Gau
0f - Execute and end action

01 43 Display message $43 "GAU: Me like dancing!

0e 03 05 ef af 0f - Sabin raises and drops arms

01 44 - Display message $44 "SABIN: Shut up!!

0e - Begin action queue
03 02 - Queue Cyan
fd af - Cyan jumps between Gau/Sabin, faces down, blinks
04 0b - Queue Gau
1a b0 - Gau is pushed backward slightly, faces down
05 05 - Queue Sabin
38 b0 - Sabin is pushed backslightly, faces down
0f- Execute and End action queue

0010acac  
01 45 - Display message $45 "CYAN: Simmer down, sirs! And thou, o wild one... who might thou be?"

0e 03 0b 56 b0 - Gau moves diagnally up/right and faces Cyan
04 02 15 b4  - Cyan faces left
05 05 15 b4 0f - Sabin faces left

01 46 - Display message $46 "GAU: Thou?"

0e 03 0b 74 b0 - Gau jumps diagonally downward/right
04 02 09 b4 - Cyan faces down
05 05 09 b4 0f - Sabin faces down

01 47 - Display message $47 "GAU: Thou! Thou!"

0e 03 0b 8a b0 - Gau jumps to the left side of the screen
04 02 15 b4 - Cyan faces left
05 05 15 b4 0f - Sabin faces left

01 47 - Display message $47 again "GAU: Thou! Thou!"

0e 03 0b a0 b0 - Gau jumps to the right side of the screen
04 02 0f b4 - Cyan faces right
05 05 0f b4 0f - Sabin faces right

01 47 - Display message $47 again "GAU: Thou! Thou!"

0e 03 0b b6 b0 - Gau jumps to the middle of the screen
04 02 1b b4 - Cyan faces up
05 05 09 b4 0f - Sabin faces down at Gau

01 47 - Display message $47 again "GAU: Thou! Thou!"

01 48 - Display message $48 "GAU: You angry?"

0e 03 05 cc b0 0f - Sabin moves diagonally up/right and faces left

0e 03 0b df b0 0f - Gau moves slightly upward toward Cyan

01 49 - Display message $49 "GAU: CYAN! You angry... me?"

0e 03 0b f2 b0 0f - Gau moves diagonally left/up and faces right in crouching pose

01 49 - Display message $49 "GAU: CYAN! You angry... me?"

0e 03 0b 05 b1 0f - Gau moves right (through Cyan) and faces left in crouching pose

01 49 - Display message $49 "GAU: CYAN! You angry... me?"

0e 03 05 18 b1 - Sabin turns and walks to the right side of the screen, then faces left
04 0b 30 b1 0f - Gau is dragged along the same path in crouching pose, then faces right (still crouched)

01 4a - Display message $4A "SABIN: Listing, his family was just...

0e 03 0b 43 b1 0f - Gau, crouched, turns and slides diagonally up/left to Cyan

01 4b - Display message $4B "GAU: Me understand... me sorry. Me not mean person...

0e 03 02 0f b4 0f - Cyan faces right

01 9e - Display message $9E "CYAN: Look! We can't have ye two prancing 'round all day! GAU, I think we're going to get on well together. Why don't you join us?

0e 03 0b 56 b1 - Gau (not crouched) hops slightly down/left
04 02 09 b4 - Cyan faces down
05 05 09 b4 0f - Sabin faces down

01 9f - Display message $9F "GAU: Ah! I give you present! GAU give CYAN and SABIN nice gift in thanks for food!

0e 03 0b 1b b4 - Gau faces upward
04 02 0f b4 - Cyan faces right
05 05 69 b1 0f - Sabin performs "wags finger" animation

01 a0 - Display message $A0 "SABIN: What sort of rubbish do you suppose he's gonna...?"

0e 03 0b 76 b1 - Gau raises and drops arms continually
04 02 09 b4 0f - Cyan faces down

01 a1 - Display message $A1 "GAU: GAU's treasure... shiny, shiny!! Shiny, shiny, shiny!

0e 03 05 83 b1 - Sabin hops left/down slightly and assumes "looking down/left" pose
04 02 0f b4 - Cyan faces right
05 0b 0f b4 0f - Gau faces right

01 a2 - Display message $A2 "SABIN: Can anything be THAT shiny?
01 a3 - Display message $A3 "GAU: Does Mr. Thou like shiny thing?

0e 03 05 15 b4 0f - Sabin faces left

01 a4 - Display message $A4 "SABIN: Mr. Thou's that one, over THERE!!

0e 03 05 96 b1 0f - Sabin faces down, closed eyes pose

01 4e - Display message $4E "A shiny thing, eh...? Think how jealous LOCKE's gonna be when he hears about this!

0e 03 0b 9f b1 - Gau walks right/up to Sabin
04 05 15 b4 0f - Sabin faces left

01 a5 - Display message $A5 "GAU: Who be LOCKE? He bad man? Maybe he try steal my treasure!

0e 03 0b b4 b1 0f - Gau spins around in place continually, arms raised

01 a6 - Display message $A6 "SABIN: LOCKE? Well, he's...

0e 03 05 bc b1 0f - Sabin raises his arms, still facing left

01 a7 - Display message $A7 "SABIN: Listen when someone's talking to you!

0e 03 02 0f b4 0f - Cyan faces down?

0e 03 02 09 b4 - Cyan faces down?
04 05 15 b4 0f - Sabin lowers his arms, still facing left

01 a8 - Display message $A8 "CYAN: I think he's trying to tell us something."

0e 03 05 cb b1 0f - Sabin faces down, blinks continually

01 a9 - Display message $A9 "SABIN: Urgh... all right... carry on..."

0e 03 0b da b1 - Gau runs diagonally down/left to the bottom middle of the screen, crouches and stands several times, then faces up
04 05 09 b4 0f - Sabin stops blinking, still facing down

01 aa - Display message $AA "GAU: Here! Here! Shiny thing here!!
01 ab - Display message $AB "GAU: SABIN, place where you buy food, it called Mobliz!
01 ac - Display message $AC "GAU: CYAN, place where you stand... river brought you there...
01 ad - Display message $AD "Now, we go Crescent Mountain! Shiny thing there"

0e 03 0b 17 b2 - Gau hops upward slightly
04 02 2c b2 - Cyan hops downward slightly
05 05 41 b2 0f - Sabin hops left slightly (all three get closer together, facing eachother)

01 ae - Display message $AE "CYAN: Look, let's just go along with him to this Crescent Mountain."

0e 03 0b 56 b2 - Gau begins walking calmly left offscreen
04 02 68 b2  - Cyan begins walking calmly left offscreen
05 05 7a b2 0f - Sabin begins walking calmly left, pauses mid-screen, faces downward

01 af - Display message $AF "SABIN: Phew... why'd we invite him along, anyway...?

0010adf0  
0e 03 0b 91 b2 0f - Gau walks (backward) back on-screen slightly, hops once (facing right, landing facing left)

01 b0 - Display message $B0 "GAU: Mr. Thou! Hurry up! We're leaving!!

0e 03 05 15 b4 0f - Sabin faces left

01 b1 - Display message $B1 "SABIN: Hey! I told you once, I'm not Mr. Thou!!!

0e 03 05 e1 b2 - Sabin runs left offscreen
04 0b e1 b2 0f - Gau runs left offscreen

0e 03 05 ec b3 0f

0e 03 05 f6 b2 0f

0e 03 05 09 b4 0f

01 b7
01 b2

0e 0d 03 05 ff 03 05 1a b3 0f

01 b3

0e 03 05 3a b3 0f

01 b4

0e 03 05 5f
(0010ae38)  
b3 0f

01 b5

0e 03 05 6e b3 0f

01 b5
01 b6

0e 03 05 7d b3 0f

01 9d

0e 03 05 98 b3 0f
0e 03 05 dd b3 04 05 fd b3 0f

10 ff 00 e0 c7 02 c7 0b 10 09 ff e1 00 d2 50 68 e7 c7 07 1f e5 02 03 00 c7 01 81 35 35 e1 01 ff 00 e0
0010ae80  c7 03 81 00 00 c8 00 ff 00 e0 c7 00 00 81 00 00 89 1f c8 07 1f 8a d2 60 40 e7 c7 07 1f e5 06 03 28 c7 01 d2
0010aea4  70 80 e7 c7 07 1f e5 05 03 28 c7 01 d2 80 48 e7 c7 07 1f e5 04 03 28 c7 01 d2 90 78 e7 c7 07 1f e5 03 03 28
0010aec8  c7 01 d2 a0 50 e7 c7 07 1f e5 02 03 28 c7 01 d2 b0 60 e7 c7 07 1f e5 01 03 28 c7 01 81 00 00 89 1f c8 0f 1f
0010aeec  1f 8a 89 1f c8 0e 1f 1f 8a 89 1f c8 10 1f 1f 8a d2 78 58 e7 c7 07 1f e5 02 03 00 c7 01 89 1f c8 10 1f 1f 8a
0010af10  d2 a8 58 e7 c7 07 1f e5 02 03 00 c7 01 81 35 35 ff 00 e0 c7 02 89 1f c8 0b 1f 1f 8a ff 00 e0 c7 02 84 08 81
0010af34  02 02 1f 81 35 35 1f 81 0f 0f 1f 81 05 05 1f 84 01 ff 00 e0 81 35 35 d2 60 58 e7 c7 07 1f e5 04 03 40 c7 01
0010af58  ff 00 e0 d2 78 58 e7 c7 07 1f e5 04 03 50 c7 01 81 05 05 ff 00 e0 d2 28 58 e7 1f e5 05 03 40 c7 01 ff 00 e0
0010af7c  d2 50 58 e7 1f e5 05 03 40 c7 01 ff 00 e0 d2 78 58 e7 1f e5 05 03 20 c7 01 ff 00 e0 d2 a0 58 e7 1f e5 05 03
0010afa0  10 c7 01 ff 00 e0 d2 40 58 e7 1f e5 05 03 40 c7 01 ff 00 e0 d2 68 58 e7 1f e5 05 03 40 c7 01 ff 00 e0 d2 90
0010afc4  58 e7 1f e5 05 03 20 c7 01 ff 00 e0 d2 b8 58 e7 1f e5 05 03 10 c7 01 ff 00 e0 81 00 00 c8 00 89 02 d2 a0 88
0010afe8  e7 c7 07 1f e5 03 03 28 c7 01 d2 c0 70 e7 c7 07 1f e5 03 03 28 c7 01 d2 c0 58 e7 c7 07 1f e5 03 03 28 c7 01
0010b00c  d2 a0 40 e7 c7 07 1f e5 03 03 28 c7 01 d2 78 40 e7 c7 07 1f e5 03 03 28 c7 01 d2 58 58 e7 c7 07 1f e5 03 03
0010b030  28 c7 01 d2 58 70 e7 c7 07 1f e5 03 03 28 c7 01 d2 78 88 e7 c7 07 1f e5 03 03 28 c7 01 8a d2 80 68 e7 1f e5
0010b054  05 03 40 c7 01 81 35 35 ff 00 e0 81 00 00 c8 00 89 02 d2 a8 88 e7 c7 07 1f e5 03 03 28 c7 01 d2 c8 70 e7 c7
0010b078  07 1f e5 03 03 28 c7 01 d2 c8 58 e7 c7 07 1f e5 03 03 28 c7 01 d2 a8 40 e7 c7 07 1f e5 03 03 28 c7 01 d2 80
0010b09c  40 e7 c7 07 1f e5 03 03 28 c7 01 d2 60 58 e7 c7 07 1f e5 03 03 28 c7 01 d2 60 70 e7 c7 07 1f e5 03 03 28 c7
0010b0c0  01 d2 80 88 e7 c7 07 1f e5 03 03 28 c7 01 8a d2 98 68 e7 1f e5 05 03 40 c7 01 81 05 05 ff 00 e0 81 00 00 c8
0010b0e4  00 89 01 d2 a0 88 e7 c7 07 1f e5 07 03 28 c7 01 d2 c0 70 e7 c7 07 1f e5 07 03 28 c7 01 d2 c0 58 e7 c7 07 1f
0010b108  e5 07 03 28 c7 01 d2 a0 40 e7 c7 07 1f e5 07 03 28 c7 01 d2 78 40 e7 c7 07 1f e5 07 03 28 c7 01 d2 58 58 e7
0010b12c  c7 07 1f e5 07 03 28 c7 01 d2 58 70 e7 c7 07 1f e5 07 03 28 c7 01 d2 78 88 e7 c7 07 1f e5 07 03 28 c7 01 8a
0010b150  d2 80 60 e7 1f e5 05 03 40 c7 01 89 08 84 08 81 1a 1a 1f 81 1b 1b 1f 84 01 8a 81 35 35 ff 00 e0 81 00 00 c8
0010b174  00 89 02 d2 a8 88 e7 c7 07 1f e5 07 03 28 c7 01 d2 c8 70 e7 c7 07 1f e5 07 03 28 c7 01 d2 c8 58 e7 c7 07 1f
0010b198  e5 07 03 28 c7 01 d2 a8 40 e7 c7 07 1f e5 07 03 28 c7 01 d2 80 40 e7 c7 07 1f e5 07 03 28 c7 01 d2 60 58 e7
0010b1bc  c7 07 1f e5 07 03 28 c7 01 d2 60 70 e7 c7 07 1f e5 07 03 28 c7 01 d2 80 88 e7 c7 07 1f e5 07 03 28 c7 01 8a
0010b1e0  d2 98 60 e7 1f e5 05 03 40 c7 01 81 05 05 ff 00 e0 81 00 00 89 1f c8 15 1f 8a c8 00 ff 00 e0 81 00 00 d2 88
0010b204  48 e7 c7 09 1f e5 06 03 50 c7 01 89 1f c8 0e 1f 1f 8a 81 02 02 ff 00 e0 89 0b 1f 8a d2 68 58 e7 c7 09 1f e5
0010b228  06 03 a0 c7 01 89 1f c8 0f 1f 1f 8a 81 02 02 ff 00 e0 89 0b 1f 8a d2 a0 58 e7 c7 09 1f e5 06 03 a0 c7 01 89
0010b24c  1f c8 10 1f 1f 8a 81 02 02 ff 00 e0 d2 78 48 e7 c7 07 1f e5 06 03 00 c7 01 d2 78 48 e7 1f e5 05 03 10 c7 01
0010b270  81 35 35 ff 00 e0 81 00 00 d2 88 78 e7 c7 07 1f e5 03 03 28 c7 01 81 02 02 ff 00 e0 81 00 00 d2 30 68 e7 c7
0010b294  07 1f e5 03 03 28 c7 01 81 05 05 ff 00 e0 81 00 00 d2 d0 68 e7 c7 07 1f e5 04 03 28 c7 01 81 35 35 ff 00 e0
0010b2b8  81 00 00 d2 88 68 e7 c7 07 1f e5 03 03 28 c7 01 81 0f 0f ff 00 e0 d2 b0 48 e7 c7 07 1f e5 01 03 00 c7 01 81
0010b2dc  05 05 ff 00 e0 d2 88 58 e7 c7 07 1f e5 01 03 18 c7 01 81 0f 0f ff 00 e0 d2 70 48 e7 c7 07 1f e5 06 03 00 c7
0010b300  01 81 44 44 ff 00 e0 d2 a0 48 e7 c7 07 1f e5 06 03 00 c7 01 81 14 14 ff 00 e0 81 00 00 c8 00 d2 e8 50 e7 c7
0010b324  07 1f e5 01 03 00 c7 01 81 05 05 ff 00 e0 d2 d0 50 e7 c7 07 1f e5 01 03 00 c7 01 81 44 44 ff 00 e0 d2 98 48
0010b348  e7 c7 07 1f e5 02 03 00 c7 01 81 14 14 ff 00 e0 d2 90 60 e7 c7 07 1f e5 02 03 28 c7 01 81 02 02 ff 00 e0 81
0010b36c  00 00 89 1f c8 20 1f 1f 8a ff 00 e0 81 00 00 89 1f c8 16 1f 1f 8a ff 00 e0 d2 d0 58 e7 c7 07 1f e5 03 03 20
0010b390  c7 01 81 1d 1d ff 00 e0 81 00 00 81 0b 0b ff 00 e0 c8 00 d2 b8 58 e7 c7 07 1f e5 02 03 00 c7 01 81 35 35 ff
0010b3b4  00 e0 81 00 00 c8 25 ff 00 e0 81 00 00 89 1f c8 1a 1f 8a 81 00 00 ff 00 e0 81 00 00 89 1f c8 0e 1f 8a 81 00
0010b3d8  00 ff 00 e0 c8 00 d2 88 80 e7 c7 07 1f e5 04 03 00 c7 01 c8 00 81 00 00 84 08 81 04 04 1f 1f 81 44 44 1f 1f
0010b3fc  81 04 04 1f 1f 81 44 44 1f 1f 81 04 04 1f 1f 81 44 44 1f 1f 1f 84 01 81 0f 0f ff 00 e0 c8 00 d2 88 70 e7 c7
0010b420  07 1f e5 02 03 10 c7 01 81 0f 0f ff 00 e0 c8 00 d2 88 50 e7 c7 07 1f e5 02 03 00 c7 01 81 02 02 ff 00 e0 c8
0010b444  00 d2 98 60 e7 c7 07 1f e5 03 03 18 c7 01 81 05 05 ff 00 e0 c7 02 81 00 00 c8 04 89 a0 86 60 1f 1f 1f 8a ff
0010b468  00 e0 c7 02 81 00 00 c8 04 89 a0 86 60 1f 1f 1f 8a ff 00 e0 c7 02 81 00 00 c8 04 89 28 86 60 1f 1f 1f 8a c8
0010b48c  00 81 02 02 ff 00 e0 c7 02 81 00 00 c8 04 89 3c 86 80 1f 1f 1f 8a 81 43 43 86 c3 1f 86 c2 1f 86 c2 1f 86 c2
0010b4b0  1f 86 c1 1f 86 c1 1f 86 c0 1f 86 c0 1f 86 c0 1f 86 20 1f 86 20 1f 86 20 1f 86 21 1f 86 21 1f 86 22 1f 86 22
0010b4d4  1f 86 22 1f 86 23 1f 81 00 00 c8 00 ff 00 e0 c7 02 81 00 00 c8 04 89 23 86 63 1f 8a c8 00 81 02 02 ff 00 e0





Quote  

#16
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(05-30-2012, 03:09 AM)DjinnAndTonic Wrote: Trying to sort through the Gau recruitment scene. I got lost during the end of it where the screen fades to black, music changes, and the Imp shows up to tutorial about Leap/Rage. Need help annotating if anyone can?

Assumes a headered ROM, typed by hand, so possibly misformatted in parts?

I could help you to finish it but it would take a few days. Have you made a few checkpoint at least by replacing an action with another random one to see if you were on the good action. It can be easy to skip one sometime or mislabel one. Doess all the code at the end need to be described as well? And There is no official format for battle event description. I took my format from FF3info.txt


With you consent, I would like to include this battle event in my large scale battle event project, which will contain every battle event described as much as possible. I would however adapt all the code like that:

Code:
************************************
*              SAMPLE              *
************************************
0E                    Begin action queue(s).
    03 00             Queue for Terra.
        2B 9D         Party and monsters flash 2 times (white).
    04 20             Queue for Wedge.
        02 9D         Character turn around 3 times on himself.
    05 21             Queue for Biggs.
        02 9D         Character turn around 3 times on himself.
0F                    Execute queues.
  Find
Quote  

#17
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Here is a rough draft of a battle events dump: download

It's a first draft. A subscript call in an action queue is actually an animation with a different scripting language. I'll try to focus on these next. I used the battle event titles found in this thread. I might included some text from the dialogues calls but right now the TOC does the job of finding the scripts.

Battle intro animations scripts are not included, simply because they are not battle events and they are scripted in the same manner as the animations subscripts.

If you have more info on the following main commands, please share! Commands $0D, $13 and $14 are used and unknown, $07 to $0C seems unused and are also unknown. Also if you find inaccuracies or errors in the dump, please let me know.

Code:
C1/FDBE:    0C97        (00)    (1 byte param, display text XX at top of screen)
C1/FDC0:    C196        (01)    (1 byte param, display dialogue XX at bottom of screen)
C1/FDC2:    E3FF        (02)    (no param, unused (RTS))
C1/FDC4:    78FF        (03)    (3 bytes params, animation queue for character XX following by subsscript $D0ZZYY call)
C1/FDC6:    78FF        (04)    (3 bytes params, animation queue for character XX following by subsscript $D0ZZYY call)
C1/FDC8:    78FF        (05)    (3 bytes params, animation queue for character XX following by subsscript $D0ZZYY call)
C1/FDCA:    78FF        (06)    (3 bytes params, animation queue for character XX following by subsscript $D0ZZYY call)
C1/FDCC:    60FF        (07)    (1 byte param, unused in regular battle events)
C1/FDCE:    60FF        (08)    (1 byte param, unused in regular battle events)
C1/FDD0:    60FF        (09)    (1 byte param, unused in regular battle events)
C1/FDD2:    60FF        (0A)    (1 byte param, unused in regular battle events)
C1/FDD4:    60FF        (0B)    (1 byte param, unused in regular battle events)
C1/FDD6:    60FF        (0C)    (1 byte param, unused in regular battle events)
C1/FDD8:    2DFE        (0D)    (3 bytes params, special animation?)
C1/FDDA:    47FF        (0E)    (no param, begin animation queues)
C1/FDDC:    55FF        (0F)    (no param, execute animation queues)
C1/FDDE:    AD96        (10)    (no param, close a dialogue box at bottom of screen)
C1/FDE0:    AA96        (11)    (no param, opens a dialogue box at bottom of screen)
C1/FDE2:    B9FE        (12)    (XX bytes params (until 0x0F is hit if set after command $0E). Set pointers to animation scripts for each sprite, max of 24 * 2 bytes pointers)
C1/FDE4:    E8FD        (13)    (1 byte param)
C1/FDE6:    EDFD        (14)    (1 byte param)
  Find
Quote  

#18
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
No wonder we still can't progress too much with battle events until now: that list is kinda outdated.

Asking for help to Everything, while doing some hex change for CotG, i gathered a bunch of good info about battle events, 
while having PM conversations with him.

i gathered the list, some hint and wrote down some note into a file.
since it's thanks to sensei that i have those info i'll share them as well:

---------------------------------------------------------
Everything's battle event command list

The pointer table to battle event commands is at C1/FDBE


00 xx           $C1970C Display short battle dialog xx (top of screen)
01 xx           $C196C1 Display long battle dialog xx (bottom of screen)
02               $C1FFE3 No effect
03 xx yyyy   $C1FF78 Animation for character 1 (actor xx) at $yyyy
04 xx yyyy   $C1FF78 Animation for character 2 (actor xx) at $yyyy
05 xx yyyy   $C1FF78 Animation for character 3 (actor xx) at $yyyy
06 xx yyyy   $C1FF78 Animation for character 4 (actor xx) at $yyyy
07 xx yyyy   $C1FF60 Animation for monster 1 at $yyyy
08 xx yyyy   $C1FF60 Animation for monster 2 at $yyyy
09 xx yyyy   $C1FF60 Animation for monster 3 at $yyyy
0A xx yyyy   $C1FF60 Animation for monster 4 at $yyyy
0B xx yyyy   $C1FF60 Animation for monster 5 at $yyyy
0C xx yyyy   $C1FF60 Animation for monster 6 at $yyyy
0D xx yy zz  $C1FE2D Do event animation xx (yy = attacker, zz = target)
0E               $C1FF47 Clear animations
0F               $C1FF55 Execute animations
10               $C196AD Close dialog window (bottom of screen)
11               $C196AA Open dialog window (bottom of screen)
12 xxxx ...   $C1FEB9 Animations for all characters, based on graphics index (24 addresses)
13 xx          $C1FDE8 Add/remove actor xx as a target (MSB = 0: add, MSB = 1: remove)
14 xx          $C1FDED Show/hide HP and gauge for actor xx (MSB = 0: show, MSB = 1: hide)
FF                   End of event


Make a space for your battle event pointer. Unfortunately there's no free space after the battle event 
pointers so you'll need to either replace an existing pointer or relocate the battle event pointers. 
The pointers are at D0/9800. If you decide to relocate them, you'll need to adjust the line of code at C1/FD9B.

$yyyy is a pointer to an animation script in bank $D0. For example:
      D0/9EE6: 03 04 92 9F  Animation for character 0, actor $04 (EDGAR) at D0/9F92
-------------

empty space at D0/CF4A?

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

The code at C1/FE2D processes command 0D if you want to dig around and try to figure that out.

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

Add a pointer to your event animation. There's a pointer table at C1/FDF9 with two-byte values that point 
to the animation data (at D0/7FB2). The last two pointers are unused (index $12 and $13) so you can change 
them to whatever animation you want without any side effects. Find the address of the animation data you want 
to use and set that value in the table (i.e. to change event animation $12 to the animation for throwing a 
spear, store $1156 at C1/FE1D).

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

I think clear and execute animations allows multiple animations to run simultaneously. I haven't done much 
testing with this, but it makes sense based on the way the event scripts are written. First you clear all 
animations with command 0E, then you load all your animations with commands 03 through 0D, then you execute 
them with command 0F.

Command 12 has a two-byte pointer for each possible character graphic set, so 24 addresses total. This is 
used when a battle starts and all the characters jump on-screen in different ways. Here's a disassembled 
script:

D0/9842: 0E           Clear animations
D0/9843: 12           Animations based on character graphics index
        7B 98        Actor $00 (TERRA) at $D0/987B
        94 98        Actor $01 (LOCKE) at $D0/9894
        C4 98        Actor $02 (CYAN) at $D0/98C4
        F4 98        Actor $03 (SHADOW) at $D0/98F4
        1B 99        Actor $04 (EDGAR) at $D0/991B
        3B 99        Actor $05 (SABIN) at $D0/993B
        63 99        Actor $06 (CELES) at $D0/9963
        85 99        Actor $07 (STRAGO) at $D0/9985
        B5 99        Actor $08 (RELM) at $D0/99B5
        F5 99        Actor $09 (SETZER) at $D0/99F5
        26 9A        Actor $0A (MOG) at $D0/9A26
        61 9A        Actor $0B (GAU) at $D0/9A61
        8B 9A        Actor $0C (GOGO) at $D0/9A8B
        D3 9A        Actor $0D (UMARO) at $D0/9AD3
        F4 98        Actor $0E (Brown Soldier) at $D0/98F4
        51 9B        Actor $0F (Imp) at $D0/9B51
        7B 98        Actor $10 (LEO) at $D0/987B
        94 98        Actor $11 (BANON) at $D0/9894
        C4 98        Actor $12 (Esper TERRA) at $D0/98C4
        F4 98        Actor $13 (Merchant) at $D0/98F4
        1B 99        Actor $14 (Ghost) at $D0/991B
        3B 99        Actor $15 (KEFKA) at $D0/993B
        90 9B        Actor $16 (Emperor) at $D0/9B90
        76 98        Actor $17 (Green Soldier) at $D0/9876
D0/9874: 0F           Execute animations
D0/9875: FF           End of event

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

Credits to Everything, of course.


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  
[-] The following 1 user says Thank You to Tenkarider for this post:
  • Imzogelmo (10-21-2016)

#19
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Thanks! I updated the dump with missing commands.

Edit: Added dialogues as well as tweaking the event names and removing duplicate event entries. Official 1.0!
  Find
Quote  

#20
Posts: 179
Threads: 3
Thanks Received: 24
Thanks Given: 4
Joined: Apr 2015
Reputation: 18
Status
None
(10-15-2016, 04:04 PM)Madsiur Wrote: A subscript call in an action queue is actually an animation with a different scripting language.

The scripting language for battle event animations is actually the same as for attack animations.

I don't know if I've shared this before, but here is a battle event dump I made a while back: Battle Event Script.
  Find
Quote  
[-] The following 3 users say Thank You to Everything for this post:
  • Gi Nattak (10-16-2016), Imzogelmo (10-21-2016), madsiur (10-16-2016)



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite