diff --git a/core/math.odin b/core/math.odin index f5d4e7946..8bc288185 100644 --- a/core/math.odin +++ b/core/math.odin @@ -413,8 +413,8 @@ axis_angle :: proc(axis: Vec3, angle_radians: f32) -> Quat { euler_angles :: proc(pitch, yaw, roll: f32) -> Quat { p := axis_angle(Vec3{1, 0, 0}, pitch); - y := axis_angle(Vec3{0, 1, 0}, pitch); - r := axis_angle(Vec3{0, 0, 1}, pitch); + y := axis_angle(Vec3{0, 1, 0}, yaw); + r := axis_angle(Vec3{0, 0, 1}, roll); return mul(mul(y, p), r); } diff --git a/core/sys/windows.odin b/core/sys/windows.odin index d8269667d..6b6d0c56e 100644 --- a/core/sys/windows.odin +++ b/core/sys/windows.odin @@ -557,6 +557,11 @@ foreign kernel32 { inherit_handle: Bool, creation_flags: u32, environment: rawptr, current_direcotry: cstring, startup_info: ^Startup_Info, process_information: ^Process_Information) -> Bool ---; + @(link_name="CreateProcessW") create_process_w :: proc(application_name, command_line: Wstring, + process_attributes, thread_attributes: ^Security_Attributes, + inherit_handle: Bool, creation_flags: u32, environment: rawptr, + current_direcotry: cstring, startup_info: ^Startup_Info, + process_information: ^Process_Information) -> Bool ---; @(link_name="GetExitCodeProcess") get_exit_code_process :: proc(process: Handle, exit: ^u32) -> Bool ---; @(link_name="ExitProcess") exit_process :: proc(exit_code: u32) ---; @(link_name="GetModuleHandleA") get_module_handle_a :: proc(module_name: cstring) -> Hinstance ---; @@ -784,7 +789,12 @@ foreign user32 { @(link_name="SetForegroundWindow") set_foreground_window :: proc(h: Hwnd) -> Bool ---; @(link_name="SetFocus") set_focus :: proc(h: Hwnd) -> Hwnd ---; - @(link_name="LoadCursorA") load_cursor_a :: proc(instance: Hinstance, cursor_name: cstring) -> Hcursor ---; + + @(link_name="LoadImageA") load_image_a :: proc(instance: Hinstance, name: cstring, type_: u32, x_desired, y_desired : i32, load : u32) -> Handle ---; + @(link_name="LoadIconA") load_icon_a :: proc(instance: Hinstance, icon_name: cstring) -> Hicon ---; + @(link_name="DestroyIcon") destroy_icon :: proc(icon: Hicon) -> Bool ---; + + @(link_name="LoadCursorA") load_cursor_a :: proc(instance: Hinstance, cursor_name: cstring) -> Hcursor ---; @(link_name="GetCursor") get_cursor :: proc() -> Hcursor ---; @(link_name="SetCursor") set_cursor :: proc(cursor: Hcursor) -> Hcursor ---;