smrpgpatchbuilder 6.2.12__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.
Files changed (253) hide show
  1. {smrpgpatchbuilder-6.2.12/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-7.1.1}/PKG-INFO +1 -1
  2. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/pyproject.toml +1 -1
  3. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +129 -131
  4. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/levels/classes.py +81 -164
  5. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +14 -38
  6. smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder/datatypes/minecart/__init__.py +28 -0
  7. smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder/datatypes/minecart/_vanilla_block.py +480 -0
  8. smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder/datatypes/minecart/classes.py +166 -0
  9. smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder/datatypes/minecart/constants.py +74 -0
  10. smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder/datatypes/minecart/lz3.py +192 -0
  11. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +29 -8
  12. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +21 -8
  13. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
  14. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +4 -10
  15. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomconverter.py +6 -18
  16. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +6 -15
  17. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
  18. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +6 -0
  19. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
  20. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
  21. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
  22. smrpgpatchbuilder-7.1.1/src/tests/minecart/test_minecart.py +88 -0
  23. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/LICENSE +0 -0
  24. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/MANIFEST.in +0 -0
  25. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/README.md +0 -0
  26. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/setup.cfg +0 -0
  27. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/__init__.py +0 -0
  28. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
  29. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
  30. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
  31. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
  32. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
  33. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
  34. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
  35. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
  36. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
  37. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
  38. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
  39. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
  40. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
  41. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
  42. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
  43. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
  44. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
  45. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
  46. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
  47. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
  48. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
  49. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
  50. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
  51. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
  52. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
  53. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
  54. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
  55. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
  56. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
  57. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
  58. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
  59. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
  60. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
  61. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
  62. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
  63. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
  64. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
  65. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
  66. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
  67. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
  68. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
  69. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
  70. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
  71. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
  72. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
  73. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
  74. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
  75. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
  76. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
  77. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
  78. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
  79. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
  80. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
  81. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
  82. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
  83. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
  84. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
  85. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
  86. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
  87. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
  88. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
  89. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
  90. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
  91. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
  92. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
  93. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
  94. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
  95. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
  96. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
  97. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
  98. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
  99. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
  100. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
  101. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
  102. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
  103. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
  104. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
  105. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
  106. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
  107. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
  108. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
  109. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
  110. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
  111. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
  112. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
  113. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
  114. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
  115. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
  116. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
  117. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
  118. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
  119. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
  120. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
  121. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
  122. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
  123. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
  124. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
  125. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
  126. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
  127. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
  128. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
  129. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
  130. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
  131. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
  132. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
  133. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
  134. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
  135. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
  136. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
  137. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
  138. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
  139. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
  140. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
  141. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
  142. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
  143. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
  144. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
  145. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
  146. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
  147. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
  148. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
  149. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
  150. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +0 -0
  151. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
  152. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
  153. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
  154. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
  155. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
  156. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
  157. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
  158. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
  159. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
  160. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
  161. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
  162. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
  163. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
  164. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
  165. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
  166. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
  167. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
  168. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
  169. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
  170. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
  171. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
  172. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
  173. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
  174. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
  175. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
  176. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
  177. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
  178. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
  179. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
  180. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
  181. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
  182. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
  183. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
  184. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/manage.py +0 -0
  185. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
  186. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
  187. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
  188. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
  189. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
  190. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
  191. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
  192. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
  193. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
  194. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
  195. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
  196. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
  197. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
  198. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
  199. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
  200. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
  201. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
  202. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
  203. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
  204. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
  205. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
  206. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
  207. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
  208. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
  209. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
  210. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
  211. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
  212. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
  213. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
  214. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
  215. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
  216. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
  217. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
  218. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
  219. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
  220. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
  221. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
  222. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
  223. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
  224. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
  225. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
  226. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
  227. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
  228. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
  229. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
  230. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
  231. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
  232. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
  233. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
  234. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
  235. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
  236. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
  237. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
  238. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
  239. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
  240. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
  241. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
  242. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
  243. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
  244. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/number.py +0 -0
  245. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/smrpgpatchbuilder/utils/strings.py +0 -0
  246. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/animations/test_animationscripts.py +0 -0
  247. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/dialogs/__init__.py +0 -0
  248. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/dialogs/test_formatter.py +0 -0
  249. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/levels/__init__.py +0 -0
  250. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/levels/test_room_collection.py +0 -0
  251. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/monsters/test_ai.py +0 -0
  252. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/overworld/test_actionscripts.py +0 -0
  253. {smrpgpatchbuilder-6.2.12 → smrpgpatchbuilder-7.1.1}/src/tests/overworld/test_eventscripts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 6.2.12
3
+ Version: 7.1.1
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "smrpgpatchbuilder"
7
- version = "6.2.12"
7
+ version = "7.1.1"
8
8
  authors = [
9
9
  { name="pidgezero_one", email="s.kischak@gmail.com" },
10
10
  ]
@@ -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