* Added an automatic scalar method for undersized/oversized textures
* Added the ability to dye clothes without having to convert them into greyscale
* Added scalar ratio support for whitespace generation
* Improved whitespace generation for objects with nested children displayables
* Added Hermione chit-chats based on character states, event progression, weather etc.
* Added additional checks for Hermione's chit-chats.
* Adjusted Hermione's chit-chat levels to align with tiers.
* Minor writing adjustments.
* Added indicator for unscheduled items in the wardrobe's schedule tab
* Fixed var references
* Fixed characters not displaying in certain events.
* Fixed characters positioning in certain events.
* Fixed Madam Hooch refusing to exit the office.
* Fixed misnamed "Jerk off naked" chibi animation, which caused it not to load.
* Fixed Hermione "-Let's Duel-" menu unlock.
* Fixed misnamed Tonks event vars, which caused her to not appear during the intro.
* Fixed misnamed Tonks event vars in cheats, which caused her events not to get skipped when you skip the intro.
* Moved temp "_cumming" variable to "hg_pf_admire_breasts_T3" as it is later checked even if you don't pick "masturbate" option.
* Minor writing and blktone fixes.
* Fixed regression in sprites positioning method
* Fixed missing paperwork unlock when using quick start
* Removed redundant align attribute from doll class
* Posed "hg_pf_strip_T4_snape", "hg_pf_strip_T4_snape_masturbate" and "hg_pf_strip_T4_snape_watch" sections of Dance for Snape Hermione favour.
* Removed old CG calls.
* Added support for temporary attribues
* Redesigned persistent expressions toggles and simplified them
* Improved defined expressions dictionary handling and added imap sorting
* Simplified parts of code
* Fixed prompt screen incompatibility with Text displayables
* 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
* Added creampie, anal_creampie, gokkun, statuses
* Fixed double defined memory flag
* Fixed non-existent screen call in some events
* Fixed a non-existent hermione expression call
* Fixed non-existent hide image tag call
* Fixed menu text styling, and grammar
* Fixed status flags not adhering to the naming convention
* Replaced caught_genie_masturbating status flag with an event flag
* Added additional event flags where it made sense
* Added "states.her.status.caught_genie_masturbating" flag, and changed previous "states.her.status.handjob" checks to use it.
* Added "states.her.status.cum_body" flag, used to check when genie first cums on Hermione's clothes/body.
* Adjusted some checks.
* Added milestones tutorial, briefly explaining the relationship system
* Added temporary flag to disable one-off dialogue option during 'give me a handy' sub-event
* Fixed string encoding/decoding issues with non-latin languages
* Fixed expression editor crash on copy/pasting
* Fixed expression editor crash caused by inserted None value choices for expression that don't support it
* Improved and posed "Give me a handy".
* Posed "Dance for me".
* Adjusted some of Hermione's nickname requirements to align with her attitude.
* Minor writing improvements.
* Fixed expression editor not re-initializing after reloading the script
* Fixed expression editor not detecting modified expressions after reloading the script
* 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
* Fixed and replaced getattr methods in some instances referencing character states
* Fixed get_character_unlock, and get_character_mood referencing wrong var and store
* Fixed lint self defining character tag instead of using a global func
* Improved writing and posing, and added sound effects for Hermione "grope her" and "final events".
* Added more randomized dialogue when Hermione agrees to do favours even when Gryffindor is in the lead.
* Added missing hooch head icon
* Removed leftover references to update_interface functionality
* Fixed missing directory for expressions causing crashes in character studio
* Fixed unlock state detection in character studio
* Fixed hooch studio crash
* Improved Hermione "Panty Thief" variants.
* Removed old CG calls.
* Removed bld and blktone in some places where it's replaced by inner thought and narrator character.
* Added check for if you've asked Hermione to strip during Tier 2 dancing, for writing variation once she agrees on Tier 3.
* Added writing variant for Hermione Tier 3 show breasts ending, if you came on her.
* Adjusted event name var.
* Fixed genie distributing more points than he promised on "Flash A Classmate" public requests.
* Improved writing and posing during "show me your tits, flash your tits, flirt with students, flirt with teachers, kiss a girl and "let them grope you".
* Removed blktone and bld in some places where it's replaced by inner thought and narrator character.
* Lowered points payout slightly for "Kiss a girl" public favour.
* Removed mood penalty on one of Hermione's public events as bad mood is inescapable.
* Fixed double fade effect when give_reward label was called
* Fixed Susan's face cum layers not displaying due to wrong file structure
* Fixed card game tutorial highlight placement
* Fixed wardrobe vertical scrollbar styling not adhering to time of day
* Fixed card game tutorial being covered by narrator fade
* Replaced one-off screen effects with images
* Restructured objects and decorations image files and placed them in the relevant room directories
* Moved some image definitions into relevant mirror story scripts
* Removed old interface assets
* 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.
* Reduced memory footprint by excluding DollCloth and DollOutfit instances from directly participating in rollback unless reachable through renpy scope
* Removed nonfunctional transform from gui_fade
* Removed unused asyncio import
* Unified the use of interface fade
* Replaced function call with a Renpythonic text display in confirm context
* Disabled tooltips on android devices
* Improved screen boundary detection to avoid overflow
* Improved readability and padding
* Fixed the existence of tooltip parameter causing massive lag spikes on hover/unhover events (even when tooltips were disabled) by patching the related engine focus function
* Fixed import initialization offset
* Fixed and converted hooch chibi images into spritesheets
* Fixed hooch chibi calls
* Fixed new chibi format file dirs
* Fixed inner thought overlay displaying above side images
* Added default audio fadeout value of 1.0
* Removed rebuild method calls (superseded)
* Removed incompatible updater code
* Converted cho new chibi into spritesheets (Placeholder)
* Commented out dev code to avoid issues
* Fixed Cho Quidditch outfit not being set properly during Gryffindor tactic talk, and base outfit getting overwritten.
* Removed bld and blktone in some places where it's replaced by inner thought and narrator character.
* Minor writing improvements.
* Minor Doll positioning improvements.
* Added a hint regarding the 'brutes' section of Cho's quidditch quest
* Fixed face and cum submodule processors referencing a wrong vars
* Fixed face and cum submodules custom zorder modifiers
* Fixed cum submodule zorder assignments and simplified the code
* 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.
* Converted the event into new format
* Fixed layering bugs
* Fixed return labels
* Fixed Narrator fade being applied on top of CGs
* Fixed music restarting twice whenever Genie returns to the office
* Fixed 'decorator' achievement being unreachable
* Fixed character face initialization in the case character image was never called before with facial values
* Fixed saybox disappearing for anonymous narrator calls
* Fixed inner thought fade not working with text tags
* 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
* Fixed Cho's quidditch outfit being supplied list of colours even when not needed.
* Fixed Hermione hair cum layers
* Added sanity check for missing directories for cum layers relying on clothing states.
* Added sanity check for apply_color function, and added hints how to fix the errors.
* 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)
* Added temporary school clothing on doll to go with CG.
* Added doll stripping.
* Added cum on Hermione Doll hair after last event.
* Adjusted writing to fit better with the rest of the game.
* Fixed Hermione doll positioning.
* Moved transition definitions into their own file.
* Removed narrator name and side image
* Added automatic narrator speaker fade
* Added automatic inner thought gradient fade
* Fixed night.ogg playback
* Fixed breasts potion intro label typo
* Fixed menus page calculation (PY2 -> PY3)
* Fixed menu page arrow rotation in Twins Shop
* Fixed ball dress being able to be given out before getting the actual item in a parcel
* Fixed Hermione vibrator event CG wetness layering
* Fixed parcel icon references
* Fixed character studio pose reference
* Fixed and updated expression editor to work with new paths, and disabled editor initialization until it is explicitly executed
* Fixed common wardrobe functions initialization offset
* Fixed typos
* Simplified and improved mods loading process by utilising the newly added include_module method
* Added sanity checks for mods toggles
* Added scripts list to mods list dict
* Added ToggleMod action
* Require restart to load mods
* Fixed mods not loading at certain times
* 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 temporarily hidden clothes being excluded from staleness checks during pose changes
* Fixed Luna's lion outfit
* Replaced list method call with a for loop, to avoid large list memory allocation
* Fixed big booba an dumpy cheats
* Fixed body controller submodule hash generator
* Fixed cho panties throw crashing the game
* Fixed Outfit/Clothing unlock referenced methods
* Excluded body submodule from doll and icon image generation (superseded by bodyparts)
* 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
* Added wet pussy and squirting when Tonks is masturbating, morphed as Hermione.
* Added Cho nose and cheeks freckles.
* Added redrawn versions of old cho clothing:
* top_tanktop_1
* top_tanktop_2
* witch (hat)
* Re-Added Hermione freckles to work better with multi-layer toggles.
* Re-Posed Hermione masturbation events.
* Re-Posed Luna masturbation events.
* Renamed some clothing folders for consistency.
* Fixed Cho Virgin-killer skin layer outline overlaps.
* Fixed Miss-labeled expression folders and names.
* Fixed folder structure on Hermione Masturbating pose folders.
* Fixed eyes and pupils, and merged them into one image
* Added missing shadows
* Converted files to webp format
* Fixed tears calls
* Fixed layering
* Removed dev label
* Fixed CG not being hidden at the end
* Fixed hide character calls
* Smoothened camera animation
* Fixed outfit checks
* Fixed lockhart tattoo item checks and calls
* Replaced old calls in added clothing choice.
* Added clothing state check for strip so it won't play the sound if she's already naked.
* Minor writing tweaks.
* Added arbitrary cum layers support for dolls
* Improved camera handling during Hermione sex scene
* Added additional clothing options during Hermione sex scene
* Fixed texture leak in Hermione sex scene
* Fixed image prediction in Hermione sex scene
* Converted Hermione face calls during sex scene to layered images
* Reorganized hermione sex scene assets
* Added support for all Doll features, including colourable clothes and modding
* Added cache
* Simplified animation generation
* Added 'register_pose'
* 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 the ability to add fan-made characters, and to modify the existing ones through modpath overrides
* Changed modpath initialisation to automatically add 'mods/' directory
* 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
* Converted Hermione's potion body changes into clothing items for better maintainability and to provide modding support
* Composited body images of characters into singular files to reduce layering complexity and overhead
* Fixed Luna's eyemasks
* Added dynamic cum layering based on clothing and facial states w/ backwards compatibility
* Fixed layers zordering
* Refactored default layer dicts
* Fixed repr class name in DollClothDynamic
* Added back and front zorder modifiers to cum layers
* Fixed cum layers not updating on call
* Fixed skin layers fighting for zorder with the body
* 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...
* Disabled detection of orphaned scripts for non-devs
* Added cache to renpy.list_files to reduce IO overhead (~14s -> ~0.01s per 10k calls)
* Fixed wrong module call in weather.
* Fixed Genie flashing his goods in stats menu
* Fixed lipstick causing a crash in saved outfits due to missing zlayers
* Fixed debug print spam
* Version bump
* Added new Genie Stripper Santa Outfit.
* Added experimental Genie Outfit cheat.
* Refactored santa speaker to utilize a single `gen` speaker and applied the change to all affected events.
* Improved base Genie model, the default robes outfit and image creation code.
* Added new Genie Stripper Santa Outfit.
* Added experimental Genie Outfit cheat.
* Refactored santa speaker to utilize a single `gen` speaker and applied the change to all affected events.
* Improved base Genie model, the default robes outfit and image creation code.
* Split 'Inspect her body' into sections, to make the events more manageable.
* Added new content for Tier 2.
* Added new content for Tier 3.
* Added a flag for Cho's blowjob events.
* Fixed Luna sprite persisting throughout Wardrobe context
* Fixed regression related to wardrobe chit-chats due to the mixing of renpy and python scopes
Mirror of Erised:
* Set doll positioning at start of mirror stories to ensure dolls are correct.
* Adjusted Doll flip on "A booty at sea" story.
* Removed Doll Cum layers on "A booty at sea" story as genie cums inside/on her back.
* Improved "A bad time to disrobe" writing.
* "Flash your tits", Minor writing fix
* Added custom animation/transform support
* Added Rollback support
* Added special layers support
* Rewritten parts of code responsible for displaying the animation
* Rewritten animation creator to mirror Doll-like file behaviour
* Fixed mouse button events handling
* Fixed raise error type
* Fixed inability to add more than one layer for each frame
* Replaced PY2 format with f strings for clarity
* Implemented automatic clothing system
* Implemented Skipping support
* Implemented interrupt support
* Implemented pause support
* Implemented Loop Pathfinding (A -> B -> A)
* Implemented Loop Pathfinding with Reverse (A -> B -> C -> B -> A)
* Implemented Repeat Pathfinding (A -> B x2)
* Implemented Repeat Pathfinding with wrap (A -> B -> A x2)
* Implemented Repeat Pathfinding with Reverse (A -> B -> C -> B -> A x2)
* Added Cho chibi placeholders
* Added squirting to Hermione masturbate favour.
* Added "squirt_transition" image variants (mix of "squirt" and "squirt_post" for when she cums multiple times).
* Removed unnecessary code that's already part of end label.
* Removed "set music volume" for one of the events.
* Posed Low level Public event and intro.
* Added alternative low public tier intro writing when Hermione's personal tier is higher.
* Added clothing equips at start of public return to avoid it being overwritten by outfit scheduler.
* Adjusted some wording to improve flow of conversation.
* Posed Vibrator event Main Intro section.
* Added repeat writing variants at start of event
* Adjusted stripping/equipping sections.
* Adjusted some writing slightly about her taping on the vibrators.
* Fixed leaking color on basic bra.
* Posed part of the personal vibrator event
* Adjusted "closed" eyes slightly on personal vibrator CG
* Fixed "base underwear" so it matches "vibrator underwear"
* Removed itertools dependency
* Removed substitution for variables (redundant)
* Fixed a crash caused by anonymous variable assignment inside a nested lambda function, inside list comprehension due to unsupported ast magic (what a mouthful)
* Improved styling
* Fixed Xray displayable not updating when its children supplied no image attributes.
* Defined default zorders on children of Xray displayable
* Posed parts of the event
* Added support for image references
* Added support for LayeredImage, and LayeredImageProxy
* Added the ability to use show statements as a proxy for Xray displayables
* Added previously omitted mask child to the visit method
* Restored automatic image definitions (As a part of CG implementation effort)
* Rewritten and re-implemented color picker in shading language
* Vastly improved performance
* Added live preview back
* Overhauled interface
* Code Cleanup
* Reduced import overhead
* Fixed generic update image creator
* Fixed new side image type regression
* Fixed MyMod game version inside manifest
* Fixed MyMod missing from release
* Fixed android mods detection
* Removed android searchpaths (superseded)
* Moved engine related changes into its own file
* Fix `fem` caller unnecessary arguments (Caused by regex most likely)
* Fixed xray displayable opaque Render flag (superseded by internal Ren'py changes)
* Fixed Doll animation concatenation to list
* 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