FixRaidenBoss2 4.2.2__tar.gz → 4.2.4__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 (138) hide show
  1. {fixraidenboss2-4.2.2/src/FixRaidenBoss2.egg-info → fixraidenboss2-4.2.4}/PKG-INFO +3 -1
  2. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/README.md +2 -0
  3. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/pyproject.toml +1 -1
  4. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/Colours.py +4 -0
  5. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/GIBuilder.py +65 -3
  6. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/ModTypes.py +12 -0
  7. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/data/HashData.py +12 -1
  8. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/data/IndexData.py +3 -1
  9. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/data/VGRemapData.py +18 -1
  10. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/BadBlendData.py +1 -1
  11. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/remapService.py +1 -1
  12. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4/src/FixRaidenBoss2.egg-info}/PKG-INFO +3 -1
  13. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/LICENSE +0 -0
  14. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/setup.cfg +0 -0
  15. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/__init__.py +0 -0
  16. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/__main__.py +0 -0
  17. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/ColourConsts.py +0 -0
  18. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FileEncodings.py +0 -0
  19. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FileExt.py +0 -0
  20. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FilePathConsts.py +0 -0
  21. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FilePrefixes.py +0 -0
  22. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FileSuffixes.py +0 -0
  23. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/FileTypes.py +0 -0
  24. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/GenericTypes.py +0 -0
  25. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/IfPredPartType.py +0 -0
  26. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/ImgFormats.py +0 -0
  27. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/IniConsts.py +0 -0
  28. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/ModTypeBuilder.py +0 -0
  29. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/Packages.py +0 -0
  30. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/TexConsts.py +0 -0
  31. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/constants/__init__.py +0 -0
  32. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/CommandBuilder.py +0 -0
  33. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/CommandFormatter.py +0 -0
  34. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/__init__.py +0 -0
  35. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/enums/CommandOpts.py +0 -0
  36. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/enums/ShortCommandOpts.py +0 -0
  37. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/controller/enums/__init__.py +0 -0
  38. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/data/__init__.py +0 -0
  39. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/BlendFileNotRecognized.py +0 -0
  40. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/ConflictingOptions.py +0 -0
  41. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/DuplicateFileException.py +0 -0
  42. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/Error.py +0 -0
  43. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/FileException.py +0 -0
  44. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/InvalidModType.py +0 -0
  45. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/MissingFileException.py +0 -0
  46. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/NoModType.py +0 -0
  47. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/RemapMissingBlendFile.py +0 -0
  48. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/exceptions/__init__.py +0 -0
  49. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/main.py +0 -0
  50. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/FileStats.py +0 -0
  51. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/IniSectionGraph.py +0 -0
  52. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/Mod.py +0 -0
  53. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/Model.py +0 -0
  54. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/VGRemap.py +0 -0
  55. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/Version.py +0 -0
  56. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/__init__.py +0 -0
  57. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/Hashes.py +0 -0
  58. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/Indices.py +0 -0
  59. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/ModAssets.py +0 -0
  60. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/ModIdAssets.py +0 -0
  61. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/VGRemaps.py +0 -0
  62. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/assets/__init__.py +0 -0
  63. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/files/BlendFile.py +0 -0
  64. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/files/File.py +0 -0
  65. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/files/IniFile.py +0 -0
  66. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/files/TextureFile.py +0 -0
  67. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iftemplate/IfContentPart.py +0 -0
  68. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iftemplate/IfPredPart.py +0 -0
  69. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iftemplate/IfTemplate.py +0 -0
  70. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iftemplate/IfTemplatePart.py +0 -0
  71. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iniparserdicts/KeepAllDict.py +0 -0
  72. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iniparserdicts/KeepFirstDict.py +0 -0
  73. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iniparserdicts/__init__.py +0 -0
  74. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iniresources/IniResourceModel.py +0 -0
  75. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/iniresources/IniTexModel.py +0 -0
  76. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/ModType.py +0 -0
  77. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/BaseIniFixer.py +0 -0
  78. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/GIMIFixer.py +0 -0
  79. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/GIMIObjMergeFixer.py +0 -0
  80. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/GIMIObjRegEditFixer.py +0 -0
  81. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/GIMIObjReplaceFixer.py +0 -0
  82. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/GIMIObjSplitFixer.py +0 -0
  83. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/IniFixBuilder.py +0 -0
  84. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/MultiModFixer.py +0 -0
  85. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/BaseRegEditFilter.py +0 -0
  86. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegEditFilter.py +0 -0
  87. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegNewVals.py +0 -0
  88. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegRemap.py +0 -0
  89. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegRemove.py +0 -0
  90. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegTexAdd.py +0 -0
  91. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniFixers/regEditFilters/RegTexEdit.py +0 -0
  92. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniParsers/BaseIniParser.py +0 -0
  93. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniParsers/GIMIObjParser.py +0 -0
  94. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniParsers/GIMIParser.py +0 -0
  95. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniParsers/IniParseBuilder.py +0 -0
  96. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniRemovers/BaseIniRemover.py +0 -0
  97. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniRemovers/IniRemoveBuilder.py +0 -0
  98. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/iniRemovers/IniRemover.py +0 -0
  99. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/BaseTexEditor.py +0 -0
  100. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/TexCreator.py +0 -0
  101. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/TexEditor.py +0 -0
  102. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/BasePixelTransform.py +0 -0
  103. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/ColourReplace.py +0 -0
  104. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/CorrectGamma.py +0 -0
  105. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/HighlightShadow.py +0 -0
  106. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/InvertAlpha.py +0 -0
  107. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/TempControl.py +0 -0
  108. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/TintTransform.py +0 -0
  109. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/pixelTransforms/Transparency.py +0 -0
  110. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/BaseTexFilter.py +0 -0
  111. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/GammaFilter.py +0 -0
  112. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/HueAdjust.py +0 -0
  113. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/InvertAlphaFilter.py +0 -0
  114. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/PixelFilter.py +0 -0
  115. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/strategies/texEditors/texFilters/TexMetadataFilter.py +0 -0
  116. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/textures/Colour.py +0 -0
  117. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/model/textures/ColourRange.py +0 -0
  118. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/Algo.py +0 -0
  119. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/Builder.py +0 -0
  120. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/DictTools.py +0 -0
  121. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/FlyweightBuilder.py +0 -0
  122. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/Heading.py +0 -0
  123. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/ListTools.py +0 -0
  124. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/PackageData.py +0 -0
  125. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/PackageManager.py +0 -0
  126. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/TextTools.py +0 -0
  127. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/__init__.py +0 -0
  128. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/caches/Cache.py +0 -0
  129. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/caches/LRUCache.py +0 -0
  130. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/caches/__init__.py +0 -0
  131. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/files/FilePath.py +0 -0
  132. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/files/FileService.py +0 -0
  133. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/tools/files/__init__.py +0 -0
  134. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/view/Logger.py +0 -0
  135. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2/view/__init__.py +0 -0
  136. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2.egg-info/SOURCES.txt +0 -0
  137. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2.egg-info/dependency_links.txt +0 -0
  138. {fixraidenboss2-4.2.2 → fixraidenboss2-4.2.4}/src/FixRaidenBoss2.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: FixRaidenBoss2
