smrpgpatchbuilder 7.1.7__tar.gz → 7.1.8__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.
Files changed (254) hide show
  1. {smrpgpatchbuilder-7.1.7/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-7.1.8}/PKG-INFO +3 -3
  2. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/README.md +2 -2
  3. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/pyproject.toml +1 -1
  4. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +6 -6
  5. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +5 -5
  6. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8/src/smrpgpatchbuilder.egg-info}/PKG-INFO +3 -3
  7. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +2 -1
  8. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/animations/test_animationscripts.py +32 -32
  9. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/dialogs/test_formatter.py +3 -2
  10. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/monsters/test_ai.py +1 -1
  11. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/overworld/test_actionscripts.py +4 -4
  12. smrpgpatchbuilder-7.1.8/src/tests/scripts_common/test_script_helpers.py +45 -0
  13. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/LICENSE +0 -0
  14. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/MANIFEST.in +0 -0
  15. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/setup.cfg +0 -0
  16. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/__init__.py +0 -0
  17. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
  18. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
  19. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
  20. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
  21. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
  22. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
  23. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
  24. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
  25. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
  26. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
  27. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
  28. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
  29. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
  30. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
  31. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
  32. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
  33. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
  34. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
  35. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
  36. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
  37. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
  38. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
  39. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
  40. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
  41. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
  42. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
  43. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
  44. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
  45. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
  46. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
  47. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
  48. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
  49. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
  50. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
  51. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
  52. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
  53. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
  54. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
  55. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
  56. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
  57. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
  58. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
  59. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
  60. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
  61. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
  62. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
  63. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
  64. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
  65. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
  66. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +0 -0
  67. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
  68. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
  69. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
  70. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
  71. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
  72. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
  73. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
  74. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
  75. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
  76. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
  77. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
  78. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
  79. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
  80. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
  81. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/minecart/__init__.py +0 -0
  82. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/minecart/_vanilla_block.py +0 -0
  83. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/minecart/classes.py +0 -0
  84. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/minecart/constants.py +0 -0
  85. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/minecart/lz3.py +0 -0
  86. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
  87. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
  88. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
  89. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
  90. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
  91. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
  92. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
  93. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
  94. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
  95. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
  96. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
  97. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
  98. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
  99. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
  100. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
  101. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
  102. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
  103. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
  104. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
  105. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
  106. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
  107. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
  108. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
  109. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
  110. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +0 -0
  111. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
  112. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
  113. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
  114. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
  115. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
  116. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
  117. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
  118. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
  119. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
  120. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
  121. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
  122. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
  123. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
  124. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
  125. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
  126. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
  127. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
  128. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
  129. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
  130. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
  131. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
  132. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
  133. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
  134. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
  135. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
  136. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
  137. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
  138. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
  139. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
  140. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
  141. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
  142. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
  143. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
  144. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
  145. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
  146. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
  147. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
  148. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
  149. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
  150. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
  151. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
  152. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
  153. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
  154. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
  155. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
  156. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
  157. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
  158. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
  159. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
  160. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
  161. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
  162. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
  163. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
  164. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
  165. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
  166. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
  167. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
  168. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
  169. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
  170. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
  171. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
  172. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
  173. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
  174. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
  175. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
  176. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
  177. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
  178. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
  179. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
  180. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/manage.py +0 -0
  181. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
  182. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
  183. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
  184. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
  185. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
  186. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
  187. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
  188. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
  189. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
  190. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
  191. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
  192. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
  193. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
  194. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
  195. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
  196. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +0 -0
  197. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
  198. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
  199. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
  200. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
  201. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
  202. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
  203. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
  204. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
  205. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
  206. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
  207. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
  208. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
  209. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
  210. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
  211. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
  212. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
  213. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
  214. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
  215. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
  216. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
  217. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
  218. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
  219. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
  220. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
  221. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
  222. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
  223. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
  224. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
  225. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
  226. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
  227. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
  228. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
  229. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
  230. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
  231. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
  232. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
  233. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
  234. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
  235. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
  236. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
  237. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
  238. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
  239. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
  240. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
  241. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
  242. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
  243. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
  244. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
  245. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/utils/number.py +0 -0
  246. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder/utils/strings.py +0 -0
  247. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
  248. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
  249. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
  250. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/dialogs/__init__.py +0 -0
  251. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/levels/__init__.py +0 -0
  252. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/levels/test_room_collection.py +0 -0
  253. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/minecart/test_minecart.py +0 -0
  254. {smrpgpatchbuilder-7.1.7 → smrpgpatchbuilder-7.1.8}/src/tests/overworld/test_eventscripts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 7.1.7
