Commit Graph

44 Commits

Author SHA1 Message Date
Gouvernathor 9befd927a8 fix 2024-04-04 22:58:41 +02:00
Gouvernathor 1e8f1ebfb8 Use a dict to store the dolls
the existing variable was a set, all the existing use cases still work (contains tests, iteration, turning into lists...)
2024-04-04 22:50:01 +02:00
Gouvernathor ea59c387d2 Turn unnecessary class into namespace
(cherry picked from commit 34165c7b2b)
2024-03-30 18:02:08 +00:00
LoafyLemon 22ce846d81 Expand matrixes support for body layers 2023-07-27 01:02:32 +01:00
LoafyLemon 4658a97b4a Bug fixes and improvements
* Improved skipping performance by delaying the call to render functions until after skipping ends
* Fixed skipping not refreshing the doll image
* Fixed skipping callback handler being affected by rollback
* Refactored doll show method
2023-07-25 17:54:34 +01:00
LoafyLemon ebc865b798 Bug fix
* Fixed stale images being displayed when threading is enabled and no image was called in a while
2023-07-25 17:54:33 +01:00
LoafyLemon 3c34d60745 Bug fix
* Rebuild image on init to avoid displaying nulls
2023-07-16 17:58:39 +01:00
LoafyLemon ece2690030 Bug fix
* Fixed clothing blacklists affecting all multislots instead of the specified multislot
2023-07-15 18:14:02 +01:00
LoafyLemon fc794f969a Android Bug fixes
* Added a UI lock mechanism to avoid render stalls
* Fixed initialization issue due to python init offset for android devices
* Fixed a hang caused by joining threads on android devices
* Fixed a race condition when forcefully stopping threads
2023-07-14 23:52:27 +01:00
LoafyLemon b6c77b1992 Multi-threading preference
* Implemented multi-threading preference option
* Adjusted code to make asynchronous calls optional
* Fixed initialization order for certain tasks
2023-07-14 02:33:58 +01:00
LoafyLemon 4b1b01eb09 Doll performance and bug fixes
* Implemented threading and lazyloading for the main doll
* Added global rebuild method for the dolls
* Updated save compatibility patch
* Fixed wardrobe categories showing locked items
2023-07-14 00:59:26 +01:00
LoafyLemon 6538e7ebea Bug fixes
* Fixed Cho's suspenders invalid image
* Fixed rebuild_wardrobe_icons referencing a global instead of a local
* Fixed get_equipped_wardrobe_item nulls
* Added debug info for debugging threaded icons
2023-07-12 23:25:53 +01:00
LoafyLemon 4c98cbe669 Wardrobe performance improvements and bug fixes
* Implemented new DollThread method with thread-safe locking mechanism and pickling support for thread event queues
* Added memoization for wardrobe elements
* Added threading for various wardrobe-related methods
* Added lazyloading (to avoid render stalls)
* Added button generation for DollCloth and DollOutfit instances
* Significantly reduced code repetition inside the wardrobe loop
* Added new methods for the Doll, and improved others.
* Fixed viewport adjustment values resetting on interaction
* Fixed character chit-chats performance issues
* Updated saves compatibility patch
2023-07-11 22:57:49 +01:00
LoafyLemon 79e25c27e9 Bug fixes
* Improved efficiency of RoomObject image creation
* Fixed a crash during one of the Tonks' hangout events
* Fixed DollMakeup object lacking clone method, causing issues with saved outfits
* Fixed DollMakeup non-uniform parameter order
* Fixed doll strip method affecting types like pubic hair, piercings, and tattoos
* Fixed ATL flicker on room objects due to inefficient creation of the images for room objects
2023-07-05 21:56:53 +01:00
LoafyLemon babbc11cf0 Bug fixes and improvements
* Implemented sort method for DollCloth types
* Fixed opacity matrix multiplications
* Fixed wardrobe outfit hash mismatch due to inserted body layers in compare objects
2023-05-14 17:31:31 +01:00
LoafyLemon 3d73d8c00d Bug fixes
* Fixed regression in sprites positioning method
* Fixed missing paperwork unlock when using quick start
* Removed redundant align attribute from doll class
2023-05-02 21:14:38 +01:00
LoafyLemon 2ee9d0fb16 Temporary expression assignment support
* 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
2023-04-26 00:18:17 +01:00
LoafyLemon aa29c72e84 Optimisations, SlottedObjects, and bug fixes
* Implemented SlottedObject with rollback support,
* Fixed poses not rolling back correctly (see above)
* Fixed character re-showing during cg scenes
2023-04-20 19:59:55 +01:00
LoafyLemon a2e53fd8ee Bug fixes
* Fixed Hermione 'suck it' repeat fail variant on tier 4 not working.
* Fixed character emotes
2023-04-19 22:17:01 +01:00
LoafyLemon d3d2f6c8aa Modding support
* Resolved CHARACTERS constant to allow adding custom characters without having to rely on monkey patching.
2023-04-11 20:36:25 +01:00
LoafyLemon 8d1a8b4ffa Refactor
* 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
2023-03-24 16:23:23 +00:00
LoafyLemon c0da6f3731 Bug fixes
* 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
2023-03-19 19:22:05 +00:00
LoafyLemon 9b771d1a77 Bug fix
* 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)
2023-03-04 20:59:39 +00:00
LoafyLemon 52b9c50c7b Bug fixes
* 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)
2023-03-03 00:50:50 +00:00
LoafyLemon 4b398b1485 File structure
* Merged chibi changes with dev
* Added ambiguous cum layer support
* Improved file structure
* Fixed outfits tab crash
2023-02-22 17:50:13 +00:00
LoafyLemon 7d1e761308 Bug Fix (Windows)
* Replaced os.path.join with posixpath.join in some instances to enforce UNIX paths
2023-02-11 21:25:15 +00:00
LoafyLemon fb8e3aab0f Outfit import/export
* Re-implemented image payload injection using Python3-compliant methods
* Added sanity checks for image importing and exporting
* Added compression for the payload
* Added user input for exported image file names
* Removed redundant layer for Tonks' ribbon bra
* Updated MyMod clothing definition example.
* Fixed regression in outfit clone functions
2023-02-10 23:12:16 +00:00
LoafyLemon 3586bba211 Modding support
* 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
2023-02-08 17:37:12 +00:00
LoafyLemon 2acccbea5a Bodyparts, Modding, Bug fixes
* 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
2023-02-07 19:22:05 +00:00
LoafyLemon 22a84479dd Dynamic Cum Layering
* 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
2023-01-19 21:55:19 +00:00
LoafyLemon 2946efbd2b Bug Fixes
* Refresh image if showing on specific function calls
2023-01-19 18:07:10 +00:00
LoafyLemon 99f174cfbb Refactoring, Optimizations, Bug fixes
* Fixed Hermione's hslut panties
* Refactored image calls
* Refactored character poses (partially)
* Added hash generation to all Doll-type displayables
* Hashed and cached Doll layers (Greatly improves rollback performance)
* Fixed outfit and colour randomization
* Added is_stale method to doll-type displayables to reduce code complexity
* Removed doll-related redundant global methods
* Added AVIF format support
* Simplified Doll posing
* and more...
2023-01-18 20:22:59 +00:00
LoafyLemon c1b04f6ccd IO Overhaul, Refactoring, and more
* 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...
2023-01-14 23:04:54 +00:00
LoafyLemon 870bfa29b4 Merge branch 'dev' into Python3 2022-12-28 19:20:38 +00:00
LoafyLemon 2d7a84bf00 Bug fixes
* 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
2022-12-28 19:06:24 +00:00
LoafyLemon 8994c77109 Zlayers
* Implemented zorder control for specific clothing layers
* Fixed Tonks' breasts missing shading.
2022-12-23 16:26:49 +00:00
LoafyLemon c32d926742 Coroutines
* Implemented asynchronous coroutines for Doll and Outfit generators
2022-11-11 22:24:47 +00:00
LoafyLemon e5a7060af9 Refactoring 2022-09-21 21:57:04 +01:00
LoafyLemon af2a4a4a85 Doll equip function
* Added list/tuple support for the equip function
2022-09-21 18:10:48 +01:00
LoafyLemon bf5710bf10 Bug fixes
* Default renderer to Auto for compatibility reasons
* Fixed animation assignments for dolls
* Fixed missing side images for non-doll speakers
2022-06-24 18:32:41 +01:00
LoafyLemon e1766d767e Bug fixes
* Fixed animation list for dolls
* Attempt at fixing Android 11 Texture Leak
2022-06-21 20:12:26 +01:00
LoafyLemon 7870da0905 Bug fixes
* 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
2022-06-19 22:27:08 +01:00
LoafyLemon f921a08078 Susan Bones
* Added new Susan Bones model with new expressions.
* Added new base hairstyle
* Removed old clothes files
* Further reduced the number of Null displayables for Dolls
2022-06-09 21:13:04 +01:00
LoafyLemon 42756113b8 WTS 2022-05-17 00:48:22 +01:00