3
- Version: 4.2.2
3
+ Version: 4.2.4
4
4
  Summary: A library to help remap the mods installed on a character onto the skins of the character
5
5
  Author-email: NK <qqqqaaaapppp0000@gmail.com>, Albert Gold <AlexXianZhenYuAu@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/nhok0169/Anime-Game-Remap
@@ -455,12 +455,14 @@ Below are the supported types of mods
455
455
  | Arlecchino | Father, Harlequin, Knave, Perrie, Peruere | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Arlecchino)((?!RemapBlend).)*Blend.*\s*\]` |
456
456
  | Barbara | Healer, Idol | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Barbara)((?!RemapBlend\|Summertime).)*Blend.*\s*\]` |
457
457
  | BarabaraSummertime | BarbaraBikini, HealerSummertime, IdolSummertime | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(BarbaraSummertime)((?!RemapBlend).)*Blend.*\s*\]` |
458
+ | CherryHuTao | 77thDirectoroftheWangshengFuneralParlorCherry, 77thDirectoroftheWangshengFuneralParlorLanternRite, Cherry77thDirectoroftheWangshengFuneralParlor, CherryQiqiKidnapper, HutaoCherry, HutaoLanternRite, HutaoSnowLaden, LanternRite77thDirectoroftheWangshengFuneralParlor, LanternRiteHutao, LanternRiteQiqiKidnapper, QiqiKidnapperCherry, QiqiKidnapperLanternRite, SnowLadenHutao | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(CherryHuTao\|HuTaoCherry)((?!RemapBlend).)*Blend.*\s*\]` |
458
459
  | Diluc | AngelShareOwner, DarkNightBlaze, DawnWineryMaster, KaeyasBrother | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Diluc)((?!RemapBlend\|Flamme).)*Blend.*\s*\]` |
459
460
  | DilucFlamme | DarkNightHero, RedDeadOfTheNight | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(DilucFlamme)((?!RemapBlend).)*Blend.*\s*\]` |
460
461
  | Fischl | FischlvonLuftschlossNarfidort, 8thGraderSyndrome, Amy, Chunibyo, Delusional, MeinFraulein, OzsMiss, PrincessofCondemnation, PrinzessinderVerurteilung, TheCondemedPrincess | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Fischl)((?!RemapBlend\|Highness).)*Blend.*\s*\]` |
461
462
  | FischlHighness | ImmernachtreichPrincess, OzsPrincess, PrincessAmy, PrincessFischlvonLuftschlossNarfidort, PrincessoftheEverlastingNight, Prinzessin, PrinzessinFischlvonLuftschlossNarfidort, PrinzessinderImmernachtreich, RealPrinzessinderVerurteilung | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(FischlHighness)((?!RemapBlend).)*Blend.*\s*\]` |
462
463
  | Ganyu | Cocogoat | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Ganyu)((?!(RemapBlend\|Twilight)).)*Blend.*\s*\]` |
463
464
  | GanyuTwilight | CocogoatLanternRite, CocogoatTwilight, GanyuLanternRite, LanternRiteCocogoat, LanternRiteGanyu | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(GanyuTwilight)((?!(RemapBlend)).)*Blend.*\s*\]` |
