Networking work

This commit is contained in:
2025-06-30 23:34:34 +02:00
parent 421dc3f2a5
commit e303539f7e
4 changed files with 11 additions and 3 deletions

View File

@@ -140,7 +140,8 @@ screen_to_world :: (camera: Camera, screen_position: Vector2, distance: float) -
pos.z = 0.0;
pos.w = 1.0;
success :, result := inverse(camera.projection_matrix * camera.view_matrix) * pos;
success, mat := inverse(camera.projection_matrix * camera.view_matrix);
result := mat * pos;
result.x /= result.w;
result.y /= result.w;
result.z /= result.w;

View File

@@ -85,6 +85,7 @@ Entity :: struct {
#if NETWORKING {
remote_id: Entity_Id; @DontSerialize
client_id: Client_Id; @DontSerialize
is_proxy: bool; @DontSerialize
last_replication_time: float; @DontSerialize
}

View File

@@ -33,6 +33,8 @@ Engine_Core :: struct {
input : Input_State;
current_scene: *Scene;
automatically_load_last_opened_scene: bool = true;
camera_buffer : Buffer_Handle;
time_buffer : Buffer_Handle;
screen_data_buffer : Buffer_Handle;
@@ -86,13 +88,17 @@ coven_init :: (window_title: string, window_width: u32, window_height: u32, full
ui_init();
}
#if WITH_NETWORKING {
net_init();
}
find_all_mesh_entities();
run_engine_inits();
}
coven_run :: (game_update_proc: (float), game_editor_update_proc: (float), game_update_post_physics_proc: (float)) {
if engine.current_scene == null {
if engine.current_scene == null && engine.automatically_load_last_opened_scene {
last_opened_scene := get_last_opened_scene_file();
if last_opened_scene.count > 0 {
engine.current_scene = load_scene(last_opened_scene);