#include<ultra64.h>




#define gs_Nin_LoadTextureImage(timg,fmt,siz,width,height,tmem,tt)	\
	gsDPSetTextureImage(fmt,siz,1,timg),	\
	gsDPTileSync(),	\
	gsDPSetTile(fmt,siz,0,tmem,tt,0,0,0,0,0,0,0),	\
	gsDPLoadSync(),	\
	gsDPLoadBlock(tt,0,0,width*height-1,CALC_DXT(width,siz##_BYTES))

#define gs_Nin_SetUpTileDescrip(fmt,siz,width,height,tmem,tt,cs,ms,ss,ct,mt,st)	\
	gsDPTileSync(),	\
	gsDPSetTile(fmt,siz,((((width)*siz##_LINE_BYTES)+7)>>3),tmem,tt,0,ct,mt,st,cs,ms,ss),	\
	gsDPSetTileSize(tt,0,0,(width-1)<<G_TEXTURE_IMAGE_FRAC,(height-1)<<G_TEXTURE_IMAGE_FRAC)

#define G_CC_PRIMSHADE PRIMITIVE,0,SHADE,0,0,0,0,SHADE

/* main display list */

/* 242 vertices */
Vtx bus_v[]={
	{-5,1,-33,0,67,984,255,255,255,255},	/* 0 */
	{-5,1,-47,0,970,984,255,255,255,255},	/* 1 */
	{-5,16,-47,0,970,31,255,255,255,255},	/* 2 */
	{-5,16,-33,0,67,31,255,255,255,255},	/* 3 */
	{-16,16,-33,0,67,31,255,255,255,255},	/* 4 */
	{-16,16,-47,0,970,31,255,255,255,255},	/* 5 */
	{-16,1,-47,0,970,984,255,255,255,255},	/* 6 */
	{-16,1,-33,0,67,984,255,255,255,255},	/* 7 */
	{5,16,-33,0,67,31,255,255,255,255},	/* 8 */
	{5,16,-47,0,970,31,255,255,255,255},	/* 9 */
	{5,1,-47,0,970,984,255,255,255,255},	/* 10 */
	{5,1,-33,0,67,984,255,255,255,255},	/* 11 */
	{16,1,-33,0,67,984,255,255,255,255},	/* 12 */
	{16,1,-47,0,970,984,255,255,255,255},	/* 13 */
	{16,16,-47,0,970,31,255,255,255,255},	/* 14 */
	{16,16,-33,0,67,31,255,255,255,255},	/* 15 */
	{-7,1,47,0,54,986,255,255,255,255},	/* 16 */
	{-7,1,33,0,963,986,255,255,255,255},	/* 17 */
	{-7,16,33,0,963,45,255,255,255,255},	/* 18 */
	{-7,16,47,0,54,45,255,255,255,255},	/* 19 */
	{-16,16,47,0,54,45,255,255,255,255},	/* 20 */
	{-16,16,33,0,963,45,255,255,255,255},	/* 21 */
	{-16,1,33,0,963,986,255,255,255,255},	/* 22 */
	{-16,1,47,0,54,986,255,255,255,255},	/* 23 */
	{16,1,47,0,54,986,255,255,255,255},	/* 24 */
	{16,1,33,0,963,986,255,255,255,255},	/* 25 */
	{16,16,33,0,963,45,255,255,255,255},	/* 26 */
	{16,16,47,0,54,45,255,255,255,255},	/* 27 */
	{7,16,47,0,54,45,255,255,255,255},	/* 28 */
	{7,16,33,0,963,45,255,255,255,255},	/* 29 */
	{7,1,33,0,963,986,255,255,255,255},	/* 30 */
	{7,1,47,0,54,986,255,255,255,255},	/* 31 */
	{13,6,-83,0,337,791,136,136,136,255},	/* 32 */
	{-13,6,-83,0,661,773,136,136,136,255},	/* 33 */
	{-13,10,-83,0,661,674,221,221,221,255},	/* 34 */
	{13,10,-83,0,337,692,221,221,221,255},	/* 35 */
	{15,10,-81,0,312,693,204,204,204,255},	/* 36 */
	{15,6,-81,0,312,807,187,187,187,255},	/* 37 */
	{-15,6,-81,0,686,786,187,187,187,255},	/* 38 */
	{-15,10,-81,0,686,672,204,204,204,255},	/* 39 */
	{12,4,71,0,773,780,119,119,119,255},	/* 40 */
	{14,4,69,0,809,773,119,119,119,255},	/* 41 */
	{14,10,69,0,831,549,255,255,255,255},	/* 42 */
	{12,10,71,0,795,556,255,255,255,255},	/* 43 */
	{-13,10,71,0,291,652,255,255,255,255},	/* 44 */
	{-13,4,71,0,270,877,119,119,119,255},	/* 45 */
	{-14,10,69,0,255,659,255,255,255,255},	/* 46 */
	{-14,4,69,0,234,884,119,119,119,255},	/* 47 */
	{13,4,69,0,781,807,119,119,119,255},	/* 48 */
	{-13,4,69,0,256,908,119,119,119,255},	/* 49 */
	{-15,28,67,0,1207,992,221,221,221,255},	/* 50 */
	{-15,49,64,0,972,103,255,255,255,255},	/* 51 */
	{-15,49,49,0,0,99,255,255,255,255},	/* 52 */
	{-15,28,49,0,0,992,255,255,255,255},	/* 53 */
	{-13,53,63,0,933,-42,255,255,255,255},	/* 54 */
	{-13,53,49,0,0,-42,255,255,255,255},	/* 55 */
	{12,49,66,0,756,377,204,204,204,255},	/* 56 */
	{-13,49,66,0,330,402,204,204,204,255},	/* 57 */
	{-13,28,69,0,327,847,255,255,255,255},	/* 58 */
	{13,28,69,0,774,821,255,255,255,255},	/* 59 */
	{13,53,49,0,1001,811,255,255,255,255},	/* 60 */
	{13,53,63,0,1,811,255,255,255,255},	/* 61 */
	{15,49,64,0,-40,616,255,255,255,255},	/* 62 */
	{15,49,49,0,1001,621,255,255,255,255},	/* 63 */
	{15,28,67,0,-292,-568,221,221,221,255},	/* 64 */
	{15,28,49,0,1001,-568,255,255,255,255},	/* 65 */
	{13,28,69,0,1007,1031,255,255,255,255},	/* 66 */
	{15,28,67,0,1078,1013,221,221,221,255},	/* 67 */
	{12,49,66,0,983,85,204,204,204,255},	/* 68 */
	{15,49,64,0,1078,111,255,255,255,255},	/* 69 */
	{13,53,63,0,1078,-36,255,255,255,255},	/* 70 */
	{-15,49,64,0,-56,111,255,255,255,255},	/* 71 */
	{-15,28,67,0,-56,1013,221,221,221,255},	/* 72 */
	{-13,49,66,0,37,85,204,204,204,255},	/* 73 */
	{-13,28,69,0,14,1031,255,255,255,255},	/* 74 */
	{-13,53,63,0,-56,-36,255,255,255,255},	/* 75 */
	{15,28,49,0,1001,-804,255,255,255,255},	/* 76 */
	{15,28,67,0,-292,-804,221,221,221,255},	/* 77 */
	{15,6,67,0,-292,1007,170,170,170,255},	/* 78 */
	{15,5,51,0,1001,1009,187,187,187,255},	/* 79 */
	{-13,28,-83,0,987,1100,187,187,187,255},	/* 80 */
	{-13,50,-83,0,987,133,170,170,170,255},	/* 81 */
	{13,50,-83,0,36,133,170,170,170,255},	/* 82 */
	{13,28,-83,0,36,1100,187,187,187,255},	/* 83 */
	{-13,53,63,0,-155,-364,255,255,255,255},	/* 84 */
	{-13,49,66,0,-44,0,204,204,204,255},	/* 85 */
	{12,49,66,0,1066,0,204,204,204,255},	/* 86 */
	{13,53,63,0,1177,-364,255,255,255,255},	/* 87 */
	{15,28,-81,0,1023,1024,238,238,238,255},	/* 88 */
	{15,50,-81,0,1023,56,255,255,255,255},	/* 89 */
	{15,49,49,0,-9200,92,255,255,255,255},	/* 90 */
	{15,28,49,0,-9200,1024,255,255,255,255},	/* 91 */
	{13,53,-81,0,1023,-56,255,255,255,255},	/* 92 */
	{13,53,49,0,-9200,-56,255,255,255,255},	/* 93 */
	{-13,53,49,0,-9200,-56,255,255,255,255},	/* 94 */
	{-13,53,-81,0,1024,-56,255,255,255,255},	/* 95 */
	{-13,53,-81,0,1023,-56,255,255,255,255},	/* 96 */
	{-15,50,-81,0,1023,56,255,255,255,255},	/* 97 */
	{-15,49,49,0,-9200,92,255,255,255,255},	/* 98 */
	{-15,28,-81,0,1023,1023,238,238,238,255},	/* 99 */
	{-15,28,49,0,-9200,1024,255,255,255,255},	/* 100 */
	{15,28,-81,0,2048,2,238,238,238,255},	/* 101 */
	{15,10,-81,0,24,2,204,204,204,255},	/* 102 */
	{13,10,-83,0,24,136,221,221,221,255},	/* 103 */
	{13,28,-83,0,2048,136,187,187,187,255},	/* 104 */
	{-13,10,-83,0,24,1911,221,221,221,255},	/* 105 */
	{-13,28,-83,0,2048,1911,187,187,187,255},	/* 106 */
	{-15,10,-81,0,24,2045,204,204,204,255},	/* 107 */
	{-15,28,-81,0,2048,2045,238,238,238,255},	/* 108 */
	{-15,28,-81,0,2048,867,238,238,238,255},	/* 109 */
	{-15,17,-33,0,1053,-2408,238,238,238,255},	/* 110 */
	{-15,17,33,0,1053,-6912,238,238,238,255},	/* 111 */
	{-15,28,49,0,2048,-7993,255,255,255,255},	/* 112 */
	{-15,17,-47,0,1053,-1453,238,238,238,255},	/* 113 */
	{-15,10,-81,0,376,867,204,204,204,255},	/* 114 */
	{-15,6,-30,0,20,-2613,187,187,187,255},	/* 115 */
	{-15,5,29,0,17,-6633,187,187,187,255},	/* 116 */
	{-15,18,47,0,1093,-7822,238,238,238,255},	/* 117 */
	{-15,28,67,0,2048,-9201,221,221,221,255},	/* 118 */
	{-15,5,51,0,17,-8129,187,187,187,255},	/* 119 */
	{-15,6,67,0,20,-9201,170,170,170,255},	/* 120 */
	{-13,53,63,0,4,6121,255,255,255,255},	/* 121 */
	{13,53,63,0,2048,6121,255,255,255,255},	/* 122 */
	{13,53,49,0,2048,5538,255,255,255,255},	/* 123 */
	{-13,53,49,0,4,5538,255,255,255,255},	/* 124 */
	{13,53,-81,0,2048,0,255,255,255,255},	/* 125 */
	{-13,53,-81,0,4,0,255,255,255,255},	/* 126 */
	{-15,17,-47,0,1053,-1453,119,119,119,255},	/* 127 */
	{-15,6,-50,0,20,-1248,119,119,119,255},	/* 128 */
	{15,6,-50,0,20,-1248,119,119,119,255},	/* 129 */
	{15,17,-47,0,1053,-1453,119,119,119,255},	/* 130 */
	{-15,17,-33,0,1053,-2408,119,119,119,255},	/* 131 */
	{15,17,-33,0,1053,-2408,119,119,119,255},	/* 132 */
	{15,6,-30,0,20,-2613,119,119,119,255},	/* 133 */
	{-15,6,-30,0,20,-2613,119,119,119,255},	/* 134 */
	{15,18,47,0,1093,-7822,221,221,221,255},	/* 135 */
	{15,28,49,0,2048,-7993,255,255,255,255},	/* 136 */
	{15,5,51,0,17,-8129,187,187,187,255},	/* 137 */
	{15,5,29,0,17,-6633,187,187,187,255},	/* 138 */
	{15,6,-30,0,20,-2613,187,187,187,255},	/* 139 */
	{15,17,-33,0,1053,-2408,238,238,238,255},	/* 140 */
	{15,5,29,0,17,-6633,187,187,187,255},	/* 141 */
	{15,17,-33,0,1053,-2408,238,238,238,255},	/* 142 */
	{15,17,33,0,1053,-6912,238,238,238,255},	/* 143 */
	{15,17,-47,0,1053,-1453,221,221,221,255},	/* 144 */
	{15,28,-81,0,2048,867,238,238,238,255},	/* 145 */
	{15,28,49,0,2048,-7993,255,255,255,255},	/* 146 */
	{15,18,47,0,1093,-7822,221,221,221,255},	/* 147 */
	{15,17,-47,0,1053,-1834,119,119,119,255},	/* 148 */
	{15,17,-33,0,1053,-2936,119,119,119,255},	/* 149 */
	{-15,17,-33,0,1053,-2936,119,119,119,255},	/* 150 */
	{-15,17,-47,0,1053,-1834,119,119,119,255},	/* 151 */
	{15,17,33,0,1053,-6912,119,119,119,255},	/* 152 */
	{15,18,47,0,1093,-7822,119,119,119,255},	/* 153 */
	{-15,18,47,0,1093,-7822,119,119,119,255},	/* 154 */
	{-15,17,33,0,1053,-6912,119,119,119,255},	/* 155 */
	{-15,5,29,0,17,-6633,119,119,119,255},	/* 156 */
	{15,5,29,0,17,-6633,119,119,119,255},	/* 157 */
	{15,5,51,0,17,-8129,119,119,119,255},	/* 158 */
	{-15,5,51,0,17,-8129,119,119,119,255},	/* 159 */
	{-15,6,-50,0,20,-1248,187,187,187,255},	/* 160 */
	{-15,17,-47,0,1053,-1453,238,238,238,255},	/* 161 */
	{-15,10,-81,0,376,867,204,204,204,255},	/* 162 */
	{-15,6,-81,0,20,867,187,187,187,255},	/* 163 */
	{13,50,-83,0,3982,1023,170,170,170,255},	/* 164 */
	{13,53,-81,0,4208,867,255,255,255,255},	/* 165 */
	{15,50,-81,0,3982,867,255,255,255,255},	/* 166 */
	{-13,50,-83,0,3982,1023,170,170,170,255},	/* 167 */
	{-13,53,-81,0,4208,867,255,255,255,255},	/* 168 */
	{15,28,-81,0,2047,867,238,238,238,255},	/* 169 */
	{13,28,-83,0,2048,1023,187,187,187,255},	/* 170 */
	{-15,28,-81,0,2048,867,238,238,238,255},	/* 171 */
	{-15,50,-81,0,3982,867,255,255,255,255},	/* 172 */
	{-15,28,-81,0,2048,867,238,238,238,255},	/* 173 */
	{-13,50,-83,0,3982,1023,170,170,170,255},	/* 174 */
	{-13,28,-83,0,2048,1023,187,187,187,255},	/* 175 */
	{-15,50,-81,0,3982,867,255,255,255,255},	/* 176 */
	{-13,53,-81,0,4208,867,255,255,255,255},	/* 177 */
	{15,17,-47,0,1053,-1453,221,221,221,255},	/* 178 */
	{15,6,-50,0,20,-1248,187,187,187,255},	/* 179 */
	{15,6,-81,0,20,867,187,187,187,255},	/* 180 */
	{15,10,-81,0,376,867,204,204,204,255},	/* 181 */
	{15,28,-81,0,2048,867,238,238,238,255},	/* 182 */
	{13,6,69,0,3831,2818,136,136,136,255},	/* 183 */
	{15,6,67,0,4087,2818,170,170,170,255},	/* 184 */
	{15,28,67,0,4087,0,221,221,221,255},	/* 185 */
	{13,28,69,0,3831,0,255,255,255,255},	/* 186 */
	{-13,28,69,0,255,0,255,255,255,255},	/* 187 */
	{-13,6,69,0,255,2818,136,136,136,255},	/* 188 */
	{-15,28,67,0,0,0,221,221,221,255},	/* 189 */
	{-15,6,67,0,0,2818,170,170,170,255},	/* 190 */
	{-5,12,-46,0,8507,1693,255,255,255,255},	/* 191 */
	{-16,12,-46,0,13115,3997,255,255,255,255},	/* 192 */
	{-16,16,-40,0,13115,2290,255,255,255,255},	/* 193 */
	{-5,16,-40,0,8507,-13,255,255,255,255},	/* 194 */
	{-5,5,-46,0,8507,5107,255,255,255,255},	/* 195 */
	{-16,5,-46,0,13115,7411,255,255,255,255},	/* 196 */
	{-16,12,-33,0,13115,3997,255,255,255,255},	/* 197 */
	{-5,12,-33,0,8507,1693,255,255,255,255},	/* 198 */
	{-16,5,-33,0,13115,7411,255,255,255,255},	/* 199 */
	{-5,5,-33,0,8507,5107,255,255,255,255},	/* 200 */
	{-16,1,-40,0,13115,9118,255,255,255,255},	/* 201 */
	{-5,1,-40,0,8507,6814,255,255,255,255},	/* 202 */
	{5,1,-40,0,8507,6814,255,255,255,255},	/* 203 */
	{16,1,-40,0,13115,9118,255,255,255,255},	/* 204 */
	{16,5,-33,0,13115,7411,255,255,255,255},	/* 205 */
	{5,5,-33,0,8507,5107,255,255,255,255},	/* 206 */
	{5,5,-46,0,8507,5107,255,255,255,255},	/* 207 */
	{16,5,-46,0,13115,7411,255,255,255,255},	/* 208 */
	{16,12,-33,0,13115,3997,255,255,255,255},	/* 209 */
	{5,12,-33,0,8507,1693,255,255,255,255},	/* 210 */
	{5,12,-46,0,8507,1693,255,255,255,255},	/* 211 */
	{16,12,-46,0,13115,3997,255,255,255,255},	/* 212 */
	{16,16,-40,0,13115,2290,255,255,255,255},	/* 213 */
	{5,16,-40,0,8507,-13,255,255,255,255},	/* 214 */
	{-7,12,34,0,9435,2213,255,255,255,255},	/* 215 */
	{-16,12,34,0,12109,3551,255,255,255,255},	/* 216 */
	{-16,16,40,0,12815,2140,255,255,255,255},	/* 217 */
	{-7,16,40,0,10140,802,255,255,255,255},	/* 218 */
	{-7,5,34,0,8024,5036,255,255,255,255},	/* 219 */
	{-16,5,34,0,10698,6373,255,255,255,255},	/* 220 */
	{-16,12,47,0,12109,3551,255,255,255,255},	/* 221 */
	{-7,12,47,0,9435,2213,255,255,255,255},	/* 222 */
	{-16,5,47,0,10698,6373,255,255,255,255},	/* 223 */
	{-7,5,47,0,8024,5036,255,255,255,255},	/* 224 */
	{-16,1,40,0,9993,7784,255,255,255,255},	/* 225 */
	{-7,1,40,0,7318,6447,255,255,255,255},	/* 226 */
	{7,5,34,0,8024,5036,255,255,255,255},	/* 227 */
	{16,5,34,0,10698,6373,255,255,255,255},	/* 228 */
	{16,1,40,0,9993,7784,255,255,255,255},	/* 229 */
	{7,1,40,0,7318,6447,255,255,255,255},	/* 230 */
	{16,5,47,0,10698,6373,255,255,255,255},	/* 231 */
	{7,5,47,0,8024,5036,255,255,255,255},	/* 232 */
	{16,12,47,0,12109,3551,255,255,255,255},	/* 233 */
	{7,12,47,0,9435,2213,255,255,255,255},	/* 234 */
	{7,12,34,0,9435,2213,255,255,255,255},	/* 235 */
	{16,12,34,0,12109,3551,255,255,255,255},	/* 236 */
	{16,16,40,0,12815,2140,255,255,255,255},	/* 237 */
	{7,16,40,0,10140,802,255,255,255,255},	/* 238 */
};



/* ======== w2 ======== */

Gfx bus_obj_w2T[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBDECALA,G_CC_MODULATERGBDECALA),
	//gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE,G_RM_AA_ZB_TEX_EDGE2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(ctai_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[0],16,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
	gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
	gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
	gsSPEndDisplayList(),
}; /* w2 */ 

/* ======== o51 ======== */

Gfx bus_obj_o51T[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBDECALA,G_CC_MODULATERGBDECALA),
	//gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE,G_RM_AA_ZB_TEX_EDGE2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(ctai_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[16],8,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
	gsSPEndDisplayList(),
}; /* o51 */ 

/* ======== o52 ======== */

Gfx bus_obj_o52T[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBDECALA,G_CC_MODULATERGBDECALA),
	//gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE,G_RM_AA_ZB_TEX_EDGE2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(ctai_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[24],8,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
	gsSPEndDisplayList(),
}; /* o52 */ 

/* ======== kbus ======== */

Gfx bus_grp_kbusT[]={
	gsSPDisplayList(bus_obj_o52T),
	gsSPDisplayList(bus_obj_o51T),
	gsSPDisplayList(bus_obj_w2T),
	gsSPEndDisplayList(),
}; /* kbus */ 

/* ======== db ======== */

Gfx bus_modelT[]={
	gsSPDisplayList(bus_grp_kbusT),
	gsSPEndDisplayList(),
}; /* db */ 

/* ======== van2 ======== */

Gfx bus_obj_van2[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_MODULATERGBA),
	//gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF,G_RM_AA_ZB_OPA_SURF2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(cmado_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[32],8,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 0, 0, 4, 0, 3, 0),
	gsSP2Triangles(1, 6, 7, 0, 1, 7, 2, 0),
	gsSPEndDisplayList(),
}; /* van2 */ 

/* ======== van1 ======== */

Gfx bus_obj_van1[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_MODULATERGBA),
	//gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF,G_RM_AA_ZB_OPA_SURF2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(cmado_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[40],10,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(3, 4, 5, 0, 3, 5, 0, 0),
	gsSP2Triangles(4, 6, 7, 0, 4, 7, 5, 0),
	gsSP2Triangles(8, 0, 5, 0, 8, 5, 9, 0),
	gsSPEndDisplayList(),
}; /* van1 */ 

/* ======== body ======== */

Gfx bus_obj_body[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_MODULATERGBA),
	//gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF,G_RM_AA_ZB_OPA_SURF2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(kbun_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),

	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[50],6,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(1, 4, 5, 0, 1, 5, 2, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(cmado_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),


	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[56],4,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(kbdoa_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),


	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[60],20,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(2, 4, 5, 0, 2, 5, 3, 0),
	gsSP2Triangles(6, 7, 8, 0, 7, 9, 8, 0),
	gsSP2Triangles(9, 10, 8, 0, 11, 12, 13, 0),
	gsSP2Triangles(12, 14, 13, 0, 15, 11, 13, 0),
	gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(kbmad_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),


	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[80],21,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
	gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
	gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0),
	gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0),
	gsSP2Triangles(14, 17, 18, 0, 17, 19, 20, 0),
	gsSP1Triangle(17, 20, 18, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,0,G_TX_MIRROR,6,0,G_TX_MIRROR,5,0),
	gs_Nin_LoadTextureImage(kbback_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,7),


	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[101],8,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 3, 0, 4, 3, 2, 0),
	gsSP2Triangles(6, 7, 5, 0, 6, 5, 4, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,0,G_TX_CLAMP,6,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(kbbody_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,7),


	gsDPSetTextureLUT(G_TT_NONE),
	gsSPVertex(&bus_v[109],32,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(1, 0, 4, 0, 0, 5, 4, 0),
	gsSP2Triangles(6, 7, 2, 0, 6, 2, 1, 0),
	gsSP2Triangles(6, 1, 1, 0, 2, 8, 9, 0),
	gsSP2Triangles(2, 9, 3, 0, 8, 10, 11, 0),
	gsSP2Triangles(8, 11, 9, 0, 12, 13, 14, 0),
	gsSP2Triangles(12, 14, 15, 0, 14, 16, 17, 0),
	gsSP2Triangles(14, 17, 17, 0, 14, 17, 15, 0),
	gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0),
	gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0),
	gsSP2Triangles(26, 27, 28, 0, 29, 30, 31, 0),
	gsSPVertex(&bus_v[141],32,0),
	gsSP2Triangles(0, 1, 2, 0, 1, 3, 4, 0),
	gsSP2Triangles(5, 2, 1, 0, 5, 1, 4, 0),
	gsSP2Triangles(6, 2, 5, 0, 7, 8, 9, 0),
	gsSP2Triangles(7, 9, 10, 0, 11, 12, 13, 0),
	gsSP2Triangles(11, 13, 14, 0, 15, 16, 11, 0),
	gsSP2Triangles(15, 11, 14, 0, 17, 18, 13, 0),
	gsSP2Triangles(17, 13, 12, 0, 19, 20, 21, 0),
	gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0),
	gsSP2Triangles(24, 23, 26, 0, 24, 26, 27, 0),
	gsSP2Triangles(23, 25, 28, 0, 23, 28, 29, 0),
	gsSP1Triangle(30, 31, 26, 0),
	gsSPVertex(&bus_v[173],10,0),
	gsSP2Triangles(0, 1, 2, 0, 3, 4, 1, 0),
	gsSP2Triangles(5, 6, 7, 0, 5, 7, 8, 0),
	gsSP1Triangle(5, 8, 9, 0),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,0,G_TX_MIRROR,6,0,G_TX_CLAMP,5,0),
	gs_Nin_LoadTextureImage(kbmae2_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,64,32,0,7),

	gsSPVertex(&bus_v[183],8,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(3, 4, 5, 0, 3, 5, 0, 0),
	gsSP2Triangles(4, 6, 7, 0, 4, 7, 5, 0),
	gsSPEndDisplayList(),
}; /* body */ 

