Use #by_ptr and @(require_results) were useful

This commit is contained in:
gingerBill
2022-11-04 12:21:01 +00:00
parent f30755a871
commit 7a6e8543a6
+24 -10
View File
@@ -608,10 +608,11 @@ data :: struct {
file: file_options, file: file_options,
} }
parse :: proc "c" (options: ^/*const*/options, data_ptr: rawptr, size: uint) -> (out_data: ^data, res: result) { @(require_results)
parse :: proc "c" (#by_ptr options: options, data_ptr: rawptr, size: uint) -> (out_data: ^data, res: result) {
foreign lib { foreign lib {
cgltf_parse :: proc "c" ( cgltf_parse :: proc "c" (
options: ^/*const*/options, #by_ptr options: options,
data_ptr: rawptr, data_ptr: rawptr,
size: uint, size: uint,
out_data: ^^data) -> result --- out_data: ^^data) -> result ---
@@ -620,10 +621,11 @@ parse :: proc "c" (options: ^/*const*/options, data_ptr: rawptr, size: uint) ->
return return
} }
parse_file :: proc "c" (options: ^/*const*/options, path: cstring) -> (out_data: ^data, res: result) { @(require_results)
parse_file :: proc "c" (#by_ptr options: options, path: cstring) -> (out_data: ^data, res: result) {
foreign lib { foreign lib {
cgltf_parse_file :: proc "c" ( cgltf_parse_file :: proc "c" (
options: ^/*const*/options, #by_ptr options: options,
path: cstring, path: cstring,
out_data: ^^data) -> result --- out_data: ^^data) -> result ---
} }
@@ -631,9 +633,10 @@ parse_file :: proc "c" (options: ^/*const*/options, path: cstring) -> (out_data:
return return
} }
load_buffer_base64 :: proc "c" (options: ^/*const*/options, size: uint, base64: cstring) -> (out_data: rawptr, res: result) { @(require_results)
load_buffer_base64 :: proc "c" (#by_ptr options: options, size: uint, base64: cstring) -> (out_data: rawptr, res: result) {
foreign lib { foreign lib {
cgltf_load_buffer_base64 :: proc "c" (options: ^/*const*/options, size: uint, base64: cstring, out_data: ^rawptr) -> result --- cgltf_load_buffer_base64 :: proc "c" (#by_ptr options: options, size: uint, base64: cstring, out_data: ^rawptr) -> result ---
} }
res = cgltf_load_buffer_base64(options, size, base64, &out_data) res = cgltf_load_buffer_base64(options, size, base64, &out_data)
return return
@@ -642,14 +645,18 @@ load_buffer_base64 :: proc "c" (options: ^/*const*/options, size: uint, base64:
@(default_calling_convention="c") @(default_calling_convention="c")
@(link_prefix="cgltf_") @(link_prefix="cgltf_")
foreign lib { foreign lib {
@(require_results)
load_buffers :: proc( load_buffers :: proc(
options: ^/*const*/options, #by_ptr options: options,
data: ^data, data: ^data,
gltf_path: cstring) -> result --- gltf_path: cstring) -> result ---
@(require_results)
decode_string :: proc(string: [^]byte) -> uint --- decode_string :: proc(string: [^]byte) -> uint ---
@(require_results)
decode_uri :: proc(uri: [^]byte) -> uint --- decode_uri :: proc(uri: [^]byte) -> uint ---
@(require_results)
validate :: proc(data: ^data) -> result --- validate :: proc(data: ^data) -> result ---
free :: proc(data: ^data) --- free :: proc(data: ^data) ---
@@ -657,19 +664,26 @@ foreign lib {
node_transform_local :: proc(node: ^node, out_matrix: [^]f32) --- node_transform_local :: proc(node: ^node, out_matrix: [^]f32) ---
node_transform_world :: proc(node: ^node, out_matrix: [^]f32) --- node_transform_world :: proc(node: ^node, out_matrix: [^]f32) ---
@(require_results)
accessor_read_float :: proc(accessor: ^/*const*/accessor, index: uint, out: [^]f32, element_size: uint) -> b32 --- accessor_read_float :: proc(accessor: ^/*const*/accessor, index: uint, out: [^]f32, element_size: uint) -> b32 ---
@(require_results)
accessor_read_uint :: proc(accessor: ^/*const*/accessor, index: uint, out: [^]c.uint, element_size: uint) -> b32 --- accessor_read_uint :: proc(accessor: ^/*const*/accessor, index: uint, out: [^]c.uint, element_size: uint) -> b32 ---
@(require_results)
accessor_read_index :: proc(accessor: ^/*const*/accessor, index: uint) -> uint --- accessor_read_index :: proc(accessor: ^/*const*/accessor, index: uint) -> uint ---
@(require_results)
num_components :: proc(type: type) -> uint --- num_components :: proc(type: type) -> uint ---
@(require_results)
accessor_unpack_floats :: proc(accessor: ^/*const*/accessor, out: [^]f32, float_count: uint) -> uint --- accessor_unpack_floats :: proc(accessor: ^/*const*/accessor, out: [^]f32, float_count: uint) -> uint ---
/* this function is deprecated and will be removed in the future; use cgltf_extras::data instead */ /* this function is deprecated and will be removed in the future; use cgltf_extras::data instead */
@(require_results)
copy_extras_json :: proc(data: ^data, extras: ^extras_t, dest: [^]byte, dest_size: ^uint) -> result --- copy_extras_json :: proc(data: ^data, extras: ^extras_t, dest: [^]byte, dest_size: ^uint) -> result ---
@(require_results)
write_file :: proc(options: ^/*const*/options, path: cstring, data: ^data) -> result --- write_file :: proc(#by_ptr options: options, path: cstring, data: ^data) -> result ---
write :: proc(options: ^/*const*/options, buffer: [^]byte, size: uint, data: ^data) -> uint --- @(require_results)
write :: proc(#by_ptr options: options, buffer: [^]byte, size: uint, data: ^data) -> uint ---
} }