+ Started unit selection implementation. Not finished yet.

This commit is contained in:
XaviDCR92 2018-08-02 00:54:01 +02:00
parent c3a69de5c2
commit c501d0e4e7
10 changed files with 1298 additions and 1165 deletions

View File

@ -3,8 +3,10 @@
* ******************************************************************/
#include "BaseUnit.h"
#include "System.h"
#include <stdbool.h>
#include <stdint.h>
#include <Gamebuino.h>
/* *******************************************************************
* Defines
@ -67,6 +69,35 @@ void BaseUnit::handler(void)
{
}
/*****************************************************************//**
*
* \brief Periodical draw handler for BaseUnit class.
*
*********************************************************************/
void BaseUnit::drawHandler(const uint8_t* const pu8SprData)
{
if (isSelected())
{
enum
{
WIDTH_DATA_INDEX,
HEIGHT_DATA_INDEX
};
/* Retrieve unit width from sprite data. */
const uint8_t w = pgm_read_byte(&pu8SprData[WIDTH_DATA_INDEX]);
/* Retrieve unit height from sprite data. */
const uint8_t h = pgm_read_byte(&pu8SprData[HEIGHT_DATA_INDEX]);
gb.display.drawRect(_x, _y, w, h);
}
else
{
/* BaseUnit object is not selected. Exit. */
}
}
/*****************************************************************//**
*
* \brief Returns Unit alive flag.
@ -91,6 +122,21 @@ bool BaseUnit::isSelected(void)
return _selected;
}
/*****************************************************************//**
*
* \brief This function selects/deselects a \ref BaseUnit object
* according to requested state.
*
* \param bSelect
* If true, unit must be selected. Otherwise, unit
* must be deselected.
*
*********************************************************************/
void BaseUnit::setSelected(const bool bSelect)
{
_selected = bSelect;
}
/*****************************************************************//**
*
* \brief Returns Unit X coordinates.
@ -102,3 +148,15 @@ uint16_t BaseUnit::getX(void)
{
return _x;
}
/*****************************************************************//**
*
* \brief Returns Unit Y coordinates.
*
* \return Returns Unit Y coordinates.
*
*********************************************************************/
uint16_t BaseUnit::getY(void)
{
return _y;
}

View File

