| 
									
										
										
										
											2020-03-06 00:48:23 +01:00
										 |  |  | general_options:
 | 
					
						
							| 
									
										
										
										
											2020-08-20 15:43:22 +02:00
										 |  |  |   # Where to place output files
 | 
					
						
							|  |  |  |   output_path: "output"
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  | # Options for MultiServer
 | 
					
						
							|  |  |  | # Null means nothing, for the server this means to default the value
 | 
					
						
							|  |  |  | # These overwrite command line arguments!
 | 
					
						
							| 
									
										
										
										
											2020-02-09 05:28:48 +01:00
										 |  |  | server_options:
 | 
					
						
							| 
									
										
										
										
											2020-09-13 00:19:27 -04:00
										 |  |  |   host: null
 | 
					
						
							| 
									
										
										
										
											2020-09-15 01:01:27 +02:00
										 |  |  |   port: 38281
 | 
					
						
							| 
									
										
										
										
											2020-02-09 05:28:48 +01:00
										 |  |  |   password: null
 | 
					
						
							|  |  |  |   multidata: null
 | 
					
						
							|  |  |  |   savefile: null
 | 
					
						
							| 
									
										
										
										
											2020-04-02 11:21:33 +02:00
										 |  |  |   disable_save: false
 | 
					
						
							|  |  |  |   loglevel: "info"
 | 
					
						
							| 
									
										
										
										
											2020-09-21 22:11:19 -07:00
										 |  |  |   # Allows for clients to log on and manage the server.  If this is null, no remote administration is possible.
 | 
					
						
							|  |  |  |   server_password: null
 | 
					
						
							| 
									
										
										
										
											2021-07-23 11:31:09 +02:00
										 |  |  |   # Disallow !getitem.
 | 
					
						
							| 
									
										
										
										
											2020-04-02 11:21:33 +02:00
										 |  |  |   disable_item_cheat: false
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Client hint system
 | 
					
						
							|  |  |  |   # Points given to a player for each acquired item in their world
 | 
					
						
							| 
									
										
										
										
											2020-04-02 11:21:33 +02:00
										 |  |  |   location_check_points: 1
 | 
					
						
							| 
									
										
										
										
											2021-05-11 23:08:50 +02:00
										 |  |  |   # Relative point cost to receive a hint via !hint for players
 | 
					
						
							|  |  |  |   # so for example hint_cost: 20 would mean that for every 20% of available checks, you get the ability to hint, for a total of 5
 | 
					
						
							| 
									
										
										
										
											2021-06-01 04:28:15 +02:00
										 |  |  |   hint_cost: 10 # Set to 0 if you want free hints
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Forfeit modes
 | 
					
						
							| 
									
										
										
										
											2021-10-18 22:58:29 +02:00
										 |  |  |   # A Forfeit sends out the remaining items *from* a world that forfeits
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # "disabled" -> clients can't forfeit,
 | 
					
						
							|  |  |  |   # "enabled" -> clients can always forfeit
 | 
					
						
							| 
									
										
										
										
											2021-10-18 22:58:29 +02:00
										 |  |  |   # "auto" -> automatic forfeit on goal completion
 | 
					
						
							| 
									
										
										
										
											2020-05-04 02:47:22 +02:00
										 |  |  |   # "auto-enabled" -> automatic forfeit on goal completion and manual forfeit is also enabled
 | 
					
						
							| 
									
										
										
										
											2021-09-26 09:06:12 +02:00
										 |  |  |   # "goal" -> forfeit is allowed after goal completion
 | 
					
						
							| 
									
										
										
										
											2020-04-25 15:11:58 +02:00
										 |  |  |   forfeit_mode: "goal"
 | 
					
						
							| 
									
										
										
										
											2021-10-18 22:58:29 +02:00
										 |  |  |   # Collect modes
 | 
					
						
							|  |  |  |   # A Collect sends the remaining items *to* a world that collects
 | 
					
						
							|  |  |  |   # "disabled" -> clients can't collect,
 | 
					
						
							|  |  |  |   # "enabled" -> clients can always collect
 | 
					
						
							| 
									
										
										
										
											2021-10-20 12:13:25 -07:00
										 |  |  |   # "auto" -> automatic collect on goal completion
 | 
					
						
							|  |  |  |   # "auto-enabled" -> automatic collect on goal completion and manual collect is also enabled
 | 
					
						
							| 
									
										
										
										
											2021-10-18 22:58:29 +02:00
										 |  |  |   # "goal" -> collect is allowed after goal completion
 | 
					
						
							| 
									
										
										
										
											2021-11-28 02:10:09 +01:00
										 |  |  |   collect_mode: "goal"
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Remaining modes
 | 
					
						
							| 
									
										
										
										
											2020-04-25 15:11:58 +02:00
										 |  |  |   # !remaining handling, that tells a client which items remain in their pool
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # "enabled" -> Client can always ask for remaining items
 | 
					
						
							|  |  |  |   # "disabled" -> Client can never ask for remaining items
 | 
					
						
							|  |  |  |   # "goal" -> Client can ask for remaining items after goal completion
 | 
					
						
							| 
									
										
										
										
											2020-04-25 15:11:58 +02:00
										 |  |  |   remaining_mode: "goal"
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Automatically shut down the server after this many seconds without new location checks, 0 to keep running
 | 
					
						
							| 
									
										
										
										
											2020-06-13 22:49:57 +02:00
										 |  |  |   auto_shutdown: 0
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Compatibility handling
 | 
					
						
							|  |  |  |   # 2 -> Recommended for casual/cooperative play, attempt to be compatible with everything across all versions
 | 
					
						
							| 
									
										
										
										
											2021-05-10 22:04:19 +02:00
										 |  |  |   # 1 -> No longer in use, kept reserved in case of future use
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # 0 -> Recommended for tournaments to force a level playing field, only allow an exact version match
 | 
					
						
							| 
									
										
										
										
											2020-07-16 16:57:38 +02:00
										 |  |  |   compatibility: 2
 | 
					
						
							| 
									
										
										
										
											2021-04-07 02:37:21 +02:00
										 |  |  |   # log all server traffic, mostly for dev use
 | 
					
						
							|  |  |  |   log_network: 0
 | 
					
						
							| 
									
										
										
										
											2021-07-21 18:08:15 +02:00
										 |  |  | # Options for Generation
 | 
					
						
							|  |  |  | generator:
 | 
					
						
							| 
									
										
										
										
											2020-11-15 14:49:09 +01:00
										 |  |  |   # Location of your Enemizer CLI, available here: https://github.com/Ijwu/Enemizer/releases
 | 
					
						
							| 
									
										
										
										
											2020-02-09 05:28:48 +01:00
										 |  |  |   enemizer_path: "EnemizerCLI/EnemizerCLI.Core.exe"
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Folder from which the player yaml files are pulled from
 | 
					
						
							| 
									
										
										
										
											2020-02-09 05:28:48 +01:00
										 |  |  |   player_files_path: "Players"
 | 
					
						
							| 
									
										
										
										
											2020-11-08 07:26:50 +01:00
										 |  |  |   #amount of players, 0 to infer from player files
 | 
					
						
							|  |  |  |   players: 0
 | 
					
						
							|  |  |  |   # general weights file, within the stated player_files_path location
 | 
					
						
							|  |  |  |   # gets used if players is higher than the amount of per-player files found to fill remaining slots
 | 
					
						
							|  |  |  |   weights_file_path: "weights.yaml"
 | 
					
						
							| 
									
										
										
										
											2022-01-06 22:01:18 +01:00
										 |  |  |   # Meta file name, within the stated player_files_path location
 | 
					
						
							| 
									
										
										
										
											2020-02-18 09:14:31 +01:00
										 |  |  |   meta_file_path: "meta.yaml"
 | 
					
						
							| 
									
										
										
										
											2020-09-03 07:14:25 -04:00
										 |  |  |   # Create a spoiler file
 | 
					
						
							|  |  |  |   # 0 -> None
 | 
					
						
							| 
									
										
										
										
											2021-07-21 18:08:15 +02:00
										 |  |  |   # 1 -> Spoiler without playthrough
 | 
					
						
							|  |  |  |   # 2 -> Full spoiler
 | 
					
						
							|  |  |  |   spoiler: 2
 | 
					
						
							| 
									
										
										
										
											2021-03-22 13:14:19 -07:00
										 |  |  |   # Glitch to Triforce room from Ganon
 | 
					
						
							|  |  |  |   # When disabled, you have to have a weapon that can hurt ganon (master sword or swordless/easy item functionality + hammer)
 | 
					
						
							|  |  |  |   # and have completed the goal required for killing ganon to be able to access the triforce room.
 | 
					
						
							|  |  |  |   # 1 -> Enabled.
 | 
					
						
							|  |  |  |   # 0 -> Disabled (except in no-logic)
 | 
					
						
							|  |  |  |   glitch_triforce_room: 1
 | 
					
						
							| 
									
										
										
										
											2021-07-21 18:08:15 +02:00
										 |  |  |   # Create encrypted race roms and flag games as race mode
 | 
					
						
							| 
									
										
										
										
											2020-09-13 00:17:46 -04:00
										 |  |  |   race: 0
 | 
					
						
							| 
									
										
										
										
											2021-01-02 12:49:43 +01:00
										 |  |  |   # List of options that can be plando'd. Can be combined, for example "bosses, items"
 | 
					
						
							| 
									
										
										
										
											2021-01-02 22:41:03 +01:00
										 |  |  |   # Available options: bosses, items, texts, connections
 | 
					
						
							| 
									
										
										
										
											2021-01-02 12:49:43 +01:00
										 |  |  |   plando_options: "bosses"
 | 
					
						
							| 
									
										
										
										
											2021-04-01 11:40:58 +02:00
										 |  |  | lttp_options:
 | 
					
						
							|  |  |  |   # File name of the v1.0 J rom
 | 
					
						
							|  |  |  |   rom_file: "Zelda no Densetsu - Kamigami no Triforce (Japan).sfc"
 | 
					
						
							| 
									
										
										
										
											2021-07-07 03:45:27 +02:00
										 |  |  |   # Set this to your SNI folder location if you want the MultiClient to attempt an auto start, does nothing if not found
 | 
					
						
							|  |  |  |   sni: "SNI"
 | 
					
						
							| 
									
										
										
										
											2021-04-01 11:40:58 +02:00
										 |  |  |   # Set this to false to never autostart a rom (such as after patching)
 | 
					
						
							|  |  |  |   # True for operating system default program
 | 
					
						
							|  |  |  |   # Alternatively, a path to a program to open the .sfc file with
 | 
					
						
							|  |  |  |   rom_start: true
 | 
					
						
							| 
									
										
										
										
											2021-11-12 08:00:11 -05:00
										 |  |  | sm_options:
 | 
					
						
							|  |  |  |   # File name of the v1.0 J rom
 | 
					
						
							| 
									
										
										
										
											2021-11-12 14:36:34 +01:00
										 |  |  |   rom_file: "Super Metroid (JU).sfc"
 | 
					
						
							| 
									
										
										
										
											2021-11-12 08:00:11 -05:00
										 |  |  |   # Set this to your SNI folder location if you want the MultiClient to attempt an auto start, does nothing if not found
 | 
					
						
							|  |  |  |   sni: "SNI"
 | 
					
						
							|  |  |  |   # Set this to false to never autostart a rom (such as after patching)
 | 
					
						
							|  |  |  |   # True for operating system default program
 | 
					
						
							|  |  |  |   # Alternatively, a path to a program to open the .sfc file with
 | 
					
						
							|  |  |  |   rom_start: true
 | 
					
						
							| 
									
										
										
										
											2021-04-01 11:40:58 +02:00
										 |  |  | factorio_options:
 | 
					
						
							| 
									
										
										
										
											2021-08-08 11:26:46 -05:00
										 |  |  |   executable: "factorio\\bin\\x64\\factorio"
 | 
					
						
							| 
									
										
										
										
											2022-03-15 08:55:57 -04:00
										 |  |  | minecraft_options: 
 | 
					
						
							| 
									
										
										
										
											2021-08-08 11:26:46 -05:00
										 |  |  |   forge_directory: "Minecraft Forge server"
 | 
					
						
							| 
									
										
											  
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											
										 
											2021-09-02 08:35:05 -04:00
										 |  |  |   max_heap_size: "2G"
 | 
					
						
							| 
									
										
										
										
											2022-03-15 08:55:57 -04:00
										 |  |  | oot_options: 
 | 
					
						
							| 
									
										
											  
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											
										 
											2021-09-02 08:35:05 -04:00
										 |  |  |   # File name of the OoT v1.0 ROM
 | 
					
						
							| 
									
										
										
										
											2021-11-07 15:43:07 +01:00
										 |  |  |   rom_file: "The Legend of Zelda - Ocarina of Time.z64"
 | 
					
						
							| 
									
										
										
										
											2022-03-27 14:44:22 -05:00
										 |  |  |   # Set this to false to never autostart a rom (such as after patching)
 | 
					
						
							|  |  |  |   #             true  for operating system default program
 | 
					
						
							|  |  |  |   # Alternatively, a path to a program to open the .z64 file with
 | 
					
						
							|  |  |  |   rom_start: true
 | 
					
						
							| 
									
										
										
										
											2021-11-07 15:43:07 +01:00
										 |  |  | soe_options:
 | 
					
						
							|  |  |  |   # File name of the SoE US ROM
 | 
					
						
							|  |  |  |   rom_file: "Secret of Evermore (USA).sfc"
 | 
					
						
							| 
									
										
										
										
											2022-02-22 11:12:37 -07:00
										 |  |  | ffr_options:
 | 
					
						
							|  |  |  |   display_msgs: true
 | 
					
						
							| 
									
										
										
										
											2022-03-15 08:55:57 -04:00
										 |  |  | smz3_options:
 | 
					
						
							|  |  |  |   # Set this to your SNI folder location if you want the MultiClient to attempt an auto start, does nothing if not found
 | 
					
						
							|  |  |  |   sni: "SNI"
 | 
					
						
							|  |  |  |   # Set this to false to never autostart a rom (such as after patching)
 | 
					
						
							|  |  |  |   # True for operating system default program
 | 
					
						
							|  |  |  |   # Alternatively, a path to a program to open the .sfc file with
 | 
					
						
							|  |  |  |   rom_start: true
 |