From e303539f7ee35dfe5764c77c796e3d600a31ab72 Mon Sep 17 00:00:00 2001 From: Daniel Bross Date: Mon, 30 Jun 2025 23:34:34 +0200 Subject: [PATCH] Networking work --- core/camera.jai | 3 ++- core/entity.jai | 1 + module.jai | 8 +++++++- networking/networking.jai | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/camera.jai b/core/camera.jai index fd87225..6a43750 100644 --- a/core/camera.jai +++ b/core/camera.jai @@ -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; diff --git a/core/entity.jai b/core/entity.jai index 3eed343..6f526f7 100644 --- a/core/entity.jai +++ b/core/entity.jai @@ -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 } diff --git a/module.jai b/module.jai index a3a91f6..f9950bd 100644 --- a/module.jai +++ b/module.jai @@ -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); diff --git a/networking/networking.jai b/networking/networking.jai index 9459429..7ec8553 100644 --- a/networking/networking.jai +++ b/networking/networking.jai @@ -593,4 +593,4 @@ state : Net_Networking_State; Thread :: #import "Thread"; #import "Basic"; -Socket :: #import "Socket"; \ No newline at end of file +Socket :: #import "Socket";