Difference between revisions of "FF7/Field/Script/Opcodes/F2 AKAO"

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Jump to navigation Jump to search
my_wiki>DLPB2
(Operation list (by Aali, amendments by DLPB))
my_wiki>DLPB2
(Operation list (by Aali, amendments by DLPB))
Line 103: Line 103:
 
----
 
----
 
<li>'''D0''' Set music tempo [param1=Tempo]</li>
 
<li>'''D0''' Set music tempo [param1=Tempo]</li>
<li>'''D1''' Music tempo transition</li>
+
<li>'''D1''' Music tempo transition [param1=Transition time, param2=Target tempo]</li>
<li>'''D2''' Music tempo fade</li>
+
<li>'''D2''' Music From-To tempo transition [param1=Transition time, param2=Starting tempo, param3=Ending tempo] </li>
 
----
 
----
 
<li>'''F0''' Stop music</li>
 
<li>'''F0''' Stop music</li>

Revision as of 14:56, 18 January 2017

  • Opcode: 0xF2
  • Short name: AKAO
  • Long name: Sound Operation (byte param1)

Memory layout

0xF2 B1 / B2 B3 / B4 0 / B6 Op Param1 Param2 Param3 Param4 Param5

Arguments

  • const Bit[4] B1: Bank to retrieve Param1, or zero if Param1 is specified as a literal value.
  • const Bit[4] B2: Bank to retrieve Param2, or zero if Param2 is specified as a literal value.
  • const Bit[4] B3: Bank to retrieve Param3, or zero if Param3 is specified as a literal value.
  • const Bit[4] B4: Bank to retrieve Param4, or zero if Param4 is specified as a literal value.
  • const Bit[4] 0: Zero.
  • const Bit[4] B6: Bank to retrieve Param5, or zero if Param5 is specified as a literal value.
  • const UByte Op: Operation to perform.
  • const UByte Param1: Parameter 1.
  • const UShort Param2: Parameter 2.
  • const UShort Param3: Parameter 3.
  • const UShort Param4: Parameter 4.
  • const UShort Param5: Parameter 5.

Description

Perform an operation described by Op, and uses the parameters depending on the operation.

Operation list (by Aali, amendments by DLPB)
  • 10 Play music [param1=Music ID]
  • 14 Same as 10
  • 15 Unknown
  • 18 Play music and resume from last position [param1=Music ID]
  • 19 Same as 18

  • 20 Play a sound effect (will be terminated if another effect is played on channel 1-4) [param1=Panning, param2=Effect ID]
  • 21 Same as 20 (but allows for param3 input - unknown use)
  • 22 Same as 20 (but allows for param3/param4 input - unknown use)
  • 23 Same as 20 (but allows for param3/param4/param5 input - unknown use)
  • 24 Same as 20
  • 25 Same as 21
  • 26 Same as 22
  • 27 Same as 23
  • 28 Play a sound effect on channel #1 [param1=Panning, param2=Effect ID]
  • 29 Play a sound effect on channel #2 [param1=Panning, param2=Effect ID]
  • 2A Play a sound effect on channel #3 [param1=Panning, param2=Effect ID]
  • 2B Play a sound effect on channel #4 [param1=Panning, param2=Effect ID]
  • 30 Play a sound effect (it does not use channel 1-4 and cannot be stopped) [param1=Effect ID]

  • 98 Resumes music and sound effects
  • 99 Pauses music and sound effects
  • 9A Resumes only the music
  • 9B Pauses only the music
  • 9C Resumes only sound effects
  • 9D Pauses only sound effects

  • A0 Volume control (channel #1) [param1=Volume]
  • A1 Volume control (channel #2) [param1=Volume]
  • A2 Volume control (channel #3) [param1=Volume]
  • A3 Volume control (channel #4) [param1=Volume]
  • A4 Volume transitions (channel #1) [param1=Transition time, param2=Target volume]
  • A5 Volume transitions (channel #2) [param1=Transition time, param2=Target volume]
  • A6 Volume transitions (channel #3) [param1=Transition time, param2=Target volume]
  • A7 Volume transitions (channel #4) [param1=Transition time, param2=Target volume]
  • A8 Pan control (channel #1) [param1=Pan]
  • A9 Pan control (channel #2) [param1=Pan]
  • AA Pan control (channel #3) [param1=Pan]
  • AB Pan control (channel #4) [param1=Pan]
  • AC Pan transitions (channel #1) [param1=Transition time, param2=Target pan]
  • AD Pan transitions (channel #2) [param1=Transition time, param2=Target pan]
  • AE Pan transitions (channel #3) [param1=Transition time, param2=Target pan]
  • AF Pan transitions (channel #4) [param1=Transition time, param2=Target pan]

  • B0 Tempo control (channel #1) [param1=Tempo]
  • B1 Tempo control (channel #2) [param1=Tempo]
  • B2 Tempo control (channel #3) [param1=Tempo]
  • B3 Tempo control (channel #4) [param1=Tempo]
  • B4 Tempo transitions (channel #1) [param1=Transition time, param2=Target tempo]
  • B5 Tempo transitions (channel #2) [param1=Transition time, param2=Target tempo]
  • B6 Tempo transitions (channel #3) [param1=Transition time, param2=Target tempo]
  • B7 Tempo transitions (channel #4) [param1=Transition time, param2=Target tempo]
  • B8 Volume control for all channels [param1=Volume]
  • B9 Volume transitions for all channels [param1=Transition time, param2=Target volume]
  • BA Pan control for all channels [param1=Pan]
  • BB Pan transitions for all channels [param1=Transition time, param2=Target pan]
  • BC Tempo control for all channels [param1=Tempo]
  • BD Tempo transitions for all channels [param1=Transition time, param2=Target tempo]

  • C0 Set music volume [param1=Volume level]
  • C1 Music volume transition [param1=Transition time, param2=Target volume]
  • C2 Music From-To volume transition [param1=Transition time, param2=Starting volume, param3=Ending volume]

  • D0 Set music tempo [param1=Tempo]
  • D1 Music tempo transition [param1=Transition time, param2=Target tempo]
  • D2 Music From-To tempo transition [param1=Transition time, param2=Starting tempo, param3=Ending tempo]

  • F0 Stop music
  • F1 Stop sound effects (this will not affect operation 0x30)

Please note
All transitions use the formula Transition_time (in seconds) = param1 / 60
The pan (audio L/R balance) values range from 0 to 127, where 0 is fully left, 64 is centre, and 127 is fully right.
The maximum game volume is 127.
The tempo value ranges from 0 to ?. The normal tempo is 32.