Closed R3Ked closed 3 weeks ago
there's also a function, drawspheres, in apwatchdog.cpp that apparently is able to draw spheres onto the environment i think. it might be possible to hide the symbols and then recreate them using more draw functions somehow
None of this works quite as well as you hope it might.
Option 1 is basically impossible - creating new panels outright is the sort of thing that would need dedicated external mods, not a program that works in memory. Option 2 has some major problems as well. While changing the position, orientation, and scale of a panel is possible, and changing the contents is relatively trivial (it's how the randomizer works after all), moving panels too far away from where they're "supposed" to be just doesn't work. The greenhouse is too far away from any other unrandomized area - yes, really, even with Jungle right there (which doesn't have many panels anyway) - to move panels in, and the panels that are already there are only the frames with no back. Power surges don't unsolve panels, they temporarily turn them off. Option 2 would also prevent randomizing the currently unrandomized puzzles in those areas even if everything worked as it was supposed to, as moving the panel wouldn't change the puzzle ID (same one can't be used in two places) and Jungle is by far the easiest to randomize - just suppress the existing sounds and play new ones through the randomizer program.
Drawing spheres is the closest to working, but it would be very, very clunky, and there's been some progress on texture replacement, which would also allow diagetically randomizing Shadows, and doing more than just shuffling Desert. For that reason, texture replacement has been the primary focus. The one case where spheres could really help is Monastery, as full on model replacements/additions/edits are just as impossible as your option 1.
Full Greenhouse randomization should now theoretically be possible using the new texture generation functions from n-elderbroom.
Alright, so there are two possible ways to do this. These both depend on the fact that there are color filter puzzles in the Town and that the Archipelago fork is able to move puzzles around somehow (in SeverDoor in APWatchdog.cpp), specifically the two puzzles to enter the quarry, if you have certain settings on. I have no idea how the inner workings of this game and the randomizer work, so apologies if this isn't possible, but hear me out:
1: Generate entirely new panels and place them on top of the current puzzles to hide them. 2: Teleport panels into the greenhouse when you enter it, change them on the fly (the doors to enter the final area of the mountain prove this might be possible), and put those on top of the current puzzles too. If it's impossible to teleport puzzles and modify puzzles while the game is running, you can probably get away with teleporting some non-randomized puzzles. The Archipelago fork also has a way to power surge (unsolve) puzzles on demand using the power surge trap or deathlink, so it might be possible to disable the puzzles moved while they're in the greenhouse (the code for this is in APWatchdog.cpp)
This might be ultra ridiculous and impossible, but it might be worth trying.
proof it's possible btw