annotate TaskManager/Test/test_render/Span.h @ 176:be90197f90d4 draft

fix
author gongo@localhost.localdomain
date Tue, 16 Dec 2008 17:01:24 +0900
parents dc7d10ae7460
children e3b7776b1420
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #ifndef INCLUDED_SPAN
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #define INCLUDED_SPAN
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3
113
80d93fe0601d Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
4 #ifndef INCLUDED_TAPESTRY
80d93fe0601d Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
5 # include "Tapestry.h"
80d93fe0601d Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
6 #endif
80d93fe0601d Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
7
164
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
8 #ifndef INCLUDED_TYPES
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
9 # include "types.h"
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
10 #endif
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
11
161
18c42658e0e7 texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents: 146
diff changeset
12 #define MAX_TILE_LIST 64
141
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
13
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
14 typedef struct tile {
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
15 void *tile;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
16 int tix, tiy;
161
18c42658e0e7 texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents: 146
diff changeset
17 //int padding; // 16バイト倍数にする用
141
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
18 } TileInfo, *TileInfoPtr;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
19
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
20 typedef struct tile_list {
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
21 int size;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
22 struct tile_list *next;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
23 int pad[2];
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
24 TileInfo tileinfo[MAX_TILE_LIST];
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
25
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
26 void init(void) {
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
27 size = 0;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
28 next = 0;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
29 }
161
18c42658e0e7 texture の座標がマイナスになったあと、それを 0 にし忘れてた
gongo@localhost.localdomain
parents: 146
diff changeset
30 } TileInfoList, *TileInfoListPtr; // 4*4+64*sizeof(Tile) = 16+768
141
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
31
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 class Span {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33 public:
164
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
34 uint32 *tex_addr;
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
35 int tex_width;
dc7d10ae7460 TilePtr は SPE で計算した方がいいと判断して変更。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 161
diff changeset
36 int tex_height;
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
37 int x;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38 int y;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39 int length_x;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40 float start_z;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41 float end_z;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42 float tex_x1;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43 float tex_x2;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44 float tex_y1;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
45 float tex_y2;
113
80d93fe0601d Define New Texture Data Structure
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 109
diff changeset
46
141
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
47 TileInfoListPtr tilelist;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
48 int pad[3];
146
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
49
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
50 void init(void) {
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
51 tilelist = 0;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
52 }
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
53
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
54 void reinit(void) {
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
55 TileInfoListPtr tlist = this->tilelist;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
56 TileInfoListPtr t;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
57
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
58 while (tlist) {
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
59 t = tlist->next;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
60 free(tlist);
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
61 tlist = t;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
62 }
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
63
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
64 tilelist = 0;
a98dbb81db5c TileList の生成の修正
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 141
diff changeset
65 }
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
66 };
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
67
141
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
68 typedef Span* SpanPtr;
56db76a03294 TileList を作ろうとしたがに動かない。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 113
diff changeset
69
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
70 #endif