about summary refs log tree commit diff stats
path: root/Source
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2021-08-25 13:21:38 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2021-08-25 13:21:38 -0400
commit5dbaea1fe06d95f15ec75568291d981144a072ce (patch)
treee5cf0d0f381c7a40839fb76104cfab0525b68bae /Source
parentc5650b69369bc08ac23a75f6bf49646f77afa37d (diff)
downloadwitness-tutorializer-5dbaea1fe06d95f15ec75568291d981144a072ce.tar.gz
witness-tutorializer-5dbaea1fe06d95f15ec75568291d981144a072ce.tar.bz2
witness-tutorializer-5dbaea1fe06d95f15ec75568291d981144a072ce.zip
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.
Diffstat (limited to 'Source')
-rw-r--r--Source/Panels.h21
-rw-r--r--Source/Randomizer.cpp3
-rw-r--r--Source/Randomizer.h1
3 files changed, 23 insertions, 2 deletions
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<int> squarePanels = {
600 0x18488, // Swamp Underwater Sliding Bridge Control 600 0x18488, // Swamp Underwater Sliding Bridge Control
601 0x17C0A, // Swamp Island Control 1 601 0x17C0A, // Swamp Island Control 1
602 0x17E07, // Swamp Island Control 2 602 0x17E07, // Swamp Island Control 2
603
604 0x01983, // Mountain 3 Left Peekaboo
605 0x01987, // Mountain 3 Right Peekaboo
606
607 0x0088E, // Challenge Easy Maze
608 0x00BAF, // Challenge Hard Maze
609 0x00BF3, // Challenge Stones Maze
610 /*0x0051F, // Challenge Column Bottom Left
611 0x00524, // Challenge Column Top Right
612 0x00CDB, // Challenge Column Top Left
613 0x00CD4, // Challenge Column Far Panel*/
614 /*0x00C80, // Challenge Triple 1 Left
615 0x00CA1, // Challenge Triple 1 Center
616 0x00CB9, // Challenge Triple 1 Right
617 0x00C22, // Challenge Triple 2 Left
618 0x00C59, // Challenge Triple 2 Center
619 0x00C68, // Challenge Triple 2 Right*/
620 0x034EC, // Challenge Triangle
621 0x034F4, // Challenge Triangle
622 0x1C31A, // Challenge Left Pillar
623 0x1C319, // Challenge Right Pillar
603}; 624};
604 625
605std::vector<int> desertPanels = { 626std::vector<int> 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) {
211 _memory->CopyEntityData<byte>(tutorialStraight, panel1, GRID_SIZE_X, sizeof(int)); 211 _memory->CopyEntityData<byte>(tutorialStraight, panel1, GRID_SIZE_X, sizeof(int));
212 _memory->CopyEntityData<byte>(tutorialStraight, panel1, GRID_SIZE_Y, sizeof(int)); 212 _memory->CopyEntityData<byte>(tutorialStraight, panel1, GRID_SIZE_Y, sizeof(int));
213 _memory->CopyEntityData<byte>(tutorialStraight, panel1, STYLE_FLAGS, sizeof(int)); 213 _memory->CopyEntityData<byte>(tutorialStraight, panel1, STYLE_FLAGS, sizeof(int));
214 214 _memory->WritePanelData<byte>(panel1, RANDOMISE_ON_POWER_ON, { 0 });
215
216 215
217 216
218 //arrays.push_back(AUDIO_PREFIX); 217 //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:
59#define DOT_FLAGS 0x3C8 59#define DOT_FLAGS 0x3C8
60#define DOT_CONNECTION_A 0x3D0 60#define DOT_CONNECTION_A 0x3D0
61#define DOT_CONNECTION_B 0x3D8 61#define DOT_CONNECTION_B 0x3D8
62#define RANDOMISE_ON_POWER_ON 0x3E0
62#define DECORATIONS 0x418 63#define DECORATIONS 0x418
63#define DECORATION_FLAGS 0x420 64#define DECORATION_FLAGS 0x420
64#define DECORATION_COLORS 0x428 65#define DECORATION_COLORS 0x428