Skip to content

0x5A — camera_flags

Copies three boolean bits from handler_arg_byte into fields on CRadiCameraSystem and its child camera object.

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

At a glance

Opcode0x5A (90)
HandlerCRadiScript::Command_5a
SignatureCRadiScript::Command_5a(int,SCR_DATA*,unsigned int,unsigned int)
Translation unitr_script_run5.cpp
Address— debug build; click for all 3
Handler size0x64 (100 bytes)
Engine namecamera_flags
FamilyBackground, map, landscape and camera
Command size4 + extra_words * 4 bytes

Handler behaviour

Copies three boolean bits from handler_arg_byte into fields on CRadiCameraSystem and its child camera object.

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   |  0x5A          |
+----------------+----------------+----------------+----------------+

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

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

FieldRoleMeaning
argderivedRaw handler argument byte from the command header. It is printed only when it differs from the value the named fields already imply, so seeing it means the command uses an unusual argument encoding.
flag0inputBoolean option 0 taken from the handler's argument byte.
flag1inputBoolean option 1 taken from the handler's argument byte.
flag2inputBoolean option 2 taken from the handler's argument byte.

Engine calls

Engine functions this handler was observed calling:

  • (inline memory writes)

Bit masks

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

0x0001