Skip to content

0x7A — sound_effect_stack

Sound-effect stack push/pop. Maps to CRadiSound::PushAllSe and CRadiSound::PopAllSe.

proven— handler traced, and exercised by at least one shipped script.

At a glance

Opcode0x7A (122)
HandlerCRadiScript::Command_7a
SignatureCRadiScript::Command_7a(int,SCR_DATA*,unsigned int,unsigned int)
Translation unitr_script_run7.cpp
Address— debug build; click for all 3
Handler size0x48 (72 bytes)
Engine namesound_effect_stack
FamilyPrimitives, textures, sound and movies
Command size4 + extra_words * 4 bytes

Handler behaviour

Sound-effect stack push/pop. Maps to CRadiSound::PushAllSe and CRadiSound::PopAllSe.

Encoding

The command header is one 32-bit word, as described in §3 Instruction encoding:

 31            24 23            16 15             8 7              0
+----------------+----------------+----------------+----------------+
|  flags         |  argument byte |  extra words   |  0x7A          |
+----------------+----------------+----------------+----------------+

Bits 8–15 give the number of 32-bit operand words that follow. Bits 16–23 are handed to the handler as a bitfield; on character commands bit 0 normally says whether a character selector word is present. Bit 31 is the keep-going bit.

Operand fields

1 documented field. input fields are read from the command's operand words; derived fields are computed from other fields rather than stored separately.

FieldRoleMeaning
modeinputHandler path selector taken from the argument byte. The meaning is specific to each command.

Engine calls

Engine functions this handler was observed calling:

  • CRadiSound::PopAllSe()
  • CRadiSound::PushAllSe()

Bit masks

Masks the handler applies to its argument byte or operand words:

0x0001