smrpgpatchbuilder 5.0.1__tar.gz → 5.0.3__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.1/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-5.0.3}/PKG-INFO +1 -1
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/pyproject.toml +1 -1
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +4 -21
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +47 -39
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +16 -16
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/LICENSE +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/MANIFEST.in +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/README.md +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/setup.cfg +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/manage.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/utils/number.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/utils/strings.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/animations/test_animationscripts.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/dialogs/test_formatter.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/monsters/test_ai.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/overworld/test_actionscripts.py +0 -0
- {smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/tests/overworld/test_eventscripts.py +0 -0
|
@@ -335,7 +335,10 @@ class RoomCollection:
|
|
|
335
335
|
# We need ALL signatures here because a signature might appear in a clone group in one room
|
|
336
336
|
# but as a standalone object in another room
|
|
337
337
|
global_fallback_mapping = {}
|
|
338
|
-
for sig in sorted(
|
|
338
|
+
for sig in sorted(
|
|
339
|
+
all_signatures,
|
|
340
|
+
key=lambda t: tuple((0,) if x is None else (1, x) for x in t),
|
|
341
|
+
):
|
|
339
342
|
# Check if this signature was placed via force_id
|
|
340
343
|
if sig in sig_to_forced_index:
|
|
341
344
|
global_fallback_mapping[sig] = sig_to_forced_index[sig]
|
|
@@ -586,12 +589,6 @@ class RoomCollection:
|
|
|
586
589
|
for idx, npc in enumerate(unique_npcs):
|
|
587
590
|
offset = npc_start + (idx * 7)
|
|
588
591
|
patches[offset] = self._render_npc(npc)
|
|
589
|
-
# Debug: find NPCs with dimensions 5/5/10 or 3/3/11
|
|
590
|
-
if (npc.acute_axis == 5 and npc.obtuse_axis == 5 and npc.height == 10) or \
|
|
591
|
-
(npc.acute_axis == 3 and npc.obtuse_axis == 3 and npc.height == 11):
|
|
592
|
-
import sys
|
|
593
|
-
print(f"DEBUG NPC table idx {idx}: sprite_id={npc.sprite_id}, dims={npc.acute_axis}/{npc.obtuse_axis}/{npc.height}")
|
|
594
|
-
sys.stdout.flush()
|
|
595
592
|
|
|
596
593
|
# Fill remaining NPC slots with 0xFF
|
|
597
594
|
# End address depends on whether we're using large partition table
|
|
@@ -837,20 +834,6 @@ class RoomCollection:
|
|
|
837
834
|
|
|
838
835
|
npc_index = sig_to_index[obj_sig]
|
|
839
836
|
|
|
840
|
-
# Debug: trace room 325 NPC 3
|
|
841
|
-
if room_idx == 325 and obj_idx == 3:
|
|
842
|
-
import sys
|
|
843
|
-
print(f"DEBUG Room 325 NPC 3:")
|
|
844
|
-
print(f" obj._npc sprite_id: {obj._npc.sprite_id}")
|
|
845
|
-
print(f" obj._npc dimensions: {obj._npc.acute_axis}/{obj._npc.obtuse_axis}/{obj._npc.height}")
|
|
846
|
-
print(f" room_obj override acute_axis: {obj.acute_axis}")
|
|
847
|
-
print(f" room_obj override obtuse_axis: {obj.obtuse_axis}")
|
|
848
|
-
print(f" room_obj override height: {obj.height}")
|
|
849
|
-
print(f" signature (first 10 elements): {obj_sig[:10]}")
|
|
850
|
-
print(f" signature override portion (elements 21-26): {obj_sig[21:27] if len(obj_sig) > 26 else 'N/A'}")
|
|
851
|
-
print(f" npc_index from lookup: {npc_index}")
|
|
852
|
-
sys.stdout.flush()
|
|
853
|
-
|
|
854
837
|
if isinstance(obj, Clone):
|
|
855
838
|
# Clone: 4 bytes
|
|
856
839
|
# Follows disassembler lines 744-784
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
1
|
from smrpgpatchbuilder.datatypes.numbers.classes import UInt8, UInt16
|
|
4
2
|
|
|
5
3
|
# Constants to avoid circular imports
|
|
@@ -20,7 +18,7 @@ class Packet:
|
|
|
20
18
|
|
|
21
19
|
Structure (5 bytes total at 0x1DB000 + packet_id * 5):
|
|
22
20
|
- Byte 0: sprite (bits 0-5), b0 (bits 6-7)
|
|
23
|
-
- Byte 1:
|
|
21
|
+
- Byte 1: vram_size (bits 0-2), sprite_priority (bits 3-4), layer_priority (bits 5-7)
|
|
24
22
|
- Byte 2: bits 0-1 unused, b2b2 (bit 2), b2b3 (bit 3), b2b4 (bit 4), show_shadow (bit 5), b2 (bits 6-7)
|
|
25
23
|
- Bytes 3-4: action_script_id (bits 0-9), b4 (byte 4 bits 4-7)
|
|
26
24
|
|
|
@@ -30,9 +28,9 @@ class Packet:
|
|
|
30
28
|
_packet_id: UInt8 = UInt8(0)
|
|
31
29
|
_sprite_id: UInt16 = UInt16(PACKET_SPRITE_BASE) # Sprite ID (any valid sprite)
|
|
32
30
|
_b0: UInt8 = UInt8(0) # B0,b6-7: bits 6-7 of byte 0 (0-3)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
_vram_size: UInt8 = UInt8(0) # B1,b0-2: bits 0-2 of byte 1 (0-7)
|
|
32
|
+
_sprite_priority: UInt8 = UInt8(0) # B1,b3-4: bits 3-4 of byte 1 (0-3)
|
|
33
|
+
_layer_priority: UInt8 = UInt8(0) # B1,b5-7: bits 5-7 of byte 1 (0-7)
|
|
36
34
|
_b2b2: bool = False # B2,b2: bit 2 of byte 2
|
|
37
35
|
_b2b3: bool = False # B2,b3: bit 3 of byte 2
|
|
38
36
|
_b2b4: bool = False # B2,b4: bit 4 of byte 2
|
|
@@ -55,8 +53,9 @@ class Packet:
|
|
|
55
53
|
"""Set the sprite ID for the packet.
|
|
56
54
|
Any valid sprite ID (0-1023) is accepted. During render(), only the
|
|
57
55
|
lower 6 bits are used, so sprites are effectively grouped in ranges of 64."""
|
|
58
|
-
assert
|
|
59
|
-
|
|
56
|
+
assert (
|
|
57
|
+
0 <= sprite_id < TOTAL_SPRITES
|
|
58
|
+
), f"sprite_id must be 0-{TOTAL_SPRITES-1}, got {sprite_id}"
|
|
60
59
|
self._sprite_id = UInt16(sprite_id)
|
|
61
60
|
|
|
62
61
|
@property
|
|
@@ -70,34 +69,38 @@ class Packet:
|
|
|
70
69
|
self._b0 = UInt8(b0)
|
|
71
70
|
|
|
72
71
|
@property
|
|
73
|
-
def
|
|
72
|
+
def vram_size(self) -> UInt8:
|
|
74
73
|
"""B1,b0-2: bits 0-2 of byte 1 (0-7)."""
|
|
75
|
-
return self.
|
|
74
|
+
return self._vram_size
|
|
76
75
|
|
|
77
|
-
def
|
|
76
|
+
def _set_vram_size(self, vram_size: int) -> None:
|
|
78
77
|
"""Set B1,b0-2 (0-7)."""
|
|
79
|
-
assert 0 <=
|
|
80
|
-
self.
|
|
78
|
+
assert 0 <= vram_size <= 7, f"vram_size must be 0-7, got {vram_size}"
|
|
79
|
+
self._vram_size = UInt8(vram_size)
|
|
81
80
|
|
|
82
81
|
@property
|
|
83
|
-
def
|
|
82
|
+
def sprite_priority(self) -> UInt8:
|
|
84
83
|
"""B1,b3-4: bits 3-4 of byte 1 (0-3)."""
|
|
85
|
-
return self.
|
|
84
|
+
return self._sprite_priority
|
|
86
85
|
|
|
87
|
-
def
|
|
86
|
+
def _set_sprite_priority(self, sprite_priority: int) -> None:
|
|
88
87
|
"""Set B1,b3-4 (0-3)."""
|
|
89
|
-
assert
|
|
90
|
-
|
|
88
|
+
assert (
|
|
89
|
+
0 <= sprite_priority <= 3
|
|
90
|
+
), f"sprite_priority must be 0-3, got {sprite_priority}"
|
|
91
|
+
self._sprite_priority = UInt8(sprite_priority)
|
|
91
92
|
|
|
92
93
|
@property
|
|
93
|
-
def
|
|
94
|
+
def layer_priority(self) -> UInt8:
|
|
94
95
|
"""B1,b5-7: bits 5-7 of byte 1 (0-7)."""
|
|
95
|
-
return self.
|
|
96
|
+
return self._layer_priority
|
|
96
97
|
|
|
97
|
-
def
|
|
98
|
+
def _set_layer_priority(self, layer_priority: int) -> None:
|
|
98
99
|
"""Set B1,b5-7 (0-7)."""
|
|
99
|
-
assert
|
|
100
|
-
|
|
100
|
+
assert (
|
|
101
|
+
0 <= layer_priority <= 7
|
|
102
|
+
), f"layer_priority must be 0-7, got {layer_priority}"
|
|
103
|
+
self._layer_priority = UInt8(layer_priority)
|
|
101
104
|
|
|
102
105
|
@property
|
|
103
106
|
def b2b2(self) -> bool:
|
|
@@ -153,8 +156,9 @@ class Packet:
|
|
|
153
156
|
def _set_action_script_id(self, action_script_id: int) -> None:
|
|
154
157
|
"""Set the action script for this packet to run when spawned.
|
|
155
158
|
It is recommended to use action script ID constant names for this."""
|
|
156
|
-
assert
|
|
157
|
-
|
|
159
|
+
assert (
|
|
160
|
+
0 <= action_script_id <= 1023
|
|
161
|
+
), f"action_script_id must be 0-1023, got {action_script_id}"
|
|
158
162
|
self._action_script_id = UInt16(action_script_id)
|
|
159
163
|
|
|
160
164
|
@property
|
|
@@ -173,9 +177,9 @@ class Packet:
|
|
|
173
177
|
sprite_id: int = PACKET_SPRITE_BASE,
|
|
174
178
|
action_script_id: int = 0,
|
|
175
179
|
b0: int = 0,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
vram_size: int = 0,
|
|
181
|
+
sprite_priority: int = 0,
|
|
182
|
+
layer_priority: int = 0,
|
|
179
183
|
b2b2: bool = False,
|
|
180
184
|
b2b3: bool = False,
|
|
181
185
|
b2b4: bool = False,
|
|
@@ -187,9 +191,9 @@ class Packet:
|
|
|
187
191
|
self._set_sprite_id(sprite_id)
|
|
188
192
|
self._set_action_script_id(action_script_id)
|
|
189
193
|
self._set_b0(b0)
|
|
190
|
-
self.
|
|
191
|
-
self.
|
|
192
|
-
self.
|
|
194
|
+
self._set_vram_size(vram_size)
|
|
195
|
+
self._set_sprite_priority(sprite_priority)
|
|
196
|
+
self._set_layer_priority(layer_priority)
|
|
193
197
|
self._set_b2b2(b2b2)
|
|
194
198
|
self._set_b2b3(b2b3)
|
|
195
199
|
self._set_b2b4(b2b4)
|
|
@@ -202,7 +206,7 @@ class Packet:
|
|
|
202
206
|
|
|
203
207
|
Structure:
|
|
204
208
|
- Byte 0: sprite offset (bits 0-5) | b0 (bits 6-7)
|
|
205
|
-
- Byte 1:
|
|
209
|
+
- Byte 1: vram_size (bits 0-2) | sprite_priority (bits 3-4) | layer_priority (bits 5-7)
|
|
206
210
|
- Byte 2: b2b2 (bit 2) | b2b3 (bit 3) | b2b4 (bit 4) | show_shadow (bit 5) | b2 (bits 6-7)
|
|
207
211
|
- Byte 3: action_script_id low byte
|
|
208
212
|
- Byte 4: action_script_id high bits (bits 0-1) | b4 (bits 4-7)
|
|
@@ -214,16 +218,20 @@ class Packet:
|
|
|
214
218
|
sprite_offset = self.sprite_id & 0x3F
|
|
215
219
|
output[0] = sprite_offset | (self.b0 << 6)
|
|
216
220
|
|
|
217
|
-
# Byte 1:
|
|
218
|
-
output[1] = (
|
|
221
|
+
# Byte 1: vram_size (bits 0-2), sprite_priority (bits 3-4), layer_priority (bits 5-7)
|
|
222
|
+
output[1] = (
|
|
223
|
+
(self.vram_size & 0x07)
|
|
224
|
+
| ((self.sprite_priority & 0x03) << 3)
|
|
225
|
+
| ((self.layer_priority & 0x07) << 5)
|
|
226
|
+
)
|
|
219
227
|
|
|
220
228
|
# Byte 2: b2b2 (bit 2), b2b3 (bit 3), b2b4 (bit 4), show_shadow (bit 5), b2 (bits 6-7)
|
|
221
229
|
output[2] = (
|
|
222
|
-
((1 if self.b2b2 else 0) << 2)
|
|
223
|
-
((1 if self.b2b3 else 0) << 3)
|
|
224
|
-
((1 if self.b2b4 else 0) << 4)
|
|
225
|
-
((1 if self.show_shadow else 0) << 5)
|
|
226
|
-
((self.b2 & 0x03) << 6)
|
|
230
|
+
((1 if self.b2b2 else 0) << 2)
|
|
231
|
+
| ((1 if self.b2b3 else 0) << 3)
|
|
232
|
+
| ((1 if self.b2b4 else 0) << 4)
|
|
233
|
+
| ((1 if self.show_shadow else 0) << 5)
|
|
234
|
+
| ((self.b2 & 0x03) << 6)
|
|
227
235
|
)
|
|
228
236
|
|
|
229
237
|
# Byte 3: action_script_id low 8 bits
|
|
@@ -1098,7 +1098,7 @@ class Command(BaseCommand):
|
|
|
1098
1098
|
cls = "SetAMEM8BitToConst"
|
|
1099
1099
|
args["value"] = str(shortify(cmd, 2))
|
|
1100
1100
|
elif byte2 == 0x10:
|
|
1101
|
-
cls = "
|
|
1101
|
+
cls = "SetAMEM8BitToAbsolute7E"
|
|
1102
1102
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1103
1103
|
elif byte2 == 0x20:
|
|
1104
1104
|
cls = "SetAMEM8BitTo7F"
|
|
@@ -1134,7 +1134,7 @@ class Command(BaseCommand):
|
|
|
1134
1134
|
cls = "SetAMEM16BitToConst"
|
|
1135
1135
|
args["value"] = str(shortify(cmd, 2))
|
|
1136
1136
|
elif byte2 == 0x10:
|
|
1137
|
-
cls = "
|
|
1137
|
+
cls = "SetAMEM16BitToAbsolute7E"
|
|
1138
1138
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1139
1139
|
elif byte2 == 0x20:
|
|
1140
1140
|
cls = "SetAMEM16BitTo7F"
|
|
@@ -1166,7 +1166,7 @@ class Command(BaseCommand):
|
|
|
1166
1166
|
raise Exception("invalid amem shift type: %r" % command)
|
|
1167
1167
|
elif opcode == 0x22:
|
|
1168
1168
|
if byte2 == 0x10:
|
|
1169
|
-
cls = "
|
|
1169
|
+
cls = "SetAbsolute7EToAMEM8Bit"
|
|
1170
1170
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1171
1171
|
elif byte2 == 0x20:
|
|
1172
1172
|
cls = "Set7FToAMEM8Bit"
|
|
@@ -1199,7 +1199,7 @@ class Command(BaseCommand):
|
|
|
1199
1199
|
args["amem"] = f"0x{((cmd[1] & 0x0F) + 0x60):02X}"
|
|
1200
1200
|
elif opcode == 0x23:
|
|
1201
1201
|
if byte2 == 0x10:
|
|
1202
|
-
cls = "
|
|
1202
|
+
cls = "SetAbsolute7EToAMEM16Bit"
|
|
1203
1203
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1204
1204
|
elif byte2 == 0x20:
|
|
1205
1205
|
cls = "Set7FToAMEM16Bit"
|
|
@@ -1236,7 +1236,7 @@ class Command(BaseCommand):
|
|
|
1236
1236
|
cls = "JmpIfAMEM8BitEqualsConst"
|
|
1237
1237
|
args["value"] = str(shortify(cmd, 2))
|
|
1238
1238
|
elif byte2 == 0x10:
|
|
1239
|
-
cls = "
|
|
1239
|
+
cls = "JmpIfAMEM8BitEqualsAbsolute7E"
|
|
1240
1240
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1241
1241
|
elif byte2 == 0x20:
|
|
1242
1242
|
cls = "JmpIfAMEM8BitEquals7F"
|
|
@@ -1271,7 +1271,7 @@ class Command(BaseCommand):
|
|
|
1271
1271
|
cls = "JmpIfAMEM16BitEqualsConst"
|
|
1272
1272
|
args["value"] = str(shortify(cmd, 2))
|
|
1273
1273
|
elif byte2 == 0x10:
|
|
1274
|
-
cls = "
|
|
1274
|
+
cls = "JmpIfAMEM16BitEqualsAbsolute7E"
|
|
1275
1275
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1276
1276
|
elif byte2 == 0x20:
|
|
1277
1277
|
cls = "JmpIfAMEM16BitEquals7F"
|
|
@@ -1308,7 +1308,7 @@ class Command(BaseCommand):
|
|
|
1308
1308
|
cls = "JmpIfAMEM8BitNotEqualsConst"
|
|
1309
1309
|
args["value"] = str(shortify(cmd, 2))
|
|
1310
1310
|
elif byte2 == 0x10:
|
|
1311
|
-
cls = "
|
|
1311
|
+
cls = "JmpIfAMEM8BitNotEqualsAbsolute7E"
|
|
1312
1312
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1313
1313
|
elif byte2 == 0x20:
|
|
1314
1314
|
cls = "JmpIfAMEM8BitNotEquals7F"
|
|
@@ -1345,7 +1345,7 @@ class Command(BaseCommand):
|
|
|
1345
1345
|
cls = "JmpIfAMEM16BitNotEqualsConst"
|
|
1346
1346
|
args["value"] = str(shortify(cmd, 2))
|
|
1347
1347
|
elif byte2 == 0x10:
|
|
1348
|
-
cls = "
|
|
1348
|
+
cls = "JmpIfAMEM16BitNotEqualsAbsolute7E"
|
|
1349
1349
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1350
1350
|
elif byte2 == 0x20:
|
|
1351
1351
|
cls = "JmpIfAMEM16BitNotEquals7F"
|
|
@@ -1382,7 +1382,7 @@ class Command(BaseCommand):
|
|
|
1382
1382
|
cls = "JmpIfAMEM8BitLessThanConst"
|
|
1383
1383
|
args["value"] = str(shortify(cmd, 2))
|
|
1384
1384
|
elif byte2 == 0x10:
|
|
1385
|
-
cls = "
|
|
1385
|
+
cls = "JmpIfAMEM8BitLessThanAbsolute7E"
|
|
1386
1386
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1387
1387
|
elif byte2 == 0x20:
|
|
1388
1388
|
cls = "JmpIfAMEM8BitLessThan7F"
|
|
@@ -1419,7 +1419,7 @@ class Command(BaseCommand):
|
|
|
1419
1419
|
cls = "JmpIfAMEM16BitLessThanConst"
|
|
1420
1420
|
args["value"] = str(shortify(cmd, 2))
|
|
1421
1421
|
elif byte2 == 0x10:
|
|
1422
|
-
cls = "
|
|
1422
|
+
cls = "JmpIfAMEM16BitLessThanAbsolute7E"
|
|
1423
1423
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1424
1424
|
elif byte2 == 0x20:
|
|
1425
1425
|
cls = "JmpIfAMEM16BitLessThan7F"
|
|
@@ -1456,7 +1456,7 @@ class Command(BaseCommand):
|
|
|
1456
1456
|
cls = "JmpIfAMEM8BitGreaterOrEqualThanConst"
|
|
1457
1457
|
args["value"] = str(shortify(cmd, 2))
|
|
1458
1458
|
elif byte2 == 0x10:
|
|
1459
|
-
cls = "
|
|
1459
|
+
cls = "JmpIfAMEM8BitGreaterOrEqualThanAbsolute7E"
|
|
1460
1460
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1461
1461
|
elif byte2 == 0x20:
|
|
1462
1462
|
cls = "JmpIfAMEM8BitGreaterOrEqualThan7F"
|
|
@@ -1493,7 +1493,7 @@ class Command(BaseCommand):
|
|
|
1493
1493
|
cls = "JmpIfAMEM16BitGreaterOrEqualThanConst"
|
|
1494
1494
|
args["value"] = str(shortify(cmd, 2))
|
|
1495
1495
|
elif byte2 == 0x10:
|
|
1496
|
-
cls = "
|
|
1496
|
+
cls = "JmpIfAMEM16BitGreaterOrEqualThanAbsolute7E"
|
|
1497
1497
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1498
1498
|
elif byte2 == 0x20:
|
|
1499
1499
|
cls = "JmpIfAMEM16BitGreaterOrEqualThan7F"
|
|
@@ -1530,7 +1530,7 @@ class Command(BaseCommand):
|
|
|
1530
1530
|
cls = "IncAMEM8BitByConst"
|
|
1531
1531
|
args["value"] = str(shortify(cmd, 2))
|
|
1532
1532
|
elif byte2 == 0x10:
|
|
1533
|
-
cls = "
|
|
1533
|
+
cls = "IncAMEM8BitByAbsolute7E"
|
|
1534
1534
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1535
1535
|
elif byte2 == 0x20:
|
|
1536
1536
|
cls = "IncAMEM8BitBy7F"
|
|
@@ -1566,7 +1566,7 @@ class Command(BaseCommand):
|
|
|
1566
1566
|
cls = "IncAMEM16BitByConst"
|
|
1567
1567
|
args["value"] = str(shortify(cmd, 2))
|
|
1568
1568
|
elif byte2 == 0x10:
|
|
1569
|
-
cls = "
|
|
1569
|
+
cls = "IncAMEM16BitByAbsolute7E"
|
|
1570
1570
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1571
1571
|
elif byte2 == 0x20:
|
|
1572
1572
|
cls = "IncAMEM16BitBy7F"
|
|
@@ -1602,7 +1602,7 @@ class Command(BaseCommand):
|
|
|
1602
1602
|
cls = "DecAMEM8BitByConst"
|
|
1603
1603
|
args["value"] = str(shortify(cmd, 2))
|
|
1604
1604
|
elif byte2 == 0x10:
|
|
1605
|
-
cls = "
|
|
1605
|
+
cls = "DecAMEM8BitByAbsolute7E"
|
|
1606
1606
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1607
1607
|
elif byte2 == 0x20:
|
|
1608
1608
|
cls = "DecAMEM8BitBy7F"
|
|
@@ -1638,7 +1638,7 @@ class Command(BaseCommand):
|
|
|
1638
1638
|
cls = "DecAMEM16BitByConst"
|
|
1639
1639
|
args["value"] = str(shortify(cmd, 2))
|
|
1640
1640
|
elif byte2 == 0x10:
|
|
1641
|
-
cls = "
|
|
1641
|
+
cls = "DecAMEM16BitByAbsolute7E"
|
|
1642
1642
|
args["address"] = f"0x7E{shortify(cmd, 2):04X}"
|
|
1643
1643
|
elif byte2 == 0x20:
|
|
1644
1644
|
cls = "DecAMEM16BitBy7F"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/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-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/battles/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/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-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/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-5.0.1 → smrpgpatchbuilder-5.0.3}/src/smrpgpatchbuilder/datatypes/items/classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-5.0.1 → smrpgpatchbuilder-5.0.3}/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
|