/* ======== tai2 ======== */

Gfx bus_obj_tai2[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_MODULATERGBA),
	//gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF,G_RM_AA_ZB_OPA_SURF2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(kbtp_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[191],24,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 1, 0, 4, 1, 0, 0),
	gsSP2Triangles(3, 2, 6, 0, 3, 6, 7, 0),
	gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0),
	gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0),
	gsSP2Triangles(11, 10, 5, 0, 11, 5, 4, 0),
	gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
	gsSP2Triangles(16, 17, 13, 0, 16, 13, 12, 0),
	gsSP2Triangles(15, 14, 18, 0, 15, 18, 19, 0),
	gsSP2Triangles(20, 21, 17, 0, 20, 17, 16, 0),
	gsSP2Triangles(19, 18, 22, 0, 19, 22, 23, 0),
	gsSP2Triangles(23, 22, 21, 0, 23, 21, 20, 0),
	gsSPEndDisplayList(),
}; /* tai2 */ 

/* ======== o50 ======== */

Gfx bus_obj_o50[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	//gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_MODULATERGBA),
	//gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF,G_RM_AA_ZB_OPA_SURF2),

	gsDPSetTextureLUT(G_TT_NONE),
	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(kbtp_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPClearGeometryMode (G_LIGHTING),
	gsSPVertex(&bus_v[215],24,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(4, 5, 1, 0, 4, 1, 0, 0),
	gsSP2Triangles(3, 2, 6, 0, 3, 6, 7, 0),
	gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0),
	gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0),
	gsSP2Triangles(11, 10, 5, 0, 11, 5, 4, 0),
	gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
	gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0),
	gsSP2Triangles(17, 16, 18, 0, 17, 18, 19, 0),
	gsSP2Triangles(20, 21, 13, 0, 20, 13, 12, 0),
	gsSP2Triangles(19, 18, 22, 0, 19, 22, 23, 0),
	gsSP2Triangles(23, 22, 21, 0, 23, 21, 20, 0),
	gsSPEndDisplayList(),
}; /* o50 */ 

/* ======== kbus ======== */

Gfx bus_grp_kbus[]={
	gsSPDisplayList(bus_obj_o50),
	gsSPDisplayList(bus_obj_tai2),
	gsSPDisplayList(bus_obj_body),
	gsSPDisplayList(bus_obj_van1),
	gsSPDisplayList(bus_obj_van2),
	gsSPEndDisplayList(),
}; /* kbus */ 

/* ======== db ======== */

Gfx bus_model[]={
	gsSPDisplayList(bus_grp_kbus),
	gsSPEndDisplayList(),
}; /* db */ 