3
+ Version: 7.1.8
4
4
  Summary: Patchable base class support for some SMRPG concepts similar to their definitions in Lazy Shell
5
5
  Author-email: pidgezero_one <s.kischak@gmail.com>
6
6
  License-Expression: MIT
@@ -115,7 +115,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py packetdisassembler --rom "
115
115
  ```
116
116
 
117
117
  These will produce:
118
- - `./src/disassembler_output/items.items.py`
118
+ - `./src/disassembler_output/items/items.py`
119
119
  - `./src/disassembler_output/enemy_attacks/attacks.py`
120
120
  - `./src/disassembler_output/spells/spells.py`
121
121
  - `./src/disassembler_output/packets/packets.py`
@@ -586,7 +586,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py itemassembler -r path/to/y
586
586
  ```
587
587
  Writes to:
588
588
  ```
589
- ./src/disassembler_output/items.items.py
589
+ ./src/disassembler_output/items/items.py
590
590
  ```
591
591
 
592
592
  Examples - NokNokShell, Muku Cookie, and Fire Bomb:
@@ -99,7 +99,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py packetdisassembler --rom "
99
99
  ```
100
100
 
101
101
  These will produce:
102
- - `./src/disassembler_output/items.items.py`
102
+ - `./src/disassembler_output/items/items.py`
103
103
  - `./src/disassembler_output/enemy_attacks/attacks.py`
104
104
  - `./src/disassembler_output/spells/spells.py`
105
105
  - `./src/disassembler_output/packets/packets.py`
@@ -570,7 +570,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py itemassembler -r path/to/y
570
570
  ```
571
571
  Writes to:
572
572
  ```
573
- ./src/disassembler_output/items.items.py
573
+ ./src/disassembler_output/items/items.py
574
574
  ```
575
575
 
576
576
  Examples - NokNokShell, Muku Cookie, and Fire Bomb:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "smrpgpatchbuilder"
7
- version = "7.1.7"
7
+ version = "7.1.8"
8
8
  authors = [
9
9
  { name="pidgezero_one", email="s.kischak@gmail.com" },
10
10
  ]
@@ -192,7 +192,7 @@ class EndLoop(UsableEventScriptCommand, EventScriptCommandNoArgs):
192
192
  `0xD7`
193
193
 
194
194
  ## Size
195
- 2 bytes
195
+ 1 byte
196
196
 
197
197
  Args:
198
198
  identifier (str | None): Give this command a label if you want another command to jump to it.
@@ -453,7 +453,7 @@ class RememberLastObject(UsableEventScriptCommand, EventScriptCommandNoArgs):
453
453
  `0xFD 0x32`
454
454
 
455
455
  ## Size
456
- 1 byte
456
+ 2 bytes
457
457
 
458
458
  Args:
459
459
  identifier (str | None): Give this command a label if you want another command to jump to it.
@@ -5204,10 +5204,10 @@ class FreezeCamera(UsableEventScriptCommand, EventScriptCommandNoArgs):
5204
5204
  `Freeze screen`
5205
5205
 
5206
5206
  ## Opcode
5207
- `0x31`
5207
+ `0xFD 0x31`
5208
5208
 
5209
5209
  ## Size
5210
- 1 byte
5210
+ 2 bytes
5211
5211
 
5212
5212
  Args:
5213
5213
  identifier (str | None): Give this command a label if you want another command to jump to it.
@@ -5223,10 +5223,10 @@ class UnfreezeCamera(UsableEventScriptCommand, EventScriptCommandNoArgs):
5223
5223
  `Unfreeze screen`
5224
5224
 
5225
5225
  ## Opcode
5226
- `0x30`
5226
+ `0xFD 0x30`
5227
5227
 
5228
5228
  ## Size
5229
- 1 byte
5229
+ 2 bytes
5230
5230
 
5231
5231
  Args:
5232
5232
  identifier (str | None): Give this command a label if you want another command to jump to it.
@@ -325,7 +325,7 @@ class Script(Generic[ScriptCommandT]):
325
325
  return self._contents
326
326
 
327
327
  def append(self, command: ScriptCommandT) -> None:
328
- """Set the list of script commands."""
328
+ """Append a command to the end of the script."""
329
329
  self._contents.append(command)
