annotate collision_task.cc @ 54:3acdeb3dc3e8

collision use global_alloc (not work)
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Thu, 27 Jan 2011 21:05:30 +0900
parents b31bed246abd
children 2c33aa6a4a37
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <stdlib.h>
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include <SDL.h>
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
4 #include "Func.h"
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
5 #include "TaskManager.h"
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
6 #include "collision_task.h"
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 #include "Character.h"
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
8 #include "count2.h"
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #include "tokuten.h"
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
10 #include "object.h"
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 #include "sgoex.h"
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
12
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 #include "property.h"
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
15
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 extern SpriteTable sptable[DEFOBJ];
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 extern TaskManager *tmanager;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
19 HTaskPtr update_task;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
20 HTaskPtr reflect_task;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
21
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
22 static CollisionPropertyPtr
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
23 get_property()
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 {
8
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
25 CollisionPropertyPtr property = (CollisionPropertyPtr)tmanager->allocate(sizeof(CollisionProperty));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
26
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
27 property->infg_level = infg_level;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
28
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
29 property->tama_lv1_end = tama_lv1_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
30 property->tama_lv2_end = tama_lv2_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
31 property->laser_lv1_end = laser_lv1_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
32
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
33 property->enemycount = enemycount;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
34
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
35 property->jiki = jiki;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
36
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
37 property->lg = lg;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
38 property->infg = infg;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
39
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
40 memcpy(property->tama_lv1, tama_lv1, sizeof(tama1)*20);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
41 memcpy(property->tama_lv2, tama_lv2, sizeof(tama2)*20);
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
42 property->tlv3 = tlv3[0];
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
43 memcpy(property->laser_lv1, laser_lv1, sizeof(laser)*20);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
44 property->laser_lv2 = laser_lv2[0];
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
45 memcpy(property->laser_lv3, laser_lv3, sizeof(laser)*128);
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 return property;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 }
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 void
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
51 reflect_property(SchedTask *s, void *prop, void *none)
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 {
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 CollisionPropertyPtr property = (CollisionPropertyPtr)prop;
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
54
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
55 infg_level = property->infg_level;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
56
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
57 tama_lv1_end = property->tama_lv1_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
58 tama_lv2_end = property->tama_lv2_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
59 laser_lv1_end = property->laser_lv1_end;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
60
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
61 enemycount = property->enemycount;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
62
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
63 jiki = property->jiki;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
64
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
65 lg = property->lg;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
66 infg = property->infg;
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
67
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
68 memcpy(tama_lv1, property->tama_lv1, sizeof(tama1)*20);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
69 memcpy(tama_lv2, property->tama_lv2, sizeof(tama2)*20);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
70 tlv3[0] = property->tlv3;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
71 memcpy(laser_lv1, property->laser_lv1, sizeof(laser)*20);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
72 laser_lv2[0] = property->laser_lv2;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
73 memcpy(laser_lv3, property->laser_lv3, sizeof(laser)*128);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
74 }
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
75
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
76 void
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
77 after_free(SchedTask *s, void *object, void *none)
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
78 {
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
79 free(object);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
80 }
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
81
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
82
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
83 void
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
84 collision_allocate()
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
85 {
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
86 HTaskPtr alloc_task = tmanager->create_task(DataAllocate);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
87
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
88 alloc_task->set_param(0, (memaddr)1);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
89 alloc_task->set_param(1, (memaddr)sizeof(CollisionProperty));
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
90 alloc_task->set_param(2, (memaddr)COLLDATA);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
91
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
92 alloc_task->set_cpu(SPE_0);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
93 alloc_task->spawn();
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
94 }
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
95
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
96 HTaskPtr
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
97 collision_update()
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
98 {
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
99 update_task = tmanager->create_task(DataUpdate);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
100 CollisionPropertyPtr property = get_property();
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
101
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
102 update_task->set_param(0, (memaddr)1);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
103 update_task->set_param(1, (memaddr)COLLDATA);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
104
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
105 update_task->set_inData(0, property, sizeof(CollisionProperty));
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
106
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
107 update_task->set_post(after_free, (void*)property, NULL);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
108 update_task->set_cpu(SPE_0);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
109
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
110 return update_task;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
111 }
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
112
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
113 HTaskPtr
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
114 collision_reflect()
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
115 {
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
116 reflect_task = tmanager->create_task(COLLDATA_REFLECT);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
117 CollisionPropertyPtr property = (CollisionPropertyPtr)tmanager->allocate(sizeof(CollisionProperty));
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
118
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
119 reflect_task->set_param(0, (memaddr)COLLDATA);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
120
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
121 reflect_task->set_outData(0, property, sizeof(CollisionProperty));
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
122
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
123 reflect_task->set_post(reflect_property, (void*)property, NULL);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
124 reflect_task->set_cpu(SPE_0);
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
125
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
126 return reflect_task;
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
127 }
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
129 void
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
130 collision_free()
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
131 {
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
132 HTaskPtr free_task = tmanager->create_task(DataFree);
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
134 free_task->set_param(0, (memaddr)COLLDATA);
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
136 free_task->set_cpu(SPE_0);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
137 free_task->spawn();
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 }
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
141 CHARACTER*
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
142 atari(CHARACTER *p)
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 {
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 int w, h, charno;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 charno = p->charano;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 w = sptable[charno].w;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 h = sptable[charno].h;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
150 int obj_size = sizeof(ObjContainer);
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
151 ObjContainerPtr obj = (ObjContainerPtr)tmanager->allocate(obj_size);
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
152 obj->flag = false;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
153 obj->length = 0;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
154
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 HTaskPtr collision_task = tmanager->create_task(ATARI);
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 collision_task->set_param(0,(memaddr)w);
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 collision_task->set_param(1,(memaddr)h);
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
159 collision_task->set_param(2, (memaddr)COLLDATA);
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
161 collision_task->set_inData(0, p, sizeof(player));
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
162
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
163 collision_task->set_outData(0, p, sizeof(player));
53
b31bed246abd fix code and add log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
164 collision_task->set_outData(1, obj, sizeof(ObjContainer));
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
165
54
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
166 collision_task->set_post(after_free, (void*)obj, NULL);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
167 collision_task->set_cpu(SPE_0);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
168
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
169 collision_task->wait_for(update_task);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
170 reflect_task->wait_for(collision_task);
3acdeb3dc3e8 collision use global_alloc (not work)
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 53
diff changeset
171
5
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 collision_task->spawn();
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 return p;
c9e9b605f08e rename tcollision.cc
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 }