deinit_entity now gets a stub if unused in game
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user