330
330
 
331
331
  def extend(self, commands: list[ScriptCommandT]) -> None:
@@ -360,7 +360,7 @@ class Script(Generic[ScriptCommandT]):
360
360
  -1,
361
361
  )
362
362
  if index == -1:
363
- raise IdentifierException("{identifier} not found")
363
+ raise IdentifierException(f"{identifier} not found")
364
364
  return index
365
365
 
366
366
  def set_contents(self, script: list[ScriptCommandT] | None = None) -> None:
@@ -415,13 +415,13 @@ class Script(Generic[ScriptCommandT]):
415
415
  """insert a command to this script immediately before the command matching the unique
416
416
  identifier specified."""
417
417
  index: int = self.get_index_of_identifier(identifier)
418
- self._insert(index + 1, command)
418
+ self._insert(index, command)
419
419
 
420
420
  def insert_after_identifier(self, identifier: str, command: ScriptCommandT) -> None:
421
421
  """insert a command to this script immediately after the command matching the unique
422
422
  identifier specified."""
423
423
  index: int = self.get_index_of_identifier(identifier)
424
- self._insert(index, command)
424
+ self._insert(index + 1, command)
425
425
 
426
426
  def replace_at_index(self, index: int, content: ScriptCommandT) -> None:
427
427
  """Replace the command at the specified list index within the script."""
@@ -568,7 +568,7 @@ class ScriptBank(Generic[ScriptT]):
568
568
  if key not in self.addresses:
569
569
  if "ILLEGAL_JUMP_" in key:
570
570
  destination.set_address((int(key[-4:], 16) & 0xFFFF))
571
- return
571
+ continue
572
572
  else:
573
573
  raise IdentifierException(f"couldn't find destination {key}")
574
574
  destination.set_address(self.addresses[key] & 0xFFFF)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 7.1.7
3
+ Version: 7.1.8
4
4
  Summary: Patchable base class support for some SMRPG concepts similar to their definitions in Lazy Shell
5
5
  Author-email: pidgezero_one <s.kischak@gmail.com>
6
6
  License-Expression: MIT
@@ -115,7 +115,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py packetdisassembler --rom "
115
115
  ```
116
116
 
117
117
  These will produce:
118
- - `./src/disassembler_output/items.items.py`
118
+ - `./src/disassembler_output/items/items.py`
119
119
  - `./src/disassembler_output/enemy_attacks/attacks.py`
120
120
  - `./src/disassembler_output/spells/spells.py`
121
121
  - `./src/disassembler_output/packets/packets.py`
@@ -586,7 +586,7 @@ PYTHONPATH=src python src/smrpgpatchbuilder/manage.py itemassembler -r path/to/y
586
586
  ```
587
587
  Writes to:
588
588
  ```
589
- ./src/disassembler_output/items.items.py
589
+ ./src/disassembler_output/items/items.py
590
590
  ```
591
591
 
592
592
  Examples - NokNokShell, Muku Cookie, and Fire Bomb:
@@ -248,4 +248,5 @@ src/tests/levels/test_room_collection.py
248
248
  src/tests/minecart/test_minecart.py
249
249
  src/tests/monsters/test_ai.py
250
250
  src/tests/overworld/test_actionscripts.py
251
- src/tests/overworld/test_eventscripts.py
251
+ src/tests/overworld/test_eventscripts.py
252
+ src/tests/scripts_common/test_script_helpers.py
@@ -339,93 +339,93 @@ test_cases = [
339
339
  expected_bytes=[0x2F, 0x00, 0x40, 0x00],
340
340
  ),
341
341
  Case(
342
- label="SetAMEM8BitTo7E1x",
342
+ label="SetAMEM8BitToAbsolute7E",
343
343
  commands_factory=lambda: [
344
- SetAMEM8BitTo7E1x(0x60, 0x7EFAC3),
344
+ SetAMEM8BitToAbsolute7E(0x60, 0x7EFAC3),
345
345
  ],
346
346
  expected_bytes=[0x20, 0x10, 0xC3, 0xFA],
347
347
  ),
348
348
  Case(
349
- label="SetAMEM16BitTo7E1x",
349
+ label="SetAMEM16BitToAbsolute7E",
350
350
  commands_factory=lambda: [
351
- SetAMEM16BitTo7E1x(0x60, 0x7EE022),
351
+ SetAMEM16BitToAbsolute7E(0x60, 0x7EE022),
352
352
  ],
353
353
  expected_bytes=[0x21, 0x10, 0x22, 0xE0],
354
354
  ),
