Commit Graph

58 Commits

Author SHA1 Message Date
faba726a3d Avoid code duplication and using throwaway variables
(cherry picked from commit 66f8f5ab28)
2024-03-30 17:57:41 +00:00
36582d0f9c Final f-string batch
some uses of str.format remain, but converting them would be more trouble than it's worth

(cherry picked from commit f17cffa3ec)
2024-03-30 17:57:17 +00:00
b62fbcb179 More f-strings
(cherry picked from commit 15b6025d39)
2024-03-30 17:53:07 +00:00
5659c4e4f4 Fix kwarg calls
(cherry picked from commit 489f43cd0b)
2024-03-30 17:52:59 +00:00
cc6e76d154 Generalized use of f-strings
(cherry picked from commit fa0acdbfff)
2024-03-30 17:52:43 +00:00
f673985bc3 Avoid shadowing the builtin
(cherry picked from commit e4d64839b8)
2024-03-30 17:52:17 +00:00
9182e5b750 Unnecessary formatting
(cherry picked from commit c816674c7c)
2024-03-30 17:51:34 +00:00
3ebb5c53f4 Factorize check
(cherry picked from commit 40be2ccf18)
2024-03-30 17:51:17 +00:00
38d2494bc3 Fix conflicting properties (by Gouvernathor)
big work
what was reliable before is now not, in recent versions of renpy, which is why we added that new config (which I put in say.rpy, but it can be moved somewhere else)
Also fixes the game_menu's title position, incidentally

some changes are incompatible with my diary and achievement branches, respectively, they will need to be merged with a bit of manual care
2024-03-25 14:57:36 +00:00
9a088d22e1 Fix 9ee1de9
(cherry picked from commit 5252c7eae2)
2024-03-24 18:08:53 +00:00
ef17df3698 Make the wardrobe variables dynamic
(cherry picked from commit 9ee1de9fd0)
2024-03-24 18:08:26 +00:00
ad2e009665 Change the spinner box character
(cherry picked from commit 902cf9b4d9)
2024-03-24 18:03:24 +00:00
f871b036dd Improve threading when predicting the wardrobe
don't use single-underscore names
if available, use the thread-safer invoke_in_main_thread (not required when setting the global variables)
set __lock to True outside of the thread, otherwise if the thread starts late, the while loop is skipped
call get_character_object in the main thread

(cherry picked from commit 7a25a13926)
2024-03-24 18:02:19 +00:00
6860614062 Use the correct operator(s) for None
(cherry picked from commit 837d6b378e)
2024-03-24 17:06:06 +00:00
2a54c483e8 Simplify some code
(cherry picked from commit 641893217e)
2024-03-24 16:29:45 +00:00
d48708579b Fix misuse of variable
- don't use a reserved name (starting with an underscore)
- use a file-local mangled name (starting with two underscores
- use renpy.dynamx to cleanup the variable automatically

(cherry picked from commit 3e86094b0b)
2024-03-24 16:00:53 +00:00
47b5184e06 Repr instead of adding simple quotes manually
it's a tad slower but it's a better general practice and we're in an error handling branch anyway

(cherry picked from commit e80bd9e6e6)
2024-03-24 15:55:25 +00:00
962cc2f695 Bug fixes
* Fixed outfit deletion tab not updating the list of items
* Fixed Tonks' public requests menu crashing due to an omitted result type
* Removed manual image rebuilding in wardrobe (superseded)
2023-07-25 17:54:33 +01:00
6ce3a71391 Bug fix
* Fixed a crash during outfit overwrite due to invoking a wrong method
2023-07-16 16:57:53 +01:00
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
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
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
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
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
a2794e3e47 Performance
* Improve wardrobe performance by caching last 100 generated icon references
2023-07-09 01:18:45 +01:00
2f136986e2 Bug fixes
* Fixed character cheeks and tears layers being stuck in both gameplay and character studio
* Fixed missing reset properties during end event labels
* Improved updater hint for potential edge cases
2023-07-08 21:44:47 +01:00
f8d6a15aaa Improvements and fixes
* Improved Hermione Tier 5 and 6 events.
* Improved Hermione Cardgame wager event.

* Added Hermione titjob var.
* Minor fixes.
2023-05-30 17:55:26 +02:00
65e4582457 Bug fixes and improvements
* 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.
2023-05-15 19:12:15 +01:00
30687923d7 Bug fixes
* Fixed mods enabled persistent set chicken and the egg problem (init)
* Fixed gift items referencing old variable
2023-05-10 16:16:42 +01:00
f66c5df6b7 Face parameter removal (astoria)
* Removed face parameter for Astoria and reposed events that relied on it.
2023-05-02 19:29:53 +01:00
697819b5ba Bug fixes
* 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
2023-04-16 17:47:50 +01:00
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
f8a1d75d9b Bug fixes
* 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
2023-04-09 20:54:15 +01:00
b28a3e250d Refactor variables - Part 1
* Added get_character_scheduling function
* Removed update_interface_color calls (Redundant)
* Redesigned variable naming convention to simplify assignment and lookup
* Removed counter_class (Superseded)
* Removed DynamicDisplayable CG implementation (Superseded)
2023-03-31 23:41:48 +01:00
9f5c99d4d8 Bug fixes
* 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
2023-03-28 22:06:48 +01:00
98ba4d03a2 Wardrobe improvements
* Added thread-assisted assets preloading
* Added loading displayable
* Added rollback and skipping support to wardrobe reactions
* Improved wardrobe performance
* Improved wardrobe reactions compatibility with Renpy scope
2023-03-24 18:04:49 +00:00
8ad59d1421 Bug fixes
* Fixed a regression in music playback
* Unexposed monkey-patched engine functions to avoid issues
2023-03-16 22:55:14 +00:00
e1feea93d4 Bug fixes
* Fixed Hermione's card game job opportunity logic
* Fixed keysym lacking an action in save ui.
* Fixed missing image definitions
* Fixed outfit randomizer affecting bodypart layers
* Fixed a typo
2023-03-14 23:26:12 +00:00
dc212e80d1 Audio
* Added `sound` sfx channel
* Refactored and unified sound & music calls
* Fixed missing sounds in astoria events
* Removed hide_screens label (Redundant)
* Removed play_music, play_sound call labels
2023-03-11 22:01:39 +00:00
fcd56f4516 Bug fixes
* 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
2023-03-09 21:56:16 +00:00
d58ebb35f7 Bug fixes
* Fixed missing import in studio scope
* Fixed some sprite positions
* Added a hint for tutoring.
2023-02-18 21:56:29 +00:00
9b02b229c9 Colour Theory
* Apply colour theory to colour randomisation.
2023-02-15 23:20:00 +00:00
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
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
5fdf1e87fe Bug fixes
* Fixed traceback crash (doh!) caused by uncaught ast eval exception
* Fixed dev colour code info screen
2023-02-09 19:35:52 +00:00
dcdd54cdfe Colour Re-implementation
* 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
2023-02-08 21:40:28 +00:00
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
c3b117b874 Bug fix
* Fixed character studio
2023-01-30 20:18:54 +00:00
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
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