Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/rb 152 upgrade bullet #137

Closed
wants to merge 17 commits into from
Closed

Conversation

romainpanno
Copy link
Collaborator

@romainpanno romainpanno commented Oct 31, 2023

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • Norm of the code has been respected
  • In what state is your pull request?
  • Ready to merge / Waiting a reviwer to see my work.
  • Work In Progress (WIP) / My work is not finish but i want daily reviews. (Draft)
  • CI Review / I want to see what the CI thinks of my work.
  • Need feedback / Just to have feedback on what i produced. (May not be merged)
  • What kind of change does this PR introduce? (You can choose multiple)
  • Bug fix
  • Feature request
  • New / Updated documentation
  • Testing CI ( Make the pull request in draft mode)
  • What is the current behavior? (link an issue based on the kind of change this pr introduce)

  • What is the new behavior (if this is a feature change)?

  • Other information:

Summary by CodeRabbit

New Features:

  • Introduced a new missile system, replacing the previous bullet system for enhanced gameplay.
  • Added missile health and missile death features, providing more interactive and dynamic combat scenarios.
  • Implemented a missile death notification system, improving real-time game updates.

Refactor:

  • Updated various function names and parameters for better code clarity and consistency.
  • Optimized network message handling for missile-related events, improving network efficiency.

Bug Fixes:

  • Fixed potential issues with missile creation and tracking, ensuring smoother gameplay.

Documentation:

  • Updated RFC documentation to reflect the new missile system and related changes.

@romainpanno romainpanno added the enhancement New feature or request label Oct 31, 2023
@romainpanno romainpanno self-assigned this Oct 31, 2023
Copy link
Contributor

coderabbitai bot commented Oct 31, 2023

Warning

Rate Limit Exceeded

@romainpanno has exceeded the limit for the number of files or commits that can be reviewed per hour. Please wait 7 minutes and 6 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per repository.
Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.
Please see our FAQ for further information.

Commits Files that changed from the base of the PR and between 386033a and e70b01b.

Walkthrough

The codebase has undergone significant changes to accommodate the introduction of a new missile system. The changes include renaming bullets to missiles, adding missile death handling, and modifying network messages to include missile-specific information. The missile system now has its own unique ID and health status, and the code has been updated to handle missile creation and destruction events.

Changes

File(s) Summary
docs/network/rfc/RFC.md Updated RFC documentation to reflect the renaming of bullets to missiles and the addition of missile-specific fields and actions.
src/Client/Systems/Events/EventsSystems.cpp, src/Client/Systems/Network/ClientNetwork.cpp, src/Client/Systems/Network/ClientNetwork.hpp Modified client-side systems to handle new missile events and network messages.
src/ECS/ECSCustomTypes.cpp, src/ECS/ECSCustomTypes.hpp Added missile-specific fields and functions to the Missiles struct in the ECS custom types.
src/ECS/Systems/BulletsSystems.cpp, src/ECS/Systems/Systems.cpp, src/ECS/Systems/Systems.hpp Updated ECS systems to handle missile creation and destruction, and to return missile-specific information.
src/Nitwork/Nitwork.h, src/Nitwork/NitworkClient.cpp, src/Nitwork/NitworkClient.hpp, src/Nitwork/NitworkServer.cpp, src/Nitwork/NitworkServer.hpp Updated Nitwork library to handle new missile network messages and actions.
src/Server/Systems/Network/ServerNetwork.cpp, src/Server/Systems/Network/ServerNetwork.hpp Updated server-side systems to handle new missile network messages and events.

Poem

🎃 On this Halloween night, under the moon so bright, 🌕

🚀 CodeRabbit hopped and made missiles take flight. 🐇

🍂 As leaves fall and the air turns crisp, 🍁

💻 Our code evolves, like a chrysalis. 🦋

🎉 Celebrate the changes, for they are neat, 🥳

