00001 #ifndef INCLUDED_SPAN
00002 #define INCLUDED_SPAN
00003
00004 #ifndef INCLUDED_TAPESTRY
00005 # include "Tapestry.h"
00006 #endif
00007
00008 #ifndef INCLUDED_TYPES
00009 # include "types.h"
00010 #endif
00011
00012 #define MAX_TILE_LIST 64
00013
00014 #if 0
00015 typedef struct tile {
00016 void *tile;
00017 int tix, tiy;
00018
00019 } TileInfo, *TileInfoPtr;
00020
00021 typedef struct tile_list {
00022 int size;
00023 struct tile_list *next;
00024 int pad[2];
00025 TileInfo tileinfo[MAX_TILE_LIST];
00026
00027 void init(void) {
00028 size = 0;
00029 next = 0;
00030 }
00031 } TileInfoList, *TileInfoListPtr;
00032 #endif
00033
00034 class Span {
00035 public:
00036 uint32 *tex_addr;
00037 int tex_width;
00038 int tex_height;
00039 int x;
00040 int y;
00041 int length_x;
00042 float start_z;
00043 float end_z;
00044 float tex_x1;
00045 float tex_x2;
00046 float tex_y1;
00047 float tex_y2;
00048
00049 #if 0
00050 TileInfoListPtr tilelist;
00051 #endif
00052
00053 #if 0
00054 void init(void) {
00055 tilelist = 0;
00056 }
00057
00058 void reinit(void) {
00059 TileInfoListPtr tlist = this->tilelist;
00060 TileInfoListPtr t;
00061
00062 while (tlist) {
00063 t = tlist->next;
00064 free(tlist);
00065 tlist = t;
00066 }
00067
00068 tilelist = 0;
00069 }
00070 #endif
00071 };
00072
00073 typedef Span* SpanPtr;
00074
00075 #endif