changeset 21:fd9deaa67de9

debug done.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Mon, 18 Oct 2010 02:52:52 +0900
parents ec540ce4519d
children 958a55ce0d98
files Func.h dandy.h main.cc ppe/TitleMove.cc ppe/task_init.cc stage_init.cc
diffstat 6 files changed, 98 insertions(+), 86 deletions(-) [+]
line wrap: on
line diff
--- a/Func.h	Mon Sep 20 20:56:31 2010 +0900
+++ b/Func.h	Mon Oct 18 02:52:52 2010 +0900
@@ -1,6 +1,8 @@
 enum {
 #include "SysTasks.h"
+#include "RenderingTasks.h"
     TITLE_MOVE,
+    CRAB_MOVE,
     TITLE_COLL,
     MOVE_00,
     MOVE_01,
@@ -47,4 +49,3 @@
     ASTEROID,
 
 };
-
--- a/dandy.h	Mon Sep 20 20:56:31 2010 +0900
+++ b/dandy.h	Mon Oct 18 02:52:52 2010 +0900
@@ -9,7 +9,7 @@
 #include "MainLoop.h"
 #include "Func.h"
 
-class dandy : public Application {
+class Dandy : public Application {
   MainLoopPtr init(Viewer *viewer, int w, int h);
 };
 
@@ -17,16 +17,16 @@
 typedef void (*coll)(SceneGraphPtr node, void *sgroot_, int w, int h, SceneGraphPtr tree);
 
 typedef struct {
-  double x, y; //8?
-  double vx, vy; //8?
+  double x, y; //16
+  double vx, vy; //16
   int frame; //4
-  const char *chara;
+  const char *chara; //1
   int vital; //4
   int score; //4
-  void *parent; 
-  void *root;
-  int flag;
-  
+  void *parent; //4
+  void *root; //4
+  int flag; //4
+  char a, i, u; //3
 } *ObjPropertyPtr, ObjProperty;
 
 extern ObjProperty back_property;
@@ -34,22 +34,6 @@
 
 static const int ENEMY_NUM = 2;
 
-static const float player_speed = 10.0f;
-static const float player_radius = 42.0f;
-
-static const float boss_radius_x = 65.4f;
-static const float boss_radius_y = 130.8f;
-static const float first_boss1_speed = 10.0;
-static const float first_boss1_depth = 500.0;
-static const float return_boss1_depth_speed = 10.0;
-
-static const float shot_speed = 30.0f;
-static const float shot_radius = 42.4f;
-
-//extern void title_move(SceneGraphPtr node, void *sgroot_, int w, int h);
-//extern void title_coll(SceneGraphPtr node, void *sgroot_, int w, int h, SceneGraphPtr tree);
-//extern void dandy_move(SceneGraphPtr node, void *sgroot_, int w, int h);
-//extern void dandy_coll(SceneGraphPtr node, void *sgroot_, int w, int h,SceneGraphPtr tree);
 extern void create_title_back(Viewer *sgroot, int w, int h);
 extern void create_stage(void *sgroot, int w, int h);
 extern void schedule(SceneGraphPtr node, void *sgroot_, int w, int h);
@@ -67,54 +51,54 @@
 //const state enemystate[50];
 
 #define ENEMY_STATUS_TABLE {\
-    ENEMY_STATUS("title001"   , 0  , 0),				\
-    ENEMY_STATUS("greencrab", 330, 98),				\
-    ENEMY_STATUS("plane", 470, 37),					\
-    ENEMY_STATUS("e_redbullet", 30, 16),				\
-    ENEMY_STATUS("bass1_organ", 25000, 10000),				\
-    ENEMY_STATUS("boss1_parts1", 10000, 10000),				\
-    ENEMY_STATUS("bluebullet", 40, 39),					\
-    ENEMY_STATUS("e_laser", 100, 100000),				\
-    ENEMY_STATUS("lightning", 100, 100000),				\
-    ENEMY_STATUS("asteroid", 170, 500),					\
-    ENEMY_STATUS("asteroid_boss2body", 100, 500),			\
-    ENEMY_STATUS("boss2_leftshoulder", 10000, 12000),			\
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
-    ENEMY_STATUS("t",	0, 0), \
+    ENEMY_STATUS("title001", 0, 0),\
+    ENEMY_STATUS("greencrab", 330, 98),\
+    ENEMY_STATUS("plane", 470, 37),\
+    ENEMY_STATUS("e_redbullet", 30, 16),\
+    ENEMY_STATUS("bass1_organ", 25000, 10000),\
+    ENEMY_STATUS("boss1_parts1", 10000, 10000),\
+    ENEMY_STATUS("bluebullet", 40, 39),\
+    ENEMY_STATUS("e_laser", 100, 100000),\
+    ENEMY_STATUS("lightning", 100, 100000),\
+    ENEMY_STATUS("asteroid", 170, 500),\
+    ENEMY_STATUS("asteroid_boss2body", 100, 500),\
+    ENEMY_STATUS("boss2_leftshoulder", 10000, 12000),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
+    ENEMY_STATUS("t",	0, 0),\
 }