@ -33,10 +33,13 @@ class BaseUnit
public:
explicit BaseUnit(void);
void handler(void);
void drawHandler(const uint8_t* const pu8SprData);
void create(const uint16_t x, const uint16_t y);
bool isAlive(void);
bool isSelected(void);
void setSelected(const bool bSelect);
uint16_t getX(void);
uint16_t getY(void);
protected:
uint16_t _hp; /**< Health points. */

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1146,7 +1146,7 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x0000000000000000 0x3768
.text 0x0000000000000000 0x389e
*(.vectors)
.vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o
0x0000000000000000 __vectors
@ -1335,463 +1335,484 @@ END GROUP
.text._ZN11HumanPlayer7handlerEv
0x0000000000000602 0x22 Obj/HumanPlayer.o
0x0000000000000602 _ZN11HumanPlayer7handlerEv
.text._ZN11HumanPlayer10selectUnitEv
0x0000000000000624 0xba Obj/HumanPlayer.o
0x0000000000000624 _ZN11HumanPlayer10selectUnitEv
.text._ZN6SpriteC2EPKhbhh
0x0000000000000624 0x16 Obj/Sprite.o
0x0000000000000624 _ZN6SpriteC2EPKhbhh
0x0000000000000624 _ZN6SpriteC1EPKhbhh
0x00000000000006de 0x16 Obj/Sprite.o
0x00000000000006de _ZN6SpriteC2EPKhbhh
0x00000000000006de _ZN6SpriteC1EPKhbhh
.text._ZN6Sprite4drawEv
0x000000000000063a 0x6e Obj/Sprite.o
0x000000000000063a _ZN6Sprite4drawEv
0x00000000000006f4 0x6e Obj/Sprite.o
0x00000000000006f4 _ZN6Sprite4drawEv
.text._ZN6Sprite6setPosEhh
0x00000000000006a8 0x8 Obj/Sprite.o
0x00000000000006a8 _ZN6Sprite6setPosEhh
0x0000000000000762 0x8 Obj/Sprite.o
0x0000000000000762 _ZN6Sprite6setPosEhh
.text._ZN6PlayerC2EPKc
0x00000000000006b0 0x8c Obj/Player.o
0x00000000000006b0 _ZN6PlayerC1EPKc
0x00000000000006b0 _ZN6PlayerC2EPKc
0x000000000000076a 0x8c Obj/Player.o
0x000000000000076a _ZN6PlayerC1EPKc
0x000000000000076a _ZN6PlayerC2EPKc
.text._ZN6Player11handleUnitsEv
0x000000000000073c 0x2e Obj/Player.o
0x000000000000073c _ZN6Player11handleUnitsEv
0x00000000000007f6 0x2e Obj/Player.o
0x00000000000007f6 _ZN6Player11handleUnitsEv
.text._ZN6Player9drawUnitsEv
0x000000000000076a 0x2e Obj/Player.o
0x000000000000076a _ZN6Player9drawUnitsEv
0x0000000000000824 0x2e Obj/Player.o
0x0000000000000824 _ZN6Player9drawUnitsEv
.text._ZN6CameraC2Ev
0x0000000000000798 0x10 Obj/Camera.o
0x0000000000000798 _ZN6CameraC1Ev
0x0000000000000798 _ZN6CameraC2Ev
0x0000000000000852 0x10 Obj/Camera.o
0x0000000000000852 _ZN6CameraC1Ev
0x0000000000000852 _ZN6CameraC2Ev
.text._ZNK6Camera4getXEh
0x00000000000007a8 0xa Obj/Camera.o
0x00000000000007a8 _ZNK6Camera4getXEh
0x0000000000000862 0xa Obj/Camera.o
0x0000000000000862 _ZNK6Camera4getXEh
.text._ZNK6Camera4getYEh
0x00000000000007b2 0xa Obj/Camera.o
0x00000000000007b2 _ZNK6Camera4getYEh
0x000000000000086c 0xa Obj/Camera.o
0x000000000000086c _ZNK6Camera4getYEh
.text._ZN6Camera16onLeftBtnPressedER6Cursor
0x00000000000007bc 0x42 Obj/Camera.o
0x00000000000007bc _ZN6Camera16onLeftBtnPressedER6Cursor
0x0000000000000876 0x42 Obj/Camera.o
0x0000000000000876 _ZN6Camera16onLeftBtnPressedER6Cursor
.text._ZN6Camera17onRightBtnPressedER6Cursor
0x00000000000007fe 0x44 Obj/Camera.o
0x00000000000007fe _ZN6Camera17onRightBtnPressedER6Cursor
0x00000000000008b8 0x44 Obj/Camera.o
0x00000000000008b8 _ZN6Camera17onRightBtnPressedER6Cursor
.text._ZN6Camera14onUpBtnPressedER6Cursor
0x0000000000000842 0x42 Obj/Camera.o
0x0000000000000842 _ZN6Camera14onUpBtnPressedER6Cursor
0x00000000000008fc 0x42 Obj/Camera.o
0x00000000000008fc _ZN6Camera14onUpBtnPressedER6Cursor
.text._ZN6Camera16onDownBtnPressedER6Cursor
0x0000000000000884 0x44 Obj/Camera.o
0x0000000000000884 _ZN6Camera16onDownBtnPressedER6Cursor
0x000000000000093e 0x44 Obj/Camera.o
0x000000000000093e _ZN6Camera16onDownBtnPressedER6Cursor
.text._ZNK6Camera8isLockedEv
0x00000000000008c8 0x6 Obj/Camera.o
0x00000000000008c8 _ZNK6Camera8isLockedEv
0x0000000000000982 0x6 Obj/Camera.o
0x0000000000000982 _ZNK6Camera8isLockedEv
.text._ZN8BaseUnitC2Ev
0x00000000000008ce 0x14 Obj/BaseUnit.o
0x00000000000008ce _ZN8BaseUnitC1Ev
0x00000000000008ce _ZN8BaseUnitC2Ev
0x0000000000000988 0x14 Obj/BaseUnit.o
0x0000000000000988 _ZN8BaseUnitC1Ev
0x0000000000000988 _ZN8BaseUnitC2Ev
.text._ZN8BaseUnit6createEjj
0x00000000000008e2 0x10 Obj/BaseUnit.o
0x00000000000008e2 _ZN8BaseUnit6createEjj
0x000000000000099c 0x10 Obj/BaseUnit.o
0x000000000000099c _ZN8BaseUnit6createEjj
.text._ZN8BaseUnit7handlerEv
0x00000000000008f2 0x2 Obj/BaseUnit.o
0x00000000000008f2 _ZN8BaseUnit7handlerEv
0x00000000000009ac 0x2 Obj/BaseUnit.o
0x00000000000009ac _ZN8BaseUnit7handlerEv
.text._ZN8BaseUnit11drawHandlerEPKh
0x00000000000009ae 0x2a Obj/BaseUnit.o
0x00000000000009ae _ZN8BaseUnit11drawHandlerEPKh
.text._ZN8BaseUnit7isAliveEv
0x00000000000009d8 0x6 Obj/BaseUnit.o
0x00000000000009d8 _ZN8BaseUnit7isAliveEv
.text._ZN8BaseUnit10isSelectedEv
0x00000000000009de 0x6 Obj/BaseUnit.o
0x00000000000009de _ZN8BaseUnit10isSelectedEv
.text._ZN8BaseUnit11setSelectedEb
0x00000000000009e4 0x6 Obj/BaseUnit.o
0x00000000000009e4 _ZN8BaseUnit11setSelectedEb
.text._ZN8BaseUnit4getXEv
0x00000000000009ea 0x8 Obj/BaseUnit.o
0x00000000000009ea _ZN8BaseUnit4getXEv
.text._ZN8BaseUnit4getYEv
0x00000000000009f2 0x8 Obj/BaseUnit.o
0x00000000000009f2 _ZN8BaseUnit4getYEv
.text._ZN4UnitC2ENS_7tUnitIDE
0x00000000000008f4 0x1e Obj/Unit.o
0x00000000000008f4 _ZN4UnitC2ENS_7tUnitIDE
0x00000000000008f4 _ZN4UnitC1ENS_7tUnitIDE
0x00000000000009fa 0x1e Obj/Unit.o
0x00000000000009fa _ZN4UnitC2ENS_7tUnitIDE
0x00000000000009fa _ZN4UnitC1ENS_7tUnitIDE
.text._ZN4Unit6createENS_7tUnitIDEjj
0x0000000000000912 0x5c Obj/Unit.o
0x0000000000000912 _ZN4Unit6createENS_7tUnitIDEjj
0x0000000000000a18 0x5c Obj/Unit.o
0x0000000000000a18 _ZN4Unit6createENS_7tUnitIDEjj
.text._ZN4Unit7handlerEv
0x000000000000096e 0x4 Obj/Unit.o
0x000000000000096e _ZN4Unit7handlerEv
0x0000000000000a74 0x4 Obj/Unit.o
0x0000000000000a74 _ZN4Unit7handlerEv
.text._ZN4Unit11drawHandlerEv
0x0000000000000972 0x88 Obj/Unit.o
0x0000000000000972 _ZN4Unit11drawHandlerEv
0x0000000000000a78 0x9a Obj/Unit.o
0x0000000000000a78 _ZN4Unit11drawHandlerEv
.text._ZL20MainMenuSinglePlayerv
0x00000000000009fa 0x9e Obj/Menu.o
0x0000000000000b12 0x9e Obj/Menu.o
.text._Z8MainMenuv
0x0000000000000a98 0x24 Obj/Menu.o
0x0000000000000a98 _Z8MainMenuv
0x0000000000000bb0 0x24 Obj/Menu.o
0x0000000000000bb0 _Z8MainMenuv
.text._ZN6CursorC2Ev
0x0000000000000abc 0xc Obj/Cursor.o
0x0000000000000abc _ZN6CursorC1Ev
0x0000000000000abc _ZN6CursorC2Ev
0x0000000000000bd4 0xc Obj/Cursor.o
0x0000000000000bd4 _ZN6CursorC1Ev
0x0000000000000bd4 _ZN6CursorC2Ev
.text._ZN6Cursor4moveEaa
0x0000000000000ac8 0x3c Obj/Cursor.o
0x0000000000000ac8 _ZN6Cursor4moveEaa
0x0000000000000be0 0x3c Obj/Cursor.o
0x0000000000000be0 _ZN6Cursor4moveEaa
.text._ZN6Cursor4getXEv
0x0000000000000b04 0x6 Obj/Cursor.o
0x0000000000000b04 _ZN6Cursor4getXEv
0x0000000000000c1c 0x6 Obj/Cursor.o
0x0000000000000c1c _ZN6Cursor4getXEv
.text._ZN6Cursor4getYEv
0x0000000000000b0a 0x6 Obj/Cursor.o
0x0000000000000b0a _ZN6Cursor4getYEv
0x0000000000000c22 0x6 Obj/Cursor.o
0x0000000000000c22 _ZN6Cursor4getYEv
.text._ZN6Cursor11isXCenteredEv
0x0000000000000b10 0xe Obj/Cursor.o
0x0000000000000b10 _ZN6Cursor11isXCenteredEv
0x0000000000000c28 0xe Obj/Cursor.o
0x0000000000000c28 _ZN6Cursor11isXCenteredEv
.text._ZN6Cursor11isYCenteredEv
0x0000000000000b1e 0x10 Obj/Cursor.o
0x0000000000000b1e _ZN6Cursor11isYCenteredEv
0x0000000000000c36 0x10 Obj/Cursor.o
0x0000000000000c36 _ZN6Cursor11isYCenteredEv
.text._ZN11HumanPlayer13onBBtnPressedEv
0x0000000000000b2e 0x2 Obj/HumanPlayerBtn.o
0x0000000000000b2e _ZN11HumanPlayer13onBBtnPressedEv
0x0000000000000c46 0x2 Obj/HumanPlayerBtn.o
0x0000000000000c46 _ZN11HumanPlayer13onBBtnPressedEv
.text._ZN11HumanPlayer14onABtnReleasedEv
0x0000000000000b30 0x2a Obj/HumanPlayerBtn.o
0x0000000000000b30 _ZN11HumanPlayer14onABtnReleasedEv
0x0000000000000c48 0x2a Obj/HumanPlayerBtn.o
0x0000000000000c48 _ZN11HumanPlayer14onABtnReleasedEv
.text._ZN11HumanPlayer13onABtnPressedEv
0x0000000000000b5a 0x1e Obj/HumanPlayerBtn.o
0x0000000000000b5a _ZN11HumanPlayer13onABtnPressedEv
0x0000000000000c72 0x3c Obj/HumanPlayerBtn.o
0x0000000000000c72 _ZN11HumanPlayer13onABtnPressedEv
.text._ZN11HumanPlayer26playerButtonPressedHandlerEj
0x0000000000000b78 0x50 Obj/HumanPlayerBtn.o
0x0000000000000b78 _ZN11HumanPlayer26playerButtonPressedHandlerEj
0x0000000000000cae 0x50 Obj/HumanPlayerBtn.o
0x0000000000000cae _ZN11HumanPlayer26playerButtonPressedHandlerEj
.text._ZN11HumanPlayer26cameraButtonPressedHandlerEj
0x0000000000000bc8 0xa0 Obj/HumanPlayerBtn.o
0x0000000000000bc8 _ZN11HumanPlayer26cameraButtonPressedHandlerEj
0x0000000000000cfe 0xa0 Obj/HumanPlayerBtn.o
0x0000000000000cfe _ZN11HumanPlayer26cameraButtonPressedHandlerEj
.text._ZN11HumanPlayer27playerButtonReleasedHandlerEj
0x0000000000000c68 0x50 Obj/HumanPlayerBtn.o
0x0000000000000c68 _ZN11HumanPlayer27playerButtonReleasedHandlerEj
0x0000000000000d9e 0x50 Obj/HumanPlayerBtn.o
0x0000000000000d9e _ZN11HumanPlayer27playerButtonReleasedHandlerEj
.text._ZN11HumanPlayer13buttonHandlerEv
0x0000000000000cb8 0x46 Obj/HumanPlayerBtn.o
0x0000000000000cb8 _ZN11HumanPlayer13buttonHandlerEv
0x0000000000000dee 0x46 Obj/HumanPlayerBtn.o
0x0000000000000dee _ZN11HumanPlayer13buttonHandlerEv
.text._ZN7Buttons5beginEv
0x0000000000000cfe 0x20 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000cfe _ZN7Buttons5beginEv
0x0000000000000e34 0x20 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000e34 _ZN7Buttons5beginEv
.text._ZN7Buttons6updateEv
0x0000000000000d1e 0x5a ../lib/libgamebuino.a(Buttons.o)
0x0000000000000d1e _ZN7Buttons6updateEv
0x0000000000000e54 0x5a ../lib/libgamebuino.a(Buttons.o)
0x0000000000000e54 _ZN7Buttons6updateEv
.text._ZN7Buttons7pressedEh
0x0000000000000d78 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000d78 _ZN7Buttons7pressedEh
0x0000000000000eae 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000eae _ZN7Buttons7pressedEh
.text._ZN7Buttons8releasedEh
0x0000000000000d8a 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000d8a _ZN7Buttons8releasedEh
0x0000000000000ec0 0x12 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000ec0 _ZN7Buttons8releasedEh
.text._ZN7Buttons6repeatEhh
0x0000000000000d9c 0x30 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000d9c _ZN7Buttons6repeatEhh
0x0000000000000ed2 0x30 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000ed2 _ZN7Buttons6repeatEhh
.text._ZN7Buttons8timeHeldEh
0x0000000000000dcc 0x10 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000dcc _ZN7Buttons8timeHeldEh
0x0000000000000f02 0x10 ../lib/libgamebuino.a(Buttons.o)
0x0000000000000f02 _ZN7Buttons8timeHeldEh
.text._ZN8SPIClass8transferEh
0x0000000000000ddc 0xc ../lib/libgamebuino.a(Display.o)
0x0000000000000ddc _ZN8SPIClass8transferEh
0x0000000000000f12 0xc ../lib/libgamebuino.a(Display.o)
0x0000000000000f12 _ZN8SPIClass8transferEh
.text._ZN7Display9drawPixelEaa
0x0000000000000de8 0xb8 ../lib/libgamebuino.a(Display.o)
0x0000000000000de8 _ZN7Display9drawPixelEaa
0x0000000000000f1e 0xb8 ../lib/libgamebuino.a(Display.o)
0x0000000000000f1e _ZN7Display9drawPixelEaa
.text._ZN7Display7commandEh
0x0000000000000ea0 0x3c ../lib/libgamebuino.a(Display.o)
0x0000000000000ea0 _ZN7Display7commandEh
0x0000000000000fd6 0x3c ../lib/libgamebuino.a(Display.o)
0x0000000000000fd6 _ZN7Display7commandEh
.text._ZN7Display5clearEv
0x0000000000000edc 0x22 ../lib/libgamebuino.a(Display.o)
0x0000000000000edc _ZN7Display5clearEv
0x0000000000001012 0x22 ../lib/libgamebuino.a(Display.o)
0x0000000000001012 _ZN7Display5clearEv
.text._ZN7Display6updateEv
0x0000000000000efe 0x8a ../lib/libgamebuino.a(Display.o)
0x0000000000000efe _ZN7Display6updateEv
0x0000000000001034 0x8a ../lib/libgamebuino.a(Display.o)
0x0000000000001034 _ZN7Display6updateEv
.text._ZN7Display8setColorEa
0x0000000000000f88 0x8 ../lib/libgamebuino.a(Display.o)
0x0000000000000f88 _ZN7Display8setColorEa
0x00000000000010be 0x8 ../lib/libgamebuino.a(Display.o)
0x00000000000010be _ZN7Display8setColorEa
.text._ZN7Display8setColorEaa
0x0000000000000f90 0x8 ../lib/libgamebuino.a(Display.o)
0x0000000000000f90 _ZN7Display8setColorEaa
0x00000000000010c6 0x8 ../lib/libgamebuino.a(Display.o)
0x00000000000010c6 _ZN7Display8setColorEaa
.text._ZN7Display13drawFastVLineEaaa
0x0000000000000f98 0x38 ../lib/libgamebuino.a(Display.o)
0x0000000000000f98 _ZN7Display13drawFastVLineEaaa
0x00000000000010ce 0x38 ../lib/libgamebuino.a(Display.o)
0x00000000000010ce _ZN7Display13drawFastVLineEaaa
.text._ZN7Display13drawFastHLineEaaa
0x0000000000000fd0 0x38 ../lib/libgamebuino.a(Display.o)
0x0000000000000fd0 _ZN7Display13drawFastHLineEaaa
0x0000000000001106 0x38 ../lib/libgamebuino.a(Display.o)
0x0000000000001106 _ZN7Display13drawFastHLineEaaa
.text._ZN7Display8drawRectEaaaa
0x0000000000001008 0x50 ../lib/libgamebuino.a(Display.o)
0x0000000000001008 _ZN7Display8drawRectEaaaa
0x000000000000113e 0x50 ../lib/libgamebuino.a(Display.o)
0x000000000000113e _ZN7Display8drawRectEaaaa
.text._ZN7Display8fillRectEaaaa
0x0000000000001058 0x52 ../lib/libgamebuino.a(Display.o)
0x0000000000001058 _ZN7Display8fillRectEaaaa
0x000000000000118e 0x52 ../lib/libgamebuino.a(Display.o)
0x000000000000118e _ZN7Display8fillRectEaaaa
.text._ZN7Display16drawCircleHelperEaaah
0x00000000000010aa 0xfc ../lib/libgamebuino.a(Display.o)
0x00000000000010aa _ZN7Display16drawCircleHelperEaaah
0x00000000000011e0 0xfc ../lib/libgamebuino.a(Display.o)
0x00000000000011e0 _ZN7Display16drawCircleHelperEaaah
.text._ZN7Display16fillCircleHelperEaaaha
0x00000000000011a6 0xcc ../lib/libgamebuino.a(Display.o)
0x00000000000011a6 _ZN7Display16fillCircleHelperEaaaha
0x00000000000012dc 0xcc ../lib/libgamebuino.a(Display.o)
0x00000000000012dc _ZN7Display16fillCircleHelperEaaaha
.text._ZN7Display13drawRoundRectEaaaaa
0x0000000000001272 0xbe ../lib/libgamebuino.a(Display.o)
0x0000000000001272 _ZN7Display13drawRoundRectEaaaaa
0x00000000000013a8 0xbe ../lib/libgamebuino.a(Display.o)
0x00000000000013a8 _ZN7Display13drawRoundRectEaaaaa
.text._ZN7Display13fillRoundRectEaaaaa
0x0000000000001330 0x6e ../lib/libgamebuino.a(Display.o)
0x0000000000001330 _ZN7Display13fillRoundRectEaaaaa
0x0000000000001466 0x6e ../lib/libgamebuino.a(Display.o)
0x0000000000001466 _ZN7Display13fillRoundRectEaaaaa
.text._ZN7Display10drawBitmapEaaPKh
0x000000000000139e 0x288 ../lib/libgamebuino.a(Display.o)
0x000000000000139e _ZN7Display10drawBitmapEaaPKh
0x00000000000014d4 0x288 ../lib/libgamebuino.a(Display.o)
0x00000000000014d4 _ZN7Display10drawBitmapEaaPKh
.text._ZN7Display7setFontEPKh
0x0000000000001626 0x28 ../lib/libgamebuino.a(Display.o)
0x0000000000001626 _ZN7Display7setFontEPKh
0x000000000000175c 0x28 ../lib/libgamebuino.a(Display.o)
0x000000000000175c _ZN7Display7setFontEPKh
.text._ZN7Display5beginEaaaaa
0x000000000000164e 0x180 ../lib/libgamebuino.a(Display.o)
0x000000000000164e _ZN7Display5beginEaaaaa
0x0000000000001784 0x180 ../lib/libgamebuino.a(Display.o)
0x0000000000001784 _ZN7Display5beginEaaaaa
.text._ZN7Display8drawCharEaahh
0x00000000000017ce 0x14a ../lib/libgamebuino.a(Display.o)
0x00000000000017ce _ZN7Display8drawCharEaahh
0x0000000000001904 0x14a ../lib/libgamebuino.a(Display.o)
0x0000000000001904 _ZN7Display8drawCharEaahh
.text._ZN7Display5writeEh
0x0000000000001918 0x66 ../lib/libgamebuino.a(Display.o)
0x0000000000001918 _ZN7Display5writeEh
0x0000000000001a4e 0x66 ../lib/libgamebuino.a(Display.o)
0x0000000000001a4e _ZN7Display5writeEh
.text._ZN9Gamebuino11updatePopupEv
0x000000000000197e 0xe0 ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000197e _ZN9Gamebuino11updatePopupEv
0x0000000000001ab4 0xe0 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001ab4 _ZN9Gamebuino11updatePopupEv
.text._ZN9Gamebuino14displayBatteryEv
0x0000000000001a5e 0x168 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001a5e _ZN9Gamebuino14displayBatteryEv
0x0000000000001b94 0x168 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001b94 _ZN9Gamebuino14displayBatteryEv
.text._ZN9Gamebuino6updateEv
0x0000000000001bc6 0x176 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001bc6 _ZN9Gamebuino6updateEv
0x0000000000001cfc 0x176 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001cfc _ZN9Gamebuino6updateEv
.text._ZN9Gamebuino4menuEPKPKch
0x0000000000001d3c 0x29c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001d3c _ZN9Gamebuino4menuEPKPKch
0x0000000000001e72 0x29c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001e72 _ZN9Gamebuino4menuEPKPKch
.text._ZN9Gamebuino10changeGameEv
0x0000000000001fd8 0x7a ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000001fd8 _ZN9Gamebuino10changeGameEv
0x000000000000210e 0x7a ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000210e _ZN9Gamebuino10changeGameEv
.text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
0x0000000000002052 0x27c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002052 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
0x0000000000002188 0x27c ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002188 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh
.text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
0x00000000000022ce 0x8 ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000022ce _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
0x0000000000002404 0x8 ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002404 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper
.text._ZN9Gamebuino17settingsAvailableEv
0x00000000000022d6 0x14 ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000022d6 _ZN9Gamebuino17settingsAvailableEv
0x000000000000240c 0x14 ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000240c _ZN9Gamebuino17settingsAvailableEv
.text._ZN9Gamebuino12readSettingsEv
0x00000000000022ea 0xde ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000022ea _ZN9Gamebuino12readSettingsEv
0x0000000000002420 0xde ../lib/libgamebuino.a(Gamebuino.o)
0x0000000000002420 _ZN9Gamebuino12readSettingsEv
.text._ZN9Gamebuino5beginEv
0x00000000000023c8 0xb6 ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000023c8 _ZN9Gamebuino5beginEv
0x00000000000024fe 0xb6 ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000024fe _ZN9Gamebuino5beginEv
.text._ZN9Gamebuino14getDefaultNameEPc
0x000000000000247e 0x2c ../lib/libgamebuino.a(Gamebuino.o)
0x000000000000247e _ZN9Gamebuino14getDefaultNameEPc
0x00000000000025b4 0x2c ../lib/libgamebuino.a(Gamebuino.o)
0x00000000000025b4 _ZN9Gamebuino14getDefaultNameEPc
.text._ZN5Sound7commandEhhah.part.0
0x00000000000024aa 0x74 ../lib/libgamebuino.a(Sound.o)
0x00000000000025e0 0x74 ../lib/libgamebuino.a(Sound.o)
.text._ZN5Sound5beginEv
0x000000000000251e 0x6a ../lib/libgamebuino.a(Sound.o)
0x000000000000251e _ZN5Sound5beginEv
0x0000000000002654 0x6a ../lib/libgamebuino.a(Sound.o)
0x0000000000002654 _ZN5Sound5beginEv
.text._ZN5Sound7commandEhhah
0x0000000000002588 0x62 ../lib/libgamebuino.a(Sound.o)
0x0000000000002588 _ZN5Sound7commandEhhah
0x00000000000026be 0x62 ../lib/libgamebuino.a(Sound.o)
0x00000000000026be _ZN5Sound7commandEhhah
.text._ZN5Sound8playNoteEhhh
0x00000000000025ea 0x24 ../lib/libgamebuino.a(Sound.o)
0x00000000000025ea _ZN5Sound8playNoteEhhh
0x0000000000002720 0x24 ../lib/libgamebuino.a(Sound.o)
0x0000000000002720 _ZN5Sound8playNoteEhhh
.text._ZN5Sound12updateOutputEv
0x000000000000260e 0x16 ../lib/libgamebuino.a(Sound.o)
0x000000000000260e _ZN5Sound12updateOutputEv
0x0000000000002744 0x16 ../lib/libgamebuino.a(Sound.o)
0x0000000000002744 _ZN5Sound12updateOutputEv
.text._ZN5Sound8stopNoteEh
0x0000000000002624 0x22 ../lib/libgamebuino.a(Sound.o)
0x0000000000002624 _ZN5Sound8stopNoteEh
0x000000000000275a 0x22 ../lib/libgamebuino.a(Sound.o)
0x000000000000275a _ZN5Sound8stopNoteEh
.text._ZN5Sound11stopPatternEh
0x0000000000002646 0x16 ../lib/libgamebuino.a(Sound.o)
0x0000000000002646 _ZN5Sound11stopPatternEh
0x000000000000277c 0x16 ../lib/libgamebuino.a(Sound.o)
0x000000000000277c _ZN5Sound11stopPatternEh
.text._ZN5Sound11playPatternEPKjh
0x000000000000265c 0x36 ../lib/libgamebuino.a(Sound.o)
0x000000000000265c _ZN5Sound11playPatternEPKjh
0x0000000000002792 0x36 ../lib/libgamebuino.a(Sound.o)
0x0000000000002792 _ZN5Sound11playPatternEPKjh
.text._ZN5Sound11updateTrackEh
0x0000000000002692 0x72 ../lib/libgamebuino.a(Sound.o)
0x0000000000002692 _ZN5Sound11updateTrackEh
0x00000000000027c8 0x72 ../lib/libgamebuino.a(Sound.o)
0x00000000000027c8 _ZN5Sound11updateTrackEh
.text._ZN5Sound11updateTrackEv
0x0000000000002704 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002704 _ZN5Sound11updateTrackEv
0x000000000000283a 0x6 ../lib/libgamebuino.a(Sound.o)
0x000000000000283a _ZN5Sound11updateTrackEv
.text._ZN5Sound11stopPatternEv
0x000000000000270a 0x6 ../lib/libgamebuino.a(Sound.o)
0x000000000000270a _ZN5Sound11stopPatternEv
0x0000000000002840 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002840 _ZN5Sound11stopPatternEv
.text._ZN5Sound13updatePatternEh
0x0000000000002710 0xcc ../lib/libgamebuino.a(Sound.o)
0x0000000000002710 _ZN5Sound13updatePatternEh
0x0000000000002846 0xcc ../lib/libgamebuino.a(Sound.o)
0x0000000000002846 _ZN5Sound13updatePatternEh
.text._ZN5Sound13updatePatternEv
0x00000000000027dc 0x6 ../lib/libgamebuino.a(Sound.o)
0x00000000000027dc _ZN5Sound13updatePatternEv
0x0000000000002912 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002912 _ZN5Sound13updatePatternEv
.text._ZN5Sound10updateNoteEh
0x00000000000027e2 0x184 ../lib/libgamebuino.a(Sound.o)
0x00000000000027e2 _ZN5Sound10updateNoteEh
0x0000000000002918 0x184 ../lib/libgamebuino.a(Sound.o)
0x0000000000002918 _ZN5Sound10updateNoteEh
.text._ZN5Sound10updateNoteEv
0x0000000000002966 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002966 _ZN5Sound10updateNoteEv
0x0000000000002a9c 0x6 ../lib/libgamebuino.a(Sound.o)
0x0000000000002a9c _ZN5Sound10updateNoteEv
.text._ZN5Sound14generateOutputEv
0x000000000000296c 0x54 ../lib/libgamebuino.a(Sound.o)
0x000000000000296c _ZN5Sound14generateOutputEv
0x0000000000002aa2 0x54 ../lib/libgamebuino.a(Sound.o)
0x0000000000002aa2 _ZN5Sound14generateOutputEv
.text.__vector_11
0x00000000000029c0 0x48 ../lib/libgamebuino.a(Sound.o)
0x00000000000029c0 __vector_11
0x0000000000002af6 0x48 ../lib/libgamebuino.a(Sound.o)
0x0000000000002af6 __vector_11
.text._ZN5Sound6playOKEv
0x0000000000002a08 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002a08 _ZN5Sound6playOKEv
0x0000000000002b3e 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b3e _ZN5Sound6playOKEv
.text._ZN5Sound10playCancelEv
0x0000000000002a34 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002a34 _ZN5Sound10playCancelEv
0x0000000000002b6a 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b6a _ZN5Sound10playCancelEv
.text._ZN5Sound8playTickEv
0x0000000000002a60 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002a60 _ZN5Sound8playTickEv
0x0000000000002b96 0x2c ../lib/libgamebuino.a(Sound.o)
0x0000000000002b96 _ZN5Sound8playTickEv
.text._ZN5Sound9setVolumeEa
0x0000000000002a8c 0x1c ../lib/libgamebuino.a(Sound.o)
0x0000000000002a8c _ZN5Sound9setVolumeEa
0x0000000000002bc2 0x1c ../lib/libgamebuino.a(Sound.o)
0x0000000000002bc2 _ZN5Sound9setVolumeEa
.text._ZN9Backlight5beginEv
0x0000000000002aa8 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002aa8 _ZN9Backlight5beginEv
0x0000000000002bde 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002bde _ZN9Backlight5beginEv
.text._ZN9Backlight3setEh
0x0000000000002ab0 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002ab0 _ZN9Backlight3setEh
0x0000000000002be6 0x8 ../lib/libgamebuino.a(Backlight.o)
0x0000000000002be6 _ZN9Backlight3setEh
.text._ZN9Backlight6updateEv
0x0000000000002ab8 0xbe ../lib/libgamebuino.a(Backlight.o)
0x0000000000002ab8 _ZN9Backlight6updateEv
0x0000000000002bee 0xbe ../lib/libgamebuino.a(Backlight.o)
0x0000000000002bee _ZN9Backlight6updateEv
.text._ZN7Battery5beginEv
0x0000000000002b76 0x14 ../lib/libgamebuino.a(Battery.o)
0x0000000000002b76 _ZN7Battery5beginEv
0x0000000000002cac 0x14 ../lib/libgamebuino.a(Battery.o)
0x0000000000002cac _ZN7Battery5beginEv
.text._ZN7Battery6updateEv
0x0000000000002b8a 0x72 ../lib/libgamebuino.a(Battery.o)
0x0000000000002b8a _ZN7Battery6updateEv
0x0000000000002cc0 0x72 ../lib/libgamebuino.a(Battery.o)
0x0000000000002cc0 _ZN7Battery6updateEv
.text.__vector_16
0x0000000000002bfc 0x94 ../lib/libarduino.a(wiring.o)
0x0000000000002bfc __vector_16
.text.millis 0x0000000000002c90 0x18 ../lib/libarduino.a(wiring.o)
0x0000000000002c90 millis
.text.micros 0x0000000000002ca8 0x4a ../lib/libarduino.a(wiring.o)
0x0000000000002ca8 micros
.text.delay 0x0000000000002cf2 0x4c ../lib/libarduino.a(wiring.o)
0x0000000000002cf2 delay
.text.init 0x0000000000002d3e 0x76 ../lib/libarduino.a(wiring.o)
0x0000000000002d3e init
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
.text.analogRead
0x0000000000002db4 0x3a ../lib/libarduino.a(wiring_analog.o)
0x0000000000002db4 analogRead
0x0000000000002eea 0x3a ../lib/libarduino.a(wiring_analog.o)
0x0000000000002eea analogRead
.text.analogWrite
0x0000000000002dee 0xbe ../lib/libarduino.a(wiring_analog.o)
0x0000000000002dee analogWrite
0x0000000000002f24 0xbe ../lib/libarduino.a(wiring_analog.o)
0x0000000000002f24 analogWrite
.text.turnOffPWM
0x0000000000002eac 0x52 ../lib/libarduino.a(wiring_digital.o)
.text.pinMode 0x0000000000002efe 0x78 ../lib/libarduino.a(wiring_digital.o)
0x0000000000002efe pinMode
0x0000000000002fe2 0x52 ../lib/libarduino.a(wiring_digital.o)
.text.pinMode 0x0000000000003034 0x78 ../lib/libarduino.a(wiring_digital.o)
0x0000000000003034 pinMode
.text.digitalWrite
0x0000000000002f76 0x5e ../lib/libarduino.a(wiring_digital.o)
0x0000000000002f76 digitalWrite
0x00000000000030ac 0x5e ../lib/libarduino.a(wiring_digital.o)
0x00000000000030ac digitalWrite
.text.digitalRead
0x0000000000002fd4 0x52 ../lib/libarduino.a(wiring_digital.o)
0x0000000000002fd4 digitalRead
0x000000000000310a 0x52 ../lib/libarduino.a(wiring_digital.o)
0x000000000000310a digitalRead
.text._ZN5Print5writeEPKhj
0x0000000000003026 0x50 ../lib/libarduino.a(Print.o)
0x0000000000003026 _ZN5Print5writeEPKhj
0x000000000000315c 0x50 ../lib/libarduino.a(Print.o)
0x000000000000315c _ZN5Print5writeEPKhj
.text._ZN5Print5writeEPKc
0x0000000000003076 0x2a ../lib/libarduino.a(Print.o)
0x0000000000003076 _ZN5Print5writeEPKc
0x00000000000031ac 0x2a ../lib/libarduino.a(Print.o)
0x00000000000031ac _ZN5Print5writeEPKc
.text._ZN5Print5printEPK19__FlashStringHelper
0x00000000000030a0 0x46 ../lib/libarduino.a(Print.o)
0x00000000000030a0 _ZN5Print5printEPK19__FlashStringHelper
0x00000000000031d6 0x46 ../lib/libarduino.a(Print.o)
0x00000000000031d6 _ZN5Print5printEPK19__FlashStringHelper
.text._ZN5Print5printEc
0x00000000000030e6 0xe ../lib/libarduino.a(Print.o)
0x00000000000030e6 _ZN5Print5printEc
0x000000000000321c 0xe ../lib/libarduino.a(Print.o)
0x000000000000321c _ZN5Print5printEc
.text._ZN5Print7printlnEv
0x00000000000030f4 0x28 ../lib/libarduino.a(Print.o)
0x00000000000030f4 _ZN5Print7printlnEv
0x000000000000322a 0x28 ../lib/libarduino.a(Print.o)
0x000000000000322a _ZN5Print7printlnEv
.text._ZN5Print7printlnEPK19__FlashStringHelper
0x000000000000311c 0x24 ../lib/libarduino.a(Print.o)
0x000000000000311c _ZN5Print7printlnEPK19__FlashStringHelper
0x0000000000003252 0x24 ../lib/libarduino.a(Print.o)
0x0000000000003252 _ZN5Print7printlnEPK19__FlashStringHelper
.text._ZN5Print11printNumberEmh
0x0000000000003140 0xac ../lib/libarduino.a(Print.o)
0x0000000000003140 _ZN5Print11printNumberEmh
0x0000000000003276 0xac ../lib/libarduino.a(Print.o)
0x0000000000003276 _ZN5Print11printNumberEmh
.text._ZN5Print5printEmi
0x00000000000031ec 0x1a ../lib/libarduino.a(Print.o)
0x00000000000031ec _ZN5Print5printEmi
0x0000000000003322 0x1a ../lib/libarduino.a(Print.o)
0x0000000000003322 _ZN5Print5printEmi
.text._ZN5Print5printEji
0x0000000000003206 0xc ../lib/libarduino.a(Print.o)
0x0000000000003206 _ZN5Print5printEji
0x000000000000333c 0xc ../lib/libarduino.a(Print.o)
0x000000000000333c _ZN5Print5printEji
.text._ZN5Print5printEli
0x0000000000003212 0x90 ../lib/libarduino.a(Print.o)
0x0000000000003212 _ZN5Print5printEli
0x0000000000003348 0x90 ../lib/libarduino.a(Print.o)
0x0000000000003348 _ZN5Print5printEli
.text._ZN5Print5printEii
0x00000000000032a2 0xe ../lib/libarduino.a(Print.o)
0x00000000000032a2 _ZN5Print5printEii
0x00000000000033d8 0xe ../lib/libarduino.a(Print.o)
0x00000000000033d8 _ZN5Print5printEii
.text._Z3maplllll
0x00000000000032b0 0x82 ../lib/libarduino.a(WMath.o)
0x00000000000032b0 _Z3maplllll
0x00000000000033e6 0x82 ../lib/libarduino.a(WMath.o)
0x00000000000033e6 _Z3maplllll
.text.__cxa_pure_virtual
0x0000000000003332 0x2 ../lib/libarduino.a(forward.o)
0x0000000000003332 __cxa_pure_virtual
0x0000000000003468 0x2 ../lib/libarduino.a(forward.o)
0x0000000000003468 __cxa_pure_virtual
.text._ZN8SPIClass5beginEv
0x0000000000003334 0x2c ../lib/libarduino.a(SPI.o)
0x0000000000003334 _ZN8SPIClass5beginEv
0x000000000000346a 0x2c ../lib/libarduino.a(SPI.o)
0x000000000000346a _ZN8SPIClass5beginEv
.text._ZN8SPIClass11setBitOrderEh
0x0000000000003360 0x12 ../lib/libarduino.a(SPI.o)
0x0000000000003360 _ZN8SPIClass11setBitOrderEh
0x0000000000003496 0x12 ../lib/libarduino.a(SPI.o)
0x0000000000003496 _ZN8SPIClass11setBitOrderEh
.text._ZN8SPIClass11setDataModeEh
0x0000000000003372 0xa ../lib/libarduino.a(SPI.o)
0x0000000000003372 _ZN8SPIClass11setDataModeEh
0x00000000000034a8 0xa ../lib/libarduino.a(SPI.o)
0x00000000000034a8 _ZN8SPIClass11setDataModeEh
.text._ZN8SPIClass15setClockDividerEh
0x000000000000337c 0x1e ../lib/libarduino.a(SPI.o)
0x000000000000337c _ZN8SPIClass15setClockDividerEh
0x00000000000034b2 0x1e ../lib/libarduino.a(SPI.o)
0x00000000000034b2 _ZN8SPIClass15setClockDividerEh
.text.libgcc.mul
0x000000000000339a 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o)
0x000000000000339a __mulsi3
0x00000000000034d0 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o)
0x00000000000034d0 __mulsi3
.text.libgcc.div
0x00000000000033ba 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o)
0x00000000000033ba __udivmodqi4
0x00000000000034f0 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o)
0x00000000000034f0 __udivmodqi4
.text.libgcc.div
0x00000000000033d2 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o)
0x00000000000033d2 __udivmodhi4
0x0000000000003508 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o)
0x0000000000003508 __udivmodhi4
.text.libgcc.div
0x00000000000033fa 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o)
0x00000000000033fa __divmodhi4
0x00000000000033fa _div
0x0000000000003530 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o)
0x0000000000003530 __divmodhi4
0x0000000000003530 _div
.text.libgcc.div
0x0000000000003422 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o)
0x0000000000003422 __udivmodsi4
0x0000000000003558 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o)
0x0000000000003558 __udivmodsi4
.text.libgcc.div
0x0000000000003466 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o)
0x0000000000003466 __divmodsi4
0x000000000000359c 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o)
0x000000000000359c __divmodsi4
.text.libgcc.div
0x0000000000003494 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o)
0x0000000000003494 __negsi2
0x00000000000035ca 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o)
0x00000000000035ca __negsi2
.text.libgcc.mul
0x00000000000034a4 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o)
0x00000000000034a4 __muluhisi3
.text.libgcc 0x00000000000034ba 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o)
0x00000000000034ba __tablejump2__
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__
.text.libgcc.mul
0x00000000000034c6 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o)
0x00000000000034c6 __umulhisi3
0x00000000000035fc 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o)
0x00000000000035fc __umulhisi3
.text.avr-libc.fplib
0x00000000000034e4 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
0x00000000000034e4 __fixunssfsi
0x000000000000361a 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o)
0x000000000000361a __fixunssfsi
.text.avr-libc.fplib
0x0000000000003542 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o)
0x0000000000003542 __floatunsisf
0x0000000000003546 __floatsisf
0x0000000000003678 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o)
0x0000000000003678 __floatunsisf
0x000000000000367c __floatsisf
.text.avr-libc.fplib
0x00000000000035bc 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o)
0x00000000000035bc __fp_inf
0x00000000000036f2 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o)
0x00000000000036f2 __fp_inf
.text.avr-libc.fplib
0x00000000000035c8 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o)
0x00000000000035c8 __fp_nan
0x00000000000036fe 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o)
0x00000000000036fe __fp_nan
.text.avr-libc.fplib
0x00000000000035ce 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o)
0x00000000000035ce __fp_pscA
0x0000000000003704 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o)
0x0000000000003704 __fp_pscA
.text.avr-libc.fplib
0x00000000000035dc 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o)
0x00000000000035dc __fp_pscB
0x0000000000003712 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o)
0x0000000000003712 __fp_pscB
.text.avr-libc.fplib
0x00000000000035ea 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o)
0x00000000000035ea __fp_round
0x0000000000003720 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o)
0x0000000000003720 __fp_round
.text.avr-libc.fplib
0x000000000000360c 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o)
0x000000000000360c __fp_split3
0x000000000000361c __fp_splitA
0x0000000000003742 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o)
0x0000000000003742 __fp_split3
0x0000000000003752 __fp_splitA
.text.avr-libc.fplib
0x0000000000003650 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o)
0x0000000000003650 __fp_zero
0x0000000000003652 __fp_szero
0x0000000000003786 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o)
0x0000000000003786 __fp_zero
0x0000000000003788 __fp_szero
.text.avr-libc.fplib
0x000000000000365e 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o)
0x000000000000365e __mulsf3
0x0000000000003794 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o)
0x0000000000003794 __mulsf3
.text.avr-libc.fplib
0x0000000000003666 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o)
0x0000000000003684 __mulsf3x
0x000000000000368a __mulsf3_pse
0x000000000000379c 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o)
0x00000000000037ba __mulsf3x
0x00000000000037c0 __mulsf3_pse
.text.avr-libc
0x0000000000003738 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o)
0x0000000000003738 memset
0x000000000000386e 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o)
0x000000000000386e memset
.text.avr-libc
0x0000000000003746 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o)
0x0000000000003746 strncpy
0x0000000000003764 . = ALIGN (0x2)
0x000000000000387c 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o)
0x000000000000387c strncpy
0x000000000000389a . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000000000003764 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
0x0000000000003764 exit
0x0000000000003764 _exit
.fini9 0x000000000000389a 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
0x000000000000389a exit
0x000000000000389a _exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -1810,11 +1831,11 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000000000003764 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
.fini0 0x000000000000389a 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o)
*(.fini0)
0x0000000000003768 _etext = .
0x000000000000389e _etext = .
.data 0x0000000000800100 0x74 load address 0x0000000000003768
.data 0x0000000000800100 0x74 load address 0x000000000000389e
0x0000000000800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
@ -1887,8 +1908,8 @@ END GROUP
0x0000000000800408 timer0_overflow_count
*(COMMON)
0x000000000080040c PROVIDE (__bss_end, .)
0x0000000000003768 __data_load_start = LOADADDR (.data)
0x00000000000037dc __data_load_end = (__data_load_start + SIZEOF (.data))
0x000000000000389e __data_load_start = LOADADDR (.data)
0x0000000000003912 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x000000000080040c 0x0
[!provide] PROVIDE (__noinit_start, .)

