loothud option
This commit is contained in:
@@ -164,6 +164,7 @@ class World(object):
|
|||||||
set_player_attr('bigkeyshuffle', 'none')
|
set_player_attr('bigkeyshuffle', 'none')
|
||||||
set_player_attr('prizeshuffle', 'none')
|
set_player_attr('prizeshuffle', 'none')
|
||||||
set_player_attr('showloot', 'never')
|
set_player_attr('showloot', 'never')
|
||||||
|
set_player_attr('loothud', 'never')
|
||||||
set_player_attr('showmap', 'map')
|
set_player_attr('showmap', 'map')
|
||||||
set_player_attr('restrict_boss_items', 'none')
|
set_player_attr('restrict_boss_items', 'none')
|
||||||
set_player_attr('bombbag', False)
|
set_player_attr('bombbag', False)
|
||||||
@@ -3156,6 +3157,7 @@ class Spoiler(object):
|
|||||||
'bigkeyshuffle': self.world.bigkeyshuffle,
|
'bigkeyshuffle': self.world.bigkeyshuffle,
|
||||||
'prizeshuffle': self.world.prizeshuffle,
|
'prizeshuffle': self.world.prizeshuffle,
|
||||||
'showloot': self.world.showloot,
|
'showloot': self.world.showloot,
|
||||||
|
'loothud': self.world.loothud,
|
||||||
'showmap': self.world.showmap,
|
'showmap': self.world.showmap,
|
||||||
'boss_shuffle': self.world.boss_shuffle,
|
'boss_shuffle': self.world.boss_shuffle,
|
||||||
'enemy_shuffle': self.world.enemy_shuffle,
|
'enemy_shuffle': self.world.enemy_shuffle,
|
||||||
@@ -3430,6 +3432,7 @@ class Spoiler(object):
|
|||||||
outfile.write('Big Key Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['bigkeyshuffle'][player])
|
outfile.write('Big Key Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['bigkeyshuffle'][player])
|
||||||
outfile.write('Prize Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['prizeshuffle'][player])
|
outfile.write('Prize Shuffle:'.ljust(line_width) + '%s\n' % self.metadata['prizeshuffle'][player])
|
||||||
outfile.write('Show Value of Checks:'.ljust(line_width) + '%s\n' % self.metadata['showloot'][player])
|
outfile.write('Show Value of Checks:'.ljust(line_width) + '%s\n' % self.metadata['showloot'][player])
|
||||||
|
outfile.write('Show Value of Checks on HUD:'.ljust(line_width) + '%s\n' % self.metadata['loothud'][player])
|
||||||
outfile.write('Show Map:'.ljust(line_width) + '%s\n' % self.metadata['showmap'][player])
|
outfile.write('Show Map:'.ljust(line_width) + '%s\n' % self.metadata['showmap'][player])
|
||||||
outfile.write('Key Logic Algorithm:'.ljust(line_width) + '%s\n' % self.metadata['key_logic'][player])
|
outfile.write('Key Logic Algorithm:'.ljust(line_width) + '%s\n' % self.metadata['key_logic'][player])
|
||||||
outfile.write('\n')
|
outfile.write('\n')
|
||||||
|
|||||||
52
CLI.py
52
CLI.py
@@ -153,31 +153,32 @@ def parse_cli(argv, no_defaults=False):
|
|||||||
'crystals_ganon', 'crystals_gt', 'bosses_ganon',
|
'crystals_ganon', 'crystals_gt', 'bosses_ganon',
|
||||||
'bosshunt_include_agas', 'ganon_item', 'openpyramid',
|
'bosshunt_include_agas', 'ganon_item', 'openpyramid',
|
||||||
'mapshuffle', 'compassshuffle', 'keyshuffle',
|
'mapshuffle', 'compassshuffle', 'keyshuffle',
|
||||||
'bigkeyshuffle', 'prizeshuffle', 'showloot', 'showmap',
|
'bigkeyshuffle', 'prizeshuffle', 'showloot', 'loothud',
|
||||||
'startinventory', 'usestartinventory', 'bombbag',
|
'showmap', 'startinventory', 'usestartinventory',
|
||||||
'shuffleganon', 'overworld_map', 'restrict_boss_items',
|
'bombbag', 'shuffleganon', 'overworld_map',
|
||||||
'triforce_max_difference', 'triforce_pool_min',
|
'restrict_boss_items', 'triforce_max_difference',
|
||||||
'triforce_pool_max', 'triforce_goal_min',
|
'triforce_pool_min', 'triforce_pool_max',
|
||||||
'triforce_goal_max', 'triforce_min_difference',
|
'triforce_goal_min', 'triforce_goal_max',
|
||||||
'triforce_goal', 'triforce_pool', 'shufflelinks',
|
'triforce_min_difference', 'triforce_goal',
|
||||||
'shuffletavern', 'skullwoods', 'linked_drops',
|
'triforce_pool', 'shufflelinks', 'shuffletavern',
|
||||||
'pseudoboots', 'mirrorscroll', 'dark_rooms',
|
'skullwoods', 'linked_drops', 'pseudoboots',
|
||||||
'damage_challenge', 'shuffle_damage_table',
|
'mirrorscroll', 'dark_rooms', 'damage_challenge',
|
||||||
'crystal_book', 'extra_keys', 'retro', 'accessibility',
|
'shuffle_damage_table', 'crystal_book', 'extra_keys',
|
||||||
'hints', 'beemizer', 'experimental', 'dungeon_counters',
|
'retro', 'accessibility', 'hints', 'beemizer',
|
||||||
'shufflebosses', 'shuffleenemies', 'enemy_health',
|
'experimental', 'dungeon_counters', 'shufflebosses',
|
||||||
'enemy_damage', 'shufflepots', 'ow_palettes',
|
'shuffleenemies', 'enemy_health', 'enemy_damage',
|
||||||
'uw_palettes', 'sprite', 'triforce_gfx', 'disablemusic',
|
'shufflepots', 'ow_palettes', 'uw_palettes', 'sprite',
|
||||||
'quickswap', 'fastmenu', 'heartcolor', 'heartbeep',
|
'triforce_gfx', 'disablemusic', 'quickswap', 'fastmenu',
|
||||||
'remote_items', 'shopsanity', 'dropshuffle', 'pottery',
|
'heartcolor', 'heartbeep', 'remote_items', 'shopsanity',
|
||||||
'keydropshuffle', 'mixed_travel',
|
'dropshuffle', 'pottery', 'keydropshuffle',
|
||||||
'standardize_palettes', 'code', 'reduce_flashing',
|
'mixed_travel', 'standardize_palettes', 'code',
|
||||||
'shuffle_sfx', 'shuffle_sfxinstruments',
|
'reduce_flashing', 'shuffle_sfx',
|
||||||
'shuffle_songinstruments', 'msu_resume',
|
'shuffle_sfxinstruments', 'shuffle_songinstruments',
|
||||||
'collection_rate', 'colorizepots', 'decoupledoors',
|
'msu_resume', 'collection_rate', 'colorizepots',
|
||||||
'door_type_mode', 'bonk_drops', 'trap_door_mode',
|
'decoupledoors', 'door_type_mode', 'bonk_drops',
|
||||||
'key_logic_algorithm', 'door_self_loops',
|
'trap_door_mode', 'key_logic_algorithm',
|
||||||
'any_enemy_logic', 'aga_randomness', 'money_balance']:
|
'door_self_loops', 'any_enemy_logic', 'aga_randomness',
|
||||||
|
'money_balance']:
|
||||||
value = getattr(defaults, name) if getattr(playerargs, name) is None else getattr(playerargs, name)
|
value = getattr(defaults, name) if getattr(playerargs, name) is None else getattr(playerargs, name)
|
||||||
if player == 1:
|
if player == 1:
|
||||||
setattr(ret, name, {1: value})
|
setattr(ret, name, {1: value})
|
||||||
@@ -274,6 +275,7 @@ def parse_settings():
|
|||||||
"bigkeyshuffle": "none",
|
"bigkeyshuffle": "none",
|
||||||
"prizeshuffle": "none",
|
"prizeshuffle": "none",
|
||||||
"showloot": "never",
|
"showloot": "never",
|
||||||
|
"loothud": "never",
|
||||||
"showmap": "map",
|
"showmap": "map",
|
||||||
"keysanity": False,
|
"keysanity": False,
|
||||||
"door_shuffle": "vanilla",
|
"door_shuffle": "vanilla",
|
||||||
|
|||||||
3
Main.py
3
Main.py
@@ -516,6 +516,7 @@ def init_world(args, fish):
|
|||||||
world.bigkeyshuffle = args.bigkeyshuffle.copy()
|
world.bigkeyshuffle = args.bigkeyshuffle.copy()
|
||||||
world.prizeshuffle = args.prizeshuffle.copy()
|
world.prizeshuffle = args.prizeshuffle.copy()
|
||||||
world.showloot = args.showloot.copy()
|
world.showloot = args.showloot.copy()
|
||||||
|
world.loothud = args.loothud.copy()
|
||||||
world.showmap = args.showmap.copy()
|
world.showmap = args.showmap.copy()
|
||||||
world.bombbag = args.bombbag.copy()
|
world.bombbag = args.bombbag.copy()
|
||||||
world.flute_mode = args.flute_mode.copy()
|
world.flute_mode = args.flute_mode.copy()
|
||||||
@@ -837,6 +838,7 @@ def copy_world(world):
|
|||||||
ret.bigkeyshuffle = world.bigkeyshuffle.copy()
|
ret.bigkeyshuffle = world.bigkeyshuffle.copy()
|
||||||
ret.prizeshuffle = world.prizeshuffle.copy()
|
ret.prizeshuffle = world.prizeshuffle.copy()
|
||||||
ret.showloot = world.showloot.copy()
|
ret.showloot = world.showloot.copy()
|
||||||
|
ret.loothud = world.loothud.copy()
|
||||||
ret.showmap = world.showmap.copy()
|
ret.showmap = world.showmap.copy()
|
||||||
ret.bombbag = world.bombbag.copy()
|
ret.bombbag = world.bombbag.copy()
|
||||||
ret.flute_mode = world.flute_mode.copy()
|
ret.flute_mode = world.flute_mode.copy()
|
||||||
@@ -1070,6 +1072,7 @@ def copy_world_premature(world, player, create_flute_exits=True):
|
|||||||
ret.bigkeyshuffle = world.bigkeyshuffle.copy()
|
ret.bigkeyshuffle = world.bigkeyshuffle.copy()
|
||||||
ret.prizeshuffle = world.prizeshuffle.copy()
|
ret.prizeshuffle = world.prizeshuffle.copy()
|
||||||
ret.showloot = world.showloot.copy()
|
ret.showloot = world.showloot.copy()
|
||||||
|
ret.loothud = world.loothud.copy()
|
||||||
ret.showmap = world.showmap.copy()
|
ret.showmap = world.showmap.copy()
|
||||||
ret.bombbag = world.bombbag.copy()
|
ret.bombbag = world.bombbag.copy()
|
||||||
ret.flute_mode = world.flute_mode.copy()
|
ret.flute_mode = world.flute_mode.copy()
|
||||||
|
|||||||
14
Rom.py
14
Rom.py
@@ -85,7 +85,7 @@ from Utils import int16_as_bytes, int32_as_bytes, local_path, snes_to_pc
|
|||||||
from Versions import DRVersion, GKVersion, ORVersion
|
from Versions import DRVersion, GKVersion, ORVersion
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = 'c4ba2f29976344e33ca1b5901b3073bb'
|
RANDOMIZERBASEHASH = '5fe97f04afd1880f281ec2c27cfabc17'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -1516,6 +1516,18 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
|||||||
rom.write_bytes(0x1CFF08, [0x02, 0x00, 0x00, 0x00])
|
rom.write_bytes(0x1CFF08, [0x02, 0x00, 0x00, 0x00])
|
||||||
rom.write_byte(0x1CFF11, 0x00)
|
rom.write_byte(0x1CFF11, 0x00)
|
||||||
|
|
||||||
|
if world.loothud[player] == 'never':
|
||||||
|
rom.write_byte(0x1CFF12, 0x00)
|
||||||
|
elif world.showloot[player] == 'presence':
|
||||||
|
rom.write_byte(0x1CFF12, 0x01)
|
||||||
|
rom.write_bytes(0x1CFF0E, [0x01, 0x01])
|
||||||
|
elif world.showloot[player] == 'value':
|
||||||
|
rom.write_byte(0x1CFF12, 0x01)
|
||||||
|
rom.write_bytes(0x1CFF0E, [0xFF, 0xFF])
|
||||||
|
elif world.showloot[player] == 'dungeon_value':
|
||||||
|
rom.write_byte(0x1CFF12, 0x01)
|
||||||
|
rom.write_bytes(0x1CFF0E, [0xFF, 0x01])
|
||||||
|
|
||||||
if world.showmap[player] == 'visited':
|
if world.showmap[player] == 'visited':
|
||||||
rom.write_bytes(0x1CFF00, [0x01, 0x00, 0x00, 0x05])
|
rom.write_bytes(0x1CFF00, [0x01, 0x00, 0x00, 0x05])
|
||||||
elif world.showmap[player] == 'map':
|
elif world.showmap[player] == 'map':
|
||||||
|
|||||||
Binary file not shown.
@@ -486,6 +486,14 @@
|
|||||||
"always"
|
"always"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"loothud": {
|
||||||
|
"choices": [
|
||||||
|
"never",
|
||||||
|
"presence",
|
||||||
|
"value",
|
||||||
|
"dungeon_value"
|
||||||
|
]
|
||||||
|
},
|
||||||
"showmap": {
|
"showmap": {
|
||||||
"choices": [
|
"choices": [
|
||||||
"visited",
|
"visited",
|
||||||
|
|||||||
Reference in New Issue
Block a user