* Implemented deepthroat part of the event
* Implemented deepthroat CG
* Fixed missing open shirt layer for handjob CG
* Fixed some minor writing problems
* 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.