Commit Graph

248 Commits

Author SHA1 Message Date
Kevin Cathcart
2286adf289 Adjuster gui tweaks
Make the help button and output directory button available regardless of
selected tab.

Make controls on both tabs share underlying state where it makes sense
to do so.
2017-12-16 17:53:32 -05:00
Kevin Cathcart
b36723f2dd Fix get_all_state to correctly indicate mirror shield is is available if three progessive shields are in pool. 2017-12-16 15:38:48 -05:00
AmazingAmpharos
24043bce52 Wrong value fixes
Bee catchability was writing 0x08 instead of 0xF0 which causes crashing when bees spawn.
We wrote to the wrong value for Byrna's base cost which ended up corrupting the value of Cape cost.
Both are fixed.
2017-12-16 08:36:29 -06:00
AmazingAmpharos
1e4b0f0da3 Merge pull request #5 from KevinCathcart/Dev
Bunny logic and misc updates
2017-12-15 17:30:31 -06:00
Kevin Cathcart
6bd0664b7f Preliminary bunny logic 2017-12-14 20:09:02 -05:00
Kevin Cathcart
1cfbe2e9ef Refactor adjuster code to share code with Rom.py 2017-12-14 18:38:39 -05:00
Kevin Cathcart
9f8e412488 Improve code to always write out most values
Also fix minor command line issue
2017-12-14 18:38:39 -05:00
AmazingAmpharos
0e6dc992a0 Easy mode Lamps
This updates the Easy mode item pool to correctly support three Lamps, just like vt does.
2017-12-14 15:05:10 -06:00
AmazingAmpharos
a11ef66935 Timed mode rebalance
This increases the starting time for timed-countdown and timed-ohko modes. It's +15 minutes for keysanity, +20 minutes for most varieties of entrance shuffle, and only +10 minutes for dungeonssimple and dungeonsfull. The bonus time is cut in half for hard difficulty or above with timed-ohko. Before this, it was extremely unrealistic to be able to complete these modes without a time over.
2017-12-14 15:04:28 -06:00
AmazingAmpharos
d2612342d8 A new mirror connection
This is a simple tweak adding a mirror connection between the main Light World and the Hyrule Castle Courtyard. This will very rarely come into play; it only matters in circumstances where the uncle tunnel does not instantly connect to the courtyard (some madness/insanity situations and when Ganon's tunnel is there in full and below), when the player does not have access to the upper levels of Hyrule Castle or to the pyramid, but the player does have the Mirror. This correctly acknowledges that entering the castle main gate is fully and permanently softlock proof in this situation.
2017-12-12 08:20:42 -06:00
AmazingAmpharos
704d9eb6c8 Adjuster support
These are the basic adjuster files setting up for a new feature in the next release.  Already randomized ROMs can be adjusted after the fact and have quickswap, fast menu, disable music, heartbeep rate, or a custom sprite applied or removed at the user's discretion with the checksum being properly updated. For now, the validity check for a randomized ROM is simply that it is exactly 2 MiB long and has a file name that ends in .sfc (while .smc is a valid SNES ROM file extension, no existing randomizer programs use it for output). This feature will need more updating with the new v28 features before it's ready for primetime; KevinCathcart's sprite selector will be an important part of this feature, and I believe variable speed fastmenu will be supported by the v28 base ROM so I'd want to make that selectable as well. For now, this should work as building blocks.
2017-12-12 08:17:52 -06:00
AmazingAmpharos
d9182a4adb Updated version number and logic hash
Pretty self explanatory
2017-12-02 16:15:25 -06:00
AmazingAmpharos
e7f7ebd2d1 Merge pull request #3 from KevinCathcart/pyinstaller
Windows Bundle and Installer
2017-12-02 16:00:13 -06:00
Kevin Cathcart
c760ac1766 Add versioning to MSI installer.
Also close console window when not using CLI.

Remove deployment section of appveyor.yml for the time being.
2017-12-02 16:38:35 -05:00
Kevin Cathcart
793eaeed65 Create a utils file for low level helpers like path utilities 2017-12-02 16:38:35 -05:00
Kevin Cathcart
7b7dcc12c6 Restructure README.md
Make the readme less command-line focused, since non-technical users are
encouraged to use the GUI.
2017-12-02 16:38:35 -05:00
Kevin Cathcart
2a4f0c58a8 Update Appveyer to use better naming for msi and zip. 2017-12-02 16:38:35 -05:00
Kevin Cathcart
0de4a5857c Preliminary msi support
Added a proper icon

Fix output directory for packaged builds

Added a button to open the ouput directory, and a button to open
documentation for packaged builds.
2017-12-02 16:38:35 -05:00
Kevin Cathcart
91c7fdaf2d Update Spec File 2017-12-02 16:38:34 -05:00
Kevin Cathcart
06dbbce2be Add Appveyor integration 2017-12-02 16:38:34 -05:00
Kevin Cathcart
4271b4430a Add pyinstaller bundle support
Will allow creating generating pre-made builds for windows that do not
require python to be already installed.
2017-12-02 16:38:34 -05:00
AmazingAmpharos
619ad5a716 Typo fix
Fix three typos, two in comments and one that broke triforce hunt mode.
2017-12-02 02:30:48 -06:00
AmazingAmpharos
97c7fdaf59 PoD mislabel/softlock fix
Two addresses for PoD item locations were reversed, causing items to be placed with incorrect assumptions. This fixes that problem.
2017-12-02 00:18:38 -06:00
AmazingAmpharos
572cffc264 Add disable music feature
This is a feature the vt rando has that we haven't had until now. It was a fairly basic feature... though I confess I tested it minimally.
2017-11-28 04:54:14 -06:00
AmazingAmpharos
595e2a20b0 Merge pull request #2 from KevinCathcart/Dev
Dev
2017-11-24 18:42:58 -06:00
Kevin Cathcart
424fc3e6c6 Create data subfolder in preperation for new features
Move base2current.json to this new subfolder
2017-11-23 12:38:28 -05:00
Kevin Cathcart
d4052ab60a Use sys.exit instead of exit
The global exit function is designed only for the interpreter, so use
the correct one.

Also fix the plandomizer so it does not immediately error when run.
2017-11-19 16:00:26 -05:00
Kevin Cathcart
8158f5793d Rename Bottles for better display in spoiler logs 2017-11-18 20:56:45 -05:00
Kevin Cathcart
9d4d3b8456 Whitespace fixes
Removing trailing whitepace.
2017-11-18 20:43:37 -05:00
Kevin Cathcart
3e31502fc0 Add untimed OHKO mode 2017-11-18 20:36:42 -05:00
Kevin Cathcart
b15cd2072e Refactored ItemList
It now has much less duplicated code, and a useful difficulty
abstraction.
No changes to pool results were made, and this was verified with
automated testing.
2017-11-18 18:21:31 -05:00
AmazingAmpharos
2b6d11bef3 Credits fix
The "Flute Boy plays again" text is supposed to refer to the item buried by the shovel, not the item given in the Dark World. Easy fix.
2017-11-14 04:25:12 -06:00
AmazingAmpharos
1752196f7f Removing debug code
oops, wouldn't have hurt anything but good to remove it anyway
2017-11-13 16:33:38 -06:00
AmazingAmpharos
cd803ffb53 Ganon flag fix
The correct address has been put in for this flag. Previously this conflicted with the 1/4 magic byrna spike cave damage.
2017-11-13 16:12:28 -06:00
AmazingAmpharos
f9e7209a71 Bug fix for timed/triforce item pool
Apparently I don't know how to make subtraction commands. This has been rectified, and now the item pools should contain proper items instead of randomly selected "junk" items.
2017-11-13 16:11:35 -06:00
AmazingAmpharos
7e5edf87c2 Keysanity clarification
Clarifies how pendant and crystal dungeons are discerned in the keysanity mode.
2017-11-12 04:39:16 -06:00
AmazingAmpharos
399b83e6fe Keysanity bug fix
This fixes the broken item menu in keysanity.
2017-11-12 04:38:41 -06:00
AmazingAmpharos
10d96bfa6c Refactor bottle randomization
Bottle randomization refactored to be done on generation of itempool, not with the ItemFactory function. This allows difficulty settings to use different bottle pools more easily as well as allows the pedestal, credits, and spoiler logs to report bottle contents. Expert and insane difficulties deliberately set the same bottle content to all four bottles since the bottle limit is one in those modes so this only guarantees that all racers regardless of play sequence will get the same one free bottle content.
2017-11-11 20:22:44 -06:00
AmazingAmpharos
cde90cbc84 Update version number
Update the version number and logic hash for 0.5.0 release
2017-11-11 20:19:29 -06:00
AmazingAmpharos
6c13056781 New parameter support
A one line change to make this file work with the existence of new parameters.
2017-11-11 18:43:02 -06:00
AmazingAmpharos
1f4470600c Updating readme
The readme will not contain information about all the new stuff.
2017-11-11 18:37:58 -06:00
AmazingAmpharos
4bde13105e Hard and above difficulty
Remove fairies from being pre-stocked in bottles on high difficulties
2017-11-11 18:10:34 -06:00
AmazingAmpharos
13197e4ffe Timer display
Makes these two files support that setting. Also fixes a bug in the command line display for the timer settings.
2017-11-11 18:08:41 -06:00
AmazingAmpharos
ff3420cab7 Timer display and balanced algorithm
-Makes this file support these too
2017-11-11 18:07:13 -06:00
AmazingAmpharos
17b18eb630 Timer display mode
-Adds support for the timer display mode
-Fixes the name for Link's House for insanity mode shuffle
2017-11-11 18:06:05 -06:00
AmazingAmpharos
a64fb33f4b A little more polishing up
-Support for balanced algorithm
-Handle output file naming for new parameters
2017-11-11 18:05:06 -06:00
AmazingAmpharos
ad047e6c9c The last of the renaming
Courtesy of KevinCathcart
2017-11-11 18:03:42 -06:00
AmazingAmpharos
6644863007 Support overflow on hard and above
Added back in the normal number of progressive swords and bottles (and in the case of hard armor and shields) to the higher difficulties which will make it easier on average for players to find their earlier pieces of this equipment. Non-progressive alternatives were supported and set not to disrupt the average value of equipment. Hard still ignores progressive setting for armor since it doesn't change when players get armor upgrades (find one, get blue mail) but does allow non-progressive players to get the overflow item from the second armor discovery.
2017-11-11 15:47:44 -06:00
AmazingAmpharos
a3ccc051f6 Ganon at Uncle softlock fix
-From KevinCathcart, this adds a new region to the world for the castle courtyard reachable from the exit to the uncle tunnel and from the upper ledge of Hyrule Castle but not the main gate. In effect, this changes nothing if Ganon is not at the uncle passage, and if Ganon is at the uncle passage, either Mirror + pyramid access, Master Sword, or a connecting cave to the upper ledge of Hyrule Castle will be required to access the main gate. This is necessary to fix a very rare softlock in which the player could defeat Agahnim, lose access to the Hyrule Castle main gate, and make the seed impossible.
2017-11-11 15:31:37 -06:00
AmazingAmpharos
9af7052e5f Add balanced algorithm
-From KevinCathcart, adds a "balanced" algorithm that, in theory, fixes the dungeon bias of the v26/v27 algorithm while maintaining the desirable amount of randomness it provides.
2017-11-11 15:28:34 -06:00