smrpgpatchbuilder 7.0.0__tar.gz → 7.1.1__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-7.0.0/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-7.1.1}/PKG-INFO +1 -1
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/pyproject.toml +1 -1
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +129 -131
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +21 -8
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/LICENSE +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/MANIFEST.in +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/README.md +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/setup.cfg +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/_vanilla_block.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/constants.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/lz3.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/manage.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/number.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/strings.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/animations/test_animationscripts.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/dialogs/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/dialogs/test_formatter.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/levels/__init__.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/levels/test_room_collection.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/minecart/test_minecart.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/monsters/test_ai.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/overworld/test_actionscripts.py +0 -0
- {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/tests/overworld/test_eventscripts.py +0 -0
|
@@ -24,6 +24,127 @@ ENEMY_POINTER_TABLE_ADDRESS = 0x390026
|
|
|
24
24
|
REWARD_POINTER_TABLE_ADDRESS = 0x39142A
|
|
25
25
|
REWARD_DATA_BANK = 0x390000 # bank for reward data pointers
|
|
26
26
|
|
|
27
|
+
# Character encoding for battle text (psychopath messages) -- NO word compression,
|
|
28
|
+
# unlike overworld dialogs. Maps to the byte values SMRPG's battle text renderer
|
|
29
|
+
# expects, which is the DIALOGUE font (0x37C000), glyph index = code - 0x20.
|
|
30
|
+
#
|
|
31
|
+
# This table is VANILLA ONLY. It deliberately does not name the font's blank slots
|
|
32
|
+
# (codes 0x7B-0x8D), which the base game never draws. A romhack that paints its own
|
|
33
|
+
# glyphs into those slots owns them: emit the code as a raw ``chr()`` and
|
|
34
|
+
# ``encode_battle_text`` passes it straight through (see its ``ord()`` fallback,
|
|
35
|
+
# valid for 32-156). Do not add hack-specific glyph names here.
|
|
36
|
+
BATTLE_CHAR_MAP: dict[str, int] = {
|
|
37
|
+
# Control characters
|
|
38
|
+
"\n": 0x01,
|
|
39
|
+
# Standard ASCII characters that map directly
|
|
40
|
+
" ": 32,
|
|
41
|
+
"!": 33,
|
|
42
|
+
"(": 40,
|
|
43
|
+
")": 41,
|
|
44
|
+
",": 44,
|
|
45
|
+
"-": 45,
|
|
46
|
+
".": 46,
|
|
47
|
+
"/": 47,
|
|
48
|
+
"0": 48,
|
|
49
|
+
"1": 49,
|
|
50
|
+
"2": 50,
|
|
51
|
+
"3": 51,
|
|
52
|
+
"4": 52,
|
|
53
|
+
"5": 53,
|
|
54
|
+
"6": 54,
|
|
55
|
+
"7": 55,
|
|
56
|
+
"8": 56,
|
|
57
|
+
"9": 57,
|
|
58
|
+
"?": 63,
|
|
59
|
+
"A": 65,
|
|
60
|
+
"B": 66,
|
|
61
|
+
"C": 67,
|
|
62
|
+
"D": 68,
|
|
63
|
+
"E": 69,
|
|
64
|
+
"F": 70,
|
|
65
|
+
"G": 71,
|
|
66
|
+
"H": 72,
|
|
67
|
+
"I": 73,
|
|
68
|
+
"J": 74,
|
|
69
|
+
"K": 75,
|
|
70
|
+
"L": 76,
|
|
71
|
+
"M": 77,
|
|
72
|
+
"N": 78,
|
|
73
|
+
"O": 79,
|
|
74
|
+
"P": 80,
|
|
75
|
+
"Q": 81,
|
|
76
|
+
"R": 82,
|
|
77
|
+
"S": 83,
|
|
78
|
+
"T": 84,
|
|
79
|
+
"U": 85,
|
|
80
|
+
"V": 86,
|
|
81
|
+
"W": 87,
|
|
82
|
+
"X": 88,
|
|
83
|
+
"Y": 89,
|
|
84
|
+
"Z": 90,
|
|
85
|
+
"a": 97,
|
|
86
|
+
"b": 98,
|
|
87
|
+
"c": 99,
|
|
88
|
+
"d": 100,
|
|
89
|
+
"e": 101,
|
|
90
|
+
"f": 102,
|
|
91
|
+
"g": 103,
|
|
92
|
+
"h": 104,
|
|
93
|
+
"i": 105,
|
|
94
|
+
"j": 106,
|
|
95
|
+
"k": 107,
|
|
96
|
+
"l": 108,
|
|
97
|
+
"m": 109,
|
|
98
|
+
"n": 110,
|
|
99
|
+
"o": 111,
|
|
100
|
+
"p": 112,
|
|
101
|
+
"q": 113,
|
|
102
|
+
"r": 114,
|
|
103
|
+
"s": 115,
|
|
104
|
+
"t": 116,
|
|
105
|
+
"u": 117,
|
|
106
|
+
"v": 118,
|
|
107
|
+
"w": 119,
|
|
108
|
+
"x": 120,
|
|
109
|
+
"y": 121,
|
|
110
|
+
"z": 122,
|
|
111
|
+
# Quote characters (remapped from ASCII)
|
|
112
|
+
'"': 34, # Opening double quote (ASCII " is 34)
|
|
113
|
+
""": 34, # Curly opening double quote
|
|
114
|
+
""": 35, # Curly closing double quote
|
|
115
|
+
"'": 39, # ASCII apostrophe -> closing single quote
|
|
116
|
+
"\u2018": 38, # Curly opening single quote
|
|
117
|
+
"\u2019": 39, # Curly closing single quote
|
|
118
|
+
# Special symbols
|
|
119
|
+
"♥": 36,
|
|
120
|
+
"♪": 37,
|
|
121
|
+
"•": 42,
|
|
122
|
+
"··": 43, # Note: •• handled specially below
|
|
123
|
+
"~": 58,
|
|
124
|
+
"「": 59,
|
|
125
|
+
"」": 60,
|
|
126
|
+
"『": 61,
|
|
127
|
+
"』": 62,
|
|
128
|
+
"©": 64,
|
|
129
|
+
# Punctuation remapped to higher values
|
|
130
|
+
":": 142,
|
|
131
|
+
";": 143,
|
|
132
|
+
"<": 144,
|
|
133
|
+
">": 145,
|
|
134
|
+
"…": 146,
|
|
135
|
+
"···": 146, # Ellipsis
|
|
136
|
+
"#": 147,
|
|
137
|
+
"+": 148,
|
|
138
|
+
"×": 149,
|
|
139
|
+
"%": 150,
|
|
140
|
+
"↑": 151,
|
|
141
|
+
"→": 152,
|
|
142
|
+
"←": 153,
|
|
143
|
+
"*": 154,
|
|
144
|
+
"&": 156,
|
|
145
|
+
"[await]": 0x02,
|
|
146
|
+
}
|
|
147
|
+
|
|
27
148
|
# psychopath message addresses
|
|
28
149
|
PSYCHOPATH_POINTER_ADDRESS = 0x399FD1
|
|
29
150
|
PSYCHOPATH_DATA_START = 0x39A1D1
|
|
@@ -693,136 +814,16 @@ class EnemyCollection:
|
|
|
693
814
|
)
|
|
694
815
|
|
|
695
816
|
# now handle psychopath messages
|
|
696
|
-
# Battle dialog character encoding (NO word compression like overworld dialogs)
|
|
697
|
-
# These byte values are specific to SMRPG's battle text rendering
|
|
698
|
-
BATTLE_CHAR_MAP: dict[str, int] = {
|
|
699
|
-
# Control characters
|
|
700
|
-
"\n": 0x01,
|
|
701
|
-
# Standard ASCII characters that map directly
|
|
702
|
-
" ": 32,
|
|
703
|
-
"!": 33,
|
|
704
|
-
"(": 40,
|
|
705
|
-
")": 41,
|
|
706
|
-
",": 44,
|
|
707
|
-
"-": 45,
|
|
708
|
-
".": 46,
|
|
709
|
-
"/": 47,
|
|
710
|
-
"0": 48,
|
|
711
|
-
"1": 49,
|
|
712
|
-
"2": 50,
|
|
713
|
-
"3": 51,
|
|
714
|
-
"4": 52,
|
|
715
|
-
"5": 53,
|
|
716
|
-
"6": 54,
|
|
717
|
-
"7": 55,
|
|
718
|
-
"8": 56,
|
|
719
|
-
"9": 57,
|
|
720
|
-
"?": 63,
|
|
721
|
-
"A": 65,
|
|
722
|
-
"B": 66,
|
|
723
|
-
"C": 67,
|
|
724
|
-
"D": 68,
|
|
725
|
-
"E": 69,
|
|
726
|
-
"F": 70,
|
|
727
|
-
"G": 71,
|
|
728
|
-
"H": 72,
|
|
729
|
-
"I": 73,
|
|
730
|
-
"J": 74,
|
|
731
|
-
"K": 75,
|
|
732
|
-
"L": 76,
|
|
733
|
-
"M": 77,
|
|
734
|
-
"N": 78,
|
|
735
|
-
"O": 79,
|
|
736
|
-
"P": 80,
|
|
737
|
-
"Q": 81,
|
|
738
|
-
"R": 82,
|
|
739
|
-
"S": 83,
|
|
740
|
-
"T": 84,
|
|
741
|
-
"U": 85,
|
|
742
|
-
"V": 86,
|
|
743
|
-
"W": 87,
|
|
744
|
-
"X": 88,
|
|
745
|
-
"Y": 89,
|
|
746
|
-
"Z": 90,
|
|
747
|
-
"a": 97,
|
|
748
|
-
"b": 98,
|
|
749
|
-
"c": 99,
|
|
750
|
-
"d": 100,
|
|
751
|
-
"e": 101,
|
|
752
|
-
"f": 102,
|
|
753
|
-
"g": 103,
|
|
754
|
-
"h": 104,
|
|
755
|
-
"i": 105,
|
|
756
|
-
"j": 106,
|
|
757
|
-
"k": 107,
|
|
758
|
-
"l": 108,
|
|
759
|
-
"m": 109,
|
|
760
|
-
"n": 110,
|
|
761
|
-
"o": 111,
|
|
762
|
-
"p": 112,
|
|
763
|
-
"q": 113,
|
|
764
|
-
"r": 114,
|
|
765
|
-
"s": 115,
|
|
766
|
-
"t": 116,
|
|
767
|
-
"u": 117,
|
|
768
|
-
"v": 118,
|
|
769
|
-
"w": 119,
|
|
770
|
-
"x": 120,
|
|
771
|
-
"y": 121,
|
|
772
|
-
"z": 122,
|
|
773
|
-
# Quote characters (remapped from ASCII)
|
|
774
|
-
'"': 34, # Opening double quote (ASCII " is 34)
|
|
775
|
-
""": 34, # Curly opening double quote
|
|
776
|
-
""": 35, # Curly closing double quote
|
|
777
|
-
"'": 39, # ASCII apostrophe -> closing single quote
|
|
778
|
-
"\u2018": 38, # Curly opening single quote
|
|
779
|
-
"\u2019": 39, # Curly closing single quote
|
|
780
|
-
# Special symbols
|
|
781
|
-
"♥": 36,
|
|
782
|
-
"♪": 37,
|
|
783
|
-
"•": 42,
|
|
784
|
-
"··": 43, # Note: •• handled specially below
|
|
785
|
-
"~": 58,
|
|
786
|
-
"「": 59,
|
|
787
|
-
"」": 60,
|
|
788
|
-
"『": 61,
|
|
789
|
-
"』": 62,
|
|
790
|
-
"©": 64,
|
|
791
|
-
# Elemental/status symbols for psychopath messages
|
|
792
|
-
"{": 123, # Weakness symbol
|
|
793
|
-
"|": 124, # Resistance symbol
|
|
794
|
-
"}": 125, # Ice symbol (repurposed from ASCII })
|
|
795
|
-
"~ice~": 125,
|
|
796
|
-
"~fire~": 126,
|
|
797
|
-
"~thunder~": 127,
|
|
798
|
-
"~sleep~": 128,
|
|
799
|
-
"~fear~": 129,
|
|
800
|
-
"~mute~": 130,
|
|
801
|
-
"~poison~": 131,
|
|
802
|
-
"~ohko~": 132,
|
|
803
|
-
"~jump~": 133,
|
|
804
|
-
"~empty~": 141, # Invisible placeholder (same width as element symbols)
|
|
805
|
-
# Punctuation remapped to higher values
|
|
806
|
-
":": 142,
|
|
807
|
-
";": 143,
|
|
808
|
-
"<": 144,
|
|
809
|
-
">": 145,
|
|
810
|
-
"…": 146,
|
|
811
|
-
"···": 146, # Ellipsis
|
|
812
|
-
"#": 147,
|
|
813
|
-
"+": 148,
|
|
814
|
-
"×": 149,
|
|
815
|
-
"%": 150,
|
|
816
|
-
"↑": 151,
|
|
817
|
-
"→": 152,
|
|
818
|
-
"←": 153,
|
|
819
|
-
"*": 154,
|
|
820
|
-
"&": 156,
|
|
821
|
-
"[await]": 0x02,
|
|
822
|
-
}
|
|
823
817
|
|
|
824
818
|
def encode_battle_text(text: str) -> bytearray:
|
|
825
|
-
"""Encode text for battle dialogs/psychopath messages (no word compression).
|
|
819
|
+
"""Encode text for battle dialogs/psychopath messages (no word compression).
|
|
820
|
+
|
|
821
|
+
Anything not named in ``BATTLE_CHAR_MAP`` falls through to its ordinal
|
|
822
|
+
(32-156), which is the extension point for romhacks: paint a glyph into
|
|
823
|
+
one of the dialogue font's blank slots and emit its code as a raw
|
|
824
|
+
``chr()``. Callers own whatever they put there, including trimming any
|
|
825
|
+
padding/placeholder codes off the end -- this function does not.
|
|
826
|
+
"""
|
|
826
827
|
result = bytearray()
|
|
827
828
|
i = 0
|
|
828
829
|
while i < len(text):
|
|
@@ -841,9 +842,6 @@ class EnemyCollection:
|
|
|
841
842
|
if 32 <= char_ord <= 156:
|
|
842
843
|
result.append(char_ord)
|
|
843
844
|
i += 1
|
|
844
|
-
# Trim trailing empty placeholders (141 = 0x8D)
|
|
845
|
-
while result and result[-1] == 141:
|
|
846
|
-
result.pop()
|
|
847
845
|
# End with [await] (0x02) then null terminator (0x00)
|
|
848
846
|
result.append(0x02) # [await] - pauses for user input
|
|
849
847
|
result.append(0x00) # null terminator
|
|
@@ -8,6 +8,22 @@ from smrpgpatchbuilder.datatypes.items.enums import ItemPrefix
|
|
|
8
8
|
from smrpgpatchbuilder.datatypes.spells.enums import Status, TempStatBuff
|
|
9
9
|
import shutil
|
|
10
10
|
import os
|
|
11
|
+
import re
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _attack_class_base(name):
|
|
15
|
+
"""Reduce an attack name to a valid Python identifier fragment.
|
|
16
|
+
|
|
17
|
+
Keeps only word characters (letters, digits, underscore) so names
|
|
18
|
+
containing slashes, spaces, or non-printable font bytes (e.g. 0x94)
|
|
19
|
+
don't produce invalid Python class names. A leading digit is prefixed
|
|
20
|
+
with an underscore.
|
|
21
|
+
"""
|
|
22
|
+
base = re.sub(r"\W", "", name)
|
|
23
|
+
if base and base[0].isdigit():
|
|
24
|
+
base = "_" + base
|
|
25
|
+
return base
|
|
26
|
+
|
|
11
27
|
|
|
12
28
|
class Command(BaseCommand):
|
|
13
29
|
|
|
@@ -116,9 +132,8 @@ class Command(BaseCommand):
|
|
|
116
132
|
name_counts = {}
|
|
117
133
|
name_occurrence = {} # Track which occurrence number this is for duplicates
|
|
118
134
|
for attack_data in attacks:
|
|
119
|
-
if attack_data['name']
|
|
120
|
-
|
|
121
|
-
base_name = attack_data['name'].replace(" ", "").replace("'", "").replace("!", "").replace("-", "").replace(".", "").replace("&", "")
|
|
135
|
+
base_name = _attack_class_base(attack_data['name']) if attack_data['name'] else ""
|
|
136
|
+
if base_name:
|
|
122
137
|
name_counts[base_name] = name_counts.get(base_name, 0) + 1
|
|
123
138
|
|
|
124
139
|
# Second pass: generate attack classes
|
|
@@ -126,10 +141,8 @@ class Command(BaseCommand):
|
|
|
126
141
|
|
|
127
142
|
for attack_data in attacks:
|
|
128
143
|
# Determine class name
|
|
129
|
-
if attack_data['name']
|
|
130
|
-
|
|
131
|
-
base_name = attack_data['name'].replace(" ", "").replace("'", "").replace("!", "").replace("-", "").replace(".", "").replace("&", "")
|
|
132
|
-
|
|
144
|
+
base_name = _attack_class_base(attack_data['name']) if attack_data['name'] else ""
|
|
145
|
+
if base_name:
|
|
133
146
|
# Track which occurrence this is (1st, 2nd, 3rd, etc.)
|
|
134
147
|
if base_name not in name_occurrence:
|
|
135
148
|
name_occurrence[base_name] = 1
|
|
@@ -142,7 +155,7 @@ class Command(BaseCommand):
|
|
|
142
155
|
else:
|
|
143
156
|
class_name = f"{base_name}Attack"
|
|
144
157
|
else:
|
|
145
|
-
# Blank name - use Attack{ID}
|
|
158
|
+
# Blank or unrepresentable name - use Attack{ID}
|
|
146
159
|
class_name = f"Attack{attack_data['index']}"
|
|
147
160
|
|
|
148
161
|
# Store the class name
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/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-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/enums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/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-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/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-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/classes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/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
|
{smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/minecart/lz3.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
|