465
+ | HuTao | 77thDirectoroftheWangshengFuneralParlor, QiqiKidnapper | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride((?!Cherry).)*(HuTao)((?!RemapBlend\|Cherry).)*Blend.*\s*\]` |
464
466
  | Jean | ActingGrandMaster, KleesBabySitter | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Jean)((?!(RemapBlend\|CN)).)*Blend.*\s*\]` |
465
467
  | JeanCN | ActingGrandMasterCN, KleesBabySitterCN | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanCN)((?!RemapBlend).)*Blend.*\s*\]` |
466
468
  | JeanSea | ActingGrandMasterSea, KleesBabySitterSea | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanSea)((?!RemapBlend\|CN).)*Blend.*\s*\]` |
@@ -440,12 +440,14 @@ Below are the supported types of mods
440
440
  | Arlecchino | Father, Harlequin, Knave, Perrie, Peruere | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Arlecchino)((?!RemapBlend).)*Blend.*\s*\]` |
441
441
  | Barbara | Healer, Idol | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Barbara)((?!RemapBlend\|Summertime).)*Blend.*\s*\]` |
442
442
  | BarabaraSummertime | BarbaraBikini, HealerSummertime, IdolSummertime | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(BarbaraSummertime)((?!RemapBlend).)*Blend.*\s*\]` |
443
+ | CherryHuTao | 77thDirectoroftheWangshengFuneralParlorCherry, 77thDirectoroftheWangshengFuneralParlorLanternRite, Cherry77thDirectoroftheWangshengFuneralParlor, CherryQiqiKidnapper, HutaoCherry, HutaoLanternRite, HutaoSnowLaden, LanternRite77thDirectoroftheWangshengFuneralParlor, LanternRiteHutao, LanternRiteQiqiKidnapper, QiqiKidnapperCherry, QiqiKidnapperLanternRite, SnowLadenHutao | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(CherryHuTao\|HuTaoCherry)((?!RemapBlend).)*Blend.*\s*\]` |
443
444
  | Diluc | AngelShareOwner, DarkNightBlaze, DawnWineryMaster, KaeyasBrother | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Diluc)((?!RemapBlend\|Flamme).)*Blend.*\s*\]` |
444
445
  | DilucFlamme | DarkNightHero, RedDeadOfTheNight | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(DilucFlamme)((?!RemapBlend).)*Blend.*\s*\]` |
445
446
  | Fischl | FischlvonLuftschlossNarfidort, 8thGraderSyndrome, Amy, Chunibyo, Delusional, MeinFraulein, OzsMiss, PrincessofCondemnation, PrinzessinderVerurteilung, TheCondemedPrincess | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Fischl)((?!RemapBlend\|Highness).)*Blend.*\s*\]` |
446
447
  | FischlHighness | ImmernachtreichPrincess, OzsPrincess, PrincessAmy, PrincessFischlvonLuftschlossNarfidort, PrincessoftheEverlastingNight, Prinzessin, PrinzessinFischlvonLuftschlossNarfidort, PrinzessinderImmernachtreich, RealPrinzessinderVerurteilung | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(FischlHighness)((?!RemapBlend).)*Blend.*\s*\]` |
447
448
  | Ganyu | Cocogoat | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Ganyu)((?!(RemapBlend\|Twilight)).)*Blend.*\s*\]` |
448
449
  | GanyuTwilight | CocogoatLanternRite, CocogoatTwilight, GanyuLanternRite, LanternRiteCocogoat, LanternRiteGanyu | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(GanyuTwilight)((?!(RemapBlend)).)*Blend.*\s*\]` |
450
+ | HuTao | 77thDirectoroftheWangshengFuneralParlor, QiqiKidnapper | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride((?!Cherry).)*(HuTao)((?!RemapBlend\|Cherry).)*Blend.*\s*\]` |
449
451
  | Jean | ActingGrandMaster, KleesBabySitter | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Jean)((?!(RemapBlend\|CN)).)*Blend.*\s*\]` |
450
452
  | JeanCN | ActingGrandMasterCN, KleesBabySitterCN | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanCN)((?!RemapBlend).)*Blend.*\s*\]` |
451
453
  | JeanSea | ActingGrandMasterSea, KleesBabySitterSea | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanSea)((?!RemapBlend\|CN).)*Blend.*\s*\]` |
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "FixRaidenBoss2"
7
- version = "4.2.2"
7
+ version = "4.2.4"
8
8
  authors = [
9
9
  {name="NK", email="qqqqaaaapppp0000@gmail.com"},
10
10
  {name="Albert Gold", email="AlexXianZhenYuAu@gmail.com"}
@@ -40,12 +40,16 @@ class Colours(Enum):
40
40
 
41
41
  NormalMapYellow: :class:`Colour` (128, 128, 0, 255)
42
42
  The yellow that usually appears in the NormalMap.dds
43
+
44
+ NormalMapBlue: :class:`Colour` (128, 128, 255, 255)
45
+ The light blue that usually appears in the NormalMap.dds
43
46
  """
44
47
 
45
48
  White = Colour(ColourConsts.MaxColourValue.value, ColourConsts.MaxColourValue.value, ColourConsts.MaxColourValue.value)
46
49
  LightMapGreenMin = Colour(0, 125, 0, 0)
47
50
  LightMapGreenMax = Colour(50, 160, 50, ColourConsts.MaxColourValue.value)
48
51
  NormalMapYellow = Colour(128, 128, 0)
52
+ NormalMapBlue = Colour(128, 128, 255)
49
53
 
50
54
  class ColourRanges(Enum):
51
55
  """
@@ -196,6 +196,37 @@ class GIBuilder(ModTypeBuilder):
196
196
  aliases = ["IdolSummertime", "HealerSummertime", "BarbaraBikini"],
197
197
  vgRemaps = VGRemaps(map = {"BarbaraSummertime": {"Barbara"}}))
