Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Base Separation #4582

Merged
merged 70 commits into from
Sep 2, 2019
Merged

Base Separation #4582

merged 70 commits into from
Sep 2, 2019

Conversation

ThePotatoGuy
Copy link
Member

@ThePotatoGuy ThePotatoGuy commented Sep 1, 2019

#4458 #4474

Key Changes

  • all non-bg sprites updated to new night filters
  • arms, mouths, eyes, nose and other sprites remade
  • sprite-system updated to work with the new split base system
  • expansion of unit test framework with additional types
  • ACS are now forced to be worn at their recommended layer
  • tears left/right officially removed

Split-Base system

  • Body sprites are now split into 2 pieces: back (0) and front (1).
  • Arms are also split into back (0) and front (1).
  • Clothes and base sprites are no longer baked together.
  • Base sprites are included now and rendered below clothes
  • Additional ACS layers have been added, including ACS layers specifically for inserting ACS between clothes and base.

For a more in depth description of this, check #3174 .

MASPoseArms

New class that represents a pose's arms. Allows for easier pose creation (aka now we can mix and match arms, provided they are separate).
See sprite-chart.rpy for more info.

Remade sprites + new night filtesr

  • leaning arms have been redrawn (@Orcaramelo)
  • mouths/eyes/nose expressions have been redrawn (@velius94 + @professor-jmo)
  • new night filter that doesn't destroy blues and greens (@Orcaramelo)

Unit Test expansion

  • assertDictEqual and assertListEqual have been added
  • assertEqual now triages to assertDictEqual and assertListEqual if necessary

Sprite JSON updates:

(wiki will be updated with new documentation shortly) (See here for a draft)

Removals:

  • fallback - mpm_type should be used to denote a fallback-style MASPoseMap (see below)

Additions:

  • mpm_type - new property for MASPoseMap that determines what the values should be. This is only used to differentiate between the Enable/disable and fallback modes.
  • arm_split - new property for ACS sprites, contains a MASPoseMap with special string values to determine if an ACS has images for specific split layers. This is only meant for BSE_ACS and ASE_ACS layers.
  • pose_arms - new property for clothes sprites, contains a MASPoseMap with MASPoseArms. Determines which layers have arm layers (if at all) for an outfit.
  • version - top-level required property. Initial version is 2. This will be updated whenever the sprite system changes format in a way where existing JSONs will be broken. JSONs with a different version are not loaded.

Followups

These will be linked to this PR when they are created:

Testing

  • verify all sprites look ok
  • verify all sprites night versions are with the new filter
  • verify existing spritepacks still load (using the included updated JSONs)
  • verify necklace and bracelet still look okay (only ACS in ASE/BSE layers)
  • verify trying to wear an acs in the wrong layer (using monika_chr.wear_acs_in or sister functions) will force the acs to be worn in the correct layer. (this can be overrided if needed)

Unit Tests

Verify the 3 new groups are sucessful:

  • JSON - MASPoseMap
  • JSON - MASPoseArms
  • JSON - MASPoseArms-JGroup

@ThePotatoGuy ThePotatoGuy added awaiting testing code needs to be tested awaiting code review someone needs to check for syntax/logic/indentation errors labels Sep 1, 2019
This was referenced Sep 2, 2019
@ThePotatoGuy ThePotatoGuy removed awaiting code review someone needs to check for syntax/logic/indentation errors awaiting testing code needs to be tested high priority labels Sep 2, 2019
@ThePotatoGuy ThePotatoGuy merged commit 67565fd into content Sep 2, 2019
@ThePotatoGuy ThePotatoGuy deleted the base-separation branch September 2, 2019 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants