Join for free to receive email notifications about new posts submitted to paid tiers
Join for free to receive email notifications about new posts submitted to paid tiers
Join and get full access to supporter content and the exclusive supporter role "Demi-God" on our discord!
SCake Version 0.2.1 DEV (Beta)
Added : API Function "SCake_TrackReturnAll" which returns all characters currently tracked by SCake (useful for initiating modules that need to apply/check status)
Added : API Function "SCake_CheckStat_SexHeat" which returns a character's Sexual Heat stat and if they currently have enough to be aroused
Added : API Function "SCake_Stat_AddSexHeat" which adds the specified amount to the character's Sexual Heat stat and returns their new value along with if they have enough to be aroused
Added : API Function "SCake_Stat_ArbChangeString" which adds/changes the arbitrary string to the designated character (useful for modules to start tracking their own systems)
Added : API Function "SCake_CheckStat_ArbString" which returns the arbitrary string associated with the given name for the designated character
Added : ArbString element to the Pal Tracking system, this allows modules to input arbitrary strings with a name for their own use cases, these can be set to persist in the save file as well so they can exist between sessions (modders will need to be extremely careful when using persist, only use it when absolutely neccesary)
Added : When Sexual Heat rises or lowers it will now set Sexual Heat to continue naturally in that direction (in other words, if Sexual Heat decreases it will continue to naturally decay until zero, then start going back up, alternatively if it goes up it will continue to increase, I planned this for last update but I forgot to implement it)
Added : API Function for starting animations now check for null and empty arrays, failing faster with proper error code returns (Also a slight optimization)
Changed : If an SCake stat value is zero or null it won't be included in SCake's pal save file anymore, saving space/processing time
Fixed : Stage Order not registering correctly when defined in the animation's .json, messing up animation playback
Fixed : An issue with the .json parser not parsing integers correctly has been fixed (Not aware of all this affected outside Stage Order)
Fixed : A potential soft lock issue if very specific params were passed in an animation .json import
Fixed : Sexual Heat not being included in the save file, thus lacking persistence (I forgot to add it, sorry!)
SCake Version 0.2.0 DEV (Beta)
Note : This updated the format and data for .json files, all animation packs must be updated to the new format (I already contacted anim-pack creators, view the new templates to see the changes and format)
Note : This update adds persistence! If the new _SCake_Save_.json files are not saving/loading properly, let me know!
Note : This update adds support for MorphTarget Models to modify 'bodies' dynamically based on the new Sexual Heat system and for animations!
Added : New "__Create_Load_List__.bat" file in AnimJSON which updates the _LoadList.json when activated (May only work on Windows, skips files starting with an underscore)
Added : API Function "SCake_AdjustAnimCamPos" which adjusts the camera postion for the player while in an animation
Added : API Function "SCake_TraceForPal" which uses the camera position and rotation to scan for pals, useful for debug code (Not always accurate so other methods are recommended for proper selections or interactions with pals)
Added : API Dispatcher "SCake_ED_EventOrgasm" and "SCake_ED_PalOrgasm" which trigger when an Animation Event / Character triggers climax/orgasm
Added : API Dispatcher "SCake_ED_PalAroused" which triggers when a character reaches enough 'Heat' to become properly aroused (Horny status ^.-)
Added : API Dispatcher "SCake_ED_TrackPalEnabled" and "SCake_ED_TrackPalDisabled" which trigger when a pal is either enabled or disabled in the new tracking system (Note : Pals do not instantly start tracking or instantly stop tracking when they become valid/invalid, do not use this for validity checks! Use 'IsValid' through UE naively instead!)
Added : Holding the camera control keys during animations now repeats, making adjustments easier
Added : Report for failed JSON load now shows the json entry that failed to load
Added : Setting "Invulnerable During Anims" which makes characters unable to be harmed during Animation Events until the end, enabled by default
Added : Automatic CharacterID conversions for compatible pals (This means animation compatibiltiy can now define the base pal CharacterID and all variables that are compatible should be detected, input CharacterIDs for variants can still be registered with default size detection)
Added : When animations are started characters will now move to the ground
Added : Register now also shows fail count similar to success counts
Added : Settings will now save into a .json file within the ~mods folder allowing them to be saved and loaded between sessions (The file name should be _SCake_SaveSystem.json)
Added : Global camera adjustment to save file so it persists between sessions (individual camera adjustments will be added in the future when persistence/cache is set up for it)
Added : Character Stats now track Sexual Encounter counts (Increases if there are more than 1 characters in an erotic animation)
Added : Character Stats now track Orgasm counts (increases every time the character has an orgasm)
Added : New dynamic pal stat tracking, all active pals should now be captured and have SCake's stats applied (Mostly just Sexual Pleasure and Heat for now)
Added : Pal SCake Stats will now save into a .json file within the ~mods folder, enabling persistence (should save as _SCake_SavePal.json, the amount of memory this system takes over long play sessions will need to be monitored, but shouldn't be too bad)
Added : Sexual Heat system, this affects the desire and sensitivity to sexual activity (slowly increases until orgasm is eventually reached or a heat reduction event occurs, then decreases rapidly to 0 then begins rising again with values over 100% increasing much slower)
Added : "Aroused" Morph Target to framework, the "Aroused" morph increases as Heat increases, and sets to 100% when in erotic animations, useful for erections or arousal based body modifiers (morphtarget names could potentially become editable in the future)
Added : Sexual Pleasure gained in erotic animations is now affected by Heat (Heat acts as a multiplier with an offset, at 0% Heat gain is at 80%, 100% = 100%, 200% = 120%, 300% = 140%)
Added : Facial expression control to Animation Player, changes expression for supported characters while animations play (Currently sets a static expression but will be configurable by animations in future versions)
Added : "Pleasure Stage Progression" SCake Setting, while enabled stages will also progress through average sexual pleasure from all participants based on duration weight
Added : "Pleasure Progression Mode" to the Animation Player and SCake Settings, when enabled stages in animations are allowed to progress when the average Sexual Pleasure reaches a threshold calculated from duration weight of each stage (defaults on, only tries to progress looping animations, Max Event Duration is still respected and will progress regardless of this setting)
Changed : The Animation UI should now show the player's display name instead of "Player"
Changed : The Animation UI should now show all players as "Player" instead of "Character" (useful in multiplayer)
Changed : The Animation UI should now attempt to find the proper in-game name to display if no nickname is set for a pal
Changed : Made major changes to the .json structure for easier creation, optimize parsing, and removing some variables that will go unused, old .json files will fail to register (Simplified the structure to run off order dependent arrays, so params still require slot specifications if they can contain multiple entries per-slot, check included templates to adjust your own .json files)
Changed : JSON parser improvements/optimizations, let me know of any weirdness or fails when it shouldn't
Changed : Limited the number of json registers per frame (will only try to load and pass 10 json sets per frame, this will slow down the register but ensures HDD users won't experience stutter when we start loading thousands of animations, register still only processes 1 animation/event per frame, this only affects sending to the register when we load the .json files)
Changed : Register automatic start time reduced to 3 seconds (was 8 before, can be changed in the _SCake_SaveSystem_.json)
Changed : Animation Events that fail to start animations will now immediately destroy themselves instead of waiting (optimization)
Changed : Overhauled stats handling backend, now runs based on game time and defaults were updated to reflect this
Changed : Pals now start with random Sexual Pleasure (No more than 20%)
Changed : Animation Player now uses the new stats tracking system to apply and track stats like pleasure, this makes effects based on Game-Time just like other stats, Sexual Pleasure defaults was adjusted for this
Changed : Adjusted some setting descriptions and displays to better align with systems and changes
Changed : "Event Duration" is now "Max Event Duration", though the behavior is effectively the same but will make more sense as more features are added
Removed : "ByName" variables when registering animations (The intended system didn't work and using CharacterID instead just makes a lot more sense)
Fixed : "Hold Down (K key) to start anim with summoned pal" now properly disables when disabling Debug Input
Fixed : Characters in animations should no longer become eligible for another animation if multiple start anim events are triggered on them
Fixed : Instances where animations took too long to process their start function and would fail to set all parameters properly
Fixed : JSON loader failing to load files from the LoadList if they had .json in the entry
Fixed : Menu scrolling offset being slightly off allowing a slow drift downward
Fixed : Report text that shows up should now properly wrap when the text extends too far
Fixed : Project Sugar Cake should no longer run any logic while in the Main Menu or outside a saved game (Only starts up the UI, though the API should be accessible)
Fixed : Characters who orgasm once will not properly have their sexual pleasure checked in subsequent orgasm checks
Fixed : Animation Player getting stuck in an orgasm loop if pleasure gain was set too high
Fixed : FootIK interupting normal animation flow when animating certain sections of certain characters (FootIK should be disabled during anims now)
Fixed : Slopes causing characters to tilt while animating, causing alignment issues (Looks a bit odd given characters will now float a bit more in some situations, but much better than alignment not working)
Fixed : Stages "Speed Mod" value should now properly affect the duration of non-looping animations
Fixed : Climaxes not adjusting duration properly if no climax variant was included with the animation
Fixed : General optimizations across most systems
SCake Version 0.1.0 DEV (Beta)
Note : Mods using the SCake SDK/API will need to be updated to the new API functions and reference the new actor "ProjectSugarCake"
Note : Updated templates provided with SCake to reflect changes in data structure
Note : Menu UI requires keyboard input for now, I messed up when building the assets so click actions don't call-back properly and were removed
Note : Non-standard debug keys may not be reported in changelogs from this point forward (I constantly change them depending on what I'm working on, so trying to track them will get difficult as things get more complex)
Added : In JSON data for 'size" parameters, entering 'default' now automatically converts to the default size param for the defined CharacterID (if one exists, otherwise None is returned)
Added : API Event "SCake_StopAnim_EventRef" which stops the Animation Event of the given Event Reference
Added : API Function "SCake_InterpretError" which converts a returned error code into a readable string (Used for passing into UI or make debugging easier)
Added : API Function "SCake_GetPalAnim" which searches for a given pal and returns if they are in an animation and the event reference if so
Added : API Function "SCake_GetEventCompParams" which returns variables from the provided Event Reference collected by functions/Dispatchers
Added : API Dispatcher "SCake_ED_AnimStart" which sends when animations start with the Event Reference (If you store this value remember to check if it's valid and if the animation is still playing before trying to pull data)
Added : API Dispatcher "SCake_ED_AnimEnd" which sends when animations end with the Event Reference (Do not store the returned reference and pull your data immediately as Event References will delete themselves a short bit after an animation ends)
Added : New input system implemented with input states allowing new menu and position control (Default keys are U=Menu O=Select I=up k=Down J=Left L=Right)
Added : Fully custom menu system implemented, use the Menu key (U by default) to open and up/down/left/right keys to interact with it (I/K/J/L by default) (No API access yet as some revisions still need to be made before it's dynamic features are usable)
Added : "Settings" menu to SCake Main Menu
Added : "Animation Event Duration" to the Settings Menu (controls how long Animation Events aim to last in seconds)
Added : "Pleasure Gain Rate" to the Settings Menu (controls how quickly Sexual Pleasure is gained in Erotic Animation Events)
Added : "Pleasure Decay Rate" to the Settings Menu (controls how quickly Sexual Pleasure is lost while not in an Erotic Animation Event)
Added : "Pleasure For Orgasm" to the Settings Menu (controls how much Sexual Pleasure is required for this character to have an orgasm)
Added : "Pleasure Loss On Orgasm" to the Settings Menu (controls how much Sexual Pleasure is reduced when characters have an orgasm)
Added : "Allow Debug Input" to the Settings Menu (controls if the debug controls for SCake are enabled, will be disabled by default in the future)
Added : Animation List to the SCake Menu which shows the "AnimName" of all Animations Registered with parameters showing in the description box (If no anim name is found the "UniqueEventID" is displayed instead)
Added : Animation Event List to the SCake Menu which shows the "EventName" of all Animation Events Registered with parameters showing in the description box (If no anim name is found the "UniqueEventID" is displayed instead)
Added : New Animation Menu which shows up with 'climax progress bars' for participants in the selected animation (Player animations will already be selected)
Added : Animation menu which allows adjusting the position of characters in animations, also allows ending animations if "Allow Debug Input" is enabled (Currently does not save or have any persistence)
Added : The Game UI will now hide by default when the player enters an animation (and should re-appear after the animation ends)
Added : Attempts to hide the in-game UI when a player animation starts (should re-appear when the animation is over)
Added : If a player is in an animation the camera position can now be controled with W/A/S/D/Q/E keys (Keys display in the animation UI, position saves between animations and should return to normal after the player animation ends, sometimes the game disables these keys or locks the camera and the camera function may stop working)
Added : With debug input enabled, when holding down SCake's Down Input key (K by default) if no valid target is found SCake will now try to start an anim with the summoned pal instead (sometimes fails since the reference is invalid, seems to be a game bug but resummoning your pal usually fixes it)
Changed : UI entry point to be slightly higher up (helps make the new menu more visible when there's more entries in the list)
Changed : SCake_StartAnimEvent_Basic is now a function and now returns if the animation started and the order+references of pals in the animation
Changed : SCake_StartAnimEvent_Advanced is now a function and has return values just like the Basic version
Changed : Some debug inputs were added and others changed key defaults
Changed : Event references will remain valid for a short period after animations end instead of instantly deleting themselves (useful for pulled data after an animation ends and to allow manual scanning of animations ending without losing access to data)
Changed : "O" debug key now opens the Animation Menu for the Target Pal
Removed : "TransformBySize" no longer includes Rotation, simplifying the data structure a small amount (Rotation is already included with the "TransformAllOffset" and there shouldn't be a need for a rotation by size)
Removed : The Testing Angel has departed, shall she forever grace us with great debugging and moral support!
Fixed : The default _LoadList.json had tabs instead of spaces for the 2 additional entry slots causing errors in some cases, changed them to spaces
Fixed : Animations were not validating in cases where all characters in an animation were valid for all slots
Fixed : Certain parameters not being set to default when registering Animation Events with JSON when those values were not defined
Fixed : "SpeedMod" in stages having no effect
Fixed : Instances where the animation slot sorting would fail and result in animations breaking or not playing properly
Fixed : Global Climax Variants not functioning properly (I forgot to connect a node >.>)
Fixed : Drastically optimized the positioning code within the Animation Player (Also simplified implementation without any loss in functionality)
Fixed : "TransformBySize" not parsing from JSON correctly
Fixed : Corrected many positional issues caused by using inconsistent sources for the positioning (Still never found the 'exact' cause, but new code works so whatever)
Fixed : Some instances where SCake's control overrides were being overwritten by external forces (SCake still fails to prevent certain actions that breaks animations)
Fixed : Player being able to aim and throw a pal sphere while in an animation, breaking the animation playback
Fixed : Player being able to interact with other pals while in an animation, potentially causing a soft lock state while breaking AI and animation playback
Fixed : Characters (including the player) being able to crouch while in animations (Normally didn't break animation playback but could break AI or cause camera issues for the player)