From 18322726e055df44c933ef537f9fb37235c050c6 Mon Sep 17 00:00:00 2001 From: "Chris Forseth (C4)" Date: Thu, 19 May 2022 13:25:25 -0500 Subject: [PATCH] Table project - they fixed the bug. --- LegoBlobReader/LegoBlobReader.cpp | 55 +++++++++++++++++-------------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/LegoBlobReader/LegoBlobReader.cpp b/LegoBlobReader/LegoBlobReader.cpp index 1c3f393..0e50ff5 100644 --- a/LegoBlobReader/LegoBlobReader.cpp +++ b/LegoBlobReader/LegoBlobReader.cpp @@ -315,9 +315,9 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) reader.read(0); // skip two bytes, why? type? (0) reader.read(0); // sub section len? 0x098c (probably how much room is left) - std::string subobj_name = reader.read_string(); // MOBJ + std::string subobj_name = reader.read_string(); // MOBJ - map object? reader.read(0); // 0 - reader.read(0); // 9 + reader.read(0); // 9 - number of episode sections to read. //------ @@ -329,14 +329,16 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // level1 std::string path1 = reader.read_string(); //levels/hub/prelevels/episode_01/ep1_prelevel_01/ep1pl01_catchupcrawl.scene_baked - reader.read(0); // 1 + reader.read_string(); // "" reader.read(0); // 0 reader.read(0); // 0 - reader.read(0); // 0x00010100 - reader.read(0); // 0x01000000 - reader.read(0); // 0 - reader.read(0); // 0x00010000 - reader.skip(3); // ??? + + reader.read(0); // 1 + reader.read_string(); // "" + reader.read_string(); // "" + + reader.read(0); //0 + reader.read_string(); // ep1 std::string ep01 = reader.read_string(); // Episode1 @@ -344,7 +346,6 @@ 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_string(); // "" @@ -353,14 +354,16 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // level std::string level2 = reader.read_string(); // levels/hub/prelevels/episode_02/ep2_prelevel_01/ep2pl01_catchupcrawl.scene_baked - reader.read(0); // 0x00000001 + reader.read_string(); // "" reader.read(0); // 0 reader.read(0); // 0 - reader.read(0); // 0x00010100 - reader.read(0); // 0x01000000 - reader.read(0); // 0 - reader.read(0); // 0x00010000 - reader.skip(3); // ??? + + reader.read(0); // 1 + reader.read_string(); // "" + reader.read_string(); // "" + + reader.read(0); //0 + reader.read_string(); // ep std::string ep2 = reader.read_string(); // Episode2 @@ -376,14 +379,18 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) // level std::string level3 = reader.read_string(); // levels/hub/prelevels/episode_03/ep3_prelevel_01/ep3pl01_catchupcrawl.scene_baked - reader.read(0); // 0x00000001 + + reader.read_string(); // "" reader.read(0); // 0 reader.read(0); // 0 - reader.read(0); // 0x00010100 - reader.read(0); // 0x01000000 - reader.read(0); // 0 - reader.read(0); // 0x00010000 - reader.skip(3); // ??? + + reader.read(0); // 1 + reader.read_string(); // "" + reader.read_string(); // "" + + reader.read(0); //0 + reader.read_string(); + // ep std::string ep3 = reader.read_string(); // Episode3 @@ -391,15 +398,15 @@ static void ParseOLST(BinaryReader& reader, size_t end_of_section) //------ - // level hub? + // cut 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 + // level 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 + reader.read_string(); // "" // two names? reader.read(0); // 2