diff --git a/ecs.odin b/ecs.odin index 3d3db42..8a644f6 100644 --- a/ecs.odin +++ b/ecs.odin @@ -37,7 +37,7 @@ Component_Storage :: struct { } Component_Registry :: map[typeid]Component_Storage -get_addr_of_component_for_entity_id_from_storage :: proc(storage: ^Component_Storage, entity_id: Entity_ID) -> rawptr { +@(private="file") get_addr_of_component_for_entity_id_from_storage :: proc(storage: ^Component_Storage, entity_id: Entity_ID) -> rawptr { return rawptr(uintptr(storage.data) + uintptr((u32(entity_id) * storage.elem_size))) } @@ -68,31 +68,6 @@ create_world :: proc(name: string, max_entities: u32, systems: []System) -> (^Wo world.component_registry = registry - // for c in components_to_register { - // log.infof("Registering component '%v' (size: %v).", c, size_of(c)) - - // if c in world.component_registry { - // log.warnf("Component '%v' already registered.", c) - // continue - // } - - // // register_component(world, c) - // // id := typeid_of(type_of(c)) - // // info: ^runtime.Type_Info - // // info = type_info_of(id) - - // // fmt.printfln("Runtime info about component: %v", c) - - // // world.component_registry[c] = Component_Storage { - // // data = make([]type_of(c), max_entities), - // // alive = make([]bool, max_entities) - // // } - - // // for i in 0..<10 { - // // fmt.printfln("ADDR %v: %v", i, &world.component_registry[c].data[i]) - // // } - // } - { // Set up the world's queue of available entity-ids. assert(u64(max_entities) <= u64(max(int))) queue.init(&world.entity_id_queue, capacity = int(max_entities)) @@ -120,7 +95,7 @@ create_world :: proc(name: string, max_entities: u32, systems: []System) -> (^Wo } register_component :: proc(world: ^World, $A: typeid) -> bool { - log.infof("Registering component '%v' (size: %v).", typeid_of(A), size_of(A)) + log.infof("Registering component '%v' (size: %v) in world '%v'.", typeid_of(A), size_of(A), world.name) if A in world.component_registry { log.warnf("Component '%v' already registered.", typeid_of(A)) return false @@ -226,7 +201,7 @@ add_component :: proc(entity: Entity, world: ^World, component: $T, loc := #call component_storage := &world.component_registry[T] if component_storage == nil { - log.warnf("Failed to add component %v - component does not exist in the registry. Location: %v", typeid_of(T), loc) + log.warnf("Failed to add component %v - component does not exist in the world '%v's component-registry. Location: %v", typeid_of(T), world.name, loc) return nil, false } @@ -251,7 +226,7 @@ has_component :: proc(t: typeid, entity: Entity, world: ^World, loc := #caller_l component_storage := &world.component_registry[t] if component_storage == nil { - log.warnf("Failed to get component %v - component does not exist in the registry. Location: %v", t, loc) + log.warnf("Failed to get component %v - component does not exist in the world '%v's component-registry. Location: %v", t, world.name, loc) return false }