🥕 And now, dear friends, it's time for a treat! 🍬


Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai help to get help.
  • @coderabbitai resolve to resolve all the CodeRabbit review comments.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.json

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 3

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between a992dd5 and 74285f9.
Files selected for processing (16)
  • docs/network/rfc/RFC.md (11 hunks)
  • src/Client/Systems/Events/EventsSystems.cpp (1 hunks)
  • src/Client/Systems/Network/ClientNetwork.cpp (3 hunks)
  • src/Client/Systems/Network/ClientNetwork.hpp (1 hunks)
  • src/ECS/ECSCustomTypes.cpp (1 hunks)
  • src/ECS/ECSCustomTypes.hpp (1 hunks)
  • src/ECS/Systems/BulletsSystems.cpp (2 hunks)
  • src/ECS/Systems/Systems.cpp (1 hunks)
  • src/ECS/Systems/Systems.hpp (1 hunks)
  • src/Nitwork/Nitwork.h (5 hunks)
  • src/Nitwork/NitworkClient.cpp (2 hunks)
  • src/Nitwork/NitworkClient.hpp (4 hunks)
  • src/Nitwork/NitworkServer.cpp (3 hunks)
  • src/Nitwork/NitworkServer.hpp (8 hunks)
  • src/Server/Systems/Network/ServerNetwork.cpp (2 hunks)
  • src/Server/Systems/Network/ServerNetwork.hpp (1 hunks)
Files skipped from review due to trivial changes (2)
  • src/ECS/ECSCustomTypes.cpp
  • src/ECS/Systems/BulletsSystems.cpp
Additional comments: 36
src/Server/Systems/Network/ServerNetwork.hpp (1)
  • 16-19: The new function handleClientMissileDeath has been added correctly. Ensure that this function is implemented in the corresponding source file and that it handles the msg and endpoint parameters correctly. Also, verify that all calls to this function throughout the codebase have been updated to match the new signature.
src/ECS/Systems/Systems.cpp (1)
  • 386-408: The sendDeathMsg function has been updated to handle the case when a missile is destroyed. It checks if the arrMissiles component exists for the given arrId and then adds a death message for the missile to the appropriate network instance (NitworkClient or NitworkServer). This change ensures that missile destruction is properly communicated across the network.
+        if (arrMissiles.exist(arrId)) {
+        #ifdef CLIENT
+            Nitwork::NitworkClient::getInstance().addMissileDeathMsg(arrMissiles[arrId].constId);
+        #else
+            Nitwork::NitworkServer::getInstance().addMissileDeathMsg(arrMissiles[arrId].constId);
+        #endif
+        }
src/Client/Systems/Network/ClientNetwork.cpp (1)
  • 52-72: The receiveMissileDeath function is well implemented. It correctly handles the case when a missile is destroyed. It checks if the missile has a health component and if it doesn't, it logs a fatal error and removes the missile from the registry. This is a good practice for error handling.
src/Client/Systems/Network/ClientNetwork.hpp (1)
  • 15-21: The new function receiveMissileDeath has been added correctly. Ensure that it is implemented properly in the corresponding source file and that it is being called appropriately in the codebase.
src/Nitwork/NitworkClient.cpp (2)
  • 196-211: The addNewBulletMsg function has been updated to create a NEW_MISSILE message instead of a NEW_BULLET message. The packetNewBullet_s struct now includes id and life fields. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 304-323: A new function addMissileDeathMsg has been added to the NitworkClient class. This function creates a MISSILE_DEATH message. Ensure that this function is being called in the appropriate places in the codebase.

src/Nitwork/Nitwork.h (5)
  • 34-40: The constant MAGICK_NEW_BULLET has been renamed to MAGICK_NEW_MISSILE. Ensure that all references to this constant in the codebase have been updated.

  • 48-48: A new constant MAGICK_MISSILE_DEATH has been added. Ensure that this constant is used correctly throughout the codebase.

  • 68-74: The enum n_actionType_t has been modified to include MISSILE_DEATH as a new action type. Ensure that all switch-case or if-else statements that use this enum are updated to handle this new action type.

  • 180-186: The struct msgNewBullet_s has been modified to include an additional field n_id_t id and int life. Ensure that all instances where this struct is used have been updated to handle these new fields.

  • 260-269: New structs msgMissileDeath_s and packetMissileDeath_s have been added. Ensure that these structs are used correctly throughout the codebase.

