Commit Graph

1252 Commits

Author SHA1 Message Date
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
Kevin Cathcart f44d78d82f Made sprite updating a background task
Also make it use the correct folders for bundled builds
2017-12-10 11:10:04 -05:00
Kevin Cathcart 0372896bc6 fixup for initial updater code 2017-12-09 12:26:23 -05:00
Kevin Cathcart 073ab728c1 Rework how the main form handles sprites
makes the presence of a Sprite Picker screen more obvious
2017-12-08 19:29:39 -05:00
Kevin Cathcart 911737b84f Add Tooltips for sprites 2017-12-08 19:29:39 -05:00
Kevin Cathcart 5dbc21ce3a Improve performance by creating in-memory gifs 2017-12-08 19:29:39 -05:00
Kevin Cathcart 1d223dc0b8 Add preliminary support for ZSPR Format 2017-12-08 10:37:01 -05:00
Kevin Cathcart 1528489201 Partial implementation of sprite updating 2017-12-08 10:37:01 -05:00
Kevin Cathcart d31a7d6791 Preliminary implementation of new sprite screen 2017-12-08 10:36:44 -05:00
AmazingAmpharos df8a16c5ac
Merge pull request #4 from AmazingAmpharos/Dev
Version 0.5.1 update
2017-12-02 17:19:19 -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