198
198
 
199
+ @classmethod
200
+ def cherryHutao(cls) -> ModType:
201
+ """
202
+ Creates the :class:`ModType` for CherryHuTao
203
+
204
+ Returns
205
+ -------
206
+ :class:`ModType`
207
+ The resultant :class:`ModType`
208
+ """
209
+ return ModType("CherryHuTao", re.compile(r"^\s*\[\s*TextureOverride.*(CherryHuTao|HuTaoCherry)((?!RemapBlend).)*Blend.*\s*\]"),
210
+ Hashes(map = {"CherryHuTao": {"HuTao"}}), Indices(map = {"CherryHuTao": {"HuTao"}}),
211
+ aliases = ["HutaoCherry", "HutaoSnowLaden", "SnowLadenHutao",
212
+ "LanternRiteHutao", "HutaoLanternRite",
213
+ "Cherry77thDirectoroftheWangshengFuneralParlor", "CherryQiqiKidnapper",
214
+ "77thDirectoroftheWangshengFuneralParlorCherry", "QiqiKidnapperCherry",
215
+ "LanternRite77thDirectoroftheWangshengFuneralParlor", "LanternRiteQiqiKidnapper",
216
+ "77thDirectoroftheWangshengFuneralParlorLanternRite", "QiqiKidnapperLanternRite",],
217
+ vgRemaps = VGRemaps(map = {"CherryHuTao": {"HuTao"}}),
218
+ iniParseBuilder = IniParseBuilder(GIMIObjParser, args = [{"head", "body", "dress", "extra"}],
219
+ kwargs = {"texEdits": {"body": {"ps-t0": {"TransparentBodyDiffuse": TexEditor(filters = [InvertAlphaFilter()])}},
220
+ "dress": {"ps-t1": {"TransparentyDressDiffuse": TexEditor(filters = [InvertAlphaFilter()])}}}}),
221
+ iniFixBuilder = IniFixBuilder(GIMIObjMergeFixer, args = [{"head": ["head", "extra"], "body": ["body", "dress"]}], kwargs = {"preRegEditFilters": [
222
+ RegTexEdit(textures = {"TransparentBodyDiffuse": ["ps-t0"],
223
+ "TransparentyDressDiffuse": ["ps-t1"]}),
224
+ RegRemove(remove = {"head": {"ps-t0"},
225
+ "dress": {"ps-t0"}}),
226
+ RegRemap(remap = {"head": {"ps-t1": ["ps-t0"], "ps-t2": ["ps-t1"]},
227
+ "dress": {"ps-t1": ["ps-t0"], "ps-t2": ["ps-t1"]}})
228
+ ]}))
229
+
199
230
  @classmethod
200
231
  def diluc(cls) -> ModType:
