deinit_entity now gets a stub if unused in game

This commit is contained in:
2025-06-22 20:53:09 +02:00
parent 42bad853e7
commit 02b7d1550f

View File

@@ -527,9 +527,11 @@ message_loop :: () {
for typechecked.procedure_headers { for typechecked.procedure_headers {
if it.expression.name == "deinit_entity" { if it.expression.name == "deinit_entity" {
if it.expression.arguments.count > 0 {
//struct_type := cast(*Type_Info_Struct)it.expression.arguments[0].type_inst.pointer_to; //struct_type := cast(*Type_Info_Struct)it.expression.arguments[0].type_inst.pointer_to;
struct_type := cast(*Type_Info_Struct)it.expression.arguments[0].type_inst.pointer_to.result; struct_type := cast(*Type_Info_Struct)it.expression.arguments[0].type_inst.pointer_to.result;
array_add(*deinit_entity_procs, struct_type.name); array_add(*deinit_entity_procs, struct_type.name);
}
} else { } else {
for note: it.expression.notes { for note: it.expression.notes {
if to_lower_copy(note.text,, temp) == { if to_lower_copy(note.text,, temp) == {
@@ -685,6 +687,7 @@ generate_code :: (w: Workspace) {
} }
{ {
if deinit_entity_procs.count > 0 {
builder: String_Builder; builder: String_Builder;
for deinit_entity_procs { for deinit_entity_procs {
@@ -693,6 +696,10 @@ generate_code :: (w: Workspace) {
build_string := sprint(DEINIT_ENTITY, builder_to_string(*builder)); build_string := sprint(DEINIT_ENTITY, builder_to_string(*builder));
add_build_string(build_string, w); add_build_string(build_string, w);
} else {
add_build_string("call_correct_deinit_entity :: (e: *Entity) {}", w);
add_build_string("deinit_entity :: () {}", w);
}
} }
{ {