annotate gSprite.cc @ 137:298825d8837f

chmod
author e085768
date Fri, 22 Jul 2011 18:43:45 +0900
parents 42337585fb7c
children 4ce7b80c9265 d1ddd095ab03
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
1 //SgoexCerium.ccより
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
2 #include "matrix_calc.h"
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
3 #include "TaskManager.h"
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
4 #include "SceneGraph.h"
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
5 #include "Application.h"
134
42337585fb7c fix merge
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 132
diff changeset
6 #include <iostream>
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
7
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
8 #include <stdio.h>
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
9 #include <stdlib.h>
91
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
10 #include "libps2.h"
cb6c6de125dc halfway
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 90
diff changeset
11 #include "ps2util.h"
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
12 #include "gSprite.h"
90
8edae89a3877 compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 88
diff changeset
13 #include <stdbool.h>
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
14
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
15 #include "camera.h"
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
16
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
17 #define DEFOBJ 100
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
18 #define SPRITE_COL 0x4f
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
19 #define SCREEN_HALF_W 320
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
20 #define SCREEN_HALF_H 240
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
21
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
22 static SpriteTable sptable[DEFOBJ];
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
23 static ps2utilSprite sp[DEFOBJ]; // 表示スプライト用スタック
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
24 static unsigned int sp_counter;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
25 static bool flag_spriteInited = false; // スプライトロードフラグ
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
26
115
31dd5c07f7c1 class OBJECT:SceanGraph
e085768
parents: 100
diff changeset
27 //static TEXTURE *sprite_tex;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
28
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
29 extern Viewer *droot;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
30
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
31 /*static*/ SceneGraphPtr root;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
32
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
33 static float my_scale = 5;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
34
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
35
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
36 static FVECTOR cameraMan_pos = { 0, 0, 0, 1 };
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
37 static FVECTOR cameraMan_angle = { 0, 0, 0, 1 };
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
38
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
39 FVECTOR def_cameraMan = { 0, 0, 0, 1 };
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
40
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
41 void set_cameraMan( void );
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
42
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
43
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
44 CameraPtr camera;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
45
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
46 // SgoexCerium.ccより
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
47 // カメラの更新はここでやれば良いんだろうね
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
48 void flip()
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
49 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
50
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
51 droot->sgroot->flip(); // 前フレームで描画した SceneGraph は削除
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
52 // 前フレームに作られた SceneGraph は描画用に移行
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
53 // 現フレームで新しく SceneGraph がコピーされるので初期化
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
54
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
55 camera = droot->sgroot->getCamera();
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
56
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
57
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
58 droot->sgroot->lightCalc();
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
59
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
60 // rootって変数にカメラの位置設定してるんかな?
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
61 // じゃあ camera ってなによ
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
62 root = droot->createSceneGraph();
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
63
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
64 //root->xyz[0] = screen_w/2;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
65 //root->xyz[1] = screen_h/2;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
66
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
67 // set_cameraMan( );
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
68 //camera->xyz[0] = 100000;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
69 //camera->xyz[1] = 100000;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
70 //camera->xyz[2] = 100000;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
71
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
72 set_cameraMan();
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
73
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
74 /*
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
75 // カメラの設定は後回しにします意味わからん
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
76 // magoroku_camera
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
77 CAMERA mc = get_MagorokuCamera();
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
78 for( int i = 0; i < 4; i ++ ){
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
79 root->xyz[i] = mc.xyz[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
80 root->angle[i] = mc.angle[i];
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
81
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
82 // camera->zd[i] = mc.zd[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
83 //camera->yd[i] = mc.yd[i];
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
84 }
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
85 */
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
86
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
87 /*親の回転、座標から、子の回転、座標を算出*/
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
88 get_matrix(root->matrix, root->angle, root->xyz, camera->matrix);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
89
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
90 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
91 get_matrix(root->real_matrix, root->angle, root->xyz, camera->real_matrix);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
92
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
93
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
94 root->addChild(camera);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
95
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
96 //出力して、次のものを出力するための準備
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
97 droot->setSceneData(root);
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
98 }
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
99
124
e085768
parents: 122
diff changeset
100 // rootのポインターを返す
e085768
parents: 122
diff changeset
101 SceneGraphPtr getRootPtr( void )
e085768
parents: 122
diff changeset
102 {
e085768
parents: 122
diff changeset
103 return root;
e085768
parents: 122
diff changeset
104 }
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
105
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
106
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
107
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
108 /*void
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
109 gSprite_DefSprite(int number, int tx, int ty, int tw, int th)
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
110 */
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
111
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
112 /*
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
113 n==0 retrun x
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
114 n==1 return y
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
115 n==2 return z
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
116 n==3 ?
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
117 */
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
118 float get_cameraPos( int n )
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
119 {
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
120 float num;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
121
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
122 if( n >= 0 && n <= 3 ) num = root->xyz[n];
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
123 else num = 0;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
124
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
125 return num;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
126 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
127
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
128 // カメラの位置設定
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
129 void set_cameraMan( void )
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
130 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
131 // window_posの略
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
132 //FVECTOR wp = {310,150, -800, 1};
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
133 FVECTOR wp = {310 ,400 , 300, 1};
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
134
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
135 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
136 root->xyz[i] = cameraMan_pos[i] + wp[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
137 root->angle[i] = cameraMan_angle[i];
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
138 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
139 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
140
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
141 // カメラの位置を引数のヤツに追従する
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
142 // ここではcameraManって変数に数値をコピーさせてるだけ
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
143 void set_cameraPos( FVECTOR newCameraMan_pos, FVECTOR newCameraMan_angle )
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
144 {
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
145 for( int i = 0; i < 4; i ++ ){
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
146 cameraMan_pos[i] = newCameraMan_pos[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
147 cameraMan_angle[i] = newCameraMan_angle[i];
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
148 }
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
149
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
150 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
151
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
152
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
153 void
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
154 gSprite_DefSprite(int number, const char *name, float w, float h, int color)//, OBJECT *obj)
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
155 {
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
156 SpriteTable *m = &sptable[number];
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
157 m->w = w;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
158 m->h = h;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
159 m->color = (color & 32);
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
160 m->mx = w / 2; //画像の中心を座標としたいらしい。
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
161 m->my = h / 2;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
162 m->tex_w = power_of_two(m->w);
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
163 m->tex_h = power_of_two(m->h);
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
164 m->texture = (int *)name;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
165 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
166
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
167
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
168 void gSprite_PutSprite(bool ScreenPos, int number, int x, int y, int z )
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
169 {
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
170 SpriteTable *m = &sptable[number];
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
171
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
172 char *name = (char *) m->texture;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
173 if (!name) {
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
174 printf("PutSprite %d unknown\n",number);
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
175 return;
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
176 }
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
177
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
178 for( int i = 0; i < 3; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
179 root->xyz[i] = 0.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
180 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
181
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
182 //これをするためには、flip内の処理を先にしておかないいけない?
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
183 SceneGraphPtr object = droot->createSceneGraph(name);
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
184
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
185 object->xyz[0] = x;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
186 object->xyz[1] = y;
124
e085768
parents: 122
diff changeset
187 object->xyz[2] = z;
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
188 object->xyz[3] = 1;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
189
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
190 // object->angle[0] = 45.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
191 // object->angle[1] = 45.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
192 object->angle[2] = 5.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
193
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
194
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
195 // 画面からの座標で表示したい場合
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
196 if( ScreenPos == true ){
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
197 for( int i = 0; i < 3; i ++ ){
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
198 // object->xyz[i] -= get_cameraPos(i);
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
199 }
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
200 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
201
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
202 root->addChild(object);
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
203
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
204 float scale[] = {my_scale,my_scale,1};
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
205
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
206 // float scale[] = {my_scale,my_scale,1};
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
207 //float c_xyz[] = {0,0,0};
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
208
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
209 //float c_xyz[] = {0,0,0};
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
210 //scale_matrix(object->matrix, scale, c_xyz);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
211
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
212
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
213
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
214 printf("camera_[x] = %f ",root->xyz[0]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
215 printf("camera_[y] = %f ",root->xyz[1]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
216 printf("camera_[z] = %f\n ",root->xyz[2]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
217
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
218
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
219 printf( "obj_x: %f", object->xyz[0]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
220 printf( " obj_y:%f", object->xyz[1]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
221 printf( " obj_z:%f", object->xyz[2]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
222 printf( " obj_[3]:%f\n", object->xyz[3]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
223
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
224
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
225 /*親の回転、座標から、子の回転、座標を算出*/
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
226 get_matrix_scale(object->matrix, object->angle, object->xyz, scale, root->matrix);
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
227
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
228 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
229 get_matrix(object->real_matrix, object->angle, object->xyz, root->real_matrix);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
230
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
231 }
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
232
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
233
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
234
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
235 void gSprite_PutObject( int number, OBJECT *obj )
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
236 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
237 // どっちにするべき?
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
238 //SceneGraphPtr sgObj = droot->createSceneGraph();
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
239 SceneGraphPtr sgObj = droot->createSceneGraph(obj->partName[0]);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
240
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
241 for( int i = 0; i < 4; i ++ ){
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
242 sgObj->xyz[i] = obj->xyz[i];
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
243
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
244 for( int j = 0; j < 4; j ++ ){
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
245 sgObj->matrix[(i*4)+j] = obj->transfer[i][j];
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
246 }
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
247
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
248 sgObj->angle[i] = obj->angle[i];
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
249 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
250
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
251
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
252 root->addChild(sgObj);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
253
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
254 float scale[] = {my_scale,my_scale,1};
129
d88dfd3d46c5 car xml
e085768
parents: 128
diff changeset
255
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
256 // パーツ生成
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
257 for( int i = 0; i < obj->partNum; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
258
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
259 SceneGraphPtr part = droot->createSceneGraph(obj->partName[i]);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
260
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
261 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
262 part->xyz[i] = sgObj->xyz[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
263 part->angle[i] = sgObj->angle[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
264 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
265 // addChildの意味?
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
266
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
267 sgObj->addChild(part);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
268 //root->addChild(part);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
269
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
270
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
271 // 親の回転、座標から、子の回転、座標を算出
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
272 get_matrix_scale(part->matrix, part->angle, part->xyz, scale, root->matrix);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
273 // 法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
274 get_matrix(part->real_matrix, part->angle, part->xyz, root->real_matrix);
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
275 }
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
276
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
277
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
278 // 親の回転、座標から、子の回転、座標を算出
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
279 get_matrix_scale(sgObj->matrix, sgObj->angle, sgObj->xyz, scale, root->matrix);
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
280 // 法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
281 get_matrix(sgObj->real_matrix, sgObj->angle, sgObj->xyz, root->real_matrix);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
282 }
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
283
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
284
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
285 void
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
286 gSprite_PutSpriteEx(bool ScreenPos,int number, int x, int y, int z, float scalex, float scaley, float angle)
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
287 {
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
288 if (1) {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
289 gSprite_PutSprite(ScreenPos,number, x, y, z);
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
290 return;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
291 }
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
292
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
293 SpriteTable *m = &sptable[number];
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
294 char *name = (char *) m->texture;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
295 if (!name) {
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
296 printf("PutSpriteEx %d unknown\n",number);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
297 return;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
298 }
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
299 SceneGraphPtr object = droot->createSceneGraph(name);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
300 root->addChild(object);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
301
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
302 float scale[] = {my_scale*scalex*4,my_scale*scaley*4,1};
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
303
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
304 /*親の回転、座標から、子の回転、座標を算出*/
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
305 object->xyz[0] = x - object->c_xyz[0] * my_scale - m->w*my_scale;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
306 object->xyz[1] = y - object->c_xyz[1] * my_scale - m->h*my_scale;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
307 object->xyz[2] = number * 0.01;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
308 //object->c_xyz[0] = m->mx;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
309 //object->c_xyz[1] = m->my;
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
310 object->angle[3] = angle * (3.1415926*2/4096);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
311 get_matrix(object->matrix, object->angle, object->xyz, root->matrix);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
312 float c_xyz[] = {0,0,0};
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
313 scale_matrix(object->matrix, scale, c_xyz);
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
314 /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
315 // get_matrix(object->real_matrix, object->angle, object->xyz, root->real_matrix);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
316 }
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
317
116
ed702e49cc6c conpile
e085768
parents: 115
diff changeset
318
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
319
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
320 void
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
321 gSprite_Init()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
322 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
323 //ココを一回だけ宣言する。
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
324 droot->createFromXMLfile("xml_file/title.xml");
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
325
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
326
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
327 //テスト
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
328 //droot->createFromXMLfile("xml_file/kuruma2.xml");
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
329
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
330 droot->createFromXMLfile("xml_file/select.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
331 droot->createFromXMLfile("xml_file/sp_meter.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
332 droot->createFromXMLfile("xml_file/r_arrow.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
333 droot->createFromXMLfile("xml_file/l_arrow.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
334 droot->createFromXMLfile("xml_file/km.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
335 droot->createFromXMLfile("xml_file/rap.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
336 droot->createFromXMLfile("xml_file/1p.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
337 droot->createFromXMLfile("xml_file/2p.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
338 droot->createFromXMLfile("xml_file/select_car_1.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
339 droot->createFromXMLfile("xml_file/select_car_2.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
340 droot->createFromXMLfile("xml_file/select_car_3.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
341 droot->createFromXMLfile("xml_file/select_corse_1.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
342 droot->createFromXMLfile("xml_file/select_corse_2.xml");
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
343
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
344 ps2util_graphic_Init();
114
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
345 //gSprite_Init_Png("img/main2.png");
3ffda5b493c2 add flip in gSprite.cc
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
346 //gSprite_Create(); // スプライト生成
118
b6dc70f6aa7e chenge OBJECT->transfer
e085768
parents: 116
diff changeset
347
119
f2e2460b4011 draw_title
e085768
parents: 118
diff changeset
348 // testCoeler
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
349 int tc = 1;
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
350
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
351 gSprite_DefSprite( TITLE, "title", 512, 666, tc); // タイトル
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
352 gSprite_DefSprite( SELECT, "select", 33, 33, tc); // 選択マーク
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
353 gSprite_DefSprite( SP_METER, "sp_meter", 106, 34, tc); // スピードメーター
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
354 gSprite_DefSprite( R_ARROW, "r_arrow", 18, 20, tc); // 右矢印
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
355 gSprite_DefSprite( L_ARROW, "l_arrow", 17, 20, tc); // 左矢印
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
356 gSprite_DefSprite( KM, "km", 55, 26, tc); // km/h
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
357 gSprite_DefSprite( RAP, "rap", 39, 26, tc); // Rap
126
030394675d8e succes compile
e085768
parents: 125
diff changeset
358 gSprite_DefSprite( PLAYER_1, "1P", 53, 46, tc); // 1p
030394675d8e succes compile
e085768
parents: 125
diff changeset
359 gSprite_DefSprite( PLAYER_2, "2P", 53, 46, tc); // 2P
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
360 gSprite_DefSprite( SELECT_CAR_1, "select_car_1", 165, 140, tc); // 選択画面の車
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
361 gSprite_DefSprite( SELECT_CAR_2, "select_car_2", 165, 140, tc);
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
362 gSprite_DefSprite( SELECT_CAR_3, "select_car_3", 165, 140, tc);
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
363 gSprite_DefSprite( SELECT_CORSE_1, "select_corse_1", 148, 114, tc); // 選択画面のコース
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
364 // 本当は (82, 272,...)です。二つ目のコース絵がないので
122
5219bf3d5e71 title_draw
e085768
parents: 119
diff changeset
365 gSprite_DefSprite( SELECT_CORSE_2, "select_corse_2", 148, 114 ,tc);
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
366
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
367 }
90
8edae89a3877 compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 88
diff changeset
368
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
369 static void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
370 gSprite_Clear()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
371 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
372 int i;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
373
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
374 for (i=0; i<DEFOBJ; i++) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
375 sprite_disappear(&sp[i].attribute);
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
376 }
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
377 sp_counter = 0;
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
378 }
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
379
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
380
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
381
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
382 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
383 gSprite_Draw_Reset()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
384 {
96
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
385 if (flag_spriteInited == true) {
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
386 gSprite_Clear();
0b65ca27f113 compile on Mac OS X 2
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
387 }
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
388 }
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
389
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
390
95
b0249b856488 change_ps2util
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents: 91
diff changeset
391
0
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
392 void
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
393 gSprite_PutSprite_Pause()
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
394 {
0fae5658fb0b Initial revision
gongo
parents:
diff changeset
395 }
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
396
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
397 // xmlファイルから読み込み
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
398 void call_createFromXMLfile( char *filename )
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
399 {
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
400 droot->createFromXMLfile(filename);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
401 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
402
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
403
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
404 // createScenGraphe()する
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
405 /*
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
406 OBJECT* call_createSceneGraph( char *filename )
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
407 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
408 OBJECT *obj;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
409 obj = droot->createSceneGraph(filename);
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
410
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
411 return obj;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
412 }
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
413
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
414
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
415 // createScenGraphe()する
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
416 OBJECT* call_createSceneGraph( void )
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
417 {
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
418 OBJECT *obj;
128
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
419 obj = droot->createSceneGraph();
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
420
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
421 return obj;
d9e3137e70a0 xml name change
e085768
parents: 126
diff changeset
422 }
130
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
423 */
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
424
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
425 #include "controler.h"
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
426 // controler.cより
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
427 extern SGO_PAD pad;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
428
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
429 // テスト用関数
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
430 void cameraControl( void )
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
431 {
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
432
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
433 FVECTOR xyz;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
434 FVECTOR angle;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
435
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
436 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
437 xyz[i] = cameraMan_pos[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
438 angle[i] = cameraMan_angle[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
439 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
440
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
441 float speed = 1.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
442
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
443 bool esc = false;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
444
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
445 if( pad.se > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
446 esc = true;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
447 printf("press selectButton\n");
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
448 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
449
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
450 if( pad.l1 > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
451 speed = 10.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
452 printf("press W_key\n");
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
453 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
454
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
455 if( pad.left > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
456 if ( esc == true ) angle[0] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
457 else xyz[0] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
458 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
459 if( pad.right > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
460 if ( esc == true ) angle[0] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
461 else xyz[0] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
462 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
463
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
464 if( pad.up > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
465 if ( esc == true ) angle[1] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
466 else xyz[1] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
467 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
468 if( pad.down > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
469 if ( esc == true ) angle[1] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
470 else xyz[1] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
471 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
472
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
473 if( pad.circle > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
474 if ( esc == true ) angle[2] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
475 else xyz[2] += speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
476 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
477 if( pad.cross > 0 ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
478 if ( esc == true ) angle[2] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
479 else xyz[2] -= speed;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
480 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
481
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
482
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
483 for( int i = 0; i < 3; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
484 if (angle[i] > 360.0f || angle[i] < -360.0f ) {
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
485 angle[i] = 0.0f;
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
486 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
487 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
488
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
489 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
490
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
491 cameraMan_pos[i] = xyz[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
492 cameraMan_angle[i] = angle[i];
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
493 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
494
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
495
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
496 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
497 printf("cameraPos[%d] = %f ", i, cameraMan_pos[i] );
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
498 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
499 printf("\n");
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
500
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
501 for( int i = 0; i < 4; i ++ ){
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
502 printf("cameraAngle[%d] = %f ", i, cameraMan_angle[i] );
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
503 }
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
504 printf("\n");
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
505
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
506
4f50f5a3b363 new repository
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 129
diff changeset
507 }