Please enable JavaScript to view this site.

The structures table (STRUCTS) consists of a number of contiguous definitions (STRUCTs), each of which contains all the information about a specific user-defined structure: there are no default data types in this table.

The location (relative to the file) and the number of elements in the table are specified by the HEADER.STRUCTSOFF and HEADER.STRUCTSCNT fields, respectively.

Structure definition

A structure (STRUCT) consists of the following information:

Name

Offset

Type

Description

ID

+0

U32

Structure type ID

Note: only values 0x00010000-0xFFFFFE; values 0 and 0xFFFFFF are special meaning IDs.

 

+4

U8[2]

(reserved, runtime use)

FLAGS

+6

U16

Structure settings:

0x0001 Uncompressed TEXT field (NCF0).

0x0002 Uncompressed MODIFIER field (NCF1).

NAME

+8

U32

Offset structure name (relative to strings).

TEXT

+12

U32

Offset structure description (relative to compressed strings, or strings if NCF0).

VARSOFF

+16

U32

Variable table offset (relative to file) (#1)

VARSCNT

+20

U32

Variable table size

SIZE

+24

U32

Structure size [bytes]

SRCID

+28

U32

Source identifier of the structure

OBCID

+32

U32

Reference OB class ID (0=none)(#2,#3)

ATTRIB

+36

U32

Structure attributes:

0x000001 Structure referred to OB class (AREFOBC)(#2)

0x000002 Main structure OB class (AISOBC)(#2,#3)

0x000004 Structure (ref.a) externally defined (AEXTERNAL)

MODIFIER

+40

U32

Offset modifiers of structure (relative to compressed strings, or strings if NCF1).

REFID

+44

U32

Structure type reference ID (#4).

EXTNAME

+48

U32

Offset external structure name (relative to strings).

 

+52

U8[16]

(reserved)

(#1) The structure definition uses a normal variable definition table to define its elements. In this case, variable IDs are meaningless and should always be 0.

(#2) At equal non-0 OBCID value with AREFOBC attribute, there can be only one structure with AISOBC flag, while there can be 0 or more structures without AISOBC attribute.

(#3) A structure is called an "orphan" structure if it is in the condition of AREFOBC attribute set and OBCID field = 0: this condition happens when updating/removing an OB class, there are still variables (or other) referencing it.

(#4) In case of AREFOBC attribute the REFID field contains the ID of the structure as defined of the source OBB file (0 in case of AISOBC attribute).

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC