S3PE + VPXY
Date Posted: 26th Sep 2016 at 9:54 AM
Hmmm... S3PE automatically updates the bounding box of mesh groups on import of a new MODL/MLOD, but not the bounding box of VPXY.
Canning Station Overhaul - Alpha Changelog -- Part 2/2
Date Posted: 15th Apr 2016 at 11:10 PM
Alpha Changelog -- Part 1
Comments in square brackets.
(internal build) --14th July 2016
- Added missing MATD to foodEatToastAndJam MODL for bbotToastShrimp.
--12th July 2016
- Fixed missing interactions on Double-Boiled Ginseng Broth jars for sims aged teen and younger. [This was caused by a bug in OpenJarAndEat's Test function that allowed ginseng broth jars to be checked for the CookingProcess.Recipe.AdultOnly flag. Ginseng broth jars has Data, not CookingProcess, resulting in an exception.]
(internal build) -- 2nd July 2016
- Added 18 new decorative slots to canning station.
- Moved, fixed orientation, and expanded placement flags of default EA decorative slots. [This is done by dissociating the EA slots from their bones in RSLT, as opposed to editing the _RIG, as the canning animation runs with the rig posed in its original position--this can only be changed by editing the animation.]
--23th June 2016
- Added check for Recipe.AdultOnly in the test function of "Open Jar and Eat" when invoked by sims aged Teen and below. The interaction is made unavailable to such sims, whether autonomous or user-directed, on rations jars containing meals whose recipe XML has the tag "AdultOnly" (MacAndCheese, AutumnSalad, BellagianWaffles are the only applicable recipes at this time.) [This check prevents minor sims from opening rations containing meals tagged adult-only, since PushEatInteraction inevitably drops afterwards because Eat bars minors from eating meals whose recipe is thus tagged. Failing PushEatInteraction results in an accumulation of uneaten meals (from opened ration jars) in sims' inventories. Note that EA's implementation of Eat makes it unavailable to minors on these "adult" meals even when the invocation is directly attempted by the player, regardless of whether the meals were spawned from a ration jar. However, both Fridge_EatLeftOvers and CookingObjects.BringTo are agnostic to the AdultOnly tag, so minor sims can consume these meals through the fridge or the BringTo interaction.]
- Implemented CookingProcess.IsMermaidFood in import/export. Ration jars made with meals containing kelp should now respawn meals that are deemed mermaid-compatible after time-traveling/vacationing/going to university, etc. [This flag does not seem to be used by the game other than being set and read; there are no EA recipes with kelp. However, it might be used by some mods and is implemented here primarily for completeness.]
-- 5th June 2016
- Implemented CookingProcess.IsVampireFood in import/export. Ration jars made with vampire-compatible meals should now respawn meals that are also vampire-compatible after time-traveling/vacationing/going to university, etc.
-- 30th May 2016
- Added check for CookingProcess.IsVampireFood in the test function of "Open Jar and Eat" when autonomously invoked by vampire sims. Hungry child vampires should no longer autonomously open ration jars made from non-vampire-compatible meals, despite the Hunger commodity advertisement for the interaction. They will only do so with ration jars whose contents are vampire-compatible. This change affects only autonomous invocations of the interaction--users can still direct child vampires to "Open Jar and Eat" any single-serving ration, regardless of content. [This check prevents child vampires from opening non-vampire-compatible rations in response to the Hunger advertisement, then dropping PushEatInteraction (which bars vampires from autonomously eating vampire-incompatible foods.) Failing PushEatInteraction resulted in an accumulation of meals (from opened ration jars) in the vampire children's inventories which will never be eaten unless directed by the user.]
- Added VampireThirst commodity advertisement to ITUN of "Open Jar and Eat". Thirsty adult vampires should now autonomously perform "Open Jar and Eat" on rations jars that contain a single-serving meal that is vampire-compatible. As with child vampires, they will not autonomously open + eat ration jars with regular meals.
- Added check for CookingProcess.IsVampireFood in the test function of "Open Jar and Eat" when autonomously invoked by non-vampire sims, such that hungry sims who are not vampires do not run this interaction on rations jars containing a meal that is vampire-compatible, since such meals typically contain plasma fruit as an ingredient. Plasma fruit gives non-vampires nausea. This check only applies when the interaction is invoked autonomously --users can still direct non-vampire sims to "Open Jar and Eat" from single-serving rations containing plasma fruit.
(internal build) -- 13th May 2016
- "Put in Inventory" interaction (non-autonomous) is added to all canning station jars.
-- 15th Apr 2016
- Microwave ramen now counts towards the number of items needed in the canning station inventory to enable "Make Rations". It is now also properly handled by the interaction. [GetServingContainersAvailable now includes instances of SnackMicrowaveOnlyMeal whose RecipeKey matches that of ramen. SnackMicrowaveOnlyMeal does not inherit from ServingContainer or have a CloneFood equivalent, so MakeRations creates a ServingContainer instance (using a new custom recipe) for each ramen found in the canning station inventory. The instances of SnackMicrowaveOnlyMeal are then destroyed. The new ServingContainer instances are added to mServingContainers (neither TryToAdd nor ForceAdd was successful in adding items to the canning station's inventory.) ServingContainer.GetContainedFood--or the state machine?--does not seem to handle the ramen model appropriately, resulting in a FoodProp instance that has a visible bowl in the canning animation (only the bowl contents should be visible.) A custom prop model has been created to addressed this.]
- Toasts made from custom spreads whose ingredient is a herb (i.e. Cinnamon Spread and Pesto) now give the herb-specific moodlets when eaten. [The herb VFX has been disabled. It looks misplaced when the toast is lifted away while eating, since the FX slot is on the plate.]
Canning Station Overhaul - Alpha Changelog -- Part 1/2
Date Posted: 30th Mar 2016 at 6:02 AM
Alpha Changelog -- Part 2
Comments in square brackets.
-- 21st Mar 2016
- This update fixes a bug in how herbs are handled which broke ration jars (with or without added herb) after traveling. Rations should now be usable after traveling without resetting the sim. [The previous patch introduced a new field (JamJar.mHerbKey) which is used to initialize an instance of any Herb that needs to be added back to a spawned meal when a ration is opened. Rations jars containing meals without herbs should be prevented from trying to add a non-existent herb to the spawned meal by a null check on the field, but EA's import/export system inserts an empty string into the field instead of leaving it null (see Alpha 4, item 2), so the null check is passed. The mod then tries to initialize an instance of HerbData using a key that doesn't exist in the herb dictionary, causing an exception.]
-- 10th Mar 2016
- Added a missing MATD to the canning jar MODL. Ration jars containing Porcini Risotto should now have the appropriate custom texture.
- Making a ration from Double-Boiled Ginseng Broth should now yield a jar with the Ginseng Broth texture, as opposed to the Generic Ration texture. Once opened, the resulting bowl will be the default EA bowl, not the custom blue-and-white one, however.
- Rations made from meals to which herbs have been added now give the correct herb-specific moodlets when eaten (previously, herb moodlets would only appear occasionally, and with no relation to the actual herb added.). Note that the "smoky" effect that adding herbs gives to meals is not preserved. This is not a bug with the canning station nor this mod per se, as the effect seems to be lost as soon as a herbed meal is put into any type of inventory, even if nothing more is done to it. The effect is lost merely by dragging the meal into the canning station's inventory and dragging it back out, or doing the same with a sim's inventory or the fridge inventory. So it seems to be how EA has implemented the inventory system.
-- 7th Mar 2016
- Geostates for group serving plates are now preserved in rations. If you make a group serving, grab some individual plates such that the group plates looks half-full, then use that partially eaten group plate to make a ration, when the ration jar is opened and the group plate respawned, it should look half-full, not full. [mNumServingsLeft is now checked against Food.NumServingsLeftWhenAppearsHalfDepleted to explicitly set the spawned meal's geostate.]
- Ration jars in inventory should no longer all stack together when traveling. This was due to the stacking function checking both mCookingProcess.RecipeNameFinal and mData.Key even for rations (it should only check RecipeNameFinal), combined with EA's import/export system inserting an empty string into mData.Key instead of leaving it null when it's empty. These two conditions together resulted in rations jars stacking according to the empty string in mData.Key instead of RecipeNameFinal.
- Ginseng broth should now always give a "Warm Fuzzies" moodlet and remove the Germy moodlet if present, even if a second savegame was loaded without quitting the game completely. EA only registers the listener for the OnDoneEating event when a canning station is loaded, which could cause the event to go unnoticed if a canning station doesn't get loaded with every savegame (e.g. in a world where no one has a canning station, but to which sims can travel whilst carrying jars of broth.) The listener is now registered when the world loads. This is also the system by which the EA default "Yummy Jam" moodlet is triggered when a toast/scone of Nice or better quality is eaten. I've observed some inconsistencies in the presence of that moodlet as well while investigating the broth moodlets, so I suspect that it was affected too. That should also work correctly now.
-- 2nd Mar 2016
- Routing to the canning station jars has been tweaked again. [Adjusted RouteToObjectRadius, IIRC.]
- Making rations with group servings was reported to sometimes produce empty plates from which single servings could still be grabbed. The number of servings in the group plate would also be reset when the jar is opened (e.g. a group plate with 4 servings is made, 1 servings is grabbed from it, so that there are 3 servings left in the group plate; make a ration with the group plate, then open the ration jar, and the plate has 4 servings, instead of the correct 3.) This was due to CloneFood only distinguishing between single and group servings, without regard to the exact number of servings in the group. [ServingContainerGroup.mNumServingsLeft is now stored by the ration jar and used to set number of servings on respawned meals directly.]
- Sometimes the stack counter in the inventory (the number on the corner of thumbnails that shows how many items are in a stack) didn't decrement properly when ration jars are removed from their stack. This should no longer happen. [Something about being too aggressive in cleaning up and setting mCookingProcess from opened rations to null before they can be re-counted (and thus subtracted) by the stacking function...]
- This new version should no longer allow the basegame Mood-Lite candle to trigger CASt. [Forgot to update some references in the custom candle's VPXY, IIRC.]
- Wedding cakes and birthday cakes should no longer enable "Make Rations" at the canning station. This applies to whole cakes (even when cut) from the basegame or Baker's Station (these are the only cakes I'm aware of.) Individual cake slices, however, should be usable for rations without issues. [This is due to these cakes using WeddingCakeCookingProcess and CakeCookingProcess, which are not handled by "Make Rations".]
- Empty plates can no longer be used to make rations. The canning station's inventory still accepts them, but "Make Rations" will not be enabled.
-- 23rd Feb 2016
- Fixed routing bug with jars.