Commit Graph

147 Commits

Author SHA1 Message Date
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 6e93d8628f Bug fixes and improvements
* Added dev skip for cardgame for testing purposes (I swear!)
* Fixed missing achievement triggers for 'Mad Hatter' and 'Poster Boy'
* Fixed cardgame twins challenge being inaccessible
* Fixed colour picker invoking non-existing image outside wardrobe scope
* Disabled cardgame easter egg (broken, requires refactoring)
* Improved cardgame hints
* Improved cardgame event handling
* Fixed grammar
2023-07-08 21:44:47 +01:00
LoafyLemon 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
LoafyLemon 3a853c8e60 Bug fixes and updater improvements
* Added feedback hints when clicking 'check for updates' button in the main menu
* Updated methods to reflect the new changes
* Fixed updater crashing with `u` parameter due to explicit no-parameter screen definition, while renpy expects the (lax) implicit definition
* Fixed server url
2023-07-06 00:23:00 +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 653628c90c Improve save compatibility warning 2023-07-04 19:43:37 +01:00
LoafyLemon ce435cb69c Bug fixes
* Disabled DollChibi place method default pause (unintended)
* Load audio before fades during retrospection
* Simplify achievements if block
2023-07-04 15:55:19 +01:00
LoafyLemon 650563775e Bug fix
* Fix a rare bug that will mask parser bugs due to the order of initialization
2023-07-02 17:03:44 +01:00
LoafyLemon 5d9b311430 Bug fix
* Fixed updater crash caused by missing updater image during a potential server outage
2023-07-01 15:03:46 +01:00
LoafyLemon 2f74221abb Bug fixes
* Fixed name conflict within screen scopes (pickling error)
* Fixed expression editor error
2023-06-28 17:47:41 +01:00
LoafyLemon 0f3502de5e Bug fixes
* Fixed cancellation method for events utilising subevents
* Fixed callstack when cancel method is called and the next node is a jump (odd)
* Fixed missing 'ask her to do x' blurbs for fail event variants
* Fixed 'grope her' fail variant repeat dialogue flag
* Removed 'hermione_favor_menu' from ignore labels (superseded)
2023-06-28 00:54:14 +01:00
LoafyLemon 3ce6198359 Convert Hermione's Public Requests
* Converted Hermione's public requests into the queue system.
* Replaced event checks with status checks for the affected events.
* Ignore local labels in event completion tracking
* Improved readability for debug outputs
* Skip Luna intro on dev
2023-06-27 19:02:49 +01:00
LoafyLemon ede1ee9a6c EventQueue and Event classes improvements and bug fixes
* Added _event, _event_queue globals
* Added ignore_globals class tuple
* Added extensive debugging tools
* Added next and cancel methods
* Added subevents support
* Added ability to enqueue events abnormally
* Moved menu_hints method outside of the EventQueue for better modularity
* Fixed queue filtering
* Fixed repeatable events
* Fixed missing id for the mainloop EventQueue
* Fixed groping T1 unreachable second event
* Removed daytime parameter (superseded by req)
2023-06-26 01:44:25 +01:00
LoafyLemon 13a7017773 Convert Hermione's Personal Favours into the new Event system to address code logic bugs.
* Added internal counter for queues
* Simplified global vars for event completion checks.
* Temporarily disabled Hermione's statistics menu
* Replaced counter/points checks with status flags.
* Disabled debug profiling for images
2023-06-24 23:27:13 +01:00
LoafyLemon cceec862af Expand EventQueue and Event classes
* Added event callbacks support
* Added support for in-game favour-like behaviour
* Added debug functions
* Added extensive event parameters
* Added a bunch of new methods
* Added modding support
* Added completion tracking
* Added menu handlers
* Added global vars
* ... more
2023-06-23 19:07:37 +01:00
LoafyLemon d8601def73 Bug fixes and callbacks
* Added parcel callback support for the outfit store
* Added execute_callback wrapper function
* Fixed ball quest item never unlocking after receiving the outfit, soft-locking the game
2023-06-16 15:51:48 +01:00
LoafyLemon d14fe598b5 Android permissions
* Patched If function to work with actions
* Added AskPermission class action
* Added storage permission request for mods menu
2023-06-10 16:45:31 +01:00
LoafyLemon 012084ca10 Modders QoL and improvements for clothes
* 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
2023-06-08 17:41:06 +01:00
LoafyLemon 68dc4075c2 Save compatibility and version bump 2023-05-20 20:04:47 +01:00
LoafyLemon 598bff0d7c Save compatibility and version bump
* Updated save compatibility script
* Updated Ren'py to version 8.1 stable release 🎉
2023-05-15 19:36:08 +01:00
LoafyLemon a9740ff99e Version bump
* Added staging version support for version_float func
* Bumped version
2023-05-14 18:15:38 +01:00
LoafyLemon b5828b67f5 Pre-release
* Version bump
* Added pre-release notices and warnings
* Disabled some of the new Cho content until it gets properly finished
2023-05-13 16:08:35 +01:00
LoafyLemon 395c3d4397 Expression Editor
* 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
2023-04-27 20:46:24 +01:00
LoafyLemon 1d2e46b909 Bug fixes
* 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
2023-04-22 16:39:15 +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 93909e5862 Bug fix
* Fixed expression editor not re-initializing after reloading the script
* Fixed expression editor not detecting modified expressions after reloading the script
2023-04-20 18:33:36 +01:00
LoafyLemon 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
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 670e7d82fb Refactor variables - Part 2
* Finished refactoring quest and character vars
* Removed quest class (superseded)
2023-04-03 00:48:38 +01:00
LoafyLemon 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
LoafyLemon 5a8e4d85ab Image cache preference
* Added image cache size preference
* Increased default image cache size 300MB-> 512MB
* Fixed get_gpu_info function to encode bytes to string before joining
* Fixed missing bar images
2023-03-24 19:16:22 +00:00
LoafyLemon f71070f7f3 Memory Leak fix
* Fixed a memory leak inside ScreenshotImage class due to unsafe access and storage of list of renders
2023-03-24 15:39:14 +00:00
LoafyLemon f29f8aecfe Tooltip improvements and bug fixes
* 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
2023-03-23 21:25:38 +00:00
LoafyLemon 08c8a42d1f Bug fixes
* Fixed developer start shortcut not functioning when CTRL is being pressed
* Removed overlay from TBA_message function (superseded)
2023-03-21 21:30:35 +00:00
LoafyLemon fab4da6f76 Bug fixes
* 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
2023-03-21 00:38:33 +00:00
Johnny28 fe67e3d9ca Fixes
* 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.
2023-03-20 13:19:57 +01:00
LoafyLemon 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
LoafyLemon 591377163a Lint, CDS, and bug 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)
2023-03-13 20:29:05 +00:00
Johnny28 14ca2bfba6 Fixes and improvements
* Removed blktone in some places where "nar" character already applies it.
* Added some dialogue options during "cc_pf_talk_T1_intro_E2".
2023-03-13 13:54:13 +01:00
LoafyLemon 01a2df27e7 Transitions and Bug fixes
* 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
2023-03-12 21:40:16 +00:00
LoafyLemon 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
LoafyLemon b2e7c44b2e Narrator
* Reworked narrator calls and unified them across the entire game
* Added narrator screen inheriting from say screen
* Removed obsolete narrator code
2023-03-11 19:43:02 +00:00
LoafyLemon 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
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 96f0113c95 Nicknames
* Unified naming convention for nicknames as per writer's request
* Fixed dum lack of dynamic name flag
2023-03-01 22:14:00 +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 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
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 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 2c35c2d5df Optimizations
* 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.
2023-01-03 21:27:35 +00:00
LoafyLemon 43d18f0de1 Remove backported rand func (Superseded) 2023-01-03 20:04:11 +00:00
LoafyLemon 7533b82331 Merge remote-tracking branch 'origin/dev' into Python3 2023-01-03 19:50:23 +00:00
LoafyLemon a47e788b6a Merge branch 'Xmas' into dev 2023-01-02 18:01:43 +00:00
LoafyLemon 5a6f9887d5 Save compatibility 2022-12-30 15:54:34 +00:00
LoafyLemon 870bfa29b4 Merge branch 'dev' into Python3 2022-12-28 19:20:38 +00:00
LoafyLemon 4d5fb8869b Merge branch 'Xmas' into dev 2022-12-28 19:09:28 +00:00
LoafyLemon 90e57fd6af Hotfix
* Fixed a crash caused by zlayers
2022-12-23 19:48:00 +00:00
LoafyLemon bdd654a806 Version bump 2022-12-23 17:03:53 +00:00
LoafyLemon 4765e14aa7 Sanity checks
* Added sanity checks for orphaned scripts
* Adjusted required Renpy version check
* Adjusted initialization priority for sanity checks
2022-11-26 18:40:01 +00:00
LoafyLemon 8edc533830 Translation tools
* Added CLI translation generation tool
2022-10-26 22:55:33 +01:00
LoafyLemon 022da2a727 Merge branch 'dev' into Python3 2022-10-16 19:37:12 +01:00
LoafyLemon b2fc769e69 Save Compatibility
* Added a workaround for call stack issues on old saves
* Rebuilt whitespace
* Removed redundant load_fix functions
2022-10-08 21:59:31 +01:00
LoafyLemon cc259564bb Bugfix
* Avoid catching nodes during init phase and remove debug vars
2022-10-02 16:40:53 +01:00
LoafyLemon a6ff9ed876 Bugfix
* Attempts to fix Expression Editor crash caused by pickling the unpickleable
2022-10-02 00:35:43 +01:00
LoafyLemon d6e8efaaa3 Refactoring 2022-09-29 22:19:55 +01:00
LoafyLemon e5a7060af9 Refactoring 2022-09-21 21:57:04 +01:00
LoafyLemon c352f8cea3 Python3 IO encoding changes 2022-09-21 19:22:14 +01:00
LoafyLemon 961ff76c7b Tonks Auror Outfit
* Adjusted Tonks' Auror coat
* Redrawn Tonks' Auror choker
* Updated save compatibility
* Version bump
2022-09-21 00:15:53 +01:00
LoafyLemon c278e9d551 Bugfix
* Fixed numbered additional layers ignoring their assigned number layer
* Added save compatibility patch
2022-09-10 21:51:00 +01:00
LoafyLemon 27130d703e Public Requests - Flashing CG
* Implemented and posed CG
* Fixed blacktone screen zorder
* Added blink_repeat transform
* Adjusted dialogues in accordance with the new artwork
2022-09-06 22:37:02 +01:00
LoafyLemon 2e42f6addb History Screen improvements and fixes
* 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
2022-08-30 20:05:32 +01:00
LoafyLemon 23e5c598ee Vibrator Events - Initial Implementation
* Added vibrator event chain (w/ Placeholders)
* Added vibrator item (Box o' fun)
* Added IntLike class
* Added her_tier_public as IntLike object
2022-07-23 21:57:42 +01:00
LoafyLemon 22588ba646 Crash Defender
* Fixed missing cache file from android builds
* Added crash defender workaround for devices with borked OGL implementations
2022-07-07 22:05:22 +01:00
LoafyLemon 462921aeed Bug fixes
* Fixed animations (again)
* Added unstaged butt plug files
* Updated save compatibility
2022-07-06 16:27:29 +01:00
LoafyLemon 186cb39803 Butt Plugs
* Moved Hermione's butt plugs into their proper type
* Removed obsolete image files
2022-07-05 22:19:24 +01:00
LoafyLemon 822f35c08c Color Picker
* Rewritten and re-implemented color picker in shading language
* Vastly improved performance
* Added live preview back
* Overhauled interface
* Code Cleanup
* Reduced import overhead
2022-07-05 21:38:03 +01:00
LoafyLemon 1ff8217434 Save compatibility
* Version bump
* Updated save compatibility
2022-06-30 23:59:31 +01:00
LoafyLemon 39301f51ad Bug fixes
* Fixed Snape's Office music not playing
* Added map to dev start
2022-06-29 22:28:14 +01:00
LoafyLemon 09af431344 Bug fixes
* Fixed a rare crash during init caused by monkey-patched loadable function
* Fixed stats screen character scaling
* Fixed non-functional alpha slider
* Fixed missing Genie sprite inside stats screen
2022-06-29 19:46:19 +01:00
LoafyLemon 102d23d47f Bug fixes
* 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
2022-06-27 22:31:51 +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 16bea0cbde Skip Callbacks
* Added skip start/end interaction callbacks support
* Fixed Doll images not being refreshed after exiting skip interaction
2022-06-20 19:41:04 +01:00
LoafyLemon cd485b2bac Bug fixes
* 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
2022-06-17 22:05:08 +01:00
LoafyLemon 8542fabbb4 Bugfix
* Fixed editor active flag becoming stuck after rolling back to before it was called
* Put editor onto interface layer to exclude it from transitions
2022-06-16 21:38:20 +01:00
Johnny 3ea1ac6162 Ren'py Version number check message fix 2022-06-16 15:20:26 +02:00
LoafyLemon abaecc4c7f Bugfixes and refactoring
* Fixed history screen crash
* Changed default renderer to GL2
* Updated whitespace calculations file
* Updated minimum Ren'py version requirement
2022-06-15 21:25:52 +01:00
LoafyLemon 6fa1e0a0fa Web Updater
* Forbade interactions outside the Updater screen
* Added Automatic Updates preference
* Updated config vars
* Disabled custom GC values for wider testing purposes
* Added update logo fallback in case of unexpected circumstances
* Added CheckUpdates Screen Action Function
* Simplified parts of the updater code and reduced bloat
2022-06-13 00:04:59 +01:00
LoafyLemon 9bcbdba53b Web Updater
* Separated updater server code
* Fixed update logo fetch crash
* Added logo fetch var
2022-05-30 22:04:51 +01:00
LoafyLemon 1812481b33 Hotfix 2022-05-29 22:41:50 +01:00
LoafyLemon 794f528b8b Web Updater
* Implemented web updater (simulation only)
* Added progress support to GUI
* Version bump
* Added updates directory
* Fixed slider missing image variants
2022-05-29 22:27:18 +01:00
LoafyLemon 8363c69a6b Build distribution & Misc
* Added asset archives for distributed builds
* Added platform specific classification for files
* Changed save directory from "WT SILVER" to "WTS"
* Changed executable name from "WT SILVER" to "WTS"
* Removed redundant font file
* Moved mods.rpy to scripts directory
2022-05-27 23:05:06 +01:00
LoafyLemon a4e953ecf3 Bug fix
* Forbid editor from applying changes when hidden
* Allow skip interaction when editor is hidden
2022-05-27 16:23:37 +01:00
LoafyLemon 1554cdd5d5 Bug fix
* Fixed Expression Editor crash on a statement with no arguments
2022-05-27 15:18:39 +01:00
LoafyLemon bb594c74c6 Expression Editor 0.3a
* Added new expression editor
* Fixed error parser for mods
* Unified Non-doll character expression parameter names
* Moved strip quotes function to global scope
* Added matches function that strips spaces before comparing
2022-05-26 21:50:54 +01:00
LoafyLemon d86d0ac69d Lint improvements
* Added lint ignore tag detection for spoken strings.
* Fixed lint incorrectly marking newline characters as multiple spaces.
* Fixed lint incorrect behaviour for oxford commas.
* Fixed issues exposed by lint.
* Removed unreachable code.
2022-05-20 19:48:05 +01:00
LoafyLemon 42756113b8 WTS 2022-05-17 00:48:22 +01:00