annotate Character.c @ 32:8abcc221bbac

sgoex separation
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 May 2011 15:15:26 +0900
parents 972a7f233b23
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <stdlib.h>
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "syokika.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include "bool.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include <SDL.h>
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 #include "SDL_opengl.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 #include "object.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 #include "Character.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #include "Character_state.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 #include "count2.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 #include "tokuten.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 #include "schedule.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 #include "sankaku.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 #include "sgoex.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 #include "collision.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 #include "debug.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 #include "error.h"
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 #define CHARACTER_MAX_POOL_SIZE 2048
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
7
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
22 CHARACTER *active_chara_list;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
23 CHARACTER *free_chara_list;
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
24
972a7f233b23 g++ compile
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
25
0
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 const table enemystate[] = ENEMY_STATUS_TABLE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 int filpcount = 0;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 int stage = 0;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 BOOL tf = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 static int pool_size;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 int init_chara_list(int num)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 if(active_chara_list == NULL)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 return extend_chara_list_pool(num);
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 return 1;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 int
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 extend_chara_list_pool(int num)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 pool_size = num;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 __debug("task init start");
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 int i;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 CHARACTER *q[num];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 for(i = 0; i<num ; i++)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 q[i] = (CHARACTER*)malloc(sizeof(CHARACTER));
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 q[i]->f = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 q[i]->state = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 q[i]->collision = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 for(i = 0; i<num-1 ; i++)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 q[i]->next = q[i+1];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 //q[i]->next->prev = q[i];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 q[num-1]->next = NULL;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 active_chara_list = (CHARACTER*)malloc(sizeof(CHARACTER));
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 active_chara_list->f = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 active_chara_list->state = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 active_chara_list->collision = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 active_chara_list->next = q[0];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 //q[0]->prev = active_chara_list;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 //active_chara_list->prev = q[num-1];
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 //q[num-1]->next = active_chara_list;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 CHARACTER *p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 for(p = active_chara_list->next; p != NULL ; p = p->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 if(p != NULL)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 __debug("list_test");
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 return 1;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 void TFon()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 tf = TRUE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 void TFoff()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 tf = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 void
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 Putenemy(int charano, float x, float y, float vx, float vy,
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 CHARACTER * (*action)(CHARACTER *chara))
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 CHARACTER *q;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 for(q = active_chara_list->next; q != NULL ;q = q->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 if(q->f == FALSE)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 break;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 q->state = action;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 q->collision = atari;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 q->x = x;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 q->y = y;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 q->vx = vx;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 q->vy = vy;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 q->tama = tf;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 q->vit = enemystate[charano].p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 q->score = enemystate[charano].sc;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 q->charano = enemystate[charano].charano;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 q->s = 0;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 q->f = TRUE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 //q->state = ALIVE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 //q->group = ENEMY
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 CHARACTER *
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 delete_chara(CHARACTER *p)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 CHARACTER *parent = p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 p->f = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 p->state = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 p->collision = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 return parent;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 void state_update()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 CHARACTER *p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 for(p = active_chara_list->next; p!= NULL ;p = p->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 p=(*p->state)(p);
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 void collision_detect()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 CHARACTER *p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 for(p = active_chara_list->next; p!=NULL;p = p->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 if((p->state != chara_state8) && (p->state != chara_state9))
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 p=(*p->collision)(p);
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 void obj_draw()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 CHARACTER *p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 for(p = active_chara_list->next; p!=NULL;p = p->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 if(p->f == TRUE)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 PutSprite(1, p->x, p->y, p->charano);
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 void outofwindow()
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 CHARACTER *p;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 for(p = active_chara_list->next; p!=NULL; p = p->next)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 if((p->state != chara_state8) && (p->state != chara_state9))
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 if ((p->y > 964 + 32)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 || (p->x > 1688 + 50)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 || (p->y < 0 - 128)
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 || (p->x < 0 - 200))
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 {
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 p->f = FALSE;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 p->state = delete_chara;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 p->collision = noaction;
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 }
01387a2e419e initial version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 }