diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2017-03-07 20:57:09 +0100 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2017-03-07 20:57:09 +0100 |
| commit | 8ec41b4410aba535008daf991ea59a8740951d44 (patch) | |
| tree | 01ee0846f579d9d139ee46a6a43f67ba522c7196 /Unit.cpp | |
+ Initial commit. Added source, sprites and final executable.
Diffstat (limited to 'Unit.cpp')
| -rw-r--r-- | Unit.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Unit.cpp b/Unit.cpp new file mode 100644 index 0000000..8e6555e --- /dev/null +++ b/Unit.cpp @@ -0,0 +1,81 @@ +/* ************************************** + * 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); +} + |