src/Server/Systems/Network/ServerNetwork.cpp (2)
  • 73-94: The receiveNewBulletMsg function has been updated to handle the new NEW_MISSILE action. It now retrieves the arrMissiles and arrHealth components from the registry, creates a missile, and checks if the missile exists in arrMissiles and arrHealth. If it doesn't, an error is logged and the function returns. The id and life are then assigned from arrMissiles and arrHealth respectively, and the broadcastNewBulletMsg function is called with msgNewBullet as the argument. This function seems to be correctly implemented, but it would be good to verify that the createMissile function is correctly creating the missile and that the broadcastNewBulletMsg function is correctly broadcasting the new missile message.

  • 159-191: The new function handleClientMissileDeath has been added to handle the MISSILE_DEATH action. It retrieves the arrMissiles, arrHealth, arrPos, and ids components from the registry, iterates over the ids, and checks if the constId of the missile matches msgMissileDeath.missileId. If a match is found, the broadcastNewBulletMsg function is called with the missile information. This function seems to be correctly implemented, but it would be good to verify that the broadcastNewBulletMsg function is correctly broadcasting the missile death message.

src/ECS/Systems/Systems.hpp (1)
  • 35-41: The changes in the function signatures look good. Ensure that all calls to these functions throughout the codebase have been updated to match the new signatures.
src/Client/Systems/Events/EventsSystems.cpp (1)
  • 133-135: The function addNewBulletMsg should be renamed to addNewMissileMsg to reflect the changes in the codebase. Ensure that the function addNewMissileMsg exists in the NitworkClient class and has the same signature as addNewBulletMsg.
