|
|
|
|
@@ -1,35 +1,35 @@
|
|
|
|
|
// Workspace: Game
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:34.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:32.
|
|
|
|
|
//
|
|
|
|
|
GAME_NAME :: "OCT24";
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:35.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:33.
|
|
|
|
|
//
|
|
|
|
|
#import "Bucket_Array";
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:248.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:246.
|
|
|
|
|
//
|
|
|
|
|
init_scene :: (scene: *Scene) {
|
|
|
|
|
scene.by_type._Block.allocator = scene.allocator;scene.by_type._Bush.allocator = scene.allocator;scene.by_type._Character.allocator = scene.allocator;scene.by_type._Crab.allocator = scene.allocator;scene.by_type._Crystal.allocator = scene.allocator;scene.by_type._Crystal_Holder.allocator = scene.allocator;scene.by_type._Item.allocator = scene.allocator;scene.by_type._Water.allocator = scene.allocator;
|
|
|
|
|
scene.by_type._Block.allocator = scene.allocator;scene.by_type._Bush.allocator = scene.allocator;scene.by_type._Character.allocator = scene.allocator;scene.by_type._Crab.allocator = scene.allocator;scene.by_type._Crystal.allocator = scene.allocator;scene.by_type._Crystal_Holder.allocator = scene.allocator;scene.by_type._Gate.allocator = scene.allocator;scene.by_type._Item.allocator = scene.allocator;scene.by_type._Level_Done.allocator = scene.allocator;scene.by_type._Water.allocator = scene.allocator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:260.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:258.
|
|
|
|
|
//
|
|
|
|
|
#if EDITOR {
|
|
|
|
|
editor_ui_entity_creation :: () -> *Entity {
|
|
|
|
|
if ui_clickable_label("New Block") return new_block();if ui_clickable_label("New Bush") return new_bush();if ui_clickable_label("New Character") return new_character();if ui_clickable_label("New Crab") return new_crab();if ui_clickable_label("New Crystal") return new_crystal();if ui_clickable_label("New Crystal_Holder") return new_crystal_holder();if ui_clickable_label("New Item") return new_item();if ui_clickable_label("New Water") return new_water();
|
|
|
|
|
if ui_clickable_label("New Block") return new_block();if ui_clickable_label("New Bush") return new_bush();if ui_clickable_label("New Character") return new_character();if ui_clickable_label("New Crab") return new_crab();if ui_clickable_label("New Crystal") return new_crystal();if ui_clickable_label("New Crystal_Holder") return new_crystal_holder();if ui_clickable_label("New Gate") return new_gate();if ui_clickable_label("New Item") return new_item();if ui_clickable_label("New Level_Done") return new_level_done();if ui_clickable_label("New Water") return new_water();
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:271.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:269.
|
|
|
|
|
//
|
|
|
|
|
delete_entity :: (e: *Entity) {
|
|
|
|
|
// Delete the file too
|
|
|
|
|
@@ -39,7 +39,7 @@ delete_entity :: (e: *Entity) {
|
|
|
|
|
destroy_entity(e);
|
|
|
|
|
|
|
|
|
|
if e.type == {
|
|
|
|
|
case Block; bucket_array_remove(*e.scene.by_type._Block, e._locator); case Bush; bucket_array_remove(*e.scene.by_type._Bush, e._locator); case Character; bucket_array_remove(*e.scene.by_type._Character, e._locator); case Crab; bucket_array_remove(*e.scene.by_type._Crab, e._locator); case Crystal; bucket_array_remove(*e.scene.by_type._Crystal, e._locator); case Crystal_Holder; bucket_array_remove(*e.scene.by_type._Crystal_Holder, e._locator); case Item; bucket_array_remove(*e.scene.by_type._Item, e._locator); case Water; bucket_array_remove(*e.scene.by_type._Water, e._locator);
|
|
|
|
|
case Block; bucket_array_remove(*e.scene.by_type._Block, e._locator); case Bush; bucket_array_remove(*e.scene.by_type._Bush, e._locator); case Character; bucket_array_remove(*e.scene.by_type._Character, e._locator); case Crab; bucket_array_remove(*e.scene.by_type._Crab, e._locator); case Crystal; bucket_array_remove(*e.scene.by_type._Crystal, e._locator); case Crystal_Holder; bucket_array_remove(*e.scene.by_type._Crystal_Holder, e._locator); case Gate; bucket_array_remove(*e.scene.by_type._Gate, e._locator); case Item; bucket_array_remove(*e.scene.by_type._Item, e._locator); case Level_Done; bucket_array_remove(*e.scene.by_type._Level_Done, e._locator); case Water; bucket_array_remove(*e.scene.by_type._Water, e._locator);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -47,7 +47,7 @@ delete_entity :: (e: *Entity) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:282.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:280.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Entity, path: string) {
|
|
|
|
|
builder: String_Builder;
|
|
|
|
|
@@ -60,7 +60,9 @@ serialize_entity :: (e: *Entity, path: string) {
|
|
|
|
|
case Crab; serialize_entity(cast(*Crab)e, *builder);
|
|
|
|
|
case Crystal; serialize_entity(cast(*Crystal)e, *builder);
|
|
|
|
|
case Crystal_Holder; serialize_entity(cast(*Crystal_Holder)e, *builder);
|
|
|
|
|
case Gate; serialize_entity(cast(*Gate)e, *builder);
|
|
|
|
|
case Item; serialize_entity(cast(*Item)e, *builder);
|
|
|
|
|
case Level_Done; serialize_entity(cast(*Level_Done)e, *builder);
|
|
|
|
|
case Water; serialize_entity(cast(*Water)e, *builder);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -69,7 +71,7 @@ serialize_entity :: (e: *Entity, path: string) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:293.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:291.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, id: Entity_Id, path: string) -> *Entity {
|
|
|
|
|
content := File.read_entire_file(path);
|
|
|
|
|
@@ -91,7 +93,9 @@ deserialize_entity :: (scene: *Scene, id: Entity_Id, path: string) -> *Entity {
|
|
|
|
|
case "Crab"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Crab); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Crab)e); update_matrix(*e.transform);
|
|
|
|
|
case "Crystal"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Crystal); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Crystal)e); update_matrix(*e.transform);
|
|
|
|
|
case "Crystal_Holder"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Crystal_Holder); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Crystal_Holder)e); update_matrix(*e.transform);
|
|
|
|
|
case "Gate"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Gate); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Gate)e); update_matrix(*e.transform);
|
|
|
|
|
case "Item"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Item); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Item)e); update_matrix(*e.transform);
|
|
|
|
|
case "Level_Done"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Level_Done); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Level_Done)e); update_matrix(*e.transform);
|
|
|
|
|
case "Water"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Water); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Water)e); update_matrix(*e.transform);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@@ -100,7 +104,7 @@ deserialize_entity :: (scene: *Scene, id: Entity_Id, path: string) -> *Entity {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:303.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:301.
|
|
|
|
|
//
|
|
|
|
|
new_block :: (scene: *Scene = null) -> *Block { _scene := scene;
|
|
|
|
|
if _scene == null {
|
|
|
|
|
@@ -126,20 +130,28 @@ new_crystal_holder :: (scene: *Scene = null) -> *Crystal_Holder { _scene := scen
|
|
|
|
|
if _scene == null {
|
|
|
|
|
_scene = engine.current_scene; }
|
|
|
|
|
p, locator := find_and_occupy_empty_slot(*_scene.by_type._Crystal_Holder); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; }
|
|
|
|
|
new_gate :: (scene: *Scene = null) -> *Gate { _scene := scene;
|
|
|
|
|
if _scene == null {
|
|
|
|
|
_scene = engine.current_scene; }
|
|
|
|
|
p, locator := find_and_occupy_empty_slot(*_scene.by_type._Gate); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; }
|
|
|
|
|
new_item :: (scene: *Scene = null) -> *Item { _scene := scene;
|
|
|
|
|
if _scene == null {
|
|
|
|
|
_scene = engine.current_scene; }
|
|
|
|
|
p, locator := find_and_occupy_empty_slot(*_scene.by_type._Item); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; }
|
|
|
|
|
new_level_done :: (scene: *Scene = null) -> *Level_Done { _scene := scene;
|
|
|
|
|
if _scene == null {
|
|
|
|
|
_scene = engine.current_scene; }
|
|
|
|
|
p, locator := find_and_occupy_empty_slot(*_scene.by_type._Level_Done); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; }
|
|
|
|
|
new_water :: (scene: *Scene = null) -> *Water { _scene := scene;
|
|
|
|
|
if _scene == null {
|
|
|
|
|
_scene = engine.current_scene; }
|
|
|
|
|
p, locator := find_and_occupy_empty_slot(*_scene.by_type._Water); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; }
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Crystal_Holder, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crystal_Holder\n");
|
|
|
|
|
serialize_entity :: (e: *Water, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Water\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
@@ -164,9 +176,9 @@ serialize_entity :: (e: *Crystal_Holder, builder: *String_Builder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal_Holder) {
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Water) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
@@ -217,7 +229,344 @@ deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal_Holder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Level_Done, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Level_Done\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Level_Done) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Crystal_Holder, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crystal_Holder\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
print_to_builder(builder, "occupied: %\n", e.occupied);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal_Holder) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
case "occupied";
|
|
|
|
|
scan2(values[1], "%", *e.occupied);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Crystal, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crystal\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
print_to_builder(builder, "state: %\n", e.state);
|
|
|
|
|
print_to_builder(builder, "crab_count: %\n", e.crab_count);
|
|
|
|
|
print_to_builder(builder, "crabs_ready: %\n", e.crabs_ready);
|
|
|
|
|
print_to_builder(builder, "move_up_amount: %\n", e.move_up_amount);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
case "crab_count";
|
|
|
|
|
scan2(values[1], "%", *e.crab_count);
|
|
|
|
|
case "crabs_ready";
|
|
|
|
|
scan2(values[1], "%", *e.crabs_ready);
|
|
|
|
|
case "move_up_amount";
|
|
|
|
|
scan2(values[1], "%", *e.move_up_amount);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Bush, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Bush\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Bush) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Block, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Block\n");
|
|
|
|
|
@@ -247,7 +596,7 @@ serialize_entity :: (e: *Block, builder: *String_Builder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Block) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
@@ -302,10 +651,10 @@ deserialize_entity :: (scene: *Scene, lines: [] string, e: *Block) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Crystal, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crystal\n");
|
|
|
|
|
serialize_entity :: (e: *Crab, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crab\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
@@ -328,13 +677,26 @@ serialize_entity :: (e: *Crystal, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
print_to_builder(builder, "state: %\n", e.state);
|
|
|
|
|
print_to_builder(builder, "crab_count: %\n", e.crab_count);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_offset.x: %\n", e.assigned_crystal_offset.x);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_offset.y: %\n", e.assigned_crystal_offset.y);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_offset.z: %\n", e.assigned_crystal_offset.z);
|
|
|
|
|
print_to_builder(builder, "current_yaw: %\n", e.current_yaw);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.x: %\n", e.target_look_direction.x);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.y: %\n", e.target_look_direction.y);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.z: %\n", e.target_look_direction.z);
|
|
|
|
|
print_to_builder(builder, "current_direction.x: %\n", e.current_direction.x);
|
|
|
|
|
print_to_builder(builder, "current_direction.y: %\n", e.current_direction.y);
|
|
|
|
|
print_to_builder(builder, "current_direction.z: %\n", e.current_direction.z);
|
|
|
|
|
print_to_builder(builder, "has_initial_position: %\n", e.has_initial_position);
|
|
|
|
|
print_to_builder(builder, "initial_position.x: %\n", e.initial_position.x);
|
|
|
|
|
print_to_builder(builder, "initial_position.y: %\n", e.initial_position.y);
|
|
|
|
|
print_to_builder(builder, "initial_position.z: %\n", e.initial_position.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal) {
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crab) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
@@ -379,15 +741,138 @@ deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crystal) {
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
case "crab_count";
|
|
|
|
|
scan2(values[1], "%", *e.crab_count);
|
|
|
|
|
case "assigned_crystal_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_offset.x);
|
|
|
|
|
case "assigned_crystal_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_offset.y);
|
|
|
|
|
case "assigned_crystal_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_offset.z);
|
|
|
|
|
case "current_yaw";
|
|
|
|
|
scan2(values[1], "%", *e.current_yaw);
|
|
|
|
|
case "target_look_direction.x";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.x);
|
|
|
|
|
case "target_look_direction.y";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.y);
|
|
|
|
|
case "target_look_direction.z";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.z);
|
|
|
|
|
case "current_direction.x";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.x);
|
|
|
|
|
case "current_direction.y";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.y);
|
|
|
|
|
case "current_direction.z";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.z);
|
|
|
|
|
case "has_initial_position";
|
|
|
|
|
scan2(values[1], "%", *e.has_initial_position);
|
|
|
|
|
case "initial_position.x";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.x);
|
|
|
|
|
case "initial_position.y";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.y);
|
|
|
|
|
case "initial_position.z";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Gate, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Gate\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
print_to_builder(builder, "crystals_to_be_active: %\n", e.crystals_to_be_active);
|
|
|
|
|
print_to_builder(builder, "state: %\n", e.state);
|
|
|
|
|
print_to_builder(builder, "initial_position.x: %\n", e.initial_position.x);
|
|
|
|
|
print_to_builder(builder, "initial_position.y: %\n", e.initial_position.y);
|
|
|
|
|
print_to_builder(builder, "initial_position.z: %\n", e.initial_position.z);
|
|
|
|
|
print_to_builder(builder, "open_amount: %\n", e.open_amount);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Gate) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
case "crystals_to_be_active";
|
|
|
|
|
scan2(values[1], "%", *e.crystals_to_be_active);
|
|
|
|
|
case "initial_position.x";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.x);
|
|
|
|
|
case "initial_position.y";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.y);
|
|
|
|
|
case "initial_position.z";
|
|
|
|
|
scan2(values[1], "%", *e.initial_position.z);
|
|
|
|
|
case "open_amount";
|
|
|
|
|
scan2(values[1], "%", *e.open_amount);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Character, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Character\n");
|
|
|
|
|
@@ -429,7 +914,7 @@ serialize_entity :: (e: *Character, builder: *String_Builder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Character) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
@@ -510,169 +995,7 @@ deserialize_entity :: (scene: *Scene, lines: [] string, e: *Character) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Water, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Water\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Water) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Bush, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Bush\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Bush) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Item, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Item\n");
|
|
|
|
|
@@ -700,7 +1023,7 @@ serialize_entity :: (e: *Item, builder: *String_Builder) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Item) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
@@ -753,126 +1076,14 @@ deserialize_entity :: (scene: *Scene, lines: [] string, e: *Item) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
serialize_entity :: (e: *Crab, builder: *String_Builder) {
|
|
|
|
|
print_to_builder(builder, "type: Crab\n");
|
|
|
|
|
print_to_builder(builder, "entity.enabled: %\n", e.entity.enabled);
|
|
|
|
|
print_to_builder(builder, "entity.flags: %\n", e.entity.flags);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.x: %\n", e.entity.transform.position.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.y: %\n", e.entity.transform.position.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.position.z: %\n", e.entity.transform.position.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.x: %\n", e.entity.transform.orientation.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.y: %\n", e.entity.transform.orientation.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.z: %\n", e.entity.transform.orientation.z);
|
|
|
|
|
print_to_builder(builder, "entity.transform.orientation.w: %\n", e.entity.transform.orientation.w);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.x: %\n", e.entity.transform.scale.x);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.y: %\n", e.entity.transform.scale.y);
|
|
|
|
|
print_to_builder(builder, "entity.transform.scale.z: %\n", e.entity.transform.scale.z);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.x: %\n", e.entity.rendering_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.y: %\n", e.entity.rendering_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.rendering_offset.z: %\n", e.entity.rendering_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.x: %\n", e.entity.snap_offset.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.y: %\n", e.entity.snap_offset.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_offset.z: %\n", e.entity.snap_offset.z);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.x: %\n", e.entity.snap_intervals.x);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.y: %\n", e.entity.snap_intervals.y);
|
|
|
|
|
print_to_builder(builder, "entity.snap_intervals.z: %\n", e.entity.snap_intervals.z);
|
|
|
|
|
print_to_builder(builder, "state: %\n", e.state);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_position.x: %\n", e.assigned_crystal_position.x);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_position.y: %\n", e.assigned_crystal_position.y);
|
|
|
|
|
print_to_builder(builder, "assigned_crystal_position.z: %\n", e.assigned_crystal_position.z);
|
|
|
|
|
print_to_builder(builder, "current_yaw: %\n", e.current_yaw);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.x: %\n", e.target_look_direction.x);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.y: %\n", e.target_look_direction.y);
|
|
|
|
|
print_to_builder(builder, "target_look_direction.z: %\n", e.target_look_direction.z);
|
|
|
|
|
print_to_builder(builder, "current_direction.x: %\n", e.current_direction.x);
|
|
|
|
|
print_to_builder(builder, "current_direction.y: %\n", e.current_direction.y);
|
|
|
|
|
print_to_builder(builder, "current_direction.z: %\n", e.current_direction.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:307.
|
|
|
|
|
//
|
|
|
|
|
deserialize_entity :: (scene: *Scene, lines: [] string, e: *Crab) {
|
|
|
|
|
for line: lines {
|
|
|
|
|
values := split(line, ":");
|
|
|
|
|
if values.count == 2 {
|
|
|
|
|
if trim(values[0], " ") == {
|
|
|
|
|
case "entity.enabled";
|
|
|
|
|
scan2(values[1], "%", *e.entity.enabled);
|
|
|
|
|
case "entity.transform.position.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.x);
|
|
|
|
|
case "entity.transform.position.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.y);
|
|
|
|
|
case "entity.transform.position.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.position.z);
|
|
|
|
|
case "entity.transform.orientation.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.x);
|
|
|
|
|
case "entity.transform.orientation.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.y);
|
|
|
|
|
case "entity.transform.orientation.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.z);
|
|
|
|
|
case "entity.transform.orientation.w";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.orientation.w);
|
|
|
|
|
case "entity.transform.scale.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.x);
|
|
|
|
|
case "entity.transform.scale.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.y);
|
|
|
|
|
case "entity.transform.scale.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.transform.scale.z);
|
|
|
|
|
case "entity.rendering_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.x);
|
|
|
|
|
case "entity.rendering_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.y);
|
|
|
|
|
case "entity.rendering_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.rendering_offset.z);
|
|
|
|
|
case "entity.snap_offset.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.x);
|
|
|
|
|
case "entity.snap_offset.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.y);
|
|
|
|
|
case "entity.snap_offset.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_offset.z);
|
|
|
|
|
case "entity.snap_intervals.x";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.x);
|
|
|
|
|
case "entity.snap_intervals.y";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.y);
|
|
|
|
|
case "entity.snap_intervals.z";
|
|
|
|
|
scan2(values[1], "%", *e.entity.snap_intervals.z);
|
|
|
|
|
case "assigned_crystal_position.x";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_position.x);
|
|
|
|
|
case "assigned_crystal_position.y";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_position.y);
|
|
|
|
|
case "assigned_crystal_position.z";
|
|
|
|
|
scan2(values[1], "%", *e.assigned_crystal_position.z);
|
|
|
|
|
case "current_yaw";
|
|
|
|
|
scan2(values[1], "%", *e.current_yaw);
|
|
|
|
|
case "target_look_direction.x";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.x);
|
|
|
|
|
case "target_look_direction.y";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.y);
|
|
|
|
|
case "target_look_direction.z";
|
|
|
|
|
scan2(values[1], "%", *e.target_look_direction.z);
|
|
|
|
|
case "current_direction.x";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.x);
|
|
|
|
|
case "current_direction.y";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.y);
|
|
|
|
|
case "current_direction.z";
|
|
|
|
|
scan2(values[1], "%", *e.current_direction.z);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:315.
|
|
|
|
|
// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:313.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
// NUM_ENTITY_TYPES tells the target program how many entity types there are.
|
|
|
|
|
NUM_ENTITY_TYPES :: 8;
|
|
|
|
|
NUM_ENTITY_TYPES :: 10;
|
|
|
|
|
|
|
|
|
|
// entity_types is an array containing all the entity types.
|
|
|
|
|
entity_types : [8] Type : .[ Block, Bush, Character, Crab, Crystal, Crystal_Holder, Item, Water ];
|
|
|
|
|
entity_types : [10] Type : .[ Block, Bush, Character, Crab, Crystal, Crystal_Holder, Gate, Item, Level_Done, Water ];
|
|
|
|
|
|
|
|
|
|
Entity_Storage :: struct {
|
|
|
|
|
_Block: Bucket_Array(Block, 20, true);
|
|
|
|
|
@@ -881,7 +1092,9 @@ Entity_Storage :: struct {
|
|
|
|
|
_Crab: Bucket_Array(Crab, 20, true);
|
|
|
|
|
_Crystal: Bucket_Array(Crystal, 20, true);
|
|
|
|
|
_Crystal_Holder: Bucket_Array(Crystal_Holder, 20, true);
|
|
|
|
|
_Gate: Bucket_Array(Gate, 20, true);
|
|
|
|
|
_Item: Bucket_Array(Item, 20, true);
|
|
|
|
|
_Level_Done: Bucket_Array(Level_Done, 20, true);
|
|
|
|
|
_Water: Bucket_Array(Water, 20, true);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|