* Increased MAX_SELECTION_DISTANCE, but this should be done according to BaseUnit instead!

+ BaseUnit now takes a pointer to a Camera object.
+ Implemented Unit basic movement.
+ Initial stub for Coordinates class, meant to replace all manual X/Y coordinates handling between classes.
This commit is contained in:
XaviDCR92 2018-08-05 18:06:49 +02:00
parent 6ecb59761a
commit efc7020def
12 changed files with 1488 additions and 1232 deletions

75
Coordinates.cpp Normal file
View File

@ -0,0 +1,75 @@
/* *******************************************************************
* Includes
* ******************************************************************/
#include "Coordinates.h"
/* *******************************************************************
* Defines
* ******************************************************************/
/* *******************************************************************
* Types definition
* ******************************************************************/
/* *******************************************************************
* Global variables definition
* ******************************************************************/
/* *******************************************************************
* Local variables definition
* ******************************************************************/
/* *******************************************************************
* Local prototypes declaration
* ******************************************************************/
/* *******************************************************************
* Functions definition
* ******************************************************************/
/*****************************************************************//**
*
* \brief Constructor for Coordinates class.
*
*********************************************************************/
Coordinates::Coordinates(const Coordinates::tPos x, const Coordinates::tPos y) :
_x(x),
_y(y)
{
}
/*****************************************************************//**
*
* \brief Reportedly, returns X coordinate position.
*
*********************************************************************/
Coordinates::tPos Coordinates::getX(void) const
{
return _x;
}
/*****************************************************************//**
*
* \brief Reportedly, returns Y coordinate position.
*
*********************************************************************/
Coordinates::tPos Coordinates::getY(void) const
{
return _y;
}
/*****************************************************************//**
*
* \brief This function adds X/Y coordinates to a Coordinates
* object. Overloaded function for \ref Coordinates objects.
*
* \param
*
*********************************************************************/
Coordinates Coordinates::operator+(const Coordinates& c) const
{
const Coordinates::tPos x = c.getX() + _x;
const Coordinates::tPos y = c.getY() + _y;
return Coordinates(x, y);
}

45
Coordinates.h Normal file
View File