201
232
  """
@@ -318,6 +349,34 @@ class GIBuilder(ModTypeBuilder):
318
349
  RegRemove(remove = {"head": {"ps-t0"}}),
319
350
  RegRemap(remap = {"head": {"ps-t1": ["ps-t0"], "ps-t2": ["ps-t1"]}})
320
351
  ]}))
352
+
353
+ @classmethod
354
+ def huTao(cls) -> ModType:
355
+ """
356
+ Creates the :class:`ModType` for HuTao
357
+
358
+ Returns
359
+ -------
360
+ :class:`ModType`
361
+ The resultant :class:`ModType`
362
+ """
363
+ return ModType("HuTao", re.compile(r"^\s*\[\s*TextureOverride((?!Cherry).)*(HuTao)((?!RemapBlend|Cherry).)*Blend.*\s*\]"),
364
+ Hashes(map = {"HuTao": {"CherryHuTao"}}), Indices(map = {"HuTao": {"CherryHuTao"}}),
365
+ aliases = ["77thDirectoroftheWangshengFuneralParlor", "QiqiKidnapper"],
366
+ vgRemaps = VGRemaps(map = {"HuTao": {"CherryHuTao"}}),
367
+ iniParseBuilder = IniParseBuilder(GIMIObjParser, args = [{"head", "body"}]),
368
+ iniFixBuilder = IniFixBuilder(GIMIObjSplitFixer, args = [{"head": ["head", "extra"], "body": ["body", "dress"]}], kwargs = {"preRegEditFilters": [
369
+ RegRemove(remove = {"head": {"ps-t2"},
370
+ "body": {"ps-t2", "ps-t3"}})
371
+ ],
372
+ "postRegEditFilters": [
373
+ RegRemove(remove = {"extra": {"ps-t0", "ps-t1"}}),
374
+ RegNewVals(vals = {"extra": {"ib": "null"}}),
375
+ RegRemap(remap = {"head": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2"]},
376
+ "dress": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2"]}}),
377
+ RegTexAdd(textures = {"head": {"ps-t0": ("NormMap", TexCreator(1024, 1024, colour = Colours.NormalMapBlue.value))},
378
+ "dress": {"ps-t0": ("NormMap", TexCreator(1024, 1024, colour = Colours.NormalMapBlue.value))}}, mustAdd = False)
379
+ ]}))
321
380
 
322
381
  @classmethod
323
382
  def jean(cls) -> ModType:
@@ -572,9 +631,12 @@ class GIBuilder(ModTypeBuilder):
572
631
  vgRemaps = VGRemaps(map = {"NilouBreeze": {"Nilou"}}),
573
632
  iniParseBuilder = IniParseBuilder(GIMIObjParser, args = [{"head", "dress", "body"}]),
574
633
  iniFixBuilder = IniFixBuilder(GIMIObjRegEditFixer, kwargs = {"preRegEditFilters": [
575
- RegRemap(remap = {"head": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"]},
576
- "dress": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"]},
577
- "body": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"]}}),
634
+ RegRemove(remove = {"head": {"ps-t3"},
635
+ "dress": {"ps-t3"},
636
+ "body": {"ps-t3"}}),
637
+ RegRemap(remap = {"head": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"], "ps-t2": ["ps-t3"]},
638
+ "dress": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"], "ps-t2": ["ps-t3"]},
639
+ "body": {"ps-t0": ["ps-t0", "ps-t1"], "ps-t1": ["ps-t2", "temp"], "ps-t2": ["ps-t3"]}}),
578
640
  RegNewVals(vals = {"head": {"temp": IniKeywords.ORFixPath.value},
579
641
  "dress": {"temp": IniKeywords.ORFixPath.value},
580
642
  "body": {"temp": IniKeywords.ORFixPath.value}}),
@@ -71,6 +71,11 @@ class ModTypes(Enum):
71
71
 
72
72
  Checks if the .ini file contains a section with the regex ``^\s*\[\s*TextureOverride.*(BarbaraSummertime)((?!RemapBlend).)*Blend.*\s*\]``
73
73
 
74
+ CherryHuTao: :class:`ModType`
75
+ **Hu Tao Lantern Rite mods** :raw-html:`<br />`
76
+
77
+ Checks if the .ini file contains a section with the regex ``^\s*\[\s*TextureOverride.*(CherryHuTao|HuTaoCherry)((?!RemapBlend).)*Blend.*\s*\]``
78
+
74
79
  Diluc: :class:`ModType`
75
80
  **Diluc mods** :raw-html:`<br />`
76
81
 
@@ -101,6 +106,11 @@ class ModTypes(Enum):
101
106
 
102
107
  Checks if the .ini file contains a section with the regex ``^\s*\[\s*TextureOverride.*(GanyuTwilight)((?!(RemapBlend)).)*Blend.*\s*\]``
103
108
 
109
+ HuTao: :class:`ModType`
110
+ **Hu Tao mods** :raw-html:`<br />`
111
+
112
+ Checks if the .ini file contains a section with the regex ``^\s*\[\s*TextureOverride((?!Cherry).)*(HuTao)((?!RemapBlend|Cherry).)*Blend.*\s*\]``
113
+
104
114
  Jean: :class:`ModType`
105
115
  **Jean mods** :raw-html:`<br />`
106
116
 
@@ -219,12 +229,14 @@ class ModTypes(Enum):
219
229
  Arlecchino = GIBuilder.arlecchino()
220
230
  Barbara = GIBuilder.barbara()
221
231
  BarbaraSummertime = GIBuilder.barbaraSummerTime()
232
+ CherryHuTao = GIBuilder.cherryHutao()
222
233
  Diluc = GIBuilder.diluc()
223
234
  DilucFlamme = GIBuilder.dilucFlamme()
224
235
  Fischl = GIBuilder.fischl()
225
236
  FischlHighness = GIBuilder.fischlHighness()
226
237
  Ganyu = GIBuilder.ganyu()
227
238
  GanyuTwilight = GIBuilder.ganyuTwilight()
239
+ HuTao = GIBuilder.huTao()
228
240
  Jean = GIBuilder.jean()
229
241
  JeanCN = GIBuilder.jeanCN()
230
242
  JeanSea = GIBuilder.jeanSea()
@@ -63,6 +63,10 @@ HashData = HashData = {4.0 : {"Amber": {"draw_vb": "870a7499", "position_vb": "c
63
63
  "tex_body_diffuse": "8a151913", "tex_body_lightmap": "dbcf1d72", "tex_body_metalmap": "b0e08915", "tex_body_shadowramp": "7eb5b84e",
64
64
  "tex_dress_diffuse": "8a151913", "tex_dress_lightmap": "dbcf1d72", "tex_dress_metalmap": "b0e08915", "tex_dress_shadowramp": "7eb5b84e",
65
65
  "tex_face_diffuse": "b2657593", "tex_face_lightmap": "4e3376db", "tex_face_shadow": "3f396398", "tex_face_shadowramp": "7eb5b84e"},
66
+ "HuTao": {"draw_vb": "60345291", "position_vb": "dd16576c", "blend_vb": "153dba3f", "texcoord_vb": "51afdfcf", "ib": "0535853d",
67
+ "tex_head_diffuse": "565beee6", "tex_head_lightmap": "245dac60", "tex_head_shadowramp": "7eb5b84e",
68
+ "tex_body_diffuse": "e72dc049", "tex_body_lightmap": "ddfeb6b9", "tex_body_metalmap": "b0e08915", "tex_body_shadowramp": "7eb5b84e",
69
+ "tex_face_diffuse": "d00bb0ef", "tex_face_lightmap": "4e3376db", "tex_face_shadow": "3f396398", "tex_face_shadowramp": "7eb5b84e"},
66
70
  "Jean": {"draw_vb": "e6055135", "position_vb": "191af650", "blend_vb": "3cb8153c", "texcoord_vb": "1722136c", "ib": "29835d20",
67
71
  "tex_head_diffuse": "dba2791d", "tex_head_lightmap": "0bd77e81", "tex_head_shadowramp": "7eb5b84e",
68
72
  "tex_body_diffuse": "d1ae8efe", "tex_body_lightmap": "cee17ba5", "tex_body_metalmap": "b0e08915", "tex_body_shadowramp": "7eb5b84e",
@@ -155,6 +159,7 @@ HashData = HashData = {4.0 : {"Amber": {"draw_vb": "870a7499", "position_vb": "c
155
159
  "Fischl": {"draw_vb":"e5ac321c"},
156
160
  "FischlHighness": {"draw_vb": "b52dd70c"},
157
161
  "Ganyu": {"draw_vb": "fbf98643"},
162
+ "HuTao": {"draw_vb": "e9d17db6"},
158
163
  "Jean": {"draw_vb":"6fe07e12"},
159
164
  "JeanCN": {"draw_vb":"a3cccc14"},
160
165
  "JeanSea": {"draw_vb": "1ec879c9"},
@@ -183,6 +188,7 @@ HashData = HashData = {4.0 : {"Amber": {"draw_vb": "870a7499", "position_vb": "c
183
188
  "Fischl": {"ib": "6428104d"},
184
189
  "FischlHighness": {"ib": "ad6be7a1"},
185
190
  "Ganyu": {"ib": "1575ec63"},
191
+ "HuTao": {"ib": "3de1efe2"},
186
192
  "Jean": {"ib":"115737ff"},
187
193
  "JeanCN": {"ib":"aad861e0"},
188
194
  "JeanSea": {"ib": "69c0c24e"},
@@ -232,5 +238,10 @@ HashData = HashData = {4.0 : {"Amber": {"draw_vb": "870a7499", "position_vb": "c
232
238
  "tex_head_normalmap": "c715bcf7", "tex_head_diffuse": "16fbe9b0", "tex_head_lightmap": "f74f093d", "tex_head_metalmap": "b0e08915",
233
239
  "tex_body_normalmap": "89a118ba", "tex_body_diffuse": "e3a21e6f", "tex_body_lightmap": "8ca27fd3", "tex_body_metalmap": "b0e08915",
234
240
  "tex_dress_normalmap": "e3a21e6f", "tex_dress_diffuse": "8ca27fd3", "tex_dress_lightmap": "7eb5b84e", "tex_dress_metalmap": "b0e08915"}},
235
- 5.2: {"Diluc": {"tex_face_diffuse": "e698735e"}}}
241
+ 5.2: {"Diluc": {"tex_face_diffuse": "e698735e"}},
242
+ 5.3: {"CherryHuTao": {"draw_vb": "6715905e", "position_vb": "a78db232", "blend_vb": "6e718139", "texcoord_vb": "4b14b10e", "ib": "92fce51e",
243
+ "tex_head_normalmap": "efe5e3ed", "tex_head_diffuse": "99a26018", "tex_head_lightmap": "d6089bf8",
244
+ "tex_body_diffuse": "b932cd65", "tex_body_lightmap": "dd90b43c",
245
+ "tex_dress_normalmap": "e66b5b37", "tex_dress_diffuse": "b932cd65", "tex_dress_lightmap": "dd90b43c",
246
+ "tex_extra_diffuse": "99a26018"}}}
236
247
  ##### EndScript
@@ -24,6 +24,7 @@ IndexData = {4.0 : {"Amber": {"head": "0", "body": "5670"},
24
24
  "Fischl": {"head": "0", "body": "11535", "dress": "42471"},
25
25
  "FischlHighness": {"head": "0", "body": "23091"},
26
26
  "Ganyu": {"head": "0", "body": "12822", "dress": "47160"},
27
+ "HuTao": {"head": "0", "body": "16509"},
27
28
  "Jean": {"head": "0", "body": "7779"},
28
29
  "JeanCN": {"head": "0", "body": "7779"},
29
30
  "JeanSea": {"head": "0", "body": "7662", "dress": "52542"},
@@ -47,5 +48,6 @@ IndexData = {4.0 : {"Amber": {"head": "0", "body": "5670"},
47
48
  4.6: {"Arlecchino": {"head": "0", "body": "40179", "dress": "74412"},
48
49
  "ArlecchinoBoss": {"head": "0", "body": "40179", "dress": "74412"}},
49
50
  4.8: {"NilouBreeze": {"head": "0", "body": "44538", "dress": "73644"},
50
- "KiraraBoots": {"head": "0", "body": "36804", "dress": "80295"}}}
51
+ "KiraraBoots": {"head": "0", "body": "36804", "dress": "80295"}},
52
+ 5.3: {"CherryHuTao": {"head": "0", "body": "43968", "dress": "77301", "extra": "86808"}}}
51
53
  ##### EndScript
@@ -330,5 +330,22 @@ VGRemapData = {4.0: { "Amber" : {"AmberCN": VGRemap({0: 7, 1: 6, 2: 9, 3: 10, 4:
330
330
  71: 79, 72: 80, 73: 82, 74: 83, 75: 84, 76: 85, 77: 64, 78: 86, 79: 87, 80: 88, 81: 89, 82: 90, 83: 91, 84: 92, 85: 93, 86: 94, 87: 95,
331
331
  88: 96, 89: 97, 90: 98, 91: 99, 92: 100, 93: 101, 94: 102, 95: 103, 96: 104, 97: 105, 98: 106, 99: 107, 100: 108, 101: 109, 102: 110,
332
332
  103: 111, 104: 112, 105: 113, 106: 114, 107: 115, 108: 116, 109: 117, 110: 118, 111: 119, 112: 120, 113: 121, 114: 122, 115: 123,
333
- 116: 124, 117: 125, 118: 126, 119: 127, 120: 128, 121: 129, 122: 130, 123: 131, 124: 132, 125: 133, 126: 134})}}}
333
+ 116: 124, 117: 125, 118: 126, 119: 127, 120: 128, 121: 129, 122: 130, 123: 131, 124: 132, 125: 133, 126: 134})}},
334
+ 5.3: {"CherryHuTao": {"HuTao": VGRemap({0: 6, 1: 6, 2: 6, 3: 6, 4: 6, 5: 6, 6: 33, 7: 33, 8: 0, 9: 20, 10: 29, 11: 101, 12: 75, 13: 0, 14: 1, 15: 10, 16: 9, 17: 19, 18: 18,
335
+ 19: 17, 20: 15, 21: 16, 22: 11, 23: 0, 24: 4, 25: 28, 26: 27, 27: 25, 28: 24, 29: 23, 30: 21, 31: 22, 32: 13, 33: 3, 34: 2, 35: 41,
336
+ 36: 40, 37: 33, 38: 6, 39: 6, 40: 31, 41: 33, 42: 31, 43: 33, 44: 48, 45: 50, 46: 6, 47: 31, 48: 33, 49: 31, 50: 33, 51: 42, 52: 44,
337
+ 53: 56, 54: 56, 55: 56, 56: 56, 57: 58, 58: 58, 59: 58, 60: 58, 61: 37, 62: 38, 63: 39, 64: 48, 65: 34, 66: 35, 67: 36, 68: 42, 69: 33,
338
+ 70: 33, 71: 33, 72: 33, 73: 33, 74: 33, 75: 70, 76: 64, 77: 32, 78: 33, 79: 6, 80: 32, 81: 33, 82: 57, 83: 57, 84: 59, 85: 59, 86: 0,
339
+ 87: 72, 88: 56, 89: 103, 90: 108, 91: 96, 92: 104, 93: 100, 94: 95, 95: 105, 96: 99, 97: 94, 98: 106, 99: 97, 100: 93, 101: 107,
340
+ 102: 98, 103: 92, 104: 116, 105: 67, 106: 102, 107: 41, 108: 117, 109: 66, 110: 5, 111: 73, 112: 58, 113: 77, 114: 83, 115: 91,
341
+ 116: 78, 117: 87, 118: 88, 119: 79, 120: 89, 121: 90, 122: 80, 123: 84, 124: 85, 125: 81, 126: 82, 127: 86, 128: 115, 129: 61,
342
+ 130: 76, 131: 40, 132: 118, 133: 60, 134: 32, 135: 31, 136: 6})},
343
+ "HuTao": {"CherryHuTao": VGRemap({0: 86, 1: 14, 2: 34, 3: 33, 4: 24, 5: 110, 6: 136, 7: 86, 8: 14, 9: 16, 10: 15, 11: 22, 12: 22, 13: 32, 14: 32, 15: 20, 16: 21, 17: 19,
344
+ 18: 18, 19: 17, 20: 9, 21: 30, 22: 31, 23: 29, 24: 28, 25: 27, 26: 24, 27: 26, 28: 25, 29: 10, 30: 87, 31: 135, 32: 134, 33: 37, 34: 65,
345
+ 35: 66, 36: 67, 37: 61, 38: 62, 39: 63, 40: 131, 41: 107, 42: 68, 43: 131, 44: 131, 45: 111, 46: 111, 47: 131, 48: 64, 49: 107, 50: 107,
346
+ 51: 87, 52: 87, 53: 107, 54: 131, 55: 107, 56: 88, 57: 83, 58: 112, 59: 85, 60: 133, 61: 129, 62: 76, 63: 76, 64: 76, 65: 76, 66: 109,
347
+ 67: 105, 68: 75, 69: 75, 70: 75, 71: 75, 72: 87, 73: 111, 74: 111, 75: 12, 76: 130, 77: 113, 78: 116, 79: 119, 80: 122, 81: 125, 82: 126,
348
+ 83: 114, 84: 123, 85: 124, 86: 127, 87: 117, 88: 118, 89: 120, 90: 121, 91: 115, 92: 103, 93: 100, 94: 97, 95: 94, 96: 91, 97: 99, 98: 102,
349
+ 99: 96, 100: 93, 101: 11, 102: 106, 103: 89, 104: 92, 105: 95, 106: 98, 107: 101, 108: 90, 109: 69, 110: 69, 111: 70, 112: 69, 113: 69,
350
+ 114: 70, 115: 128, 116: 104, 117: 108, 118: 132})}}}
334
351
  ##### EndScript
@@ -20,7 +20,7 @@ from .Error import Error
20
20
  ##### Script
21
21
  class BadBlendData(Error):
22
22
  """
