diff options
| author | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-30 21:58:46 -0700 |
|---|---|---|
| committer | jbzdarkid <jbzdarkid@gmail.com> | 2018-10-30 21:58:46 -0700 |
| commit | 3557f0ba80942397a9d963208695b4fa80290cb0 (patch) | |
| tree | d754d0f1b56ca10c133804639882d12d6686f7ec /Source/Randomizer.cpp | |
| parent | e66a408e38849107a3d35a317ff6f2b23dcaeead (diff) | |
| download | witness-tutorializer-3557f0ba80942397a9d963208695b4fa80290cb0.tar.gz witness-tutorializer-3557f0ba80942397a9d963208695b4fa80290cb0.tar.bz2 witness-tutorializer-3557f0ba80942397a9d963208695b4fa80290cb0.zip | |
Infinite amounts of cleanup
Diffstat (limited to 'Source/Randomizer.cpp')
| -rw-r--r-- | Source/Randomizer.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
| diff --git a/Source/Randomizer.cpp b/Source/Randomizer.cpp index 83f5571..9622601 100644 --- a/Source/Randomizer.cpp +++ b/Source/Randomizer.cpp | |||
| @@ -4,21 +4,21 @@ | |||
| 4 | * Swamp <-> symmetry has non-invisible background | 4 | * Swamp <-> symmetry has non-invisible background |
| 5 | * Tutorial sounds don't always play | 5 | * Tutorial sounds don't always play |
| 6 | * FEATURES: | 6 | * FEATURES: |
| 7 | * Prevent re-randomization (?) | 7 | * Clear "Randomized" button after short delay |
| 8 | * Clear "Randomized" state on NG (?) -- Or on a short delay | ||
| 9 | * Randomize audio logs -- Hard, seem to be unloaded some times? | 8 | * Randomize audio logs -- Hard, seem to be unloaded some times? |
| 10 | * Swap sounds in jungle (along with panels) -- maybe impossible | 9 | * Swap sounds in jungle (along with panels) -- maybe impossible |
| 11 | * Make orange 7 (all of oranges?) hard. Like big = hard. | 10 | * Make orange 7 (all of oranges?) hard. Like big = hard. |
| 12 | * Start the game if it isn't running? | 11 | * Start the game if it isn't running? |
| 13 | * Stop swapping colors in desert | 12 | * Stop swapping colors in desert |
| 13 | * Allow users to enter seed after randomly generating seed (aka detect user input in the text box) | ||
| 14 | */ | 14 | */ |
| 15 | #include "Memory.h" | 15 | #include "Memory.h" |
| 16 | #include "Randomizer.h" | 16 | #include "Randomizer.h" |
| 17 | #include "Panels.h" | 17 | #include "Panels.h" |
| 18 | #include "Random.h" | ||
| 18 | #include <string> | 19 | #include <string> |
| 19 | #include <iostream> | 20 | #include <iostream> |
| 20 | #include <numeric> | 21 | #include <numeric> |
| 21 | #include <chrono> | ||
| 22 | 22 | ||
| 23 | template <class T> | 23 | template <class T> |
| 24 | int find(const std::vector<T> &data, T search, size_t startIndex = 0) { | 24 | int find(const std::vector<T> &data, T search, size_t startIndex = 0) { |
| @@ -29,8 +29,16 @@ int find(const std::vector<T> &data, T search, size_t startIndex = 0) { | |||
| 29 | exit(-1); | 29 | exit(-1); |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | void Randomizer::Randomize() | 32 | short Randomizer::Randomize(int seed) |
| 33 | { | 33 | { |
| 34 | short metadata = _core.ReadMetadata(); | ||
| 35 | if (metadata & 0x1) { | ||
| 36 | // Already randomized -- exit. | ||
| 37 | return metadata; | ||
| 38 | } | ||
| 39 | _core.WriteMetadata(metadata | 0x1); | ||
| 40 | Random::SetSeed(seed); | ||
| 41 | |||
| 34 | // Content swaps -- must happen before squarePanels | 42 | // Content swaps -- must happen before squarePanels |
| 35 | _core.Randomize(upDownPanels, SWAP_LINES); | 43 | _core.Randomize(upDownPanels, SWAP_LINES); |
| 36 | _core.Randomize(leftForwardRightPanels, SWAP_LINES); | 44 | _core.Randomize(leftForwardRightPanels, SWAP_LINES); |
| @@ -53,6 +61,7 @@ void Randomizer::Randomize() | |||
| 53 | RandomizeMountain(); | 61 | RandomizeMountain(); |
| 54 | // RandomizeChallenge(); | 62 | // RandomizeChallenge(); |
| 55 | // RandomizeAudioLogs(); | 63 | // RandomizeAudioLogs(); |
| 64 | return metadata; | ||
| 56 | } | 65 | } |
| 57 | 66 | ||
| 58 | void Randomizer::AdjustSpeed() { | 67 | void Randomizer::AdjustSpeed() { |
