File version information

As reviewed in the File Architecture document, the beginning of an HSF file must contain a file header, which consists of a TK_Comment opcode with contents that are specially formatted to contain the file version information. The current version of the HSF specification is associated with version number 20.00 and newer. Therefore, the TK_Comment opcode representing the file header would be formatted as follows:

Byte 0 1 2
3
4 5 6 7 8 9
Character H S F (space)  V 2 0 . 0 0

The opcode definitions contain details on any version specific formatting. For example, if you wanted to write out an older version of the file, you would need to format all opcodes accordingly. If an opcode definition does not contain any version information, then there is only one version of the opcode and it is supported in all versions of the HSF specification.

The table below is provided so developers can quickly determine what opcodes have been added or modified in a specific release. To provide a valid HSF reader you must support all opcodes in all their various forms.

Color codings

New
Modified
Unchanged
Did not Exist

Opcodes status table

 
2100+
2000
1900
1800
1790
1715
1700
1610
1600
1500
1400
1300
1200
1100
1000
900
800
700
630
TKE_Area_Light
TKE_Bounding
TKE_Bounding_Info
TKE_Callback
TKE_Camera
TKE_Circle
TKE_Circular_Arc
TKE_Circular_Chord
TKE_Circular_Wedge
TKE_Clipping_Rectangle
TKE_Clipping_Region
TKE_Close_Segment
TKE_Color
TKE_Color_By_FIndex
TKE_Color_By_Index
TKE_Color_By_Index_16
TKE_Color_By_Value
TKE_Color_Map
TKE_Color_RGB
TKE_Comment
TKE_Conditional_Action
TKE_Conditions
TKE_Cutting_Plane
TKE_Cylinder
TKE_Delete_Object
TKE_Dictionary
TKE_Dictionary_Locater
TKE_Distant_Light
TKE_Edge_Pattern
TKE_Edge_Weight
TKE_Ellipse
TKE_Elliptical_Arc
TKE_External_Reference
TKE_External_Reference_Unicode
TKE_Face_Pattern
TKE_File_Info
TKE_Font
TKE_Geometry_Attributes
TKE_Geometry_Options
TKE_Glyph_Definition
TKE_Grid
TKE_Handedness
TKE_Heuristics
TKE_Image
TKE_Include_Segment
TKE_Infinite_Line
TKE_Infinite_Ray
TKE_Line
TKE_Line_Pattern
TKE_Line_Style
TKE_Line_Weight
TKE_Local_Light
TKE_LOD
TKE_Marker_Size
TKE_Marker_Symbol
TKE_Mesh
TKE_Modelling_Matrix
TKE_Named_Style
TKE_Named_Style_Def
TKE_NURBS_Curve
TKE_NURBS_Surface
TKE_Open_Segment
TKE_Pause
TKE_PolyCylinder
TKE_Polygon
TKE_Polyline
TKE_PolyPolyline
TKE_Priority
TKE_Reference
TKE_Rendering_Options
TKE_Renumber_Key_Global
TKE_Renumber_Key_Local
TKE_Reopen_Segment
TKE_Repeat_Object
TKE_Selectability
TKE_Shell
TKE_Sphere
TKE_Spot_Light
TKE_Start_User_Data
TKE_Start_Compression
TKE_Stop_User_Data
TKE_Stop_Compression
TKE_Style_Segment
TKE_Tag_Explicit
TKE_Tag_Implicit
TKE_Termination
TKE_Text
TKE_Text_With_Encoding
TKE_Text_Alignment
TKE_Text_Font
TKE_Text_Path
TKE_Text_Spacing
TKE_Texture
TKE_Texture_Matrix
TKE_Thumbnail
TKE_Unicode_Options
TKE_URL
TKE_User_Index
TKE_User_Value
TKE_View
TKE_Visibility
TKE_Window
TKE_Window_Frame
TKE_Window_Pattern
TKE_XML