smrpgpatchbuilder 6.0.0__tar.gz → 6.2.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-6.0.0/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-6.2.0}/PKG-INFO +1 -1
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/pyproject.toml +1 -1
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +1 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +12 -5
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +67 -38
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/LICENSE +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/MANIFEST.in +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/README.md +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/setup.cfg +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/manage.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/utils/number.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/utils/strings.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/animations/test_animationscripts.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/dialogs/test_formatter.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/monsters/test_ai.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/overworld/test_actionscripts.py +0 -0
- {smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/tests/overworld/test_eventscripts.py +0 -0
|
@@ -7152,13 +7152,16 @@ class A_IncPaletteRow(UsableActionScriptCommand, ActionScriptCommandNoArgs):
|
|
|
7152
7152
|
# branching / jumps
|
|
7153
7153
|
|
|
7154
7154
|
|
|
7155
|
-
class
|
|
7155
|
+
class A_KillAllSubroutineSlots(UsableActionScriptCommand, ActionScriptCommandNoArgs):
|
|
7156
7156
|
"""Kill all three of the NPC's currently-active sub-routines (slots $26,X / $27,X /
|
|
7157
7157
|
$28,X) and zero the slot bytes. Implemented at $C0:D18F as `JSR $C0:E8E2`; the
|
|
7158
|
-
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7158
|
+
helper at $C0:E8E2 iterates the three slots and uses BPL to skip any slot whose
|
|
7159
|
+
bit 7 is already clear (= already inactive). For active slots, it calls $C0:E8FE
|
|
7160
|
+
to deallocate the sub-routine record from the pool at $0103, then zeros the slot
|
|
7161
|
+
byte. Inverse pairing for `A_ToggleSubroutineSlots` (opcode 0x20) when you want
|
|
7162
|
+
to clear all slots in one command.
|
|
7163
|
+
|
|
7164
|
+
Previously named `A_BPL262728` after the LazyShell-style label.
|
|
7162
7165
|
|
|
7163
7166
|
## Lazy Shell command
|
|
7164
7167
|
(not documented in Lazy Shell)
|
|
@@ -7176,6 +7179,10 @@ class A_BPL262728(UsableActionScriptCommand, ActionScriptCommandNoArgs):
|
|
|
7176
7179
|
_opcode = 0x21
|
|
7177
7180
|
|
|
7178
7181
|
|
|
7182
|
+
# Backwards-compat alias for the previous class name.
|
|
7183
|
+
A_BPL262728 = A_KillAllSubroutineSlots
|
|
7184
|
+
|
|
7185
|
+
|
|
7179
7186
|
class A_BMI262728(UsableActionScriptCommand, ActionScriptCommandNoArgs):
|
|
7180
7187
|
"""(ASM instruction, effect unknown)
|
|
7181
7188
|
|
|
@@ -2570,14 +2570,23 @@ class CopyVarToVar(UsableEventScriptCommand, EventScriptCommand):
|
|
|
2570
2570
|
|
|
2571
2571
|
|
|
2572
2572
|
class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand):
|
|
2573
|
-
"""Darken the level background and all NPCs except the
|
|
2574
|
-
in `preserve_rows
|
|
2575
|
-
|
|
2576
|
-
The palette processor at $C0:3AEE walks 8 rows (the OBJ palette set, rows 8-15)
|
|
2577
|
-
and skips any row whose bit is set in the bitmask, leaving only the unmasked rows
|
|
2578
|
-
darkened.
|
|
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:
|
|
2579
2576
|
|
|
2580
|
-
|
|
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:
|
|
2581
2590
|
|
|
2582
2591
|
bit 0 → MARIO_PALETTE (PaletteRow 8 — the player)
|
|
2583
2592
|
bit 1 → NPC_PALETTE_ROW_1 (PaletteRow 9)
|
|
@@ -2588,12 +2597,15 @@ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand
|
|
|
2588
2597
|
bit 6 → NPC_PALETTE_ROW_6 (PaletteRow 14)
|
|
2589
2598
|
bit 7 → NPC_PALETTE_ROW_7 (PaletteRow 15)
|
|
2590
2599
|
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
same delta to keep targeting the same NPCs. `MARIO_PALETTE` does not shift.
|
|
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.
|
|
2595
2603
|
|
|
2596
|
-
|
|
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.
|
|
2597
2609
|
|
|
2598
2610
|
## Lazy Shell command
|
|
2599
2611
|
(not available in Lazy Shell)
|
|
@@ -2605,13 +2617,14 @@ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand
|
|
|
2605
2617
|
5 bytes
|
|
2606
2618
|
|
|
2607
2619
|
Args:
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
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.
|
|
2615
2628
|
identifier (str | None): Give this command a label if you want another
|
|
2616
2629
|
command to jump to it.
|
|
2617
2630
|
"""
|
|
@@ -2619,27 +2632,39 @@ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand
|
|
|
2619
2632
|
_opcode = bytearray([0xFD, 0x8E])
|
|
2620
2633
|
_size: int = 5
|
|
2621
2634
|
_OBJ_PALETTE_BASE = 8 # PaletteRow(8) = MARIO_PALETTE = bit 0 of the mask.
|
|
2622
|
-
|
|
2623
|
-
|
|
2635
|
+
_MAX_FADE_DEPTH = 0x3F # 6-bit field
|
|
2636
|
+
_MAX_DURATION = 0x3FF # 10-bit field
|
|
2637
|
+
_fade_depth: UInt8
|
|
2638
|
+
_duration_frames: UInt16
|
|
2624
2639
|
_preserve_rows: list[PaletteRow]
|
|
2625
2640
|
|
|
2626
2641
|
@property
|
|
2627
|
-
def
|
|
2628
|
-
"""
|
|
2629
|
-
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
|
|
2630
2645
|
|
|
2631
|
-
def
|
|
2632
|
-
"""Set the
|
|
2633
|
-
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)
|
|
2634
2654
|
|
|
2635
2655
|
@property
|
|
2636
|
-
def
|
|
2637
|
-
"""
|
|
2638
|
-
return self.
|
|
2656
|
+
def duration_frames(self) -> UInt16:
|
|
2657
|
+
"""Fade duration in frames, 0-1023."""
|
|
2658
|
+
return self._duration_frames
|
|
2639
2659
|
|
|
2640
|
-
def
|
|
2641
|
-
"""Set the
|
|
2642
|
-
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)
|
|
2643
2668
|
|
|
2644
2669
|
@property
|
|
2645
2670
|
def preserve_rows(self) -> list[PaletteRow]:
|
|
@@ -2677,18 +2702,22 @@ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand
|
|
|
2677
2702
|
|
|
2678
2703
|
def __init__(
|
|
2679
2704
|
self,
|
|
2680
|
-
|
|
2705
|
+
fade_depth: int,
|
|
2706
|
+
duration_frames: int,
|
|
2681
2707
|
preserve_rows: list[PaletteRow | int],
|
|
2682
|
-
filler: int = 0,
|
|
2683
2708
|
identifier: str | None = None,
|
|
2684
2709
|
) -> None:
|
|
2685
2710
|
super().__init__(identifier)
|
|
2686
|
-
self.
|
|
2687
|
-
self.
|
|
2711
|
+
self.set_fade_depth(fade_depth)
|
|
2712
|
+
self.set_duration_frames(duration_frames)
|
|
2688
2713
|
self.set_preserve_rows(preserve_rows)
|
|
2689
2714
|
|
|
2690
2715
|
def render(self, *args) -> bytearray:
|
|
2691
|
-
|
|
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)
|
|
2692
2721
|
|
|
2693
2722
|
|
|
2694
2723
|
class StoreBytesTo0335And0556(UsableEventScriptCommand, EventScriptCommand):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.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
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/battles/music.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
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/enemies/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.0}/src/smrpgpatchbuilder/datatypes/items/classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-6.0.0 → smrpgpatchbuilder-6.2.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
|