diff options
Diffstat (limited to 'pacman-c++/mainwidget.cpp')
| -rw-r--r-- | pacman-c++/mainwidget.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index d441607..9507e85 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp | |||
| @@ -146,26 +146,24 @@ Transmission::field_t MainWidget::translateKey(int key) | |||
| 146 | 146 | ||
| 147 | void MainWidget::tick() | 147 | void MainWidget::tick() |
| 148 | { | 148 | { |
| 149 | //TODO: allocate + reuse packet | ||
| 150 | QSharedPointer<QByteArray> data = Util::receivePacket(m_socket); | 149 | QSharedPointer<QByteArray> data = Util::receivePacket(m_socket); |
| 151 | ProtoBuf::MapUpdate packet; | 150 | bool worked = m_updatepacket.ParseFromArray(data->data(), data->size()); |
| 152 | bool worked = packet.ParseFromArray(data->data(), data->size()); | ||
| 153 | Q_ASSERT(worked); | 151 | Q_ASSERT(worked); |
| 154 | Q_UNUSED(worked); | 152 | Q_UNUSED(worked); |
| 155 | Transmission::map_t map = Util::createUninitialisedMap(); | 153 | Transmission::map_t map = Util::createUninitialisedMap(); |
| 156 | Q_ASSERT(packet.field_size() == (int) (Constants::map_size.width * Constants::map_size.height)); | 154 | Q_ASSERT(m_updatepacket.field_size() == (int) (Constants::map_size.width * Constants::map_size.height)); |
| 157 | int i = 0; | 155 | int i = 0; |
| 158 | for (unsigned int x = 0; x < Constants::map_size.width; ++x) | 156 | for (unsigned int x = 0; x < Constants::map_size.width; ++x) |
| 159 | { | 157 | { |
| 160 | for (unsigned int y = 0; y < Constants::map_size.height; ++y) | 158 | for (unsigned int y = 0; y < Constants::map_size.height; ++y) |
| 161 | { | 159 | { |
| 162 | map[x][y] = packet.field(i); | 160 | map[x][y] = m_updatepacket.field(i); |
| 163 | ++i; | 161 | ++i; |
| 164 | } | 162 | } |
| 165 | } | 163 | } |
| 166 | m_scene->updateMap(map); | 164 | m_scene->updateMap(map); |
| 167 | Util::deleteMap(map); | 165 | Util::deleteMap(map); |
| 168 | updateScore(packet); | 166 | updateScore(m_updatepacket); |
| 169 | 167 | ||
| 170 | if (m_socket->bytesAvailable() > (qint64)sizeof(qint64)) | 168 | if (m_socket->bytesAvailable() > (qint64)sizeof(qint64)) |
| 171 | tick(); | 169 | tick(); |
