From 033f69465c3020802049184123e66552a8e63a09 Mon Sep 17 00:00:00 2001 From: MarcEricMartel <74071476+MarcEricMartel@users.noreply.github.com> Date: Thu, 2 Dec 2021 18:12:35 -0500 Subject: [PATCH] Test monde infini --- SQCSim2021/chunk.cpp | 39 ++-- SQCSim2021/engine.cpp | 283 +-------------------------- SQCSim2021/engine.h | 14 +- SQCSim2021/media/chunks/0_0.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/108_45.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/113_20.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/118_2.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/118_3.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/118_4.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/118_5.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/118_7.chunk | 1 - SQCSim2021/media/chunks/11_100.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/11_101.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/11_102.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/11_103.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/11_105.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/11_99.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/12_103.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/16_5.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/17_5.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/1_6.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/1_7.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/20_111.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/23_97.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/23_98.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/24_97.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/26_85.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/28_94.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/28_96.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/39_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/41_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/42_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/42_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/43_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/45_37.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/45_38.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/45_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/46_39.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/46_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/47_74.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/47_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/49_52.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/53_65.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/53_66.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_61.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_62.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_68.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_69.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/54_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/55_57.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/55_58.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/55_68.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/55_70.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/55_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/56_54.chunk | 1 - SQCSim2021/media/chunks/56_67.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/56_73.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/57_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/57_74.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/58_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/58_74.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/59_63.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/59_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/59_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_25.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_43.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_44.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_46.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_50.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_51.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/5_52.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_121.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_122.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_123.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_124.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_125.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_127.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_61.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_62.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_63.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_66.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_67.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/60_68.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/61_55.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/61_56.chunk | 1 - SQCSim2021/media/chunks/61_68.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/62_107.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/62_109.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/62_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/63_105.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/63_106.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/63_107.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/63_63.chunk | 1 - SQCSim2021/media/chunks/63_64.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/63_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/64_104.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/64_105.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/64_63.chunk | 1 - SQCSim2021/media/chunks/64_69.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/64_72.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/65_102.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/65_103.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/65_62.chunk | 1 - SQCSim2021/media/chunks/66_41.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/66_57.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/66_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/67_100.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/67_81.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/67_99.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/68_125.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/68_126.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/68_63.chunk | 1 - SQCSim2021/media/chunks/69_121.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/69_122.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/69_123.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/69_124.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/69_125.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_116.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_52.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_53.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_54.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_55.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_56.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_57.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_58.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_59.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_60.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_61.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_62.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/6_63.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/70_49.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/70_50.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/70_63.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/70_75.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/70_76.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/73_61.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/75_59.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/78_75.chunk | 1 - SQCSim2021/media/chunks/7_67.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/80_36.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/81_75.chunk | 1 - SQCSim2021/media/chunks/84_73.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/84_74.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/85_71.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/85_72.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/86_31.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/88_31.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/88_68.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/89_29.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/89_31.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/89_66.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/90_65.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/90_66.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/91_62.chunk | Bin 32768 -> 0 bytes SQCSim2021/media/chunks/9_84.chunk | Bin 32768 -> 0 bytes SQCSim2021/world.cpp | 274 +++++++++++++++++++++++++- SQCSim2021/world.h | 40 ++-- 159 files changed, 332 insertions(+), 327 deletions(-) delete mode 100644 SQCSim2021/media/chunks/0_0.chunk delete mode 100644 SQCSim2021/media/chunks/108_45.chunk delete mode 100644 SQCSim2021/media/chunks/113_20.chunk delete mode 100644 SQCSim2021/media/chunks/118_2.chunk delete mode 100644 SQCSim2021/media/chunks/118_3.chunk delete mode 100644 SQCSim2021/media/chunks/118_4.chunk delete mode 100644 SQCSim2021/media/chunks/118_5.chunk delete mode 100644 SQCSim2021/media/chunks/118_7.chunk delete mode 100644 SQCSim2021/media/chunks/11_100.chunk delete mode 100644 SQCSim2021/media/chunks/11_101.chunk delete mode 100644 SQCSim2021/media/chunks/11_102.chunk delete mode 100644 SQCSim2021/media/chunks/11_103.chunk delete mode 100644 SQCSim2021/media/chunks/11_105.chunk delete mode 100644 SQCSim2021/media/chunks/11_99.chunk delete mode 100644 SQCSim2021/media/chunks/12_103.chunk delete mode 100644 SQCSim2021/media/chunks/16_5.chunk delete mode 100644 SQCSim2021/media/chunks/17_5.chunk delete mode 100644 SQCSim2021/media/chunks/1_6.chunk delete mode 100644 SQCSim2021/media/chunks/1_7.chunk delete mode 100644 SQCSim2021/media/chunks/20_111.chunk delete mode 100644 SQCSim2021/media/chunks/23_97.chunk delete mode 100644 SQCSim2021/media/chunks/23_98.chunk delete mode 100644 SQCSim2021/media/chunks/24_97.chunk delete mode 100644 SQCSim2021/media/chunks/26_85.chunk delete mode 100644 SQCSim2021/media/chunks/28_94.chunk delete mode 100644 SQCSim2021/media/chunks/28_96.chunk delete mode 100644 SQCSim2021/media/chunks/39_64.chunk delete mode 100644 SQCSim2021/media/chunks/41_75.chunk delete mode 100644 SQCSim2021/media/chunks/42_75.chunk delete mode 100644 SQCSim2021/media/chunks/42_76.chunk delete mode 100644 SQCSim2021/media/chunks/43_76.chunk delete mode 100644 SQCSim2021/media/chunks/45_37.chunk delete mode 100644 SQCSim2021/media/chunks/45_38.chunk delete mode 100644 SQCSim2021/media/chunks/45_75.chunk delete mode 100644 SQCSim2021/media/chunks/46_39.chunk delete mode 100644 SQCSim2021/media/chunks/46_75.chunk delete mode 100644 SQCSim2021/media/chunks/47_74.chunk delete mode 100644 SQCSim2021/media/chunks/47_75.chunk delete mode 100644 SQCSim2021/media/chunks/49_52.chunk delete mode 100644 SQCSim2021/media/chunks/53_65.chunk delete mode 100644 SQCSim2021/media/chunks/53_66.chunk delete mode 100644 SQCSim2021/media/chunks/54_61.chunk delete mode 100644 SQCSim2021/media/chunks/54_62.chunk delete mode 100644 SQCSim2021/media/chunks/54_64.chunk delete mode 100644 SQCSim2021/media/chunks/54_68.chunk delete mode 100644 SQCSim2021/media/chunks/54_69.chunk delete mode 100644 SQCSim2021/media/chunks/54_75.chunk delete mode 100644 SQCSim2021/media/chunks/54_76.chunk delete mode 100644 SQCSim2021/media/chunks/55_57.chunk delete mode 100644 SQCSim2021/media/chunks/55_58.chunk delete mode 100644 SQCSim2021/media/chunks/55_68.chunk delete mode 100644 SQCSim2021/media/chunks/55_70.chunk delete mode 100644 SQCSim2021/media/chunks/55_75.chunk delete mode 100644 SQCSim2021/media/chunks/56_54.chunk delete mode 100644 SQCSim2021/media/chunks/56_67.chunk delete mode 100644 SQCSim2021/media/chunks/56_73.chunk delete mode 100644 SQCSim2021/media/chunks/57_64.chunk delete mode 100644 SQCSim2021/media/chunks/57_74.chunk delete mode 100644 SQCSim2021/media/chunks/58_64.chunk delete mode 100644 SQCSim2021/media/chunks/58_74.chunk delete mode 100644 SQCSim2021/media/chunks/59_63.chunk delete mode 100644 SQCSim2021/media/chunks/59_64.chunk delete mode 100644 SQCSim2021/media/chunks/59_75.chunk delete mode 100644 SQCSim2021/media/chunks/5_25.chunk delete mode 100644 SQCSim2021/media/chunks/5_43.chunk delete mode 100644 SQCSim2021/media/chunks/5_44.chunk delete mode 100644 SQCSim2021/media/chunks/5_46.chunk delete mode 100644 SQCSim2021/media/chunks/5_50.chunk delete mode 100644 SQCSim2021/media/chunks/5_51.chunk delete mode 100644 SQCSim2021/media/chunks/5_52.chunk delete mode 100644 SQCSim2021/media/chunks/60_121.chunk delete mode 100644 SQCSim2021/media/chunks/60_122.chunk delete mode 100644 SQCSim2021/media/chunks/60_123.chunk delete mode 100644 SQCSim2021/media/chunks/60_124.chunk delete mode 100644 SQCSim2021/media/chunks/60_125.chunk delete mode 100644 SQCSim2021/media/chunks/60_127.chunk delete mode 100644 SQCSim2021/media/chunks/60_61.chunk delete mode 100644 SQCSim2021/media/chunks/60_62.chunk delete mode 100644 SQCSim2021/media/chunks/60_63.chunk delete mode 100644 SQCSim2021/media/chunks/60_66.chunk delete mode 100644 SQCSim2021/media/chunks/60_67.chunk delete mode 100644 SQCSim2021/media/chunks/60_68.chunk delete mode 100644 SQCSim2021/media/chunks/61_55.chunk delete mode 100644 SQCSim2021/media/chunks/61_56.chunk delete mode 100644 SQCSim2021/media/chunks/61_68.chunk delete mode 100644 SQCSim2021/media/chunks/62_107.chunk delete mode 100644 SQCSim2021/media/chunks/62_109.chunk delete mode 100644 SQCSim2021/media/chunks/62_76.chunk delete mode 100644 SQCSim2021/media/chunks/63_105.chunk delete mode 100644 SQCSim2021/media/chunks/63_106.chunk delete mode 100644 SQCSim2021/media/chunks/63_107.chunk delete mode 100644 SQCSim2021/media/chunks/63_63.chunk delete mode 100644 SQCSim2021/media/chunks/63_64.chunk delete mode 100644 SQCSim2021/media/chunks/63_76.chunk delete mode 100644 SQCSim2021/media/chunks/64_104.chunk delete mode 100644 SQCSim2021/media/chunks/64_105.chunk delete mode 100644 SQCSim2021/media/chunks/64_63.chunk delete mode 100644 SQCSim2021/media/chunks/64_69.chunk delete mode 100644 SQCSim2021/media/chunks/64_72.chunk delete mode 100644 SQCSim2021/media/chunks/65_102.chunk delete mode 100644 SQCSim2021/media/chunks/65_103.chunk delete mode 100644 SQCSim2021/media/chunks/65_62.chunk delete mode 100644 SQCSim2021/media/chunks/66_41.chunk delete mode 100644 SQCSim2021/media/chunks/66_57.chunk delete mode 100644 SQCSim2021/media/chunks/66_76.chunk delete mode 100644 SQCSim2021/media/chunks/67_100.chunk delete mode 100644 SQCSim2021/media/chunks/67_81.chunk delete mode 100644 SQCSim2021/media/chunks/67_99.chunk delete mode 100644 SQCSim2021/media/chunks/68_125.chunk delete mode 100644 SQCSim2021/media/chunks/68_126.chunk delete mode 100644 SQCSim2021/media/chunks/68_63.chunk delete mode 100644 SQCSim2021/media/chunks/69_121.chunk delete mode 100644 SQCSim2021/media/chunks/69_122.chunk delete mode 100644 SQCSim2021/media/chunks/69_123.chunk delete mode 100644 SQCSim2021/media/chunks/69_124.chunk delete mode 100644 SQCSim2021/media/chunks/69_125.chunk delete mode 100644 SQCSim2021/media/chunks/6_116.chunk delete mode 100644 SQCSim2021/media/chunks/6_52.chunk delete mode 100644 SQCSim2021/media/chunks/6_53.chunk delete mode 100644 SQCSim2021/media/chunks/6_54.chunk delete mode 100644 SQCSim2021/media/chunks/6_55.chunk delete mode 100644 SQCSim2021/media/chunks/6_56.chunk delete mode 100644 SQCSim2021/media/chunks/6_57.chunk delete mode 100644 SQCSim2021/media/chunks/6_58.chunk delete mode 100644 SQCSim2021/media/chunks/6_59.chunk delete mode 100644 SQCSim2021/media/chunks/6_60.chunk delete mode 100644 SQCSim2021/media/chunks/6_61.chunk delete mode 100644 SQCSim2021/media/chunks/6_62.chunk delete mode 100644 SQCSim2021/media/chunks/6_63.chunk delete mode 100644 SQCSim2021/media/chunks/70_49.chunk delete mode 100644 SQCSim2021/media/chunks/70_50.chunk delete mode 100644 SQCSim2021/media/chunks/70_63.chunk delete mode 100644 SQCSim2021/media/chunks/70_75.chunk delete mode 100644 SQCSim2021/media/chunks/70_76.chunk delete mode 100644 SQCSim2021/media/chunks/73_61.chunk delete mode 100644 SQCSim2021/media/chunks/75_59.chunk delete mode 100644 SQCSim2021/media/chunks/78_75.chunk delete mode 100644 SQCSim2021/media/chunks/7_67.chunk delete mode 100644 SQCSim2021/media/chunks/80_36.chunk delete mode 100644 SQCSim2021/media/chunks/81_75.chunk delete mode 100644 SQCSim2021/media/chunks/84_73.chunk delete mode 100644 SQCSim2021/media/chunks/84_74.chunk delete mode 100644 SQCSim2021/media/chunks/85_71.chunk delete mode 100644 SQCSim2021/media/chunks/85_72.chunk delete mode 100644 SQCSim2021/media/chunks/86_31.chunk delete mode 100644 SQCSim2021/media/chunks/88_31.chunk delete mode 100644 SQCSim2021/media/chunks/88_68.chunk delete mode 100644 SQCSim2021/media/chunks/89_29.chunk delete mode 100644 SQCSim2021/media/chunks/89_31.chunk delete mode 100644 SQCSim2021/media/chunks/89_66.chunk delete mode 100644 SQCSim2021/media/chunks/90_65.chunk delete mode 100644 SQCSim2021/media/chunks/90_66.chunk delete mode 100644 SQCSim2021/media/chunks/91_62.chunk delete mode 100644 SQCSim2021/media/chunks/9_84.chunk diff --git a/SQCSim2021/chunk.cpp b/SQCSim2021/chunk.cpp index 945e254..d1f39af 100644 --- a/SQCSim2021/chunk.cpp +++ b/SQCSim2021/chunk.cpp @@ -22,7 +22,6 @@ Chunk::~Chunk() { std::ostringstream pos; pos << CHUNK_PATH << m_posX << '_' << m_posY << ".chunk"; - std::ofstream output(pos.str().c_str(), std::fstream::binary); output.write(data, sizeof(data)); output.close(); @@ -31,36 +30,36 @@ Chunk::~Chunk() { void Chunk::RemoveBlock(int x, int y, int z, World* world) { m_blocks.Set(x, y, z, BTYPE_AIR); - CheckNeighbors(x, y, world); - m_isDirty = true; } void Chunk::SetBlock(int x, int y, int z, BlockType type, World* world) { m_blocks.Set(x, y, z, type); - CheckNeighbors(x, z, world); - m_isDirty = true; } BlockType Chunk::GetBlock(int x, int y, int z) { return m_blocks.Get(x, y, z); } void Chunk::CheckNeighbors(int x, int z, World* world) { - if (x == 0 && m_posX >= 0 && - world->ChunkAt((m_posX - 1) * CHUNK_SIZE_X, 1, m_posY * CHUNK_SIZE_Z)) - world->ChunkAt((m_posX - 1) * CHUNK_SIZE_X, 1, m_posY * CHUNK_SIZE_Z)->MakeDirty(); - else if (x == CHUNK_SIZE_X - 1 && m_posX < WORLD_SIZE_X && - world->ChunkAt((m_posX + 1) * CHUNK_SIZE_X, 1, m_posY * CHUNK_SIZE_Z)) - world->ChunkAt((m_posX + 1) * CHUNK_SIZE_X, 1, m_posY * CHUNK_SIZE_Z)->MakeDirty(); + int cx, cy; - if (z == 0 && m_posY >= 0 && - world->ChunkAt(m_posX * CHUNK_SIZE_X, 1, (m_posY - 1) * CHUNK_SIZE_Z)) - world->ChunkAt(m_posX * CHUNK_SIZE_X, 1, (m_posY - 1) * CHUNK_SIZE_Z)->MakeDirty(); - else if (z == CHUNK_SIZE_X - 1 && m_posY < WORLD_SIZE_Y && - world->ChunkAt(m_posX * CHUNK_SIZE_X, 1, (m_posY + 1) * CHUNK_SIZE_Z)) - world->ChunkAt(m_posX * CHUNK_SIZE_X, 1, (m_posY + 1) * CHUNK_SIZE_Z)->MakeDirty(); + world->GetScope(cx, cy); + + if (x == 0 && m_posX - cx >= 0 && + world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) + world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); + else if (x == CHUNK_SIZE_X - 1 && m_posX - cx < WORLD_SIZE_X && + world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) + world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); + + if (z == 0 && m_posY - cy >= 0 && + world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)) + world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)->MakeDirty(); + else if (z == CHUNK_SIZE_X - 1 && m_posY - cy < WORLD_SIZE_Y && + world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)) + world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)->MakeDirty(); } void Chunk::GetPosition(int& x, int& y) const { @@ -103,7 +102,11 @@ void Chunk::Update(BlockInfo* blockinfo[BTYPE_LAST], World* world) { void Chunk::AddBlockToMesh(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s, World* world) { - int cx = x + m_posX * CHUNK_SIZE_X, cy = z + m_posY * CHUNK_SIZE_Z; + int cex, cey; + + world->GetScope(cex, cey); + + int cx = x + (m_posX - cex) * CHUNK_SIZE_X, cy = z + (m_posY - cey) * CHUNK_SIZE_Z; if (y == CHUNK_SIZE_Y - 1 || GetBlock(x, y + 1, z) == BTYPE_AIR) { // y vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, .8f, .8f, .8f, u, v); diff --git a/SQCSim2021/engine.cpp b/SQCSim2021/engine.cpp index ab92a7d..fc03441 100644 --- a/SQCSim2021/engine.cpp +++ b/SQCSim2021/engine.cpp @@ -23,7 +23,6 @@ void Engine::Init() { glEnable(GL_DEPTH_TEST); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glShadeModel(GL_SMOOTH); - glEnable(GL_LIGHTING); glEnable(GL_LINE_SMOOTH); glEnable(GL_CULL_FACE); @@ -32,26 +31,11 @@ void Engine::Init() { glEnable(GL_BLEND); glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); - // Light - GLfloat light0Pos[4] = { 0.0f, CHUNK_SIZE_Y, 0.0f, 1.0f }; - GLfloat light0Amb[4] = { 0.2f, 0.2f, 0.2f, 1.f }; - GLfloat light0Diff[4] = { 1.f, 1.f, 1.f, 1.f }; - GLfloat light0Spec[4] = { 0.2f, 0.2f, 0.2f, 1.0f }; - - glEnable(GL_LIGHT0); - glLightfv(GL_LIGHT0, GL_POSITION, light0Pos); - glLightfv(GL_LIGHT0, GL_AMBIENT, light0Amb); - glLightfv(GL_LIGHT0, GL_DIFFUSE, light0Diff); - glLightfv(GL_LIGHT0, GL_SPECULAR, light0Spec); - - // Init manifeste de chunks renderés. - m_renderManifest.reserve(3000); - // Objet de skybox avec sa propre texture et son propre shader! m_skybox.Init(0.00013f); // Objet de musique! - //m_audio.ToggleMusicState(); + m_audio.ToggleMusicState(); // Init Chunks m_world.GetChunks().Reset(nullptr); @@ -64,7 +48,6 @@ void Engine::Init() { void Engine::DeInit() { } void Engine::LoadResource() { - LoadTexture(m_textureFloor, TEXTURE_PATH "grass.png"); LoadTexture(m_skybox.GetTexture(), TEXTURE_PATH "skybox.png"); LoadTexture(m_textureCrosshair, TEXTURE_PATH "cross.bmp"); LoadTexture(m_textureFont, TEXTURE_PATH "font.bmp"); @@ -104,10 +87,8 @@ void Engine::UnloadResource() {} void Engine::DrawHud(float elapsedTime) { // Setter le blend function , tout ce qui sera noir sera transparent - glDisable(GL_LIGHTING); glColor4f(1.f, 1.f, 1.f, 1.f); glBlendFunc(GL_SRC_ALPHA, GL_ONE); - //glEnable(GL_BLEND); glDisable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); glPushMatrix(); @@ -154,9 +135,6 @@ void Engine::DrawHud(float elapsedTime) { glTexCoord2f(0, 1); glVertex2i(0, crossSize); glEnd(); - glEnable(GL_LIGHTING); - //glDisable(GL_BLEND); - //glBlendFuncSeparate(GL_SRC_COLOR, GL_ONE_MINUS_DST_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); glEnable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); @@ -210,105 +188,15 @@ void Engine::Render(float elapsedTime) { m_player.ApplyTransformation(skybox, false); // Version d'ApplyTransformation qui ne tient compte que de la rotation // (donc l'objet ne bouge pas relativement au joueur, ce qui est pratique pour une skybox!). - glDisable(GL_LIGHT0); if (m_isSkybox) m_skybox.Render(skybox); - glEnable(GL_LIGHT0); if (m_mouseL) - ChangeBlockAtCursor(BTYPE_DIRT); + m_world.ChangeBlockAtCursor(BTYPE_DIRT, m_player, m_block); else if (m_mouseR) - ChangeBlockAtCursor(BTYPE_AIR); + m_world.ChangeBlockAtCursor(BTYPE_AIR, m_player, m_block); - // Génération/Update des Chunks. - m_textureAtlas.Bind(); - int cx = m_player.GetPosition().x; - int cy = m_player.GetPosition().z; - static int frameGenerate = 0; - static int frameUpdate = 0; - int side = 0; - if (frameGenerate > 0) --frameGenerate; - if (frameUpdate > 0) --frameUpdate; - - if (!frameGenerate || !frameUpdate) - while (side * CHUNK_SIZE_X <= VIEW_DISTANCE * 2) { - int tx = -side, ty = -side; - - for (; tx <= side; ++tx) - UpdateWorld(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z); - for (; ty <= side; ++ty) - UpdateWorld(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z); - for (; tx >= -side; --tx) - UpdateWorld(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z); - for (; ty >= -side; --ty) - UpdateWorld(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z); - - ++side; - } - - // Rendering des Chunks. - m_shader01.Use(); - m_renderCount = 0; - m_badHitCount = 0; - Vector3f angle; - Vector3f cursor; - Vector3f direct = m_player.GetDirection(); - Vector3f pos = m_player.GetPosition() - direct; - - direct.y = 0; - direct.Normalize(); - pos.y = 1; - m_renderManifest.clear(); - - for (int dist = VIEW_DISTANCE; dist >= 0; dist -= CHUNK_SIZE_X) { - // Configuration du radar. - angle.x = direct.z + direct.x; - angle.y = 0; - angle.z = direct.z - direct.x; - angle.Normalize(); - - float sinus = .01745240643; // sin(1 degré) - float cosinus = .99984769515; // cos(1 degré) - int echantillons = 90; - - for (int radar = 0; radar < echantillons; ++radar) { - float x = angle.x; - float z = angle.z; - - angle.x = x * cosinus - z * sinus; - angle.z = z * cosinus + x * sinus; - angle.Normalize(); - - cursor = pos - direct * CHUNK_SIZE_X * 2 + angle * dist; - if (cursor.y >= 128.f || cursor.y >= 0.f) cursor.y = 1; - - bool valide = true; - - if (m_world.ChunkAt(cursor)) { - int chx, chy; - m_world.ChunkAt(cursor)->GetPosition(chx, chy); - for (int index = 0; index < m_renderManifest.size(); ++index) - if (m_renderManifest[index] == Vector3i(chx, 0, chy)) { - valide = false; - ++m_badHitCount; - } - - if (valide) { - all.ApplyTranslation(chx * CHUNK_SIZE_X, 0, chy * CHUNK_SIZE_Z); - all.Use(); - float dist = (pos - cursor).Length(); - float blend = ((float)VIEW_DISTANCE - dist * 2.f + 128.f) / (float)VIEW_DISTANCE; - glBlendColor(0.f,0.f,0.f,blend); - m_world.GetChunks().Get(chx, chy)->Render(); - all.ApplyTranslation(-chx * CHUNK_SIZE_X, 0, -chy * CHUNK_SIZE_Z); - m_renderManifest.push_back(Vector3i(chx, 0, chy)); - ++m_renderCount; - } - } - } - } - - m_shader01.Disable(); + m_world.Update(m_renderCount, m_badHitCount, m_player, all, m_shader01, m_textureAtlas, m_perlin, m_blockinfo); if (m_wireframe) glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); @@ -320,10 +208,10 @@ void Engine::Render(float elapsedTime) { m_player = Player(Vector3f(0, CHUNK_SIZE_Y + 1.8f, 0)); // Respawn si le bonho- joueur tombe en bas du monde. } -void Engine::KeyPressEvent(unsigned char key) -{ +void Engine::KeyPressEvent(unsigned char key) { switch (key) { case 36: // ESC + m_world.CleanUpWorld(m_renderCount, true); for (int x = 0; x < WORLD_SIZE_X; ++x) // Les destructeurs de Chunks ont de la misère je les aide un peu! for (int y = 0; y < WORLD_SIZE_Y; ++y) if (m_world.GetChunks().Get(x,y)) @@ -380,8 +268,7 @@ void Engine::KeyPressEvent(unsigned char key) } } -void Engine::KeyReleaseEvent(unsigned char key) -{ +void Engine::KeyReleaseEvent(unsigned char key) { switch (key) { case 12: m_audio.ToggleMusicState(); @@ -422,8 +309,7 @@ void Engine::KeyReleaseEvent(unsigned char key) } } -void Engine::MouseMoveEvent(int x, int y) -{ +void Engine::MouseMoveEvent(int x, int y) { m_player.TurnLeftRight(x - (Width() / 2)); m_player.TurnTopBottom(y - (Height() / 2)); @@ -482,8 +368,7 @@ void Engine::MouseReleaseEvent(const MOUSE_BUTTON& button, int x, int y) { } } -bool Engine::LoadTexture(Texture& texture, const std::string& filename, bool stopOnError) -{ +bool Engine::LoadTexture(Texture& texture, const std::string& filename, bool stopOnError) { texture.Load(filename); if (!texture.IsValid()) { @@ -496,153 +381,3 @@ bool Engine::LoadTexture(Texture& texture, const std::string& filename, bool sto return true; } - -bool Engine::GenerateChunk(int chx, int chy) { - if (chx < WORLD_SIZE_X * CHUNK_SIZE_X && chy < WORLD_SIZE_Y * CHUNK_SIZE_Z && - chx >= 0 && chy >= 0) - if (!m_world.ChunkAt(chx, 1, chy)) { - - std::ostringstream pos; - pos << CHUNK_PATH << chx / CHUNK_SIZE_X << '_' << chy / CHUNK_SIZE_Z << ".chunk"; - - std::ifstream input(pos.str().c_str(), std::fstream::binary); - - if (input.fail()) { - m_world.GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, new Chunk(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z)); - Chunk* chunk = m_world.GetChunks().Get(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z); - - for (int x = 0; x < CHUNK_SIZE_X; ++x) - for (int z = 0; z < CHUNK_SIZE_Z; ++z) { - Vector3f perlin; - perlin.z = x * CHUNK_SIZE_X + CHUNK_SIZE_X * chx; - perlin.y = 0; - perlin.x = z * CHUNK_SIZE_Z + CHUNK_SIZE_Z * chy; - perlin.Normalize(); - float height = m_perlin.Get(perlin.x, perlin.z) * 3 - 32; - for (int y = 0; y <= (int)height % CHUNK_SIZE_Y; ++y) { - chunk->SetBlock(x, y, z, BTYPE_METAL, &m_world); - } - } - - for (int x = 0; x < CHUNK_SIZE_X; ++x) - for (int z = 0; z < CHUNK_SIZE_Z; ++z) { - Vector3f perlin; - perlin.x = x * CHUNK_SIZE_X + CHUNK_SIZE_X * chx; - perlin.y = 0; - perlin.z = z * CHUNK_SIZE_Z + CHUNK_SIZE_Z * chy; - perlin.Normalize(); - float height = m_perlin.Get(perlin.x, perlin.z) + 16; - for (int y = 0; y <= (int)height % CHUNK_SIZE_Y; ++y) { - if (chunk->GetBlock(x, y, z) == BTYPE_AIR) - chunk->SetBlock(x, y, z, BTYPE_GRASS, &m_world); - } - } - - for (int x = 0; x < CHUNK_SIZE_X; ++x) - for (int z = 0; z < CHUNK_SIZE_Z; ++z) { - for (int y = 0; y <= 10; ++y) { - if (chunk->GetBlock(x, y, z) == BTYPE_AIR) - chunk->SetBlock(x, y, z, BTYPE_ICE, &m_world); - } - } - - for (int x = 0; x < CHUNK_SIZE_X; ++x) - for (int z = 0; z < CHUNK_SIZE_Z; ++z) { - for (int y = 0; y < CHUNK_SIZE_Y; ++y) { - Vector3f perlin; - perlin.x = x * CHUNK_SIZE_X + CHUNK_SIZE_X * chx; - perlin.y = (x + z) * CHUNK_SIZE_Y; - perlin.z = z * CHUNK_SIZE_Z + CHUNK_SIZE_Z * chy; - perlin.Normalize(); - float height = m_perlin.Get(perlin.x, perlin.y, perlin.z); - if (chunk->GetBlock(x, y, z) != BTYPE_AIR && height > 18) - chunk->SetBlock(x, y, z, BTYPE_DIRT, &m_world); - } - } - } - else { - input.seekg(0, std::ios_base::end); - int size = input.tellg(); - input.seekg(0, std::ios_base::beg); - - char* data = new char[size]; - input.read(data, size); - input.close(); - - m_world.GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, new Chunk(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, data)); - - delete[] data; - } - std::cout << "Chunk generated: " << chx / CHUNK_SIZE_X << ", " << chy / CHUNK_SIZE_Z << std::endl; - - return true; - } - return false; -} - -void Engine::UpdateWorld(int& generates, int& updates, int chx, int chy) { - if (generates == 0 && GenerateChunk(chx, chy)) generates = FRAMES_RENDER_CHUNKS; - if (updates == 0 && m_world.ChunkAt(chx, 1, chy) && - m_world.ChunkAt(chx, 1, chy)->IsDirty()) { - m_world.ChunkAt(chx, 1, chy)->Update(m_blockinfo, &m_world); - updates = FRAMES_UPDATE_CHUNKS; - } -} - -void Engine::ChangeBlockAtCursor(BlockType blockType) { - Vector3f currentPos = m_player.GetPosition(); - Vector3f currentBlock = currentPos; - Vector3f ray = m_player.GetDirection(); - bool found = false; - - if (m_block) return; - - while ((currentPos - currentBlock).Length() <= MAX_SELECTION_DISTANCE && !found) { - currentBlock += ray / 10.f; - - BlockType bt = m_world.BlockAt(currentBlock); - - if (bt != BTYPE_AIR) - found = true; - } - - if (found) { - if (blockType != BTYPE_AIR) { - found = false; - while ((currentPos - currentBlock).Length() >= 1.7f && !found) { - currentBlock -= ray / 10.f; - - BlockType bt = m_world.BlockAt(currentBlock); - - if (bt == BTYPE_AIR) { // Vérification pour être sûr que le bloc à changer n'est pas dans le joueur. - int Bx = (int)currentBlock.x; - int By = (int)currentBlock.y; - int Bz = (int)currentBlock.z; - - int Px = (int)currentPos.x; - int PyA = (int)currentPos.y; - int PyB = (int)(currentPos.y - .9f); - int PyC = (int)(currentPos.y - 1.7f); - int Pz = (int)currentPos.z; - - if (!(Bx == Px && - (By == PyA || - By == PyB || - By == PyC) && - Bz == Pz)) - found = true; - } - } - } - } - - if (found && (int)currentBlock.y < CHUNK_SIZE_Y) { - int bx = (int)currentBlock.x % CHUNK_SIZE_X; - int by = (int)currentBlock.y % CHUNK_SIZE_Y; - int bz = (int)currentBlock.z % CHUNK_SIZE_Z; - - m_world.ChunkAt(currentBlock)->SetBlock(bx, by, bz, blockType, &m_world); - m_world.ChunkAt(currentBlock)->MakeModified(); - m_block = true; - } -} diff --git a/SQCSim2021/engine.h b/SQCSim2021/engine.h index 6c75b8b..d877407 100644 --- a/SQCSim2021/engine.h +++ b/SQCSim2021/engine.h @@ -35,31 +35,25 @@ private: void DrawHud(float elapsedTime); void PrintText(unsigned int x, unsigned int y, const std::string& t); int GetFps(float elapsedTime) const; - bool GenerateChunk(int chx, int chy); - void UpdateWorld(int& generates, int& updates, int chx, int chy); - - void ChangeBlockAtCursor(BlockType blocktype); bool m_wireframe = false; bool m_isSkybox = true; int m_renderCount = 0; int m_badHitCount = 0; - std::vector m_renderManifest; + Shader m_shader01; BlockInfo* m_blockinfo[BTYPE_LAST]; TextureAtlas m_textureAtlas = TextureAtlas(BTYPE_LAST); - World m_world = World(); - Perlin m_perlin = Perlin(3,5.f,64.f,12345); - Texture m_textureFloor; + World m_world = World(); + Perlin m_perlin = Perlin(3,7.f,127.f,12345); + Texture m_textureSkybox; Texture m_textureFont; Texture m_textureCrosshair; - Texture m_textureCube1; Skybox m_skybox; - Shader m_shader01; Audio m_audio = Audio(AUDIO_PATH "music01.wav"); Player m_player = Player(Vector3f(0, CHUNK_SIZE_Y + 1.8f, 0)); diff --git a/SQCSim2021/media/chunks/0_0.chunk b/SQCSim2021/media/chunks/0_0.chunk deleted file mode 100644 index 081655e7b16a425d3635d5f9b9049b386c60a404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeHJiA7t*-gL1n%=~i2x{w<aG1C-~ya1OQX|FUVo#bZ{eJnWPhdrAI8l;%NPtKQ`i4 z)|CGuwjSU1{zFb)&dxV1z$57)K4}+cb*L`Hzz`uHc^-|Nf()Qi}h?@W}S%o|fZ$CCEMEp-_D82w0KbIWA|n z>Wl+WY+F6xe?R8GdI6>>i8!I~N9=4Q9G~%jqU5i-LD!QO{KfYN@m~rsO`EuQ3;)R9 zNXB)EKZJvwbk|QrIsX96Mc$Zk;6D;ML7b1*{on8vGu};)r6kidFChDZ&Nm{_$ON>> z27>YgrW?!2&f9pLfYAbOry1L`)B&f9R;+ zyJxDfbNs!GilE~j|LAi?hQ?+U$p z{*$*B8~%`A5AA;G{QrFZehL@Ag)HeV_*>wg&&WblzyEf?aVFL9hPVP=4)2uW$2)=Y z{xc)K_xVEP_uu`u&3zudGWosp@1M=L`2Jh00#rn;X0f|HuUE{Q5HpZ|z&{1Ctjqi% zD7s4!@e8`iSAyudm*8^}q>{gPWKT1u@HZvi=WoNxZb(ADqw5L&po zRLnzVkT&1&4-KuI#=#fzDSw-|Ua%0-=|aFc0>E0M1M+lc@R6^Sfe6zeadENKk>IZk z@l}ap^$@uj672=C={C;uPYD-eSnvw}=)wIcS2hirl`W?eJ0*&pVzGn2PDdGvl_9bc zb;~#PU`ajy2IPiX{2l(ANksRb;}0E&s%QP*@K3_C030?3%Ule&EOwhE5K5b{iF{GS$-Jf5b6VfiM~ug-7CQ9D!`=k{wF;zNwV19T2;OPYWyC5(TmxC zE`O;`y07quqv3eCOJ~EQ%HO@yhCjrAjq^Hx>#)N=`u-XIIka|(ZSr*v_49j3cKH-l zI{(=!ON2O3Ul~2gJFG|0{HefDqbigF5lpAvIse%{7THwayEIewZOufDo}x{bM9-Zg zqbGT{9^Cq``=1j9qY&iT`Oh+2yvW~MxByaP{E^ejn#V|S!+yR@K*LmkbSl8417OL2 zIP4|G?`@BDiqCgcqKQdHd_sir46EQ;!I59l)w=Aydh#G#7p&t4Wdpukz*73JCL3v+ z|BnBAXF>|*{WUkTe4PIR9WP(pv7Y90{{JriRn)WmYt4i8i*Af=mm6Fz7<*~8!(U&2 zrQp7oR-a@2_B59pTrOCTe2$n^eT4sZx+h5UePKr7G+v;wU_E6@tG0P zKr7G+v;wU_E6@tG0PKr7G+v;wU_E6@tG0PKr7G+v;wU_E6@tG0PKr7G+v;zMh1^xr0i7@K` diff --git a/SQCSim2021/media/chunks/108_45.chunk b/SQCSim2021/media/chunks/108_45.chunk deleted file mode 100644 index 933443051a57908f4c819b621f986a962e6baca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?@f=3m!TraL$IUr3-E!w?`qfB*pk1PBoLTOcCpiMCdGw#>7w zGw1Z?&b?W=syFXTEkDiti6KCM009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk x1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!Cufzy+=~7E=HK diff --git a/SQCSim2021/media/chunks/113_20.chunk b/SQCSim2021/media/chunks/113_20.chunk deleted file mode 100644 index e9bc2e067ee7aebfaf596121b5d24115b3cdbec5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI#L2iUF3}MN^=Xuq2XSR37cg7>E_h(q*6_z;v z`Ov84Tk9DaM|~@-zh4FKy3{`fw#O?@E#H=ZtEbgB!}9zJORWAE2(*6Heva&;zxF@p zed<)N6*kY~C!pn9>(PJnpYxFOZvNB5{-?+B@4lI!_g}Or_ucz1J=%P)h2MPkzxiyM zb5Hg^dXw{R|I?$*xBVXidwdp0iT9m@Pc7eC&&WFJ^Zh$JTza`0zT*|v`}@|prABdrS6uj|IE`PG;Q5>PDr_491PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5;&ZUQg6 C#U|wd diff --git a/SQCSim2021/media/chunks/118_3.chunk b/SQCSim2021/media/chunks/118_3.chunk deleted file mode 100644 index dd9a7e35e88151409e5a77c9b47fbed7d98a3053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuF%Ezr5ClNw|Btru3N~nALV?URm(3O&)0!bbfB*pk1PBlyK!5-N0t5&UAV7e? zKLw7LIr}bRUshU8sqUV!11w^`IId@V<`wJa2fzBzU8iT&`|YvUehz+2fB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk GUj#1wfhU{)aA6u@;1ah?4QgT{ZJfN(KP}1PBlyK!5-N0t5&UAV7cs0RjXF z5Fjv{z!JuuudJ+Pnk{e46XM@!D^UI7-1TeX|Gw7um%d#EvCy{HWUp4|`Dwr7-M^{_ zUc(IaeDxb1vq69W0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk W1PBlyK!5-N0t5&UAV7e?b%71@!861F diff --git a/SQCSim2021/media/chunks/118_5.chunk b/SQCSim2021/media/chunks/118_5.chunk deleted file mode 100644 index 441a5f118381bd7e5eb61c74d3b0548790ecaeaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu(F%Yd3;@9L|36xgCW=K#5EbXk2HVtKN)7=61PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+0D=DqEZbQl*^jkcHg9^qF43%VE3H5Wx17~u>}k(<_igd2*X+ML-`QdP1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk GgFpsP12~ER diff --git a/SQCSim2021/media/chunks/118_7.chunk b/SQCSim2021/media/chunks/118_7.chunk deleted file mode 100644 index cbad6b7..0000000 --- a/SQCSim2021/media/chunks/118_7.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/11_100.chunk b/SQCSim2021/media/chunks/11_100.chunk deleted file mode 100644 index 74d3ccdddf5e02c9bbf61a0ddefa131689f71a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIv%MQXI5Cza${QqyZpwt1ouu(83ryITDF*Aphd;|y(C<1HeFgthUC&zVd=bfEX zSATB4<}Zkk&Z(<6Jm&&ozSQJ0ZCF2>OZVaY^n5QE<|`Atn;+xuKEKWnzP+EZxlUW( z?`*E!)$>2kdjs|T>qLjSE^fbNeRkfvt$xo2?)?tUmnD2#y^xkA*N+==jvJ2h+5Jm6 zaCBc^FE*6-$A*scv%u?mygkqR?c842c3XU#f&A5S|b~oZZ;`IOb zzvKG&z5Y)?#{>uvAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ jfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+z-)mVOJyX| diff --git a/SQCSim2021/media/chunks/11_101.chunk b/SQCSim2021/media/chunks/11_101.chunk deleted file mode 100644 index 85f963641c7b23034f260c86e3d7fdb4ecc967fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIw(Q<24d=V{)i3Fi&ZxxmNYZ=bf^UmjfN&CWYlJI~(0)z9CqALF0(p61eB z<9Qr-_CGrx4W0F4uH)AE|2tQ{+Rxa$T-WY%#pTFf_0jEms;f(RKP~b7*Y$Hl`5w!; zq2~I++k8|g>sNvIxoo&wueI_$uaC}cfxVxm;QZVaFY|{79Y^+=y&ei?pSFR=xjk(A z9S;9Z?l#2k^8YCo7@uRoj_c+7#qP$Z*xd)-U5ii8>y8r%5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ JfB=CTfgf4ACCvZ; diff --git a/SQCSim2021/media/chunks/11_102.chunk b/SQCSim2021/media/chunks/11_102.chunk deleted file mode 100644 index 14290f4e755f3b3b52d1c48595d3fa9a71d62c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIxS&qUm5Cy;)CHFt`#C8nr24z55kWl6C;m}JNrpZHq009C7ra2j0om2aZ<2;Z1 z?#)xGcX@v6K9_BWd2?Q-AI>k&rQz_4I5d~-V*R6Y<%;vCey5*r-dEc;?7x0+^Zs;h zJi)IGbenJA`A>h=dQ1GRAKi0%VUnJ#>TT!Jxjn6Z zPrcvSxlh;oU7PRQwf_I*`*iEP;S1I8>>LI-;J(7Nb)TbinD#Z_I6&ENZ;k~X?8Zyt(031hd#C%todP7M>s+xM5&`MQ|69`5h!7Pb%p0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U OAV7cs0RjY068Hn6L?=4{ diff --git a/SQCSim2021/media/chunks/11_103.chunk b/SQCSim2021/media/chunks/11_103.chunk deleted file mode 100644 index ae4eaf33672870dcfe33f37f1a9c470eec9645fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx+irs}5CuRg^Z(ymY+~beA6mp!>f|X0i1+NEq~t?@009C7{=L9F2prABaW9Ya z9QXY#r{VeAbBcY_vAnDs&bvA*c53_93-$S@^M|YTJ2%(u>i&CkZBu{$cy0y$^!~PWSKq61 zYgfItfotDe^EPbxmgn~u-jMr3#iuKHJa>nc{rBd+UGWPC44m2b>ic0p_UQ-y$o8~^|S diff --git a/SQCSim2021/media/chunks/11_105.chunk b/SQCSim2021/media/chunks/11_105.chunk deleted file mode 100644 index 3b894eeed7838836400f8c171dc9606eddf03134..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIv(Q<+?5Cu>i{Qqw*F+{R!r;Z|F#-2X)8ra-D%(FiN1PBlyK!5;&|0{64#@%1d zb9(>u9M^f4rfCX~jLvhqe{8;7;=U#J9wqiUpD%60`9n_gUp{{}zYKi;`<3ba`$y;7 z`hDMY|KaDszi!*@zy5IdJUds8&Z`!>_uF^g)^GFo=C#e{*#@@0N9R_c-S>BHZCc;a zxwUKekImb*_5Pf+!dwp;q7XNKo=;ok3+*7^FF_`ZH$3lbnefB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1U@bB E1EMG{vj6}9 diff --git a/SQCSim2021/media/chunks/11_99.chunk b/SQCSim2021/media/chunks/11_99.chunk deleted file mode 100644 index 18b2b85f6f8a1bc0ef8f37ca31aed93ab910419b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIvTTaC=3ZRxKzt?^B`F}f?>HYM)7wq$ukdJBCwe7#kNB8~w+w<8#>;IT;=oKQ~{~o?fr=)m`)L7Y_gI+#5Ro|JA^qd>yVI+xe&SSYYpOD43Fm21@w|tJeQ( zIW)BSj1At&pTmW3=ZC%RGdzALPZwf$^}Y1{Sa9O1{lxug{Kw;5{oVQTffXP?fB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ WfB*pk1PBlyK!5-N0t5*BbAc~2ZzO8~ diff --git a/SQCSim2021/media/chunks/12_103.chunk b/SQCSim2021/media/chunks/12_103.chunk deleted file mode 100644 index f395a2dd196af2b060c37052e01267f399f8aad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIvK@x)?3xS0#t@BtvkeB41){r|Iq836gyK|dWLp^qxn%HI~VJ7hIaRQyY!i9O}RESTuD1HynEZ z`{g)2o_Eb(zP_cunx_3DpGZQ~T*_RzNiN2|m4~c6W$2}J|BYA2q5D5*oE1CVsr|0n z33X-BiCZ#jVYW(xMx~`8b^ikhas2K3Z)dNQZM11GEu%iNCno3cD03%fQ}XhZgoZ3l z8G5NhN$1{wSf~RoA0NZN>5qAKXj+ngr*jKOl4G_&LYKs9$iMBs70-ixV8!jaUjVN? zXO)YXT;t3&9Jv#-wJ~(b=kjmWpsx6|V*4xLwObq(YVs|aJ26`uLzl#6kfkX@FZD@_ zdh+Mv>DNvhZ@d+2{u%Px?Fd+S3;+FoyR~LFoQD4*@P_`ctGj-As^5TOhRZ*{_+P#M zyv%Obp757L`$@kU>Hdw$EA}6)gvHtK^3O^1pO}V!`{Tf#faC*zV$&QRB@yO?Dgd)f z22+bcmZk)A2KrnNu9ciJ24D9Z{xPfh_mCaN`yYen_s>=q1uwe;DL)LAu34Mkga6pe zqV>cs5c_q=Bbcodp;18J$z!RJ+ zp~_My^Mp-uG0v|%qn?n9HFLdc9nCBF_2W8lF`W2mD(& z5eyfT$4LE^_^JQ0%Z5jtt>LIU-Ohe`4Eg%p^_Kp9`JI2wjx_mbeLhNhC}fHc5N$1{`tIqUJ>lZD_&FB@wFuE&VEiFYwF953c>J`-+05y$dAlBh~EG5 z^OE=Z9eN=TA|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`HAOa#F z0wN#+A|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`HAOa#F0wN#+ kA|L`HAOa#F0wN#+A|L`HAOa#F0wN#+A|L`H@bU!y0YecnRR910 diff --git a/SQCSim2021/media/chunks/17_5.chunk b/SQCSim2021/media/chunks/17_5.chunk deleted file mode 100644 index d6b3875d90b5b736cee56ad6bb5dadfec849599d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeH|+jinG3`HS}|NrLE)s{qC3cU=>>^u-3DVBA%0vyM2oa2(EUR~Xgp7xDv^OiGh z`Z(_g)l8#q|vu@HKoU{qwM)z%l3D9ud1bG@3vuu^l*z>m-(!VRMYUtPJ@=V z;{NfLu7)LFK*&Z0|5{g#LxE|>Kf>n*cPWZ#j$?Z23@j?7K=CURk2Z@(TW!6*uYrw&C=fQ(xNmb-!Y`iV|QgMRb-e>(LaJnL||J&x=+L#gF%p`tC)^aDbR{-l5PyZ%b# zENig@qGj`@AKQY5ww6`Px6H#rPx(&&YPZ-kKU2Gt;m>99?*kvkT7KjnlHcy%Uhps@ zH*acciAJb4t)Z&*p{~DQ>6u@dzrEjOz}BG_jVn8zTH+SUyx)J`Z$HnQxW~V}-{lq8 zdi8~m`f0b!&qM8e2{ru}gm!h8e;@doxVP-y^mAE=(9*JK`Pf+Ve`BpZedIsvt`S?0 zWBwWoyW9Vhyx+H&PXA&gaJVDgZ-Fov^~U@)x}T3{EVR~7y14Q`2JUU|fv1hY@pALd z{?}cM#K3K)8h731+24QL-11&dLcVyZ&ny2DN(4p!$E+-?K-ND}e6bf6#lqe`em@mZ>ZMFY*8NhLMLuWByv_HGj{(K;Yr6 zY=i&=AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ l009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5cn?%`~ja#9d7^t diff --git a/SQCSim2021/media/chunks/1_6.chunk b/SQCSim2021/media/chunks/1_6.chunk deleted file mode 100644 index 40168cfc2416ad7d59f46aa1a49477e2e80405a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI0;d0wB41?>s@BhprDN`mP#+I6<%WlYzrHDw7_!PHy+xO$O$@}*C=~CZCM!ju& z)_c~{kC#_Xqi7UVR>-9!%*68*+@<%t!i+aq5?xLgN zRD&b)wO_;`;K};U0!E2(A&DyGuN36W*YjH>JPBMxRF;& z{;%yT=G{d`y`kRoxj0FETK7)xP+#d}Smp5q_Fm-0^JLh?ck_1x9dnl#&u{YzpETe* z`ICY8W$kpB|9jv6L=*4#PA}j8%=aN}G~D;a{eQ?SHg8#Prq6gdLEL&Gx>qXyXIfZ3xIpGJpYil>0Yq^Q2x_UC&D_bdi;9^hEL!Bx$e8kJM1> zPQ>$f1F6>mNe4sA>xb&1^|7H(_x##?H28fVTL1i8KG${LY|!GJhBE!54|trvH&}gW zD0GjY9OT^eVc_{a(x`PCEwXP(H|^7h{94)KoDHJ&rKlC8o)6j$wZPU54V69( zEMG7@wNJGCp`q6227SH9`F*>V|C}DQPp|X3!N9}vn_)LNcm>@zG@{B!U&goHcQWvE zH>mRm1M3#IrTpez=TF-_7})a=^~Lkx24miA zfae|X2`D$1I=}zzP~+Kk9<|n7=8tAxEbnFz9njJBaa+9sb@%iJ|DeuJs0{>2HXzh^K*+?TM4M}z#F^4oMT)ORgj&W{Ew+r43a zjDtL4yb@q6F#5p}^>Y5@hB#4gH*Qz1AGWpgn18AvPKeXZSUNo4VMP1`E}hmY-;_d8ZOsYXDx^mD*doP^2gp=v)|AE z+KDgEU#cZpBrzm8L^f8Bt$QyBEyF(+(5y=;&g z;O}2L)A4uDLs4*@f1=@OgKL0kgVp@@-==ZF5l}oG0jB9%dS`H3@RUJDHM32Qce~vW z0DI-cyZqz&xDDv#2E4vsFbJW;j~JwBEI?g%g-@{obtwH?6NeS}0SS-*36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ NkN^pg00}%t;17xXN7euU diff --git a/SQCSim2021/media/chunks/1_7.chunk b/SQCSim2021/media/chunks/1_7.chunk deleted file mode 100644 index 11541acd7a58e4dd8ffb3b77c8132bd12a855855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeHL+jiS93`^?&|L2Li@B+z^WT#nnhP*T|DG&hVu4l*bbGXm*2spujr8D#ou=Iq_ z?7(h)s$h%oCv-oLfF+Jl7u-DvZU+Zu^+@=J0j~+;fM{pre}`=;pL>K+e##afY+-1A zChX+p{X2YZS|Er6et~dr0Cac$p)O$uJEQbN10LAL-NapjQNJmK>b8G4pVb$7q{XV?ge93vQGu~W`~{G(#|kEz^H zu@Y8)h?UU$mnPAlem>-T`V{~A!2Gv{>{sh`{~fjm>aP+k<0{Gg6@m@}q4|I00}VGt z&40t$|04}c51Rk>UIAKmj1F2JFtd-(=Y5(>~e$xJX zzpbPB1>9g^G<1qvel-spC=dMkRjh=~uaZ>%fD6oa2L4@h)KmSR)|;Qupdft_f>(Ie zuW|sNOwd~X@(O1=cl=NNe3xGdB;+CT=-)1k#NqFczq5j%C)Nk@{jb9;Kls4|h`0S>KHL7c z_KkTALyjPGx^ z&-5VX-8qgAP~P|X@BE;@8IFblVY=vl;d;jT80Z2)l!S`5{YSb9!f6-$!-SqOHq7eV zeq;V|*c73femcr(}6U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO z1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO n1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#W-;}@~0LDXT diff --git a/SQCSim2021/media/chunks/20_111.chunk b/SQCSim2021/media/chunks/20_111.chunk deleted file mode 100644 index bda5e0024e3294cc3e33a8f2c279ae04c995465d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeH^;R=F40LJWk|98$Hvx7nc8w=(iIZ*exjj>$Up`%kbw+jAOjirYXi&kdi=)E&dW)F zu`S%Ze>xumw->qlg+nPx{l78`Hmd%ZY9*-t$}HHZ`eUkm)asQP27m7w}7vtXm@kEvFI>aWa#jjBJUS_!JZG7C1U z{+MbdsQ$_<*r@trs+FMnE3;su>W`^bg6gl#f{m&_rdkQAzcLFps{WX2C8++&EZC^} zW2%*)`YW?wqw0^TR)XrU%z}-oKc-pm)asQP27m7w}7vtXm@kEvFI>aWa#jjBJU TS_!JZG7C1U{+Mbd$khJ^e*QCi diff --git a/SQCSim2021/media/chunks/23_97.chunk b/SQCSim2021/media/chunks/23_97.chunk deleted file mode 100644 index d8d921cf1b2d80c32b8704558d7fd93bf382fbeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@Pwm2n0YI|NrL(Ibf=7dN$)p6qh)?TLcIYAV7cs0RjXF5FkK+009DL3$$9} zqgA$T-K!yC-s?3WPO3ler-NtUzTqQaofwhv;L2BH!W3XjfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5;& GzXCT4!Z!N= diff --git a/SQCSim2021/media/chunks/23_98.chunk b/SQCSim2021/media/chunks/23_98.chunk deleted file mode 100644 index 28a94cbfc2930bed427ee211f48b2906c47a518a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu(F%Yt2nA4M|NqZH=>|enkAt(9dFK#3V>ko|5FkK+009C72oNAZfB*pkOCVNx zRXw-%E-~VWJoj3aA{U(P%)Q_9m=8(tH_rh@SOdQ18c_eAa?N!UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF K5FkL{P2dFO*Ed!G diff --git a/SQCSim2021/media/chunks/24_97.chunk b/SQCSim2021/media/chunks/24_97.chunk deleted file mode 100644 index 16d005a8b3a2d82f823c09c71c9a942d8e237f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIvTW-QI5Czak+5es~33luu)EPuYRULlHtvwGP*42jq0RjXF5FkK+009C72oNAZ zfB=Ciu+%UA^zUDPU)(R9W5MKijMvjS6fEgH7A&E`NgfKy`6Q13;rjYUp3Ix=GfpgN zD7cin4YvD}+zW(p_xI=LcMZ4t$^3r6`Te88exA;);87p)vGDo)*?DWXdvy=GxNmE4 zzTeUC)p>1D&y%@5@WsBhU436V*Mc|qD`oqNtv;Rif}?)S6`-9z{&6{{_lfTr_bGF? z3vK>9Zw1}`WRCmHa(ch`p5%TzK>xmbgH$dB!~HRTf4}&ialf+qkNcmTFX6qD9Oq~A zZ|_$C#^3MLY3BPhKkhTjpI%r$0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF d5FkK+009C72oNAZfB*pk1PBlyK!Cv41#U>LOEdrg diff --git a/SQCSim2021/media/chunks/26_85.chunk b/SQCSim2021/media/chunks/26_85.chunk deleted file mode 100644 index 280bcc05bbaa8ab0deb22c34e4fc1b98f5caffcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIy(Ne=O3`Eg(^8f#gEl2iRO;J3w9RimZ*m#v#=YehG2LS{SKmY**5I_I{1pcSM zeO~*1e|Rt#ws4;2Fiu1OfnOwW3wMb*9RIa=3;V{rh4VCD3+NX1jd=^_%Q^Lmz901~ z>rUU#a#?@sr}_O}^L^Iz>bg3=n(O*HpXSsnyl;D_pKYu6Zx04xmTg_#-v-9~!?`_> z^EB6j_S0MnQ~#UXwv+z;pwDNyUZ(u?{&H>uV?NDRkbatLLHm;J?s|WJ;QiHXmnlO& zpXR;L`)O{4(ND7#q%YaG^ZUl!-d&&W^S$sS_W}Q&4?N30;OA-H3%$Rb+knmc<$S-G z{W5-@=26)1*WdUg_W|F>2hL`Hf%ntA7i!TI&cuhB`_tyt!vJTk(@`9M<=+vM3?mDoX!@#`Vk>@-RIO_ka>E3le zeUN4Ce&X-xa^-_*4uyHUpL=~`=U09saQxWsm3OQ~40^Qc_M_4P7KpLE`-zAVHqh{_v&HmyIeEv)-gw(nA>)`vJ3F=2o!kWwwG=KgaDpD)+~fvVPxexX80%yl*sI<k8{Q-8rJMeCH4Yn`yDroiFc{app z>-X6`wtOt-hlLk%IH11QA9yeOg1RrWE3kT*SHb$!UbUT5LwKzD`DtJB3^ybW`~Tx_ zxVP^QFdyIW%b)#S^=O$>f%c0JF7t$iCvt2E-ER=S;v4c~WljZ&=k)g-ZzCaq00Iag zfB*srAb#_lEXI){eZpXQ@rtq(a4TlUZLP|yuu`qT5ipx^$Xf7ejv zk0ZX4V?(KrIo|b&@8jEP9ty_c^W0zX-R(aieEvqSabD|`009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF g5FkK+009C72oNAZfB*pk1PBlyK!5-N0)G+s0RT#G=l}o! diff --git a/SQCSim2021/media/chunks/39_64.chunk b/SQCSim2021/media/chunks/39_64.chunk deleted file mode 100644 index 57562f02d8b2c1758101a2c9416a0f591c7df915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIyF$#b{3`M~ea{n_6TP1EiXZ+ra*RpFBy+_g|%!R$BDlp!J-;-+w8AV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U YAV7cs0RjXF5FkK+009C72oU%cD7uL(0{{R3 diff --git a/SQCSim2021/media/chunks/42_75.chunk b/SQCSim2021/media/chunks/42_75.chunk deleted file mode 100644 index b70364a0c2496e569d5201a0a89e5b914202c7a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?YY`2m`mMjGT diff --git a/SQCSim2021/media/chunks/42_76.chunk b/SQCSim2021/media/chunks/42_76.chunk deleted file mode 100644 index 6d942e5e3b0a5b07c72f1f03070f6d4aa4bd160c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?+wK2*WUt`v1+$y#Z&->O=$x5FkK+009C7{s>I9b%p=|0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs Q0RjXF5FkK+0D<2E2S(y70ssI2 diff --git a/SQCSim2021/media/chunks/43_76.chunk b/SQCSim2021/media/chunks/43_76.chunk deleted file mode 100644 index 25ed3fc223bebee06cd2831bb1d7ab550e4d40dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?+wK2*WUt`v1)w&=YXRj7~&=009C72oNAZ;E%vmTgM*eYQJ`qiBA9HV_u>yZK+e;L009C72oNAZfB*pk1PBly zK!CuT3mhLue&(hbkK8qdd_Fm+kXG_d}nPI@4n{ShPdbL#hAYpBeyFe*FBl@l9jV) z&-#zY=a{uwOndFKjeYOei`ciC$lE3L;~Siwo9!B}|Hn62*$M;*5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5Fqde0-xR8 BDe3?K diff --git a/SQCSim2021/media/chunks/45_75.chunk b/SQCSim2021/media/chunks/45_75.chunk deleted file mode 100644 index aa848f1dc896e25e633d703d3240152d7135bccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?+wK1Oz~Z{bv@9iUB0|m3W0*rVt=NfB*pk1PBm#BM`@@y`OG|-%q#H# diff --git a/SQCSim2021/media/chunks/46_39.chunk b/SQCSim2021/media/chunks/46_39.chunk deleted file mode 100644 index 6d41e0198e1fc92e9af4a98341298f9b070d402c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx(Qd;a3j1Hj*6Z>iK!5-N0t5&UAV7cs0RjXF z5FkL{^98=*Q|3JL)eGf$Tb}tkp6|P#n_|>D?<{1`S;*XH@1K?LLdmaQ`~J3dJKvAi z`|4HiT*n;wCz{BR{hoQu-pix0xg#6RLguG>WuL!&XW#j}&6CUc?(=<@O3ZuaawMLY zJ4T+Bna7!x??TB@sJR!m+zNYs{r@Vh{%hIaxzE2})84-odOx)g{gp!Gvg6L{Oy=A& z^C+x*7fOyo&3Q+8{o9x4JJ)3Qt6P6t553=7i2h37|$wH$#fD|3?R&(JW1P{&3FS4CWs|^Zy-3 zR&BoF^Sdc=Go+~h{{OCTE7Sfj7XbnU2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t8+JK3*&+ AVE_OC diff --git a/SQCSim2021/media/chunks/47_75.chunk b/SQCSim2021/media/chunks/47_75.chunk deleted file mode 100644 index cf380efb96e351ec4e8fbc0ee9de2ed84fea10f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIxK?=Yy2n4_e{QsMKUZe@R2!+W_42YvvUA>jRSH>&jv9Pl4U6>smqU^U9ioE`Z zIQkr7jQj0~ucsgys$Mtp=0C*I=MZx={~brney&^yPCI=y6>`M-oNEJ((@=H zM=^2~%h~5;uK#M^SZnOti;?@HGq+;NwOI36Y`GLQ$IIe=&h6;h_WAKdoEJsp7#X=2 zGq+;NwOI36Y`GMBK5|aCZ^ZrqbD|Y9|Hi%_+<#g0_T{5bOz+5FkK+009C72oNAZfB*pk{{`Z8 z8c{c!Ts|Cq%g@c(_k5qszUAv=^#%a~1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N s0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t7w<2I~JMod5s; diff --git a/SQCSim2021/media/chunks/53_66.chunk b/SQCSim2021/media/chunks/53_66.chunk deleted file mode 100644 index d5c85092baaed132728af5316a84ce7c849f8208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuQ4RnR3w4jQKw~ zV&oisGw)|^h2`EFTds|i_gG)#g-n0|0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ s009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+0D)TsK9mh4M*si- diff --git a/SQCSim2021/media/chunks/54_61.chunk b/SQCSim2021/media/chunks/54_61.chunk deleted file mode 100644 index dc44570637fd0ab87ac54cc78b7bc4576bb55179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeH{(T>6}3&P#L%I`bTB@=e?2)3dvM>F@o2xfueVfv z_WFL%3_fMQFyyQIYA)?x=L$#sdaE22)tr{EN8@@&r-Ct0=&<>gVS2Sp?S`}r*V96?9Kfj^%GOPdk&Frw~8(#^V2ib&Jtzc_Ln^?nH&f}00Izz z00bZa0V8m^ToQ@{IyJQVlrVItFujba-H_%A0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz U00bZa0SG_<0uX=z1dbB;0p&(C>Hq)$ diff --git a/SQCSim2021/media/chunks/54_62.chunk b/SQCSim2021/media/chunks/54_62.chunk deleted file mode 100644 index b777eef5fa979386f7edc62f8ded17edc45db89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIv+it=@3B=;<+>2(^=GVk&$*A!i(8R%`z^H{&l?*fkBymoapqQpd=xR);$bce z%e)+z@^9lfXFhKf^MSpXxt%lj$16YQZ6V~Nh`AO^F2$N(c3*nzHU9kGSKRl$d+!N^ z{vZkY^8V^Vod2iyx%{s0g{Sv^_=V{znAw0stK@?7Zi`OLeye`C(eAN8_Fxh}+c{l=QN zoYPn&K!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ WfB*pk1PBlyK!5-N0t5)WU*HB*SuH*Q diff --git a/SQCSim2021/media/chunks/54_64.chunk b/SQCSim2021/media/chunks/54_64.chunk deleted file mode 100644 index 37c630aafa9b5691efd0a69ba79774096f534c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu(G7qg3vg7CC@uXzvfYy{hIqDOW&3N0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+z^A|g DWK=0j diff --git a/SQCSim2021/media/chunks/54_68.chunk b/SQCSim2021/media/chunks/54_68.chunk deleted file mode 100644 index 9ed724569b82af5b3a7a00c8b69077b403200dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu!4Uv32m-Lm{zG?$KI}uo0Kg>?0t5&UAV7cs0RjXF5FkK+0D;K@=WD8G?V&b3 z53~{>K!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ YfB*pk1PBlyK!5-N0t5&UAh1B-0zw`n1poj5 diff --git a/SQCSim2021/media/chunks/54_69.chunk b/SQCSim2021/media/chunks/54_69.chunk deleted file mode 100644 index 2aa72f15d044feb2a2165e49c581aa1e19c89cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuQ5HZj36hI^AJdvcfB*pk1PBlyK!5-N0t5&UAn<8{Z9Z*| z+x73cdc~OMg|JF5L{1CqJQn)AAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs N0RjXF5FqeZfdh-KB;)`9 diff --git a/SQCSim2021/media/chunks/54_75.chunk b/SQCSim2021/media/chunks/54_75.chunk deleted file mode 100644 index 8e714ebe8cc54d5f00455f1f13da3217cdd23446..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu+irv~3wAvTcO2ZS!v4fe{%R_(w0RjXF5cppLds_FDQ(@mz zA^EP?CyzfO`t|;fr6_00)j6*dX}!{4p0L7Y4h_e7n7GMfqMeV4 zkz2>Mg^!olEfq>$I<9hTc%R3KnrFvN9u4h$Tru)j-E-tNF>`I0c{>UrABC9TSJXTW z+W9E-{$9At{RjGa|AG5lC+2ybh4Z zVt;x6EvNR!<6qzJaS$IQK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF p5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXFd;B!4WeSDy2HqV7KxT8@Rw90qznoX9!9J{;|>r<@A&Hl@BNe5~GZmE#qyA5U!g zoVdxyz}`QuxXt^Cqrac1c_L{2Sm^Vi&~uo$&ga0^KkpoQOx)&u;OL+Gj#A%hg!bPG zF}K2$YvCsMyW;s#81p&r>xKKai7`K3eCF*$$h{DAE4<8gVCvV8r2L7P_y3W7zi|Ke zp1#E2qm&qz<&pA|^E@sQAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 v2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNCfrvyF#$#ff+ diff --git a/SQCSim2021/media/chunks/55_57.chunk b/SQCSim2021/media/chunks/55_57.chunk deleted file mode 100644 index e0f84488b57662a451c41b9c48db5acf8fe09420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu(GJ2O3i>33>+MTUg}i^wQ^!4zg_eiHk%z*YADnMakJVXgo-6JB z;mz1D=Jx#})_Ku!T#6hGPjhcL&-)rfZXGS3`)u2B{wVbRvk>>A5P8|>_4{qadH?>W zR;FAFb1pfjqa5|!rylKRZ*FaTbMDog009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ KfB*pkD}fW(-z3ri diff --git a/SQCSim2021/media/chunks/55_75.chunk b/SQCSim2021/media/chunks/55_75.chunk deleted file mode 100644 index 664549100d06d036ed62fcd0924d9b8883ca9938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu%ND{Q3{uliBZymDlAv&(YnNJSL95=2Qv<2oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PI&$ E9gRgN9smFU diff --git a/SQCSim2021/media/chunks/56_73.chunk b/SQCSim2021/media/chunks/56_73.chunk deleted file mode 100644 index 7fd12d6104ec6b829bf5a8387078cadfdd2af10a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuF%G~W2nA5&{)et@I$(6|K=WA4S1{ydDgp!u5FkK+009C72oNAZfB*pk-w8yl zfA4v1h*@>w&h_G$OT+VCCf?lQ7%jH6Bmn{h2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ tfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB=F23S0u-CB6Uv diff --git a/SQCSim2021/media/chunks/57_64.chunk b/SQCSim2021/media/chunks/57_64.chunk deleted file mode 100644 index 676c69a9506bd39b65ebaa5c45767dd80d079393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx+fKtU5Cy=J{{KJY_?BHmX@pWLq2VPx$D25wmhGPZwjA%Sk(DY)Ep*SK8l`aG4d#8?!}Q?@k6cy zVZFX+%4H(wZOzMaj~AS8JYsIpiZwO?=?TK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0xuQ#1XjZ? ADgXcg diff --git a/SQCSim2021/media/chunks/57_74.chunk b/SQCSim2021/media/chunks/57_74.chunk deleted file mode 100644 index 4e1ec8c90695560287ccc2c729a831796f1c3607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu$rXSg3e+fhR?^a zG3Wb0Y?ZIrbKZE&Y2fIm6E*jVx7?1jek|uJdagHI*@^%G0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RrCw EE7dq9U;qFB diff --git a/SQCSim2021/media/chunks/58_64.chunk b/SQCSim2021/media/chunks/58_64.chunk deleted file mode 100644 index 98351507c2457d66b23cd005137275fe4247deaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIwTXKUi3_P^%_+hAGHG?Qj1?Hs;*<(GVhdG-+?K!5-N0t5&U_&)+uddidw zY5wXlx1ZlLrNTkZM_lU3xw-V5`MdYr=Z7sNheK-)g*U%GpS;VdFm^jH?;BQ>enXEX zhZQyVLd#oW&1+%HYayI{G|bD!?n=MIw&na-ILdKB?Wgakxvyw>E3A1fY`GPBu7!|G zA?BqpcKh6W+Eu0LdfqAhhx_`i`}f33{hvam{9hrr;VJ#^{FhtDUUHt&{4S5%f0U|0 zIHD9n-t}MqpK(P@_i^q&O<3usrwx diff --git a/SQCSim2021/media/chunks/58_74.chunk b/SQCSim2021/media/chunks/58_74.chunk deleted file mode 100644 index 330afe5a890cf64d2cc1e2c496a4beee8f005f87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK?=Yi30)n$A@iUciGxK=KYTC{CH-$ zFBJ9uS=2nYv^j^>zC{7bo%lWr54VeOrG$SSxkfnBv*a@2p+=@7iBpeZK9W zR|m15009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs V0RjXF5FkK+009C72oU&?z#aLMK(zn> diff --git a/SQCSim2021/media/chunks/59_75.chunk b/SQCSim2021/media/chunks/59_75.chunk deleted file mode 100644 index 92fe300ae44e3d1f224f05a21ec0211369a307a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*3t7yzC^lV3wQ3jNxeclHca9-Z&#B%#`EHry($LjQ$B<)4TX&tWW1UrPN`L?X0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N N0t5&UAV6RjffLYAB>VsX diff --git a/SQCSim2021/media/chunks/5_25.chunk b/SQCSim2021/media/chunks/5_25.chunk deleted file mode 100644 index 276f7f803cc23932009fbf4606c7e42fd4f52d07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeH{-D1Na2!*rs{oi^1p29FYt*yb?8E$A} zXhdLp(cMAU{;{sD;l}*t4G8tda9ta_FWBeGLj#I@tiIb{XNUL0RBvfx*o_nYm*cu1 z)-P%Uz*c|7epem}(8j*1I`MI9Z4j@|t(8IYd#(HXSJ_{&p8-1Jp#jABs@4U`Um0v^ zWti&Sx*23YtJSzu|9@I_em~q=8SL%b3`YBfv%2CaUW4Hw#nr)EbZeje-MSf!_6cWo zgQn`^^0mkiw%*ob=uPHM{U}>t--@Klk@p4Tt-MLs@YcmtgqK@piDMYrEp- z*41D*e>jwhXX8@vKlW>YgwN~!B`WWOTUP_=zj|MNz8H$%vMvRsUhHSzS7|5tZY>7e z`;-l8z1=Sy=Y%Km9|0h7uRi*Dyt)|5d^h_H_RR*ZJ_E`6ka6WcFIo;teJz;OrxZy4 zRehELq+SfSbumo!NBEfg8EDhL73BWC4%3~N&NzZKp(cjnnNk9@kK zW!)9{dE0^Rc-w3g1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tZ(tz%M)I BHv#|v diff --git a/SQCSim2021/media/chunks/5_43.chunk b/SQCSim2021/media/chunks/5_43.chunk deleted file mode 100644 index d7b967d61cd5e644a78400b65fe939c9378207af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIw(Qbqw5Cu@X`2XKr6-AgPb&X29$>C}5qRh;}l&nSIl~>U?$|*eGJ?Da@-*hdn zDTo9QEncX&#zzTk?VqUy^FbS|DE~o ze!gyhxxczV81I4oy4rmIS95zndpmD^Urhryyx%nR!?US2^%rya-+@BiMyNU>hn{`eT@JIWtFumK1V zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N Z0t5&UAV7cs0RjXF5FkK+0D;E^z5%&1BG3Q; diff --git a/SQCSim2021/media/chunks/5_44.chunk b/SQCSim2021/media/chunks/5_44.chunk deleted file mode 100644 index 2858407a5a4a102395aadce35ea701863f818f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx+irs}5Cy=r^#8xP+-%lPBtrs5k%pJ*G_H5ggbsse75JT=pwY@hb-sI^28Mly z&+=S1+;?@Jxx&2ec^;Vkmb%+Mz4KCko8LLFb@Tk*d99o0ch0G9ntydp_0qiVISpLi z|G)g4lZWcQ+jCwZ{lBLL=bXa$b63u{t>HG|v~O$M65_TwVD2 z`&BM@{Jv_T^17!~pT0d;3motNRI%$Xs`bx*->NpPdDZc+i>-dG&%ds)g$WQKK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly QK!5-N0t5&UAaIkwKZI2zt^fc4 diff --git a/SQCSim2021/media/chunks/5_46.chunk b/SQCSim2021/media/chunks/5_46.chunk deleted file mode 100644 index 5ea4e1af221052d6793505dc0a1c38c9e886c79e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx+Y*8>3`J1{|Non%(6mXwQRr=k**GZovv>*f8r=WD*Pewx?kIDT3mo-2F$zP8B30nY#5Q~K=dDNgbF z^uwUM$N(~b-7LFJv2W{~>WJ^_6_32>E4Ryjslb>0?DgsD*#BzIbvpUw0r!4B=YhWT zPd9AqDc$T}`~EzB7f&_*c3$nQ>g;{g0Ym)NKI+6>JwQ0WFzY(u z`LxdF05^V<_fHo(o~KvC^Z%9Y1s%N1Kqu#!fsXxbqvN{S{*V5xuQzqtzmK-gWKUn; zhpX%E2CM(i`(+O-zuykz-yeJ0G1qcU_sdOKx}V$baq*YW z;|fy<0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ g0R#|0009ILKmY**5I_I{1Q0*~0R#|00D%qyA9(RADF6Tf diff --git a/SQCSim2021/media/chunks/5_50.chunk b/SQCSim2021/media/chunks/5_50.chunk deleted file mode 100644 index 35cfb7dfc180e7d5e301a35666c3bd6d21772780..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIy(Q<<@3`9{<`2TM%25h8-Ndg#|$=tkjHU^_TxaoU72q1s}0;9m6C}@`DUyH-w z8)@!kJv{sIsweH+ItTj>()aG%%k#ps_Z{oH^L;gsb=-d8`Iu*_YvUZPXm~FHtTx5=41D#yY2J3&fmXX*Xw zu4DSl7p#4vb7f!c8=V{bE_KWMy_%OgWxwY6y>G6Y=hd9Y&+E-|9-#dHEfb&2+BZ7q zI*oiw-R1dLbE%X2lns~n6P?RI`F!L7rkun0cV1t=ct$Sc-{ZN~o%g>xuXP^bZR$?* z9L=UqjGq~B_x$R*8F1%3o2%#ZZ@);_KP}sVzUprZ>|AeFr~c8|);V?l?7+w0m%Tgn zubusda-33M_rQSc9_Ye2$>A(FNSzxz9oHB8`vKM0@Af(Q-A;JPBdYHw8-98pGS1IM z;n(^b diff --git a/SQCSim2021/media/chunks/5_51.chunk b/SQCSim2021/media/chunks/5_51.chunk deleted file mode 100644 index 082cab26342b4bf1466559db2ef72f098f2688ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI!+mgZ{5Cy=s;{Sj1nhOC&YhyMNv~1sw5SY{P!C~+rK!5-N0$(q1{c?fW|LokE z{~G!p%|ke^d;Z(^8v1VKA?)v-kNN)GJ{8c>d^vdDaH;1R!g+^teSYkJ8^5|gt{=^} z@vHOib3Nbv`quLs>$Trlr<`YR9>*)6@1FO0O?Aup_x5kSzp-cR-#Slq-p6~co9Ee^ z=Q{cM?s=c@Qa8`Pw}0#XjXh)k)_JM(F5anbnrADg@zegd%W0tX|IE_pabD}DKI<3D z{@yv&N%Orpul1JmTjzEB)Mvf0i}!l_^8aOT&UH@m%LC3{G3SAv@yt)p{bSCj{nMv7 zaGK|6E(UtsKVR_7dfxrG|JmzBz4`Z44Db@a`n)1d{afd<-qf$WaO`((E^izAx6bti zq3-BW4bVJSx83@mox_Epe)IPc>VA9-oSX0S;|nW5fB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ qfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNC9Rp1v_BRVSp diff --git a/SQCSim2021/media/chunks/5_52.chunk b/SQCSim2021/media/chunks/5_52.chunk deleted file mode 100644 index 17f53796b400edee34d9d5efe099d6380495d2aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI#+fIZq6a~;R`2XK5w_ayrMW7wy@f3w0v*%JTf1hXbGJbyE+vU=Ct((o;%4?l$|L}a$x7D}zdS}nAUV5Kb z=dDgUe|Ro^_quVuR^G>t`-kU~o~^#U*E@TLdf|QEokP9wyumrv-RC))P;o7Oz1NEeE*|*+&75zZuZx@S$khYN zX&2vepu2PVG>HHK0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 V2oNAZfB*pk1PBlyK!Ct8fiHdMKimKS diff --git a/SQCSim2021/media/chunks/60_121.chunk b/SQCSim2021/media/chunks/60_121.chunk deleted file mode 100644 index 504dc4228809dc7b56e67ccd01c22ccb308ba540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?YY`2m?R`_n+AbEVcN*v;l)xB?Jf%AV7cs0Rja65r{cCR}0PU+QI`)5+Fc; z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF a5FkK+009C72oNAZfB*pk1PBm#PoM$2Oe_Nc diff --git a/SQCSim2021/media/chunks/60_122.chunk b/SQCSim2021/media/chunks/60_122.chunk deleted file mode 100644 index 6861f9305e53b982d50661f92534ca36260076dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@k7|2*WVAn}5w{;JwsAlZXHT0t5&UAV7dXkHA#6mDi>T5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 Q2oNAZfB*pk1PFWu4n_Jb0ssI2 diff --git a/SQCSim2021/media/chunks/60_123.chunk b/SQCSim2021/media/chunks/60_123.chunk deleted file mode 100644 index b27b52d69fb6d13341e31d6e596c6b9157ede577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?YYG2m~>O-+yLju(B|>z(EobAV7cs0RjXF5cnfd2lc_zk^lh$1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly TK!5-N0t5&UAV7csfxW;0Mtm#+ diff --git a/SQCSim2021/media/chunks/60_124.chunk b/SQCSim2021/media/chunks/60_124.chunk deleted file mode 100644 index 772a00c4c90733b1a185eb8660919df4878e4fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?+wK2*WUt`2S{3=nl@>PM#3~0t5&UAV7csfjU6LZAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF S5FkK+009C72oNA}RbT-|&nyA} diff --git a/SQCSim2021/media/chunks/60_125.chunk b/SQCSim2021/media/chunks/60_125.chunk deleted file mode 100644 index 222c32c0c7261c989323dacb960fde5ba7513b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIufe8Qr2*WUi{eQD>3`{R5Nko7E0RjXF5FkL{kH8eRg-@0U5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 Q2oNAZfB*pk1PFW-I7VD70ssI2 diff --git a/SQCSim2021/media/chunks/60_127.chunk b/SQCSim2021/media/chunks/60_127.chunk deleted file mode 100644 index 3afdf372f3dc628db557b392047ecd2c368c74ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIup%DN82m>*=WB-|PSO#dSYCkhZfB*pk1PBlyKp;n;BG(<6ebMRt2jLJPK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly WK!5-N0t5&UAV7cs0RjXFJOT@#B`gI1 diff --git a/SQCSim2021/media/chunks/60_61.chunk b/SQCSim2021/media/chunks/60_61.chunk deleted file mode 100644 index 271a080475e9a594e13527099723f7c1c3e705f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIyOK#jS5CuSCbpJbte>OW1oP}e|z@^RTJy8_94EVlX1PBlyK!5-N0t5&UAV7cs z0RjXF5cm}WuU|3c(~z%Mnm^||J%8HhBl|M_Id9H)dVZH8O`3Ch{JycyTCa7&9(S(8 zmuo$*!=Jeo;dxte!;dl|H`Q-=h=(PT|Hkc+Id6Ka#+#x zE*|pQbUZIVebXxyS1!W0f8zE^AGuO-rK03xMa{8jITStbV&qlKyoz+5uVQ}hI81rD z?0;-gzZZ-4{ZO%MV diff --git a/SQCSim2021/media/chunks/60_62.chunk b/SQCSim2021/media/chunks/60_62.chunk deleted file mode 100644 index 9c50136cd6bce40cd139b616c9fc7f17567594fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@!3s5Cp)j?GmoNwow@x#x>WS5 zws_xo+qOQ=#aMn7$2_kX^Hj`y?eQ+3kDT-NJKmD=D01$_l3TInsJV zDD&vWx?{~z=IiR`rC&e)^F*D9009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk d1PBlyK!5-N0t5&UAV7cs0RjXF5FqgH0xvhAQFQi%U#o0qp;^V5_or!76-#mKXW9L3C|xN|R3zKWb%vE*8;x%8aA zs6W5IXsn+rVt*8o`)Tt0zG6NfZYh6%-aO>F`|H4YTq|<^*mKz=5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{KLy^3 Cp-IaC diff --git a/SQCSim2021/media/chunks/60_66.chunk b/SQCSim2021/media/chunks/60_66.chunk deleted file mode 100644 index df7588ec529aff3a331af614adae8ab693f650cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuiweRp3nn{85fK#55Zq1EHaoYQhX4Tr1PBlyK!5-N0t5&UAn@A) zC5=~7p`^l=Q%5@B%Q0V`r^(~xd7tHY=Dr@!ta)~{JPR+rH#f$!_pQriH7{F^`@$Xd z{#j`AjKWDC*S7WTuWmWdwPCK;9Wn16M;^Dg9KN9SkB+{-7tV4&qOU*B`^J3ZkUrlm zjJJ

KBD$jzY-Cz%lQIC2xf_mz>kG_+J8--yio{%JvJ-b&X}s7Y_jf1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly IK;TV*JCoW#!TIl`Tu{e?&BE(p#_I@OrhDeBtOmL;UPeP009C72oNAZ;8O%rxJZgc zc>nG(jvw!nLXq>arR1Zy`NDCQI9!}Ij$iVAM$KE%@+xBf?e*8m?WALvTwU|Iqs+6< zQ0LoIN^QJKWC2ya*<7f1JxB2cc@l66BEbyID{`BV E4@$N@eEZINl3yFX)n60F7@}y83G$V&$-{f_UCHHU9GrUG4eKX$~s`{ zx?|=w5xI)YSyaxV-M7a+rr);Nao)DY&ey`fCxvI3n0XZsat*|KeWY?stUL?JUTC%= zw$%;m;AqBtt=TWOUkg7^ier`?zAi^Zu8GW9RE}chSxELmvlUPC7#Qnv`(xe){5;t) z&tFA+uZqZZM&>LkNAWn%fwev_uGuEGJc>PEJ^ON9Hup<0_pc((t0K?OB6B=veJ=)T zJqA{ug=8-@Te0O)?D_n@Hgkx1`#P_R9M0lVp0}_4V{Goo`79*+gk~$YJc>QP`o4C` zA^!FE9iF^b0kF#7_4ix%e)%_lun+_;c=Y|8(^v3ad|2oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5Fl_zfo&^W)m+B6iCa9eQO&LGP0af_i158d#9`Z#cR04Wmo;V z@AimcKga$l?jE_g;d|bHtXK05SH4`S?*FL8<*yA15FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF k5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAn={Q6N&de%K!iX diff --git a/SQCSim2021/media/chunks/61_56.chunk b/SQCSim2021/media/chunks/61_56.chunk deleted file mode 100644 index dae3115..0000000 --- a/SQCSim2021/media/chunks/61_56.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/61_68.chunk b/SQCSim2021/media/chunks/61_68.chunk deleted file mode 100644 index e64f750ed9669173733bcc9065630ea308de4072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIwS#AO`5Cy;p?tkZapLP!ff)pX5;w$grrCsED^&voj!2cAuq-W)vzW(@_-*-vH zB^Mv|;`E$reolU0$=jBix8lw3&$FCzD)RLCIW@;EEr+7#Q2g=x^G(}uOO-+yK&u(J_z6C6oIfB*pk1PBlyK;VHu-#nHG5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 S2oNAZfB*pk1PBlyum}us{VV-{{Mfj4Gc4&cD0pKwb?y+N$v$>=Hxtm2oNAZfB*pk1PBlyK!5-N z0t5&UAn-p3JRaMWd)}7+t@yY;%S3xVxApT}_b(5>TDYfQ=G*f%{jz>dzvUP9X~Wie zMv?zwFETfd<^R8Tl=au~8MEg7vl#QtBIb)Ca@VNy_Z@S+Y1H*zl=UC-ib>{um*T!( zE!urc(eIx{&-uv6v-m8>hFFicX8s3%#nHBanBcP_jjAO6n*|Idd^2a z$@9>$etq>bj=jjEf8^J(z4h3NV=Jz_?6`9+S}sM;S&W>;_WrNN{h;MC*J11JT3#M$ z_bD&!_se43cNQbhGa^SZ^C&X+qU2V@bMb?F3fB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+0D-3qyaN&c BR`mb? diff --git a/SQCSim2021/media/chunks/63_76.chunk b/SQCSim2021/media/chunks/63_76.chunk deleted file mode 100644 index dd3eca8fd0f05e0ba509e6ab9999965965c5a242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*5CcHM{~v8of=G>?xDB_`0L#>B5g+|b8uX&pI>@$y@-e>Ng9)0BN$lYgdJ9D48EPdqXaftu{0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs Hflq-0bfzY+ diff --git a/SQCSim2021/media/chunks/64_104.chunk b/SQCSim2021/media/chunks/64_104.chunk deleted file mode 100644 index c948e6f769537c25d7e15d25be6c337d1d429da9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIv!3u*=5CcGk_y6BqdJz(|)QjLU-h!cZCu_ax+4F1n%oVdcBIUiS4z4)j;yl9r z;ZcKEjOvVF|JbnxuNc)C!Tzyh4PG&-GlKnN#~Qq1R38c3t$+F5K7D(=|F{1C{l|}Q z9s&di5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U hAV7cs0RjXF5FkK+009C72oNAZfB*pk1PELRd;r$)D@XtU diff --git a/SQCSim2021/media/chunks/64_105.chunk b/SQCSim2021/media/chunks/64_105.chunk deleted file mode 100644 index d8b32a6cd4ee58852d19fdb0ad6f63aa727af5d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuAqoHh2m?Ta|9`Vx&>+}uZ8#7vQwR_sK!5-N0t5&&foOfNpX>ee;Tl4K009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ a009C72oNAZfB*pk1PBlyK!5;&L7)IldMot+ diff --git a/SQCSim2021/media/chunks/64_63.chunk b/SQCSim2021/media/chunks/64_63.chunk deleted file mode 100644 index dc14499..0000000 --- a/SQCSim2021/media/chunks/64_63.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/64_69.chunk b/SQCSim2021/media/chunks/64_69.chunk deleted file mode 100644 index 045ed6476386d150c4d5ed25ecf6e1904414ee63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuOKt)&5CuRo-2cuQf7*7pA_$vEk!ltL@7cypJ)a%|1PBlyK!5-N0t5&UAV7cs z0RsP5;3}hEwJ7U<9qTxCzN-{>PDffki=K~SVGLh`)tKpokjcjYOnTuKJPeJ-|3RM_)}NTr7bCxjW6QELx2DQ z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly PK!5-N0t5&U_)y>**D*r6 diff --git a/SQCSim2021/media/chunks/64_72.chunk b/SQCSim2021/media/chunks/64_72.chunk deleted file mode 100644 index d94c490b5032241a9447608b3dff1d6ea9c28369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeH_QF6jC3QH(B71%3TkVsR zMz=O^Y1`*(VEah0%W}icrN!i^aP}a02FYF_!*{;cDj99nt>1F1_t(JYNwCXu!_K9} z00S7n00uCC0SsUO0~o*n1~7mD3}65Q7{CAqFn|FJU;qOczyJm?fB_6(00S7n z00uCC0SsUO0~o*n1~7mD3}65Q7{CAqFn|FJU;qOczyJm?fB_6(00S7n00uCC0SsUO n0~o*n1~7mD3}65Q7{CAqFn|FJU;qOczyJm?fB_6(;3WfJ9N04x diff --git a/SQCSim2021/media/chunks/65_102.chunk b/SQCSim2021/media/chunks/65_102.chunk deleted file mode 100644 index 0fce0e022c778d287974357ba1c189d75cf6a844..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIxK@Nj33)72=d0h7*S1m{~Z_zdDYd=IHw9`e~WX*0Wjmw)?6v z)0lD0{ItyG-hbHc%RG0^h}QKn9U6a>%)^8erLqEMMZEfORyPIg0Hy(gE>`B!7q*Hj*vN9L7S_wI^W-<*}R z-nmk6?cG&y-COmlKYhG^cvKIs#5i|f(En*)9{N9cRvNzc#<}}Ky|@2=KE*Hl|H!Mp zOgFo4rmxG+_kXUget22`wYpmRjGt%cVGtldfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAVA=a Fzyo*ADRuw= diff --git a/SQCSim2021/media/chunks/65_62.chunk b/SQCSim2021/media/chunks/65_62.chunk deleted file mode 100644 index d269483..0000000 --- a/SQCSim2021/media/chunks/65_62.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/66_41.chunk b/SQCSim2021/media/chunks/66_41.chunk deleted file mode 100644 index 01e08940acaacf712821de6e63eaa6d58823b47d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIzF$w@M2m`03|2|(8OYP;QxxXj*-fFhJ4xc)` zzqJ>O_)IN~&+f|I#?0$Z<}9o{3z6si{iTs}-YC?Zez_kG9>^2 diff --git a/SQCSim2021/media/chunks/66_76.chunk b/SQCSim2021/media/chunks/66_76.chunk deleted file mode 100644 index 7807b38b58307fd6926133c9a2912256e2043282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuI}(5(3_wAI``=moC+KKtvsS(YMrUgcPirkye;vCH`&;MhiU0uu1PBlyK!5-N z0t5&UAV7cs0Rle?lv2{yd#Axu#{O-+yK&uoNtE6C6oIfB*pk1PBlyK;WN1A1###5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 S2oNAZfB*pk1PBlyum}us$}9c= diff --git a/SQCSim2021/media/chunks/67_81.chunk b/SQCSim2021/media/chunks/67_81.chunk deleted file mode 100644 index 2a19980611776e25cedaa47cf95c85359b7492ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuyAc3T1Oz~%|DxX~B2j?Z%We?ZOd&vk009C72oNAZfB*pk1PBlyuty-G{}Lr{ zQtDrA{oc;KPc;Gr2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U fAV7cs0RjXF5FkK+009C72oNAZfB*pk1a=7=LQWYwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* M1`HT5V8B2bc+uf30RR91 diff --git a/SQCSim2021/media/chunks/68_125.chunk b/SQCSim2021/media/chunks/68_125.chunk deleted file mode 100644 index 3aecb01ab5f9e353ce05789d080c59cdcd707026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@9)^2*fZ*&c9|<@PW?3nuq`a0t5&UAV7e?AA!1E-`;aafB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly RK!5-N0t5&UAV6SOU;suDECK)k diff --git a/SQCSim2021/media/chunks/68_126.chunk b/SQCSim2021/media/chunks/68_126.chunk deleted file mode 100644 index 4f5d8b11784489cf6c0f2b6812989f364d870db7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuF$w@M2m?R`|NmxZCvoW1%N7g>S0w}p5FkK+009C7{t<|ooONr*d0h9~e|G`| z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ c009C72oNAZfB*pk1PBlyK!5-N0t8+PG%!Rg1ONa4 diff --git a/SQCSim2021/media/chunks/68_63.chunk b/SQCSim2021/media/chunks/68_63.chunk deleted file mode 100644 index ae8c1b3..0000000 --- a/SQCSim2021/media/chunks/68_63.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/69_121.chunk b/SQCSim2021/media/chunks/69_121.chunk deleted file mode 100644 index cd13a0531ed5c1fb516a55a3b383598c47ecb14c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?YY`2m?R`_n+AnEX3mfQcEINB?Jf%AV7cs0Rja65r~!KO3S$9cy9ccLjnW{ z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs a0RjXF5FkK+009C72oNAZfB*pkj|nuo^(+Gb diff --git a/SQCSim2021/media/chunks/69_122.chunk b/SQCSim2021/media/chunks/69_122.chunk deleted file mode 100644 index 2de4a30dd846a79a999c19c81e87e5ae2aec2210..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?+w)2m>&X`2S`eV1=P|#tcNbN(c}jK!5-N0t5*BBM?J!=vJ%q!PRdZCqRGz z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U aAV7cs0RjXF5FkK+009C72oNCfj6egsS1bbn diff --git a/SQCSim2021/media/chunks/69_123.chunk b/SQCSim2021/media/chunks/69_123.chunk deleted file mode 100644 index db2205708827aaf32bdecbb04dbcc89ac74cc5ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuu?YY`2m?R`_n-M!uuv@iQilYtN(c}jK!5-N0t5*BBM_Zrr!?4E{#%|OgfK;b z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF c5FkK+009C72oNAZfB*pk1PBlyK;Ty30WVQ31ONa4 diff --git a/SQCSim2021/media/chunks/69_124.chunk b/SQCSim2021/media/chunks/69_124.chunk deleted file mode 100644 index 6d1957aafcaf1654c1e76ea36434aa7c74347391..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu!3h8`2m?R`_n+Af1i@E(`AULZl@K66fB*pk1PBoLM-L)_K$C+##IipWeQYmK*VX?{mRxIkeBA4m@t&o@?PEQ3^km z%L3)S$Mf-EeSiAA7dZR;oVNkZyw~MisO@)qUI&Kx!{yZN_xBvRBmx8o5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5Ew?_ E18F@!1ONa4 diff --git a/SQCSim2021/media/chunks/6_52.chunk b/SQCSim2021/media/chunks/6_52.chunk deleted file mode 100644 index 612841f40fd05a5cd5f9cce3746fd8d7024a6040..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIy>kfi23-0-M+ZWUR+Ii`A>F3_OO*hs1l(%l?{=$LL>+T#H_`>@M-H!8o z%Axu(uXy3m@6{YHxbEG>)&Kru>~?aoVfep@2hQd$oj;O`g2Vi=fzvr2?mw5e{X#Cr zJK|GJlz86H7rXm;Yv)w3wtpJ;>oJX2-#1N^ebeK=k7vCff3}{f-<;E9kpKY#1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk X1PBlyK!5-N0t5&UAV7csfeQjJAATZ+ diff --git a/SQCSim2021/media/chunks/6_53.chunk b/SQCSim2021/media/chunks/6_53.chunk deleted file mode 100644 index e1a2dcb9a3afb2b17f88f41d71e22b675a68194d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIwQEr1U5Cy=b=Kg1H4H(u2DI&yvG9+>Ba2ZrRZz&!6>4%<(;Z=0(h^1OIpM2-XVywB#? z=Cprxpq}34e5`l+|BDMX9B-VDZ_9mp=X$^Z&#KU2UUm1c|J~fYpucCm@Nr(fP}~1; z@k-74Lw?o=4)^QZk975X^TKp9H|u;oHgz7C^F`0E7aqJo>p6J5aRdkuAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs R0RjXF5FkK+0D*re@C!#MBJThI diff --git a/SQCSim2021/media/chunks/6_54.chunk b/SQCSim2021/media/chunks/6_54.chunk deleted file mode 100644 index 2be1096abc2ac1690312c19792967952299fa9eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIw>vDr25C+gTB(Rt=7z2*kCe)_Jj{cjvW% zT<=;=StDFu`pY!>>oU5<< zhv%(e5AR~!WAhgW4tZVOzm0qF|F{)geBS46b$Oqob1~j0{L67;{oc8{Fusqnz$bFq zKnP#eb3WG>O!GANozCCo1uyQ~TdxX6-{!thUQjJg8>_{bn+@l4S*^!?bwkZ~Q@ZwF5Cu>p{{J_}0S3Cqsvu#rtm8{^!z_Idrt5ryz&-q4e%(7a$A4J7-*ex+ zbJv`Idj9i$KHKK`uFg-MW8X(QzqF0_E#)#@Tz`7*FO2^|%{=R#_iaL-wRxx?-q&!z zJm1lIoBw0{)OpwDuGxQj9xtr(ck6Pk`xy5xwSdxEqu!R{%LZEw|Aa*VMG7@ zxjKh|`gw8=)7?tHrJNR&^WugpavY%Czb?n=-|C+>>>1F<- zbH3mJzf@rH{IvSne`{_IINmc4{CZy=sP)LZUsK+_gHLnC>hqfouYL0cOV9J_^HWo2 z`}eP@uylU2{Oe=u@%4ojBtU=w0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 m2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkKcH-TS?^Clkv diff --git a/SQCSim2021/media/chunks/6_56.chunk b/SQCSim2021/media/chunks/6_56.chunk deleted file mode 100644 index 3ffe2d67e3edf849cea0268b663d6fc939b6857d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIwQIdi%5CuS2y#JY3AcSPxT8u)_s`kq#CNr;f7`zB%fopy@zu7y7>pv`Buc7bR zc?kO)oA33jd0Tl1-|wF91M7d#TY0Qo-q)JP`sMlV`91&J^jbYz^AOH=&(pwl|Di3< zb#M86Yo6<_=ey^5VBUYOU+nY$^Heu~e=DbY`TN~-8o2hIH-0fMb(cOdFZGt^-SaXq z_e&e@lw;rCd8v1j?}ey^Y9gOrz;<~@8rKHoaO^*j%l=I7fl^ZeGF zZ%gM-&+7uu_!f1i{xPq&z35Y1_=(=ddVlus{k*exS#RvWcdjlRfB$m88M$1b-e&xN zm)kv)>jR7(C*cG{$SsFol8CK?s4?KyME_J5ck zK8U{I_}9fyui5+S3R{=}0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ ifB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{RDoZb11RqR diff --git a/SQCSim2021/media/chunks/6_57.chunk b/SQCSim2021/media/chunks/6_57.chunk deleted file mode 100644 index cc2d632e5aee4e6346a5739566caf019eccbcf48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIxOLBuS5CuTTzurH5w&549&*KHE{=4$nChl+L zsct+k?Z15eT<^JV=+o-od;Mb1+`o68>)q!6SbpXI^ObU5KbnU$zk6N|T>6$ekCSq# zQ|5Kg<-qbj|ITau<-V<4rael(b;C)1t$FJOO24w(=wfyw<6&PtVu-ZguN^ zvH$2i*!Q;m$|s{Yf4o@#>iQDaFWZ7L&(rmI|9g2`eY@rJ_Hj#&*L(9me%Wt&Zat4W zdA{C!)XD3o=RV(5H_ab&s*|oy&uM`Cz8(|*Fvq^LbE-GUJJ&tVyE^AOsZT!OcwVD( z9%ws1pMHG*dUM__eLu?vd%w}S40Oh~Ot;S;bJ^{OKGlYQ(YqRNdp}3#$-Z^nwg1(* z*>HXS^#Sv9JOQ}ZVZwLs58H_Z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk n1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ;FQ1@wK_0v diff --git a/SQCSim2021/media/chunks/6_59.chunk b/SQCSim2021/media/chunks/6_59.chunk deleted file mode 100644 index 4f87f4d7d906e800cffcd750ab62a66bd62c1eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIz*>1ux5Czay=KsIBWU*rpQYcMgBYJqdEaSNc3sUkRK!5-N0{>p%76h)&;keQ9 z7W$r@Q(v=B3^?Z+PDKUh9^9pXIeqdH?Wy%s1C9 zeex6e_hfXw*f-b9{d?zJFQ4Bzm%8iuXXjEU_bUgi_p5g<3(e=3)7SscS96(`|9`gu zOTXTETj)2w+jh(TF>llU=u-`RNAGIA`F@VhoxSV2Q~#@TbHH>T>I3`d`t<33pPk!* zp>7ZFrqF|L^Xk3-(HsVx@7XT+e15x7^lzuVp4#ar_=Ob?&kqBlS2*tDW8nDsz6uf` zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk L1PBlyaGk&pv7aodT&f#lzJ~K*FJJ32_Fd}cefRQGCtu$^ zzvsKw&3*Rzw?04FH}-Fx*LuDDQ{D9ZqjRd4=6BC&f#vtWR(IX+*_@_r|IfDp>+g-$ zd0Qy`-bo8Q%;|9aoX=z4rlo%Qf@NOooEKXAYzw@Ux4VDo-}^k*eewI53p{#X`E=>u zIv4dGfB%Yw=KYV&#k9G9>s;2K`Zxqd*XH}$U;I6YTS8~gXpVS&JL z`1=WUzb*!@r{CY#6}B(|0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ b009C72oNAZfB*pk1PBlyK!5;&4-)tR8lX8a diff --git a/SQCSim2021/media/chunks/6_61.chunk b/SQCSim2021/media/chunks/6_61.chunk deleted file mode 100644 index 04c04e72f3406c8410083048a856f4598c048150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx+mgZ{5CuS2{Qqy>#4rSSFrv9sS?!B^%D~KN-ITltguwkCe=YBQPTl8+=XRZ= z)4l7vcTU~?r{|a7*VMM%@9I49w7<7Q^W3(cx0UDZ>gP|-&w=&7M7Ph_=a1!8?i2LJ!4z$yEINx13?$Iu|b-sQ2{M6Om{{3|;etW*V?&o9g z_49=lBtU=w0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly aK!5-N0t5&UAV7cs0RjXF5FkKcH-Ue^mL{42 diff --git a/SQCSim2021/media/chunks/6_62.chunk b/SQCSim2021/media/chunks/6_62.chunk deleted file mode 100644 index 59eacdf12192584a9aeac2515373808c74ec4eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIy>vDoH5C%{yeg9`Jw~%DTp-KRqIsEF^knHY>+I1cR1ZIJIka#tR?cWyfVcw&2 z7wTP`@BLHV*wwiU{T!Qrho_i7<}R$Co`-@(e_h)=j$51`^Ehs?et8}nC_Q%F&opkH zFXn07yncCZ>pzd1=Zo`Soe%bo^Ix6kanHJsTYBd2Q;N4I`6s>b=6c$m&hOGc()T&$ zRPf#PcwU`Ty3PHx&dYdd-lf13zoXZehQ|6!wR!%%c{%+k&)neTx0Q24YuwJ#&57* zo<7|F(YY>A-{$J)uWG3I`_<`v{k=IHaJ*;T@MFEYq3Bod-cI#t4ZK3hm(LFy9_OzM z#Pxdh^HLaZ|L61bM${1j0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ j009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7e?7YY0UDGn*c diff --git a/SQCSim2021/media/chunks/6_63.chunk b/SQCSim2021/media/chunks/6_63.chunk deleted file mode 100644 index c39fb2917f22c609e97473745e55c85deb529e8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIz+jfF55Czb7;s1Yg0ZEw5i)9%S+qHf27!&4fyex|c0RjXF5Lh0`Am_CF-{K?n z&H1HI+JF1|``&;@>YMYD)~DybzH8m){^h*ZZPth9d%d^1O~2WBuCgIZyBWtaqM2J-6OR-8$d9`KVXV8=kNEmbzu$SGm+F z@1LH_0QL9lXz;sS>y|$Cg=7EhTwd4Qo?tIpr?@y{bJ*K)}cjxJa4M2bZ0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0Rn$g F;0KTvFAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly fK!5-N0t5&UAV7cs0RjXF5FkK+009C72&@-)?F|?Q diff --git a/SQCSim2021/media/chunks/70_50.chunk b/SQCSim2021/media/chunks/70_50.chunk deleted file mode 100644 index 70d4b228a323999d8851346b233fae8fc2c18012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIu(G7qg3sl@5B$jy{i*#xHZ<8|JwulJplp) z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ Y009C72oNAZfB*pk1PBlyK;UJ86RwvS$^ZZW diff --git a/SQCSim2021/media/chunks/70_63.chunk b/SQCSim2021/media/chunks/70_63.chunk deleted file mode 100644 index 0e05b90648cf338ed04e80cbd9ac4f2c12747f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK>~s>3bBy18U-Q;;+kTH@%GpONjxU^>$J6=6wYVlI#g)s6k!Nw|r^uXdop~H7 z`MFd6?&EpOU5^9^5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly RK!5-N0t5&UAVA=61zz@*J^%m! diff --git a/SQCSim2021/media/chunks/70_75.chunk b/SQCSim2021/media/chunks/70_75.chunk deleted file mode 100644 index 6f2e0343a2b1775a9f29d87228b10d3672f22320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuOBRD55Cp&k?|CTzBN$XP1|< zJ{SA`so3+hqvlZ@xfdERJXogu9FElfL(@FZmX9NQ?uC|H zq36ADidcVEU^Yi(RdD@}nj`q2|b1rE;?!K7n#N(N@Fy?i@ke5Qt zADt&%Eq+~KDpTk&#TeGkg|{y_*XH$IHxB^<1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly sK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK;WXl9S&qb-v9sr diff --git a/SQCSim2021/media/chunks/73_61.chunk b/SQCSim2021/media/chunks/73_61.chunk deleted file mode 100644 index 4e69b579fc3104fe0327aaac725760b649ac1f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIvDGmTI2n4_l|9^C=F;tRf)^QkyDj`6C009C72oNAZfB*pk1PBlyFbE{W!rpN{ zPqq8*Ct62IfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF d5FkK+009C72oNAZfB*pk1PBlyK!CujzyULWtI3m!J+kL*sb|J5b3S*EqVl@2&%5;@ zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk U1PBlyK!5-N0t5&UAn+k@12Oq1^8f$< diff --git a/SQCSim2021/media/chunks/78_75.chunk b/SQCSim2021/media/chunks/78_75.chunk deleted file mode 100644 index 2d8835e..0000000 --- a/SQCSim2021/media/chunks/78_75.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/7_67.chunk b/SQCSim2021/media/chunks/7_67.chunk deleted file mode 100644 index b593b881a269d036f75b8f0e29b95e66d36a2d0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIy+j4?16a`Rb@c+NLT#}HSc2oq3PFG**mJrTfp&ds*1PBlyK!5;&e=Tqe?f2$z z`?tkg=({(M;r`3>G4Np+nhhT1F|5BlkL|qUu{_mn_KSI{*Ie(O&-I?`HvK*=zu7zX z@15tm=bT5{rR6^9w z`*M1~_W!o8cdA?Z9?fs}+i^bCaW5ZZ-cGx`|G9qlc$9P9yuN$R1C;mcu2-p-=6{s) z?k{_l2c-Fq<}y(3n>Tza=f%_SWqr(L_uO||un_2o;xe|X3w>GXNdp-0t5&U zAV7e?zXZZ16EC^*)S3Q&O4hps2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly vK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0$&0TFs&=n diff --git a/SQCSim2021/media/chunks/81_75.chunk b/SQCSim2021/media/chunks/81_75.chunk deleted file mode 100644 index efe9d1f..0000000 --- a/SQCSim2021/media/chunks/81_75.chunk +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/SQCSim2021/media/chunks/84_73.chunk b/SQCSim2021/media/chunks/84_73.chunk deleted file mode 100644 index 1b3ec65ed415a4386578e5c295a5327a10125f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIvOK!t33fS(uW^(O@BH+l+;5k6ey;oH)9;$bqU&SKSc*Aw7O_J#kq1sIcV0#2S(H4A zntO5N27KjTkFm$A^IBuy?*Dl`+CVjqd22BSF2!6Ri&!X{$nn;lSCM%ZC6A)!UL3g< zXTFAyA^z|@r_LYvF~ME5f%EBh)fXtm+$W2f^NE#r5&3vYe*NRG_M&T(d(XcA$1iCC z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly MK!5-N0&gPl4R%s8p8x;= diff --git a/SQCSim2021/media/chunks/84_74.chunk b/SQCSim2021/media/chunks/84_74.chunk deleted file mode 100644 index 6e29afe00f2364f50e690f3d2961e9518d949f31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuOAf*?38{$Z?ncSwUEp0O6J`%@-FOFPXq`MAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U oAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0$&Kc0gwhbcK`qY diff --git a/SQCSim2021/media/chunks/85_71.chunk b/SQCSim2021/media/chunks/85_71.chunk deleted file mode 100644 index b70ae27185777aee740ef0583da342ce3dc3c71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuF%AGQ2m(Os{~z6*)k$+~goRwU5FkK+009C72oNAZfB*pk1PBngD^R=h;(qp+ zRRRPE5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U WAV7cs0RjXF5FkK+009C7CITOGX(j^z diff --git a/SQCSim2021/media/chunks/85_72.chunk b/SQCSim2021/media/chunks/85_72.chunk deleted file mode 100644 index a06ceb858f6982f5c6eb90cc508cf469b95c1f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*39`U(x?cG#^n5fK^L`}dTF5!N#%tgE&JzrjZJ0W5 z8mi5oDgprl1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ a009C72oNAZfB*pk1PBlyK!5;&_W~O}BPQqo diff --git a/SQCSim2021/media/chunks/86_31.chunk b/SQCSim2021/media/chunks/86_31.chunk deleted file mode 100644 index 6b2f6b797fbf62362c20d79ed46d8e6ab99b8972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIx(Qbn<3tS8*zq$U;_{r9R&vRDV{56kKi+66N9@F;} zZ}yq}<5-__)Gbs>%XJ&2k?&Foxu5svpK;^={?FE~JM;#^&F+St%4{&4KZ><9c0c$3 zwAOdpb7ST1<0;L)uF}lcg-iaj&?ZVP=bR3U1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7csf!`N+ E0}|~Qy8r+H diff --git a/SQCSim2021/media/chunks/88_68.chunk b/SQCSim2021/media/chunks/88_68.chunk deleted file mode 100644 index 29de1489ad414e8b8f10ae371ab4a9b76295a9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*3=YGkZuVUm@Ou1gNF}&#BG#@^!9X_t&`MQ7Rra+UgMpPY!B5IWD%F-kT7XgNN0{pD@nVO@WG{`tllA@<{6v>iLm z8*9IDV>v!`{rmcHrP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy Lpa2CZU=XR z8|Odz8UJ_35i@s(Ezham@W}VnJNl1m`^NNo*A}&wM!j=p_VeA+>Tj&NI~t?)Uh}#z z2lLK9{Verg_kH(!jpxM7eC}Md^7vk@x8{BMuZ*LzF&bsW?087cv1%)#FWPcnl=GX@ z>OYEXQxS{^5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N i0t5&UAV7cs0RjXF5FkK+009C72oNAZfB=F2D)0r{CK*!z diff --git a/SQCSim2021/media/chunks/89_66.chunk b/SQCSim2021/media/chunks/89_66.chunk deleted file mode 100644 index e84c36f88a059252499c15d1a0736e489f9ec828..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*37fj%vMLvaiBqKeg~=IM|+^d&%m z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF Z5FkK+009C72oNAZfB*pk1PBm#2pmPo8Q1^- diff --git a/SQCSim2021/media/chunks/90_66.chunk b/SQCSim2021/media/chunks/90_66.chunk deleted file mode 100644 index 36705b16e4b414479e03e6200aef1beaa2d3164f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuK@NZ*3DAkJQ}Pyo}#t{^%x`V9jk3KAKY` zXD$Q?5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U bAV7cs0RjXF5FkK+009C72oNAZ;H$s^IAI?- diff --git a/SQCSim2021/media/chunks/91_62.chunk b/SQCSim2021/media/chunks/91_62.chunk deleted file mode 100644 index d00b07ee4ba43219f8ac1033c392d7a47d0a6f12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuOAde_3>^#8xP2_zxeaf(y~ogQEG4v^h@)M@e}K!5-N0t5&U_{Rd@q5HEr z9QW?=b{jW5I#1#J%X6$d?sp6QU!A8g@8q274gJr~sqQd;Gk@*8|JU<#+u^*cbFM#l zq`E_n*PqJy;q+>Mh$XIh-ln^LdR_*${ib7csoVO-TalG6$6V{yep|WL zulHY`>jJHRY4BKXbxWVET&K1FLwlgiJ3F_9YTvrRL%H6Z-sk)G<~F^0tOqRf&(7;Y zrGH!CUTzoDhkX6n+#fK{>khmmcMHw)$J}i<_dhy!(~j}&7tDS3=Kg{4>AYWm+AH!n zAgrH%f5QSV&%?CT_v#!L2porhKcVi&#lW@u`}?@U7A8P|009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF x5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+0D-p<_yMU8G{*n{ diff --git a/SQCSim2021/world.cpp b/SQCSim2021/world.cpp index e77cdc4..cd51c18 100644 --- a/SQCSim2021/world.cpp +++ b/SQCSim2021/world.cpp @@ -79,10 +79,11 @@ void World::TransposeWorld(Player& player) { player.Transpose(x, y); } -void World::CleanUpWorld(int& frames) { - if (!m_tbDeleted.empty() && !frames) { +void World::CleanUpWorld(int& deleteframes, bool clear = false) { + if (clear) m_tbDeleted.clear(); + if (!m_tbDeleted.empty() && !deleteframes) { m_tbDeleted.pop_back(); - frames = FRAMES_DELETE_CHUNKS; + deleteframes = FRAMES_DELETE_CHUNKS; } } @@ -97,3 +98,270 @@ Chunk* World::RetrieveChunk(int x, int y) { return nullptr; } + +void World::GetScope(int& x, int& y) { + x = m_center[0]; + y = m_center[1]; +} + +void World::Update(int& rendercount, int& badhitcount, Player& player, Transformation& world, Shader& shader, TextureAtlas& atlas, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]) { + atlas.Bind(); + TransposeWorld(player); + RenderWorld(rendercount, badhitcount, player, world, shader); + UpdateWorld(player, perlin, blockinfo); + shader.Disable(); +} + +bool World::GenerateChunk(int chx, int chy, Perlin& perlin) { + if (chx < WORLD_SIZE_X * CHUNK_SIZE_X && chy < WORLD_SIZE_Y * CHUNK_SIZE_Z && + chx >= 0 && chy >= 0) + if (!ChunkAt(chx, 1, chy)) { + + for (int index = 0; index < m_tbDeleted.size(); ++index) { // Vérifie l'existence d'un chunk dans le buffer de suppression avec sa position. + int x, y; + m_tbDeleted.at(index)->GetPosition(x, y); + if (chx / CHUNK_SIZE_X + m_center[0] == x && + chy / CHUNK_SIZE_Z + m_center[1] == y) { + GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, std::move(m_tbDeleted.at(index))); + return true; + } + } + + std::ostringstream pos; // Vérifie l'existence d'un fichier .chunk avec sa position. + pos << CHUNK_PATH << chx / CHUNK_SIZE_X + m_center[0] << '_' << chy / CHUNK_SIZE_Z + m_center[1] << ".chunk"; + + std::ifstream input(pos.str().c_str(), std::fstream::binary); + + if (input.fail()) { + GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, new Chunk(chx / CHUNK_SIZE_X + m_center[0], chy / CHUNK_SIZE_Z + m_center[1])); + Chunk* chunk = GetChunks().Get(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z); + + for (int x = 0; x < CHUNK_SIZE_X; ++x) + for (int z = 0; z < CHUNK_SIZE_Z; ++z) { + Vector3f noise; + noise.x = x * (CHUNK_SIZE_X + 1) + (CHUNK_SIZE_X - 1) * (chx + m_center[0]); + noise.y = 0; + noise.z = z * (CHUNK_SIZE_Z + 1) + (CHUNK_SIZE_Z - 1) * (chy + m_center[1]); + noise.Normalize(); + float height = perlin.Get(noise.x, noise.z) * 3 - 32; + for (int y = 0; y <= (int)height % CHUNK_SIZE_Y; ++y) + chunk->SetBlock(x, y, z, BTYPE_METAL, this); + } + + for (int x = 0; x < CHUNK_SIZE_X; ++x) + for (int z = 0; z < CHUNK_SIZE_Z; ++z) { + Vector3f noise; + noise.x = x * (CHUNK_SIZE_X + 1) + (CHUNK_SIZE_X - 1) * (chx + m_center[0]); + noise.y = 0; + noise.z = z * (CHUNK_SIZE_Z + 1) + (CHUNK_SIZE_Z - 1) * (chy + m_center[1]); + noise.Normalize(); + float height = perlin.Get(noise.x, noise.z) + 16; + for (int y = 0; y <= (int)height % CHUNK_SIZE_Y; ++y) { + if (chunk->GetBlock(x, y, z) == BTYPE_AIR) + chunk->SetBlock(x, y, z, BTYPE_GRASS, this); + } + } + + for (int x = 0; x < CHUNK_SIZE_X; ++x) + for (int z = 0; z < CHUNK_SIZE_Z; ++z) { + for (int y = 0; y <= 10; ++y) { + if (chunk->GetBlock(x, y, z) == BTYPE_AIR) + chunk->SetBlock(x, y, z, BTYPE_ICE, this); + } + } + + for (int x = 0; x < CHUNK_SIZE_X; ++x) + for (int z = 0; z < CHUNK_SIZE_Z; ++z) { + for (int y = 0; y < CHUNK_SIZE_Y; ++y) { + Vector3f noise; + noise.x = x * (CHUNK_SIZE_X + 1) + (CHUNK_SIZE_X - 1) * (chx + m_center[0]); + noise.y = (x + z) * CHUNK_SIZE_Y + m_center[0]; + noise.z = z * (CHUNK_SIZE_Z + 1) + (CHUNK_SIZE_Z - 1) * (chy + m_center[1]); + noise.Normalize(); + float height = perlin.Get(noise.x, noise.y, noise.z); + if (chunk->GetBlock(x, y, z) != BTYPE_AIR && height > 18) + chunk->SetBlock(x, y, z, BTYPE_DIRT, this); + } + } + } + else { + input.seekg(0, std::ios_base::end); + int size = input.tellg(); + input.seekg(0, std::ios_base::beg); + + char* data = new char[size]; + input.read(data, size); + input.close(); + + GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, new Chunk(chx / CHUNK_SIZE_X + m_center[0], chy / CHUNK_SIZE_Z + m_center[1], data)); + + delete[] data; + } + std::cout << "Chunk generated: " << chx / CHUNK_SIZE_X + m_center[0] << ", " << chy / CHUNK_SIZE_Z + m_center[1] << std::endl; + + return true; + } + return false; +} + +void World::UpdateChunk(int& generates, int& updates, int chx, int chy, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]) { + if (generates == 0 && GenerateChunk(chx, chy, perlin)) generates = FRAMES_RENDER_CHUNKS; + if (updates == 0 && ChunkAt(chx, 1, chy) && + ChunkAt(chx, 1, chy)->IsDirty()) { + ChunkAt(chx, 1, chy)->Update(blockinfo, this); + updates = FRAMES_UPDATE_CHUNKS; + } +} + +void World::ChangeBlockAtCursor(BlockType blockType, Player& player, bool& block) { + Vector3f currentPos = player.GetPosition(); + Vector3f currentBlock = currentPos; + Vector3f ray = player.GetDirection(); + bool found = false; + + if (block) return; + + while ((currentPos - currentBlock).Length() <= MAX_SELECTION_DISTANCE && !found) { + currentBlock += ray / 10.f; + + BlockType bt = BlockAt(currentBlock); + + if (bt != BTYPE_AIR) + found = true; + } + + if (found) + if (blockType != BTYPE_AIR) { + found = false; + while ((currentPos - currentBlock).Length() >= 1.7f && !found) { + currentBlock -= ray / 10.f; + + BlockType bt = BlockAt(currentBlock); + + if (bt == BTYPE_AIR) { // Vérification pour être sûr que le bloc à changer n'est pas dans le joueur. + int Bx = (int)currentBlock.x; + int By = (int)currentBlock.y; + int Bz = (int)currentBlock.z; + + int Px = (int)currentPos.x; + int PyA = (int)currentPos.y; + int PyB = (int)(currentPos.y - .9f); + int PyC = (int)(currentPos.y - 1.7f); + int Pz = (int)currentPos.z; + + if (!(Bx == Px && + (By == PyA || + By == PyB || + By == PyC) && + Bz == Pz)) + found = true; + } + } + } + + if (found && (int)currentBlock.y < CHUNK_SIZE_Y) { + int bx = (int)currentBlock.x % CHUNK_SIZE_X; + int by = (int)currentBlock.y % CHUNK_SIZE_Y; + int bz = (int)currentBlock.z % CHUNK_SIZE_Z; + + ChunkAt(currentBlock)->SetBlock(bx, by, bz, blockType, this); + ChunkAt(currentBlock)->MakeModified(); + block = true; + } +} + +void World::RenderWorld(int& rendercount, int& badhitcount, Player& player, Transformation& world, Shader& shader) { + shader.Use(); + rendercount = 0; + badhitcount = 0; + static std::vector renderManifest; + Vector3f angle; + Vector3f cursor; + Vector3f direct = player.GetDirection(); + Vector3f pos = player.GetPosition() - direct; + + direct.y = 0; + direct.Normalize(); + pos.y = 1; + renderManifest.clear(); + + for (int dist = VIEW_DISTANCE; dist >= 0; dist -= CHUNK_SIZE_X) { + // Configuration du radar. + angle.x = direct.z + direct.x; + angle.y = 0; + angle.z = direct.z - direct.x; + angle.Normalize(); + + float sinus = .01745240643; // sin(1 degré) + float cosinus = .99984769515; // cos(1 degré) + int echantillons = 90; + + for (int radar = 0; radar < echantillons; ++radar) { + float x = angle.x; + float z = angle.z; + + angle.x = x * cosinus - z * sinus; + angle.z = z * cosinus + x * sinus; + angle.Normalize(); + + cursor = pos - direct * CHUNK_SIZE_X * 2 + angle * dist; + if (cursor.y >= 128.f || cursor.y >= 0.f) cursor.y = 1; + + bool valide = true; + + if (ChunkAt(cursor)) { + int chx, chy; + ChunkAt(cursor)->GetPosition(chx, chy); + for (int index = 0; index < renderManifest.size(); ++index) + if (renderManifest[index] == Vector3i(chx, 0, chy)) { + valide = false; + ++badhitcount; + } + + if (valide) { + world.ApplyTranslation((chx - m_center[0]) * CHUNK_SIZE_X, 0, (chy - m_center[1]) * CHUNK_SIZE_Z); + world.Use(); + float dist = (pos - cursor).Length(); + float blend = ((float)VIEW_DISTANCE - dist * 2.f + 128.f) / (float)VIEW_DISTANCE; + glBlendColor(0.f, 0.f, 0.f, blend); + ChunkAt(cursor)->Render(); + world.ApplyTranslation(-(chx - m_center[0]) * CHUNK_SIZE_X, 0, -(chy - m_center[1]) * CHUNK_SIZE_Z); + renderManifest.push_back(Vector3i(chx, 0, chy)); + ++rendercount; + } + } + } + } + shader.Disable(); +}; + +void World::UpdateWorld(Player& player, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]) { + int cx = player.GetPosition().x; + int cy = player.GetPosition().z; + static int frameGenerate = 0; + static int frameUpdate = 0; + static int frameDelete = 0; + int side = 0; + + if (frameGenerate > 0) --frameGenerate; + if (frameUpdate > 0) --frameUpdate; + if (frameDelete > 0) --frameDelete; + + if (!frameGenerate || !frameUpdate) + while (side * CHUNK_SIZE_X <= VIEW_DISTANCE * 2) { + int tx = -side, ty = -side; + + for (; tx <= side; ++tx) + UpdateChunk(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z, perlin, blockinfo); + for (; ty <= side; ++ty) + UpdateChunk(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z, perlin, blockinfo); + for (; tx >= -side; --tx) + UpdateChunk(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z, perlin, blockinfo); + for (; ty >= -side; --ty) + UpdateChunk(frameGenerate, frameUpdate, cx + tx * CHUNK_SIZE_X, cy + ty * CHUNK_SIZE_Z, perlin, blockinfo); + + ++side; + } + + CleanUpWorld(frameDelete); +} \ No newline at end of file diff --git a/SQCSim2021/world.h b/SQCSim2021/world.h index a90e08c..8e4c6e9 100644 --- a/SQCSim2021/world.h +++ b/SQCSim2021/world.h @@ -6,6 +6,9 @@ #include "vector3.h" #include "player.h" #include "transformation.h" +#include "perlin.h" +#include "shader.h" +#include "textureatlas.h" #include #include #include @@ -14,27 +17,38 @@ class Chunk; class Player; class World { - public: - World(); - ~World(); +public: + World(); + ~World(); - Array2d& GetChunks(); + Array2d& GetChunks(); - Chunk* ChunkAt(float x, float y, float z) const; - Chunk* ChunkAt(const Vector3f& pos) const; - - BlockType BlockAt(float x, float y, float z, BlockType defaultBlockType = BTYPE_AIR) const; - BlockType BlockAt(const Vector3f& pos, BlockType defaultBlockType = BTYPE_AIR) const; + Chunk* ChunkAt(float x, float y, float z) const; + Chunk* ChunkAt(const Vector3f& pos) const; - void TransposeWorld(Player& player); - void CleanUpWorld(int& frames); - Chunk* RetrieveChunk(int x, int y); + BlockType BlockAt(float x, float y, float z, BlockType defaultBlockType = BTYPE_AIR) const; + BlockType BlockAt(const Vector3f& pos, BlockType defaultBlockType = BTYPE_AIR) const; + void Update(int& rendercount, int& badhitcount, Player& player, Transformation& world, Shader& shader, TextureAtlas& atlas, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]); + + void GetScope(int& x, int& y); + + void ChangeBlockAtCursor(BlockType blockType, Player& player, bool& block); + void CleanUpWorld(int& deleteframes, bool clear); private: Array2d m_chunks = Array2d(WORLD_SIZE_X, WORLD_SIZE_Y); std::vector m_tbDeleted; - int m_center[2] = {INT16_MAX / 2 - WORLD_SIZE_X / 2, INT16_MAX / 2 - WORLD_SIZE_Y / 2}; + int m_center[2] = { INT16_MAX / 2 - WORLD_SIZE_X / 2, INT16_MAX / 2 - WORLD_SIZE_Y / 2 }; + + bool GenerateChunk(int x, int y, Perlin& perlin); + void UpdateChunk(int& generates, int& updates, int chx, int chy, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]); + void RenderWorld(int& rendercount, int& badhitcount, Player& player, Transformation& world, Shader& shader); + void UpdateWorld(Player& player, Perlin& perlin, BlockInfo* blockinfo[BTYPE_LAST]); + void TransposeWorld(Player& player); + Chunk* RetrieveChunk(int x, int y); + + }; #endif // WORLD_H__