23
- This Class inherits fsrom :class:`Error`
23
+ This Class inherits from :class:`Error`
24
24
 
25
25
  Exception when certain bytes do not correspond to the format defined for a Blend.buf file
26
26
  """
@@ -42,7 +42,7 @@ from .tools.Heading import Heading
42
42
  ##### Script
43
43
  class RemapService():
44
44
  """
45
- The overall class for remapping modss
45
+ The overall class for remapping mods
46
46
 
47
47
  Parameters
48
48
  ----------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: FixRaidenBoss2
3
- Version: 4.2.2
3
+ Version: 4.2.4
4
4
  Summary: A library to help remap the mods installed on a character onto the skins of the character
5
5
  Author-email: NK <qqqqaaaapppp0000@gmail.com>, Albert Gold <AlexXianZhenYuAu@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/nhok0169/Anime-Game-Remap
@@ -455,12 +455,14 @@ Below are the supported types of mods
455
455
  | Arlecchino | Father, Harlequin, Knave, Perrie, Peruere | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Arlecchino)((?!RemapBlend).)*Blend.*\s*\]` |
456
456
  | Barbara | Healer, Idol | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Barbara)((?!RemapBlend\|Summertime).)*Blend.*\s*\]` |
457
457
  | BarabaraSummertime | BarbaraBikini, HealerSummertime, IdolSummertime | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(BarbaraSummertime)((?!RemapBlend).)*Blend.*\s*\]` |
458
+ | CherryHuTao | 77thDirectoroftheWangshengFuneralParlorCherry, 77thDirectoroftheWangshengFuneralParlorLanternRite, Cherry77thDirectoroftheWangshengFuneralParlor, CherryQiqiKidnapper, HutaoCherry, HutaoLanternRite, HutaoSnowLaden, LanternRite77thDirectoroftheWangshengFuneralParlor, LanternRiteHutao, LanternRiteQiqiKidnapper, QiqiKidnapperCherry, QiqiKidnapperLanternRite, SnowLadenHutao | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(CherryHuTao\|HuTaoCherry)((?!RemapBlend).)*Blend.*\s*\]` |
458
459
  | Diluc | AngelShareOwner, DarkNightBlaze, DawnWineryMaster, KaeyasBrother | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Diluc)((?!RemapBlend\|Flamme).)*Blend.*\s*\]` |
459
460
  | DilucFlamme | DarkNightHero, RedDeadOfTheNight | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(DilucFlamme)((?!RemapBlend).)*Blend.*\s*\]` |