355
355
  Case(
356
- label="Set7E1xToAMEM8Bit",
356
+ label="SetAbsolute7EToAMEM8Bit",
357
357
  commands_factory=lambda: [
358
- Set7E1xToAMEM8Bit(0x7EE001, 0x60),
358
+ SetAbsolute7EToAMEM8Bit(0x7EE001, 0x60),
359
359
  ],
360
360
  expected_bytes=[0x22, 0x10, 0x01, 0xE0],
361
361
  ),
362
362
  Case(
363
- label="Set7E1xToAMEM16Bit",
363
+ label="SetAbsolute7EToAMEM16Bit",
364
364
  commands_factory=lambda: [
365
- Set7E1xToAMEM16Bit(0x7EE022, 0x60),
365
+ SetAbsolute7EToAMEM16Bit(0x7EE022, 0x60),
366
366
  ],
367
367
  expected_bytes=[0x23, 0x10, 0x22, 0xE0],
368
368
  ),
369
369
  Case(
370
- label="JmpIfAMEM8BitEquals7E1x",
370
+ label="JmpIfAMEM8BitEqualsAbsolute7E",
371
371
  commands_factory=lambda: [
372
- JmpIfAMEM8BitEquals7E1x(0x61, 0x7EE003, ["jmp"]),
372
+ JmpIfAMEM8BitEqualsAbsolute7E(0x61, 0x7EE003, ["jmp"]),
373
373
  ReturnSubroutine(identifier="jmp"),
374
374
  ],
375
375
  expected_bytes=[0x24, 0x11, 0x03, 0xE0, 0x08, 0xC0, 0x11],
376
376
  ),
377
377
  Case(
378
- label="JmpIfAMEM16BitEquals7E1x",
378
+ label="JmpIfAMEM16BitEqualsAbsolute7E",
379
379
  commands_factory=lambda: [
380
- JmpIfAMEM16BitEquals7E1x(0x61, 0x7EE005, ["jmp"]),
380
+ JmpIfAMEM16BitEqualsAbsolute7E(0x61, 0x7EE005, ["jmp"]),
381
381
  ReturnSubroutine(identifier="jmp"),
382
382
  ],
383
383
  expected_bytes=[0x25, 0x11, 0x05, 0xE0, 0x08, 0xC0, 0x11],
384
384
  ),
385
385
  Case(
386
- label="JmpIfAMEM8BitNotEquals7E1x",
386
+ label="JmpIfAMEM8BitNotEqualsAbsolute7E",
387
387
  commands_factory=lambda: [
388
- JmpIfAMEM8BitNotEquals7E1x(0x60, 0x7EFA00, ["jmp"]),
388
+ JmpIfAMEM8BitNotEqualsAbsolute7E(0x60, 0x7EFA00, ["jmp"]),
389
389
  ReturnSubroutine(identifier="jmp"),
390
390
  ],
391
391
  expected_bytes=[0x26, 0x10, 0x00, 0xFA, 0x08, 0xC0, 0x11],
392
392
  ),
393
393
  Case(
394
- label="JmpIfAMEM16BitNotEquals7E1x",
394
+ label="JmpIfAMEM16BitNotEqualsAbsolute7E",
395
395
  commands_factory=lambda: [
396
- JmpIfAMEM16BitNotEquals7E1x(0x62, 0x7EFA00, ["jmp"]),
396
+ JmpIfAMEM16BitNotEqualsAbsolute7E(0x62, 0x7EFA00, ["jmp"]),
397
397
  ReturnSubroutine(identifier="jmp"),
398
398
  ],
399
399
  expected_bytes=[0x27, 0x12, 0x00, 0xFA, 0x08, 0xC0, 0x11],
400
400
  ),
401
401
  Case(
402
- label="JmpIfAMEM8BitLessThan7E1x",
402
+ label="JmpIfAMEM8BitLessThanAbsolute7E",
403
403
  commands_factory=lambda: [
404
- JmpIfAMEM8BitLessThan7E1x(0x63, 0x7E0F00, ["jmp"]),
404
+ JmpIfAMEM8BitLessThanAbsolute7E(0x63, 0x7E0F00, ["jmp"]),
405
405
  ReturnSubroutine(identifier="jmp"),
406
406
  ],
407
407
  expected_bytes=[0x28, 0x13, 0x00, 0x0F, 0x08, 0xC0, 0x11],
408
408
  ),
