diff ppe/chara_state3.cc @ 30:427e1aac0bd7

not run.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Fri, 31 Dec 2010 15:50:44 +0900
parents ee4c488d48a3
children ccb8d9956a1e
line wrap: on
line diff
--- a/ppe/chara_state3.cc	Tue Dec 28 16:22:22 2010 +0900
+++ b/ppe/chara_state3.cc	Fri Dec 31 15:50:44 2010 +0900
@@ -7,7 +7,11 @@
 run(SchedTask *smanager, void *rbuf, void *wbuf)
 {
     CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
-    TamaContainerPtr tama = (TamaContainerPtr)smanager->get_input(rbuf, 1);
+    CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
+    TamaContainerPtr tama = (TamaContainerPtr)smanager->get_output(wbuf, 1);
+
+    smanager->set_outputSize(1, sizeof(TamaContainer)*3);
+    smanager->setup_outputData();
     
     p->x += p->vx;
     p->y += p->vy;
@@ -15,11 +19,13 @@
        (p->dt1 == 90) ||
        (p->dt1 == 30))
     {
-	Puttama(0, p->x, p->y, tama);
+	Puttama(0, p->x, p->y, &tama[0]);
+	Puttama(0, p->x, p->y, &tama[1]);
+	Puttama(0, p->x, p->y, &tama[2]);
     }
     p->dt1++;
-    
     p->task = STATE3;
-    smanager->swap();
+
+    *q = *p;
     return 0;
 }