forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
60 lines
2.5 KiB
Python
60 lines
2.5 KiB
Python
from typing import Union
|
|
|
|
import settings
|
|
from .data.Constants import ROM_HASH, AGES_ROM_HASH
|
|
|
|
|
|
class OracleOfSeasonsSettings(settings.Group):
|
|
class RomFile(settings.UserFilePath):
|
|
"""File name of the Oracle of Seasons US ROM"""
|
|
copy_to = "Legend of Zelda, The - Oracle of Seasons (USA).gbc"
|
|
description = "OoS ROM File"
|
|
md5s = [ROM_HASH]
|
|
|
|
class AgesRomFile(settings.UserFilePath):
|
|
"""File name of the Oracle of Ages US ROM (only needed for cross items)"""
|
|
copy_to = "Legend of Zelda, The - Oracle of Ages (USA).gbc"
|
|
description = "OoA ROM File"
|
|
md5s = [AGES_ROM_HASH]
|
|
|
|
class OoSCharacterSprite(str):
|
|
"""
|
|
The name of the sprite file to use (from "data/sprites/oos_ooa/").
|
|
Putting "link" as a value uses the default game sprite.
|
|
Putting "random" as a value randomly picks a sprite from your sprites directory for each generated ROM.
|
|
If you want some weighted result, you can arrange the options like in your option yaml.
|
|
"""
|
|
|
|
class OoSCharacterPalette(str):
|
|
"""
|
|
The color palette used for character sprite throughout the game.
|
|
Valid values are: "green", "red", "blue", "orange", and "random"
|
|
If you want some weighted result, you can arrange the options like in your option yaml.
|
|
If you want a color weight to only apply to a specific sprite, you can write color|sprite: weight.
|
|
For example, red|link: 1 would add red in the possible palettes with a weight of 1 only if link is the selected sprite
|
|
"""
|
|
|
|
class OoSRevealDiggingSpots(str):
|
|
"""
|
|
If enabled, hidden digging spots in Subrosia are revealed as diggable tiles.
|
|
"""
|
|
|
|
class OoSHeartBeepInterval(str):
|
|
"""
|
|
A factor applied to the infamous heart beep sound interval.
|
|
Valid values are: "vanilla", "half", "quarter", "disabled"
|
|
"""
|
|
|
|
class OoSRemoveMusic(str):
|
|
"""
|
|
If true, no music will be played in the game while sound effects remain untouched
|
|
"""
|
|
|
|
rom_file: RomFile = RomFile(RomFile.copy_to)
|
|
ages_rom_file: AgesRomFile = AgesRomFile(AgesRomFile.copy_to)
|
|
rom_start: bool = True
|
|
character_sprite: Union[OoSCharacterSprite, str] = "link"
|
|
character_palette: Union[OoSCharacterPalette, str] = "green"
|
|
reveal_hidden_subrosia_digging_spots: Union[OoSRevealDiggingSpots, bool] = True
|
|
heart_beep_interval: Union[OoSHeartBeepInterval, str] = "vanilla"
|
|
remove_music: Union[OoSRemoveMusic, bool] = False |