--- a/main.cc	Mon Sep 20 20:56:31 2010 +0900
+++ b/main.cc	Mon Oct 18 02:52:52 2010 +0900
@@ -33,7 +33,7 @@
   sgroot->createFromXMLfile("xml/greencrab.xml");
   sgroot->createFromXMLfile("xml/bluebullet.xml");
   sgroot->createFromXMLfile("xml/redbullet.xml");
-  sgroot->createFromXMLfile("xml/title2.xml");  
+  sgroot->createFromXMLfile("xml/title2.xml");
 
   for (int i = 0; i < ENEMY_NUM; i++) {
     charactor[i].root  = (void*)sgroot->createSceneGraph(status[i].charano);
@@ -46,16 +46,16 @@
 ObjPropertyPtr charactor;
 
 MainLoopPtr
-dandy::init(Viewer *sgroot, int w, int h)
+Dandy::init(Viewer *sgroot, int w, int h)
 {
-  charactor = (ObjPropertyPtr)sgroot->manager->allocate(sizeof(ObjPropertyPtr)*ENEMY_NUM);
+  charactor = (ObjPropertyPtr)sgroot->manager->allocate(sizeof(ObjProperty)*ENEMY_NUM);
   init_charactor(sgroot, w, h);
   return sgroot;
 }
 
 extern Application *
 application() {
-    return new dandy();
+    return new Dandy();
 }
 
 extern int init(TaskManager *manager, int argc, char *argv[]);
--- a/ppe/TitleMove.cc	Mon Sep 20 20:56:31 2010 +0900
+++ b/ppe/TitleMove.cc	Mon Oct 18 02:52:52 2010 +0900
@@ -1,6 +1,6 @@
 #include <stdio.h>
 #include "SchedTask.h"
-#include "TitleMove.h"
+#include "Property.h"
 #include "Pad.h"
 #include "Func.h"
 
--- a/ppe/task_init.cc	Mon Sep 20 20:56:31 2010 +0900
+++ b/ppe/task_init.cc	Mon Oct 18 02:52:52 2010 +0900
@@ -3,6 +3,7 @@
 
 /* 必ずこの位置に書いて */
 SchedExternTask(TitleMove);
+SchedExternTask(CrabMove);
 SchedExternTask(TitleColl);
 /*
 SchedExternTask(Move00);
@@ -66,6 +67,7 @@
 task_init(void)
 {
   SchedRegisterTask(TITLE_MOVE, TitleMove);
+  SchedRegisterTask(CRAB_MOVE, CrabMove);
   SchedRegisterTask(TITLE_COLL, TitleColl);
   /*
   SchedRegisterTask(MOVE_00, Move00);
--- a/stage_init.cc	Mon Sep 20 20:56:31 2010 +0900
+++ b/stage_init.cc	Mon Oct 18 02:52:52 2010 +0900
@@ -1,13 +1,24 @@
 #include "dandy.h"
 
 void
+create_crab(SchedTask *s, void *charactor_, void *b)
+{
+    ObjPropertyPtr charactor = (ObjPropertyPtr)charactor_;
+    SceneGraphPtr crab = (SceneGraphPtr)charactor[1].root;
+
+    crab->xyz[0] = charactor[1].x;
+    crab->xyz[1] = charactor[1].y;
+}
+
+void
 create_title(SchedTask *s, void *charactor_, void *b)
 {
     ObjPropertyPtr charactor = (ObjPropertyPtr)charactor_;
+    SceneGraphPtr title = (SceneGraphPtr)charactor->root;
 
     if (charactor->flag == 1) {
-      /* タイトルが終わり、次はココにゲームの準備をする処理を書く */
-      printf("Title finished");
+      title->remove();
+      charactor->flag = 0;
     }
 }
 
@@ -16,8 +27,9 @@
 { 
     Viewer *sgroot = sgroot_;
     SceneGraphPtr back;
+    back = sgroot->createSceneGraph();
 
-    back = sgroot->createSceneGraph();
+    SceneGraphPtr title = (SceneGraphPtr)charactor[0].root;
     charactor[0].x = w/2;
     charactor[0].y = h/2;
     charactor[0].vx = 1.0;
@@ -25,13 +37,26 @@
     charactor[0].flag = 0;
     charactor[0].parent = (void*)back;
     
-    SceneGraphPtr title = (SceneGraphPtr)charactor[0].root;
     title->xyz[0] = charactor[0].x;
     title->xyz[1] = charactor[0].y;
+
+    SceneGraphPtr crab = (SceneGraphPtr)charactor[1].root;
+    charactor[1].x = 0.0;
+    charactor[1].y = 0.0;
+    charactor[1].vx = 1.0;
+    charactor[1].vy = 1.0;
+    charactor[1].flag = 0;
+    charactor[1].parent = (void*)back;
     
+    crab->xyz[0] = charactor[1].x;
+    crab->xyz[1] = charactor[1].y;
+    
+    back->addChild(title);
+    //    back->addChild(crab);
+    sgroot->setSceneData(back);
+
     int size = sizeof(ObjProperty);
-    back->addChild(title);
-    sgroot->setSceneData(back);  
+    //    sgroot->set_pad_task(crab, CRAB_MOVE, (void*)&charactor[1], size, create_crab);
     sgroot->set_pad_task(title, TITLE_MOVE, (void*)&charactor[0], size, create_title);
 }