@ -0,0 +1,45 @@
#ifndef COORDINATES_H__
#define COORDINATES_H__
/* *******************************************************************
* Includes
* ******************************************************************/
#include <stdbool.h>
#include <stdint.h>
/* *******************************************************************
* Defines
* ******************************************************************/
/* *******************************************************************
* Global types definition
* ******************************************************************/
/* *******************************************************************
* Global variables declaration
* ******************************************************************/
/* *******************************************************************
* Global functions declaration
* ******************************************************************/
/* *******************************************************************
* Class definition
* ******************************************************************/
class Coordinates
{
public:
typedef uint16_t tPos;
explicit Coordinates(const tPos x, const tPos y);
Coordinates operator+(const Coordinates& c) const;
tPos getX(void) const;
tPos getY(void) const;
private:
tPos _x;
tPos _y;
};
#endif /* COORDINATES_H__ */

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -208,6 +208,18 @@ Discarded input sections
.text 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o
.data 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o
.bss 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o
.text 0x0000000000000000 0x0 Obj/Coordinates.o
.data 0x0000000000000000 0x0 Obj/Coordinates.o
.bss 0x0000000000000000 0x0 Obj/Coordinates.o
.text._ZN11CoordinatesC2Ejj
0x0000000000000000 0xc Obj/Coordinates.o
.text._ZNK11Coordinates4getXEv
0x0000000000000000 0x8 Obj/Coordinates.o
.text._ZNK11Coordinates4getYEv
0x0000000000000000 0x8 Obj/Coordinates.o
.text._ZNK11CoordinatesplERKS_
0x0000000000000000 0x2c Obj/Coordinates.o
.comment 0x0000000000000000 0x12 Obj/Coordinates.o
.text 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o)
.data 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o)
.bss 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o)
@ -1038,6 +1050,7 @@ LOAD Obj/Unit.o
LOAD Obj/Menu.o
LOAD Obj/Cursor.o
LOAD Obj/HumanPlayerBtn.o
LOAD Obj/Coordinates.o
LOAD ../lib/libgamebuino.a
LOAD ../lib/libarduino.a
LOAD /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a
@ -1146,7 +1159,7 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x0000000000000000 0x389e
.text 0x0000000000000000 0x3af4
*(.vectors)
.vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o
0x0000000000000000 __vectors
@ -1329,490 +1342,517 @@ END GROUP
0x000000000000050c 0xa0 Obj/HumanPlayer.o
0x000000000000050c _ZN11HumanPlayer11drawHandlerEv
.text._ZN11HumanPlayerC2EPKcRK6Camera
0x00000000000005ac 0x56 Obj/HumanPlayer.o
0x00000000000005ac 0x5c Obj/HumanPlayer.o
0x00000000000005ac _ZN11HumanPlayerC2EPKcRK6Camera
0x00000000000005ac _ZN11HumanPlayerC1EPKcRK6Camera
.text._ZN11HumanPlayer7handlerEv
0x0000000000000602 0x22 Obj/HumanPlayer.o
0x0000000000000602 _ZN11HumanPlayer7handlerEv
0x0000000000000608 0x22 Obj/HumanPlayer.o
0x0000000000000608 _ZN11HumanPlayer7handlerEv
.text._ZN11HumanPlayer10selectUnitEv
0x0000000000000624 0xba Obj/HumanPlayer.o
0x0000000000000624 _ZN11HumanPlayer10selectUnitEv
0x000000000000062a 0xba Obj/HumanPlayer.o
0x000000000000062a _ZN11HumanPlayer10selectUnitEv
.text._ZN6SpriteC2EPKhbhh
0x00000000000006de 0x16 Obj/Sprite.o
0x00000000000006de _ZN6SpriteC2EPKhbhh
0x00000000000006de _ZN6SpriteC1EPKhbhh
0x00000000000006e4 0x16 Obj/Sprite.o
0x00000000000006e4 _ZN6SpriteC2EPKhbhh
0x00000000000006e4 _ZN6SpriteC1EPKhbhh
.text._ZN6Sprite4drawEv
0x00000000000006f4 0x6e Obj/Sprite.o
0x00000000000006f4 _ZN6Sprite4drawEv
0x00000000000006fa 0x76 Obj/Sprite.o
0x00000000000006fa _ZN6Sprite4drawEv
.text._ZN6Sprite8getWidthEPKh
0x0000000000000770 0x6 Obj/Sprite.o
0x0000000000000770 _ZN6Sprite8getWidthEPKh
.text._ZN6Sprite9getHeightEPKh
0x0000000000000776 0x8 Obj/Sprite.o
0x0000000000000776 _ZN6Sprite9getHeightEPKh
.text._ZN6Sprite6setPosEhh
0x0000000000000762 0x8 Obj/Sprite.o
0x0000000000000762 _ZN6Sprite6setPosEhh
0x000000000000077e 0x8 Obj/Sprite.o
0x000000000000077e _ZN6Sprite6setPosEhh
.text._ZN6PlayerC2EPKc
0x000000000000076a 0x8c Obj/Player.o
0x000000000000076a _ZN6PlayerC1EPKc
0x000000000000076a _ZN6PlayerC2EPKc
0x0000000000000786 0x8c Obj/Player.o
0x0000000000000786 _ZN6PlayerC1EPKc
0x0000000000000786 _ZN6PlayerC2EPKc
.text._ZN6Player11handleUnitsEv
0x00000000000007f6 0x2e Obj/Player.o
0x00000000000007f6 _ZN6Player11handleUnitsEv
0x0000000000000812 0x2e Obj/Player.o
0x0000000000000812 _ZN6Player11handleUnitsEv
.text._ZN6Player9drawUnitsEv
0x0000000000000824 0x2e Obj/Player.o
0x0000000000000824 _ZN6Player9drawUnitsEv
0x0000000000000840 0x2e Obj/Player.o
0x0000000000000840 _ZN6Player9drawUnitsEv
.text._ZN6CameraC2Ev
0x0000000000000852 0x10 Obj/Camera.o
0x0000000000000852 _ZN6CameraC1Ev
0x0000000000000852 _ZN6CameraC2Ev
.text._ZNK6Camera4getXEh
0x0000000000000862 0xa Obj/Camera.o
0x0000000000000862 _ZNK6Camera4getXEh
.text._ZNK6Camera4getYEh
0x000000000000086c 0xa Obj/Camera.o
0x000000000000086c _ZNK6Camera4getYEh
0x000000000000086e 0x10 Obj/Camera.o
0x000000000000086e _ZN6CameraC1Ev
0x000000000000086e _ZN6CameraC2Ev
.text._ZNK6Camera8getRealXEi
0x000000000000087e 0xc Obj/Camera.o
0x000000000000087e _ZNK6Camera8getRealXEi
.text._ZNK6Camera8getRealYEi
0x000000000000088a 0xc Obj/Camera.o
0x000000000000088a _ZNK6Camera8getRealYEi
.text._ZNK6Camera4getXEj
0x0000000000000896 0x10 Obj/Camera.o
0x0000000000000896 _ZNK6Camera4getXEj
.text._ZNK6Camera4getYEj
0x00000000000008a6 0x10 Obj/Camera.o
0x00000000000008a6 _ZNK6Camera4getYEj
.text._ZN6Camera16onLeftBtnPressedER6Cursor
0x0000000000000876 0x42 Obj/Camera.o
0x0000000000000876 _ZN6Camera16onLeftBtnPressedER6Cursor
0x00000000000008b6 0x42 Obj/Camera.o
0x00000000000008b6 _ZN6Camera16onLeftBtnPressedER6Cursor
.text._ZN6Camera17onRightBtnPressedER6Cursor
0x00000000000008b8 0x44 Obj/Camera.o
0x00000000000008b8 _ZN6Camera17onRightBtnPressedER6Cursor
0x00000000000008f8 0x44 Obj/Camera.o
0x00000000000008f8 _ZN6Camera17onRightBtnPressedER6Cursor
.text._ZN6Camera14onUpBtnPressedER6Cursor
0x00000000000008fc 0x42 Obj/Camera.o
0x00000000000008fc _ZN6Camera14onUpBtnPressedER6Cursor
0x000000000000093c 0x42 Obj/Camera.o
0x000000000000093c _ZN6Camera14onUpBtnPressedER6Cursor
.text._ZN6Camera16onDownBtnPressedER6Cursor
0x000000000000093e 0x44 Obj/Camera.o
0x000000000000093e _ZN6Camera16onDownBtnPressedER6Cursor
0x000000000000097e 0x44 Obj/Camera.o
0x000000000000097e _ZN6Camera16onDownBtnPressedER6Cursor
.text._ZNK6Camera8isLockedEv
0x0000000000000982 0x6 Obj/Camera.o
0x0000000000000982 _ZNK6Camera8isLockedEv
0x00000000000009c2 0x6 Obj/Camera.o
0x00000000000009c2 _ZNK6Camera8isLockedEv
.text._ZN8BaseUnitC2Ev
0x0000000000000988 0x14 Obj/BaseUnit.o
0x0000000000000988 _ZN8BaseUnitC1Ev
0x0000000000000988 _ZN8BaseUnitC2Ev
0x00000000000009c8 0x14 Obj/BaseUnit.o
0x00000000000009c8 _ZN8BaseUnitC1Ev
0x00000000000009c8 _ZN8BaseUnitC2Ev
.text._ZN8BaseUnit6createEjj
0x000000000000099c 0x10 Obj/BaseUnit.o
0x000000000000099c _ZN8BaseUnit6createEjj
0x00000000000009dc 0x10 Obj/BaseUnit.o
0x00000000000009dc _ZN8BaseUnit6createEjj
.text._ZN8BaseUnit7handlerEv
0x00000000000009ac 0x2 Obj/BaseUnit.o
0x00000000000009ac _ZN8BaseUnit7handlerEv
0x00000000000009ec 0x2 Obj/BaseUnit.o
0x00000000000009ec _ZN8BaseUnit7handlerEv
.text._ZN8BaseUnit9setCameraEPK6Camera
0x00000000000009ee 0xa Obj/BaseUnit.o
0x00000000000009ee _ZN8BaseUnit9setCameraEPK6Camera
.text._ZN8BaseUnit11drawHandlerEPKh
0x00000000000009ae 0x2a Obj/BaseUnit.o
0x00000000000009ae _ZN8BaseUnit11drawHandlerEPKh
0x00000000000009f8 0x8a Obj/BaseUnit.o
0x00000000000009f8 _ZN8BaseUnit11drawHandlerEPKh
.text._ZN8BaseUnit7isAliveEv
0x00000000000009d8 0x6 Obj/BaseUnit.o
0x00000000000009d8 _ZN8BaseUnit7isAliveEv
0x0000000000000a82 0x6 Obj/BaseUnit.o
0x0000000000000a82 _ZN8BaseUnit7isAliveEv
.text._ZN8BaseUnit10isSelectedEv
0x00000000000009de 0x6 Obj/BaseUnit.o
0x00000000000009de _ZN8BaseUnit10isSelectedEv
0x0000000000000a88 0x6 Obj/BaseUnit.o
0x0000000000000a88 _ZN8BaseUnit10isSelectedEv
.text._ZN8BaseUnit11setSelectedEb
0x00000000000009e4 0x6 Obj/BaseUnit.o
0x00000000000009e4 _ZN8BaseUnit11setSelectedEb
0x0000000000000a8e 0x6 Obj/BaseUnit.o
0x0000000000000a8e _ZN8BaseUnit11setSelectedEb
.text._ZN8BaseUnit4getXEv
0x00000000000009ea 0x8 Obj/BaseUnit.o
0x00000000000009ea _ZN8BaseUnit4getXEv
0x0000000000000a94 0x8 Obj/BaseUnit.o
0x0000000000000a94 _ZN8BaseUnit4getXEv
.text._ZN8BaseUnit4getYEv
0x00000000000009f2 0x8 Obj/BaseUnit.o
0x00000000000009f2 _ZN8BaseUnit4getYEv
0x0000000000000a9c 0x8 Obj/BaseUnit.o
0x0000000000000a9c _ZN8BaseUnit4getYEv
.text._ZN4UnitC2ENS_7tUnitIDE
0x00000000000009fa 0x1e Obj/Unit.o
0x00000000000009fa _ZN4UnitC2ENS_7tUnitIDE
0x00000000000009fa _ZN4UnitC1ENS_7tUnitIDE
0x0000000000000aa4 0x2a Obj/Unit.o
0x0000000000000aa4 _ZN4UnitC2ENS_7tUnitIDE
0x0000000000000aa4 _ZN4UnitC1ENS_7tUnitIDE
.text._ZN4Unit6createENS_7tUnitIDEjj
0x0000000000000a18 0x5c Obj/Unit.o
0x0000000000000a18 _ZN4Unit6createENS_7tUnitIDEjj
0x0000000000000ace 0x5c Obj/Unit.o
0x0000000000000ace _ZN4Unit6createENS_7tUnitIDEjj
.text._ZN4Unit6moveToEjj
0x0000000000000b2a 0x14 Obj/Unit.o
0x0000000000000b2a _ZN4Unit6moveToEjj
.text._ZN4Unit7handlerEv
0x0000000000000a74 0x4 Obj/Unit.o
0x0000000000000a74 _ZN4Unit7handlerEv
0x0000000000000b3e 0x54 Obj/Unit.o
0x0000000000000b3e _ZN4Unit7handlerEv
.text._ZN4Unit11drawHandlerEv
0x0000000000000a78 0x9a Obj/Unit.o
0x0000000000000a78 _ZN4Unit11drawHandlerEv
0x0000000000000b92 0xb8 Obj/Unit.o
0x0000000000000b92 _ZN4Unit11drawHandlerEv
.text._ZL20MainMenuSinglePlayerv
0x0000000000000b12 0x9e Obj/Menu.o
0x0000000000000c4a 0xaa Obj/Menu.o
.text._Z8MainMenuv
0x0000000000000bb0 0x24 Obj/Menu.o
0x0000000000000bb0 _Z8MainMenuv
.text._ZN6CursorC2Ev
0x0000000000000bd4 0xc Obj/Cursor.o
0x0000000000000bd4 _ZN6CursorC1Ev
0x0000000000000bd4 _ZN6CursorC2Ev
0x0000000000000cf4 0x24 Obj/Menu.o
0x0000000000000cf4 _Z8MainMenuv
.text._ZN6CursorC2ERK6Camera
0x0000000000000d18 0x10 Obj/Cursor.o
0x0000000000000d18 _ZN6CursorC1ERK6Camera
0x0000000000000d18 _ZN6CursorC2ERK6Camera
.text._ZN6Cursor4moveEaa
0x0000000000000be0 0x3c Obj/Cursor.o
0x0000000000000be0 _ZN6Cursor4moveEaa
0x0000000000000d28 0x3c Obj/Cursor.o
0x0000000000000d28 _ZN6Cursor4moveEaa
.text._ZN6Cursor10getScreenXEv
0x0000000000000d64 0x6 Obj/Cursor.o
0x0000000000000d64 _ZN6Cursor10getScreenXEv
.text._ZN6Cursor10getScreenYEv
0x0000000000000d6a 0x6 Obj/Cursor.o
0x0000000000000d6a _ZN6Cursor10getScreenYEv
.text._ZN6Cursor4getXEv
0x0000000000000c1c 0x6 Obj/Cursor.o
0x0000000000000c1c _ZN6Cursor4getXEv
0x0000000000000d70 0x10 Obj/Cursor.o
0x0000000000000d70 _ZN6Cursor4getXEv
.text._ZN6Cursor4getYEv
0x0000000000000c22 0x6 Obj/Cursor.o
0x0000000000000c22 _ZN6Cursor4getYEv
0x0000000000000d80 0x10 Obj/Cursor.o
0x0000000000000d80 _ZN6Cursor4getYEv
.text._ZN6Cursor11isXCenteredEv
0x0000000000000c28 0xe Obj/Cursor.o
0x0000000000000c28 _ZN6Cursor11isXCenteredEv
0x0000000000000d90 0xe Obj/Cursor.o
0x0000000000000d90 _ZN6Cursor11isXCenteredEv
.text._ZN6Cursor11isYCenteredEv
0x0000000000000c36 0x10 Obj/Cursor.o
0x0000000000000c36 _ZN6Cursor11isYCenteredEv
.text._ZN11HumanPlayer13onBBtnPressedEv
0x0000000000000c46 0x2 Obj/HumanPlayerBtn.o
0x0000000000000c46 _ZN11HumanPlayer13onBBtnPressedEv
0x0000000000000d9e 0x10 Obj/Cursor.o
0x0000000000000d9e _ZN6Cursor11isYCenteredEv
.text._ZN11HumanPlayer14onABtnReleasedEv
0x0000000000000c48 0x2a Obj/HumanPlayerBtn.o
0x0000000000000c48 _ZN11HumanPlayer14onABtnReleasedEv
0x0000000000000dae 0x2a Obj/HumanPlayerBtn.o
0x0000000000000dae _ZN11HumanPlayer14onABtnReleasedEv
.text._ZN11HumanPlayer14onBBtnReleasedEv
0x0000000000000dd8 0x82 Obj/HumanPlayerBtn.o
0x0000000000000dd8 _ZN11HumanPlayer14onBBtnReleasedEv
.text._ZN11HumanPlayer13onBBtnPressedEv
0x0000000000000e5a 0x5e Obj/HumanPlayerBtn.o
0x0000000000000e5a _ZN11HumanPlayer13onBBtnPressedEv
.text._ZN11HumanPlayer13onABtnPressedEv
0x0000000000000c72 0x3c Obj/HumanPlayerBtn.o
0x0000000000000c72 _ZN11HumanPlayer13onABtnPressedEv
0x0000000000000eb8 0x3c Obj/HumanPlayerBtn.o
0x0000000000000eb8 _ZN11HumanPlayer13onABtnPressedEv
.text._ZN11HumanPlayer26playerButtonPressedHandlerEj
0x0000000000000cae 0x50 Obj/HumanPlayerBtn.o
0x0000000000000cae _ZN11HumanPlayer26playerButtonPressedHandlerEj
0x0000000000000ef4 0x50 Obj/HumanPlayerBtn.o
0x0000000000000ef4 _ZN11HumanPlayer26playerButtonPressedHandlerEj
.text._ZN11HumanPlayer26cameraButtonPressedHandlerEj
0x0000000000000cfe 0xa0 Obj/HumanPlayerBtn.o
0x0000000000000cfe _ZN11HumanPlayer26cameraButtonPressedHandlerEj
0x0000000000000f44 0xa0 Obj/HumanPlayerBtn.o
0x0000000000000f44 _ZN11HumanPlayer26cameraButtonPressedHandlerEj
.text._ZN11HumanPlayer27playerButtonReleasedHandlerEj
0x0000000000000d9e 0x50 Obj/HumanPlayerBtn.o
0x0000000000000d9e _ZN11HumanPlayer27playerButtonReleasedHandlerEj
0x0000000000000fe4 0x50 Obj/HumanPlayerBtn.o
0x0000000000000fe4 _ZN11HumanPlayer27playerButtonReleasedHandlerEj
.text._ZN11HumanPlayer13buttonHandlerEv
0x0000000000000dee 0x46 Obj/HumanPlayerBtn.o
0x0000000000000dee _ZN11HumanPlayer13buttonHandlerEv
0x0000000000001034 0x56 Obj/HumanPlayerBtn.o
0x0000000000001034 _ZN11HumanPlayer13buttonHandlerEv
.text._ZN7Buttons5beginEv
0x0000000000000e34 0x20 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000e34 _ZN7Buttons5beginEv
0x000000000000108a 0x20 ../lib/libgamebuino.a(Buttons.o)
0x000000000000108a _ZN7Buttons5beginEv
.text._ZN7Buttons6updateEv
0x0000000000000e54 0x5a ../lib/libgamebuino.a(Buttons.o)
0x0000000000000e54 _ZN7Buttons6updateEv
0x00000000000010aa 0x5a ../lib/libgamebuino.a(Buttons.o)
0x00000000000010aa _ZN7Buttons6updateEv
.text._ZN7Buttons7pressedEh
0x0000000000000eae 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000eae _ZN7Buttons7pressedEh
0x0000000000001104 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000001104 _ZN7Buttons7pressedEh
.text._ZN7Buttons8releasedEh
0x0000000000000ec0 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000ec0 _ZN7Buttons8releasedEh
0x0000000000001116 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000001116 _ZN7Buttons8releasedEh
.text._ZN7Buttons6repeatEhh
0x0000000000000ed2 0x30 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000ed2 _ZN7Buttons6repeatEhh
0x0000000000001128 0x30 ../lib/libgamebuino.a(Buttons.o)
0x0000000000001128 _ZN7Buttons6repeatEhh
.text._ZN7Buttons8timeHeldEh
0x0000000000000f02 0x10 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000f02 _ZN7Buttons8timeHeldEh
0x0000000000001158 0x10 ../lib/libgamebuino.a(Buttons.o)
0x0000000000001158 _ZN7Buttons8timeHeldEh
.text._ZN8SPIClass8transferEh
0x0000000000000f12 0xc ../lib/libgamebuino.a(Display.o)
0x0000000000000f12 _ZN8SPIClass8transferEh
0x0000000000001168 0xc ../lib/libgamebuino.a(Display.o)
0x0000000000001168 _ZN8SPIClass8transferEh
.text._ZN7Display9drawPixelEaa
0x0000000000000f1e 0xb8 ../lib/libgamebuino.a(Display.o)
0x0000000000000f1e _ZN7Display9drawPixelEaa
0x0000000000001174 0xb8 ../lib/libgamebuino.a(Display.o)
0x0000000000001174 _ZN7Display9drawPixelEaa
.text._ZN7Display7commandEh
0x0000000000000fd6 0x3c ../lib/libgamebuino.a(Display.o)
0x0000000000000fd6 _ZN7Display7commandEh
0x000000000000122c 0x3c ../lib/libgamebuino.a(Display.o)
0x000000000000122c _ZN7Display7commandEh
.text._ZN7Display5clearEv
0x0000000000001012 0x22 ../lib/libgamebuino.a(Display.o)
0x0000000000001012 _ZN7Display5clearEv
0x0000000000001268 0x22 ../lib/libgamebuino.a(Display.o)
0x0000000000001268 _ZN7Display5clearEv
.text._ZN7Display6updateEv
0x0000000000001034 0x8a ../lib/libgamebuino.a(Display.o)
0x0000000000001034 _ZN7Display6updateEv
0x000000000000128a 0x8a ../lib/libgamebuino.a(Display.o)
0x000000000000128a _ZN7Display6updateEv
.text._ZN7Display8setColorEa
0x00000000000010be 0x8 ../lib/libgamebuino.a(Display.o)
0x00000000000010be _ZN7Display8setColorEa
0x0000000000001314 0x8 ../lib/libgamebuino.a(Display.o)
0x0000000000001314 _ZN7Display8setColorEa
.text._ZN7Display8setColorEaa
0x00000000000010c6 0x8 ../lib/libgamebuino.a(Display.o)
0x00000000000010c6 _ZN7Display8setColorEaa
0x000000000000131c 0x8 ../lib/libgamebuino.a(Display.o)
0x000000000000131c _ZN7Display8setColorEaa
.text._ZN7Display13drawFastVLineEaaa
0x00000000000010ce 0x38 ../lib/libgamebuino.a(Display.o)
0x00000000000010ce _ZN7Display13drawFastVLineEaaa
0x0000000000001324 0x38 ../lib/libgamebuino.a(Display.o)
0x0000000000001324 _ZN7Display13drawFastVLineEaaa
.text._ZN7Display13drawFastHLineEaaa
0x0000000000001106 0x38 ../lib/libgamebuino.a(Display.o)
0x0000000000001106 _ZN7Display13drawFastHLineEaaa
0x000000000000135c 0x38 ../lib/libgamebuino.a(Display.o)
0x000000000000135c _ZN7Display13drawFastHLineEaaa
.text._ZN7Display8drawRectEaaaa
0x000000000000113e 0x50 ../lib/libgamebuino.a(Display.o)
0x000000000000113e _ZN7Display8drawRectEaaaa
0x0000000000001394 0x50 ../lib/libgamebuino.a(Display.o)
0x0000000000001394 _ZN7Display8drawRectEaaaa
.text._ZN7Display8fillRectEaaaa
0x000000000000118e 0x52 ../lib/libgamebuino.a(Display.o)
0x000000000000118e _ZN7Display8fillRectEaaaa
0x00000000000013e4 0x52 ../lib/libgamebuino.a(Display.o)
0x00000000000013e4 _ZN7Display8fillRectEaaaa
.text._ZN7Display16drawCircleHelperEaaah
0x00000000000011e0 0xfc ../lib/libgamebuino.a(Display.o)
0x00000000000011e0 _ZN7Display16drawCircleHelperEaaah
0x0000000000001436 0xfc ../lib/libgamebuino.a(Display.o)
0x0000000000001436 _ZN7Display16drawCircleHelperEaaah
.text._ZN7Display16fillCircleHelperEaaaha
0x00000000000012dc 0xcc ../lib/libgamebuino.a(Display.o)
0x00000000000012dc _ZN7Display16fillCircleHelperEaaaha
0x0000000000001532 0xcc ../lib/libgamebuino.a(Display.o)
0x0000000000001532 _ZN7Display16fillCircleHelperEaaaha
.text._ZN7Display13drawRoundRectEaaaaa
0x00000000000013a8 0xbe ../lib/libgamebuino.a(Display.o)
0x00000000000013a8 _ZN7Display13drawRoundRectEaaaaa
0x00000000000015fe 0xbe ../lib/libgamebuino.a(Display.o)
0x00000000000015fe _ZN7Display13drawRoundRectEaaaaa
.text._ZN7Display13fillRoundRectEaaaaa
0x0000000000001466 0x6e ../lib/libgamebuino.a(Display.o)
0x0000000000001466 _ZN7Display13fillRoundRectEaaaaa
0x00000000000016bc 0x6e ../lib/libgamebuino.a(Display.o)
0x00000000000016bc _ZN7Display13fillRoundRectEaaaaa
.text._ZN7Display10drawBitmapEaaPKh
0x00000000000014d4 0x288 ../lib/libgamebuino.a(Display.o)
0x00000000000014d4 _ZN7Display10drawBitmapEaaPKh
0x000000000000172a 0x288 ../lib/libgamebuino.a(Display.o)
0x000000000000172a _ZN7Display10drawBitmapEaaPKh
.text._ZN7Display7setFontEPKh
0x000000000000175c 0x28 ../lib/libgamebuino.a(Display.o)
0x000000000000175c _ZN7Display7setFontEPKh
0x00000000000019b2 0x28 ../lib/libgamebuino.a(Display.o)
0x00000000000019b2 _ZN7Display7setFontEPKh
.text._ZN7Display5beginEaaaaa
0x0000000000001784 0x180 ../lib/libgamebuino.a(Display.o)
0x0000000000001784 _ZN7Display5beginEaaaaa
0x00000000000019da 0x180 ../lib/libgamebuino.a(Display.o)
0x00000000000019da _ZN7Display5beginEaaaaa
.text._ZN7Display8drawCharEaahh
0x0000000000001904 0x14a ../lib/libgamebuino.a(Display.o)
0x0000000000001904 _ZN7Display8drawCharEaahh
0x0000000000001b5a 0x14a ../lib/libgamebuino.a(Display.o)
0x0000000000001b5a _ZN7Display8drawCharEaahh
.text._ZN7Display5writeEh
0x0000000000001a4e 0x66 ../lib/libgamebuino.a(Display.o)
0x0000000000001a4e _ZN7Display5writeEh
0x0000000000001ca4 0x66 ../lib/libgamebuino.a(Display.o)
0x0000000000001ca4 _ZN7Display5writeEh
.text._ZN9Gamebuino11updatePopupEv
0x0000000000001ab4 0xe0 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001ab4 _ZN9Gamebuino11updatePopupEv
0x0000000000001d0a 0xe0 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001d0a _ZN9Gamebuino11updatePopupEv
.text._ZN9Gamebuino14displayBatteryEv
0x0000000000001b94 0x168 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001b94 _ZN9Gamebuino14displayBatteryEv
0x0000000000001dea 0x168 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001dea _ZN9Gamebuino14displayBatteryEv
.text._ZN9Gamebuino6updateEv
0x0000000000001cfc 0x176 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001cfc _ZN9Gamebuino6updateEv
0x0000000000001f52 0x176 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001f52 _ZN9Gamebuino6updateEv
.text._ZN9Gamebuino4menuEPKPKch
0x0000000000001e72 0x29c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001e72 _ZN9Gamebuino4menuEPKPKch
0x00000000000020c8 0x29c ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000020c8 _ZN9Gamebuino4menuEPKPKch
.text._ZN9Gamebuino10changeGameEv
0x000000000000210e 0x7a ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000210e _ZN9Gamebuino10changeGameEv
0x0000000000002364 0x7a ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002364 _ZN9Gamebuino10changeGameEv
.text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
0x0000000000002188 0x27c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002188 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
0x00000000000023de 0x27c ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000023de _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
.text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
0x0000000000002404 0x8 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002404 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
0x000000000000265a 0x8 ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000265a _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
.text._ZN9Gamebuino17settingsAvailableEv
0x000000000000240c 0x14 ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000240c _ZN9Gamebuino17settingsAvailableEv
0x0000000000002662 0x14 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002662 _ZN9Gamebuino17settingsAvailableEv
.text._ZN9Gamebuino12readSettingsEv
0x0000000000002420 0xde ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002420 _ZN9Gamebuino12readSettingsEv
0x0000000000002676 0xde ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002676 _ZN9Gamebuino12readSettingsEv
.text._ZN9Gamebuino5beginEv
0x00000000000024fe 0xb6 ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000024fe _ZN9Gamebuino5beginEv
0x0000000000002754 0xb6 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002754 _ZN9Gamebuino5beginEv
.text._ZN9Gamebuino14getDefaultNameEPc
0x00000000000025b4 0x2c ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000025b4 _ZN9Gamebuino14getDefaultNameEPc
0x000000000000280a 0x2c ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000280a _ZN9Gamebuino14getDefaultNameEPc
.text._ZN5Sound7commandEhhah.part.0
0x00000000000025e0 0x74 ../lib/libgamebuino.a(Sound.o)
0x0000000000002836 0x74 ../lib/libgamebuino.a(Sound.o)
.text._ZN5Sound5beginEv
0x0000000000002654 0x6a ../lib/libgamebuino.a(Sound.o)
0x0000000000002654 _ZN5Sound5beginEv
0x00000000000028aa 0x6a ../lib/libgamebuino.a(Sound.o)
0x00000000000028aa _ZN5Sound5beginEv
.text._ZN5Sound7commandEhhah
0x00000000000026be 0x62 ../lib/libgamebuino.a(Sound.o)
0x00000000000026be _ZN5Sound7commandEhhah
0x0000000000002914 0x62 ../lib/libgamebuino.a(Sound.o)
0x0000000000002914 _ZN5Sound7commandEhhah
.text._ZN5Sound8playNoteEhhh
0x0000000000002720 0x24 ../lib/libgamebuino.a(Sound.o)
0x0000000000002720 _ZN5Sound8playNoteEhhh
0x0000000000002976 0x24 ../lib/libgamebuino.a(Sound.o)
0x0000000000002976 _ZN5Sound8playNoteEhhh
.text._ZN5Sound12updateOutputEv
0x0000000000002744 0x16 ../lib/libgamebuino.a(Sound.o)
0x0000000000002744 _ZN5Sound12updateOutputEv
0x000000000000299a 0x16 ../lib/libgamebuino.a(Sound.o)
0x000000000000299a _ZN5Sound12updateOutputEv
.text._ZN5Sound8stopNoteEh
0x000000000000275a 0x22 ../lib/libgamebuino.a(Sound.o)
0x000000000000275a _ZN5Sound8stopNoteEh
0x00000000000029b0 0x22 ../lib/libgamebuino.a(Sound.o)
0x00000000000029b0 _ZN5Sound8stopNoteEh
.text._ZN5Sound11stopPatternEh
0x000000000000277c 0x16 ../lib/libgamebuino.a(Sound.o)
0x000000000000277c _ZN5Sound11stopPatternEh
0x00000000000029d2 0x16 ../lib/libgamebuino.a(Sound.o)
0x00000000000029d2 _ZN5Sound11stopPatternEh
.text._ZN5Sound11playPatternEPKjh
0x0000000000002792 0x36 ../lib/libgamebuino.a(Sound.o)
0x0000000000002792 _ZN5Sound11playPatternEPKjh
0x00000000000029e8 0x36 ../lib/libgamebuino.a(Sound.o)
0x00000000000029e8 _ZN5Sound11playPatternEPKjh
.text._ZN5Sound11updateTrackEh
0x00000000000027c8 0x72 ../lib/libgamebuino.a(Sound.o)
0x00000000000027c8 _ZN5Sound11updateTrackEh
0x0000000000002a1e 0x72 ../lib/libgamebuino.a(Sound.o)
0x0000000000002a1e _ZN5Sound11updateTrackEh
.text._ZN5Sound11updateTrackEv
0x000000000000283a 0x6 ../lib/libgamebuino.a(Sound.o)
0x000000000000283a _ZN5Sound11updateTrackEv
0x0000000000002a90 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002a90 _ZN5Sound11updateTrackEv
.text._ZN5Sound11stopPatternEv
0x0000000000002840 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002840 _ZN5Sound11stopPatternEv
0x0000000000002a96 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002a96 _ZN5Sound11stopPatternEv
.text._ZN5Sound13updatePatternEh
0x0000000000002846 0xcc ../lib/libgamebuino.a(Sound.o)
0x0000000000002846 _ZN5Sound13updatePatternEh
0x0000000000002a9c 0xcc ../lib/libgamebuino.a(Sound.o)
0x0000000000002a9c _ZN5Sound13updatePatternEh
.text._ZN5Sound13updatePatternEv
0x0000000000002912 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002912 _ZN5Sound13updatePatternEv
0x0000000000002b68 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002b68 _ZN5Sound13updatePatternEv
.text._ZN5Sound10updateNoteEh
0x0000000000002918 0x184 ../lib/libgamebuino.a(Sound.o)
0x0000000000002918 _ZN5Sound10updateNoteEh
0x0000000000002b6e 0x184 ../lib/libgamebuino.a(Sound.o)
0x0000000000002b6e _ZN5Sound10updateNoteEh
.text._ZN5Sound10updateNoteEv
0x0000000000002a9c 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002a9c _ZN5Sound10updateNoteEv
0x0000000000002cf2 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002cf2 _ZN5Sound10updateNoteEv
.text._ZN5Sound14generateOutputEv
0x0000000000002aa2 0x54 ../lib/libgamebuino.a(Sound.o)
0x0000000000002aa2 _ZN5Sound14generateOutputEv
0x0000000000002cf8 0x54 ../lib/libgamebuino.a(Sound.o)
0x0000000000002cf8 _ZN5Sound14generateOutputEv
.text.__vector_11
0x0000000000002af6 0x48 ../lib/libgamebuino.a(Sound.o)
0x0000000000002af6 __vector_11
0x0000000000002d4c 0x48 ../lib/libgamebuino.a(Sound.o)
0x0000000000002d4c __vector_11
.text._ZN5Sound6playOKEv
0x0000000000002b3e 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b3e _ZN5Sound6playOKEv
0x0000000000002d94 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002d94 _ZN5Sound6playOKEv
.text._ZN5Sound10playCancelEv
0x0000000000002b6a 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b6a _ZN5Sound10playCancelEv
0x0000000000002dc0 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002dc0 _ZN5Sound10playCancelEv
.text._ZN5Sound8playTickEv
0x0000000000002b96 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b96 _ZN5Sound8playTickEv
0x0000000000002dec 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002dec _ZN5Sound8playTickEv
.text._ZN5Sound9setVolumeEa
0x0000000000002bc2 0x1c ../lib/libgamebuino.a(Sound.o)
0x0000000000002bc2 _ZN5Sound9setVolumeEa
0x0000000000002e18 0x1c ../lib/libgamebuino.a(Sound.o)
0x0000000000002e18 _ZN5Sound9setVolumeEa
.text._ZN9Backlight5beginEv
0x0000000000002bde 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002bde _ZN9Backlight5beginEv
0x0000000000002e34 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002e34 _ZN9Backlight5beginEv
.text._ZN9Backlight3setEh
0x0000000000002be6 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002be6 _ZN9Backlight3setEh
0x0000000000002e3c 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002e3c _ZN9Backlight3setEh
.text._ZN9Backlight6updateEv
0x0000000000002bee 0xbe ../lib/libgamebuino.a(Backlight.o)
0x0000000000002bee _ZN9Backlight6updateEv
0x0000000000002e44 0xbe ../lib/libgamebuino.a(Backlight.o)
0x0000000000002e44 _ZN9Backlight6updateEv
.text._ZN7Battery5beginEv
0x0000000000002cac 0x14 ../lib/libgamebuino.a(Battery.o)
0x0000000000002cac _ZN7Battery5beginEv
0x0000000000002f02 0x14 ../lib/libgamebuino.a(Battery.o)
0x0000000000002f02 _ZN7Battery5beginEv
.text._ZN7Battery6updateEv
0x0000000000002cc0 0x72 ../lib/libgamebuino.a(Battery.o)
0x0000000000002cc0 _ZN7Battery6updateEv
0x0000000000002f16 0x72 ../lib/libgamebuino.a(Battery.o)
0x0000000000002f16 _ZN7Battery6updateEv
.text.__vector_16
0x0000000000002d32 0x94 ../lib/libarduino.a(wiring.o)
0x0000000000002d32 __vector_16
.text.millis 0x0000000000002dc6 0x18 ../lib/libarduino.a(wiring.o)
0x0000000000002dc6 millis
.text.micros 0x0000000000002dde 0x4a ../lib/libarduino.a(wiring.o)
0x0000000000002dde micros
.text.delay 0x0000000000002e28 0x4c ../lib/libarduino.a(wiring.o)
0x0000000000002e28 delay
.text.init 0x0000000000002e74 0x76 ../lib/libarduino.a(wiring.o)
0x0000000000002e74 init
0x0000000000002f88 0x94 ../lib/libarduino.a(wiring.o)
0x0000000000002f88 __vector_16
.text.millis 0x000000000000301c 0x18 ../lib/libarduino.a(wiring.o)
0x000000000000301c millis
.text.micros 0x0000000000003034 0x4a ../lib/libarduino.a(wiring.o)
0x0000000000003034 micros
.text.delay 0x000000000000307e 0x4c ../lib/libarduino.a(wiring.o)
0x000000000000307e delay
.text.init 0x00000000000030ca 0x76 ../lib/libarduino.a(wiring.o)
0x00000000000030ca init
.text.analogRead
0x0000000000002eea 0x3a ../lib/libarduino.a(wiring_analog.o)
0x0000000000002eea analogRead
0x0000000000003140 0x3a ../lib/libarduino.a(wiring_analog.o)
0x0000000000003140 analogRead
.text.analogWrite
0x0000000000002f24 0xbe ../lib/libarduino.a(wiring_analog.o)
0x0000000000002f24 analogWrite
0x000000000000317a 0xbe ../lib/libarduino.a(wiring_analog.o)
0x000000000000317a analogWrite
.text.turnOffPWM
0x0000000000002fe2 0x52 ../lib/libarduino.a(wiring_digital.o)
.text.pinMode 0x0000000000003034 0x78 ../lib/libarduino.a(wiring_digital.o)
0x0000000000003034 pinMode
0x0000000000003238 0x52 ../lib/libarduino.a(wiring_digital.o)
.text.pinMode 0x000000000000328a 0x78 ../lib/libarduino.a(wiring_digital.o)
0x000000000000328a pinMode
.text.digitalWrite
0x00000000000030ac 0x5e ../lib/libarduino.a(wiring_digital.o)
0x00000000000030ac digitalWrite
0x0000000000003302 0x5e ../lib/libarduino.a(wiring_digital.o)
0x0000000000003302 digitalWrite
.text.digitalRead
0x000000000000310a 0x52 ../lib/libarduino.a(wiring_digital.o)
0x000000000000310a digitalRead
0x0000000000003360 0x52 ../lib/libarduino.a(wiring_digital.o)
0x0000000000003360 digitalRead
.text._ZN5Print5writeEPKhj
0x000000000000315c 0x50 ../lib/libarduino.a(Print.o)
0x000000000000315c _ZN5Print5writeEPKhj
0x00000000000033b2 0x50 ../lib/libarduino.a(Print.o)
0x00000000000033b2 _ZN5Print5writeEPKhj
.text._ZN5Print5writeEPKc
0x00000000000031ac 0x2a ../lib/libarduino.a(Print.o)
0x00000000000031ac _ZN5Print5writeEPKc
0x0000000000003402 0x2a ../lib/libarduino.a(Print.o)
0x0000000000003402 _ZN5Print5writeEPKc
.text._ZN5Print5printEPK19__FlashStringHelper
0x00000000000031d6 0x46 ../lib/libarduino.a(Print.o)
0x00000000000031d6 _ZN5Print5printEPK19__FlashStringHelper
0x000000000000342c 0x46 ../lib/libarduino.a(Print.o)
0x000000000000342c _ZN5Print5printEPK19__FlashStringHelper
.text._ZN5Print5printEc
0x000000000000321c 0xe ../lib/libarduino.a(Print.o)
0x000000000000321c _ZN5Print5printEc
0x0000000000003472 0xe ../lib/libarduino.a(Print.o)
0x0000000000003472 _ZN5Print5printEc
.text._ZN5Print7printlnEv
0x000000000000322a 0x28 ../lib/libarduino.a(Print.o)
0x000000000000322a _ZN5Print7printlnEv
0x0000000000003480 0x28 ../lib/libarduino.a(Print.o)
0x0000000000003480 _ZN5Print7printlnEv
.text._ZN5Print7printlnEPK19__FlashStringHelper
0x0000000000003252 0x24 ../lib/libarduino.a(Print.o)
0x0000000000003252 _ZN5Print7printlnEPK19__FlashStringHelper
0x00000000000034a8 0x24 ../lib/libarduino.a(Print.o)
0x00000000000034a8 _ZN5Print7printlnEPK19__FlashStringHelper
.text._ZN5Print11printNumberEmh
0x0000000000003276 0xac ../lib/libarduino.a(Print.o)
0x0000000000003276 _ZN5Print11printNumberEmh
0x00000000000034cc 0xac ../lib/libarduino.a(Print.o)
0x00000000000034cc _ZN5Print11printNumberEmh
.text._ZN5Print5printEmi
0x0000000000003322 0x1a ../lib/libarduino.a(Print.o)
0x0000000000003322 _ZN5Print5printEmi
0x0000000000003578 0x1a ../lib/libarduino.a(Print.o)
0x0000000000003578 _ZN5Print5printEmi
.text._ZN5Print5printEji
0x000000000000333c 0xc ../lib/libarduino.a(Print.o)
0x000000000000333c _ZN5Print5printEji
0x0000000000003592 0xc ../lib/libarduino.a(Print.o)
0x0000000000003592 _ZN5Print5printEji
.text._ZN5Print5printEli
0x0000000000003348 0x90 ../lib/libarduino.a(Print.o)
0x0000000000003348 _ZN5Print5printEli
0x000000000000359e 0x90 ../lib/libarduino.a(Print.o)
0x000000000000359e _ZN5Print5printEli
.text._ZN5Print5printEii
0x00000000000033d8 0xe ../lib/libarduino.a(Print.o)
0x00000000000033d8 _ZN5Print5printEii
0x000000000000362e 0xe ../lib/libarduino.a(Print.o)
0x000000000000362e _ZN5Print5printEii
.text._Z3maplllll
0x00000000000033e6 0x82 ../lib/libarduino.a(WMath.o)
0x00000000000033e6 _Z3maplllll
0x000000000000363c 0x82 ../lib/libarduino.a(WMath.o)
0x000000000000363c _Z3maplllll
.text.__cxa_pure_virtual
0x0000000000003468 0x2 ../lib/libarduino.a(forward.o)
0x0000000000003468 __cxa_pure_virtual
0x00000000000036be 0x2 ../lib/libarduino.a(forward.o)
0x00000000000036be __cxa_pure_virtual
.text._ZN8SPIClass5beginEv
0x000000000000346a 0x2c ../lib/libarduino.a(SPI.o)
0x000000000000346a _ZN8SPIClass5beginEv
0x00000000000036c0 0x2c ../lib/libarduino.a(SPI.o)
0x00000000000036c0 _ZN8SPIClass5beginEv
.text._ZN8SPIClass11setBitOrderEh
0x0000000000003496 0x12 ../lib/libarduino.a(SPI.o)
0x0000000000003496 _ZN8SPIClass11setBitOrderEh
0x00000000000036ec 0x12 ../lib/libarduino.a(SPI.o)
0x00000000000036ec _ZN8SPIClass11setBitOrderEh
.text._ZN8SPIClass11setDataModeEh
0x00000000000034a8 0xa ../lib/libarduino.a(SPI.o)
0x00000000000034a8 _ZN8SPIClass11setDataModeEh
0x00000000000036fe 0xa ../lib/libarduino.a(SPI.o)
0x00000000000036fe _ZN8SPIClass11setDataModeEh
.text._ZN8SPIClass15setClockDividerEh
0x00000000000034b2 0x1e ../lib/libarduino.a(SPI.o)
0x00000000000034b2 _ZN8SPIClass15setClockDividerEh
0x0000000000003708 0x1e ../lib/libarduino.a(SPI.o)
0x0000000000003708 _ZN8SPIClass15setClockDividerEh
.text.libgcc.mul
0x00000000000034d0 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o)
0x00000000000034d0 __mulsi3
0x0000000000003726 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o)
0x0000000000003726 __mulsi3
.text.libgcc.div
0x00000000000034f0 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o)
0x00000000000034f0 __udivmodqi4
0x0000000000003746 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o)
0x0000000000003746 __udivmodqi4
.text.libgcc.div
0x0000000000003508 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o)
0x0000000000003508 __udivmodhi4
0x000000000000375e 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o)
0x000000000000375e __udivmodhi4
.text.libgcc.div
0x0000000000003530 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o)
0x0000000000003530 __divmodhi4
0x0000000000003530 _div
0x0000000000003786 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o)
0x0000000000003786 __divmodhi4
0x0000000000003786 _div
.text.libgcc.div
0x0000000000003558 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o)
0x0000000000003558 __udivmodsi4
0x00000000000037ae 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o)
0x00000000000037ae __udivmodsi4
.text.libgcc.div
0x000000000000359c 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o)
0x000000000000359c __divmodsi4
0x00000000000037f2 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o)
0x00000000000037f2 __divmodsi4
.text.libgcc.div
0x00000000000035ca 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o)
0x00000000000035ca __negsi2
0x0000000000003820 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o)
0x0000000000003820 __negsi2
.text.libgcc.mul
0x00000000000035da 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o)
0x00000000000035da __muluhisi3
.text.libgcc 0x00000000000035f0 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o)
0x00000000000035f0 __tablejump2__
0x0000000000003830 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o)
0x0000000000003830 __muluhisi3
.text.libgcc 0x0000000000003846 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o)
0x0000000000003846 __tablejump2__
.text.libgcc.mul
0x00000000000035fc 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o)
0x00000000000035fc __umulhisi3
0x0000000000003852 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o)
0x0000000000003852 __umulhisi3
.text.avr-libc.fplib
0x000000000000361a 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
0x000000000000361a __fixunssfsi
0x0000000000003870 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
0x0000000000003870 __fixunssfsi
.text.avr-libc.fplib
0x0000000000003678 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o)
0x0000000000003678 __floatunsisf
0x000000000000367c __floatsisf
0x00000000000038ce 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o)
0x00000000000038ce __floatunsisf
0x00000000000038d2 __floatsisf
.text.avr-libc.fplib
0x00000000000036f2 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o)
0x00000000000036f2 __fp_inf
0x0000000000003948 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o)
0x0000000000003948 __fp_inf
.text.avr-libc.fplib
0x00000000000036fe 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o)
0x00000000000036fe __fp_nan
0x0000000000003954 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o)
0x0000000000003954 __fp_nan
.text.avr-libc.fplib
0x0000000000003704 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o)
0x0000000000003704 __fp_pscA
0x000000000000395a 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o)
0x000000000000395a __fp_pscA
.text.avr-libc.fplib
0x0000000000003712 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o)
0x0000000000003712 __fp_pscB
0x0000000000003968 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o)
0x0000000000003968 __fp_pscB
.text.avr-libc.fplib
0x0000000000003720 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o)
0x0000000000003720 __fp_round
0x0000000000003976 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o)
0x0000000000003976 __fp_round
.text.avr-libc.fplib
0x0000000000003742 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o)
0x0000000000003742 __fp_split3
0x0000000000003752 __fp_splitA
0x0000000000003998 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o)
0x0000000000003998 __fp_split3
0x00000000000039a8 __fp_splitA
.text.avr-libc.fplib
0x0000000000003786 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o)
0x0000000000003786 __fp_zero
0x0000000000003788 __fp_szero
0x00000000000039dc 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o)
0x00000000000039dc __fp_zero
0x00000000000039de __fp_szero
.text.avr-libc.fplib
0x0000000000003794 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o)
0x0000000000003794 __mulsf3
0x00000000000039ea 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o)
0x00000000000039ea __mulsf3
.text.avr-libc.fplib
0x000000000000379c 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o)
0x00000000000037ba __mulsf3x
0x00000000000037c0 __mulsf3_pse
0x00000000000039f2 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o)
0x0000000000003a10 __mulsf3x
0x0000000000003a16 __mulsf3_pse
.text.avr-libc
0x000000000000386e 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o)
0x000000000000386e memset
0x0000000000003ac4 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o)
0x0000000000003ac4 memset
.text.avr-libc
0x000000000000387c 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o)
0x000000000000387c strncpy
0x000000000000389a . = ALIGN (0x2)
0x0000000000003ad2 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o)
0x0000000000003ad2 strncpy
0x0000000000003af0 . = ALIGN (0x2)
*(.fini9)
.fini9 0x000000000000389a 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
0x000000000000389a exit
0x000000000000389a _exit
.fini9 0x0000000000003af0 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
0x0000000000003af0 exit
0x0000000000003af0 _exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -1831,11 +1871,11 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000000000000389a 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
.fini0 0x0000000000003af0 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
*(.fini0)
0x000000000000389e _etext = .
0x0000000000003af4 _etext = .
.data 0x0000000000800100 0x74 load address 0x000000000000389e
.data 0x0000000000800100 0x74 load address 0x0000000000003af4
0x0000000000800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
@ -1869,7 +1909,7 @@ END GROUP
0x0000000000800174 _edata = .
0x0000000000800174 PROVIDE (__data_end, .)
.bss 0x0000000000800174 0x298
.bss 0x0000000000800174 0x29a
0x0000000000800174 PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
@ -1877,46 +1917,47 @@ END GROUP
0x0000000000800174 gb
.bss._cam 0x00000000008001fb 0x2 Obj/Sprite.o
0x00000000008001fb _cam
.bss._ZL3cam 0x00000000008001fd 0x2 Obj/BaseUnit.o
.bss._displayBuffer
0x00000000008001fd 0x200 ../lib/libgamebuino.a(Display.o)
0x00000000008001fd _displayBuffer
0x00000000008001ff 0x200 ../lib/libgamebuino.a(Display.o)
0x00000000008001ff _displayBuffer
.bss._chanNoise
0x00000000008003fd 0x1 ../lib/libgamebuino.a(Sound.o)
0x00000000008003fd _chanNoise
.bss._chanOutput
0x00000000008003fe 0x1 ../lib/libgamebuino.a(Sound.o)
0x00000000008003fe _chanOutput
.bss._chanOutputVolume
0x00000000008003ff 0x1 ../lib/libgamebuino.a(Sound.o)
0x00000000008003ff _chanOutputVolume
.bss._chanHalfPeriod
0x00000000008003ff _chanNoise
.bss._chanOutput
0x0000000000800400 0x1 ../lib/libgamebuino.a(Sound.o)
0x0000000000800400 _chanHalfPeriod
.bss._chanState
0x0000000000800400 _chanOutput
.bss._chanOutputVolume
0x0000000000800401 0x1 ../lib/libgamebuino.a(Sound.o)
0x0000000000800401 _chanState
.bss._chanCount
0x0000000000800401 _chanOutputVolume
.bss._chanHalfPeriod
0x0000000000800402 0x1 ../lib/libgamebuino.a(Sound.o)
0x0000000000800402 _chanCount
0x0000000000800402 _chanHalfPeriod
.bss._chanState
0x0000000000800403 0x1 ../lib/libgamebuino.a(Sound.o)
0x0000000000800403 _chanState
.bss._chanCount
0x0000000000800404 0x1 ../lib/libgamebuino.a(Sound.o)
0x0000000000800404 _chanCount
.bss.timer0_fract
0x0000000000800403 0x1 ../lib/libarduino.a(wiring.o)
0x0000000000800405 0x1 ../lib/libarduino.a(wiring.o)
.bss.timer0_millis
0x0000000000800404 0x4 ../lib/libarduino.a(wiring.o)
0x0000000000800404 timer0_millis
0x0000000000800406 0x4 ../lib/libarduino.a(wiring.o)
0x0000000000800406 timer0_millis
.bss.timer0_overflow_count
0x0000000000800408 0x4 ../lib/libarduino.a(wiring.o)
0x0000000000800408 timer0_overflow_count
0x000000000080040a 0x4 ../lib/libarduino.a(wiring.o)
0x000000000080040a timer0_overflow_count
*(COMMON)
0x000000000080040c PROVIDE (__bss_end, .)
0x000000000000389e __data_load_start = LOADADDR (.data)
0x0000000000003912 __data_load_end = (__data_load_start + SIZEOF (.data))
0x000000000080040e PROVIDE (__bss_end, .)
0x0000000000003af4 __data_load_start = LOADADDR (.data)
0x0000000000003b68 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x000000000080040c 0x0
.noinit 0x000000000080040e 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x000000000080040c _end = .
0x000000000080040c PROVIDE (__heap_start, .)
0x000000000080040e _end = .
0x000000000080040e PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)

