Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
Loading...
Searching...
No Matches
rtp::client Namespace Reference

R-Type client namespace. More...

Namespaces

namespace  graphics
 
namespace  interfaces
 
namespace  scenes
 
namespace  systems
 
namespace  UIConstants
 

Classes

class  AnimationSystem
 
class  Application
 Main application class for the R-Type client. More...
 
class  AssetManager
 Manages loading and storage of graphical assets. More...
 
class  AudioSystem
 System responsible for handling audio playback (music, SFX, ambient) More...
 
class  ClientNetwork
 
class  EntityBuilder
 
struct  EntityTemplate
 
class  InputSystem
 
class  NetworkSyncSystem
 System to handle network-related operations on the client side. More...
 
class  ParallaxSystem
 
class  RenderSystem
 
class  ScoreSystem
 
class  Settings
 Manages game settings and preferences. More...
 
class  ShieldSystem
 System responsible for managing shield visual effects. More...
 
class  SpriteCustomizer
 Singleton class to manage custom sprite mappings globally. More...
 
class  TranslationManager
 Manages game translations for all UI elements. More...
 
class  UISystem
 System responsible for handling menu interactions. More...
 

Enumerations

enum class  Language {
  English , French , Spanish , German ,
  Italian
}
 Supported languages. More...
 
enum class  ColorBlindMode { None , Protanopia , Deuteranopia , Tritanopia }
 Color blind assistance modes. More...
 
enum class  Difficulty { Easy , Normal , Hard , Infernal }
 Game difficulty levels (solo mode only) More...
 
enum class  GameState {
  NotInit , Menu , Login , Lobby ,
  CreateRoom , RoomWaiting , Playing , Settings ,
  KeyBindings , GamepadSettings , Paused , ModMenu ,
  GameOver
}
 
enum class  KeyAction {
  MoveUp , MoveDown , MoveLeft , MoveRight ,
  Shoot , Reload , Pause , Menu
}
 Actions that can be bound to keys. More...
 

Variables

bool g_drawDebugBounds = false
 
static void * s_worldRenderSystem = nullptr
 
static void * s_uiRenderSystem = nullptr
 

Detailed Description

R-Type client namespace.

File : UiFactory.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : ShieldSystem.cpp License: MIT Author : Angel SEVERAN angel.nosp@m..sev.nosp@m.eran@.nosp@m.epit.nosp@m.ech.e.nosp@m.u Date : 17/01/2026.

File : RenderSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 16/12/2025.

File : NetworkSyncSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

File : AudioSystem.cpp License: MIT Author : Enzo LOBATO COUTINHO enzo..nosp@m.loba.nosp@m.to-co.nosp@m.utin.nosp@m.ho@ep.nosp@m.itec.nosp@m.h.eu Date : 17/01/2026.

File : SettingsScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : RoomWaitingScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayingScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PauseScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : ModMenuScene.cpp License: MIT Author : GitHub Copilot Date : 14/01/2026.

File : MenuScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : LoginScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : LobbyScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : KeyBindingScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : GamepadSettingsScene.cpp License: MIT Author : GitHub Copilot Date : 13/01/2026.

File : GameOverScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : CreateRoomScene.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : Network.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : SpriteCustomizer.cpp License: MIT Author : GitHub Copilot Date : 14/01/2026.

File : KeyAction.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : GameState.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : DebugFlags.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : UiFactory.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : ShieldSystem.hpp License: MIT Author : Angel SEVERAN angel.nosp@m..sev.nosp@m.eran@.nosp@m.epit.nosp@m.ech.e.nosp@m.u Date : 17/01/2026.

File : RenderSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

File : NetworkSyncSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

File : InputSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 14/12/2025.

File : AudioSystem.hpp License: MIT Author : Enzo LOBATO COUTINHO enzo..nosp@m.loba.nosp@m.to-co.nosp@m.utin.nosp@m.ho@ep.nosp@m.itec.nosp@m.h.eu Date : 17/01/2026.

File : AnimationSystem.hpp License: MIT Author : Enzo LOBATO COUTINHO enzo..nosp@m.loba.nosp@m.to-co.nosp@m.utin.nosp@m.ho@ep.nosp@m.itec.nosp@m.h.eu Date : 14/12/2025.

File : SettingsScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : RoomWaitingScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayingScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PauseScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : ModMenuScene.hpp License: MIT Author : GitHub Copilot Date : 14/01/2026.

File : MenuScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : LoginScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : LobbyScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : KeyBindingScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : GamepadSettingsScene.hpp License: MIT Author : GitHub Copilot Date : 13/01/2026.

File : GameOverScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : CreateRoomScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : IScene.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : SpriteCustomizer.hpp License: MIT Author : GitHub Copilot Date : 14/01/2026.

Systems for R-Type client

Enumeration Type Documentation

◆ ColorBlindMode

enum class rtp::client::ColorBlindMode
strong

Color blind assistance modes.

Enumerator
None 
Protanopia 
Deuteranopia 
Tritanopia 

Definition at line 45 of file Settings.hpp.

◆ Difficulty

enum class rtp::client::Difficulty
strong

Game difficulty levels (solo mode only)

Enumerator
Easy 
Normal 
Hard 
Infernal 

Definition at line 56 of file Settings.hpp.

◆ GameState

enum class rtp::client::GameState
strong
Enumerator
NotInit 

Uninitialized state.

Menu 

Main menu state.

Login 

Login screen state.

Lobby 

Lobby state.

CreateRoom 

Create room state.

RoomWaiting 

Room waiting state.

Playing 

In-game playing state.

Settings 

Settings menu state.

KeyBindings 

Key bindings configuration state.

GamepadSettings 

Gamepad settings configuration state.

Paused 

Game paused state.

ModMenu 

Mod menu state.

GameOver 

Game over state.

Definition at line 20 of file GameState.hpp.

◆ KeyAction

enum class rtp::client::KeyAction
strong

Actions that can be bound to keys.

Enumerator
MoveUp 

Action for moving up.

MoveDown 

Action for moving down.

MoveLeft 

Action for moving left.

MoveRight 

Action for moving right.

Shoot 

Action for shooting.

Reload 

Action for reloading.

Pause 

Action for pausing the game.

Menu 

Action for opening the menu.

Definition at line 16 of file KeyAction.hpp.

◆ Language

enum class rtp::client::Language
strong

Supported languages.

Enumerator
English 
French 
Spanish 
German 
Italian 

Definition at line 33 of file Settings.hpp.

Variable Documentation

◆ g_drawDebugBounds

bool rtp::client::g_drawDebugBounds = false
inline

◆ s_uiRenderSystem

void* rtp::client::s_uiRenderSystem = nullptr
static

◆ s_worldRenderSystem

void* rtp::client::s_worldRenderSystem = nullptr
static