Return to previous page Return to menu Go to next page

6. VDP13D Reference

6.1 Data specifications

  Title  
Data specifications
  Data  
Cluster definition
Data Name
SprCluster
No

typedef     struct SprCluster {
     Uint16 no; / * Cluster number * /
     Uint16 angleSeq; / * Rotation order * /
     MthXyz angle; / * Rotation in the coordinate system of the parent cluster * /
     MthXyz point; / * origin coordinates in parent cluster coordinate system * /
     SprObject3D * object / * 3D object * /
     SprCluster * next; / * Next cluster * /
     SprCluster * child; / * Child cluster * /
     SprInbetInf * inbetInf; / * Inter-object connection polygon information * /
     void            (*transStart)(SprCluster*);
                                   / * User callback routine before starting coordinate conversion * /
     void            (transEnd)(SprCluster*, SprObject3D*, MthMatrix*, MthXyz*);
                                   / * User callback routine after coordinate transformation * /
     void * context; / * User context area * /
} SprCluster;

no is for user callback routines to identify the cluster table and is optional.

 angleSeq = ROT_SEQ_ZYX: Rotate objects in order of Z → Y → X
           = ROT_SEQ_ZXY: “Z → X → Y”
           = ROT_SEQ_YZX: “Y → Z → X”
           = ROT_SEQ_YXZ: “Y → X → Z”
           = ROT_SEQ_XYZ: “X → Y → Z”
           = ROT_SEQ_XZY: “X → Z → Y” 

 If 3D object, next cluster and child cluster are not connected, each
Set object, next, and child to 0. 

If there is no inter-object connection polygon information, set inbetInf to 0.

transStart is the user callback that is called before the coordinate transformation of this cluster starts Specifies a routine. Within the routine, move the cluster, Make changes. Set to 0 if there is no callback routine.

[Calling sequence of transStart routine] void transStart(SprCluster *cluster);
     cluster: Local cluster table


Return to previous page Return to menu Go to next page