feat: initial idea for paresing

This commit is contained in:
AfonsoCMSousa
2026-01-08 00:26:30 +00:00
parent e5d09e9741
commit 7072f17842
4 changed files with 161 additions and 7 deletions
+2
View File
@@ -4,6 +4,8 @@
#include <sys/cdefs.h>
#include <sys/types.h>
#define MAX_PLAYERS 64
typedef struct handshake {
// [not used in the current Remote Telemtry version by AC]
// In future versions it will identify the platform type of the client.
+34
View File
@@ -0,0 +1,34 @@
#ifndef SESSION_MANAGER_HPP
#define SESSION_MANAGER_HPP
#include "server_structs.h"
#include <string.h>
#include <cstring>
class SessionManager {
private:
trackAtributes track_info;
carAtributes players[MAX_PLAYERS];
u_int8_t connected_players;
u_int8_t server_id;
public:
SessionManager(u_int8_t sid);
~SessionManager();
void on_new_session(const trackAtributes &track);
void on_player_connected(const carAtributes &car);
void on_player_finished_loading(u_int8_t car_id);
void on_player_disconnected(u_int8_t car_id);
void on_car_update(const carAtributes &car);
void on_lap_completed(u_int8_t car_id, u_int32_t lap_time, u_int32_t cuts);
void on_collision(u_int8_t car1, u_int8_t car2);
api_packet build_packet(u_int8_t message_type);
const trackAtributes& get_track_info() const { return track_info; }
const carAtributes* get_players() const { return players; }
u_int8_t get_connected_players() const { return connected_players; }
};
#endif