409
409
  Case(
410
- label="JmpIfAMEM16BitLessThan7E1x",
410
+ label="JmpIfAMEM16BitLessThanAbsolute7E",
411
411
  commands_factory=lambda: [
412
- JmpIfAMEM16BitLessThan7E1x(0x61, 0x7EE100, ["jmp"]),
412
+ JmpIfAMEM16BitLessThanAbsolute7E(0x61, 0x7EE100, ["jmp"]),
413
413
  ReturnSubroutine(identifier="jmp"),
414
414
  ],
415
415
  expected_bytes=[0x29, 0x11, 0x00, 0xE1, 0x08, 0xC0, 0x11],
416
416
  ),
417
417
  Case(
418
- label="JmpIfAMEM8BitGreaterOrEqualThan7E1x",
418
+ label="JmpIfAMEM8BitGreaterOrEqualThanAbsolute7E",
419
419
  commands_factory=lambda: [
420
- JmpIfAMEM8BitGreaterOrEqualThan7E1x(0x60, 0x7E1000, ["jmp"]),
420
+ JmpIfAMEM8BitGreaterOrEqualThanAbsolute7E(0x60, 0x7E1000, ["jmp"]),
421
421
  ReturnSubroutine(identifier="jmp"),
422
422
  ],
423
423
  expected_bytes=[0x2A, 0x10, 0x00, 0x10, 0x08, 0xC0, 0x11],
424
424
  ),
