/* ************************************** * Includes * * **************************************/ #include "Unit.h" #include "PeasantSpr.c" /* ************************************** * Defines * * **************************************/ /* ************************************** * Local variables * * **************************************/ /* Sprites */ static TYPE_SPRITE PeasantSpr; static TYPE_SPRITE PeasantShadowSpr; /* Tables */ static uint8_t UnitHPTable[] = { 25 }; static TYPE_SPRITE * UnitSprTable[] = {&PeasantSpr}; static TYPE_SPRITE * UnitShadowSprTable[] = {&PeasantShadowSpr}; void UnitInit(void) { PeasantSpr.Data = PeasantSpr_Data; PeasantSpr.w = GfxGetWidthFromSpriteData(PeasantSpr_Data); PeasantSpr.h = GfxGetHeightFromSpriteData(PeasantSpr_Data); PeasantSpr.flip = 0; PeasantSpr.rotation = 0; PeasantSpr.color = GFX_BLACK; PeasantShadowSpr.Data = PeasantShadowSpr_Data; PeasantShadowSpr.w = GfxGetWidthFromSpriteData(PeasantShadowSpr_Data); PeasantShadowSpr.h = GfxGetHeightFromSpriteData(PeasantShadowSpr_Data); PeasantShadowSpr.flip = 0; PeasantShadowSpr.rotation = 0; PeasantShadowSpr.color = GFX_GRAY; } uint8_t UnitGetHpFromID(uint8_t id) { return UnitHPTable[id]; } void UnitDraw(TYPE_CAMERA * ptrCamera, TYPE_UNIT * ptrUnit) { uint8_t id = ptrUnit->id; if(ptrUnit->built == false) { return; } CameraApplyCoordinatesToSprite( ptrCamera, UnitShadowSprTable[id], ptrUnit->x - 6, ptrUnit->y ); GfxDrawSprite(UnitShadowSprTable[id]); CameraApplyCoordinatesToSprite( ptrCamera, UnitSprTable[id], ptrUnit->x, ptrUnit->y ); GfxDrawSprite(&PeasantSpr); } uint8_t UnitGetWidthFromID(uint8_t id) { return GfxGetWidthFromSpriteData(UnitSprTable[id]->Data); } uint8_t UnitGetHeightFromID(uint8_t id) { return GfxGetHeightFromSpriteData(UnitSprTable[id]->Data); }