blob: 8e6555e1121da05e0c41d59fb9529808413f3950 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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);
}
|