diff --git a/src/stratagus/player.cpp b/src/stratagus/player.cpp index 27d418dca..38f8d1b62 100644 --- a/src/stratagus/player.cpp +++ b/src/stratagus/player.cpp @@ -515,6 +515,37 @@ global void PlayersEachSecond(void) } } +#ifdef NEW_VIDEO +/** +** Change current color set to new player. +** +** FIXME: use function pointer here. +** +** @param player Pointer to player. +*/ +global void GraphicPlayerPixels(const Player* player,const Graphic* sprite) +{ + switch( VideoDepth ) { + case 8: + *((struct __4pixel8__*)(((VMemType8*)sprite->Pixels)+208)) + =player->UnitColors.Depth8; + break; + case 15: + case 16: + *((struct __4pixel16__*)(((VMemType16*)sprite->Pixels)+208)) + =player->UnitColors.Depth16; + break; + case 24: + // FIXME: support for real 24 bpp mode + //*((struct __4pixel24__*)(((VMemType24*)sprite->Pixels)+208)) + // =player->UnitColors.Depth24; + case 32: + *((struct __4pixel32__*)(((VMemType32*)sprite->Pixels)+208)) + =player->UnitColors.Depth32; + break; + } +} +#else /** ** Change current color set to new player. ** @@ -524,35 +555,25 @@ global void PlayersEachSecond(void) */ global void RLEPlayerPixels(const Player* player, const RleSprite * sprite) { - switch(VideoDepth){ - case 8: - //((VMemType8*)sprite->Pixels)[208]=player->UnitColor1; - //((VMemType8*)sprite->Pixels)[209]=player->UnitColor2; - //((VMemType8*)sprite->Pixels)[210]=player->UnitColor3; - //((VMemType8*)sprite->Pixels)[211]=player->UnitColor4; - *((struct __4pixel8__*)(((VMemType8*)sprite->Pixels)+208)) - =player->UnitColors.Depth8; - break; - case 15: - case 16: - //((VMemType16*)sprite->Pixels)[208]=player->UnitColor1; - //((VMemType16*)sprite->Pixels)[209]=player->UnitColor2; - //((VMemType16*)sprite->Pixels)[210]=player->UnitColor3; - //((VMemType16*)sprite->Pixels)[211]=player->UnitColor4; - *((struct __4pixel16__*)(((VMemType16*)sprite->Pixels)+208)) - =player->UnitColors.Depth16; - break; - case 24: - case 32: - //((VMemType32*)sprite->Pixels)[208]=player->UnitColor1; - //((VMemType32*)sprite->Pixels)[209]=player->UnitColor2; - //((VMemType32*)sprite->Pixels)[210]=player->UnitColor3; - //((VMemType32*)sprite->Pixels)[211]=player->UnitColor4; - *((struct __4pixel32__*)(((VMemType32*)sprite->Pixels)+208)) - =player->UnitColors.Depth32; - break; - } + switch(VideoDepth){ + case 8: + *((struct __4pixel8__*)(((VMemType8*)sprite->Pixels)+208)) + =player->UnitColors.Depth8; + break; + case 15: + case 16: + *((struct __4pixel16__*)(((VMemType16*)sprite->Pixels)+208)) + =player->UnitColors.Depth16; + break; + case 24: + // FIXME: support for real 24 bpp mode + case 32: + *((struct __4pixel32__*)(((VMemType32*)sprite->Pixels)+208)) + =player->UnitColors.Depth32; + break; + } } +#endif /** ** Change current color set to new player. @@ -660,6 +681,7 @@ global void SetPlayersPalette(void) break; case 24: + // FIXME: support for real 24 bpp mode case 32: // New player colors setup if( !Pixels32 ) {