View File

@ -61,9 +61,9 @@ static const PROGMEM uint8_t au8MouseSprData[] =
*********************************************************************/
HumanPlayer::HumanPlayer(const char* const strPlayerName, const Camera& cam) :
Player(strPlayerName),
_eState(PLAYER_STATE_IDLE),
_cam(cam),
_ABtnFrames(0),
_eState(PLAYER_STATE_IDLE)
_ABtnFrames(0)
{
_unitsMap[0].create(Unit::UNIT_ID_PEASANT, 16, 16);
}
@ -121,7 +121,7 @@ void HumanPlayer::drawHandler(void)
* \see \ref tPlayerState.
*
*********************************************************************/
enum tPlayerState HumanPlayer::selectUnit(void)
enum HumanPlayer::tPlayerState HumanPlayer::selectUnit(void)
{
for (size_t szUnit = 0; szUnit < MAX_UNITS; szUnit++)
{
@ -132,10 +132,42 @@ enum tPlayerState HumanPlayer::selectUnit(void)
{
if (not u.isSelected())
{
enum
{
/* Maximum distance, in pixels,
* between unit and cursor
* in order to select a unit. */
MAX_SELECTION_DISTANCE = 8
};
/* Extract Unit object X position. */
const uint16_t x = u.getX();
#error ("TODO")
/* Extract Unit object Y position. */
const uint16_t y = u.getY();
/* Extract cursor X. */
const uint16_t cx = _cursor.getX();
/* Extract cursor Y. */
const uint16_t cy = _cursor.getY();
/* Calculate X distance between cursor and unit. */
const uint16_t x_dist = (uint16_t)abs((int)x - (int)cx);
/* Calculate Y distance between cursor and unit. */
const uint16_t y_dist = (uint16_t)abs((int)y - (int)cy);
if ((x_dist < MAX_SELECTION_DISTANCE)
&&
(y_dist < MAX_SELECTION_DISTANCE))
{
/* Select unit. */
u.setSelected(true);
/* Player has entered unit selection mode. */
return PLAYER_STATE_UNIT_SELECTED;
}
}
else
{
@ -147,4 +179,6 @@ enum tPlayerState HumanPlayer::selectUnit(void)
/* Unit is not alive. Continue. */
}
}
return PLAYER_STATE_IDLE;
}

View File

@ -28,7 +28,7 @@ long_line_behaviour=1
long_line_column=120
[files]
current_page=36
current_page=33
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_2=549;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.cpp;0;4
@ -38,35 +38,31 @@ FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.
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=1689;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4
FILE_NAME_9=1115;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=1129;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4
FILE_NAME_15=1743;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.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_16=575;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.h;0;4
FILE_NAME_17=2863;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.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_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=3082;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4
FILE_NAME_25=1289;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4
FILE_NAME_26=1511;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4
FILE_NAME_27=1197;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4
FILE_NAME_28=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBarracksSpr.i;0;4
FILE_NAME_29=937;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMouseSpr.i;0;4
FILE_NAME_30=225;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPeasantSpr.i;0;4
FILE_NAME_31=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSoldierSpr.i;0;4
FILE_NAME_32=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTowerSpr.i;0;4
FILE_NAME_33=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4
FILE_NAME_34=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4
FILE_NAME_35=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4
FILE_NAME_36=3994;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4
FILE_NAME_37=6419;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.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_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_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
[VTE]
last_dir=/home/xavier/PocketEmpires/src

View File

@ -48,7 +48,7 @@ const Camera* _cam;
* Sprite rotation. Default value is NOROT.
*
*********************************************************************/
Sprite::Sprite(const uint8_t* pu8SprData, const bool followCam, const uint8_t u8Colour, const uint8_t rotation) :
Sprite::Sprite(const uint8_t* const pu8SprData, const bool followCam, const uint8_t u8Colour, const uint8_t rotation) :
_pu8SprData(pu8SprData),
_followCam(followCam),
_colour(u8Colour),

View File

@ -34,7 +34,7 @@ extern const Camera* _cam;
class Sprite
{
public:
Sprite( const uint8_t* pu8SprData,
Sprite( const uint8_t* const pu8SprData,
const bool followCam = true,
const uint8_t u8Colour = BLACK,
const uint8_t rotation = NOFLIP);

View File

@ -128,6 +128,8 @@ void Unit::drawHandler(void)
spr.setPos(_x, _y);
spr.draw();
BaseUnit::drawHandler(pu8UnitSpriteData);
}
else
{