summaryrefslogtreecommitdiff
path: root/Unit.cpp
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-03-07 20:57:09 +0100
committerXaviDCR92 <xavi.dcr@gmail.com>2017-03-07 20:57:09 +0100
commit8ec41b4410aba535008daf991ea59a8740951d44 (patch)
tree01ee0846f579d9d139ee46a6a43f67ba522c7196 /Unit.cpp
+ Initial commit. Added source, sprites and final executable.
Diffstat (limited to 'Unit.cpp')
-rw-r--r--Unit.cpp81
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);
+}
+