460
461
  | Fischl | FischlvonLuftschlossNarfidort, 8thGraderSyndrome, Amy, Chunibyo, Delusional, MeinFraulein, OzsMiss, PrincessofCondemnation, PrinzessinderVerurteilung, TheCondemedPrincess | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Fischl)((?!RemapBlend\|Highness).)*Blend.*\s*\]` |
461
462
  | FischlHighness | ImmernachtreichPrincess, OzsPrincess, PrincessAmy, PrincessFischlvonLuftschlossNarfidort, PrincessoftheEverlastingNight, Prinzessin, PrinzessinFischlvonLuftschlossNarfidort, PrinzessinderImmernachtreich, RealPrinzessinderVerurteilung | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(FischlHighness)((?!RemapBlend).)*Blend.*\s*\]` |
462
463
  | Ganyu | Cocogoat | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Ganyu)((?!(RemapBlend\|Twilight)).)*Blend.*\s*\]` |
463
464
  | GanyuTwilight | CocogoatLanternRite, CocogoatTwilight, GanyuLanternRite, LanternRiteCocogoat, LanternRiteGanyu | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(GanyuTwilight)((?!(RemapBlend)).)*Blend.*\s*\]` |
465
+ | HuTao | 77thDirectoroftheWangshengFuneralParlor, QiqiKidnapper | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride((?!Cherry).)*(HuTao)((?!RemapBlend\|Cherry).)*Blend.*\s*\]` |
464
466
  | Jean | ActingGrandMaster, KleesBabySitter | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(Jean)((?!(RemapBlend\|CN)).)*Blend.*\s*\]` |
465
467
  | JeanCN | ActingGrandMasterCN, KleesBabySitterCN | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanCN)((?!RemapBlend).)*Blend.*\s*\]` |
466
468
  | JeanSea | ActingGrandMasterSea, KleesBabySitterSea | check if the .ini file contains a section matching the regex, `^\s*\[\s*TextureOverride.*(JeanSea)((?!RemapBlend\|CN).)*Blend.*\s*\]` |
File without changes
File without changes