From 5dbaea1fe06d95f15ec75568291d981144a072ce Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 25 Aug 2021 13:21:38 -0400 Subject: Added random doors and most of Challenge The pedestal (maze map) will probably never work because it's special. Trying to affect the sets of 3 or the shuffled four currently crashes the game because there's special logic that governs them. I may look into fixing those. --- Source/Panels.h | 21 +++++++++++++++++++++ Source/Randomizer.cpp | 3 +-- Source/Randomizer.h | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) (limited to 'Source') diff --git a/Source/Panels.h b/Source/Panels.h index 87f0972..221cc41 100644 --- a/Source/Panels.h +++ b/Source/Panels.h @@ -600,6 +600,27 @@ std::vector squarePanels = { 0x18488, // Swamp Underwater Sliding Bridge Control 0x17C0A, // Swamp Island Control 1 0x17E07, // Swamp Island Control 2 + + 0x01983, // Mountain 3 Left Peekaboo + 0x01987, // Mountain 3 Right Peekaboo + + 0x0088E, // Challenge Easy Maze + 0x00BAF, // Challenge Hard Maze + 0x00BF3, // Challenge Stones Maze + /*0x0051F, // Challenge Column Bottom Left + 0x00524, // Challenge Column Top Right + 0x00CDB, // Challenge Column Top Left + 0x00CD4, // Challenge Column Far Panel*/ + /*0x00C80, // Challenge Triple 1 Left + 0x00CA1, // Challenge Triple 1 Center + 0x00CB9, // Challenge Triple 1 Right + 0x00C22, // Challenge Triple 2 Left + 0x00C59, // Challenge Triple 2 Center + 0x00C68, // Challenge Triple 2 Right*/ + 0x034EC, // Challenge Triangle + 0x034F4, // Challenge Triangle + 0x1C31A, // Challenge Left Pillar + 0x1C319, // Challenge Right Pillar }; std::vector desertPanels = { diff --git a/Source/Randomizer.cpp b/Source/Randomizer.cpp index 26c3416..47bb8c3 100644 --- a/Source/Randomizer.cpp +++ b/Source/Randomizer.cpp @@ -211,8 +211,7 @@ void Randomizer::Tutorialise(int panel1, int tutorialStraight) { _memory->CopyEntityData(tutorialStraight, panel1, GRID_SIZE_X, sizeof(int)); _memory->CopyEntityData(tutorialStraight, panel1, GRID_SIZE_Y, sizeof(int)); _memory->CopyEntityData(tutorialStraight, panel1, STYLE_FLAGS, sizeof(int)); - - + _memory->WritePanelData(panel1, RANDOMISE_ON_POWER_ON, { 0 }); //arrays.push_back(AUDIO_PREFIX); diff --git a/Source/Randomizer.h b/Source/Randomizer.h index 4058280..15465f4 100644 --- a/Source/Randomizer.h +++ b/Source/Randomizer.h @@ -59,6 +59,7 @@ private: #define DOT_FLAGS 0x3C8 #define DOT_CONNECTION_A 0x3D0 #define DOT_CONNECTION_B 0x3D8 +#define RANDOMISE_ON_POWER_ON 0x3E0 #define DECORATIONS 0x418 #define DECORATION_FLAGS 0x420 #define DECORATION_COLORS 0x428 -- cgit 1.4.1