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
Bonta-kun
0d9983bae0
Rom: fix player names not applying
2019-12-19 10:04:12 +01:00
Bonta-kun
8721310cf7
World: include can_access_trock_eyebridge can_access_trock_front can_access_trock_big_chest can_access_trock_middle and fix_fake_world in the player specific attributes
2019-12-18 20:45:51 +01:00
Bonta-kun
1ecb5fe40b
Individual settings: shufflebosses shuffleenemies enemy_health enemy_damage
2019-12-17 15:55:53 +01:00
Bonta-kun
8a5eef11ce
Individual settings: hints
2019-12-17 12:22:55 +01:00
Bonta-kun
e5246d5d5a
Individual settings: retro
2019-12-17 00:16:02 +01:00
Bonta-kun
1315eb55cf
Individual settings: map/compass/key/bk shuffle
2019-12-16 21:46:47 +01:00
Bonta-kun
dc26dfce77
Individual settings: crystals_ganon crystals_gt openpyramid
2019-12-16 19:09:15 +01:00
Bonta-kun
ec1b9eca43
Individual settings: shuffle
2019-12-16 18:24:34 +01:00
Bonta-kun
203147dda1
Individual settings: difficulty and item_functionality
2019-12-16 17:46:21 +01:00
Bonta-kun
c1788c070d
Individual settings: goal
2019-12-16 16:55:00 +01:00
Bonta-kun
9ca755d5b2
Individual settings: swords
2019-12-16 16:54:57 +01:00
Bonta-kun
ab28858a8f
Individual settings: mode
2019-12-16 16:54:46 +01:00
Bonta-kun
79786c7c9e
Individual settings: logic
2019-12-16 13:26:07 +01:00
Bonta-kun
930dcfb90f
Use original item code for maps and compasses in their dungeons
2019-12-16 10:58:25 +01:00
Bonta-kun
d33582a3a2
Enable bombs in escape assist with an enemized standard start so you can beat the game
2019-12-16 09:59:16 +01:00
Bonta-kun
fcde1e9cdc
Added more enemy shuffle options to be consistent with what's on the website
2019-12-16 01:35:10 +01:00
Bonta-kun
7e9ab6ce27
JsonRom: will behave like an interval map and merge/overwrite segments when appropriate
2019-12-15 16:16:49 +01:00
Bonta-kun
955dce0812
Race rom support (partial)
2019-12-15 16:16:39 +01:00
Bonta-kun
842f6bf1ac
rom: correct gametype flag
2019-12-15 10:54:49 +01:00
Bonta-kun
fc9d1b501b
Replace keysanity with map/compass/key/bk shuffle
2019-12-13 22:37:52 +01:00
Bonta-kun
25068bcfdd
Added an option to pre-open the pyramid hole (aka "fast ganon")
2019-12-12 09:20:32 +01:00
Bonta-kun
4ca063be54
Reimplement random weapon standard start, the previous one did not make sense in a multiworld context and rework castle chests logic, bombs start is now possible
2019-12-11 11:41:05 +01:00
Bonta-kun
c773b62dfe
adjuster: disable_music for the old msu code
2019-12-10 03:21:49 +01:00
Bonta-kun
55a30aa91f
multiworld
2019-12-09 19:27:56 +01:00
AmazingAmpharos
1ddfc040f3
Update base ROM
...
Oops, forgot to ever do this, erroneously assumed it was done before.
2019-10-24 02:13:02 -05:00
AmazingAmpharos
63db5ac077
Hints for inverted
...
A few locations have different internal names in inverted mode, and the hint system used to fail to handle this. Now it will handle this correctly.
2019-10-23 20:45:02 -05:00
AmazingAmpharos
bbc71a208f
A few inverted fixes
...
A few inverted fixes
2019-09-30 18:40:44 -05:00
cassidoxa
f8628337bb
One more vanilla/dungeons ROM fix
2019-09-21 22:15:12 -04:00
cassidoxa
2859acef7d
Swordless rom writes and inverted fixes
...
* Update Swordless rom writes
* Remove swordless as possible mode in ItemList.py
* Fix inverted HC Ledge access
Added collection state helper methods for determining lw/dw access
Restricted locations where Link's House can be in inverted
Dark Sanc and Link's House can no longer be at the back of Skull Woods
Fixed minor error in inverted bunny rules
* Update Link's House Shuffling in inverted insanity
* More isolated entrances not to put Link's House at
* Fix Link's House in dungeons shuffles
* More dungeons shuffle stuff I forgot
2019-09-21 21:59:16 -04:00
AmazingAmpharos
4246a8b876
Various hint updates/improvements
...
This update makes the hint system work much better with simpler shuffles, fixes a bug by which two of the paradox cave entrances had reversed instructions in hints, and prevents the useless hint of there being a skull woods small key in the skull woods pinball room. Progressive Bow is added to the important item list for hints. Further tweaks to some hint language may still be incoming, but this should address the structure of the hint system pretty completely.
2019-09-16 00:51:24 -05:00
Kevin Cathcart
f2c62e87ef
Update flavor text
2019-09-02 15:34:52 -04:00
Kevin Cathcart
7249429f69
Fix silvers hint
2019-09-02 15:33:34 -04:00
cassidoxa
0a759f18d6
Undo write causing map tile glitch in EP area ( #9 )
2019-08-28 21:13:35 -04:00
Kevin Cathcart
ab99e8c223
Triforce Hunt turn-in logic
2019-08-28 21:12:44 -04:00
Kevin Cathcart
895d274b02
New music muting mechanism
2019-08-25 22:36:19 -04:00
Kevin Cathcart
12d7459a60
Implement progressive bow limit
2019-08-25 22:28:12 -04:00
Kevin Cathcart
7dfff45a84
Fix typo
2019-08-25 22:22:31 -04:00
Kevin Cathcart
df6bf6f99c
Fix errors
2019-08-24 15:53:21 -04:00
Kevin Cathcart
6a6058adb3
Update goal sign/ganon taunts
2019-08-24 15:36:54 -04:00
Kevin Cathcart
ec9709f009
Preopen GT for 0 crystals
2019-08-24 15:35:23 -04:00
cassidoxa
fe1505408a
Fix mirror bonking in inverted
...
reverted a change and fixed some inverted writes I messed up initially
2019-08-24 10:14:57 -04:00
Kevin Cathcart
c0acfdd81e
New silver arrow hints
...
Supporting progressive bows.
2019-08-21 22:40:19 -04:00
Kevin Cathcart
418568df60
Add Item functionality setting and progressive bow
...
Progressive bows still have issue for silvers hint
2019-08-10 19:37:26 -04:00
Kevin Cathcart
996bf8495c
Implement new weapons modes
...
This also includes some partial additional cleanup of the item pool.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
b8ea2eb4b1
Fix random weapons for Standard Mode
...
Now works roughly like VT, except that swords are somwhat more common
and bombs-only escape is not supported (because I don't want to make
'Bombs (10)' an advancement item)
Swordless Standard Mode should also work now
Assured and Vanilla weapons still need to be implemented.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
3713f6a1b5
Add keysanity map reveal
...
An overlooked v30 feature
2019-08-10 16:10:54 -04:00
Kevin Cathcart
b0f4fa8cec
Partial implementation of many V31 features
...
Partial support for Progressive bow
- Still needs to be added to item pool
- Silver hint handling remains TBD even for VT
Added weapons selection.
- Vanilla needs to be implemented
- Assured needs to be implemented
- Inverted swordless is almost certainly messed up.
- Swordless standard mode will likely softlock
- Random weapon standard mode is currently treated as uncle assured
Deleted removed difficulties
- Remaining difficulties still need to be adjusted
Added locked property to locations:
- This is used for preplaced items etc so that multiworld balancing
knows they cannot be moved.
Made a few of the difficulty changes from V31, but not all.
Added required text changes to handle crystals requirements
- More changes will likely me made in future
- Currently there is is no way to tell ganon requirement in
Inverted mode
2019-08-10 16:10:47 -04:00
Kevin Cathcart
d4f1bb7091
Implement V31 prize packs
2019-08-10 15:56:50 -04:00
Kevin Cathcart
8fb89971e5
Fix standard mode
2019-08-03 16:48:39 -04:00
Kevin Cathcart
90e5f522d8
Partially implement variable crystal requirements
2019-08-03 16:48:31 -04:00
cassidoxa
18f1275050
Inverted Mode ( #5 )
...
Merging in Cassidoxa's inverted mode.
I've still not fully reviewed the logic used in this mode, so it should be considered experimental, pending an in depth review by either myself or AA.
2019-07-27 09:13:13 -04:00