From 69bafff6e9b87da8a038ebc04d3d575dc7428820 Mon Sep 17 00:00:00 2001 From: Daniel Bross Date: Thu, 22 May 2025 22:13:14 +0200 Subject: [PATCH] Fixed for compiler version 0.2.012 --- core/camera.jai | 11 ++++++----- input/sdl_input.jai | 6 +++--- physics/physics.jai | 2 +- renderer/dx11_renderer.jai | 14 +++++++------- renderer/engine_buffers.jai | 4 ++-- renderer/mesh.jai | 2 +- renderer/renderer.jai | 2 +- 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/core/camera.jai b/core/camera.jai index 87d5540..fd87225 100644 --- a/core/camera.jai +++ b/core/camera.jai @@ -140,7 +140,7 @@ screen_to_world :: (camera: Camera, screen_position: Vector2, distance: float) - pos.z = 0.0; pos.w = 1.0; - result := inverse(camera.projection_matrix * camera.view_matrix) * pos; + success :, result := inverse(camera.projection_matrix * camera.view_matrix) * pos; result.x /= result.w; result.y /= result.w; result.z /= result.w; @@ -178,7 +178,7 @@ normalized_screen_to_ray_v2 :: (camera: Camera, screen_position: Vector2) -> Ray far.z = 1.0; far.w = 1.0; - inverse_view_proj := inverse(camera.projection_matrix * camera.view_matrix); + success :, inverse_view_proj := inverse(camera.projection_matrix * camera.view_matrix); ray_origin := inverse_view_proj * origin; ray_end := inverse_view_proj * far; @@ -211,7 +211,7 @@ screen_to_ray_v2 :: (camera: Camera, screen_position: Vector2, screen_size: Vect far.z = 1.0; far.w = 1.0; - inverse_view_proj := inverse(camera.projection_matrix * camera.view_matrix); + success :, inverse_view_proj := inverse(camera.projection_matrix * camera.view_matrix); ray_origin := inverse_view_proj * origin; ray_end := inverse_view_proj * far; @@ -241,11 +241,12 @@ screen_to_ray :: (camera: *Camera, screen_position: Vector2, screen_size: Vector ray_clip.z = -1.0; ray_clip.w = 1.0; - ray_eye := inverse(camera.projection_matrix) * ray_clip; + success :, ray_eye := inverse(camera.projection_matrix) * ray_clip; ray_eye.z = 1.0; ray_eye.w = 0.0; - ray_world := to_v3(inverse(camera.view_matrix) * ray_eye); + success2 :, inv_cam_matrix := inverse(camera.view_matrix); + ray_world := to_v3(inv_cam_matrix * ray_eye); ray.direction = normalize(ray_world); return ray; diff --git a/input/sdl_input.jai b/input/sdl_input.jai index 9fd3872..a33807f 100644 --- a/input/sdl_input.jai +++ b/input/sdl_input.jai @@ -94,14 +94,14 @@ update_sdl_input :: () { engine.input.exit = true; } case SDL_KEYDOWN; { - keycode, success := table_find(*key_mappings, event.key.keysym.sym); + success, keycode := table_find_new(*key_mappings, event.key.keysym.sym); if success { update_key_state(keycode, true); } } case SDL_KEYUP; { - keycode, success := table_find(*key_mappings, event.key.keysym.sym); + success, keycode := table_find_new(*key_mappings, event.key.keysym.sym); if success { update_key_state(keycode, false); @@ -249,7 +249,7 @@ sdl_gamepad_button_update :: (using event : SDL_ControllerButtonEvent) { } down := state == SDL_PRESSED; - gamepad_button, success := table_find(*sdl_button_map, cast(SDL_GameControllerButton)button); + success, gamepad_button := table_find_new(*sdl_button_map, cast(SDL_GameControllerButton)button); if success { gamepad := *engine.input.gamepads[which]; diff --git a/physics/physics.jai b/physics/physics.jai index a8f9eb0..be99732 100644 --- a/physics/physics.jai +++ b/physics/physics.jai @@ -267,7 +267,7 @@ physics_step :: (scene: *Scene, timestep: float) { if other_e.flags & .COLLISION { if other_e.collider.type == .AABB { - inv_matrix := inverse(other_e.transform.model_matrix); + success :, inv_matrix := inverse(other_e.transform.model_matrix); aabb := other_e.collider.aabb; if point_inside_aabb(aabb, transform_position(e.transform.position, inv_matrix)) { add_trigger_overlap_if_new(other_e, e); diff --git a/renderer/dx11_renderer.jai b/renderer/dx11_renderer.jai index 6dfdf50..2560f7f 100644 --- a/renderer/dx11_renderer.jai +++ b/renderer/dx11_renderer.jai @@ -571,7 +571,7 @@ get_shader_info_from_blob :: (blob: *ID3DBlob, shader_type: Shader_Type) -> Shad return shader_info; } -create_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: string, source: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader #must, Shader_Info, bool { +create_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: string, source: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader, Shader_Info, bool { shader_model : string; if shader_type == .VERTEX shader_model = "vs_4_0"; @@ -608,7 +608,7 @@ create_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: stri return shader, shader_info, true; } -create_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader #must, Shader_Info, bool { +create_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader, Shader_Info, bool { content := read_entire_file(path); if !content return .{}, .{}, false; defer free(content); @@ -618,7 +618,7 @@ create_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_po return shader, info, success; } -reload_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader #must, bool { +reload_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader, bool { content := read_entire_file(path); if !content return .{}, false; defer free(content); @@ -628,7 +628,7 @@ reload_backend_shader :: (using renderer: *D3D11_Backend, path: string, entry_po return shader, success; } -reload_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: string, source: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader #must, bool { +reload_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: string, source: string, entry_point: string, shader_type: Shader_Type, defines: [] string = string.[]) -> Backend_Shader, bool { shader_model : string; if shader_type == .VERTEX shader_model = "vs_4_0"; @@ -663,7 +663,7 @@ reload_backend_shader_from_source :: (using renderer: *D3D11_Backend, name: stri return shader, true; } -create_backend_blend_state :: (using renderer: *D3D11_Backend, type: Blend_Type) -> Backend_Blend_State #must, bool { +create_backend_blend_state :: (using renderer: *D3D11_Backend, type: Blend_Type) -> Backend_Blend_State, bool { blend_state : Backend_Blend_State; if type == { @@ -907,7 +907,7 @@ create_backend_input_layout2 :: (using renderer: *D3D11_Backend, layout: [] Vert return vertex_layout; } -create_backend_buffer :: (using renderer: *D3D11_Backend, data: *void, size: u32, stride: u32, type: Buffer_Type, mappable: bool) -> Backend_Buffer #must, bool { +create_backend_buffer :: (using renderer: *D3D11_Backend, data: *void, size: u32, stride: u32, type: Buffer_Type, mappable: bool) -> Backend_Buffer, bool { bd : D3D11_BUFFER_DESC; flag : D3D11_BIND_FLAG; @@ -981,7 +981,7 @@ destroy_backend_buffer :: (using backend: *D3D11_Backend, buffer: Backend_Buffer } } -map_backend_buffer :: (using backend: *D3D11_Backend, buffer: Backend_Buffer) -> *void #must { +map_backend_buffer :: (using backend: *D3D11_Backend, buffer: Backend_Buffer) -> *void{ mapped_resource : D3D11_MAPPED_SUBRESOURCE; memset(*mapped_resource, 0, size_of(D3D11_MAPPED_SUBRESOURCE)); ID3D11DeviceContext_Map(d3d_context, buffer.buffer, 0, .D3D11_MAP_WRITE_DISCARD, 0, *mapped_resource); diff --git a/renderer/engine_buffers.jai b/renderer/engine_buffers.jai index ceb6321..2fe5b58 100644 --- a/renderer/engine_buffers.jai +++ b/renderer/engine_buffers.jai @@ -4,7 +4,7 @@ calc_tight_light_projection :: (camera: Camera, light_direction: Vector3) -> Mat frustum := get_frustum(camera.fov, aspect_ratio, camera.z_near, camera.z_far); // View frustum back to world space - inv_camera_view := inverse(camera.view_matrix); + success :, inv_camera_view := inverse(camera.view_matrix); view_frustum_in_world_space := transform(frustum, inv_camera_view); light_view := look_at_lh(.{0,0,0}, light_direction, .{0,1,0}); @@ -15,7 +15,7 @@ calc_tight_light_projection :: (camera: Camera, light_direction: Vector3) -> Mat top_right := Vector3.{aabb.max.x, aabb.max.y, aabb.min.z}; light_pos_world := (bottom_left + top_right) * 0.5; - inverse_light_view := inverse(light_view); + succes, inverse_light_view := inverse(light_view); light_pos_world = transform_position(light_pos_world, inverse_light_view); light_view = look_at_lh(light_pos_world, light_pos_world + light_direction, .{0,1,0}); diff --git a/renderer/mesh.jai b/renderer/mesh.jai index a9e1458..a646480 100644 --- a/renderer/mesh.jai +++ b/renderer/mesh.jai @@ -180,7 +180,7 @@ get_mesh_vb :: (mesh: *Mesh, input: [] Mesh_Vertex_Data_Type) -> Buffer_Handle { table_add(*mesh.vbs, hash, vb); } - value, success := table_find(*mesh.vbs, hash); + success, value := table_find_new(*mesh.vbs, hash); return value; } diff --git a/renderer/renderer.jai b/renderer/renderer.jai index b4361df..c1c7449 100644 --- a/renderer/renderer.jai +++ b/renderer/renderer.jai @@ -1410,7 +1410,7 @@ push_cmd_set_depth_write :: (using renderer: *Renderer, enabled: bool) { array_add(*engine.renderer.command_buffer.commands, command); } -map_buffer :: (using renderer: *Renderer, handle: Buffer_Handle) -> *void #must { +map_buffer :: (using renderer: *Renderer, handle: Buffer_Handle) -> *void{ assert(handle > 0); buffer := parray_get(*buffers, handle);