425
425
  Case(
426
- label="JmpIfAMEM16BitGreaterOrEqualThan7E1x",
426
+ label="JmpIfAMEM16BitGreaterOrEqualThanAbsolute7E",
427
427
  commands_factory=lambda: [
428
- JmpIfAMEM16BitGreaterOrEqualThan7E1x(0x65, 0x7E0200, ["jmp"]),
428
+ JmpIfAMEM16BitGreaterOrEqualThanAbsolute7E(0x65, 0x7E0200, ["jmp"]),
429
429
  ReturnSubroutine(identifier="jmp"),
430
430
  ],
431
431
  expected_bytes=[
@@ -439,23 +439,23 @@ test_cases = [
439
439
  ],
440
440
  ),
441
441
  Case(
442
- label="IncAMEM8BitBy7E1x",
443
- commands_factory=lambda: [IncAMEM8BitBy7E1x(0x67, 0x7E3100)],
442
+ label="IncAMEM8BitByAbsolute7E",
443
+ commands_factory=lambda: [IncAMEM8BitByAbsolute7E(0x67, 0x7E3100)],
444
444
  expected_bytes=[0x2C, 0x17, 0x00, 0x31],
445
445
  ),
446
446
  Case(
447
- label="IncAMEM16BitBy7E1x",
448
- commands_factory=lambda: [IncAMEM16BitBy7E1x(0x66, 0x7E1000)],
447
+ label="IncAMEM16BitByAbsolute7E",
448
+ commands_factory=lambda: [IncAMEM16BitByAbsolute7E(0x66, 0x7E1000)],
449
449
  expected_bytes=[0x2D, 0x16, 0x00, 0x10],
450
450
  ),
451
451
  Case(
452
- label="DecAMEM8BitBy7E1x",
453
- commands_factory=lambda: [DecAMEM8BitBy7E1x(0x61, 0x7EA000)],
452
+ label="DecAMEM8BitByAbsolute7E",
453
+ commands_factory=lambda: [DecAMEM8BitByAbsolute7E(0x61, 0x7EA000)],
454
454
  expected_bytes=[0x2E, 0x11, 0x00, 0xA0],
455
455
  ),
456
456
  Case(
457
- label="DecAMEM16BitBy7E1x",
458
- commands_factory=lambda: [DecAMEM16BitBy7E1x(0x64, 0x7E0F00)],
457
+ label="DecAMEM16BitByAbsolute7E",
458
+ commands_factory=lambda: [DecAMEM16BitByAbsolute7E(0x64, 0x7E0F00)],
459
459
  expected_bytes=[0x2F, 0x14, 0x00, 0x0F],
460
460
  ),
461
461
  Case(
@@ -127,10 +127,11 @@ class TestTokenize:
127
127
  assert tokens[0].is_variable
128
128
  assert tokens[0].width_px == 16 # 2 * (7+1)
129
129
 
130
- def test_long_variable_token(self):
130
+ def test_filename_token(self):
131
131
  tokens = _tokenize("[filename]")
132
132
  assert len(tokens) == 1
133
- assert tokens[0].is_long_variable
133
+ assert tokens[0].is_variable
134
+ assert tokens[0].width_px == 80 # 8 chars * widest letter width
134
135
 
135
136
  def test_mixed_text(self):
136
137
  tokens = _tokenize("Hello world[await]\n")
@@ -2,7 +2,7 @@ import pytest
2
2
 
3
3
  from dataclasses import dataclass
4
4
 
5
- from disassembler_output.spells.spells import CharacterSpell, EnemySpell
5
+ from smrpgpatchbuilder.datatypes.spells.classes import CharacterSpell, EnemySpell
6
6
  from smrpgpatchbuilder.datatypes.enemy_attacks.classes import EnemyAttack
7
7
  from smrpgpatchbuilder.datatypes.items.classes import RegularItem
8
8
  from smrpgpatchbuilder.datatypes.monster_scripts import *
@@ -1854,14 +1854,14 @@ test_cases = [
1854
1854
  Case(
1855
1855
  "Valid unknown command",
1856
1856
  commands_factory=lambda: [
1857
- A_UnknownCommand(bytearray([0x24, 0xAB, 0xCD, 0xFE, 0x69])),
1857
+ A_UnknownCommand(bytearray([0x25, 0xAB, 0xCD, 0xFE, 0x69])),
1858
1858
  ],
1859
- expected_bytes=[0x24, 0xAB, 0xCD, 0xFE, 0x69],
1859
+ expected_bytes=[0x25, 0xAB, 0xCD, 0xFE, 0x69],
1860
1860
  ),
1861
1861
  Case(
1862
1862
  "Unknown command with wrong length should fail",
1863
- commands_factory=lambda: [A_UnknownCommand(bytearray([0x24, 0xAB, 0xCD]))],
1864
- exception="opcode 0x24 expects 5 total bytes (inclusive), got 3 bytes instead",
1863
+ commands_factory=lambda: [A_UnknownCommand(bytearray([0x25, 0xAB, 0xCD]))],
1864
+ exception="opcode 0x25 expects 5 total bytes (inclusive), got 3 bytes instead",
1865
1865
  exception_type=InvalidCommandArgumentException,
1866
1866
  ),
1867
1867
  Case(
@@ -0,0 +1,45 @@
1
+ import pytest
2
+
3
+ from smrpgpatchbuilder.datatypes.scripts_common.classes import (
4
+ IdentifierException,
5
+ Script,
6
+ ScriptBank,
7
+ ScriptCommandNoArgs,
8
+ TransformableIdentifier,
9
+ )
10
+
11
+
12
+ class _Cmd(ScriptCommandNoArgs):
13
+ _opcode = 0xFE
14
+
15
+
16
+ def _labels(script: Script) -> list[str]:
17
+ return [cmd.identifier.label for cmd in script.contents]
18
+
19
+
20
+ def test_insert_before_identifier_inserts_before():
21
+ script = Script([_Cmd(identifier="first"), _Cmd(identifier="second")])
22
+ script.insert_before_identifier("second", _Cmd(identifier="new"))
23
+ assert _labels(script) == ["first", "new", "second"]
24
+
25
+
26
+ def test_insert_after_identifier_inserts_after():
27
+ script = Script([_Cmd(identifier="first"), _Cmd(identifier="second")])
28
+ script.insert_after_identifier("first", _Cmd(identifier="new"))
29
+ assert _labels(script) == ["first", "new", "second"]
30
+
31
+
32
+ def test_get_index_of_identifier_error_includes_name():
33
+ script = Script([_Cmd(identifier="only")])
34
+ with pytest.raises(IdentifierException, match="nonexistent not found"):
35
+ script.get_index_of_identifier("nonexistent")
36
+
37
+
38
+ def test_illegal_jump_does_not_skip_remaining_destinations():
39
+ bank = ScriptBank(None)
40
+ bank.addresses["real_label"] = 0x0C0B
41
+ illegal = TransformableIdentifier("ILLEGAL_JUMP_1234")
42
+ real = TransformableIdentifier("real_label")
43
+ bank._set_identifier_addresses([illegal, real])
44
+ assert illegal.address == 0x1234
45
+ assert real.address == 0x0C0B