From f142a737bfc03b3657bd59267655fec413b4363d Mon Sep 17 00:00:00 2001 From: "Chris Forseth (C4)" Date: Thu, 19 May 2022 12:01:23 -0500 Subject: [PATCH] Making more sense of the format; --- LegoBlobReader/LegoBlobReader.cpp | 50 ++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/LegoBlobReader/LegoBlobReader.cpp b/LegoBlobReader/LegoBlobReader.cpp index 16589b1..1c3f393 100644 --- a/LegoBlobReader/LegoBlobReader.cpp +++ b/LegoBlobReader/LegoBlobReader.cpp @@ -323,11 +323,10 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // cut1 std::string path0 = reader.read_string(); // cut/story/ep1/ep1_main/ep1_mainintro_sequence.scene_baked - reader.read(0); // 0x00000001 - reader.read(0); // 0x00000100 - reader.read(0); // 0x00010000 - reader.skip(3); // 3 bytes, 0x000000? - + reader.read_string(); // "" + reader.read_string(); // "" + reader.read_string(); // "" + // level1 std::string path1 = reader.read_string(); //levels/hub/prelevels/episode_01/ep1_prelevel_01/ep1pl01_catchupcrawl.scene_baked reader.read(0); // 1 @@ -348,10 +347,9 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // cut std::string cut2 = reader.read_string(); // cut/story/ep2/ep2_main/ep2_mainintro_sequence.scene_baked - reader.read(0); // 0x00000001 - reader.read(0); // 0x00000100 - reader.read(0); // 0x00010000 - reader.skip(3); // possibly uint bool, uint bool, uint bool, so would be 1, false, 1 false, 1 false? + reader.read_string(); // "" + reader.read_string(); // "" + reader.read_string(); // "" // level std::string level2 = reader.read_string(); // levels/hub/prelevels/episode_02/ep2_prelevel_01/ep2pl01_catchupcrawl.scene_baked @@ -372,10 +370,9 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // cut std::string cut3 = reader.read_string(); // cut/story/ep3/ep3_main/ep3_mainintro_sequence.scene_baked - reader.read(0); // 0x00000001 - reader.read(0); // 0x00000100 - reader.read(0); // 0x00010000 - reader.skip(3); // possibly uint bool, uint bool, uint bool, so would be 1, false, 1 false, 1 false? + reader.read_string(); // "" + reader.read_string(); // "" + reader.read_string(); // "" // level std::string level3 = reader.read_string(); // levels/hub/prelevels/episode_03/ep3_prelevel_01/ep3pl01_catchupcrawl.scene_baked @@ -395,8 +392,33 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) //------ // level hub? - std::string level_hub = reader.read_string(); // Levels/Hub/Planets/Tatooine/Locations/Settlements/Tatooine_desertArea/tatooine_desertarea.scene_baked + std::string hub1 = reader.read_string(); // Levels/Hub/Planets/Tatooine/Locations/Settlements/Tatooine_desertArea/tatooine_desertarea.scene_baked + std::string arrive1 = reader.read_string(); // ArrivalPointFrom4_1 + std::string hub2 = reader.read_string(); // Levels/Hub/Planets/Tatooine/Locations/Settlements/Tatooine_desertArea/tatooine_desertarea.scene_baked + std::string arrive2 = reader.read_string(); // ArrivalPointFrom4_1 + std::string hub3 = reader.read_string(); // levels/hub/prelevels/episode_04/ep4_prelevel_02/e04pl02_catchupcrawl.scene_baked + reader.read(0); // 1 + reader.read(0); // false + + // two names? + reader.read(0); // 2 + reader.read_string(); // "BB8" + reader.read_string(); // "Greedo" + + reader.read(0); // 2 + reader.read_string(); // "FirstOrder_SFTIEFighter" + reader.read_string(); // "Naboo_Yacht" + + reader.read(0); // false + reader.read_string(); // "Prelevels" + reader.read_string(); // "Ep4Pre2" + + reader.read(0); // 1 + reader.read_string(); // "HYPERSPACE_LOCKED" + std::string test = reader.read_string(); // "Episode4" + reader.read(0); // 1 + DisplayProgress(reader); // }