Fixed for compiler version 0.2.012
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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});
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user