From b67380e354af779f4ee47db4e8a8b4ecefeffb73 Mon Sep 17 00:00:00 2001 From: Daniel Bross Date: Wed, 5 Mar 2025 23:39:53 +0100 Subject: [PATCH] Fixed operator [] overload for static arrays --- core/static_array.jai | 12 ++++++++---- metaprogram.jai | 10 +++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/core/static_array.jai b/core/static_array.jai index 26725df..46fa2bc 100644 --- a/core/static_array.jai +++ b/core/static_array.jai @@ -28,14 +28,18 @@ array_contains :: (static_array: Static_Array, value: static_array.Data_Type) -> return false; } -operator [] :: (static_array: Static_Array, index: int) -> static_array.Data_Type { +operator [] :: (static_array: *Static_Array, index: int) -> static_array.Data_Type { return static_array.data[index]; } -operator [] :: (static_array: *Static_Array, index: int) -> *static_array.Data_Type { +operator [] :: (static_array: Static_Array, index: int) -> *static_array.Data_Type { + return *static_array.data[index]; +} + +operator *[] :: (static_array: *Static_Array, index: int) -> *static_array.Data_Type { return *static_array.data[index]; } operator []= :: (static_array: *Static_Array, index: int, value: static_array.Data_Type) { - static_array.data[index] = value; - } \ No newline at end of file + static_array.data[index] = value; +} diff --git a/metaprogram.jai b/metaprogram.jai index ff765ef..6c9a965 100644 --- a/metaprogram.jai +++ b/metaprogram.jai @@ -592,10 +592,10 @@ Entity_Storage :: struct { } DONE -DELETE_ENTITY :: #string DONE +DELETE_ENTITY :: #string,\% DONE delete_entity :: (e: *Entity) { // Delete the file too - path := tprint("../assets/scenes/%%/%%.ent", e.scene.name, e.id); + path := tprint("../assets/scenes/\%/\%.ent", e.scene.name, e.id); File.file_delete(path); destroy_entity(e); @@ -609,7 +609,7 @@ delete_entity :: (e: *Entity) { DONE -SERIALIZE_ENTITY :: #string DONE +SERIALIZE_ENTITY :: #string,\% DONE serialize_entity :: (e: *Entity, path: string) { builder: String_Builder; builder.allocator = temp; @@ -618,7 +618,7 @@ serialize_entity :: (e: *Entity, path: string) { %1 } - File.write_entire_file(tprint("%%/%%.ent", path, e.id), builder_to_string(*builder)); + File.write_entire_file(tprint("\%/\%.ent", path, e.id), builder_to_string(*builder)); } DONE @@ -695,4 +695,4 @@ PLACEHOLDER :: #string DONE #poke_name Coven entity_ui; #poke_name Coven duplicate_entity; } -DONE \ No newline at end of file +DONE