summaryrefslogtreecommitdiff
path: root/Camera.c
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-09-08 18:39:22 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2017-09-08 18:39:22 +0200
commit786dccd2bc0946d48b8a2758ef2c607678bc8dd9 (patch)
tree47952d77e5646a993671134b50c16f32ebe35b1c /Camera.c
parent72d350a37aa67936361ac8a374472b7e0227da61 (diff)
downloadpocketempires-786dccd2bc0946d48b8a2758ef2c607678bc8dd9.tar.gz
Removed Building and GameStructures modules. Restructured SW for Unit and Player, still a lot TODO
Diffstat (limited to 'Camera.c')
-rw-r--r--Camera.c106
1 files changed, 52 insertions, 54 deletions
diff --git a/Camera.c b/Camera.c
index 6127ed4..5b5c9c7 100644
--- a/Camera.c
+++ b/Camera.c
@@ -3,6 +3,8 @@
* *************************************/
#include "Camera.h"
+#include "Gfx.h"
+#include "Pad.h"
/* *************************************
* Defines
@@ -16,33 +18,31 @@
* Local Prototypes
* *************************************/
-static void CameraUpdateSpeed(TYPE_CAMERA * ptrCamera);
-static bool CameraSpecialConditions(TYPE_CAMERA * ptrCamera);
+static void CameraUpdateSpeed(TYPE_CAMERA* ptrCamera);
-void CameraInit(TYPE_CAMERA * ptrCamera)
+void CameraInit(TYPE_CAMERA* ptrCamera)
{
ptrCamera->X_Offset = 0;
ptrCamera->Y_Offset = 0;
ptrCamera->X_Speed = 0;
ptrCamera->Y_Speed = 0;
ptrCamera->Speed_Timer = SPEED_CALCULATION_TIME;
+ ptrCamera->locked = false;
}
-TYPE_COLLISION_BLOCK CameraApplyCoordinatesToCoordinates( TYPE_CAMERA * ptrCamera,
+TYPE_COLLISION_BLOCK CameraApplyCoordinatesToCoordinates( TYPE_CAMERA* ptrCamera,
uint16_t x,
uint16_t y )
{
- TYPE_COLLISION_BLOCK cb;
-
- memset(&cb, 0, sizeof(TYPE_COLLISION_BLOCK));
-
+ TYPE_COLLISION_BLOCK cb = {0};
+
cb.x = x + ptrCamera->X_Offset;
cb.y = y + ptrCamera->Y_Offset;
-
+
return cb;
}
-void CameraApplyCoordinatesToSprite(TYPE_CAMERA * ptrCamera,
+void CameraApplyCoordinatesToSprite(TYPE_CAMERA* ptrCamera,
TYPE_SPRITE * spr,
uint16_t x,
uint16_t y )
@@ -51,99 +51,98 @@ void CameraApplyCoordinatesToSprite(TYPE_CAMERA * ptrCamera,
spr->y = (uint8_t)(y + ptrCamera->Y_Offset);
}
-void CameraUpdateSpeed(TYPE_CAMERA * ptrCamera)
+void CameraUpdateSpeed(TYPE_CAMERA* ptrCamera)
{
- if(PadDirectionKeyPressed() == true)
+ if (PadDirectionKeyPressed() == true)
{
- if(PadButtonPressed(PAD_LEFT) == true)
+ if (PadButtonPressed(PAD_LEFT) == true)
{
- if(ptrCamera->X_Speed < 0)
+ if (ptrCamera->X_Speed < 0)
{
ptrCamera->X_Speed += 2;
}
- else if(ptrCamera->X_Speed < MAX_CAMERA_SPEED)
+ else if (ptrCamera->X_Speed < MAX_CAMERA_SPEED)
{
ptrCamera->X_Speed++;
}
}
-
- if(PadButtonPressed(PAD_UP) == true)
+
+ if (PadButtonPressed(PAD_UP) == true)
{
- if(ptrCamera->Y_Speed < 0)
+ if (ptrCamera->Y_Speed < 0)
{
ptrCamera->Y_Speed += 2;
}
- else if(ptrCamera->Y_Speed < MAX_CAMERA_SPEED)
+ else if (ptrCamera->Y_Speed < MAX_CAMERA_SPEED)
{
ptrCamera->Y_Speed++;
}
}
-
- if(PadButtonPressed(PAD_DOWN) == true)
+
+ if (PadButtonPressed(PAD_DOWN) == true)
{
- if(ptrCamera->Y_Speed > 0)
+ if (ptrCamera->Y_Speed > 0)
{
ptrCamera->Y_Speed -= 2;
}
- else if(ptrCamera->Y_Speed > -MAX_CAMERA_SPEED)
+ else if (ptrCamera->Y_Speed > -MAX_CAMERA_SPEED)
{
ptrCamera->Y_Speed--;
}
}
-
- if(PadButtonPressed(PAD_RIGHT) == true)
+
+ if (PadButtonPressed(PAD_RIGHT) == true)
{
- if(ptrCamera->X_Speed > 0)
+ if (ptrCamera->X_Speed > 0)
{
ptrCamera->X_Speed -= 2;
}
- else if(ptrCamera->X_Speed > -MAX_CAMERA_SPEED)
+ else if (ptrCamera->X_Speed > -MAX_CAMERA_SPEED)
{
ptrCamera->X_Speed--;
}
}
}
- if( (PadButtonPressed(PAD_LEFT) == false)
+ if ( (PadButtonPressed(PAD_LEFT) == false)
&&
(PadButtonPressed(PAD_RIGHT) == false) )
{
- if(ptrCamera->X_Speed > 0)
+ if (ptrCamera->X_Speed > 0)
{
ptrCamera->X_Speed--;
}
- else if(ptrCamera->X_Speed < 0)
+ else if (ptrCamera->X_Speed < 0)
{
ptrCamera->X_Speed++;
}
}
-
- if( (PadButtonPressed(PAD_UP) == false)
+
+ if ( (PadButtonPressed(PAD_UP) == false)
&&
(PadButtonPressed(PAD_DOWN) == false) )
- {
- if(ptrCamera->Y_Speed > 0)
+ {
+ if (ptrCamera->Y_Speed > 0)
{
ptrCamera->Y_Speed--;
}
- else if(ptrCamera->Y_Speed < 0)
+ else if (ptrCamera->Y_Speed < 0)
{
ptrCamera->Y_Speed++;
}
}
}
-void CameraHandler(TYPE_CAMERA * ptrCamera)
+void CameraHandler(TYPE_CAMERA* ptrCamera)
{
-
- if(CameraSpecialConditions(ptrCamera) == true)
+ if (ptrCamera->locked == true)
{
ptrCamera->X_Speed = 0;
ptrCamera->Y_Speed = 0;
return;
}
-
- if(ptrCamera->Speed_Timer < SPEED_CALCULATION_TIME)
+
+ if (ptrCamera->Speed_Timer < SPEED_CALCULATION_TIME)
{
ptrCamera->Speed_Timer++;
}
@@ -152,12 +151,12 @@ void CameraHandler(TYPE_CAMERA * ptrCamera)
ptrCamera->Speed_Timer = 0;
CameraUpdateSpeed(ptrCamera);
}
-
- if((ptrCamera->X_Offset + ptrCamera->X_Speed) < 0)
+
+ if ((ptrCamera->X_Offset + ptrCamera->X_Speed) < 0)
{
ptrCamera->X_Offset += ptrCamera->X_Speed;
-
- if(ptrCamera->X_Offset == 0)
+
+ if (ptrCamera->X_Offset == 0)
{
ptrCamera->X_Speed = 0;
}
@@ -167,18 +166,18 @@ void CameraHandler(TYPE_CAMERA * ptrCamera)
ptrCamera->X_Offset = 0;
ptrCamera->X_Speed = 0;
}
-
+
/*char str[8];
-
+
snprintf(str, 8, "%u", ptrCamera->Y_Offset);
-
+
GfxPrintText(str, 40, 40);*/
-
- if((ptrCamera->Y_Offset + ptrCamera->Y_Speed) < 0)
+
+ if ((ptrCamera->Y_Offset + ptrCamera->Y_Speed) < 0)
{
ptrCamera->Y_Offset += ptrCamera->Y_Speed;
-
- if(ptrCamera->Y_Offset == 0)
+
+ if (ptrCamera->Y_Offset == 0)
{
ptrCamera->Y_Speed = 0;
}
@@ -190,8 +189,7 @@ void CameraHandler(TYPE_CAMERA * ptrCamera)
}
}
-bool CameraSpecialConditions(TYPE_CAMERA * ptrCamera)
+void CameraSetLock(TYPE_CAMERA* ptrCamera, bool value)
{
-
- return false;
+ ptrCamera->locked = value;
}