New compiler update
This commit is contained in:
@@ -75,7 +75,7 @@ should_serialize :: (type: *Type_Info_Struct, member: Type_Info_Struct_Member) -
|
|||||||
}
|
}
|
||||||
|
|
||||||
for member.notes {
|
for member.notes {
|
||||||
if to_lower_copy_new(it,, allocator = temp) == "dontserialize" return false;
|
if to_lower_copy(it,, allocator = temp) == "dontserialize" return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -83,7 +83,7 @@ should_serialize :: (type: *Type_Info_Struct, member: Type_Info_Struct_Member) -
|
|||||||
|
|
||||||
should_make_ui :: (type: *Type_Info_Struct, member: Type_Info_Struct_Member) -> bool {
|
should_make_ui :: (type: *Type_Info_Struct, member: Type_Info_Struct_Member) -> bool {
|
||||||
for member.notes {
|
for member.notes {
|
||||||
if to_lower_copy_new(it,, allocator = temp) == "hide" return false;
|
if to_lower_copy(it,, allocator = temp) == "hide" return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if type!= null {
|
if type!= null {
|
||||||
@@ -327,7 +327,7 @@ generate_serialize_procedure_for_entity :: (code_struct: *Code_Struct) {
|
|||||||
// Duplicate
|
// Duplicate
|
||||||
duplicate : String_Builder;
|
duplicate : String_Builder;
|
||||||
print_to_builder(*duplicate, "duplicate_entity :: (e: *%) -> *% {\n", name, name);
|
print_to_builder(*duplicate, "duplicate_entity :: (e: *%) -> *% {\n", name, name);
|
||||||
print_to_builder(*duplicate, "\tcopy := new_%(init=false);\n", to_lower_copy_new(name,,allocator=temp));
|
print_to_builder(*duplicate, "\tcopy := new_%(init=false);\n", to_lower_copy(name,,allocator=temp));
|
||||||
|
|
||||||
generate_member_copy(code_struct.defined_type, *duplicate);
|
generate_member_copy(code_struct.defined_type, *duplicate);
|
||||||
print_to_builder(*duplicate, "\tinit_entity(copy);\n");
|
print_to_builder(*duplicate, "\tinit_entity(copy);\n");
|
||||||
@@ -373,7 +373,7 @@ message_loop :: () {
|
|||||||
|
|
||||||
for typechecked.procedure_headers {
|
for typechecked.procedure_headers {
|
||||||
for note: it.expression.notes {
|
for note: it.expression.notes {
|
||||||
if to_lower_copy_new(note.text,, allocator = temp) == "newentity" {
|
if to_lower_copy(note.text,, allocator = temp) == "newentity" {
|
||||||
array_add(*new_entity_procs, it.expression.name);
|
array_add(*new_entity_procs, it.expression.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -441,7 +441,7 @@ generate_code :: (w: Workspace) {
|
|||||||
builder: String_Builder;
|
builder: String_Builder;
|
||||||
|
|
||||||
for entity_type_names {
|
for entity_type_names {
|
||||||
lower := to_lower_copy_new(it,, allocator=temp);
|
lower := to_lower_copy (it,, allocator=temp);
|
||||||
print_to_builder(*builder, "if ui_clickable_label(\"New %1\") return new_%2();", it, lower);
|
print_to_builder(*builder, "if ui_clickable_label(\"New %1\") return new_%2();", it, lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,7 +512,7 @@ generate_code :: (w: Workspace) {
|
|||||||
builder: String_Builder;
|
builder: String_Builder;
|
||||||
|
|
||||||
for entity_type_names {
|
for entity_type_names {
|
||||||
print_to_builder(*builder, "new_%1 :: (scene: *Scene = null, init: bool = true) -> *%2 { _scene := scene;\nif _scene == null { \n_scene = engine.current_scene; }\np, locator := find_and_occupy_empty_slot(*_scene.by_type._%2); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); if init { init_entity(p); } return p; }\n", to_lower_copy_new(it,, allocator=temp), it);
|
print_to_builder(*builder, "new_%1 :: (scene: *Scene = null, init: bool = true) -> *%2 { _scene := scene;\nif _scene == null { \n_scene = engine.current_scene; }\np, locator := find_and_occupy_empty_slot(*_scene.by_type._%2); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); if init { init_entity(p); } return p; }\n", to_lower_copy(it,, allocator=temp), it);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_build_string(builder_to_string(*builder), w);
|
add_build_string(builder_to_string(*builder), w);
|
||||||
|
|||||||
Reference in New Issue
Block a user