annotate Renderer/Engine/GTaskArray.cc @ 1004:67ff44a08090

add GTaskArray and merge.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Tue, 26 Oct 2010 17:34:41 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1004
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include "GTaskArray.h"
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 GTaskArray::GTaskArray()
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 game_task_array = NULL;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 game_task = NULL;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 task_id = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 task_num = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 param_num = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 inData_num = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 outData_num = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 GTaskArray::~GTaskArray()
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 if (game_task_array !=NULL) {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 delete game_task_array;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 if (game_task !=NULL) {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 delete game_task;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 void
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 GTaskArray::init(int id, int task, int param, int inData, int outData)
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 game_task = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 task_id = id;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 task_num = task;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 param_num = param;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 inData_num = inData;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 outData_num = outData;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 void
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 GTaskArray::create_task_array(TaskManager *manager)
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 game_task_array = manager->create_task_array(task_id, task_num, param_num, inData_num, outData_num);
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 game_task = 0;
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 void
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 GTaskArray::next_task_array(int id)
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 game_task = game_task_array->next_task_array(id, game_task);
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 }
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 void
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 GTaskArray::finish()
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 {
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 game_task_array->spawn_task_array(game_task->next());
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 game_task_array->set_cpu(SPE_ANY);
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 game_task_array->spawn();
67ff44a08090 add GTaskArray and merge.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 }