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 74: Line 74:
 
<li>'''A6''' Volume transitions (channel #3) [param1=Transition time, param2=Target volume]</li>
 
<li>'''A6''' Volume transitions (channel #3) [param1=Transition time, param2=Target volume]</li>
 
<li>'''A7''' Volume transitions (channel #4) [param1=Transition time, param2=Target volume]</li>
 
<li>'''A7''' Volume transitions (channel #4) [param1=Transition time, param2=Target volume]</li>
<li>'''A8''' Pan control (channel #1)</li>
+
<li>'''A8''' Pan control (channel #1) [param1=Pan]</li>
<li>'''A9''' Pan control (channel #2)</li>
+
<li>'''A9''' Pan control (channel #2) [param1=Pan]</li>
<li>'''AA''' Pan control (channel #3)</li>
+
<li>'''AA''' Pan control (channel #3) [param1=Pan]</li>
<li>'''AB''' Pan control (channel #4)</li>
+
<li>'''AB''' Pan control (channel #4) [param1=Pan]</li>
<li>'''AC''' Pan transitions (channel #1)</li>
+
<li>'''AC''' Pan transitions (channel #1) [param1=Transition time, param2=Target pan]</li>
<li>'''AD''' Pan transitions (channel #2)</li>
+
<li>'''AD''' Pan transitions (channel #2) [param1=Transition time, param2=Target pan]</li>
<li>'''AE''' Pan transitions (channel #3)</li>
+
<li>'''AE''' Pan transitions (channel #3) [param1=Transition time, param2=Target pan]</li>
<li>'''AF''' Pan transitions (channel #4)</li>
+
<li>'''AF''' Pan transitions (channel #4) [param1=Transition time, param2=Target pan]</li>
 
----
 
----
<li>'''B0''' Tempo control (channel #1)</li>
+
<li>'''B0''' Tempo control (channel #1) [param1=Tempo]</li>
<li>'''B1''' Tempo control (channel #2)</li>
+
<li>'''B1''' Tempo control (channel #2) [param1=Tempo]</li>
<li>'''B2''' Tempo control (channel #3)</li>
+
<li>'''B2''' Tempo control (channel #3) [param1=Tempo]</li>
<li>'''B3''' Tempo control (channel #4)</li>
+
<li>'''B3''' Tempo control (channel #4) [param1=Tempo]</li>
<li>'''B4''' Tempo transitions (channel #1)</li>
+
<li>'''B4''' Tempo transitions (channel #1) [param1=Transition time, param2=Target tempo]</li>
<li>'''B5''' Tempo transitions (channel #2)</li>
+
<li>'''B5''' Tempo transitions (channel #2) [param1=Transition time, param2=Target tempo]</li>
<li>'''B6''' Tempo transitions (channel #3)</li>
+
<li>'''B6''' Tempo transitions (channel #3) [param1=Transition time, param2=Target tempo]</li>
<li>'''B7''' Tempo transitions (channel #4)</li>
+
<li>'''B7''' Tempo transitions (channel #4) [param1=Transition time, param2=Target tempo]</li>
 
<li>'''B8''' Volume control for all channels [param1=Volume]</li>
 
<li>'''B8''' Volume control for all channels [param1=Volume]</li>
 
<li>'''B9''' Volume transitions for all channels [param1=Transition time, param2=Target volume]</li>
 
<li>'''B9''' Volume transitions for all channels [param1=Transition time, param2=Target volume]</li>
<li>'''BA''' Pan control for all channels</li>
+
<li>'''BA''' Pan control for all channels [param1=Pan]</li>
<li>'''BB''' Pan transitions for all channels</li>
+
<li>'''BB''' Pan transitions for all channels [param1=Transition time, param2=Target pan]</li>
<li>'''BC''' Tempo control for all channels</li>
+
<li>'''BC''' Tempo control for all channels [param1=Tempo]</li>
<li>'''BD''' Tempo transitions for all channels</li>
+
<li>'''BD''' Tempo transitions for all channels [param1=Transition time, param2=Target tempo]</li>
 
----
 
----
 
<li>'''C0''' Set music volume [param1=Volume level]</li>
 
<li>'''C0''' Set music volume [param1=Volume level]</li>
Line 102: Line 102:
 
<li>'''C2''' Music From-To volume transition [param1=Transition time, param2=Starting volume, param3=Ending volume]</li>
 
<li>'''C2''' Music From-To volume transition [param1=Transition time, param2=Starting volume, param3=Ending volume]</li>
 
----
 
----
<li>'''D0''' Set music tempo [param1=Tempo (0x20 is normal)]</li>
+
<li>'''D0''' Set music tempo [param1=Tempo]</li>
 
<li>'''D1''' Music tempo transition</li>
 
<li>'''D1''' Music tempo transition</li>
 
<li>'''D2''' Music tempo fade</li>
 
<li>'''D2''' Music tempo fade</li>
Line 114: Line 114:
 
All transitions use the formula Transition_time (in seconds) = param1 / 60<br>
 
All transitions use the formula Transition_time (in seconds) = param1 / 60<br>
 
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.<br>
 
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.<br>
The maximum game volume is 127.
+
The maximum game volume is 127.<br>
 +
The tempo value ranges from 0 to ?. The normal tempo is 32.

Revision as of 14:52, 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
  • D2 Music tempo fade

  • 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.