Added options from Maseya Palette Randomizer (#145)
Add remaining palette shuffle options
This commit is contained in:
parent
b2a60ac926
commit
b91a627b32
|
@ -34,8 +34,12 @@ def main():
|
|||
''')
|
||||
parser.add_argument('--heartcolor', default='red', const='red', nargs='?', choices=['red', 'blue', 'green', 'yellow', 'random'],
|
||||
help='Select the color of Link\'s heart meter. (default: %(default)s)')
|
||||
parser.add_argument('--ow_palettes', default='default', choices=['default', 'random', 'blackout'])
|
||||
parser.add_argument('--uw_palettes', default='default', choices=['default', 'random', 'blackout'])
|
||||
parser.add_argument('--ow_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--link_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--shield_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--sword_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--hud_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--uw_palettes', default='default', choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--sprite', help='''\
|
||||
Path to a sprite sheet to use for Link. Needs to be in
|
||||
binary format and have a length of 0x7000 (28672) bytes,
|
||||
|
|
|
@ -10,19 +10,27 @@ def adjust(args):
|
|||
start = time.perf_counter()
|
||||
logger = logging.getLogger('Adjuster')
|
||||
logger.info('Patching ROM.')
|
||||
|
||||
vanillaRom = args.baserom
|
||||
if os.path.splitext(args.rom)[-1].lower() == '.bmbp':
|
||||
import Patch
|
||||
meta, args.rom = Patch.create_rom_file(args.rom)
|
||||
|
||||
if os.stat(args.rom).st_size in (0x200000, 0x400000) and os.path.splitext(args.rom)[-1].lower() == '.sfc':
|
||||
rom = LocalRom(args.rom, patch=False)
|
||||
rom = LocalRom(args.rom, patch=False, vanillaRom=vanillaRom)
|
||||
else:
|
||||
raise RuntimeError(
|
||||
'Provided Rom is not a valid Link to the Past Randomizer Rom. Please provide one for adjusting.')
|
||||
|
||||
palettes_options={}
|
||||
palettes_options['dungeon']=args.uw_palettes
|
||||
|
||||
palettes_options['overworld']=args.ow_palettes
|
||||
palettes_options['hud']=args.hud_palettes
|
||||
palettes_options['sword']=args.sword_palettes
|
||||
palettes_options['shield']=args.shield_palettes
|
||||
palettes_options['link']=args.link_palettes
|
||||
|
||||
apply_rom_settings(rom, args.heartbeep, args.heartcolor, args.quickswap, args.fastmenu, args.disablemusic,
|
||||
args.sprite, args.ow_palettes, args.uw_palettes)
|
||||
args.sprite, palettes_options)
|
||||
path = output_path(f'{os.path.basename(args.rom)[:-4]}_adjusted.sfc')
|
||||
rom.write_to_file(path)
|
||||
|
||||
|
|
|
@ -283,8 +283,13 @@ def parse_arguments(argv, no_defaults=False):
|
|||
''')
|
||||
parser.add_argument('--heartcolor', default=defval('red'), const='red', nargs='?', choices=['red', 'blue', 'green', 'yellow', 'random'],
|
||||
help='Select the color of Link\'s heart meter. (default: %(default)s)')
|
||||
parser.add_argument('--ow_palettes', default=defval('default'), choices=['default', 'random', 'blackout'])
|
||||
parser.add_argument('--uw_palettes', default=defval('default'), choices=['default', 'random', 'blackout'])
|
||||
parser.add_argument('--ow_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--uw_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--hud_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--shield_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--sword_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
parser.add_argument('--link_palettes', default=defval('default'), choices=['default', 'random', 'blackout','puke','classic','grayscale','negative','dizzy','sick'])
|
||||
|
||||
parser.add_argument('--sprite', help='''\
|
||||
Path to a sprite sheet to use for Link. Needs to be in
|
||||
binary format and have a length of 0x7000 (28672) bytes,
|
||||
|
|
67
Gui.py
67
Gui.py
|
@ -198,7 +198,7 @@ def guiMain(args=None):
|
|||
owPalettesLabel.pack(side=LEFT)
|
||||
owPalettesVar = StringVar()
|
||||
owPalettesVar.set('default')
|
||||
owPalettesOptionMenu = OptionMenu(owPalettesFrame, owPalettesVar, 'default', 'random', 'blackout')
|
||||
owPalettesOptionMenu = OptionMenu(owPalettesFrame, owPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
owPalettesOptionMenu.pack(side=LEFT)
|
||||
|
||||
uwPalettesFrame = Frame(romOptionsFrame)
|
||||
|
@ -207,11 +207,41 @@ def guiMain(args=None):
|
|||
uwPalettesLabel.pack(side=LEFT)
|
||||
uwPalettesVar = StringVar()
|
||||
uwPalettesVar.set('default')
|
||||
uwPalettesOptionMenu = OptionMenu(uwPalettesFrame, uwPalettesVar, 'default', 'random', 'blackout')
|
||||
uwPalettesOptionMenu = OptionMenu(uwPalettesFrame, uwPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
uwPalettesOptionMenu.pack(side=LEFT)
|
||||
|
||||
hudPalettesFrame = Frame(romOptionsFrame)
|
||||
hudPalettesFrame.grid(row=4, column=0, sticky=E)
|
||||
hudPalettesLabel = Label(hudPalettesFrame, text='HUD palettes')
|
||||
hudPalettesLabel.pack(side=LEFT)
|
||||
hudPalettesVar = StringVar()
|
||||
hudPalettesVar.set('default')
|
||||
hudPalettesOptionMenu = OptionMenu(hudPalettesFrame, hudPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
hudPalettesOptionMenu.pack(side=LEFT)
|
||||
|
||||
swordPalettesFrame = Frame(romOptionsFrame)
|
||||
swordPalettesFrame.grid(row=4, column=1, sticky=E)
|
||||
swordPalettesLabel = Label(swordPalettesFrame, text='Sword palettes')
|
||||
swordPalettesLabel.pack(side=LEFT)
|
||||
swordPalettesVar = StringVar()
|
||||
swordPalettesVar.set('default')
|
||||
swordPalettesOptionMenu = OptionMenu(swordPalettesFrame, swordPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
swordPalettesOptionMenu.pack(side=LEFT)
|
||||
|
||||
shieldPalettesFrame = Frame(romOptionsFrame)
|
||||
shieldPalettesFrame.grid(row=5, column=0, sticky=E)
|
||||
shieldPalettesLabel = Label(shieldPalettesFrame, text='Shield palettes')
|
||||
shieldPalettesLabel.pack(side=LEFT)
|
||||
shieldPalettesVar = StringVar()
|
||||
shieldPalettesVar.set('default')
|
||||
shieldPalettesOptionMenu = OptionMenu(shieldPalettesFrame, shieldPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
shieldPalettesOptionMenu.pack(side=LEFT)
|
||||
|
||||
|
||||
|
||||
|
||||
romDialogFrame = Frame(romOptionsFrame)
|
||||
romDialogFrame.grid(row=4, column=0, columnspan=2, sticky=W+E)
|
||||
romDialogFrame.grid(row=6, column=0, columnspan=2, sticky=W+E)
|
||||
|
||||
baseRomLabel = Label(romDialogFrame, text='Base Rom: ')
|
||||
romVar = StringVar(value="Zelda no Densetsu - Kamigami no Triforce (Japan).sfc")
|
||||
|
@ -538,6 +568,9 @@ def guiMain(args=None):
|
|||
guiargs.disablemusic = bool(disableMusicVar.get())
|
||||
guiargs.ow_palettes = owPalettesVar.get()
|
||||
guiargs.uw_palettes = uwPalettesVar.get()
|
||||
guiargs.hud_palettes = hudPalettesVar.get()
|
||||
guiargs.sword_palettes = swordPalettesVar.get()
|
||||
guiargs.shield_palettes = shieldPalettesVar.get()
|
||||
guiargs.shuffleganon = bool(shuffleGanonVar.get())
|
||||
guiargs.hints = bool(hintsVar.get())
|
||||
guiargs.enemizercli = enemizerCLIpathVar.get()
|
||||
|
@ -702,22 +735,43 @@ def guiMain(args=None):
|
|||
fastMenuLabel2.pack(side=LEFT)
|
||||
|
||||
owPalettesFrame2 = Frame(drowDownFrame2)
|
||||
owPalettesOptionMenu2 = OptionMenu(owPalettesFrame2, owPalettesVar, 'default', 'random', 'blackout')
|
||||
owPalettesOptionMenu2 = OptionMenu(owPalettesFrame2, owPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
owPalettesOptionMenu2.pack(side=RIGHT)
|
||||
owPalettesLabel2 = Label(owPalettesFrame2, text='Overworld palettes')
|
||||
owPalettesLabel2.pack(side=LEFT)
|
||||
|
||||
uwPalettesFrame2 = Frame(drowDownFrame2)
|
||||
uwPalettesOptionMenu2 = OptionMenu(uwPalettesFrame2, uwPalettesVar, 'default', 'random', 'blackout')
|
||||
uwPalettesOptionMenu2 = OptionMenu(uwPalettesFrame2, uwPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
uwPalettesOptionMenu2.pack(side=RIGHT)
|
||||
uwPalettesLabel2 = Label(uwPalettesFrame2, text='Dungeon palettes')
|
||||
uwPalettesLabel2.pack(side=LEFT)
|
||||
|
||||
hudPalettesFrame2 = Frame(drowDownFrame2)
|
||||
hudPalettesOptionMenu2 = OptionMenu(hudPalettesFrame2, hudPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
hudPalettesOptionMenu2.pack(side=RIGHT)
|
||||
hudPalettesLabel2 = Label(hudPalettesFrame2, text='HUD palettes')
|
||||
hudPalettesLabel2.pack(side=LEFT)
|
||||
|
||||
swordPalettesFrame2 = Frame(drowDownFrame2)
|
||||
swordPalettesOptionMenu2 = OptionMenu(swordPalettesFrame2, swordPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
swordPalettesOptionMenu2.pack(side=RIGHT)
|
||||
swordPalettesLabel2 = Label(swordPalettesFrame2, text='Sword palettes')
|
||||
swordPalettesLabel2.pack(side=LEFT)
|
||||
|
||||
shieldPalettesFrame2 = Frame(drowDownFrame2)
|
||||
shieldPalettesOptionMenu2 = OptionMenu(shieldPalettesFrame2, shieldPalettesVar, 'default', 'random', 'blackout', 'grayscale', 'negative', 'classic', 'dizzy', 'sick', 'puke')
|
||||
shieldPalettesOptionMenu2.pack(side=RIGHT)
|
||||
shieldPalettesLabel2 = Label(shieldPalettesFrame2, text='Shield palettes')
|
||||
shieldPalettesLabel2.pack(side=LEFT)
|
||||
|
||||
heartbeepFrame2.pack(expand=True, anchor=E)
|
||||
heartcolorFrame2.pack(expand=True, anchor=E)
|
||||
fastMenuFrame2.pack(expand=True, anchor=E)
|
||||
owPalettesFrame2.pack(expand=True, anchor=E)
|
||||
uwPalettesFrame2.pack(expand=True, anchor=E)
|
||||
hudPalettesFrame2.pack(expand=True, anchor=E)
|
||||
swordPalettesFrame2.pack(expand=True, anchor=E)
|
||||
shieldPalettesFrame2.pack(expand=True, anchor=E)
|
||||
|
||||
bottomFrame2 = Frame(topFrame2)
|
||||
|
||||
|
@ -728,6 +782,9 @@ def guiMain(args=None):
|
|||
guiargs.fastmenu = fastMenuVar.get()
|
||||
guiargs.ow_palettes = owPalettesVar.get()
|
||||
guiargs.uw_palettes = uwPalettesVar.get()
|
||||
guiargs.hud_palettes = hudPalettesVar.get()
|
||||
guiargs.sword_palettes = swordPalettesVar.get()
|
||||
guiargs.shield_palettes = shieldPalettesVar.get()
|
||||
guiargs.quickswap = bool(quickSwapVar.get())
|
||||
guiargs.disablemusic = bool(disableMusicVar.get())
|
||||
guiargs.rom = romVar2.get()
|
||||
|
|
13
Main.py
13
Main.py
|
@ -36,7 +36,7 @@ def main(args, seed=None):
|
|||
if args.outputpath:
|
||||
os.makedirs(args.outputpath, exist_ok=True)
|
||||
output_path.cached_path = args.outputpath
|
||||
|
||||
|
||||
start = time.perf_counter()
|
||||
|
||||
# initialize the world
|
||||
|
@ -192,9 +192,18 @@ def main(args, seed=None):
|
|||
|
||||
world.spoiler.hashes[(player, team)] = get_hash_string(rom.hash)
|
||||
|
||||
palettes_options={}
|
||||
palettes_options['dungeon']=args.uw_palettes[player]
|
||||
palettes_options['overworld']=args.ow_palettes[player]
|
||||
palettes_options['hud']=args.hud_palettes[player]
|
||||
palettes_options['sword']=args.sword_palettes[player]
|
||||
palettes_options['shield']=args.shield_palettes[player]
|
||||
palettes_options['link']=args.link_palettes[player]
|
||||
|
||||
apply_rom_settings(rom, args.heartbeep[player], args.heartcolor[player], args.quickswap[player],
|
||||
args.fastmenu[player], args.disablemusic[player], args.sprite[player],
|
||||
args.ow_palettes[player], args.uw_palettes[player], world, player, True)
|
||||
palettes_options, world, player, True)
|
||||
|
||||
|
||||
mcsb_name = ''
|
||||
if all([world.mapshuffle[player], world.compassshuffle[player], world.keyshuffle[player],
|
||||
|
|
|
@ -516,6 +516,11 @@ def roll_settings(weights):
|
|||
ret.heartbeep = convert_to_on_off(get_choice('heartbeep', romweights, "normal"))
|
||||
ret.ow_palettes = get_choice('ow_palettes', romweights, "default")
|
||||
ret.uw_palettes = get_choice('uw_palettes', romweights, "default")
|
||||
ret.hud_palettes = get_choice('hud_palettes', romweights, "default")
|
||||
ret.sword_palettes = get_choice('sword_palettes', romweights, "default")
|
||||
ret.shield_palettes = get_choice('shield_palettes', romweights, "default")
|
||||
ret.link_palettes = get_choice('link_palettes', romweights, "default")
|
||||
|
||||
else:
|
||||
ret.quickswap = True
|
||||
ret.sprite = "Link"
|
||||
|
|
72
Rom.py
72
Rom.py
|
@ -37,15 +37,19 @@ except:
|
|||
|
||||
class LocalRom(object):
|
||||
|
||||
def __init__(self, file, patch=True, name=None, hash=None):
|
||||
def __init__(self, file, patch=True, vanillaRom=None, name=None, hash=None):
|
||||
self.name = name
|
||||
self.hash = hash
|
||||
self.orig_buffer = None
|
||||
|
||||
with open(file, 'rb') as stream:
|
||||
self.buffer = read_rom(stream)
|
||||
if patch:
|
||||
self.patch_base_rom()
|
||||
self.orig_buffer = self.buffer.copy()
|
||||
if vanillaRom:
|
||||
with open(vanillaRom, 'rb') as vanillaStream:
|
||||
self.orig_buffer = read_rom(vanillaStream)
|
||||
|
||||
def read_byte(self, address: int) -> int:
|
||||
return self.buffer[address]
|
||||
|
@ -1045,7 +1049,7 @@ def patch_rom(world, rom, player, team, enemized):
|
|||
rom.write_byte(0x180211, gametype) # Game type
|
||||
|
||||
# assorted fixes
|
||||
rom.write_byte(0x1800A2, 0x01 if world.fix_fake_world[player] else 0x00) # Toggle whether to be in real/fake dark world when dying in a DW dungeon before killing aga1
|
||||
rom.write_byte(0x1800A2, 0x01 if world.fix_fake_world[player] else 0x00) # Toggle whether to be in real/fake dark world when dying in a DW dungeon before killing aga1
|
||||
rom.write_byte(0x180169, 0x01 if world.lock_aga_door_in_escape else 0x00) # Lock or unlock aga tower door during escape sequence.
|
||||
if world.mode[player] == 'inverted':
|
||||
rom.write_byte(0x180169, 0x02) # lock aga/ganon tower door with crystals in inverted
|
||||
|
@ -1507,7 +1511,9 @@ def hud_format_text(text):
|
|||
return output[:32]
|
||||
|
||||
|
||||
def apply_rom_settings(rom, beep, color, quickswap, fastmenu, disable_music, sprite, ow_palettes, uw_palettes, world=None, player=1, allow_random_on_event=False):
|
||||
|
||||
def apply_rom_settings(rom, beep, color, quickswap, fastmenu, disable_music, sprite, palettes_options, world=None, player=1, allow_random_on_event=False):
|
||||
|
||||
local_random = random if not world else world.rom_seeds[player]
|
||||
apply_random_sprite_on_event(rom, sprite, local_random, allow_random_on_event, world.sprite_pool[player] if world else [])
|
||||
|
||||
|
@ -1560,27 +1566,51 @@ def apply_rom_settings(rom, beep, color, quickswap, fastmenu, disable_music, spr
|
|||
rom.write_byte(0x6FA30, {'red': 0x24, 'blue': 0x2C, 'green': 0x3C, 'yellow': 0x28}[color])
|
||||
rom.write_byte(0x65561, {'red': 0x05, 'blue': 0x0D, 'green': 0x19, 'yellow': 0x09}[color])
|
||||
|
||||
# reset palette if it was adjusted already
|
||||
default_ow_palettes(rom)
|
||||
default_uw_palettes(rom)
|
||||
|
||||
# write link sprite if required
|
||||
if sprite:
|
||||
sprite.write_to_rom(rom)
|
||||
|
||||
|
||||
|
||||
|
||||
if z3pr:
|
||||
options = {
|
||||
"randomize_dungeon": uw_palettes == 'random',
|
||||
"randomize_overworld": ow_palettes == 'random'
|
||||
}
|
||||
if any(options.values()):
|
||||
def buildAndRandomize(option_name,mode):
|
||||
options = {
|
||||
option_name : True
|
||||
}
|
||||
|
||||
data_dir = local_path("data") if is_bundled() else None
|
||||
offsets_array = build_offset_collections(options, data_dir)
|
||||
|
||||
restore_maseya_colors(rom,offsets_array)
|
||||
if mode == 'default':
|
||||
return
|
||||
ColorF = z3pr.ColorF
|
||||
|
||||
def next_color_generator():
|
||||
while True:
|
||||
yield ColorF(local_random.random(), local_random.random(), local_random.random())
|
||||
if mode == 'random':
|
||||
mode = 'maseya'
|
||||
z3pr.randomize(rom.buffer, mode, offset_collections=offsets_array, random_colors=next_color_generator())
|
||||
|
||||
uw_palettes=palettes_options['dungeon']
|
||||
ow_palettes=palettes_options['overworld']
|
||||
hud_palettes=palettes_options['hud']
|
||||
sword_palettes=palettes_options['sword']
|
||||
shield_palettes=palettes_options['shield']
|
||||
link_palettes=palettes_options['link']
|
||||
buildAndRandomize("randomize_dungeon", uw_palettes)
|
||||
buildAndRandomize("randomize_overworld", ow_palettes)
|
||||
buildAndRandomize("randomize_hud", hud_palettes)
|
||||
buildAndRandomize("randomize_sword", sword_palettes)
|
||||
buildAndRandomize("randomize_shield", shield_palettes)
|
||||
#link palette shuffle does not work very well and it's incompatible with random sprite on event
|
||||
#buildAndRandomize("randomize_link_sprite", link_palettes)
|
||||
|
||||
z3pr.randomize(rom.buffer, "maseya", offset_collections=offsets_array, random_colors=next_color_generator())
|
||||
else:
|
||||
# reset palette if it was adjusted already
|
||||
default_ow_palettes(rom)
|
||||
default_uw_palettes(rom)
|
||||
logging.warning("Could not find z3pr palette shuffle. "
|
||||
"If you want improved palette shuffling please install the maseya-z3pr package.")
|
||||
if ow_palettes == 'random':
|
||||
|
@ -1588,14 +1618,20 @@ def apply_rom_settings(rom, beep, color, quickswap, fastmenu, disable_music, spr
|
|||
if uw_palettes == 'random':
|
||||
randomize_uw_palettes(rom, local_random)
|
||||
|
||||
if ow_palettes == 'blackout':
|
||||
blackout_ow_palettes(rom)
|
||||
if uw_palettes == 'blackout':
|
||||
blackout_uw_palettes(rom)
|
||||
if ow_palettes == 'blackout':
|
||||
blackout_ow_palettes(rom)
|
||||
if uw_palettes == 'blackout':
|
||||
blackout_uw_palettes(rom)
|
||||
|
||||
if isinstance(rom, LocalRom):
|
||||
rom.write_crc()
|
||||
|
||||
def restore_maseya_colors(rom,offsets_array):
|
||||
if not rom.orig_buffer:
|
||||
return
|
||||
for offsetC in offsets_array:
|
||||
for address in offsetC:
|
||||
rom.write_bytes(address, rom.orig_buffer[address:address+2])
|
||||
|
||||
def set_color(rom, address, color, shade):
|
||||
r = round(min(color[0], 0xFF) * pow(0.8, shade) * 0x1F / 0xFF)
|
||||
|
|
|
@ -1469,6 +1469,42 @@
|
|||
"friendlyName": "Blackout",
|
||||
"description": "Never use this. Makes all overworld palette colors black.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"grayscale": {
|
||||
"keyString": "rom.ow_palettes.grayscale",
|
||||
"friendlyName": "Grayscale",
|
||||
"description": "Removes all saturation of colors.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"negative": {
|
||||
"keyString": "rom.ow_palettes.negative",
|
||||
"friendlyName": "Negative",
|
||||
"description": "Invert all colors",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"classic": {
|
||||
"keyString": "rom.ow_palettes.classic",
|
||||
"friendlyName": "Classic",
|
||||
"description": "Produces results similar to the website.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"dizzy": {
|
||||
"keyString": "rom.ow_palettes.dizzy",
|
||||
"friendlyName": "Dizzy",
|
||||
"description": "No logic in colors but saturation and lightness are conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"sick": {
|
||||
"keyString": "rom.ow_palettes.sick",
|
||||
"friendlyName": "Sick",
|
||||
"description": "No logic in colors but lightness is conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"puke": {
|
||||
"keyString": "rom.ow_palettes.Puke",
|
||||
"friendlyName": "Puke",
|
||||
"description": "No logic at all.",
|
||||
"defaultValue": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1495,6 +1531,228 @@
|
|||
"friendlyName": "Blackout",
|
||||
"description": "Never use this. Makes all underworld palette colors black.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"grayscale": {
|
||||
"keyString": "rom.uw_palettes.grayscale",
|
||||
"friendlyName": "Grayscale",
|
||||
"description": "Removes all saturation of colors.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"negative": {
|
||||
"keyString": "rom.uw_palettes.negative",
|
||||
"friendlyName": "Negative",
|
||||
"description": "Invert all colors",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"classic": {
|
||||
"keyString": "rom.uw_palettes.classic",
|
||||
"friendlyName": "Classic",
|
||||
"description": "Produces results similar to the website.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"dizzy": {
|
||||
"keyString": "rom.uw_palettes.dizzy",
|
||||
"friendlyName": "Dizzy",
|
||||
"description": "No logic in colors but saturation and lightness are conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"sick": {
|
||||
"keyString": "rom.uw_palettes.sick",
|
||||
"friendlyName": "Sick",
|
||||
"description": "No logic in colors but lightness is conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"puke": {
|
||||
"keyString": "rom.uw_palettes.Puke",
|
||||
"friendlyName": "Puke",
|
||||
"description": "No logic at all.",
|
||||
"defaultValue": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"hud_palettes": {
|
||||
"keyString": "rom.hud_palettes",
|
||||
"friendlyName": "Underworld Palettes",
|
||||
"description": "Randomize the colors of the underworld (caves, dungeons, etc.), within reason.",
|
||||
"inputType": "range",
|
||||
"subOptions": {
|
||||
"default": {
|
||||
"keyString": "rom.hud_palettes.default",
|
||||
"friendlyName": "Vanilla",
|
||||
"description": "Overworld colors will remain unchanged.",
|
||||
"defaultValue": 50
|
||||
},
|
||||
"random": {
|
||||
"keyString": "rom.hud_palettes.random",
|
||||
"friendlyName": "Random",
|
||||
"description": "Shuffles the colors of the overworld palette.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"blackout": {
|
||||
"keyString": "rom.hud_palettes.blackout",
|
||||
"friendlyName": "Blackout",
|
||||
"description": "Never use this. Makes all overworld palette colors black.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"grayscale": {
|
||||
"keyString": "rom.hud_palettes.grayscale",
|
||||
"friendlyName": "Grayscale",
|
||||
"description": "Removes all saturation of colors.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"negative": {
|
||||
"keyString": "rom.hud_palettes.negative",
|
||||
"friendlyName": "Negative",
|
||||
"description": "Invert all colors",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"classic": {
|
||||
"keyString": "rom.hud_palettes.classic",
|
||||
"friendlyName": "Classic",
|
||||
"description": "Produces results similar to the website.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"dizzy": {
|
||||
"keyString": "rom.hud_palettes.dizzy",
|
||||
"friendlyName": "Dizzy",
|
||||
"description": "No logic in colors but saturation and lightness are conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"sick": {
|
||||
"keyString": "rom.hud_palettes.sick",
|
||||
"friendlyName": "Sick",
|
||||
"description": "No logic in colors but lightness is conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"puke": {
|
||||
"keyString": "rom.hud_palettes.Puke",
|
||||
"friendlyName": "Puke",
|
||||
"description": "No logic at all.",
|
||||
"defaultValue": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"shield_palettes": {
|
||||
"keyString": "rom.shield_palettes",
|
||||
"friendlyName": "Underworld Palettes",
|
||||
"description": "Randomize the colors of the underworld (caves, dungeons, etc.), within reason.",
|
||||
"inputType": "range",
|
||||
"subOptions": {
|
||||
"default": {
|
||||
"keyString": "rom.shield_palettes.default",
|
||||
"friendlyName": "Vanilla",
|
||||
"description": "Overworld colors will remain unchanged.",
|
||||
"defaultValue": 50
|
||||
},
|
||||
"random": {
|
||||
"keyString": "rom.shield_palettes.random",
|
||||
"friendlyName": "Random",
|
||||
"description": "Shuffles the colors of the overworld palette.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"blackout": {
|
||||
"keyString": "rom.shield_palettes.blackout",
|
||||
"friendlyName": "Blackout",
|
||||
"description": "Never use this. Makes all overworld palette colors black.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"grayscale": {
|
||||
"keyString": "rom.shield_palettes.grayscale",
|
||||
"friendlyName": "Grayscale",
|
||||
"description": "Removes all saturation of colors.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"negative": {
|
||||
"keyString": "rom.shield_palettes.negative",
|
||||
"friendlyName": "Negative",
|
||||
"description": "Invert all colors",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"classic": {
|
||||
"keyString": "rom.shield_palettes.classic",
|
||||
"friendlyName": "Classic",
|
||||
"description": "Produces results similar to the website.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"dizzy": {
|
||||
"keyString": "rom.shield_palettes.dizzy",
|
||||
"friendlyName": "Dizzy",
|
||||
"description": "No logic in colors but saturation and lightness are conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"sick": {
|
||||
"keyString": "rom.shield_palettes.sick",
|
||||
"friendlyName": "Sick",
|
||||
"description": "No logic in colors but lightness is conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"puke": {
|
||||
"keyString": "rom.shield_palettes.Puke",
|
||||
"friendlyName": "Puke",
|
||||
"description": "No logic at all.",
|
||||
"defaultValue": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"sword_palettes": {
|
||||
"keyString": "rom.sword_palettes",
|
||||
"friendlyName": "Underworld Palettes",
|
||||
"description": "Randomize the colors of the underworld (caves, dungeons, etc.), within reason.",
|
||||
"inputType": "range",
|
||||
"subOptions": {
|
||||
"default": {
|
||||
"keyString": "rom.sword_palettes.default",
|
||||
"friendlyName": "Vanilla",
|
||||
"description": "Overworld colors will remain unchanged.",
|
||||
"defaultValue": 50
|
||||
},
|
||||
"random": {
|
||||
"keyString": "rom.sword_palettes.random",
|
||||
"friendlyName": "Random",
|
||||
"description": "Shuffles the colors of the overworld palette.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"blackout": {
|
||||
"keyString": "rom.sword_palettes.blackout",
|
||||
"friendlyName": "Blackout",
|
||||
"description": "Never use this. Makes all overworld palette colors black.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"grayscale": {
|
||||
"keyString": "rom.sword_palettes.grayscale",
|
||||
"friendlyName": "Grayscale",
|
||||
"description": "Removes all saturation of colors.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"negative": {
|
||||
"keyString": "rom.sword_palettes.negative",
|
||||
"friendlyName": "Negative",
|
||||
"description": "Invert all colors",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"classic": {
|
||||
"keyString": "rom.sword_palettes.classic",
|
||||
"friendlyName": "Classic",
|
||||
"description": "Produces results similar to the website.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"dizzy": {
|
||||
"keyString": "rom.sword_palettes.dizzy",
|
||||
"friendlyName": "Dizzy",
|
||||
"description": "No logic in colors but saturation and lightness are conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"sick": {
|
||||
"keyString": "rom.sword_palettes.sick",
|
||||
"friendlyName": "Sick",
|
||||
"description": "No logic in colors but lightness is conserved.",
|
||||
"defaultValue": 0
|
||||
},
|
||||
"puke": {
|
||||
"keyString": "rom.sword_palettes.Puke",
|
||||
"friendlyName": "Puke",
|
||||
"description": "No logic at all.",
|
||||
"defaultValue": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -355,7 +355,49 @@ rom:
|
|||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
uw_palettes: # Change the colors of caves and dungeons
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
hud_palettes: # Change the colors of the hud
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
sword_palettes: # Change the colors of swords
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
uw_palettes: # Change the colors of shields
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
|
@ -369,7 +369,49 @@ rom:
|
|||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
uw_palettes: # Change the colors of caves and dungeons
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
hud_palettes: # Change the colors of the hud
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
sword_palettes: # Change the colors of swords
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
||||
uw_palettes: # Change the colors of shields
|
||||
default: 50 # No changes
|
||||
random: 0 # Shuffle the colors
|
||||
blackout: 0 # Never use this
|
||||
grayscale: 0
|
||||
negative: 0
|
||||
classic: 0
|
||||
dizzy: 0
|
||||
sick: 0
|
||||
puke: 0
|
Loading…
Reference in New Issue