Skip to content

Commit fc8fc2b

Browse files
authored
Merge pull request #56 from G-Epitech/rtp-52-create-in-game-scene
RTP-52 - Create in game scene
2 parents 07e09ea + 9dd8a9d commit fc8fc2b

28 files changed

Lines changed: 170 additions & 81 deletions

File tree

client/main.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
using namespace rtype::client;
1111

1212
#if (defined(_WIN32) && !defined(DEBUG))
13-
#define MAIN WinMain
13+
#include <windows.h>
14+
#define MAIN \
15+
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
1416
#else
15-
#define MAIN main
17+
#define MAIN main()
1618
#endif
1719

18-
int MAIN() {
20+
int MAIN {
1921
try {
2022
App app;
2123

client/src/scenes/lobby.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void SceneLobby::JoinLobby() {
104104
status_ = LobbyStatus::kFailed;
105105
return;
106106
}
107-
usleep(1200000);
107+
std::this_thread::sleep_for(std::chrono::milliseconds(1200));
108108
status_ = LobbyStatus::kRegistered;
109109
mainMessage_ = "Joining the lobby";
110110
secondaryMessage_ = "Please wait...";
@@ -117,7 +117,7 @@ void SceneLobby::JoinLobby() {
117117
}
118118
mainMessage_ = "Success";
119119
secondaryMessage_ = "You are now in the lobby. The game will start soon";
120-
usleep(1200000);
120+
std::this_thread::sleep_for(std::chrono::milliseconds(1200));
121121
status_ = LobbyStatus::kIn;
122122
}
123123

client/src/systems/background.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ void BackgroundSystem::SpawnStar(const std::shared_ptr<Registry>& r) {
6464

6565
r->AddComponent<Position>(entity, {Vector3f{randomX, randomY, 0}});
6666
r->AddComponent<Tags>(entity, Tags({"background"}));
67-
r->AddComponent<Drawable>(entity, {Rectangle{
67+
r->AddComponent<Drawable>(entity, {components::Rectangle{
6868
.color = sf::Color::White,
6969
.size = {randomSize, randomSize},
7070
}});

client/src/systems/game/sync.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ void GameSyncSystem::CreatePlayer(const std::shared_ptr<Registry>& registry, con
4242
core::components::VerticalAlign::kTop}});
4343
registry->AddComponent<components::Drawable>(
4444
player, {
45-
.drawable = components::Texture{.name = "player", .scale = 3, .rect = base},
45+
.drawable = components::Texture{.name = "player", .scale = 5, .rect = base},
4646
});
47+
48+
std::cout << "Player created" << std::endl;
4749
players_.insert_or_assign(id, player);
4850
}
4951

@@ -113,7 +115,7 @@ void GameSyncSystem::CreateEnemy(const std::shared_ptr<Registry>& registry, cons
113115

114116
void GameSyncSystem::UpdateEnemy(const std::shared_ptr<Registry>& registry, const std::size_t& id,
115117
const zygarde::core::types::Vector3f& pos) {
116-
auto enemy = players_.at(id);
118+
auto enemy = enemies_.at(id);
117119
auto positions = registry->GetComponents<zygarde::core::components::Position>();
118120
auto entity_id = static_cast<std::size_t>(enemy);
119121

libs/abra/src/client/udp/client_udp.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ void ClientUDP::Close() {
6464

6565
this->logger_.Info("Closing session");
6666

67-
this->socket_.shutdown(ip::udp::socket::shutdown_both);
6867
try {
6968
this->socket_.shutdown(ip::udp::socket::shutdown_both);
7069
} catch (const std::exception &e) {

libs/abra/src/server/udp/server_udp.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ void ServerUDP::ResolveBuffer(std::vector<char> *buffer, std::size_t len) {
8787

8888
void ServerUDP::StoreMessage(std::shared_ptr<tools::dynamic_bitset> bitset) {
8989
ClientUDPMessage message = {this->remoteEndpoint_,
90-
tools::PacketUtils::ExportMessageIdFromBitset(bitset),
91-
tools::PacketUtils::ExportMessageTypeFromBitset(bitset), bitset};
90+
tools::PacketUtils::ExportMessageTypeFromBitset(bitset),
91+
tools::PacketUtils::ExportMessageIdFromBitset(bitset), bitset};
9292

9393
this->mutex_.lock();
9494
queue_.push(message);

libs/abra/src/server/udp/server_udp.tpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ abra::server::ServerUDP::Send(const std::unique_ptr<abra::tools::Packet<T>> &pac
1515
const auto vector = bitset->GetVector();
1616
auto status = abra::tools::SendMessageStatus::kSuccess;
1717

18-
// debug endpoint
19-
std::cout << endpoint.address().to_string() << ":" << endpoint.port() << std::endl;
20-
2118
try {
2219
std::size_t len = this->socket_.send_to(boost::asio::buffer(vector, vector.size()), endpoint);
2320

libs/abra/src/tools/packet/packet_builder.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ void tools::PacketBuilder::SetHeaderFromBitset(const std::shared_ptr<dynamic_bit
9898

9999
this->header_.payloadLength = payloadLength;
100100
this->header_.payloadType = payloadType;
101+
this->header_.offsetFlag = offsetFlag;
102+
this->header_.turnFlag = turnFlag;
101103
}
102104

103105
void tools::PacketBuilder::SetMessageFromBitset(const std::shared_ptr<dynamic_bitset> &bitset,

libs/abra/tests/tools/bitset_test.cpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,44 @@ TEST(BitsetTest, ConvertBitsetToPacket) {
6464
EXPECT_EQ(convertedPayload.b, payload.b);
6565
EXPECT_EQ(convertedPayload.c, payload.c);
6666
}
67+
68+
TEST(BitsetTest, SuspiciousPacket) {
69+
tools::PacketBuilder packetBuilder;
70+
struct payloadStruct {
71+
std::size_t id;
72+
struct {
73+
float x;
74+
float y;
75+
} position;
76+
std::size_t health;
77+
};
78+
79+
packetBuilder.SetPayloadType(tools::PayloadType::kCustom);
80+
packetBuilder.SetMessageType(5);
81+
82+
std::vector<struct payloadStruct> payload = {
83+
{1, {1.0f, 2.0f}, 100},
84+
};
85+
86+
auto packet = packetBuilder.Build<payloadStruct>(payload);
87+
EXPECT_EQ(packet[0]->GetHeader().offsetFlag, 1);
88+
89+
auto bitset = packet[0]->GetBitset();
90+
91+
auto header = tools::PacketUtils::ExportHeaderFromBitset(bitset);
92+
EXPECT_EQ(header.offsetFlag, 1);
93+
94+
auto convertedPacket = packetBuilder.Build<payloadStruct>(bitset);
95+
96+
EXPECT_EQ(convertedPacket->GetHeader().payloadType, static_cast<unsigned>(tools::PayloadType::kCustom));
97+
EXPECT_EQ(convertedPacket->GetHeader().payloadLength, sizeof(payloadStruct));
98+
EXPECT_EQ(convertedPacket->GetHeader().offsetFlag, 1);
99+
EXPECT_EQ(convertedPacket->GetHeader().turnFlag, 0);
100+
101+
EXPECT_EQ(convertedPacket->GetMessage().messageType, 5);
102+
103+
auto convertedPayload = convertedPacket->GetPayload();
104+
EXPECT_EQ(convertedPayload.id, payload[0].id);
105+
EXPECT_EQ(convertedPayload.position.x, payload[0].position.x);
106+
EXPECT_EQ(convertedPayload.health, payload[0].health);
107+
}

libs/game/src/api/server/server.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ std::uint64_t Server::FindUserByEndpoint(std::uint64_t lobbyId,
150150
}
151151

152152
for (auto &client : this->lobbies_[lobbyId].clients) {
153-
if (client.endpoint == endpoint) {
153+
if (client.endpoint.port() == endpoint.port()) {
154154
return client.id;
155155
}
156156
}

0 commit comments

Comments
 (0)