* Added temporary expression assignment functionality
* Fixed get_face returning a live dict object instead of a dict copy
* Improved and simplified character speaker functions
* Removed obsolete face dicts
* Fixed CGController incompatibility with Ren'py automatic image definition system causing issues with Cho handjob/blowjob CG scenes
* Converted introductory CGs into show statements
* Converted quidditch CGs into show statements
* Converted potions CGs into show statements
* Reviewed and removed redundant CG code
* Added strip sounds during Lockheart Tattoo public event.
* Removed bld and blktone in some places where it's replaced by inner thought and narrator character.
* Minor writing improvements/fixes.
* Doll positioning and posing improvements.
* Improved Cho Gryffindor match leadup public favours.
* Fixed some calls showing multiple ">".
* Removed bld and blktone in some places where it's replaced by inner thought and narrator character.
* Changed Hermione calling lollipops "Candy" since she's not American.
* Fixed miss-named Cho "crooked_smile" expression.
* Fixed Tonks' "Morph" effect being delayed in some instances.
* Fixed some calls showing multiple ">".
* Removed bld and blktone in some places where it's replaced by inner thought and narrator character.
* Minor writing fixes.
* Minor character positioning fixes.
* Re-added Tonks' Silky dress using in-engine opacity to allow 0 opacity.
* Adjusted some calls to work with new bld/blktone functions.
* Fixed Hermione talking about herself rather than genie. (nickname)
* Minor writing and positioning fixes
* Added weights support to random block statements
* Added missing `open_wide_tongue_panties` mouth for Hermione
* Simplified CDS vars and attributes, and changed them to be in line with Renpy standards
* Fixed linting of character statements
* Fixed 'jazz take 2.ogg' file being located in the wrong directory
* Fixed minimum and maximum allowed initialization offset for statements
* Fixed show image statement missing space
* Fixed poster image show statement to enable prediction
* Fixed updater screen lacking parenthesis (was valid but slowed down initialization)
* Fixed random statement prediction
* Fixed uncommented Tonks chit-chat check (forgot to do so after testing)
* Fixed character calls breaking when the supplied number of expressions was less than 4, from now on expressions must be supplied as keyword arguments (this is already internally enforced)
* Fixed wardrobe not initializing in replay context
* Fixed unequip all clothes cheat
* Fixed example mod file structure
* Fixed ability to rollback to the broken past during the game's start
* Simplified initialization
* Simplified mods module importing and parsing, reducing possible number of fail points
* Moved audio channel registration to options (config) file
* Added default zorder for `cg` image tag
* Added rpym format to .editorconfig
* Fixed sprite positioning in some events
* Fixed story inconsistencies, spelling mistakes, and grammar in some events
* Fixed leading house checks in some events
* Fixed Cho's Sweater 2
* Added sanity check for mismatched number of textures and colours for clothing items, with a user-friendly warning rather than a hard crash
* Fixed pulse_hover animation resetting
* Fixed Hermione's hold book pose
* Fixed minor story inconsistencies and spelling
* Fixed Tonks' hair colour not resetting
* Blocked Hermione from being summoned during Tonks' investigation
* Blocked Snape from being summoned during the day (It's not like he'd help anyway)
* Updated tutorials to reflect these changes
* Overhauled colour codes support with Ren'py supplied Color class
* Added support for hexadecimals alongside colour tuples w/ backwards compatibility
* Reduced colour assignments overhead
* Converted all colour lists into hexadecimals for all characters
* Added DollBodypart class to allow more extensive modding support for characters, along with dedicates layers for breasts, hips and so on...
* Added more bangs into DollClothDynamic, allowing tracking of singular objects and the ability to chainload the IDs
* Added get_character_body global method
* Added istype global method
* Improved caching, layering for dynamic clothes
* Improved hashing for Doll instances
* Improved readability and improved internal naming convention for Doll-type classes
* Removed dedicated buttplug slot (superseded by multislot reimplementation)
* Fixed clothing supplied skin layer issues with zorders
* Fixed DollClothDynamic __repr__ lack of quotes
* Fixed Hermione's open_wide_tongue mouth
* Fixed Hermione's tattoos missing images
* Fixed Cho's 'goodbye' after-summon skit using wrong number of expressions
* Refactored DollFace
* Refactored DollBody
* Refactored DollCum
* Refactored DollCloth
* Refactored Doll
* Refactored clothing item zorders
* Refactored implementation of body, face, cum, clothing layers
* Refactored function calls
* Removed DollLipstick
* Added DollMakeup class, allowing adding dynamic clothes tracking face states
* Added DollClothDynamic, allowing dynamic clothes tracking other cloth states with bangs support
* Added cache to frequently called functions, drastically reducing the overhead
* Added hash system, reducing clone redundancy
* Added layer modifiers support for all types (face, body, cum, clothes etc.)
* Added support for an arbitrary number of equipped multislot clothing items (makeup, tattoos, piercings, etc.)
* Simplified initialization for clothing items and dolls
* Simplified class function calls
* Reduced the number of image creation calls
* Added hue support for additional skin layers
* Added displayable support to image cropping function
* Replaced store cache with built-in functools cache for _list_files function
* Refactored all character files
* and more...
* Added checkpoints to forbid the editor from rolling back to menu context
* Added forced checkpoint for when the editor is being opened to avoid rolling back to before it was opened (by opening a console for example)
* Alleviated the issue for when the game tries to recover from the place it cannot stop rolling back, but version var is unavailable because of it being not initialized in that moment