From: Laszlo T. <ave...@us...> - 2006-02-22 18:39:05
|
Update of /cvsroot/gemrb/gemrb/gemrb/plugins/TISImporter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14734/TISImporter Modified Files: TISImp.cpp TISImp.h Log Message: added importing and rendering area overlays (transparency is not implemented) Index: TISImp.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/TISImporter/TISImp.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TISImp.h 5 Aug 2004 20:41:09 -0000 1.6 --- TISImp.h 22 Feb 2006 18:38:25 -0000 1.7 *************** *** 37,41 **** Tile* GetTile(unsigned short* indexes, int count, unsigned short* secondary = NULL); ! Sprite2D* GetTile(int index); public: void release(void) --- 37,41 ---- Tile* GetTile(unsigned short* indexes, int count, unsigned short* secondary = NULL); ! Sprite2D* GetTile(int index, bool halftrans); public: void release(void) Index: TISImp.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/TISImporter/TISImp.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TISImp.cpp 24 Nov 2005 17:44:10 -0000 1.13 --- TISImp.cpp 22 Feb 2006 18:38:24 -0000 1.14 *************** *** 74,79 **** //not coming from factory ani->autofree = true; for (int i = 0; i < count; i++) { ! ani->AddFrame( GetTile( indexes[i] ), i ); } if (secondary) { --- 74,81 ---- //not coming from factory ani->autofree = true; + //pause key stops animation + ani->gameAnimation = true; for (int i = 0; i < count; i++) { ! ani->AddFrame( GetTile( indexes[i], false ), i ); } if (secondary) { *************** *** 83,87 **** sec->autofree = true; for (int i = 0; i < count; i++) { ! sec->AddFrame( GetTile( secondary[i] ), i ); } return new Tile( ani, sec ); --- 85,89 ---- sec->autofree = true; for (int i = 0; i < count; i++) { ! sec->AddFrame( GetTile( secondary[i], true ), i ); } return new Tile( ani, sec ); *************** *** 89,93 **** return new Tile( ani ); } ! Sprite2D* TISImp::GetTile(int index) { RevColor RevCol[256]; --- 91,96 ---- return new Tile( ani ); } ! ! Sprite2D* TISImp::GetTile(int index, bool halftrans) { RevColor RevCol[256]; *************** *** 107,114 **** Palette[i].g = RevCol[i].g; Palette[i].b = RevCol[i].b; ! Palette[i].a = RevCol[i].a; } str->Read( pixels, 4096 ); ! Sprite2D* spr = core->GetVideoDriver()->CreateSprite8( 64, 64, 8, pixels, Palette ); spr->XPos = spr->YPos = 0; return spr; --- 110,125 ---- Palette[i].g = RevCol[i].g; Palette[i].b = RevCol[i].b; ! //FIXME:this seems useless, if palette is ignored ! //it should be drawn as half-transparent in blitsprite ! if (halftrans) { ! Palette[i].a = 255; ! } else { ! Palette[i].a = RevCol[i].a; ! } } str->Read( pixels, 4096 ); ! bool transparent; ! transparent = (Palette[0].g==255 && !Palette[0].r && !Palette[0].b); ! Sprite2D* spr = core->GetVideoDriver()->CreateSprite8( 64, 64, 8, pixels, Palette, transparent, 0 ); spr->XPos = spr->YPos = 0; return spr; |