home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char sccsid[] = "@(#)create_eship.c 1.1 92/05/28 SMI" ;
- /* from create_eship.c 1.3 90/07/23 SMI */
- #endif
-
- /*
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
- /*
- * This file generates the graphic description of an enemy fighter
- *
- */
-
-
- #include <stdio.h>
- #include <math.h>
- #include "graphics.h"
- #include "dstar.h"
- #include "object_types.h"
- #include "line_object.h"
- #include "bsp_object.h"
-
- extern int debug_level ;
-
-
-
-
- /* these routines create a description for an enemy fighter */
-
-
- void
- init_fighter1(index)
- int index ;
- {
-
- static XYZF fighter_1[] = {
- #include "fighter1_line.h"
- } ;
-
- #include "fighter1_bsp.h"
-
- Object_Desc *desc1, *desc2 ;
-
- desc1 = (Object_Desc *) malloc(sizeof(Object_Desc)) ;
- desc2 = (Object_Desc *) malloc(sizeof(Object_Desc)) ;
-
- if(desc1 && desc2)
- {
- descriptions[index] = desc1 ;
-
- desc1->thresh = 100.0*100.0 ;
- desc1->next = desc2 ;
- desc1->type = LINE_DRAWING ;
- desc1->first = (caddr_t) fighter_1 ;
-
- desc2->thresh = 0.0 ;
- desc2->next = NULL ;
- desc2->type = BSP_TREE ;
- desc2->first = (caddr_t) &FIGHTER1_TOP ;
- }
- else
- {
- perror("init_enemy_ship: malloc:") ;
- exit(1) ;
- }
- }
-
-
-
-
-
-
- void
- init_fighter2(index)
- int index ;
- {
-
- static XYZF fighter_2[] = {
- #include "fighter2_line.h"
- } ;
-
- #include "fighter2_bsp.h"
-
- Object_Desc *desc1, *desc2 ;
-
- desc1 = (Object_Desc *) malloc(sizeof(Object_Desc)) ;
- desc2 = (Object_Desc *) malloc(sizeof(Object_Desc)) ;
-
- if(desc1 && desc2)
- {
- descriptions[index] = desc1 ;
-
- desc1->thresh = 100.0*100.0 ;
- desc1->next = desc2 ;
- desc1->type = LINE_DRAWING ;
- desc1->first = (caddr_t) fighter_2 ;
-
- desc2->thresh = 0.0 ;
- desc2->next = NULL ;
- desc2->type = BSP_TREE ;
- desc2->first = (caddr_t) &FIGHTER2_TOP ;
- }
- else
- {
- perror("init_enemy_ship: malloc:") ;
- exit(1) ;
- }
- }
-
-
-
-
-
-
- void
- init_missile(index)
- int index ;
- {
-
- static XYZF missile[] = {
- #include "missile_line.h"
- } ;
-
- Object_Desc *desc1 ;
-
- desc1 = (Object_Desc *) malloc(sizeof(Object_Desc)) ;
-
- if(desc1 != NULL)
- {
- descriptions[index] = desc1 ;
-
- desc1->thresh = 0.0 ;
- desc1->next = NULL ;
- desc1->type = LINE_DRAWING ;
- desc1->first = (caddr_t) missile ;
- }
- else
- {
- perror("init_missile: malloc:") ;
- exit(1) ;
- }
- }
-
-
-
-
-
-
- /* this routine creates an enemy ship */
-
- Object *
- create_enemy_ship(index,posn,forward,up,right,delta,speed)
- int index ;
- Pt3d *posn, *forward, *up, *right, *delta ;
- float speed ;
- {
- Object *object = &objects[index] ;
-
- object->id = -1 ;
- strcpy(object->name,"robot") ;
- object->score = 0 ;
- object->class = OBJ_PLAYER ;
- object->status = OBJ_ACTIVE ;
- object->flags = LASER_FLAG ;
- object->Posn = *posn ;
- object->Forward = *forward ;
- object->Up = *up ;
- object->Right = *right ;
- object->Delta = *delta ;
- object->Pointing = *forward ;
- object->Speed = speed ;
- object->description = FIGHTER1_DESC ;
-
- return ;
- }
-