void
insert_quad
-( int x,
- int y,
- int z,
- uint64_t ref_id
+( void* quad_filep
)
{
- struct quad* curr_quadp;
- struct odat* curr_odatp;
+ /* struct quad* curr_quadp; */
+ /* struct odat* curr_odatp; */
- curr_quadp = curr_quad();
- curr_odatp = curr_odat();
+ /* curr_quadp = curr_quad(); */
+ /* curr_odatp = curr_odat(); */
+
+ /* curr_quadp->x = x; */
+ /* curr_quadp->y = y; */
+ /* curr_quadp->z = z; */
+ /* curr_quadp->ref_id = ref_id; */
+ /* curr_odatp->num_quads++; */
+ struct odat* curr_odatp;
- curr_quadp->x = x;
- curr_quadp->y = y;
- curr_quadp->z = z;
- curr_quadp->ref_id = ref_id;
- curr_odatp->num_quads++;
+ curr_odatp->quad_filep = quad_filep;
}
/* Inserting the hitbox into the set
int hitbox;
struct root root;
struct ref* refp; /* pointer to it's ref on ref_list */
- int num_quads;
- struct quad quad_list[MAX_QUADS];
+ void* quad_filep;
};
struct odat* curr_set_odatp; //when a set has elements, insert_set() can no longer
/* Inserts a quad into the CURR_ODAT */
void
-insert_quad(int, int, int, uint64_t);
+insert_quad(void*);
void
insert_model(void);
curr_set(void);
struct ref*
prev_ref(void);
-struct quad
-curr_quad(void);
struct model
curr_model(void);
void
#define CURR_MODEL (CURR_VDAT->model_list[CURR_VDAT->num_models])
#define CURR_LINK (link_buf[num_links])
#define CURR_POST (post_buf[num_posts])
-#define CURR_QUAD (CURR_ODAT->quad_list[CURR_ODAT->num_quads])
+#define CURR_QUAD (CURR_ODAT->quad_file)
int num_cdats = 0;
{
return PREV_REF;
}
-
-struct quad
-curr_quad
-()
-{
- return CURR_QUAD;
-}
struct model
curr_model
()
%token <ref> REF
%token <val> SSD
%token <voidp> FPTR
+%token <voidp> QPTR
// Change width, height, num_ptrs to NUM because
// when scanning, we can't determine which NUM
// is which.
RT NUM NUM NUM {insert_root($2, $3, $4);};
;
-quad_list:
-quad_list quad
-| quad
-;
-
-quad:
-QOPEN NUM NUM NUM REF QCLOSE {insert_quad($2, $3, $4, $5);};
+quad_file:
+QOPEN QPTR QCLOSE {insert_quad($2);};
hitbox:
HB NUM {insert_hitbox($2);}
;
set_map_data:
-quad_list
-| quad_list hitbox
-| quad_list hitbox root
+quad_file
+| quad_file hitbox
+| quad_file hitbox root
| hitbox root
| hitbox
| root