File: foe.h

package info (click to toggle)
rrootage 0.23a-15
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,636 kB
  • sloc: cpp: 11,562; ansic: 3,444; xml: 2,032; makefile: 127; yacc: 124; sh: 52
file content (78 lines) | stat: -rw-r--r-- 1,719 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
 * $Id: foe.h,v 1.5 2003/08/15 07:06:52 kenta Exp $
 *
 * Copyright 2003 Kenta Cho. All rights reserved.
 */

/**
 * Battery/Bullet data.
 *
 * @version $Revision: 1.5 $
 */
#ifndef FOE_H_
#define FOE_H_

extern "C" {
#include "vector.h"
#include "foe_mtd.h"
}

#include <bulletml/bulletmlparser.h>
#include <bulletml/bulletmlparser-tinyxml.h>
#include <bulletml/bulletmlrunner.h>
#include "foecommand.h"
#include "barragemanager.h"
#include "boss.h"

#define BATTERY 0
#define ACTIVE_BULLET 1
#define BULLET 2

#define NOT_EXIST_TMP (NOT_EXIST-1)

struct foe {
  Vector pos, vel, ppos, spos, mv;
  int d, spd;
  FoeCommand *cmd;
  double rank;
  int spc;
  int cnt, cntTotal;
  int xReverse;
  int fireCnt;
  int slowMvCnt;
  BulletMLParser *parser;

  BulletMLParser *morphParser[MORPH_PATTERN_MAX];
  int morphCnt;
  int morphHalf;
  double morphRank;
  double speedRank;

  int color;
  int shapeType;
  int bulletShape[3];
  float bulletSize[3];

  struct limiter *limiter;

  int ikaType;

  int grzRng;
};

typedef struct foe Foe;

Foe* addFoeBattery(int x, int y, double rank, int d, int spd, int xReverse, 
		   BulletMLParser *morphParser[], int morphCnt, int morphHalf, double morphRank,
		   double speedRank,
		   int color, int bulletShape[], float bulletSize[],
		   struct limiter *limiter,
		   int ikaType,
		   BulletMLParser *parser);
void addFoeActiveBullet(Foe *foe, int d, int spd, int color, BulletMLState *state);
void addFoeNormalBullet(Foe *foe, int d, int spd, int color);
void removeFoeCommand(Foe *fe);
void removeFoe(Foe *fe);
void removeFoeForced(Foe *fe);
void wipeBullets(Vector *pos, int width);
#endif