Commit Graph

352 Commits

Author SHA1 Message Date
Fabian Dill e0873c1277 Add Silver Bow as a working start item 2020-08-23 03:03:21 +02:00
Fabian Dill b5048d99b9 optimize sweep_for_events, some has_ functions and some minor things 2020-08-22 19:19:29 +02:00
Fabian Dill 8e85e2892a secure sprite table fill with threadlock 2020-08-22 02:56:33 +02:00
Fabian Dill 45268b18f3 another round of optimizations and cleanup including some I/O multithreading
also alias sprite names with their file names as that's an often done mistake
2020-08-21 18:35:48 +02:00
Fabian Dill 6d3a7487e0 herpity derpity, keyshuffle is per player 2020-08-21 02:59:46 +02:00
Fabian Dill 59b1f43b56 set rom flags to no small keysanity if universal keys are on 2020-08-21 02:39:18 +02:00
Fabian Dill 685ff49711 make "universal" small key shuffle a thing and split it out of retro
also make retro usable independently from the other world modes in mystery
2020-08-20 20:13:00 +02:00
Fabian Dill cb4fa6dd33 Split enemy shuffle into its components 2020-08-19 23:24:17 +02:00
Fabian Dill cc65d388fe remove debug logger 2020-08-16 11:22:25 +02:00
Fabian Dill b0284c9fe2 Make all final roms 4 MiB to hide enemizer 2020-08-16 11:13:50 +02:00
Kippi00 e559b1168a
Restore pre-aga1 dark world dungeon behavior in glitched logics (#134)
In any logic that does not patch out fake worlds, dying in a Dark World dungeon before defeating Aghanim 1 will now put you in Fake Dark World. (vanilla behavior)
2020-08-16 02:24:48 +02:00
Fabian Dill 7eb419154b Make Enemizer Check a bit more multithreading resilient. 2020-08-12 08:48:29 +02:00
CaitSith2 5c447967ab TerrorPin AI Fix 2020-08-05 08:49:50 -07:00
Fabian Dill ebd6a9e3cf Removed all instances of the word "Official" where it does not refer to Nintendo 2020-07-31 19:45:10 +02:00
Fabian Dill 9825785989 Set Enemizer output to logging.debug 2020-07-30 20:17:52 +02:00
Fabian Dill a118732431 Update Enemizer 2020-07-30 20:14:05 +02:00
CaitSith2 4ab1e563a0 Fix sprite glitch while receiving items during Ganon fight. 2020-07-29 22:05:37 -07:00
CaitSith2 c737408715
Retry enemizer up to 5 times, logging the error each time it fails. (#128)
* Retry enemizer up to 5 times, logging the error each time it fails.
2020-07-29 21:56:43 +02:00
Fabian Dill 2c1411770e Update Enemizer
https://github.com/Ijwu/Enemizer/releases
2020-07-17 00:07:08 +02:00
caitsith2 075092b154 Make random_on_hit and ALL adjuster settings on initial seed roll deterministic 2020-07-16 03:40:47 -07:00
caitsith2 3c6893d4a8 make hints, credit text, and chaos thieves determistic. (no longer random based on the order the roms are written.) 2020-07-15 23:01:29 -07:00
caitsith2 0ba2405bbc Swamp trench 1 no longer drains. That only happens in door rando now. 2020-07-14 22:45:55 -07:00
Fabian Dill 93ecf5988b implement secrets.SystemRandom() for --race 2020-07-14 07:01:51 +02:00
Fabian Dill ea9e103cb0 update rom name handling 2020-07-14 04:48:56 +02:00
Fabian Dill 00a01d16fd Check Enemizer version #2 2020-07-11 01:26:18 +02:00
Fabian Dill d4f296835c Check Enemizer version 2020-07-11 00:52:49 +02:00
Fabian Dill f27d9e904f fix multithreaded import racing condition when frozen 2020-07-10 22:43:54 +02:00
Fabian Dill 252f9600fe restore unkillable thieves in chaosthieves option 2020-07-05 03:12:28 +02:00
Fabian Dill 78dd0d4280 log enemizer errors if present 2020-07-05 02:41:42 +02:00
Fabian Dill a45ae5deaf make shuffled thieves killable by popular request 2020-07-05 02:23:36 +02:00
Fabian Dill 346a08c3dd Use EasyModeEscape flag of upcoming Enemizer 2020-07-05 02:06:00 +02:00
Fabian Dill dd19834e94 implement Silver Bow as default non-progressive Bow 2020-06-30 09:51:11 +02:00
CaitSith2 545bb8023c
Add ganon triforce hunt (#117)
* Add ganon triforce hunt

* Add self to license

* Correction of help message for Local Ganon Triforce Hunt.

* if 'triforcehunt in world.goal[player]:
2020-06-26 16:18:53 +02:00
Fabian Dill d3d68fcba2 Rename Escape Dungeon to Hyrule Castle by vote on discord 2020-06-24 16:22:49 +02:00
caitsith2 780ae4ebcc Fix fake lightworld bug with climbing GT a second time. @compiling 2020-06-20 19:47:07 -07:00
caitsith2 e1bfa8780c Create basepatch in proper directory if required. 2020-06-20 19:14:09 -07:00
caitsith2 95742ddb98 Skull Woods MSU v32 fix 2020-06-20 18:55:15 -07:00
Fabian Dill cb1d4cc39e apply local items in no_logic 2020-06-19 01:31:32 +02:00
Fabian Dill 29ee4fe307 rename baserom to basepatch to make it clearer what it is
Also move actual baserom to root folder to make it harder to accidentally share it with others when copying stuff
2020-06-17 08:59:50 +02:00
Fabian Dill fdaba7e28c Merge branch 'bsdiff4_baserom'
# Conflicts:
#	Main.py
2020-06-13 22:51:44 +02:00
Fabian Dill 5692041a5b call enemizer with binary rom data 2020-06-11 04:56:47 +02:00
Fabian Dill b3d8368b70 differentiate goal text for local triforce hunt 2020-06-10 03:34:07 +02:00
Fabian Dill 4192e0fabb fix verify 2020-06-09 22:12:46 +02:00
Fabian Dill 8f6fd314ef remove jsonout #2 2020-06-09 22:11:14 +02:00
caitsith2 de9ae7d111 baserom now derived from bmbp file. 2020-06-09 12:18:48 -07:00
caitsith2 0aa6bc5a94 Updated baserom patch 2020-06-08 11:55:40 -07:00
CaitSith2 96bea214da
Merge branch 'master' into msu_v32 2020-06-08 02:04:41 -07:00
caitsith2 f1614a4e4c Convert _ to space in player names in rom. (_ shows up as ?) 2020-06-07 11:52:03 -07:00
Fabian Dill 17f884d047 make triforce pieces required an option 2020-06-07 15:22:24 +02:00
caitsith2 705266da9b Actually write to the player slots past player 64, and at the correct location. 2020-06-07 04:26:20 -07:00
caitsith2 73d1f56ffb base rom changes
* V32 MSU
* All items from chests/received in dark rooms now visible.
* Regular bunny can read signs
* Players up to Player 255 supported on send/received.
2020-06-06 20:49:53 -07:00
Fabian Dill 3864eb5071 fix /snes <snes_interface> if interface contains spaces (which it shouldn't, but meh) 2020-06-03 02:19:16 +02:00
Fabian Dill 23e989312c fix rom-internal RNG not being deterministic due to outside multithreading in _gen_rom (Main.py) setting a random seed across threads while it is in use in any order. 2020-05-24 12:43:03 +02:00
CaitSith2 c8343df81e
Added Extended msu option to gui (#95)
* Added Extended msu option to gui
2020-05-18 05:45:09 +02:00
compiling 195f6c86d2 Replace world exploration with a faster algorithm - use BFS and keep track of all entrances that are currently blocked by progression items 2020-05-10 19:27:13 +10:00
compiling bd7325b03d Fix progressive silvers hint. 2020-05-05 18:57:59 +10:00
Fabian Dill 951778f11f looks like prog bow ganon hints got swapped and duped in a merge. 2020-04-21 21:40:15 +02:00
Fabian Dill 30ae9487d4 Merge branch 'owg_test' 2020-04-16 10:44:59 +02:00
Fabian Dill 5c2c3041a7 speed up write_bytes 2020-04-16 10:38:18 +02:00
Fabian Dill 770f3c305a write 1024 bytes in one go instead of one by one 2020-04-16 09:55:55 +02:00
Fabian Dill c6a61e9008 Merge branch 'master' into owg_test 2020-04-14 03:49:33 +02:00
CaitSith2 34df144f8c
Changes (#64)
* Fix bug where collected maps show on item menu if compass shuffle is on, (and collected compasses if map shuffle is on.)

* Add Dungeon Counter Options
2020-04-13 00:46:32 +02:00
Fabian Dill 1a4be3d2d8 Merge remote-tracking branch 'origin/master' into owg_test
# Conflicts:
#	easy.yaml
2020-04-11 19:58:12 +02:00
CaitSith2 ab78d1a0c9
Add in support for Agahnims Tower Big Key/Map/Compass in starting items. (#60)
This ensures that a doors based yaml that specifies these doesn't cause a failure to roll a seed on master branch.
2020-04-11 06:35:07 +02:00
Fabian Dill 95d51d48bf Merge branch 'pull/23'
# Conflicts:
#	BaseClasses.py
#	EntranceShuffle.py
#	ItemList.py
#	Mystery.py
#	Rules.py
2020-04-08 15:07:19 +02:00
Fabian Dill 94e5b5962f Merge branch 'pull/58' into compilingERupdate
# Conflicts:
#	EntranceShuffle.py
#	Rom.py
#	Rules.py
2020-04-05 19:06:15 +02:00
compiling 11a91b96c6 Set inverted blacksmith to require light world access using the mirror or a portal (via starting in Link's House / Old Man Cave doesn't work).
Set the flag allowing the blacksmith to visit Link's House in simple inverted shuffle.
2020-04-05 21:12:26 +10:00
Fabian Dill f9f7916404 fix swords lookup 2020-04-04 09:32:51 +02:00
Fabian Dill 28b977d1b6 fix difficulty requirements lookup 2020-04-04 09:30:25 +02:00
Fabian Dill f89c28d5c2 Merge branch 'master' into pull/58
# Conflicts:
#	AdjusterMain.py
#	BaseClasses.py
#	EntranceShuffle.py
#	Gui.py
#	InvertedRegions.py
#	ItemList.py
#	Main.py
#	Plando.py
#	Rom.py
#	Rules.py
2020-04-04 09:16:39 +02:00
compiling 0a882bdf4e Show text box on pickup for all dungeon items in keysanity mode. 2020-04-04 15:16:49 +11:00
compiling d6db722d2e Fix silvers hint to point at the bow you didn't find.
Remove silvers hint if progressive bows do not give silvers.
2020-03-09 09:57:22 +11:00
compiling b5dccaba2c Update base2current 2020-03-08 17:27:26 +11:00
Fabian Dill 6059db3ea0 some general improvements. Mostly performance improvements of patching roms in multiworld with enemizer 2020-03-06 23:08:46 +01:00
Fabian Dill e3beb702f8 fix clock mode, again 2020-03-04 13:55:03 +01:00
Fabian Dill f4da26bd2b style 2020-02-25 14:47:52 +01:00
Fabian Dill 95aea8c4b4 rename ocarina to flute. 2020-02-17 10:08:03 +01:00
qadan 3e697f44dc was moved for an earlier thing 2020-02-09 18:49:41 -04:00
qadan c10739e70c fixing up some stuff I broke 2020-02-08 19:17:34 -04:00
qadan d22ccdedb3 some changes 2020-02-06 12:20:50 -04:00
cassidy 21b8c73179
Add "timer" as individual setting (#23) 2020-02-03 02:10:56 +01:00
qadan 4b7694b50f updates 2020-01-28 18:19:07 -04:00
CaitSith2 18f15d80f9 MSU-1 (#13)
* Add Extended MSU as an option
2020-01-22 18:27:25 +01:00
Fabian Dill 515716a71d optimize bytearray creation time and ram use 2020-01-22 17:50:00 +01:00
Bonta-kun f988f7671b --remote_items toggle: items will no longer be stored in the rom, a connection to a multiworld server will be required to receive them 2020-01-18 09:50:12 +01:00
Bonta-kun 71cd0b917c Rom: fix enemizer patching 2020-01-14 22:13:37 +01:00
Bonta-kun ad278f91d6 Multiworld: clients will now be automatically be identified from the rom name and have their names and teams set by the host, meaning those need to be configured during seed gen
Player names will show up in spoiler log and hint tiles instead of player id
MultiClient: autoreconnect to mw server
2020-01-14 10:42:27 +01:00
Bonta-kun 2f5a3e24dd Small shops refactor, cleanup some inverted mess 2020-01-10 11:41:22 +01:00
Bonta-kun 39a07a0624 Rom: dont block HC exit in standard with vanilla entrances to match website mystery behavior 2020-01-10 07:15:11 +01:00
Bonta-kun 77ae96cf1b Refactor rom patching now that jsonrom patches can safely be merged 2020-01-10 07:02:44 +01:00
Bonta-kun 5db7e066da Sprites are now player specific, can be chosen from their sprite name rather than file path, support "random" choice and support "randomonhit" enemizer-only option 2020-01-09 02:30:00 +01:00
Bonta-kun feb925d2b1 Rom: cleaner disable_music patches to match what the website does 2020-01-08 08:17:25 +01:00
Bonta-kun 28011cf675 Built-in palette shuffle (including blackout) 2020-01-08 03:43:48 +01:00
Bonta-kun eb7ca4fdf9 Implement --startinventory 2020-01-06 19:13:42 +01:00
compiling 6b97cebec5 Work around for json patch - split out bow limit into a separate patch so that it can be overridden properly. 2020-01-02 16:33:00 +11:00
Bonta-kun 636a18cee9 Rom: sanitize hint_text input 2019-12-31 15:47:49 +01:00
Bonta-kun 955d1c2875 Fix ganon's silvers hint with progressive bows 2019-12-30 03:21:01 +01:00
Bonta-kun fb1e2a657c Rom: fix silvers restriction with hard+ item functionality, also lock swordless swords limit to 0 2019-12-27 01:43:18 +01:00
Bonta-kun 6ca9cddc9a Rom: revert multiworld overflow replacement settings, baserom patch will skip limit checks for multiworld items 2019-12-27 01:04:34 +01:00
Bonta-kun 4a16ba74e8 Fix triforce hunt icon showing for every player 2019-12-21 10:42:59 +01:00