smrpgpatchbuilder 5.0.10__tar.gz → 6.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smrpgpatchbuilder-5.0.10/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-6.1.0}/PKG-INFO +1 -1
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/pyproject.toml +1 -1
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +114 -50
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/LICENSE +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/MANIFEST.in +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/README.md +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/setup.cfg +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/manage.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/utils/number.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/utils/strings.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/animations/test_animationscripts.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/dialogs/test_formatter.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/monsters/test_ai.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/overworld/test_actionscripts.py +0 -0
- {smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/tests/overworld/test_eventscripts.py +0 -0
|
@@ -2570,22 +2570,42 @@ class CopyVarToVar(UsableEventScriptCommand, EventScriptCommand):
|
|
|
2570
2570
|
|
|
2571
2571
|
|
|
2572
2572
|
class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand):
|
|
2573
|
-
"""Darken the level background and all NPCs except the palette rows
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2573
|
+
"""Darken the level background and all NPCs except the OBJ palette rows listed
|
|
2574
|
+
in `preserve_rows`, ramping over `duration_frames` frames. The handler at
|
|
2575
|
+
$C0:4FD9 unpacks three bytes:
|
|
2576
|
+
|
|
2577
|
+
byte 2 (offset 0): low 6 bits → fade depth ($318B);
|
|
2578
|
+
high 2 bits → bits 0-1 of duration counter
|
|
2579
|
+
byte 3 (offset 1): bits 2-9 of the duration counter
|
|
2580
|
+
byte 4 (offset 2): 8-bit OBJ palette-row exclusion mask ($003185)
|
|
2581
|
+
|
|
2582
|
+
The two duration-related bytes get combined as a 16-bit load and shifted right
|
|
2583
|
+
by 6, giving a 10-bit duration value written to $318C and $318E. The palette
|
|
2584
|
+
processor at $C0:3A44 decrements $318C each frame and ends the fade when it
|
|
2585
|
+
reaches zero.
|
|
2586
|
+
|
|
2587
|
+
The palette processor at $C0:3AEE walks 8 rows (the OBJ palette set, rows
|
|
2588
|
+
8-15) and skips any row whose bit is set in the exclusion mask, leaving only
|
|
2589
|
+
the unmasked rows darkened. Mask bits correspond to:
|
|
2590
|
+
|
|
2591
|
+
bit 0 → MARIO_PALETTE (PaletteRow 8 — the player)
|
|
2592
|
+
bit 1 → NPC_PALETTE_ROW_1 (PaletteRow 9)
|
|
2593
|
+
bit 2 → NPC_PALETTE_ROW_2 (PaletteRow 10)
|
|
2594
|
+
bit 3 → NPC_PALETTE_ROW_3 (PaletteRow 11)
|
|
2595
|
+
bit 4 → NPC_PALETTE_ROW_4 (PaletteRow 12)
|
|
2596
|
+
bit 5 → NPC_PALETTE_ROW_5 (PaletteRow 13)
|
|
2597
|
+
bit 6 → NPC_PALETTE_ROW_6 (PaletteRow 14)
|
|
2598
|
+
bit 7 → NPC_PALETTE_ROW_7 (PaletteRow 15)
|
|
2599
|
+
|
|
2600
|
+
`fade_depth=50` (0x32) is treated as a sentinel "max" by the processor at
|
|
2601
|
+
$C0:3A4C — when the duration counter expires at this depth, the fade state is
|
|
2602
|
+
cleared completely instead of transitioning into "fade-out completed" mode.
|
|
2603
|
+
|
|
2604
|
+
**Note on ally-buffer growth:** when a room's `ally_sprite_buffer_size`
|
|
2605
|
+
increases (e.g. for non-Mario protagonists with tilemap molds), every NPC
|
|
2606
|
+
palette row shifts by the same delta, so the NPC entries in `preserve_rows`
|
|
2607
|
+
must shift forward by the same delta to keep targeting the same NPCs.
|
|
2608
|
+
`MARIO_PALETTE` does not shift.
|
|
2589
2609
|
|
|
2590
2610
|
## Lazy Shell command
|
|
2591
2611
|
(not available in Lazy Shell)
|
|
@@ -2597,63 +2617,107 @@ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand
|
|
|
2597
2617
|
5 bytes
|
|
2598
2618
|
|
|
2599
2619
|
Args:
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2620
|
+
fade_depth (int): Color-subtraction intensity, 0-63. Higher = darker.
|
|
2621
|
+
Special value 50 (0x32) is the "max depth" sentinel that triggers
|
|
2622
|
+
full state-clear when the fade ends.
|
|
2623
|
+
duration_frames (int): How many frames the fade lasts, 0-1023.
|
|
2624
|
+
preserve_rows (list[PaletteRow]): Palette rows to preserve from the
|
|
2625
|
+
darken effect. Each entry must be `MARIO_PALETTE` or
|
|
2626
|
+
`NPC_PALETTE_ROW_1` through `NPC_PALETTE_ROW_7` (PaletteRow values
|
|
2627
|
+
8-15). Empty list = darken all rows.
|
|
2606
2628
|
identifier (str | None): Give this command a label if you want another
|
|
2607
2629
|
command to jump to it.
|
|
2608
2630
|
"""
|
|
2609
2631
|
|
|
2610
2632
|
_opcode = bytearray([0xFD, 0x8E])
|
|
2611
2633
|
_size: int = 5
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2634
|
+
_OBJ_PALETTE_BASE = 8 # PaletteRow(8) = MARIO_PALETTE = bit 0 of the mask.
|
|
2635
|
+
_MAX_FADE_DEPTH = 0x3F # 6-bit field
|
|
2636
|
+
_MAX_DURATION = 0x3FF # 10-bit field
|
|
2637
|
+
_fade_depth: UInt8
|
|
2638
|
+
_duration_frames: UInt16
|
|
2639
|
+
_preserve_rows: list[PaletteRow]
|
|
2615
2640
|
|
|
2616
2641
|
@property
|
|
2617
|
-
def
|
|
2618
|
-
"""
|
|
2619
|
-
return self.
|
|
2642
|
+
def fade_depth(self) -> UInt8:
|
|
2643
|
+
"""Color-subtraction intensity, 0-63. 50 (0x32) is the max-depth sentinel."""
|
|
2644
|
+
return self._fade_depth
|
|
2620
2645
|
|
|
2621
|
-
def
|
|
2622
|
-
"""Set the
|
|
2623
|
-
self.
|
|
2646
|
+
def set_fade_depth(self, fade_depth: int) -> None:
|
|
2647
|
+
"""Set the fade depth (0-63)."""
|
|
2648
|
+
if not 0 <= fade_depth <= self._MAX_FADE_DEPTH:
|
|
2649
|
+
raise InvalidCommandArgumentException(
|
|
2650
|
+
f"DarkenLayersExceptPaletteRows fade_depth must be 0-{self._MAX_FADE_DEPTH}; "
|
|
2651
|
+
f"got {fade_depth}"
|
|
2652
|
+
)
|
|
2653
|
+
self._fade_depth = UInt8(fade_depth)
|
|
2624
2654
|
|
|
2625
2655
|
@property
|
|
2626
|
-
def
|
|
2627
|
-
"""
|
|
2628
|
-
return self.
|
|
2656
|
+
def duration_frames(self) -> UInt16:
|
|
2657
|
+
"""Fade duration in frames, 0-1023."""
|
|
2658
|
+
return self._duration_frames
|
|
2629
2659
|
|
|
2630
|
-
def
|
|
2631
|
-
"""Set the
|
|
2632
|
-
self.
|
|
2660
|
+
def set_duration_frames(self, duration_frames: int) -> None:
|
|
2661
|
+
"""Set the fade duration in frames (0-1023)."""
|
|
2662
|
+
if not 0 <= duration_frames <= self._MAX_DURATION:
|
|
2663
|
+
raise InvalidCommandArgumentException(
|
|
2664
|
+
f"DarkenLayersExceptPaletteRows duration_frames must be 0-{self._MAX_DURATION}; "
|
|
2665
|
+
f"got {duration_frames}"
|
|
2666
|
+
)
|
|
2667
|
+
self._duration_frames = UInt16(duration_frames)
|
|
2668
|
+
|
|
2669
|
+
@property
|
|
2670
|
+
def preserve_rows(self) -> list[PaletteRow]:
|
|
2671
|
+
"""Palette rows that the fade should preserve. Always sorted ascending."""
|
|
2672
|
+
return sorted(self._preserve_rows)
|
|
2673
|
+
|
|
2674
|
+
def set_preserve_rows(self, preserve_rows: list[PaletteRow | int]) -> None:
|
|
2675
|
+
"""Set the palette rows to preserve. Each entry must be a PaletteRow in
|
|
2676
|
+
the OBJ range (8-15)."""
|
|
2677
|
+
rows: list[PaletteRow] = []
|
|
2678
|
+
seen: set[int] = set()
|
|
2679
|
+
for r in preserve_rows:
|
|
2680
|
+
row = PaletteRow(r)
|
|
2681
|
+
if not (
|
|
2682
|
+
self._OBJ_PALETTE_BASE <= row <= self._OBJ_PALETTE_BASE + 7
|
|
2683
|
+
):
|
|
2684
|
+
raise InvalidCommandArgumentException(
|
|
2685
|
+
f"DarkenLayersExceptPaletteRows preserve_rows entries must be "
|
|
2686
|
+
f"MARIO_PALETTE or NPC_PALETTE_ROW_1 through NPC_PALETTE_ROW_7 "
|
|
2687
|
+
f"(PaletteRow {self._OBJ_PALETTE_BASE} through "
|
|
2688
|
+
f"{self._OBJ_PALETTE_BASE + 7}); got PaletteRow {int(row)}"
|
|
2689
|
+
)
|
|
2690
|
+
if int(row) not in seen:
|
|
2691
|
+
rows.append(row)
|
|
2692
|
+
seen.add(int(row))
|
|
2693
|
+
self._preserve_rows = rows
|
|
2633
2694
|
|
|
2634
2695
|
@property
|
|
2635
2696
|
def preserve_rows_mask(self) -> UInt8:
|
|
2636
|
-
"""8-bit
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
self._preserve_rows_mask = UInt8(preserve_rows_mask)
|
|
2697
|
+
"""The 8-bit bitmask written to $003185 (derived from `preserve_rows`)."""
|
|
2698
|
+
mask = 0
|
|
2699
|
+
for row in self._preserve_rows:
|
|
2700
|
+
mask |= 1 << (int(row) - self._OBJ_PALETTE_BASE)
|
|
2701
|
+
return UInt8(mask)
|
|
2642
2702
|
|
|
2643
2703
|
def __init__(
|
|
2644
2704
|
self,
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2705
|
+
fade_depth: int,
|
|
2706
|
+
duration_frames: int,
|
|
2707
|
+
preserve_rows: list[PaletteRow | int],
|
|
2648
2708
|
identifier: str | None = None,
|
|
2649
2709
|
) -> None:
|
|
2650
2710
|
super().__init__(identifier)
|
|
2651
|
-
self.
|
|
2652
|
-
self.
|
|
2653
|
-
self.
|
|
2711
|
+
self.set_fade_depth(fade_depth)
|
|
2712
|
+
self.set_duration_frames(duration_frames)
|
|
2713
|
+
self.set_preserve_rows(preserve_rows)
|
|
2654
2714
|
|
|
2655
2715
|
def render(self, *args) -> bytearray:
|
|
2656
|
-
|
|
2716
|
+
# The handler reads byte 2 (low 6 bits = depth, high 2 bits = duration[0:2])
|
|
2717
|
+
# and byte 3 (duration[2:10]), so re-pack here.
|
|
2718
|
+
byte_2 = ((self._duration_frames & 0x03) << 6) | (self._fade_depth & 0x3F)
|
|
2719
|
+
byte_3 = (self._duration_frames >> 2) & 0xFF
|
|
2720
|
+
return super().render(UInt8(byte_2), UInt8(byte_3), self.preserve_rows_mask)
|
|
2657
2721
|
|
|
2658
2722
|
|
|
2659
2723
|
class StoreBytesTo0335And0556(UsableEventScriptCommand, EventScriptCommand):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/allies/ally.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.10 → smrpgpatchbuilder-6.1.0}/src/smrpgpatchbuilder/datatypes/items/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|