View File

@ -63,7 +63,9 @@ HumanPlayer::HumanPlayer(const char* const strPlayerName, const Camera& cam) :
Player(strPlayerName),
_eState(PLAYER_STATE_IDLE),
_cam(cam),
_ABtnFrames(0)
_cursor(cam),
_ABtnFrames(0),
_BBtnFrames(0)
{
_unitsMap[0].create(Unit::UNIT_ID_PEASANT, 16, 16);
}
@ -104,7 +106,7 @@ void HumanPlayer::drawHandler(void)
Sprite cursorSpr(au8MouseSprData, false, INVERT);
/* Transfer Cursor to Sprite coordinates. */
cursorSpr.setPos(_cursor.getX(), _cursor.getY());
cursorSpr.setPos(_cursor.getScreenX(), _cursor.getScreenY());
/* Draw cursor sprite. */
cursorSpr.draw();
@ -137,7 +139,7 @@ enum HumanPlayer::tPlayerState HumanPlayer::selectUnit(void)
/* Maximum distance, in pixels,
* between unit and cursor
* in order to select a unit. */
MAX_SELECTION_DISTANCE = 8
MAX_SELECTION_DISTANCE = 32
};
/* Extract Unit object X position. */

View File

@ -50,6 +50,7 @@ class HumanPlayer : public Player
/* Released button event handlers. */
void onABtnReleased(void);
void onBBtnReleased(void);
/* Unit selection. */
enum tPlayerState selectUnit(void);
@ -60,6 +61,7 @@ class HumanPlayer : public Player
/* Private variables. */
uint8_t _ABtnFrames;
uint8_t _BBtnFrames;
};
#endif /* HUMAN_PLAYER_H__ */

