From ff1a51c6eef55d2d3103198cb600cc1792df1658 Mon Sep 17 00:00:00 2001 From: nsubiron Date: Wed, 22 Mar 2017 16:19:11 +0100 Subject: [PATCH] Some fixes --- Source/Carla/Game/CarlaGameController.cpp | 7 +++---- Source/CarlaServer/source/carla/CarlaServer.cpp | 8 ++++---- Source/CarlaServer/source/carla/CarlaServer.h | 2 +- Source/CarlaServer/source/test/async_server.cpp | 10 +++++----- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/Source/Carla/Game/CarlaGameController.cpp b/Source/Carla/Game/CarlaGameController.cpp index 618b9132f..c1ae1c015 100644 --- a/Source/Carla/Game/CarlaGameController.cpp +++ b/Source/Carla/Game/CarlaGameController.cpp @@ -153,12 +153,11 @@ APlayerStart *CarlaGameController::ChoosePlayerStart( RestartLevel(true); } } - uint32 StartIndex; - if (SendAndReadSceneValues(*Server, AvailableStartSpots, StartIndex)) { - return AvailableStartSpots[StartIndex]; - } else { + uint32 StartIndex = 0u; + if (!SendAndReadSceneValues(*Server, AvailableStartSpots, StartIndex)) { RestartLevel(true); } + return AvailableStartSpots[StartIndex]; } void CarlaGameController::RegisterPlayer(AController &NewPlayer) diff --git a/Source/CarlaServer/source/carla/CarlaServer.cpp b/Source/CarlaServer/source/carla/CarlaServer.cpp index ebc2012cf..a4d8ade71 100644 --- a/Source/CarlaServer/source/carla/CarlaServer.cpp +++ b/Source/CarlaServer/source/carla/CarlaServer.cpp @@ -14,7 +14,7 @@ namespace carla { _pimpl(std::make_unique(worldPort, writePort, readPort)) {} CarlaServer::~CarlaServer() {} - + void CarlaServer::init(uint32_t LevelCount) { _pimpl->sendWorld(static_cast(Mode::NUMBER_OF_MODES), LevelCount); } @@ -30,8 +30,8 @@ namespace carla { bool CarlaServer::tryReadControl(float &steer, float &throttle) { return _pimpl->tryReadControl(steer, throttle); } - - bool CarlaServer::tryReadRequestNewEpisode(){ + + bool CarlaServer::newEpisodeRequested() { return _pimpl->tryReadRequestNewEpisode(); } @@ -45,7 +45,7 @@ namespace carla { if (needsRestart()) return false; _pimpl->sendSceneValues(values); return true; - } + } bool CarlaServer::sendEndReset() { if (needsRestart()) return false; diff --git a/Source/CarlaServer/source/carla/CarlaServer.h b/Source/CarlaServer/source/carla/CarlaServer.h index 546e5a25d..0673b3679 100644 --- a/Source/CarlaServer/source/carla/CarlaServer.h +++ b/Source/CarlaServer/source/carla/CarlaServer.h @@ -108,7 +108,7 @@ namespace carla { /// is empty. bool tryReadControl(float &steer, float &throttle); - bool tryReadRequestNewEpisode(); + bool newEpisodeRequested(); /// Send values of the current player status. bool sendReward(const Reward_Values &values); diff --git a/Source/CarlaServer/source/test/async_server.cpp b/Source/CarlaServer/source/test/async_server.cpp index 4db408cf2..71e66c2cb 100644 --- a/Source/CarlaServer/source/test/async_server.cpp +++ b/Source/CarlaServer/source/test/async_server.cpp @@ -38,7 +38,7 @@ static std::vector makeImage(uint32_t width, uint32_t height) { img[4 * width * i + 4 * e + 3] = 255; } } - + std::vector image(width * height); size_t i = 0u; for (carla::Color &color : image) { @@ -96,7 +96,7 @@ int main(int argc, char *argv[]) { { carla::Mode mode; uint32_t scene; - + while(!server.needsRestart() && !server.tryReadSceneInit(mode, scene)); std::cout << "Received: mode = " @@ -107,7 +107,7 @@ int main(int argc, char *argv[]) { carla::Scene_Values sceneValues; - + sceneValues.possible_positions.push_back({0.0f, 0.0f}); sceneValues.possible_positions.push_back({1.0f, 2.0f}); sceneValues.possible_positions.push_back({3.0f, 4.0f}); @@ -127,13 +127,13 @@ int main(int argc, char *argv[]) { while (!server.needsRestart() && !server.tryReadEpisodeStart(start, end)); std::cout << "Received: startIndex = " << start << ", endIndex = " << end << std::endl; - + server.sendEndReset(); while (!server.needsRestart()) { float steer, gas; uint32_t startPoint, endPoint; - if (server.tryReadRequestNewEpisode()){ + if (server.newEpisodeRequested()){ std::cout << "-------- RESET --------" << std::endl; server.sendSceneValues(sceneValues); while (!server.needsRestart() && !server.tryReadEpisodeStart(startPoint, endPoint));