The OB classes table (OBCLASSES) consists of a number of contiguous definitions (OBCLASS), each of which contains all the information about a specific user-defined object block class.
The location (relative to the file) and the number of elements in the table are specified by the HEADER.OBCLASSOFF and HEADER.OBCLASSCNT fields, respectively.
OB class definition
An OB class (OBCLASS) consists of the following information:
Name |
Offset |
Type |
Description |
---|---|---|---|
ID |
+0 |
U32 |
OB class ID Note: the values 0 and 0xFFFFFF are special meaning IDs. |
|
+4 |
U8[2] |
(reserved) |
FLAGS |
+6 |
U16 |
OB class settings: 0x0001 Uncompressed TEXT field (NCF0). 0x0002 Uncompressed MODIFIER field (NCF1). |
NAME |
+8 |
U32 |
Offset OB class name (relative to strings). |
TEXT |
+12 |
U32 |
Offset description of OB class (relative to compressed strings, or strings if NCF0). |
VERSION |
+16 |
U32 |
OB class version (nvMake format). |
INTFID |
+20 |
U32 |
Unique obect block interface identifier. |
PATHID |
+24 |
U32 |
Path identifier of the .OBB file: 0=absolute path 1=(reserved) 2=Path relative to workspace 3=Path related to factory RDE3 |
FILENAME |
+28 |
U32 |
Offset file name .OBB (relative to strings)(#1). |
SRCID |
+32 |
U32 |
Source identifier of the OB class. |
METHODSOFF |
+36 |
U32 |
Offset of the OB methods table (relative to the file). |
METHODSCNT |
+40 |
U32 |
OB methods table size |
ATTRIB |
+44 |
U32 |
OB class attributes. |
MODIFIER |
+48 |
U32 |
Offset modifiers of class OB (relative to compressed strings, or strings if NCF1). |
(#1) In case of PATHID other than 0, the .OBB filename has no paths within it, but is simply the filename with relative to the PATHID path: in case of PATHID equal to 0 instead, the .OBB filename might contain a relative/absolute path.