View File

@ -15,7 +15,7 @@ SRC_DIR = .
OBJECTS=$(addprefix $(OBJ_DIR)/,main.o Game.o System.o HumanPlayer.o Sprite.o \
Player.o Camera.o BaseUnit.o Unit.o Menu.o \
Cursor.o HumanPlayerBtn.o)
Cursor.o HumanPlayerBtn.o Coordinates.o)
DEPS = $(OBJECTS:.o=.d)

View File

@ -125,6 +125,8 @@ static void MainMenuSinglePlayer(void)
/* Set global camera for sprites. */
Sprite::setCamera(&c.cam);
BaseUnit::setCamera(&c.cam);
/* Initialize game with defined configuration. */
Game(c);
}

View File

@ -28,41 +28,41 @@ long_line_behaviour=1
long_line_column=120
[files]
current_page=33
current_page=30
FILE_NAME_0=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2Fmain.cpp;0;4
FILE_NAME_1=3821;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.cpp;0;4
FILE_NAME_1=3852;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.cpp;0;4
FILE_NAME_2=549;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.cpp;0;4
FILE_NAME_3=136;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.h;0;4
FILE_NAME_3=1268;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.h;0;4
FILE_NAME_4=299;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.h;0;4
FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.h;0;4
FILE_NAME_6=1102;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.h;0;4
FILE_NAME_7=453;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMakefile;0;4
FILE_NAME_8=2168;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.cpp;0;4
FILE_NAME_9=1115;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4
FILE_NAME_9=1827;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4
FILE_NAME_10=1827;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.cpp;0;4
FILE_NAME_11=2960;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.cpp;0;4
FILE_NAME_12=571;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.h;0;4
FILE_NAME_13=2317;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.cpp;0;4
FILE_NAME_14=1249;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4
FILE_NAME_15=1779;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.cpp;0;4
FILE_NAME_13=3108;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.cpp;0;4
FILE_NAME_14=1593;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4
FILE_NAME_15=2421;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.cpp;0;4
FILE_NAME_16=575;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.h;0;4
FILE_NAME_17=5880;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.h;0;4
FILE_NAME_18=7987;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FGamebuino.cpp;0;4
FILE_NAME_17=6207;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.h;0;4
FILE_NAME_18=18699;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FGamebuino.cpp;0;4
FILE_NAME_19=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FGamebuino.h;0;4
FILE_NAME_20=3497;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.cpp;0;4
FILE_NAME_21=1135;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.h;0;4
FILE_NAME_22=3441;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2Fsettings.c;0;4
FILE_NAME_23=19868;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4
FILE_NAME_24=1181;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4
FILE_NAME_25=1096;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4
FILE_NAME_26=3832;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4
FILE_NAME_23=9733;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4
FILE_NAME_24=1468;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4
FILE_NAME_25=1280;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4
FILE_NAME_26=4771;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4
FILE_NAME_27=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4
FILE_NAME_28=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4
FILE_NAME_29=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4
FILE_NAME_30=2718;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4
FILE_NAME_31=6501;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4
FILE_NAME_28=3133;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4
FILE_NAME_29=1351;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4
FILE_NAME_30=3873;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4
FILE_NAME_31=10225;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4
FILE_NAME_32=1485;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Finclude%2Farduino%2FArduino.h;0;4
FILE_NAME_33=2398;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4
FILE_NAME_33=2607;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4
[VTE]
last_dir=/home/xavier/PocketEmpires/src

