( uint64_t ref_id
)
{
- struct cdat* curr_cdatp;
- struct link* curr_linkp;
- struct odat* curr_setp;
+ struct set* curr_setp;
- curr_cdatp = curr_cdat();
- curr_setp = alloc_odat();
- curr_linkp = alloc_link();
+ curr_setp = curr_set();
- curr_setp->cdat_idx = curr_cdatp->idx;
- curr_setp->ref_id = ref_id; /* Will be resolved to offset
- when link is processed */
- curr_linkp->type = 1;
- curr_linkp->link_t.olink.ref_id = ref_id;
- curr_linkp->classp = curr_cdatp;
- curr_linkp->set_idx = curr_cdatp->num_sets++;
- curr_linkp->ele_idx = -1;
+ curr_setp->ref_id = ref_id;
}
)
{
struct cdat* curr_cdatp;
+ struct odat* curr_odatp;
struct link* curr_linkp;
+
curr_cdatp = curr_cdat();
+ curr_odatp = curr_odat();
curr_linkp = alloc_link();
/* Insert vlink into link_stack so that it gets processed at
output time */
curr_linkp->type = 2;
+ /* Store the target odat information*/
curr_linkp->link_t.vlink.ref_id = ref_id;
+ memmove(curr_linkp->link_t.vlink.anim_name, anim_name, 32);
+ /* Store the linking odat/cdat information */
curr_linkp->classp = curr_cdatp;
+ curr_linkp->odatp = curr_odatp;
curr_linkp->set_idx = curr_cdatp->num_sets;
curr_linkp->ele_idx = -1;
- memmove(curr_linkp->link_t.vlink.anim_name, anim_name, 32);
}
/* Svlinks dont have animation names */
void
insert_set_svlink
-( uint64_t ref_id
+( uint64_t ref_id
)
{
struct cdat* curr_cdatp;
( uint64_t ref_id
)
{
- struct cdat* curr_cdatp;
- struct set* curr_setp;
- struct ele* curr_elep;
- struct link* curr_linkp;
-
- curr_cdatp = curr_cdat();
- //curr_elep = curr_ele();
- curr_linkp = alloc_link();
-
- //curr_elep->cdat_idx = curr_cdatp;
- //curr_elep->ref_id = ref_id;
-
- curr_linkp->type = 1;
- curr_linkp->link_t.olink.ref_id = ref_id;
- curr_linkp->classp = curr_cdatp;
- curr_linkp->set_idx = curr_cdatp->num_sets++;
- //curr_linkp->ele_idx = curr_setp->num_ele++;
-
+ /* Do nothing because we already know the ref_id that
+ the odat needs for this element (in the quad_file) */
}
void