diff --git a/liblava/app/config.cpp b/liblava/app/config.cpp index 762951bd295f07166e12a345be7a598fa107f325..e4a976ee2cb33a22179fd81df52e23069a04ecc2 100644 --- a/liblava/app/config.cpp +++ b/liblava/app/config.cpp @@ -41,7 +41,7 @@ namespace lava { } bool load_window_file(window::state& state, name save_name) { - scope_data data; + unique_data data; if (!load_file_data(_window_file_, data)) return false; @@ -73,7 +73,7 @@ namespace lava { json j; - scope_data data; + unique_data data; if (load_file_data(_window_file_, data)) { j = json::parse(data.ptr, data.ptr + data.size); diff --git a/liblava/asset/image_data.hpp b/liblava/asset/image_data.hpp index de314a7804b31aa6f22ffa8ca8d68eca4ed4d1af..462bc5dbe70ebbd7a0ddf1cea579f3dc33a2065e 100644 --- a/liblava/asset/image_data.hpp +++ b/liblava/asset/image_data.hpp @@ -21,7 +21,7 @@ namespace lava { private: file image_file; - scope_data file_data; + unique_data file_data; }; } // namespace lava diff --git a/liblava/asset/mesh_loader.cpp b/liblava/asset/mesh_loader.cpp index 6376000a198d8c58e78b3a0dadef7042439998b8..74414808ac2484874dbe85865172da9d4aab8554 100644 --- a/liblava/asset/mesh_loader.cpp +++ b/liblava/asset/mesh_loader.cpp @@ -48,7 +48,7 @@ lava::mesh::ptr lava::load_mesh(device_ptr device, name filename) { temp_file = file_system::get_pref_dir(); temp_file += get_filename_from(target_file, true); - scope_data temp_data(file.get_size()); + unique_data temp_data(file.get_size()); if (!temp_data.ptr) return nullptr; diff --git a/liblava/asset/texture_loader.cpp b/liblava/asset/texture_loader.cpp index c56d7f7bacd609f2c84cd7dffb5481b03b7133ec..2b73806cc9937d42a8a603617d34d4e97339c3cb 100644 --- a/liblava/asset/texture_loader.cpp +++ b/liblava/asset/texture_loader.cpp @@ -34,7 +34,7 @@ namespace lava { - texture::ptr create_gli_texture_2d(device_ptr device, file const& file, VkFormat format, scope_data const& temp_data) { + texture::ptr create_gli_texture_2d(device_ptr device, file const& file, VkFormat format, unique_data const& temp_data) { gli::texture2d tex(file.opened() ? gli::load(temp_data.ptr, temp_data.size) : gli::load(file.get_path())); assert(!tex.empty()); @@ -91,7 +91,7 @@ namespace lava { return layers; } - texture::ptr create_gli_texture_array(device_ptr device, file const& file, VkFormat format, scope_data const& temp_data) { + texture::ptr create_gli_texture_array(device_ptr device, file const& file, VkFormat format, unique_data const& temp_data) { gli::texture2d_array tex(file.opened() ? gli::load(temp_data.ptr, temp_data.size) : gli::load(file.get_path())); assert(!tex.empty()); @@ -112,7 +112,7 @@ namespace lava { return texture; } - texture::ptr create_gli_texture_cube_map(device_ptr device, file const& file, VkFormat format, scope_data const& temp_data) { + texture::ptr create_gli_texture_cube_map(device_ptr device, file const& file, VkFormat format, unique_data const& temp_data) { gli::texture_cube tex(file.opened() ? gli::load(temp_data.ptr, temp_data.size) : gli::load(file.get_path())); assert(!tex.empty()); @@ -133,7 +133,7 @@ namespace lava { return texture; } - texture::ptr create_stbi_texture(device_ptr device, file const& file, scope_data const& temp_data) { + texture::ptr create_stbi_texture(device_ptr device, file const& file, unique_data const& temp_data) { i32 tex_width = 0, tex_height = 0; stbi_uc* data = nullptr; @@ -177,7 +177,7 @@ lava::texture::ptr lava::load_texture(device_ptr device, file_format file_format return nullptr; file file(str(file_format.path)); - scope_data temp_data(file.get_size(), false); + unique_data temp_data(file.get_size(), false); if (file.opened()) { if (!temp_data.allocate()) @@ -218,7 +218,7 @@ lava::texture::ptr lava::create_default_texture(device_ptr device, uv2 size, v3 return nullptr; i32 const block_size = format_block_size(format); - scope_data data(size.x * size.y * block_size); + unique_data data(size.x * size.y * block_size); memset(data.ptr, 0, data.size); ui32 const color_r = 255 * color.r; diff --git a/liblava/core/data.hpp b/liblava/core/data.hpp index 274d482b76a837b4a6a45729ba56b05d31337f8e..1e27353ddbaca99930139cd50fcf971f8985b09a 100644 --- a/liblava/core/data.hpp +++ b/liblava/core/data.hpp @@ -112,23 +112,23 @@ namespace lava { size_t size = 0; }; - struct scope_data : data { - explicit scope_data(size_t length = 0, bool alloc = true) { + struct unique_data : data { + explicit unique_data(size_t length = 0, bool alloc = true) { if (length) set(length, alloc); } - explicit scope_data(ui32 length, bool alloc = true) - : scope_data(to_size_t(length), alloc) {} - explicit scope_data(i64 length, bool alloc = true) - : scope_data(to_size_t(length), alloc) {} - explicit scope_data(data const& data) { + explicit unique_data(ui32 length, bool alloc = true) + : unique_data(to_size_t(length), alloc) {} + explicit unique_data(i64 length, bool alloc = true) + : unique_data(to_size_t(length), alloc) {} + explicit unique_data(data const& data) { ptr = data.ptr; size = data.size; alignment = data.alignment; } - ~scope_data() { + ~unique_data() { free(); } }; diff --git a/liblava/file/file_utils.hpp b/liblava/file/file_utils.hpp index 31165c54a1a979dc7244a8c0a2074c663f2a126e..23805388e39a555b90f5c23f8ea11d73dd2ebaa6 100644 --- a/liblava/file/file_utils.hpp +++ b/liblava/file/file_utils.hpp @@ -22,7 +22,7 @@ namespace lava { bool load_file_data(string_ref filename, data& target); - struct file_data : scope_data { + struct file_data : unique_data { explicit file_data(string_ref filename) { load_file_data(filename, *this); } diff --git a/liblava/file/json_file.cpp b/liblava/file/json_file.cpp index 78ba54fdd5195f1f9decce0bd9bcb70d189e8bd8..a330ff24fbec6278c6a7a5262aa78c880d833b4e 100644 --- a/liblava/file/json_file.cpp +++ b/liblava/file/json_file.cpp @@ -22,7 +22,7 @@ namespace lava { } bool json_file::load() { - scope_data data; + unique_data data; if (!load_file_data(path, data)) return false; diff --git a/liblava/fwd.hpp b/liblava/fwd.hpp index 38ac363b8e9c94a6eca33d908a4a23488e2cc41d..4ddc2c3dcc2cc0a196c9026c04d634dd550cbcbe 100644 --- a/liblava/fwd.hpp +++ b/liblava/fwd.hpp @@ -43,7 +43,8 @@ namespace lava { // liblava/core.hpp struct data_provider; struct data; - struct scope_data; + struct cdata; + struct unique_data; struct id; struct ids; struct id_obj;