summaryrefslogtreecommitdiff
path: root/Building.c
diff options
context:
space:
mode:
Diffstat (limited to 'Building.c')
-rw-r--r--Building.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/Building.c b/Building.c
new file mode 100644
index 0000000..34be606
--- /dev/null
+++ b/Building.c
@@ -0,0 +1,81 @@
+/* **************************************
+ * Includes *
+ * **************************************/
+
+#include "Building.h"
+#include "BarracksSpr.c"
+
+/* **************************************
+ * Defines *
+ * **************************************/
+
+/* **************************************
+ * Local variables *
+ * **************************************/
+
+/* Sprites */
+static TYPE_SPRITE BarracksSpr;
+static TYPE_SPRITE BarracksShadowSpr;
+
+/* Tables */
+static uint8_t BuildingHPTable[] = { 100 };
+static TYPE_SPRITE * BuildingSprTable[] = {&BarracksSpr};
+static TYPE_SPRITE * BuildingShadowSprTable[] = {&BarracksShadowSpr};
+
+void BuildingInit(void)
+{
+ BarracksSpr.Data = BarracksSpr_Data;
+ BarracksSpr.w = GfxGetWidthFromSpriteData(BarracksSpr_Data);
+ BarracksSpr.h = GfxGetHeightFromSpriteData(BarracksSpr_Data);
+ BarracksSpr.flip = 0;
+ BarracksSpr.rotation = 0;
+ BarracksSpr.color = GFX_BLACK;
+
+ BarracksShadowSpr.Data = BarracksShadowSpr_Data;
+ BarracksShadowSpr.w = GfxGetWidthFromSpriteData(BarracksShadowSpr_Data);
+ BarracksShadowSpr.h = GfxGetHeightFromSpriteData(BarracksShadowSpr_Data);
+ BarracksShadowSpr.flip = 0;
+ BarracksShadowSpr.rotation = 0;
+ BarracksShadowSpr.color = GFX_GRAY;
+
+}
+
+uint8_t BuildingGetHpFromID(uint8_t id)
+{
+ return BuildingHPTable[id];
+}
+
+void BuildingDraw(TYPE_CAMERA * ptrCamera, TYPE_BUILDING * ptrBuilding)
+{
+ uint8_t id = ptrBuilding->id;
+
+ if(ptrBuilding->built == false)
+ {
+ return;
+ }
+
+ CameraApplyCoordinatesToSprite( ptrCamera,
+ BuildingShadowSprTable[id],
+ ptrBuilding->x - 6,
+ ptrBuilding->y );
+ GfxDrawSprite(BuildingShadowSprTable[id]);
+
+ CameraApplyCoordinatesToSprite( ptrCamera,
+ BuildingSprTable[id],
+ ptrBuilding->x,
+ ptrBuilding->y );
+
+ GfxDrawSprite(&BarracksSpr);
+
+}
+
+uint8_t BuildingGetWidthFromID(uint8_t id)
+{
+ return GfxGetWidthFromSpriteData(BuildingSprTable[id]->Data);
+}
+
+uint8_t BuildingGetHeightFromID(uint8_t id)
+{
+ return GfxGetHeightFromSpriteData(BuildingSprTable[id]->Data);
+}
+