- Nitwork::NitworkClient::getInstance().addNewBulletMsg(
+ Nitwork::NitworkClient::getInstance().addNewMissileMsg(
src/Nitwork/NitworkServer.hpp (6)
  • 108-111: The function broadcastNewBulletMsg has been updated to remove the senderEndpoint parameter. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 138-142: A new function addMissileDeathMsg has been added. Ensure that this function is being called appropriately in the codebase where a missile death needs to be communicated.

  • 278-284: The NEW_MISSILE action has been added to the _actionsHandlers map. Ensure that the handleBody<struct msgNewBullet_s> and Systems::receiveNewBulletMsg functions can handle the new msgNewBullet_s structure correctly.

  • 299-309: The MISSILE_DEATH action has been added to the _actionsHandlers map. Ensure that the handleBody<struct msgMissileDeath_s> and Systems::handleClientMissileDeath functions can handle the new msgMissileDeath_s structure correctly.

  • 330-337: The NEW_MISSILE action has been added to the _actionToSendHandlers map. Ensure that the sendData<struct packetNewBullet_s> function can handle the new packetNewBullet_s structure correctly.

  • 350-357: The MISSILE_DEATH action has been added to the _actionToSendHandlers map. Ensure that the sendData<struct packetMissileDeath_s> function can handle the new packetMissileDeath_s structure correctly.

src/Nitwork/NitworkServer.cpp (3)
  • 298-310: The function addStarWaveMessage now takes an argument enemyNb instead of enemyId. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 364-376: The function broadcastNewBulletMsg no longer takes the senderEndpoint argument. The function sendToAllClientsButNotOne is replaced with sendToAllClients. Ensure that all calls to this function throughout the codebase have been updated to match the new signature and usage.

- void NitworkServer::broadcastNewBulletMsg(
-     const struct msgNewBullet_s &msg,
-     const boost::asio::ip::udp::endpoint &senderEndpoint)
+ void NitworkServer::broadcastNewBulletMsg(const struct msgNewBullet_s &msg)
  • 444-463: The function addMissileDeathMsg is added, which takes an argument id. This function creates a packetMissileDeath_s packet and sends it to all clients. Ensure that this function is being called in the appropriate places in the codebase.
src/Nitwork/NitworkClient.hpp (4)
  • 90-93: The new function addMissileDeathMsg is added to handle missile death messages. Ensure that it is used correctly in the codebase.

  • 284-288: The handleBody function is updated to handle the msgNewBullet_s message type for the NEW_MISSILE action. Ensure that the msgNewBullet_s struct is updated to include the new fields missileId and missileHealth.

  • 328-337: A new action handler is added for the MISSILE_DEATH message type. The handleBody and receiveMissileDeath functions are updated to handle the msgMissileDeath_s message type. Ensure that the msgMissileDeath_s struct is defined correctly.

  • 390-394: The sendData function is updated to send a packetNewBullet_s packet for the NEW_MISSILE message type. Ensure that the packetNewBullet_s struct is updated to include the new fields missileId and missileHealth.

docs/network/rfc/RFC.md (8)
  • 40-44: The new actions NEW_MISSILE and MISSILE_DEATH have been added to the list of actions that can be sent by the client. Ensure that the client-side code has been updated to handle these new actions.

  • 54-58: The new actions NEW_MISSILE and MISSILE_DEATH have been added to the list of actions that can be sent by the main server. Ensure that the server-side code has been updated to handle these new actions.

  • 396-405: The NEW_MISSILE action has been updated to include new fields missileId and missileHealth. Ensure that the client-side code has been updated to handle these new fields.

  • 430-445: The NEW_MISSILE action has been updated to include new fields missileId and missileHealth. Ensure that the client-side code has been updated to handle these new fields.

  • 538-559: The new MISSILE_DEATH action has been added with the field missileId. Ensure that the client-side code has been updated to handle this new action and field.

  • 866-875: The NEW_MISSILE action has been updated to include new fields missileId and missileHealth. Ensure that the server-side code has been updated to handle these new fields.

  • 900-909: The NEW_MISSILE action has been updated to include new fields missileId and missileHealth. Ensure that the server-side code has been updated to handle these new fields.

  • 1030-1051: The new MISSILE_DEATH action has been added with the field missileId. Ensure that the server-side code has been updated to handle this new action and field.

src/Client/Systems/Network/ClientNetwork.cpp Outdated Show resolved Hide resolved
src/ECS/ECSCustomTypes.hpp Outdated Show resolved Hide resolved
src/Nitwork/NitworkServer.hpp Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 74285f9 and 914bb69.
Files selected for processing (8)
  • src/Client/Systems/Network/ClientNetwork.cpp (3 hunks)
  • src/ECS/ECSCustomTypes.hpp (1 hunks)
  • src/ECS/Systems/BulletsSystems.cpp (2 hunks)
  • src/ECS/Systems/Systems.cpp (1 hunks)
  • src/Nitwork/NitworkClient.cpp (2 hunks)
  • src/Nitwork/NitworkServer.cpp (3 hunks)
  • src/Nitwork/NitworkServer.hpp (8 hunks)
  • src/Server/Systems/Network/ServerNetwork.cpp (2 hunks)
Files skipped from review due to trivial changes (1)
  • src/ECS/Systems/BulletsSystems.cpp
Additional comments: 17
src/ECS/ECSCustomTypes.hpp (1)
  • 83-110: The Missiles struct has been updated with a new constructor, static functions for setting and retrieving the number of missiles, and new members _missileNb and _mutex. Ensure that these changes are reflected in all parts of the codebase where Missiles is used. Also, consider adding comments to explain the purpose of these new additions.
src/Nitwork/NitworkClient.cpp (2)
  • 196-209: The packetNewBullet_s struct has been updated to include the id and life fields, and the magick field has been updated to NEW_MISSILE. Ensure that all instances of packetNewBullet_s in the codebase have been updated to match this new structure.

  • 304-323: The addMissileDeathMsg function has been added. This function creates a packetMissileDeath_s struct and adds it to the packet to be sent. Ensure that this function is being called in the appropriate places in the codebase.

src/Client/Systems/Network/ClientNetwork.cpp (2)
  • 52-72: The receiveMissileDeath function correctly handles the death of a missile by setting its health to 0. However, it's important to ensure that the missile is also removed from any other data structures or systems that might still be referencing it. This is especially important if the game has systems that iterate over all missiles, as they could encounter a "dead" missile and cause unexpected behavior.

  • 232-239: > Note: This review was outside of the patch, so it was mapped to the patch with the greatest overlap. Original lines [232-248]

The receiveNewBullet function has been updated to handle the new missile structure. It correctly assigns the constId and hp values to the created missile. However, it's important to ensure that all parts of the code that call this function have been updated to pass the correct arguments.

src/Nitwork/NitworkServer.cpp (3)
  • 298-310: The function addStarWaveMessage now takes an argument enemyNb instead of enemyId. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 364-375: The function broadcastNewBulletMsg has been modified to remove the senderEndpoint argument. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 443-462: A new function addMissileDeathMsg has been added, which takes an argument id. This function creates a packetMissileDeath_s packet and sends it to all clients. This is likely used to notify all clients when a missile is destroyed.

src/ECS/Systems/Systems.cpp (1)
  • 385-408: The sendDeathMsg function has been updated to handle the case when a missile is destroyed. It checks if the arrMissiles component exists for the given arrId and if so, it adds a missile death message to the network communication system (Nitwork::NitworkClient or Nitwork::NitworkServer) based on whether the code is running on the client or server side. This is a good practice as it ensures that the state of the game is synchronized across all clients and the server.
src/Server/Systems/Network/ServerNetwork.cpp (2)
  • 73-94: The function receiveNewBulletMsg has been updated to handle the new missile system. It now retrieves the arrMissiles and arrHealth components from the registry, creates a new missile, and checks if the missile and health components exist. If they do, it updates the msgNewBullet with the missile's ID and life and broadcasts the new bullet message. If the missile and health components do not exist, it logs an error. This function seems to be correctly implemented, but it would be good to verify that the createMissile function is correctly creating the missile and health components.

  • 159-190: The new function handleClientMissileDeath handles the death of a client missile. It retrieves the arrMissiles, arrHealth, and arrPos components from the registry, iterates over the existing missile IDs, and checks if the missile ID matches the msgMissileDeath missile ID. If a match is found, it broadcasts a new bullet message with the missile's position, ID, life, and type. This function seems to be correctly implemented, but it would be good to verify that the broadcastNewBulletMsg function is correctly broadcasting the new bullet message.

src/Nitwork/NitworkServer.hpp (6)
  • 107-110: The function broadcastNewBulletMsg has been updated to remove the senderEndpoint parameter. Ensure that all calls to this function throughout the codebase have been updated to match the new signature.

  • 134-141: A new function addMissileDeathMsg has been added. Ensure that this function is being called appropriately in the codebase where a missile death needs to be communicated to the clients.

  • 277-283: The action handler for NEW_MISSILE has been updated to handle msgNewBullet_s messages. Ensure that the handleBody function can correctly process msgNewBullet_s messages.

  • 298-307: A new action handler for MISSILE_DEATH has been added to handle msgMissileDeath_s messages. Ensure that the handleBody function can correctly process msgMissileDeath_s messages.

  • 330-336: The action sender for NEW_MISSILE has been updated to send packetNewBullet_s messages. Ensure that the sendData function can correctly send packetNewBullet_s messages.

  • 350-356: A new action sender for MISSILE_DEATH has been added to send packetMissileDeath_s messages. Ensure that the sendData function can correctly send packetMissileDeath_s messages.

src/Nitwork/NitworkServer.hpp Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
docs/network/rfc/RFC.md Show resolved Hide resolved
src/Client/Systems/Network/ClientNetwork.cpp Show resolved Hide resolved
src/ECS/ECSCustomTypes.hpp Outdated Show resolved Hide resolved
src/Nitwork/NitworkServer.hpp Outdated Show resolved Hide resolved
romainpanno and others added 5 commits November 2, 2023 09:42
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 4

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 914bb69 and b7f0b02.
Files selected for processing (1)
  • src/Nitwork/NitworkServer.hpp (8 hunks)
Additional comments: 1
src/Nitwork/NitworkServer.hpp (1)
  • 64-67: The function addStarWaveMessage has been renamed but the parameter name in the comment has not been updated. It should be updated to match the actual parameter name enemyNb.
- * @param enemyId The id of the enemy that will be created
+ * @param enemyNb The id of the enemy that will be created

src/Nitwork/NitworkServer.hpp Outdated Show resolved Hide resolved
src/Nitwork/NitworkServer.hpp Outdated Show resolved Hide resolved
src/Nitwork/NitworkServer.hpp Show resolved Hide resolved
src/Nitwork/NitworkServer.hpp Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 3

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between b7f0b02 and 386033a.
Files selected for processing (2)
  • docs/network/rfc/RFC.md (11 hunks)
  • src/ECS/ECSCustomTypes.hpp (1 hunks)
Additional comments: 10
docs/network/rfc/RFC.md (10)
  • 40-44: The renaming of NEW_BULLET to NEW_MISSILE and the addition of MISSILE_DEATH are reflected correctly in the table of contents. Ensure that all references to these actions in the codebase are updated accordingly.

  • 54-58: The renaming of NEW_BULLET to NEW_MISSILE and the addition of MISSILE_DEATH are reflected correctly in the table of contents. Ensure that all references to these actions in the codebase are updated accordingly.

  • 195-195: The CONNECT_MAIN_SERVER action header value has been updated to 19. Ensure that this change is reflected in the codebase.

  • 225-225: The CREATE_LOBBY action header value has been updated to 17. Ensure that this change is reflected in the codebase.

  • 396-405: The NEW_MISSILE action has been updated with new fields missileId and missileHealth. Ensure that these fields are handled correctly in the codebase.

  • 538-561: The MISSILE_DEATH action and its missileId field are described clearly. Ensure that this new action is handled correctly in the codebase.

  • 566-566: The CONNECT_MAIN_SERVER_RESP action header value has been updated to 20. Ensure that this change is reflected in the codebase.

  • 867-876: The NEW_MISSILE action has been updated with new fields missileId and missileHealth. Ensure that these fields are handled correctly in the codebase.

  • 1033-1055: The MISSILE_DEATH action and its missileId field are described clearly. Ensure that this new action is handled correctly in the codebase.

  • 1061-1061: The INFO_LOBBY action header value has been updated to 18. Ensure that this change is reflected in the codebase.

src/ECS/ECSCustomTypes.hpp Show resolved Hide resolved
docs/network/rfc/RFC.md Outdated Show resolved Hide resolved
docs/network/rfc/RFC.md Outdated Show resolved Hide resolved
@Saverio976
Copy link
Collaborator

#143

@Saverio976 Saverio976 closed this Nov 5, 2023
Saverio976 added a commit that referenced this pull request Nov 5, 2023
* ECS: Add button that can change scene
Merge
MINOR

* CLIENT-GAME: Add physics to ennemies

* GAME-LOGIC: Add a generic function for add physics

* CLIENT-GAME: Add physics customizable by json
MINOR

* CLIENT-GAME: Fix compilation

* GAME-CLIENT: Add maxy and minY for zigzag

* CLIENT-GAME: Add attack struct

* CLIENT-GAME: Add attack struct to ennemies
MINOR

* CLIENT-GAME: Enemies shoot bullets

* CLIENT-GAME/DOCUMENTATION: Add first functional version of menu + some docs
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME/DOCUMENTATION: Update client game and error management

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Separe player and enemies missiles

* CLIENT-GAME: Fix coderabbit review
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Add bullet direction for enemies

* CLIENT-GAME: Modif now menu can init entity with the singletone MenuFactory
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Update src/Client/Systems/Menu/ButtonCallbacks.cpp

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* CLIENT-GAME: Add circle

* CLIENT-GAME: Remove useless 1

* FORMAT-AUTO: automatic format on pull request #130

* CLIENT-GAME: Modif script to debug compil
PATCH

* CLIENT-GAME: Update code to make it cleaner
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Fix maths warnings

* FORMAT-AUTO: automatic format on pull request #130

* CLIENT-GAME: Add missile to boss

* CLIENT-GAME/DOCUMENTATION: Add some docs for menu builder class
Modif some static method inside the menu.cpp file
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Update setAllInputBoxFalse to be more optimized
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Fix some bad includes
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* DOCUMENTATION: Update json doc
Modif compil.ps1 to compil as before
MINOR

* SCRIPTS: Modif scripts to do the same things as before
PATCH

* ECS: Add button that can change scene
Merge
MINOR

* CLIENT-GAME/DOCUMENTATION: Add first functional version of menu + some docs
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME/DOCUMENTATION: Update client game and error management

* CLIENT-GAME: Fix coderabbit review
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now menu can init entity with the singletone MenuFactory
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Update src/Client/Systems/Menu/ButtonCallbacks.cpp

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* CLIENT-GAME: Modif script to debug compil
PATCH

* CLIENT-GAME: Update code to make it cleaner
PATCH

* CLIENT-GAME/DOCUMENTATION: Add some docs for menu builder class
Modif some static method inside the menu.cpp file
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Update setAllInputBoxFalse to be more optimized
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Fix some bad includes
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* CLIENT-GAME: Modif now use template Json function
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* DOCUMENTATION: Update json doc
Modif compil.ps1 to compil as before
MINOR

* FORMAT-AUTO: automatic format on pull request #129

* SCRIPTS: Modif scripts to do the same things as before
PATCH

* FORMAT-AUTO: automatic format on pull request #129

* GAME-CLIENT: Adjust game difficulty

* CLIENT-GAME: Add unused

* FORMAT-AUTO: automatic format on pull request #130

* CLIENT-GAME: Add first version of connection menu (need work)
MINOR

* CLIENT-GAME: Add list-libby menu (begin)

MINOR

* CLIENT-GAME: Add MAX_MISSILE_TYPE
PATCH

* CLIENT-GAME: Remove strcpy warnings

* CLIENT-GAME: Add final version of main menu to connect to main server
MINOR

* CLIENT-GAME: Remove useless print
PATCH

* CLIENT-GAME: Add create lobby scene

And move good systems from list lobby scene to create lobby scene

MINOR

* CLIENT-GAME: Add create lobby menu

MINOR

* CLIENT-GAME: Add parallax to menus

MINOR

* CLIENT-GAME: Add better enemies system

* CLIENT-GAME: Remove current boss system

* CLIENT-GAME: Add features to enemies

* CLIENT-GAME: Clean code before waves refactor

* CLIENT-GAME: Add begin of wave refactor

* SERVER-NETWORK: Add current progress

* SERVER-NETWORK: Add current progress

* CLIENT-NETWORK/SERVER-NETWORK: Add receive new bullet server side

Upgrade create missile func in order to get the bullet's sparseArray id

MINOR

* CLIENT-GAME: Call initWave function

* FORMAT-AUTO: automatic format on pull request #137

* CLIENT-GAME: Add first version of new waves

* CLIENT-GAME: Fix latency problem

* CLIENT-GAME: Fix next waves start

* CLIENT-GAME: Add napstablook

* CLIENT-GAME: Add first version of select lobby menu (need debug)
MINOR

* CLIENT-GAME: Fix texts

* CLIENT-GAME: Add second version of select lobby menu (more functional)
MINOR

* CLIENT-GAME: Add 2 new boss

MINOR

* CLIENT-GAME: Add default2 enemy (dragon)

MINOR

* CLIENT-GAME: Fix missing perforant bullet

PATCH

* CLIENT-GAME: Add daemon enemie

MINOR

* CLIENT-GAME: Update the new spaceship

MINOR

* CLIENT-GAME: Add spaceship animations when going down

MINOR

* Update src/Nitwork/NitworkServer.hpp

Co-authored-by: Xavier Mitault <[email protected]>

* Update src/ECS/ECSCustomTypes.hpp

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* Update docs/network/rfc/RFC.md

Co-authored-by: Xavier Mitault <[email protected]>

* RFC: Fix missing fields form missile id and health (signed or not)

PATCH

* NITWORK-SERVER: Update doc

PATCH

* CLIENT-GAME: Fix warnings

PATCH

* CLIENT-GAME: Remove parameters for startNextWave

* CLIENT-GAME: Change msBeforeNext by msBeforeSpawn

* ECS: Fix segfault

* CLIENT-NETWORK/SERVER-NETWORK: Add smooth lobby connexion & quit events

MAJOR

* FORMAT-AUTO: automatic format on pull request #138

* RFC: Add RFC for connect_lobby, connect_lobby_resp & disconnect_lobby

MINOR

* CLIENT-GAME: Add final version of the menu
MINOR

* CLIENT-NETWORK/SERVER-NETWORK: Add end game packets

MAJOR

* CLIENT-GAME: Add final version of the menu
MINOR

* FORMAT-AUTO: automatic format on pull request #140

* CLIENT-GAME: Fix warnings
PATCH

* CLIENT-GAME: Fix macOS compil
PATCH

* NITWORK-MAIN-SERVER: Fix ip resolve of mainServer

PATCH

* FORMAT-AUTO: automatic format on pull request #140

* NITWORK-MAIN-SERVER: Fix fork on windows

PATCH

* FORMAT-AUTO: automatic format on pull request #140

* CLIENT-GAME: Remove iostream

* NITWORK-MAIN-SERVER: Add print of available ips at mainServer start

MINOR

* FORMAT-AUTO: automatic format on pull request #140

* NITWORK-SERVER: Upgrade ready message handling (start game when everyone is connected

MAJOR

* CLIENT-GAME: Add powerUp assets

MINOR

* CLIENT-GAME: Modif how menu builder build entities
MINOR

* FORMAT-AUTO: automatic format on pull request #140

* Update src/Client/Systems/Menus/CreateLobby/CreateLobbySystems.cpp

Co-authored-by: Tenshi <[email protected]>

* CLIENT-GAME: Add space to lobby
PATCH

* CLIENT-GAME: Fix review commentaries
PATCH

* FORMAT-AUTO: automatic format on pull request #140

* CLIENT-GAME: Add end game text

* CLIENT-GAME: Fix linux warnings

* CLIENT-GAME: Add big-daemon enemie

MAJOR

* CLIENT-GAME: Add ready button to click on it
MINOR'

* FORMAT-AUTO: automatic format on pull request #140

* CLIENT-GAME: Fix warnings

* CLIENT-GAME: Fix end game message

* CLIENT-GAME: Add begin of collisionRectOffset

* CLIENT-GAME: Add collision rect offset
MINOR

* CLIENT-GAME: Fix boss size

* CLIENT-GAME: Fix aspect ratio when resize

* CLIENT-GAME: Add fullscreen

* CLIENT-GAME: Remove fullscreen

* CLIENT-GAME: Add 2nd parallax

MINOR

* CLIENT-GAME: Fix windows compile
PATCH

* NETWORK: Fix send wave message
PATCH

* CLIENT-GAME: Add enemies init

* CLIENT-GAME: Add enemies weapons

* Fix: Fix begin of compilation

PATCH

* *: Fix merge conflit

MAJOR

* SERVER-NETWORK: Fix ctrl+c

PATCH

* CLIENT-GAME: Fix windows compile

* CLIENT-GAME: Fix text input deletion

* *: Fix slect lobby row system called on create lobby

PATCH

* *: Begin of network fix

PATCH

* COMPILATION: Fix compilation
PATCH

* CLIENT: Remove unused file

PATCH

* CLIENT-GAME: Remove useless wave file

* CLIENT-GAME: Add paralax

* NITWORK: Add logger

* CLIENT-GAME: Add preload texture func

* NITWORK: Fix connect lobby bug, (action cast bug)

PATCH

* *: Begin of debug fantom bullets

PATCH

* *: Remove all log not ok with level

PATCH

* NITWORK: Add begin of restart server

PATCH

* FORMAT-AUTO: automatic format on pull request #143

* CLIENT-GAME: Add loading screen

* FORMAT-AUTO: automatic format on pull request #143

* CLIENT-GAME: Add bullets to preload texture

* NITWORK: Add reload of lobby

MAJOR

* FORMAT-AUTO: automatic format on pull request #143

* NITWORK-CLIENT: Remove useless debug prints

PATCH

* CLIENT-GAME: Fix windows compile

* FORMAT-AUTO: automatic format on pull request #143

* CLIENT-MENU: Create Servers from GUI / Add menu music (#142)

* CLIENT-MENU: Add the possibility for client to create servers
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-MENU: Add a little text to indicate scene + fix quiGame bug
MINOR

* CLIENT-MENU: Fix bad merging conflicts
PATCH

* CLIENT-MENU: Now client can create only 1 server
MINOR

* CLIENT-MENU: Fix windows compilation
PATCH

* FORMAT-AUTO: automatic format on pull request #142

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-MENU: Now users can choose parallax
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-GAME: Fix compile

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-MENU: Now users can choose parallax
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-GAME: Add music menu / Remove debug

* CLIENT-MENU: Now users can choose parallax
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT: Remove log unused

PATCH

* CLIENT-MENU: Now users can know if they already create a server
MINOR

* CLIENT-MENU: Now users can click on a button to exit programm
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-MENU: Modif text button
MINOR

* CLIENT-MENU: Modif now text button can reappeared even if the scene is changed
MINOR

* FORMAT-AUTO: automatic format on pull request #142

* CLIENT-MENU: Modif now it s working
MINOR

---------

Co-authored-by: Github Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: tenshi <[email protected]>
Co-authored-by: Xavier Mitault <[email protected]>

* CLIENT-GAME: Fix esc key handling

PATCH

---------

Co-authored-by: Kitetsu <[email protected]>
Co-authored-by: tenshi <[email protected]>
Co-authored-by: Github Actions <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Desousa Brice <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: romain <[email protected]>
Co-authored-by: guillaume abel <[email protected]>
Co-authored-by: Tenshi <[email protected]>
@Saverio976 Saverio976 deleted the feature/RB-152-upgrade-bullet branch March 4, 2024 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants