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
(Please Note)
my_wiki>DLPB2
(Please Note)
Line 116: Line 116:
 
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.<br>
 
The maximum game volume is 127.<br>
The tempo value ranges from 0 to ?. The normal tempo is 0.<br><br>
+
The tempo value ranges from 0 to 64 (0x40). The normal tempo is 0.<br><br>
 
It should also be noted that there is very likely no difference between operations 0x20 to 0x27. They all likely have the exact same outcome in FF7.
 
It should also be noted that there is very likely no difference between operations 0x20 to 0x27. They all likely have the exact same outcome in FF7.

Revision as of 11:18, 17 March 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 transition (channel #1) [param1=Transition time, param2=Target volume]
  • A5 Volume transition (channel #2) [param1=Transition time, param2=Target volume]
  • A6 Volume transition (channel #3) [param1=Transition time, param2=Target volume]
  • A7 Volume transition (channel #4) [param1=Transition time, param2=Target volume]
  • A8 Pan control (channel #1) [param1=Panning]
  • A9 Pan control (channel #2) [param1=Panning]
  • AA Pan control (channel #3) [param1=Panning]
  • AB Pan control (channel #4) [param1=Panning]
  • AC Pan transition (channel #1) [param1=Transition time, param2=Target panning]
  • AD Pan transition (channel #2) [param1=Transition time, param2=Target panning]
  • AE Pan transition (channel #3) [param1=Transition time, param2=Target panning]
  • AF Pan transition (channel #4) [param1=Transition time, param2=Target panning]

  • 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 transition (channel #1) [param1=Transition time, param2=Target tempo]
  • B5 Tempo transition (channel #2) [param1=Transition time, param2=Target tempo]
  • B6 Tempo transition (channel #3) [param1=Transition time, param2=Target tempo]
  • B7 Tempo transition (channel #4) [param1=Transition time, param2=Target tempo]
  • B8 Volume control for channel #1 to #4 [param1=Volume]
  • B9 Volume transition for channel #1 to #4 [param1=Transition time, param2=Target volume]
  • BA Pan control for channel #1 to #4 [param1=Panning]
  • BB Pan transition for channel #1 to #4 [param1=Transition time, param2=Target panning]
  • BC Tempo control for channel #1 to #4 [param1=Tempo]
  • BD Tempo transition for channel #1 to #4 [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 64 (0x40). The normal tempo is 0.

It should also be noted that there is very likely no difference between operations 0x20 to 0x27. They all likely have the exact same outcome in FF7.