Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
646 commits
Select commit Hold shift + click to select a range
fdac607
fix(all): Commented a lot of errors from this branch for later fix so…
PierreMarguerie Jan 15, 2026
e962024
fix(all): Fixed previous comments
PierreMarguerie Jan 15, 2026
af062fb
fix(compil): Fixed compilation
PierreMarguerie Jan 15, 2026
81a5052
fix(compil): Fixed compilation error
PierreMarguerie Jan 16, 2026
238facc
fix(rteng): Fixed missing component error
PierreMarguerie Jan 16, 2026
afe797c
hotfix(lib/rtecs): Added a method to get all the entities registered …
nl1x Jan 16, 2026
3537927
fix(lib/rtecs): Added missing include
nl1x Jan 16, 2026
a7a586d
feat(ci-cd): Added first librtnt ci/cd build
nl1x Jan 15, 2026
c88fd0a
fix(ci-cd/librtnt): Added 'on push' event
nl1x Jan 15, 2026
8197375
fix(ci-cd/lib/rtnt): Fixed compilation
nl1x Jan 15, 2026
5775f64
fix(ci-cd/lib/rtnt): Fixed compilation
nl1x Jan 15, 2026
7032388
fix(ci-cd/lib/rtnt): Fixed tests directory
nl1x Jan 15, 2026
092d6a4
feat(ci-cd/lib/rtnt): Added the environment variable '${LIB_NAME}'
nl1x Jan 15, 2026
291cc61
feat(ci-cd/lib/rtecs): Added ci/cd for the rtecs library
nl1x Jan 15, 2026
63035a6
feat(ci-cd/lib/rteng): Added ci/cd for the rteng library
nl1x Jan 15, 2026
9c956a7
fix(ci-cd/lib): Removed the environment variable 'LIB_NAME'
nl1x Jan 15, 2026
ce68169
fix(ci-cd/lib): Trying to downgrade to C++ 20
nl1x Jan 15, 2026
e92b544
fix(ci-cd/lib): Trying to fix rtecs compilation on windows
nl1x Jan 16, 2026
0999edb
feat(ci-cd/lib): Added '*<lib_name>*' in branch trigger detection
nl1x Jan 16, 2026
7652597
fix(ci-cd/lib): Trying to fix rtecs compilation on windows by putting…
nl1x Jan 16, 2026
5907ead
fix(ci-cd/lib): Upgrade back to C++ 23
nl1x Jan 16, 2026
77e0956
fix(ci-cd/lib): Install g++14 on ubuntu instead of using g++13 that d…
nl1x Jan 16, 2026
a7acfbf
fix(ci-cd/lib): Set g++14 as default on ubuntu
nl1x Jan 16, 2026
5c4dcf9
fix(ci-cd/lib): Set -DCMAKE_CXX_STANDARD=23 on cmake pre-build of rtnt
nl1x Jan 16, 2026
fc6b9a6
refactor(ci-cd/lib): Removed the testing branch from the triggering b…
nl1x Jan 16, 2026
ad38857
ref(server>lobby): Refactored code to use the newly created methods
PierreMarguerie Jan 15, 2026
0d1d8a8
fix(lobby>level-director): Now initializing level director on lobby c…
PierreMarguerie Jan 16, 2026
137ebf4
feat(packet>handler): Added `Start` packet handler
PierreMarguerie Jan 16, 2026
c3c11de
feat(game): Added the restart feature
PierreMarguerie Jan 16, 2026
3ad0bbc
feat(client>packet>handlers): Added `UpdateGameState` packet handlers
PierreMarguerie Jan 16, 2026
115b2e5
feat(client>packet>handlers): Added `UpdateHealth` packet handler
PierreMarguerie Jan 16, 2026
080ef36
feat(server>lobby>join): Added a `WorldInit` packet send for late joi…
PierreMarguerie Jan 16, 2026
d560211
feat(common>components): Added component `State`
PierreMarguerie Jan 16, 2026
fe4fe5a
faet(client>packet>handlers): Added `UpdateEntityState` packet handler
PierreMarguerie Jan 16, 2026
a153342
fix(client>packet>handlers): Fixed miscellaneous implementation flaws
PierreMarguerie Jan 16, 2026
51f0214
ref(lib>rtecs): Removed unnecessary method
PierreMarguerie Jan 16, 2026
a42d1f4
fix(server>packet>handlers): Fixed implementation flaw
PierreMarguerie Jan 16, 2026
3930550
fix(client>packet>handlers): Fixed non exhaustive binding
PierreMarguerie Jan 16, 2026
49d38fb
fix(lib/rtecs/systems): Changed systems from unique_ptr to shared_ptr
nl1x Jan 16, 2026
6b00fcd
feat(server>lobby): Added miscellaneous utility methods for lobby class
PierreMarguerie Jan 9, 2026
81a0085
feat(common>components): Added hitbox component
Babouye Jan 12, 2026
d7877bc
fix(common>components): Added hitbox component
Babouye Jan 14, 2026
cf53ee9
feat(common>componenets): Added score component
Babouye Jan 14, 2026
c287907
feat(sprite): Added aerial enemy sprite
Babouye Jan 14, 2026
2685825
feat(client>gui>assetManager): Added asset manager
Babouye Jan 14, 2026
ac6131d
fix(client>gui>texture): Updated player filepath
Babouye Jan 14, 2026
eec6c6a
feat(sprite): Added players sprite (need to be cropped)
Babouye Jan 14, 2026
dd55658
ref(client>systems>renderer): Removed asset manager from renderer files
Babouye Jan 14, 2026
3eba94b
fix(lib>rtecs): Fixed `deserialize` DynamicBitset method crash
PierreMarguerie Jan 16, 2026
9af5cb7
ref(lib>rteng): Fixed unprecise logs in `getEntityInfos` method
PierreMarguerie Jan 16, 2026
4c2f12f
fix(common>factory): Fixed componentFactory bitmask offset and wrong …
PierreMarguerie Jan 16, 2026
c4961e2
fix(server>lobby>join): Fixed `Join` method not checking for session …
PierreMarguerie Jan 16, 2026
2c60d98
feat(client>packet>handler>spawn): Enhanced logs
PierreMarguerie Jan 16, 2026
4338cf7
fix(client>system>network): Fixed network system not using `update` m…
PierreMarguerie Jan 16, 2026
d8f7982
feat(client>system>renderer): Closing the window now shuts down the app
PierreMarguerie Jan 16, 2026
bc10043
fix(server>lobby): Fixed namespace errors induced by merge
PierreMarguerie Jan 16, 2026
2a3ffc0
feat(client>packet>handler>join-ack): Receiving a `JoinAck` packet no…
PierreMarguerie Jan 16, 2026
582371e
feat(server>lobby): Added all packets to the variant
PierreMarguerie Jan 16, 2026
386ed6e
fix(server>lobby): Fixed WorldInit instanciation
PierreMarguerie Jan 16, 2026
b13077a
ref(common>packet>update-game-state): Changed gameState type `uint8_t…
PierreMarguerie Jan 16, 2026
b851ff1
fix(client>packet>handler>world-init): World init packet handler now …
PierreMarguerie Jan 16, 2026
5759310
feat(common>packet>join-ack): `JoinAck` packet now specify the gameState
PierreMarguerie Jan 16, 2026
abba3be
feat(server>lobby): Lobbies now start with the `GameWaiting` gameState
PierreMarguerie Jan 16, 2026
6aa79d8
feat(server>lobby>join): `Join` method now changes state when necessary
PierreMarguerie Jan 16, 2026
f17143f
fix(lobby>run): Fixed lag compensation code duplication
PierreMarguerie Jan 16, 2026
fe47ac0
fix(server/packets/wolrd-init): Pushed back the id in the worldInitPa…
nl1x Jan 17, 2026
3923e79
refactor(server/logs): Added console sink settings to remove thread i…
nl1x Jan 16, 2026
94c0d0a
fix(client/parsing): Fixed client segfault by returning 84 when a fla…
nl1x Jan 16, 2026
a58d080
fix(lib/rtecs/systems): Changed systems from unique_ptr to shared_ptr
nl1x Jan 17, 2026
7fe92e7
fix(lib/rteng/systems): Changed systems from unique_ptr to shared_ptr
nl1x Jan 17, 2026
d978367
refactor(client/app): Removed Join packet on connect
nl1x Jan 17, 2026
88be93e
fix(client): Removed unused variable in lambda _client.onConnect
nl1x Jan 17, 2026
2d761f5
fix(lib/rtecs/systems): Trying to fix windows weird error
nl1x Jan 17, 2026
446a7b5
fix(lib/rtecs/systems): Trying to fix windows weird error
nl1x Jan 17, 2026
80558ed
fix(lib/rtecs/systems): Remove logs of systems
nl1x Jan 17, 2026
01be720
feat(lib>rtnt>stats): Added metrics structures.
Shuvlyy Jan 15, 2026
115cda4
feat(lib>rtnt>stats): Created Recorder class.
Shuvlyy Jan 15, 2026
bf49a37
feat(lib>rtnt>core): Components now updates Recorder's data.
Shuvlyy Jan 15, 2026
48d033f
feat(lib>rtnt>stat>recorder): Adapted Recorder so that it accepts Cli…
Shuvlyy Jan 15, 2026
42ba735
chore(lib>rtnt>build): Added recorder to source files.
Shuvlyy Jan 15, 2026
5f86c6b
up(lib>rtnt): Updated version to 1.4.0.
Shuvlyy Jan 15, 2026
4f772a1
feat: Added `rtntp` RFC document.
Shuvlyy Jan 17, 2026
070a768
feat(server>packet>handle-user-input): Now creates a bullet when play…
PierreMarguerie Jan 17, 2026
85d9336
fix(rteng): Fixed byte order conversion when serializing entity
PierreMarguerie Jan 17, 2026
0f566da
feat(client>packet>handler): Added `Called` debug log
PierreMarguerie Jan 17, 2026
e5ca610
fix(server>packet>handler>handle-user-input): Fixed playerPosition co…
PierreMarguerie Jan 17, 2026
011887f
ref(client>systems>IO): Made the MouseButton bool --> button::State
PierreMarguerie Jan 17, 2026
db891d1
ref(server>callbacks): Removed unnecessary log
PierreMarguerie Jan 17, 2026
a1a8454
fix(lib>rteng>tests): Fixed test suite
PierreMarguerie Jan 17, 2026
9367b34
up(lib>rtnt>rfc): Added data type precision.
Shuvlyy Jan 17, 2026
f7218a0
up(lib>rtnt>readme): Added `asio` lib include precision.
Shuvlyy Jan 17, 2026
f972392
fix(lib>rtnt>common>constants): Increased old packet history size fro…
Shuvlyy Jan 17, 2026
dee09ef
fix(components): Added components to the eponym namespace
PierreMarguerie Jan 17, 2026
f832a39
fix(components): Removed useless components and members
PierreMarguerie Jan 17, 2026
fdf2260
fix(client>components): The client now registers all the components i…
PierreMarguerie Jan 17, 2026
70d552b
feat(common>components): Added playerStates
PierreMarguerie Jan 17, 2026
d72e15d
feat(common>components): Added previously deleted Damage and Value
PierreMarguerie Jan 17, 2026
40d0bcd
feat(common>components>velocity): Added max_v* to differenciate curre…
PierreMarguerie Jan 17, 2026
5b86dc5
fix(common>components): Made sure all components are specified in `Ga…
PierreMarguerie Jan 17, 2026
28ffe80
feat(server>entity>creation): All entities are now created with all t…
PierreMarguerie Jan 17, 2026
e44e22b
feat(components): Added component documentation
PierreMarguerie Jan 17, 2026
a0c0950
feat(server>lobby): Added loose condition (gameOver when everyone is …
PierreMarguerie Jan 17, 2026
54e0364
feat(common/packets): Added LobbyList and LobbyListAck packets
nl1x Jan 17, 2026
6aaf519
feat(server/lobby-manager): Added lobby::Manager::getLobbiesId() and …
nl1x Jan 17, 2026
5eb0ce4
feat(common/enums/packets): Added kLobbyList and kLobbyListAck to the…
nl1x Jan 17, 2026
00db6ae
feat(server/packets-dispatcher): Binded the packet LobbyList
nl1x Jan 17, 2026
4425c72
fix(lib>rtnt>core): Fixed heavy bandwidth usage due to ACK poor manag…
Shuvlyy Jan 17, 2026
cfd5e1c
tests(lib>rtnt): Drafted `stats` test.
Shuvlyy Jan 17, 2026
2564279
up(lib>rtnt): Changed protocol version from `0x0002` to `0x0003`.
Shuvlyy Jan 17, 2026
33a1e0b
docs(lib>rtnt): Improved docs.
Shuvlyy Jan 17, 2026
87e1ded
up(lib>rtnt): Changed version from `1.4.0` to `1.4.1`.
Shuvlyy Jan 17, 2026
71d60ea
up(lib>rtnt): Updated README.md file.
Shuvlyy Jan 17, 2026
8968694
up(lib>rtnt): Updated README.md file.
Shuvlyy Jan 17, 2026
7bcfe19
up(lib>rtnt): Updated RFC.
Shuvlyy Jan 17, 2026
33c7065
up(lib>rtnt): Updated README.md file.
Shuvlyy Jan 17, 2026
ad56433
up(lib>rtnt): Updated README.md file.
Shuvlyy Jan 17, 2026
ff3eaf4
up(lib>rtnt): Updated README.md file.
Shuvlyy Jan 17, 2026
cae2e96
docs(lib/rtecs): Changed systems unique_ptr to shared_ptr in README
nl1x Jan 17, 2026
2bdebe4
feat(server): Added ApplyMovement and BroadcastUpdatedMovements syste…
nl1x Jan 17, 2026
06f9d46
feat(server): Added Lobby::registerAllSystems() method in the Lobby c…
nl1x Jan 17, 2026
a75dd31
refactor(server): Changed the handle_user_input to update the velocit…
nl1x Jan 17, 2026
78dc4fb
fix(server/lobby): Replaced method getPlayerVelocity by getPlayerComp…
nl1x Jan 17, 2026
d337a29
fix(server/handler/input-packet): Commented unused variable
nl1x Jan 17, 2026
ad7c393
fix(server/cmake): Renamed the system broadcast_movement to broadcast…
nl1x Jan 17, 2026
54a2489
refactor(server): Changed the handle_user_input to update the velocit…
nl1x Jan 17, 2026
2ff6830
fix(server/handler/input-packet): Commented unused variable
nl1x Jan 17, 2026
dcba05d
refactor(server/handlers/input): Removed useless comments
nl1x Jan 17, 2026
5d3cc15
fix(server/systems): Fixed ApplyMovement system to make a better dete…
nl1x Jan 17, 2026
cc83713
fix(common/components/collision): Renamed is_trigger field to isTrigg…
nl1x Jan 17, 2026
e4067ef
feat(client>menus): Added a `MenuRenderer` system
PierreMarguerie Jan 17, 2026
b435261
feat(client>menus): Added `Button` class
PierreMarguerie Jan 17, 2026
5d49a06
feat(client>assets): Added button and background assets
PierreMarguerie Jan 17, 2026
4de2129
fix(client>menu>renderer): Fixed float warning
PierreMarguerie Jan 17, 2026
ca50277
feat(client>assets>fonts): Added basic font
PierreMarguerie Jan 17, 2026
aeb3ff2
fix(common>packets): Fixed miscellaneous small bugs
PierreMarguerie Jan 17, 2026
0e00496
feat(client>renderer>menus): Added LobbyList menu implementation
PierreMarguerie Jan 17, 2026
9491988
feat(client>packet>handler): Added `LobbyListAck` packet handler
PierreMarguerie Jan 17, 2026
ac63a43
feat(client>style): Cleaned up code
PierreMarguerie Jan 17, 2026
5b4d448
fix(server>lobby>join): Fixed race condition
PierreMarguerie Jan 17, 2026
f8867b6
fix(client>renderer>menus): Fixed menu not udpating upon successful l…
PierreMarguerie Jan 17, 2026
cec55f6
fix(lib>rteng): Fixed type mismatch between actual type and packet co…
PierreMarguerie Jan 18, 2026
81d6380
fix(common>packet>join-ack): Fixed `gameState` missing in serializati…
PierreMarguerie Jan 18, 2026
fb4b912
fix(server>lobby): Fixed uninitialized gameState value in lobby
PierreMarguerie Jan 18, 2026
ec5c5b2
fix(server>lobby>lose-condition): Fixed false-dead player computing
PierreMarguerie Jan 18, 2026
2d0c3d2
fix(client>renderer): Fixed asset filepath
PierreMarguerie Jan 18, 2026
891545f
up(lib>rtnt): Fixed RFC format
Shuvlyy Jan 18, 2026
9d5aa39
feat(nix): Packaged app into a nix flake derivation
ElectronicIV Jan 17, 2026
d51c005
feat(nix): Cleaned up some hacks used
ElectronicIV Jan 17, 2026
0bf7d63
feat(nix): Improved support for GL
ElectronicIV Jan 18, 2026
ccaca9f
feat(readme): Added nix usage explaination
ElectronicIV Jan 18, 2026
966dc27
refactor(nix): seprarated x11 libs from build inputs & added somme re…
ElectronicIV Jan 18, 2026
83eb67a
feat(nix): Added devShell
ElectronicIV Jan 18, 2026
1c27631
fix(CMakeLists.txt): Corrected conan detection
ElectronicIV Jan 18, 2026
7c13d87
refacot(cmake): Cleaned up ASIO_TARGET setup
ElectronicIV Jan 18, 2026
5d49af8
fix(ci): Removed parallel build.
Shuvlyy Jan 18, 2026
bf675c0
fix(ci): Reverted parallel fix, and added missing includes.
Shuvlyy Jan 18, 2026
1e99d7c
fix(ci): Added missing includes.
Shuvlyy Jan 18, 2026
93606bb
chore(ci): Removed useless jobs.
Shuvlyy Jan 18, 2026
d5cb2dc
up(ci): Updated `g++` version to 15, to use newer features such as fo…
Shuvlyy Jan 18, 2026
61d1665
up(ci): Updated `g++` version to 15, to use newer features such as fo…
Shuvlyy Jan 18, 2026
a7378c9
fix(ci): Fixed wrong g++ version
Shuvlyy Jan 18, 2026
2d20c0a
fix(ci): Fixed wrong compiler
Shuvlyy Jan 18, 2026
97bc9f7
up(ci): revert
Shuvlyy Jan 18, 2026
a6e6d03
up(ci): 🤬
Shuvlyy Jan 18, 2026
56ef3e7
up(ci): removed problematic log
Shuvlyy Jan 18, 2026
97b58ab
up(ci): removed problematic log
Shuvlyy Jan 18, 2026
15d817d
up(lib>rtnt>test>stats): Reduced packet amount to 8192 (otherwise the…
Shuvlyy Jan 18, 2026
78b53b1
feat(server>level): Added movement patterns
PierreMarguerie Jan 18, 2026
9103a37
feat(server>level): Added `straightSlow` pattern
PierreMarguerie Jan 18, 2026
bf9183c
feat(server>level); Added `wave` movement pattern
PierreMarguerie Jan 18, 2026
243022e
feat(server>level): Added chaotic `zigzag` movement pattern
PierreMarguerie Jan 18, 2026
6af0404
refactor(submodules): Removed yml-parser
ElectronicIV Jan 18, 2026
c655bff
refactor(conna): Removed all presence of imgui
ElectronicIV Jan 18, 2026
46d3c32
feat(doc): Added nlohmannjson to packatManager.md
ElectronicIV Jan 18, 2026
9efb483
fix(server>lobby>world-init): Fixed world init packet containing the …
PierreMarguerie Jan 18, 2026
47f5ba7
fix(client>packet>handler>world-init): Fixed `WorldInit` packet handl…
PierreMarguerie Jan 18, 2026
6c6921f
fix(common>packet>server): Fixed type of spawn packet `id` member
PierreMarguerie Jan 18, 2026
7e9e7a1
fix(common>packets): Fixed types mismatch
PierreMarguerie Jan 18, 2026
b153103
feat(server>update-position): Added velocity udpate in `UpdatePositio…
PierreMarguerie Jan 18, 2026
39834f0
fix(server>lobby>leaving): Added a test to check for empty lobbies
PierreMarguerie Jan 18, 2026
ade937a
feat(lib>rteng>ecs): Added a function to clear the ecs from all entities
PierreMarguerie Jan 18, 2026
6fd47b5
feat(server>lobby>level-director): Entities now spawn based on player…
PierreMarguerie Jan 18, 2026
f9178d1
fix(common>packet>position): Fixed wrong typename
PierreMarguerie Jan 18, 2026
db9f90c
ref(server>lobby): Changed lobbyId type `uint32_t` --> `uint16_t`
PierreMarguerie Jan 18, 2026
b48a239
feat(common>lobby-list): Added button to create and join a lobby
PierreMarguerie Jan 18, 2026
f9b777d
feat(server>lobby-manager): Added stopped lobby cleanup
PierreMarguerie Jan 18, 2026
f10120a
hotfix(server/systems): Fixed collision detection on ApplyMovement sy…
nl1x Jan 18, 2026
f05ddef
feat(server/systems): Added BroadcastDeadEntities system implementation
nl1x Jan 18, 2026
595c587
fix(server/cmake): Added src/systems/broadcast_dead_entities.cpp in s…
nl1x Jan 18, 2026
be75f41
feat(server/handlers/user-inputs): Added the component State to Bullets
nl1x Jan 18, 2026
3cc9c7e
feat(server/level-director/parse-ennemies): Added a state to the enemies
nl1x Jan 18, 2026
39c8bc1
feat(server/lobby): Added a method 'Lobby::killEntity'
nl1x Jan 18, 2026
7ba7af0
refactor(server/systems): Improved the way of moving entities
nl1x Jan 18, 2026
8838614
refactor(server/enums/player_state.hpp): Renamed the namespace player…
nl1x Jan 18, 2026
0a6d3ee
feat(lib/rtecs/ecs): Added a method 'getEntityComponent<T>(types::Ent…
nl1x Jan 18, 2026
9a8c35c
fix(server/lobby): Replaced player::state to entity::state
nl1x Jan 18, 2026
e132840
fix(server/lobby): Uncomment the registration of BroadcastDeadEntities
nl1x Jan 18, 2026
4b75f62
docs(server/systems): Added string doc of the ApplyMovement system
nl1x Jan 18, 2026
32973f5
fix(server>lobby>level-director): Fixed merge conflit induced error
PierreMarguerie Jan 18, 2026
b34607f
feat(server>lobby>level-director): Entities now spawn based on player…
PierreMarguerie Jan 18, 2026
dc263c0
feat(server/level-director/parse-ennemies): Added a state to the enemies
nl1x Jan 18, 2026
7c5aec0
fix(server/level-director): Fix compilation error
nl1x Jan 18, 2026
efe8cfb
fix(client>components): Fixed fat finger in animation struct
Babouye Jan 18, 2026
868e7fe
feat(client>gui): Added complete assetManager
Babouye Jan 18, 2026
5085f31
feat(client>handlers): Added animation handling in handle_spawn
Babouye Jan 18, 2026
bf80ca1
feat(client>systems): Added animationSystem
Babouye Jan 18, 2026
44d3047
feat(client>systems): Added engine and assetManager to renderer
Babouye Jan 18, 2026
4b75aff
feat(client>systems): Added animation drawing in renderer
Babouye Jan 18, 2026
1512916
feat(client): Registered new animationSystem in app.cpp
Babouye Jan 18, 2026
f530fad
feat(client>systems): Added scale calculation with hitbox
Babouye Jan 18, 2026
76d05de
feat(client>sprites): Switched player sprite now that the spritesheet…
Babouye Jan 18, 2026
43a128f
feat(client>sprites): Cropped bullet spritesheet and adapt related code
Babouye Jan 18, 2026
844b92a
ref(client>rendering): Changed background drawing from `MenuRenderer`…
PierreMarguerie Jan 18, 2026
e90be01
fix(client>rendering): Fixed flickering screen
PierreMarguerie Jan 18, 2026
3303057
ref(client>systems>renderer): Removed unused `GameEngine` reference
PierreMarguerie Jan 18, 2026
62c2154
feat(client>components): Added loop boolean in animation component
Babouye Jan 18, 2026
ccc2429
feat(client>gui): Handled new loop boolean in assetManager
Babouye Jan 18, 2026
666930c
feat(client>handlers): Added loop boolean to component on spawn
Babouye Jan 18, 2026
66f7869
feat(client>systems): Added animation system that allow to stop an an…
Babouye Jan 18, 2026
4ff6cf3
ref(client>assets): Added a common filepath prefix for easier path ad…
PierreMarguerie Jan 18, 2026
eb31d34
fix(merge): Fixed merge conflict induced error
PierreMarguerie Jan 18, 2026
0742253
fix(common>packet>server>join-ack): Fixed missing member in serialize…
PierreMarguerie Jan 18, 2026
920c0a8
fix(client>packet>handler>handle-join-ack): Fixed ignoring packet gam…
PierreMarguerie Jan 18, 2026
5b96ae3
fix(server>lobby>lobby-manager): Fixed lobbyManager creating too much…
PierreMarguerie Jan 18, 2026
4fd1608
up(readme): Reworked README.md file.
Shuvlyy Jan 18, 2026
7b65ee9
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
ea592b7
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
5f61ef2
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
3357c7c
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
69a41b0
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
d7ac631
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
d2db25f
up(readme): Updated README.md file.
Shuvlyy Jan 18, 2026
ece0a34
fix(build): Fixed windows warning
Shuvlyy Jan 18, 2026
4bb79f8
fix(build): Fixed windows warning
Shuvlyy Jan 18, 2026
f85cd50
fix(build): Fixed windows warning
Shuvlyy Jan 18, 2026
c9eb275
fix(lib>rtnt>tests>build): Fixed Windows warning.
Shuvlyy Jan 18, 2026
653d0d3
up(docs): Added windows precision conan
Shuvlyy Jan 18, 2026
b2218ae
up(docs): Added windows precision conan
Shuvlyy Jan 18, 2026
1b8d4b7
fix(client>packet>handlers): Fixed packet handler logic
PierreMarguerie Jan 18, 2026
9a78a5d
fix(server): Fixed server crashing when creating bullet
PierreMarguerie Jan 18, 2026
4895c34
fix(server>dead): Fixed server destroying players
PierreMarguerie Jan 18, 2026
b9a5c05
fix(server>dead): Fixed server destroying players
PierreMarguerie Jan 18, 2026
b71930e
fix(server>dead): Removed false dead state
PierreMarguerie Jan 18, 2026
f00d869
fix(server>dead): removed false dead state
PierreMarguerie Jan 18, 2026
1b6f039
fix(server>game-over): Fixed game not resetting when game is over
PierreMarguerie Jan 18, 2026
c788cac
fix(lib>rtecs): Fixed rtecs
PierreMarguerie Jan 18, 2026
98b453b
fix(client>render): Fixed asset
PierreMarguerie Jan 18, 2026
720c2df
fix(server>lobby>lobby-manager): Fixed wrong lobby assigned when crea…
PierreMarguerie Jan 18, 2026
91cde2f
up(readme): Added windows build precision
Shuvlyy Jan 18, 2026
a288560
fix(client>systems>IO): Added hitbox show and changed input
PierreMarguerie Jan 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 15 additions & 16 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignAfterOpenBracket: true
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
Expand Down Expand Up @@ -79,8 +79,8 @@ AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: true
BinPackArguments: false
BinPackParameters: AlwaysOnePerLine
BitFieldColonSpacing: Both
BreakBeforeBraces: Custom
BraceWrapping:
Expand Down Expand Up @@ -116,8 +116,8 @@ BreakFunctionDefinitionParameters: false
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
BreakTemplateDeclarations: Yes
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
ColumnLimit: 100
CommentPragmas: "^ IWYU pragma:"
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Expand All @@ -144,16 +144,16 @@ IncludeCategories:
Priority: 1
SortPriority: 0
CaseSensitive: false
- Regex: '^<.*'
- Regex: "^<.*"
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
- Regex: ".*"
Priority: 3
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '([-_](test|unittest))?$'
IncludeIsMainSourceRegex: ''
IncludeIsMainRegex: "([-_](test|unittest))?$"
IncludeIsMainSourceRegex: ""
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
Expand Down Expand Up @@ -181,8 +181,8 @@ KeepEmptyLines:
AtStartOfFile: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
MacroBlockBegin: ""
MacroBlockEnd: ""
MainIncludeChar: Quote
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
Expand All @@ -193,7 +193,7 @@ ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: NextLineOnly
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakBeforeFirstCallParameter: 0
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
Expand All @@ -214,9 +214,9 @@ RawStringFormats:
- cpp
- Cpp
- CPP
- 'c++'
- 'C++'
CanonicalDelimiter: ''
- "c++"
- "C++"
CanonicalDelimiter: ""
BasedOnStyle: google
- Language: TextProto
Delimiters:
Expand Down Expand Up @@ -304,4 +304,3 @@ WhitespaceSensitiveMacros:
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
...
33 changes: 28 additions & 5 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
name: CI/CD R-Type

on:
push:
branches: ["**"]
pull_request:
branches: ["main"]
branches: ["main", "dev"]

jobs:
check-coding-style:
Expand Down Expand Up @@ -53,6 +51,21 @@ jobs:
- name: Configure Conan Profile
run: conan profile detect --force

- name: Get Conan home
id: conan_home
shell: bash
run: |
echo "home=$(conan config home)" >> $GITHUB_OUTPUT

- name: Cache Conan packages
id: cache-conan
uses: actions/cache@v4
with:
path: ${{ steps.conan_home.outputs.home }}
key: conan-${{ matrix.os }}-${{ hashFiles('conanfile.txt') }}
restore-keys: |
conan-${{ matrix.os }}-

- name: Install Dependencies with Conan
shell: bash
run: |
Expand All @@ -66,12 +79,22 @@ jobs:

- name: Configure CMake
shell: bash
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake -DBUILD_TESTS=ON

- name: Build Project
shell: bash
run: cmake --build build --config Release
run: cmake --build build --config Release --parallel

- name: Run Tests
working-directory: build
run: ctest --output-on-failure -C Release

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: rtype-binaries-${{ matrix.os }}
path: |
build/**/r-type_client*
build/**/r-type_server*
retention-days: 5
if-no-files-found: warn
95 changes: 95 additions & 0 deletions .github/workflows/lib-rtecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: CI/CD R-Type (rtecs)

on:
pull_request:
branches: ["main", "dev"]
push:
branches: ["*rtecs*"]

jobs:
build-and-test-on-rtecs:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # If one failed, don't cancel the other jobs (Kinda like a debug option)
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v4
with:
submodules: recursive # Checkout doesn't fetch submodules so it has to be done manually

- name: Install system dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
ninja-build \
pkg-config \
g++-15

- name: Install system dependencies (Mac)
if: matrix.os == 'macos-latest'
run: brew install cmake ninja

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.x"

- name: Install Conan
run: pip install conan

- name: Configure Conan Profile
run: conan profile detect --force

- name: Get Conan home
id: conan_home
shell: bash
run: |
echo "home=$(conan config home)" >> $GITHUB_OUTPUT

- name: Cache Conan packages
id: cache-conan
uses: actions/cache@v4
with:
path: ${{ steps.conan_home.outputs.home }}
key: conan-${{ matrix.os }}-${{ hashFiles('conanfile.txt') }}
restore-keys: |
conan-${{ matrix.os }}-

- name: Install all dependencies with conan
shell: bash
run: |
conan install lib/rtecs \
--output-folder=lib/rtecs/build \
--build=missing \
-s build_type=Release \
-s compiler.cppstd=23 \
-c tools.system.package_manager:mode=install \
-c tools.system.package_manager:sudo=True

- name: Configure CMake
shell: bash
run: cmake -S lib/rtecs -B lib/rtecs/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake -DRTECS_BUILD_TESTS=ON

- name: Build Project
shell: bash
run: cmake --build lib/rtecs/build --config Release

- name: Run Tests
working-directory: lib/rtecs/build
run: ctest --output-on-failure -C Release

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: rtecs-binaries-${{ matrix.os }}
path: |
lib/rtecs/build/lib/librtecs.a
lib/rtecs/build/tests/rtecs_tests
lib/rtecs/build/tests/logs/latest.log
retention-days: 5
if-no-files-found: warn
95 changes: 95 additions & 0 deletions .github/workflows/lib-rteng.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: CI/CD R-Type (rteng)

on:
pull_request:
branches: ["main", "dev"]
push:
branches: ["*rteng*"]

jobs:
build-and-test-on-rteng:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # If one failed, don't cancel the other jobs (Kinda like a debug option)
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v4
with:
submodules: recursive # Checkout doesn't fetch submodules so it has to be done manually

- name: Install system dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
ninja-build \
pkg-config \
g++-15

- name: Install system dependencies (Mac)
if: matrix.os == 'macos-latest'
run: brew install cmake ninja

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.x"

- name: Install Conan
run: pip install conan

- name: Configure Conan Profile
run: conan profile detect --force

- name: Get Conan home
id: conan_home
shell: bash
run: |
echo "home=$(conan config home)" >> $GITHUB_OUTPUT

- name: Cache Conan packages
id: cache-conan
uses: actions/cache@v4
with:
path: ${{ steps.conan_home.outputs.home }}
key: conan-${{ matrix.os }}-${{ hashFiles('conanfile.txt') }}
restore-keys: |
conan-${{ matrix.os }}-

- name: Install all dependencies with conan
shell: bash
run: |
conan install lib/rteng \
--output-folder=lib/rteng/build \
--build=missing \
-s build_type=Release \
-s compiler.cppstd=23 \
-c tools.system.package_manager:mode=install \
-c tools.system.package_manager:sudo=True

- name: Configure CMake
shell: bash
run: cmake -S lib/rteng -B lib/rteng/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake -DRTENG_BUILD_TESTS=ON

- name: Build Project
shell: bash
run: cmake --build lib/rteng/build --config Release --parallel

- name: Run Tests
working-directory: lib/rteng/build
run: ctest --output-on-failure -C Release

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: rteng-binaries-${{ matrix.os }}
path: |
lib/rteng/build/lib/librteng.a
lib/rteng/build/tests/rteng_tests
lib/rteng/build/tests/logs/latest.log
retention-days: 5
if-no-files-found: warn
Loading
Loading