View File

@ -59,7 +59,10 @@ static const PROGMEM uint8_t au8PeasantSprData[] =
*********************************************************************/
Unit::Unit(const enum Unit::tUnitID eUnitID) :
BaseUnit(),
_eUnitID(eUnitID)
_eUnitID(eUnitID),
_eState(UNIT_STATE_IDLE),
_target_x(0),
_target_y(0)
{
}
@ -90,6 +93,19 @@ void Unit::create(const enum Unit::tUnitID eUnitID, const uint16_t x, const uint
_hp = au8HpData[eUnitID];
}
/*****************************************************************//**
*
* \brief This function sets a position target for a \ref Unit
* object.
*
*********************************************************************/
void Unit::moveTo(const uint16_t x, const uint16_t y)
{
_target_x = x;
_target_y = y;
_eState = UNIT_STATE_MOVING;
}
/*****************************************************************//**
*
* \brief Periodical handler for Unit class.
@ -99,6 +115,33 @@ void Unit::handler(void)
{
/* Execute base class handler. */
BaseUnit::handler();
switch (_eState)
{
case UNIT_STATE_MOVING:
if (_x < _target_x)
{
_x += 1;
}
else if (_x > _target_x)
{
_x -= 1;
}
if (_y < _target_y)
{
_y += 1;
}
else if (_y > _target_y)
{
_y -= 1;
}
break;
case UNIT_STATE_IDLE:
default:
break;
}
}
/*****************************************************************//**
@ -125,7 +168,7 @@ void Unit::drawHandler(void)
Sprite spr(pu8UnitSpriteData);
spr.setPos(_x, _y);
spr.setPos(_x - (Sprite::getWidth(pu8UnitSpriteData) >> 1), _y - (Sprite::getHeight(pu8UnitSpriteData) >> 1));
spr.draw();

8
Unit.h
View File

@ -45,9 +45,17 @@ class Unit : public BaseUnit
void create(const enum Unit::tUnitID eUnitID, const uint16_t x, const uint16_t y);
void handler(void);
void drawHandler(void);
void moveTo(const uint16_t x, const uint16_t y);
private:
enum tUnitID _eUnitID;
enum tUnitState
{
UNIT_STATE_IDLE,
UNIT_STATE_MOVING
} _eState;
uint16_t _target_x;
uint16_t _target_y;
};
#endif /* UNIT_H__ */