From acd9f42286e778e13f71ba9b72b9a5361b519d18 Mon Sep 17 00:00:00 2001 From: Daniel Bross Date: Mon, 28 Oct 2024 23:39:48 +0100 Subject: [PATCH] Gitignore: Added .build folder to gitignore-file | Input: Fixed bug with mouse coordinates, when compiling without editor --- .build/.added_strings_w3.jai | 1100 ---------------------------------- .gitignore | 1 + input/input.jai | 2 +- 3 files changed, 2 insertions(+), 1101 deletions(-) delete mode 100644 .build/.added_strings_w3.jai diff --git a/.build/.added_strings_w3.jai b/.build/.added_strings_w3.jai deleted file mode 100644 index 249feb4..0000000 --- a/.build/.added_strings_w3.jai +++ /dev/null @@ -1,1100 +0,0 @@ -// Workspace: Game - -// -// 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:33. -// -#import "Bucket_Array"; - -// -// 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._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: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 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:269. -// -delete_entity :: (e: *Entity) { - // Delete the file too - path := tprint("../assets/scenes/%/%.ent", e.scene.name, e.id); - File.file_delete(path); - - 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 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); - } -} - -//#import "File"; - - -// -// 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; - builder.allocator = temp; - - if e.type == { - case Block; serialize_entity(cast(*Block)e, *builder); - case Bush; serialize_entity(cast(*Bush)e, *builder); - case Character; serialize_entity(cast(*Character)e, *builder); - 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); - - } - - File.write_entire_file(tprint("%/%.ent", path, e.id), builder_to_string(*builder)); -} - -// -// 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); - if content.count == 0 return null; - - lines := split(content, "\n"); - first_line := split(lines[0], ":"); - - if first_line.count != 2 return null; - - e: *Entity; - - type := trim(first_line[1], " \n\r"); - - if type == { - case "Block"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Block); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Block)e); update_matrix(*e.transform); - case "Bush"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Bush); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Bush)e); update_matrix(*e.transform); - case "Character"; p, locator := find_and_occupy_empty_slot(*scene.by_type._Character); p._locator = locator; e = p; register_entity(scene, p, id); init_entity(p); deserialize_entity(scene, lines, cast(*Character)e); update_matrix(*e.transform); - 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); - - } - - return e; -} - -// -// 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 { -_scene = engine.current_scene; } -p, locator := find_and_occupy_empty_slot(*_scene.by_type._Block); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; } -new_bush :: (scene: *Scene = null) -> *Bush { _scene := scene; -if _scene == null { -_scene = engine.current_scene; } -p, locator := find_and_occupy_empty_slot(*_scene.by_type._Bush); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; } -new_character :: (scene: *Scene = null) -> *Character { _scene := scene; -if _scene == null { -_scene = engine.current_scene; } -p, locator := find_and_occupy_empty_slot(*_scene.by_type._Character); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; } -new_crab :: (scene: *Scene = null) -> *Crab { _scene := scene; -if _scene == null { -_scene = engine.current_scene; } -p, locator := find_and_occupy_empty_slot(*_scene.by_type._Crab); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; } -new_crystal :: (scene: *Scene = null) -> *Crystal { _scene := scene; -if _scene == null { -_scene = engine.current_scene; } -p, locator := find_and_occupy_empty_slot(*_scene.by_type._Crystal); p._locator = locator; register_entity(_scene, p); p.transform = create_identity_transform(); init_entity(p); return p; } -new_crystal_holder :: (scene: *Scene = null) -> *Crystal_Holder { _scene := scene; -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:305. -// -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:305. -// -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: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"); - 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, "block_type: %\n", e.block_type); - print_to_builder(builder, "debug_id: %\n", e.debug_id); -} - -// -// 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 { - 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 "debug_id"; - scan2(values[1], "%", *e.debug_id); - } - } - } -} - -// -// String added via add_build_string() from c:/Personal/games/onegameamonth/oct24/modules/Coven/metaprogram.jai:305. -// -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_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:305. -// -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_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: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"); - 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, "look_direction.x: %\n", e.look_direction.x); - print_to_builder(builder, "look_direction.y: %\n", e.look_direction.y); - print_to_builder(builder, "look_direction.z: %\n", e.look_direction.z); - 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_yaw: %\n", e.current_yaw); - 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, "last_footstep_audio: %\n", e.last_footstep_audio); - print_to_builder(builder, "animation_time: %\n", e.animation_time); - print_to_builder(builder, "jump_press_time: %\n", e.jump_press_time); - print_to_builder(builder, "last_grounded_time: %\n", e.last_grounded_time); -} - -// -// 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 { - 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 "look_direction.x"; - scan2(values[1], "%", *e.look_direction.x); - case "look_direction.y"; - scan2(values[1], "%", *e.look_direction.y); - case "look_direction.z"; - scan2(values[1], "%", *e.look_direction.z); - 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_yaw"; - scan2(values[1], "%", *e.current_yaw); - 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 "last_footstep_audio"; - scan2(values[1], "%", *e.last_footstep_audio); - case "animation_time"; - scan2(values[1], "%", *e.animation_time); - case "jump_press_time"; - scan2(values[1], "%", *e.jump_press_time); - case "last_grounded_time"; - scan2(values[1], "%", *e.last_grounded_time); - } - } - } -} - -// -// 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"); - 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: *Item) { - 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:313. -// - -// NUM_ENTITY_TYPES tells the target program how many entity types there are. -NUM_ENTITY_TYPES :: 10; - -// entity_types is an array containing all the entity types. -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); - _Bush: Bucket_Array(Bush, 20, true); - _Character: Bucket_Array(Character, 20, true); - _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); - -} diff --git a/.gitignore b/.gitignore index 2e75df7..58b8db9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ bin/*.pdb range_index bin/mnar.exe .build/*.obj +.build diff --git a/input/input.jai b/input/input.jai index b3d3b63..69c571d 100644 --- a/input/input.jai +++ b/input/input.jai @@ -223,7 +223,7 @@ update_input :: () { #if !EDITOR { engine.input.viewport_mouse_position.x = engine.input.mouse.x; engine.input.viewport_mouse_position.y = engine.input.mouse.y; - engine.input.normalized_viewport_mouse_position /= Vector2.{xx engine.renderer.render_target_width, xx engine.renderer.render_target_height}; + engine.input.normalized_viewport_mouse_position = engine.input.viewport_mouse_position / Vector2.{xx engine.renderer.render_target_width, xx engine.renderer.render_target_height}; } }