News:

Please request registration email again and then check your "Spam" folder

Former www.henthighschool.com

[HHS+ 1.11] Official Release Thread

Started by barteke22, Feb 03, 2025, 06:04 PM

Previous topic - Next topic

barteke22Topic starter

What is the game? See here.

About 1.11.0.0
This is the full 1.11 release, no longer Experimental.  That doesn't mean it's bug free, in fact, there's a lot of new features that need testing.
However, we're leaving 'Experimental' in hope of stabilizing this build with bug fixes as the final 1.11 version. So no more massive changes any time soon.
Versioning:
  • 1.11.0.0 is the first public release version of 1.11.
  • 1.11.1.0 would be the first minor update that may change some features.
  • 1.11.1.1 would be the first patch release for that minor update, because we noticed some bug that required immediate fixing.

For further changelogs for following patches, as well as existing save update instructions, see individual posts below these ones.

  • This update is mainly engine changes and new editor features, aimed at easier expansion of content/mechanics and at mod/event authors.
  • Lots of events have been reworked, code cleaned and/or typos fixed, etc.
  • Stand out items (i.e. things to specifically look for) are noted below
  • For the complete list of all changes and fixes see the game's Docs\Changelog folder.


Notable Changes and New Stuff  (since 1.10):
  • Changed from .NET Framework 4.8 to .NET 8.
  • The reworked Pregnancy mod is now part of base game.
  • The Club Competition Overhaul was done along with adding two small clubs and changes to swim club.
  • Made MinigameConfig scenario-specific instead of save-specific.
  • Streamlined update & mod installation on existing saves a bit.
  • VirtualPerson (fake NPC) was added for simulating things like non-existent family members.
  • Lua code support was added to various places.

Pregnancy
  • Adds  basic pregnancy mechanics.
    • Condoms, pregnancy, birth, abortion.
    • Artificial insemination, age/fertility/male pregnancy drugs, child interactions.

  • For development details prior to base game refer to:  https://gitgud.io/barteke22/hhs-mods

  • Condoms (buy in General Store > General Goods).
    • No condom use if non-consensual (hypno etc), except if PC is the aggressor and wears one.
    • Weekly Rep hit if percentage of students pregnant is higher than town corruption/lust.
    • Less Rep hit/potential gain if proper policies enabled accordingly.
    • Policy related check condom supply in ward + negotiate more/take some.
    • Max 1 box per NPC unless given by PC - if ran out chance to get (student rule disobedience has chance of detention).
    • Higher NPC corruption/lust = less chance of getting condoms (+ personality/nature's law based). Students are based on school policies + their personality/loyalty.

  • Random event to peek on NPC birth if one is currently happening (30min window when it happens - so rare). Pretty much same as PC birth.
  • Daily try for baby among parent couples: Max percentage of population is based on average lust.
  • Game starts with 0-5 pregnant people (+ 1 born) for potential flavour.
  • 1/2/3/6/9 month pregnancy. By default it takes 3 months.
  • HasQuest/Infertile can't get pregnant unless trait is removed, or CanImpregnate is added (setting).
  • Otherwise factors like has condom + fertility can lead to pregnancy.
  • Hospital: Artificial insemination, pregnancy tests, child index, a shady doctor for a certain chain, birth.

  • NPC-NPC are just notable by belly bulges (since it's not really PC's bussiness).
    • Can decide to abort if father unknown (hypno), or if bad relations with father.
    • Can be asked about child.  And ordered to keep/abort/change father via hypno.
  • PC mother: Can abort (early), track down and notify father.
    • To bring up together, have them bring it up, just for child support. Or not.
  • PC father: Will be notified (unless happened due to hypno).
    • Similar to above, but can also bribe/hypno to bugger off if you're a nice person.
  • PC-NPC allows change of choice until the child is born. Can also become father via hypno.

  • Parent visits to play with children. You can visit them if you have the address and they're bringing the child up.
  • Allows any gender combos to have children via either sex, artificial insemination, or MPreg drugs.
  • Children don't really do anything besides wasting money (or in rare cases earning it).

  • Added an Info Panel tab to pregnancy with stats/info.
  • Added Age drugs (chemistry). Up to X (setting) children that reach the minimum age will turn into real NPCs.
    • A single (1) child can 'grow up' via some shady means. Which unlocks Age drugs (can be bypassed via hypno).
  • Added generic child interactions, improved generic child events. Nothing lewd for obvious reasons.
  • Added Missing Girl quest integration, it's now possible to make her not leave town on pregnancy path.
  • Simple lactation support.

  • Lots of settings under Map > Game Options to customize the experience.
[close]
Club Competition Overhaul
  • Adds a generic, modular club competition system.
    • Generic works out the box after joining, but any part can be replaced with a custom version.
    • Join, train, compete. Mainly for Reputation gains.
  • Any club can join competitions by via the ClubData Function.
    • Specifying Joined state, participation seasons, indoor/outdoor, team/individual, minCount.
  • Up to two competitions per month (shared between all clubs).
    • Take the students yourself or have the advisor do it (if any).

  • Adapted content by MaskedPanda to fill the framework:
    • Cheerleader Club:
      • Joins when morning practice witnessed.
    • Swim Club:
      • Joins similar to how it went before.
      • Split Lifeguard stuff out of club level, to make it non-mutually-exclusive.
    • Added Track Club.
      • Joins competitions after 3 successful pole vaults.
    • Added Martial Arts Club.
      • Starts via Carl Walker, joins after 3 demonstrations.
[close]
Events
  • Various miscalenous events by malorn & MaskedPanda.
  • Game Options > UndressState: Added PermaNude & RandoMax settings.
  • Added Hypno NPC-NPC sex interactions: Someone here & someone they know.
  • Added Give address & give number GiveOrders.
    • Made it so you learn address after 2-3x 'Take me home'.
  • Added hypno ComeInside variant to KnockEvents.
  • MadScience & Chemistry changes:
    • Reworked MadScience drug selection to be dynamic & by group.
      • Grouped certain drugs like BodyDesigners together.
      • Added support for all existing base game and pregnancy (MPreg, Fertility, Age) Chem Lab drugs.
    • Added Penis & Testicle Designers.
    • Now many school rules that affect reputation take into account the stats of the parents when calculating the effect on the reputation.
[close]
Existing Save updating & mods
  • Added a 'Update Save' button to 'Debug > Modules' tab, with progress indicators.
  • Combines the three steps of 'Debug > Reload Game Objects > ... > Reload Global Variables > ... > Reload Events' into one.
  • Added a pre-emptive per category conflict resolution choice for reloading Game Objects.
  • Users are still resposinble for checking patch notes / mod threads for extra steps that need to be taken prior or during the process.
[close]
VirtualPerson
  • VirtualPerson is a lightweight implementation that omits persistence for most of these properties.
  • Returns default value on most others, safe for generic stuff related to name, gender and paperdolls.
  • Added Virtual input to CreatePerson VEE operation.
    • Supports conversion between Person and VirtualPerson.
  • Added variant links to specific GetPerson VEE operations to distinguish between the two.
    • By default only family related VEE operations can return VirtualPerson, all others have to be toggled.
  • Added IsVirtual checkmark to Person Filter VEE operations, and Debug > Person.
  • Changed compatible Get/SetPropertyByName Person types in events to IPerson to support VirtualPerson.
[close]
Lua
  • Added VEE operation to execute Lua scripts. You specify the scripts in separate files and reference them from other scripts via load and require functions.
    • Global scripts can be loaded from the scenario's "Lua" folder.
    • Scripts can be embedded and edited in Visual Events.
    • Added a basic global test script as example.
  • Added (readonly) proxies around HHS game objects and engine globals to make them accessible to scripting in a safe manner.
  • Added ValidClubMemberExpression property to Clubs as replacement for the ForGender property to determine via Lua script whether a person should be allowed in a club or not.
  • Added Lua expressions to be used in LocationLayout instead of the hardcoded Condition options.
  • Added PDF with documentation about the Lua API to Docs.
[close]
Other Developer/API changes (only relevant for mod authors)
  • I recommend checking the Modding Guides for changes between 1.10 and 1.11 beta, as well as for changes since (once that's added).

  • 'VEE > Dev Tools > Find Events with Operation' was improved.
  • 'VEE > Dev Tools > Update ALL Events' has been enabled in public builds.
    • Added the ability to target a specific mod folder. Targets all enabled files, not just the top priority mod overrides.
  • The above and various other entries under 'VEE > Dev Tools' have been switched to the UI that allows jumping to a found event.
  • 'VEE > Dev Tools > Shader Editor' was added for editing or creating custom shaders.
  • Added VEE canvas undo/redo (Ctrl+Z/Y). Up to 50 changes per event by default (configurable).
  • Replaced Imazen with Skia, supporting transparent and animated .WEBP images everywhere (except paperdolls).
  • Added ability to start debugging currently open event (awaiting user input) via a button in the debugger or Shift+F12 when ingame.
  • Added #ContextKey: for defining custom ContextKeywords in event Description for info and string editor preview purposes.
    • Following the #ContextKey:key;previewVal;canCapitalize;Description convention.
    • Preview and Info buttons check the current event and its children for #ContextKey:.

  • Pregnancy is part of base game & works slightly differently, if you had patches for that.
  • The Club Competition framework was added, overhauling the whole swim club chain.
  • GameSettings, GameIntro & GameHelp have been moved to ExtensionLibrary\Map..., both modified slightly.
  • GenericModConfigs changed choice name from ButtonCategory to ButtonChoice.
  • SetPersonContextDict works differently (optional variables, different Mode meaning), but is backward compatible.
  • OccupantInfoConfig: Relationship logic changed. Edit your xml in FileEditor, if you used anything relationship related.
  • Principal context tag was replaced with PC_ but it's 95% backward compatible.
  • New FunctionLibrary\Helper\GenericEventMenu function can be used to easily make menus from event folders, replaced a few menus, could replace more still.
  • Changes to SpecialCharacter.xmls:  Mostly new parent fields for some.
  • Changes to several Rule.xmls:  Replaced reputation calculation with Lua expressions in some.
  • It's unlikely your mods used my GPCC mod's functions, but most of them have been rewritten and moved into base game.
  • Various drug related events were changed, but this only matters if you're overriding any of them (unlikely).
  • @FullReload was replaced by the EventReloaded entry point, which now supports showing UI like @FullReload did.
  • Agility and Strength stats were added. Also a bunch of Sex_ stats that probably aren't used for anything yet.
  • PC's Wardrobe is now an Item in their Inventory, instead of a Location.
  • ApplyGenderedForename was moved to ExtensionLibrary\OnGenderChange (called automatically when gender changes).
  • Principal has been marked as IsSpecial, and is no longer filtered away by 'List Filter: Person(List)' operations.
  • FunctionLibrary\PaperDoll\CustomLayers\EquipUneqipItem function has been replaced by proper Item operations.
    • CustomLayers now check the IsEquipped property instead of Traits.
  • If you provide the Shader.fx file (using the Shader Editor's syntax) along with the Shader.ps file custom shader operations will automatically add variables.
  • Other VEE operations:
    • Some Stat, Club, Fetish, BodySize operations now support string name.
    • Show Image & Random Image: Added support for picking specific frame from a GIF or WEBP image.
    • Layer Transforms: Added options to Clear and Get current data.
    • Operation References: Can reference any operation, though is primarily intended to be used with the new SeqEvent_Function.
    • SeqActLat_RemoteEventDynamic now has a Link Variation that accepts an OperationReference instead of a VisualEvent target.
      • SeqActLat_ShoppingForm and SeqActLat_TradeForm have been changed to now require the use of OperationReference.
    • Added 'Write Text to File' and 'File Dialogue' VEE Ops:
      • One writes to file, the other provides an interface for picking files / folders to be opened or written to.
    • Get Rule Reputation: To get the effect of the reputation for the current choice of a rule.
    • Added IsVirtual operation: For checking if a person object is VirtualPerson.
    • Added DictionaryIterator VEE operation, with basic sorting support.
    • Added GetDictionaryCount operation.
    • Added Equipment properties to Items and related operations.
    • GetListOfItemsFromInventory: Tweaked to allow getting only Equipment or Equipped items from inventory.
    • Added DataDict to items and link variant to ItemData operation to use it.
    • Added some features to ShowObjectSelection:
      • Support for StringList, Dictionary.
      • Support for ShowDecisions style.
      • Support for Index & MultiSelect for List types.
    • Create UI Layer: Added support for defining grid Row & Columns.
    • Added ActiveUILayer operation for setting/getting active UI Layer.
[close]

Known (open) Issues
  • Whatever remains tracked in the bug report thread.

Please don't post into this thread

Downloading and Installing
  • Download mirrors: Mega, Gofile.
  • See Installation Instructions (following) for how to install.
    • Note: The download is a 7z archive.  If your Zip program can't deal with it, you can use the free 7zip.


IMPORTANT: System requirements
  • Requires at least .NET 8 Desktop Runtime x64.
  • Requires the Visual C++ 2010 SP1 Redistributable Package to be installed.
    • These packages are commonly installed with modern games, so you might have it installed already.
    • However, if you encounter error at startup like "DllNotFoundException" and/or 'SQLite.Interop.dll', you may need to download and install the package.
    • The link above is for the 64 bit version. Be sure to install pack corresponding to architecture of your operating system (i.e. look for the x86 version if you are still using a 32 bit OS) .
    • Note: According to reports of some forum users, using the x86 version even on a 64 bit OS may help if you run into random crashes at startup.

barteke22Topic starter

#1
INSTALLING: Please read this post in detail

How to install the base game
  • Access the download Link in the post above, you'll only need the [Full] file (contains all updates).  The [PatchOnly] zip is for updating an older download.
    • [Full] X.X.X.X-release.7z : This is the Base Game at version X.X.X.X.
  • Create a new empty HHS Game folder.
    • This should be a standard 'user' folder (e.g. under your Docs, Downloads, Etc.)  Do not create it in any of the system folders.
  • Now: Unzip all of the .7z's content into your HHS Game folder.


Important: In the case of [PatchOnly] zips or extracting into the same folder, check notes on changelog posts (below) since your update in case a fresh folder / file deletion is required.


If starting a New Game, that's it!

Important: If you're running into instant errors on a fresh download + new game, then something likely went wrong with the extraction or download (unless more people are reporting the same issue).


Adding patch files (from full download, or patch) to Existing Saves*:
  • Patches to existing saves are applied in a similar manner as mods.
    • Except you extract the patch content into the main game archive (so the Schools folder merges). Say 'yes' to overwrites.

  • IMPORTANT: Check each changelog post (below) since your patch in case of additional notes on save updating.
  • The download may also come with an Update Mod (enabled like other mods on existing saves), for resolving major changes.

  • Load the save (do not move or anything).
  • Open Debug (bottom right).
  • Modules.
  • Enable Update Mod if exists (under Modules).
  • Click Update Save.
  • Here you can hold Enter to use old values, unless the patch instructions specify otherwise.
  • If all went well, it should be safe to save.
*Not all content of a patch might work on existing saves, but things are usually fine.

barteke22Topic starter

#2
Extract to a new folder.  It's not recommended to install any mods that haven't been updated, or confirmed working with 1.11.

Anything related to PD_System_New will now be listed under my mods instead of here.
As it's not a priority and might be replaced by some other system in the future.

Existing saves
If you have any mods, you should wait for those to be updated / confirmed working.

The Update Mod that comes with the main download should be able to update previous saves, preferably 1.10.6.0+ saves.

Extra steps:
When pressing 'Update Save' select 'Manual' on 'Base Items' and (optionally) 'Person', then:
Base Items:  Pick 'New' on EventName, ImageLocation, intDisplayName, ItemGroup, Trait.
Person: Pick 'New' on intFather, intMother. Starts at Andy.

If the top bar turns black, save and restart the .exe.
[close]


Changelog 1.11.0.0 pt. 1
This is the full non-engine side commit log since 1.10.6.0, starting with latest commit.
- EquipUnequipItem function: Replaced with the equivalent Item equipment operations.
- Renamed Chains_SwimClub to Chains_Club_Swim to follow existing pattern.
- ShowImageOverlaid function: Updated with new UILayer parenting logic and simplified calling events.
- ShowActionImageProvider function: Using ShowImageOverlaid instead of old logic emulating it.
- Added 'Male Pregnancy' Content Filter.
- Virtualized some PD-related functions.
- UniformInspect* events: Fixed some not filtering away person 1.

Engine commits ee18dcc - 3f1d9dc:
- Fixed DataDict being a reference instead of a copy.
- Fixed ExceptionViewer Jump not working if VEE hasn't been initialized.
- Maybe fixed an issue where save menu goes black and won't close.
- Made new game load progress report more verbose.
- Fixed equipment not working in ItemEvents & hopefully all item operation inconsistencies.

- CreateUILayer: Added support for defining grid Row & Columns.
- Added ActiveUILayer operation for setting/getting active UI Layer.

Engine commit cc74898.
Added support for specifying Lua scripts in separate files and referencing them from other scripts via load and require functions.
- Global scripts can be loaded from the scenario's "Lua" folder.
- Scripts can be embedded and edited in Visual Events.
- SeqAct_LuaScript will now only refer to a global or embedded script via identifier and no longer contain any script code itself.
- Added MVVM Community Toolkit, which makes implementing MVVM patterns a lot easier by providing code generators. It is used in the new Lua editor for now.
- Changed debug test case to work with the new functionality and added a basic global test script as example.

MadScience & Chemistry changes:
- Reworked MadScience drug selection to be dynamic & by group.
-- Grouped certain drugs like BodyDesigners together.
-- Added support for all existing base game Chem Lab drugs.
- Changed the 'Sneak By' option to be Agility based instead of pure RNG.

- Added Penis & Testicle Designers.
-- Moved Breast Designer creation into own Body Designers category along with them.
-- Edited drug conversion event to support them.
-- Edited DisplayName to be more logical. Also moved all item data into Item.xml for easier changes.

- Moved Chemistry minigame tutorial to Map > Game Help.
-- Allows for changing minigame type and practice.
- Moved bodysize drugs into 'Drugs - Bodysize' ItemGroup.

- Removed/Merged a few bodysize drug ItemEvents.
-- Reducers call on Enlarger event in their xml, because the event barely differed.
-- Designers call on Body Designer and use Data to determine effect.
-- All ingested events & items were merged into 'Body mod ingested', using the item's Data to determine effect.

- Map > Game Options: Added setting for ignoring HasQuest NPCs as secondaries.
- TradeItems: Fixed a check comparing ItemGroup instead of Name.
- Futa ItemEvents: Fixed checks for Name or Display being using inverted names.
- PTA meetings: Marking calendar entry as Finished instead of Normal.

Engine commits 4b57c34 - 72d7db6:
- Added ErrorCheck to Get/SetPropertyByName.
- Added ability to jump to event in ExceptionViewer.
- LocationLayout: Changed fields back to hidden properties so they can be reflected to.

- Tweaked GetListOfItemFromInventory to allow getting only Equipment or Equipped items from inventory.
- Fixed inventory owner and owning inventory being null in nested containers.
- Fixed player Inventory in Debug window.
- Added Equipment properties to Items and related operations.
- Fixed link variants not working on copy/paste in SubjectIsTaught.
- Added DataDict to items and link variant to ItemData op to use it.

- Added BodyParts to Constants.
- Fixed GetAccount op.

- Added some features to ShowObjectSelection:
-- Support for StringList, Dictionary.
-- Support for ShowDecisions style.
-- Support for Index & MultiSelect for List types.
- Deprecated (semi, since replacement doesn't support different variables) ShowStringSelection, since it now has the same features.

- Added String Name variant to BodySize & Fetish op.
- Added base Name variant link to ItemName op.
- Added GetDictionaryCount operation.

- Added some variable comments.
- Keeping operation Breakpoint on copy-paste.
- Gave ExceptionReporter higher priority.

Engine commits 8271556 - ce9e509:
- IPerson: Added the shared dictBodySizes property.
- Sped up InfoPanel tooltip diplaying.
- Added DictionaryIterator VEE operation, with basic sorting support.
- Fixed IntEnum ErrorCheck when current key is null.
- Fixed PersonSkill > PersonStat conversion link order mismatch caused by new input link.

Events: Replaced some PropertyByName code with the new operations.

- Hypno:
-- Added Give address & give number GiveOrders.
-- Made it so you learn address after 2-3x 'Take me home'.
-- Added hypno ComeInside variant to KnockEvents.

- Added GetDispositionToPC function to simplify Loy/Friendship + Rel + Love calculations.
-- Applied to interactions & BreakInMain/Checker, as some of them had inconsistent Loyalty checks.

- Added GetAddSetDDTag Mode enum.
- PersonRelNotes: Tweaked to trim away InfoPanel //==// comments.
- SetPersonContextDict: Skipping Person 2 if same as Person 1 as failsafe.

- MissingGirl: Removing MissingGirl Trait if rescued, so PD is reverted. Typos.
- AddToSuggestionSkill: Added Person A as per previous hypno tweak & updated events.

- Added an additional output value to the Trade Item sub events.
-- Now events can use 5 as the value of Take Result and Give Result to indicate that the event already handled the item transference.

- Pregnancy:
-- Replaced hardcoded (outdated) Init_ pregnancy logic with equivalent functions.
-- Replaced outdated OFather preservation on Birth.
-- Tweaked PregnancyChoice text to reflect that the NPC no longer leaves.
-- ShadyWoman: Fixed old image paths.
-- PrincipalChild: Tweaked nurse check. Sped up Guest Room rename.

- FL\Helper\GenericEventMenu: Added Exit variable & updated relevant events.
- Interactions\Interests\AskClubMembership: Fixed wrong club name check.
- Loc\Your Home\Date: Tweaked text to reflect living in same home. Cleaned up a it.

Engine commits 38992605 - b8325447:
- ShowDecisions: Added button formatting preview & made text insertion buttons work on button fields.
- SeqVarString: Added SQL editor toggle. Enabled by default when SQL detected on opening.
- StringConstant: Fixed faulty ClubName validation.
- CodeEditor: Various tweaks and fixes.

- FileEditor:
-- Added FileEditor entries for LocationLayout and CustomConstant.
-- Added scrollbar to tab selection & changed sorting to alphabetical.
-- Changed StatusEffectInstance Name editor to be a dropdown like Stats.

- Added warning messages for XCeed bugs.
- Improved SeqVarString SQL detention regex.

- Lua editor: Enabled right-click menu.
- CodeEditor: Added support for muti-variable declaration.
- Made MinigameConfig scenario-specific instead of save-specific.

Events
- Added basic Lua & SQLite intellisense definitions. Typos in HLSL one.
- Tweaked syntaxhighlights to use dark mode.

Changes in teachers cover letters and availability
- Add cover letters to Carmen Smith, Jessica Underwood, Lydia Swan, Nina Parker and Samantha Keller (by Masquerader)
- Make Carmen Smith unavailable until the biology classroom is built

Event updates for previous engine commit:
- Removed prototype function events ((PersonStat/GetClub)ByName) & replaced them with operations.
- Tweaked SetStrangerDict so that replacements work inside {if=} statements.
- Fixed events with old ListFilterStatRange reporting an extra stat due to untrimmed comma.
-- Also fixed a missing stat in BullyFindVictim.
- Updated Love OccupantInfoConfig to new relationship change.
- Removed ScheduleIndicator tag from AwakeIndicator, since being awake shouldn't prevent movement.
- Typos.
- Added SQLite syntax definition & moved HLSL syntax definitions to SyntaxHighlighting.

Engine commits 3388597d - 144f3143:
- Debug > Database:
-- Fixed returning RowsChanged when query doesn't start with SELECT.
-- Added button for loading a dumped database (intentended for debugging only).
-- Changed TextBox input to CodeEditor for syntax highlight support. Same for VEE DB ops with custom inputs.

- Code Editor: Fixed exception when placing a trigger character on index 0.

- VEE:
-- DB ops: Hiding 2nd input field if there's no query separating the two inputs.
-- Added open Docs button.
-- Replaced Help > PDF tabs with some alternative because old one keeps exploding randomly. Alternative isn't great, hence the Docs button.

- OccupantInfoConfig:
-- Replaced RelationshipVariable with a new Struct instead of using StatRange.
--- Allows defining dataKey, range, direction.
--- Removed Relationship field, in favour of keyless RelationshipVariable.
--- Old .xmls must be updated accordingly.
- Bottom right player name is now NameAndTitle, enabling OccupantInfoConfig.

- Cleaned up some location & schedule indicator code.
- Fixed DoubleList > Replace not working.
- Added SeqVar Int <> Double Replace.
- Fixed RemoteEventDynamic & HaveSex not copying their variant links.

- Added 'String Name Variable' variant to StatsBase operations.
- Added 'Get base' input link to GetPersonStats.
- RemoteEvent: Fixed AutoFix code being in CheckForErrors, thus not marking event as Dirty.
- VEE: Creating an Undo state before AutoFixes are ran.
- SleepingForm: Removed generic property form.
- Improved Fetish & Content filter op comments.

- CreateItem: Fixed CheckForErrors exception when name empty.
- JumpToEvent: Fixed bad replace breaking jumps to events with Events\ further in path.
- ListFilterPerson(+List): Disabled filtering away PC, because it's not mentioned anywhere and none of the other filter ops do it.
- Marked PC as SpecialPerson.
- FR_Mods: Added proper check for bad extract.
- ParsedStringPreview: Running replacement on custom replacements to support escaping brackets in {if=} statements.
- Added String Name variant to GetClub op.
- Tweaked UriToBitmapConverter so AssetBrowser doesn't crash when an image is deleted.

- Pregnancy: Removed old mod check in Init_.

- Mass replaced the Principal context tag with PC_.

Pregnancy Update:
- Adds  basic pregnancy mechanics.
-- Condoms, pregnancy, birth, abortion.
-- Artificial insemination, age/fertility/male pregnancy drugs, child interactions.

- For development details refer to:  https://gitgud.io/barteke22/hhs-mods

- Condoms (buy in General Store > General Goods).
-- No condom use if non-consensual (hypno etc), except if PC is the aggressor and wears one.
-- Weekly Rep hit if percentage of students pregnant is higher than town corruption/lust.
-- Less Rep hit/potential gain if proper policies enabled accordingly.
-- Policy related check condom supply in ward + negotiate more/take some.
-- Max 1 box per NPC unless given by PC - if ran out chance to get (student rule disobedience has chance of detention).
-- Higher NPC corruption/lust = less chance of getting condoms (+ personality/nature's law based). Students are based on school policies + their personality/loyalty.

- Random event to peek on NPC birth if one is currently happening (30min window when it happens - so rare). Pretty much same as PC birth.
- Daily try for baby among parent couples: Max percentage of population is based on average lust.
- Game starts with 0-5 pregnant people (+ 1 born) for potential flavour.
- 1/2/3/6/9 month pregnancy. By default it takes 3 months.
- HasQuest/Infertile can't get pregnant unless trait is removed, or CanImpregnate is added (setting).
- Otherwise factors like has condom + fertility can lead to pregnancy.
- Hospital: Artificial insemination, pregnancy tests, child index, a shady doctor for a certain chain, birth.

- NPC-NPC are just notable by belly bulges (since it's not really PC's bussiness).
-- Can decide to abort if father unknown (hypno), or if bad relations with father.
-- Can be asked about child.  And ordered to keep/abort/change father via hypno.
- PC mother: Can abort (early), track down and notify father.
-- To bring up together, have them bring it up, just for child support. Or not.
- PC father: Will be notified (unless happened due to hypno).
-- Similar to above, but can also bribe/hypno to bugger off if you're a nice person.
- PC-NPC allows change of choice until the child is born. Can also become father via hypno.

- Parent visits to play with children. You can visit them if you have the address and they're bringing the child up.
- Allows any gender combos to have children via either sex, artificial insemination, or MPreg drugs.
- Children don't really do anything besides wasting money (or in rare cases earning it).

- Added an Info Panel tab to pregnancy with stats/info.
- Added Age drugs (chemistry). Up to X (setting) children that reach the minimum age will turn into real NPCs.
-- A single (1) child can 'grow up' via some shady means. Which unlocks Age drugs.
- Added generic child interactions, improved generic child events. Nothing lewd for obvious reasons.
- Added Missing Girl quest integration, it's now possible to make her not leave town on pregnancy path.
- Simple lactation support.

- Lots of settings under Map > Game Options to customize the experience.
- Added LOC_ event to Your Guest Room for updating the name.
- Updated SQLite nuget to use new Jsonb features.

- Added a Helper\GenericEventMenu function for making menus from event folders.
-- Should support a wide variety of menu needs, see its Description for details.
-- Applied to GameHelp, GameOptions, GenericModConfigMenu buttons.
- Added Location\PersonCanBeMoved function for checking if ScheduleHandler effects are less than 31min.
- Added Suggestion\GetRelationshipList function for getting a prefixed list of person relationships.

- UndressState: Added PermaNude & RandoMax settings.
- Suggestion's HaveSex & GenSex' SelectAction & GetMindControlSexOps: Added support for NPC-NPC. Updated events accordingly.
- Added Hypno NPC-NPC sex interactions: Someone here & someone they know.
- GetWillingness IncestPenalty: Replaced hardcoded check with proper family check.

- BirthdayState: Fixed forget/update only removing one entry due to wrong link.
- ClubComp Generic Reward: Fixed wrong club name used.
- FutanariOptions: Fixed typo.

- Moved IsMenstrual function into Pregnancy subfolder & fixed some things.
- InfoPanel/MainTab: Misc tweaks & fixes to stat handler.
- InfoPanelValueConverter: Introduced Min/Max support.

- Small tweaks in preparation for pregnancy commit.
- Added missing Hat layer.
- Misc typos.
- Moved some CustomEnums into subfolders.
- Updated some Docs.

- Set UserFacing property of more string and string list variables based on updated heuristic.
- Fixed CouncilProposals/Council_NudeCity using "Nude Beach" as its choice name.
[close]

barteke22Topic starter

Changelog 1.11.0.0 pt. 2
- Overhauled Btn_GameOptions, Btn_GameHelp, GameIntro to be dynamic.
-- Split them up into subcategory events. Works the same as ModConfigs.
-- Allows mods/base game to add new Setting/Help/Intro entries without modifying main menu.
-- Uses ExtensionLibrary\Location\Map.
--- Moved GameHelp content into the directory, updated referencing events accordingly.
-- Some misc event improvements & typos.

Engine commits 1f48fc2a & c915f6ea:
- Changed disabled management panel tabs from hidden to collapsed.
-- That way it removes the odd empty spaces in the tab bar when a tab is disabled.

- ExceptionViewer: Added Assemblies, System, Mods, Settings, Contact tabs.
- StringPreview: Added workaround to invalid Color exceptions, so that preview still works.
- Removed ExceptionReporter.dll and its dependencies.
- Removed AspNetCore.SystemWebAdapters.dll (replaced by smaller Core dependencies).
-- Seems it was added by an accidental Using; that wasn't actually used for anything.
-- Should no longer require ASP.Core runtime to run the game.

- Added new plot chain, the bad girls club, and it's four dynamically chosen characters. Complete through Vlow, more to come.
- Added int check to StudentPurification first trigger, and made it less common when it can't find dumb students.
- Adjusted repeat time on these events, since the image pool is massive.

- Ignore people asleep on SetEffectsOnObservers.
- Updated PublicMakeout to modern standards.
- Prevent bully and victim being the same person in RoofBully.
- Made Grunge optional so it's not added to all NPCs.

- Updated some more rules to use RuleReputationExpression.

Various event bugfixes & tweaks:
- Added support for comma as decimal delimeter in some regexes.
- Fixed SetEffectsOnObservers not clearing the NPC-NPC-at-school flag if PC is involved.
- Removed uniform check in MaidFashionShow.
- Made Btn_Investigate skip IsHoliday dates.
- Fixed old clubname check and missing person in MartialArts_Practice.
- Fixed TrackClub_PoleVaultTraining enabling club comp too early.
- Disabled Smallville Times photoshop interactions when Ruby isn't there, since she's in charge of them.
- Fixed ClubCompetitionTracker sending advisor when getting on the bus.
- Fixed Club_Competitions assignment creating faulty data on a specific slot combo.
- Text tweaks.

- Adapted person related content from the GPCC mod:
-- Added various PCKnows stranger descriptors like {a man} to SetPersonContextDict.
--- Also made its variables optional, no longer requiring person count in Mode.
-- By default describes age and gender. Can be set to additionally describe by personality or hair colour.
-- Added GetPersonHairColor function, for accurate base game / PD_Sys hair colours.
- Marked GetPersonsTextColor for deprecation. Engine now provides a better color list and another function can take over in the future.
- Updated some events to reflect these changes.

Engine Commits e7136c31 - c1560cf6:
- Added special handling for double when setting SeqVar_Int. Prevents rounding in some rare cases, like with DB operations.
- Added special handling for long when getting value as double from DB, since that's the DB int type. Fixes missing data when changing numeric types tracked by UINotifications.
- Made ReloadObjects manual conflict resolution remember choices for the same type.
- Debug > Database: Added workaround for columns with no affinity and mixed datatypes.
- SeqVar_Reference: Forcing file load in VEE to render comments. Always clearing cache on event reload just to be safe.

- Updated remaining VEE 'Find X' commands to use the validation form.
- Triming away scenario path from validation results for better readability.
- Preventing VEE undo/redo while debugging.
- Fixed SurvivesReload/Breakpoint unticking when drag-selecting a singular object.
- Fixed SetStringTo not being VEE searchable.

- VEE:
-- Fixed exception when pressing StepOut while not debugging.
-- Showing more of the filepath in title when in VEE, to easier discern which event it is.
-- Added ability to start debugging currently open event (awaiting user input) via a button in the debugger or Shift+F12 when ingame.

- ExceptionViewer demo: General & Exceptions.

- Enabled UpdateAllEvents in Release builds.
-- Tweaked it to provide specific folder choice.
-- Now targets all enabled files, not just highest priority overrides.

- Defined filter limits 0-99 in ListFilterPerson(+List) to prevent it from exploding.
- Lowered chance of Btn_Events being double triggered by click spam.
- Fixed AutoSave not working when PDs are fully disabled.
- Fixed management panel not updating student PD when changing from a non-student tab.

- Added #ContextKey: for defining custom ContextKeywords in event Description for info and string editor preview purposes.
-- Following the #ContextKey:key;previewVal;canCapitalize;Description convention.
-- Preview and Info buttons check the current event and its children for #ContextKey:.
- Changed the string editor Info button into a window instead of a tooltip. So that it can remain open, be resized, and copied from.
- Added the PC_ PersonContext tag for Principal.
- Added #Deprecated to mark events for future deletion.

- Events: Updated Annette & Andy.xml to reflect PC_ tag change.
- Added some cover letters by Masquerader.
- Changed slave collar to give lust and loyalty instead of corruption.
- Sleeping people shouldn't affect rep hit of kissing students.
- InfoPanel/MainTab: Fixed cache not distinguishing Stat from Skill, and moved stats starting with Sex_ to skills.

- Fixed wrong var in MainTab/AddVanilla.
- SetGenderStatusKnown: Fixed gender override not clearing if not futanari.
- PCKnowsPerson: Added setting Known status via Execute.
- Btn_GameOptions: Removed redundant bodysize code.
- Head asset rename.

- Kendo discipline reworked into bondage discipline, heavily expanded with new text.

- Defined parents for Annette & Andy so they actually count as PC's family.
- Tweaked some SpecialCharacter.xmls to have more parents.
- Changed EricManson to EricGallo.
- SetHonorificDict: Tweaked to check actual family states.
- AskParents: Added handling for different parent last names.
- GetPersonTextColor: Checking for text colour instead of special.

- MainTab\AddVanilla: Building Stat/Skill list dynamically instead of hardcoded (was getting annoying).
-- Also now checks definition files for DisplayNames, Description, ShouldShow.

- VoyeurismEffect: Fixed missing variable connection.
- MissingGirlFound: Added Anal as a proper GenSex action instead of just virginity loss.
- Changed compatible Get/SetPropertyByName Person types to IPerson to support VirtualPerson.
- Misc tweaks.

Engine commits a513a444 - 413065c6:
VirtualPerson tweaks:
- Added special handling to prevent exceptions in unsupported VEE operations.
- SortObjectList: ^ Restricted properties to IPerson interface, to support mixed lists.
- Added IsVirtual operation.
- Moved child registration to intMother/intFather from Mother/Father, so that SetPropertyByName works.
- VirtualPerson: Added support for GenderOverride, Traits, TextReplaceKeywordOverrides, OnGenderChange.

- Switched Person dummies to VirtualPerson.
- Fixed dummy person creation ticking up UID number, due to auto assignment.
- Misc VEE operation description tweaks. Mentioning cron order & timing for Daylight changes.
- Added support for creating virtual parents for special NPCs via their .xml definitions (OptionalName;OptionalParameterSource).
- Added support for Descriptions in the InfoPanel by adding //==// to a Value.

- Load Job's management tab buttons dynamically.

Normalize School Subjects files
- Remove XML comments (they are already included in the File Editor GUI)
- Change the order of some properties to be in the same order as when editing with File Editor

- Backwards compatible changes in SchoolSubject serialization to remove uneeded properties.
- Normalized Special Character files.
- Removed UID properties (generated and used by the engine and ignored unless loading from save)
- Changed Trait of Teachers from Staff to Teacher (it's the value they should have in the first place)
- Removed empty TeacherSubjects, SubjectFamilyExp, SubjectInstanceExp, DictProposalSupport, MaleHeadFileName, FemaleHeadFileName
- Removed intLoc and intOldLoc (they should be created by the engine, not added to the special character when creating it (except intLoc for Annette, Andy and Sherilyn Ambrose, where we want them to be unavailable to the player at the beginning)
- Removed Kid trait from Andy (unused)
- Remove custom PD Event file names where the handler doesn't exist or is the default one
- Remove old body size variables from Edgar Banks and Irina Jelabitch
- Remove intWork from Jeremiah Sanderson (it's added by the engine based on the Job)
- Fix Personality and Archetype of Jocelyn Everkeen and Rie Perrier

Engine commits ee3a6a - 904616: Backwards compatible changes in Person serialization to remove unneeded properties in Special Characters.

- Added scrolling to teacher subject assign screen to avoid description glitches with many subjects.
- Fixed FilterPerson UI not unticking IsVirtual when adding another filter.
- Switched EventUIControl visibility check to the more accurate one.
- Track Club description tweak.
- Fixed Btn_ConvertDrugs stack issues. Also improved whole menu.
- Fixed WalkerTraining being marked as Visit, thus not working if you had his house key.
- Fixed GetPersonFavouriteMovie breaking after first check.
- Fixed some logic in Carl_FuckStudent.
- Tweaked Karin_MasturbationChain to work with Male+Futa blacklisted (hopefully).
- Mini_Susan: Outfit level tweak based on uniform rules.

- Club journal title colors & MandyMeyers event background tweak.

- Added Track Club.
-- Joins competitions after 3 successful pole vaults.
- Added Martial Arts Club.
-- Starts via Carl Walker, joins after 3 demonstrations.

Cheerleader Club:
- Adapted to ClubCompetition framework.
-- Joins when morning practice witnessed.
- Male images.

Swim Club Chain:
- Adapted to ClubCompetition framework.
- Split Lifeguard stuff out of club level, to make it non-mutually-exclusive.
- Misc tweaks.

Club Competition Overhaul:
- Adds a generic, modular competition system.
-- Generic works out the box after joining, but any part can be replaced with a custom version.
-- Join, train, compete. Mainly for Reputation gains.
- Any club can join competitions by via the ClubData Function.
-- Specifying Joined state, participation seasons, indoor/outdoor, team/individual, minCount.
- Up to two competitions per month (shared between all clubs).
-- Take the students yourself or have the advisor do it (if any).

Engine commits 6c732518 - c45da710:
- Added Auto & Sleep to FaceExpression enum.
- Fixed Teacher serialization sometimes checking job, sometimes trait, instead of both.
- Changed DatabaseQuery Output to be optional, to avoid dead store flagging on 'exists' queries.

- Added the possibility to specify a required trait to teach a subject.

- Added a warning when triggering EventReloaded while event UI is already open.
- Brought back schedule keep on reload, was fully removed by accident.
- Fixed GetCalendarNoteForDay & IsHoliday not understanding DateTime.

- Added a weekday function & global var.
- Updated vanilla ShowImageOverlaid slightly.
- Changed CheerleaderFuta into CheerleaderHorny, using ShowImageOverlaid.

Engine commits 29e98c1c - 005d2529:
- AssetBrowser:
-- Fixed 'Rebuild Index (force)' not rebuilding the base game index.
-- Added explicit filter tags for Rating, Content Filter, Search tags: Rating:Value; Content:Tag1,Tag2; Search:Tag1,Tag2;

- VEE canvas undo/redo (Ctrl+Z/Y) prototype. Use with caution. Up to 50 changes per event by default (configurable).
- Removed @FullReload since it can now be emulated via VEE Ops and variable settings.
- Fixed EventReloaded Ops triggering even when the event containing them wasn't reloaded.

Events:
- Replaced @FullReload with EventReloaded.
- Removed daily popup in UpdateStudentParentStatGlobals.

- Fixes some image tags while testing.
- Fixed 'Add Stats with Limit' variables in events with faulty autofix conversion.

Engine commits f15d3549 - eec4ece0:
- VirtualPerson (lightweight Person type):
-- Added Virtual input to CreatePerson Op.
--- Supports conversion between Person and VirtualPerson.
-- Added variant links to specific GetPerson Ops to distinguish between the two.
-- Added IsVirtual checkmark to Person Filter Ops and Debug > Person.

- Fixed some bugs with, improved, and re-enabled SeqVar_ObjectList debugger property form (double-click inspector).
- Tweaked VEE FunctionLibrary list to be less glitchy when moving the mouse.
- Fixed "Compare String" condition wrongly being fulfilled if *any* of the variables linked to A matches B, rather than if *all* match (as the tooltip was indicating).
- Fixed 'Add Skill with Limits' to 'Add Stats with Limits' autofix not applying variables correctly due to different order.
- Fixed stackoverflow crash when hovering over a VariableReference referencing itself (after copy-paste).
-- Can still happen if 2 variables do a circular loop, but highly unlikely.

- Updated the rule description levels to match values of previous commit.
- Applied umgah's suggestion for Normal Uniform rep progression: https://discord.com/channels/961860130411020298/962281512638767144/1273409221597200394
- Fixed the name of the RuleReputationExpression tag.
- Adapted the effect on reputation of uniform rules to parent stats.
- Fixed layout problem in Computer Room.
- Allowed using conditionals in rule descriptions.
- Improved how rule reputation works.

- Allowed setting the reputation of the rules using Lua Expressions.
- Added operation to get the effect of the reputation for the current choice of a rule.
- Update RecordStatisticsForCurrentDay to use the new operation.

- Autofixing events, using better heuristic to determine whether a string variable contains purely technical text that is not user-facing.
- Updated dependencies to latest stable version.

- Virginity check fixes in AskVirgin + InfoPanel.
- Flagged prostitutes as non-virgin.
- Added GetCandidates ScheduleNone enum flag.
- Updated ClubName links that need base name.
- Tweaked church layout for nuns.
- Misc typos + description tweaks.

- New stats and skills are now initialized for the player character as well to some non-zero values. The initial values differ between principal genders but have the same total amount.
- New function event added to allow bulies to choose victims from a list. More useful for finding targets for bully events.
- A couple images were not connected in RopeWwalk.ve.xml. Added with text now.
[close]

barteke22Topic starter

Changelog 1.11.0.0 pt. 3
Added new content filter options and did a whole tagging pass over all images.
- There are now separate tags for Fingering and Handjob instead of lumping them together with Cunnilingus and Fellatio.
- Added separate tags for Footjob, Titjob, Lactation and SexToy.

- Made some additional variable links optional, since the operation can also be used only for their output links.
- Fixed possible NPE in new error check, if an operation it was used on was particularly old.
- Fixed dead stores in yet another bunch of events.

- Fixed a couple more events that had incorrectly used write-only variables.

Reduce number of false-positives in the new write-only detection by also considering whether variables are referenced in TextReplace strings as conditional references.
- Also fixed some events that had unused leftover values that were only written to.

Add static code analysis that detects dead stores to local variables in VEE.
- Certain operations can distinguish whether they are used in a read-only or write-only way by looking at which of their input links are connected.
- VEE validation result window now also shows comments of the affected object.
- Fixed CosplayClaire events having such an old version of the ClubRoom operation that it was missing the second input link, causing errors during the new analysis and could not be auto-fixed.

Added skills for sexual proficiency. (Not used anywhere yet)

Added some additional metadata properties to stats.
- DisplayName, to have a separate name for UI notifications than what is used internally.
- Description, to provide an internal comment clarifying the use of a stat.

Added Agility and Strength as new attributes
- Integrated new attributes into existing events, subjects, clubs and population generation.
- (Did not check for balancing of the new values yet)

- Fix typo in Lua script of Classroom Chemistry location layout.

- Fixed trade form not providing item list to give.
- Added property editors for stat and body part values that offer the values of the current scenario as combobox.
- Added "Bara" as new content filter tag and tagged applicable images accordingly.
- Refactored AssetBrowser to use a Lucene search index instead of searching and filtering directly in the file system.

More autofixing
- Person Skill → Person Stats.
- Enums.

- Removed old wardrobe initialization code (now it has it's own init).

Autofix deprecated operations
- Person Skills → Person Stats
- Person Skill With Limits → Person Stats With Limits

Improve buying and selling clothing items
- Items bought in the shop will be directly added to the player wardrobe
- Only items not bought by the player will be displayed in the shop
- Prevent the player from buying more than one item of the same type

- Added client inventory as an argument for the Show Shopping Form operation.
-- It's an optional argument, and it takes the player inventory as a default.

- Use the NPC Home to check if NPC lives with the player.
-- It used to check if the NPC is Andy or Anette, but that wouldn't work nicely for NPCs added by mods.

- Asset Browser is now also available from frontend, so we don't need to go through VEE if we just want to tag some newly collected assets.

#31: Refactor GameObject definitions to support Lua expressions
- Some minor refactoring to expose specific classes in documentation generation.
- Added PDF with documentation about the Lua API. (It's not exactly the most intuitive to read and understand, but it can be generated automatically via Doxygen and LaTeX, so we can at least keep it up-to-date with little effort in the future.)

#31: Refactor GameObject definitions to support Lua expressions
- Added Lua proxy for Rule and RuleChoice.
- Changed remaining LocationLayout conditions to Lua, since we can now access Rule objects in it.

#31: Refactor GameObject definitions to support Lua expressions
- Added Lua proxy for SchoolUpgrade.
- Added Lua global to obtain player settings like content filter.
- Changed Lua code to be serialized as CDATA in XML for easier manual editing.
- Added Lua expressions to be used in LocationLayout instead of the hardcoded condition options.

- Fixed arbitrary lists of objects not being assignable to SeqVar_ObjectList via SetVarValue().
- Improved assignment via SetVarValue() for SeqVar_StringList and SeqVar_StructDictionary.

#31: Refactor GameObject definitions to support Lua expressions
- Added MoonSharp library.
- Added (readonly) proxies around HHS game objects and engine globals to make them accessible to scripting in a safe manner.
- Added VEE operation to execute Lua script, similar to how Math expressions with mXparser can be evaluated.
- Added LuaExpression to replace the mXparser-based ExpressionWrapper with a variant based on Lua scripts.
- As first test bed, added new ValidClubMemberExpression property to Clubs as replacement for the ForGender property to determine via Lua script whether a person should be allowed in a club or not.

- Added updates by Neme, which primarily add weather checks for windy or clear sky to beach events but also modernize a few of them.

- Precompiled regexes for text replacement in events.
- Fixed bug causing "iff" text replacement condition to get confused by closing curly braces in its replacement text, even when those braces were escaped with backslashes.

- Added missing property cloning for Assign Operation Reference.

- Travel time between locations can now be floating point values.
-- Decimal part of a floating point travel time will accumulate until it causes an additional full tick to elapse. Game time is still measured only in minutes, without decimal places.
-- When traveling less than a full tick between locations and the accumulation is not enough, then the game clock will not advance but calculations that take place on each tick (such as moving NPCs) will still happen.
-- Removed the multiplier that was auto-correcting travel times between 1 and 3 to be 1.5 times of their actual value (to make up for the fact that were not enough events in places to keep players busy if they just wandered on forever). This was too intransparent for modders.
-- Dijkstra utility class has been updated to floating point precision as well, which could also affect the calculations for the Degree of Relationship. However, the end results are unchanged.

Removed most code related to Person Skills and added migration code that will turn skills into stats in new and existing save games, until events have caught up.
- Added option to specify whether stats are added to all persons by default or not.
- The base game and mods should define skills in the stats folder in the future and use operations concerning stats. The VEE operations can be automatically migrated.

Added overview text for archetypes, harvested from Wayback Machine since the original site and its descriptions is down nowadays.

Engine commits 99c1a50f - a31e8f9e:
- Sorted IntEnum UI members.
- Made middle-click on RemoteEvent link copy value for all Int types.
- Added DecodePixel to WineHQ compatibility settings.
- LocationLayouts: Added Job condition.
- Moved AutoReloadables trigger from closing debug to ReloadGameObjects reload and added the missing types.

Events:
- Added enum for GetContentFiltered.
- Added temporary weather VisitFrequency modifier to Beach & Onsen.
- Cleaned up and fixed some logic in ClubManagement daily.
- Added Weather_Season global variable, daily event to set it, function to check it for date.
- Fixed missing link in Futa transform ingested_ItemEvent.
- Fixed Town Hall meeting landing on Sunday instead of Saturday.
- Tweaked some function defaults.
- Misc tweaks.

- Ran mass autofix to update old enum names + whatever else got caught.
- Tweaked existing and added new custom enums.

Engine commits a3893184 - 0c42ebe3:
- Fixed some weird CheckForErrors GlobalVar loading issue.
- Expanded CustomConstants enums with BitField modifier type.
-- Also added on hover descriptions.
- SkiaImageHandler: Changed file open mode to read-only.
- PDLayerTransforms: Removed no longer needed ErrorCheck.
- Added variable Value search condition to SearchEventsForOperation.
- Separated WineHQ setting from GFX, since weather and animations work now.
- Added location rebuild on event reload if no event UI opened.
- Tweaked TimedQueueManager to prevent UINotif overlap after freeze.

- Nuns.
- Added non-competition club update by MaskedPanda.

Engine commits 402d4ab3 - fd8a556b:
- 'Find Events with Operation':
-- Added HasInputLink condition.
-- Added variable Name & Comment conditions.
-- Fixed 'Any' conditions in 'Find Events with Operation'.
-- Changed result window to CheckForErrors to enable double-click jumping.
- Added error checks to global variables.

Events:
- Fixed club president being reset every other day if PreferedPresident set.
- Timetable Export: Tweaked to use last valid path when exporting.

Engine commits d9eed707 - 7e5fcc69:
- ShaderEditor / Preview: Added support for int.
- Fixed GenerateNumberFromString, since .Net Core hashing is process randomized.
- Removed Checksum checks.
- Added 'Write Text to File' and 'File Dialogue' VEE Ops:
-- One writes to file, the other provides an interface for picking files / folders to be opened or written to.
- Fixed broken shaders & added meta.
- Added meta reading to regular shader Ops & auto-refresh on selection change.
- Fixed debugger hang when holding Enter to Continue.
- Fixed debugger exception when hitting Continue after closing window.
- Made VEE filter apply opacity instead of not rendering non-matching.
- Added mention of being unable to directly edit the items returned by FlattenItemStack Op to its description.
- Added OnGenderChange NativeEvent support (calls events from ExtensionLibrary\OnGenderChange).
- Embedded PDB into the main .dll.
- Added an 'Update Save' button to Debug > Modules to handle updating existing saves.
-- Also added default resolution choice per object category.
- Tweaked UINotifications so their start timers don't run while UI is frozen.

Events:
- Moved ApplyGenderedForename from Function to OnGenderChange.
- Fixed ShaderGallery var.
- Applied WriteTextToFile to ManagementPanel class schedule export.

New Feature: Operation References (#30)
- Added OperationReference as new object type to be contained in SeqVar_Object.
- Can reference any operation, though is primarily intended to be used with the new SeqEvent_Function.
- Is created via SeqAct_AssignOperationReference. The operation has a property window similar to SeqVar_Reference and also draws a linking line when hovering over it.
- SeqActLat_RemoteEventDynamic now has a Link Variation that accepts an OperationReference instead of a VisualEvent target.
- SeqActLat_ShoppingForm and SeqActLat_TradeForm have been changed to now require the use of OperationReference instead of triggering separate executions implicitly via their output connectors.
-- Changed all existing events that made use of the old operation versions to utilize the new logic.
- Refactored EventRunner logic. It is no longer possible to explicitly specify a starting index for the execution - instead, the starting OP is triggered normally (and SeqEvent will trigger the corresponding output based on the current event phase).
- Moved EventStructManager into separate file.
- Moved several core VEE components into subfolders.
- A reference SeqVariable without comment now has the level "WARNING" instead of "SEVERE" during VEE error check.

- Fixed Btn_Shaving not affecting the items.

Upgraded code base from .NET Framework to .NET Core 8.
- Libs are now deployed to root folder again, since getting the alternative to work is too much trouble.
- Libs have been updated to versions compatible with .NET Core.
- Changed UIProgressBarDefinition to store content of the color inside the XML element instead of an attribute. (The conversion from XmlColor to Color no longer worked in .NET Core)
- Fixed Sildenafil (Viagra generic).xml being encoded in Win-1252, which is no longer parsable by .NET Core.

Engine commits e8f15830 to 5759e1c1. Part 2/2: Moving DLLs.
Engine commits e8f15830 to 5759e1c1. Part 1/2 (resources):
Game:
- Tweaked SexualPreference calculation to use percentage instead of static difference.
- Replaced Imazen.WebP and XamlAnimatedGif with SkiaSharp. Supporting transparent and animated .WebPs.
- Tweaked modules tab a bit:
-- Added colums to better indicate what priority is.
-- Added a column to show file overrides (if Check for Overrides is pressed).
-- Added highlight of overrides on selection.
-- Added dummy mod entry representing scenario.

VEE:
- Shaders:
-- CustomShaders: Fixed register name conflict exception.
-- Fixed dynamics expection in regular LayerShaders.
-- Added a shader preview to all Shader Ops.
-- Added AvalonEdit based ShaderEditor to VEE.

- Show Image & Random Image Ops:
-- Added support for picking a specific frame from an animated GIF or WEBP to display instead of the full animation.
-- Added support for frame-specific content filter tags and image rating in metadata.
-- Added support for "Show Image" with Image Path variable to use [1] as suffix for specifying the index of an animated image frame.

- Added MatrixMath Op to aid shader calculations. For matrix multiplication & inversion.
- Layer Transforms Op: Added options to Clear and Get current data. Added zoom to preview.

- Fixed PornoMagazine exception.

- Pool girls extended to all uniform levels, tease updated.
- More swimming updates.
- Quick update to poolgirls.
- Finally content for the pool, just school swimsuits so far.
- Boardshort Challenge Obvious has been created, for when girls had no chance of being mistake for a boy

- Updated "Extension Events.txt".

- Fixed exception with SwimTeamClubComp if only special females.
- Fixed SetCustomLayers sorting.

Engine commits d96e435d > e5852d16:
- Added variable link variant to SetPaperDoll Op - hova
- Added byName link variant to CreateItem.
- Added DebugCommand dropdown as a workaround for those that can't see the regular one + a way to see the whole list.
- Added a Name from UID debug command to aid with database reading.
- Added location from person & UID from name debug commands.
- Added link variant to GetPaperDollLayer(s) for getting layer directly by Name.
- Added a Clear option to the layer transform Op.
- Added a PaperDollLayerRank Op.

- Fixed club enlistment not working when ImportantStat is maxed.
- Fixed event-opening Edit buttons not working in Debugger.
-- Made Edit focus on referenced ID for SeqVar_Ref.
- Fixed LayerTransform dynamic + variables exception.
- Fixed PaperDollLayerCustomShader clone dynamics issue.
- Tweaked list Ops to support true modulo instead of the c# version.
- Tweaked @FullReload to respect variable persistance.

- Minor balance tweaks to GetWillingness, Pornography, Swimming class.

- Made relevant April events trigger if called to office outside of breaks.
- Fixed missing time passes in SierraHardmanSex.

- Misc tweaks and typos.
- Fixed some menstruation issues: Broken check & swap on gender change.

Use the bedroom location of Annette instead of the hardcoded Guest Room in SH

- Specifying assembly in Themes allows local: to be loaded.

- Tweaked Gen Home street exit to use real location buttons & fixed AskForSex not updating location.
- Tweaked SusanCorruption to mark images its as non special on completion.

Engine (forgot to add in previous commit):
- Added Imazen support to VEE.
- Fixed FindExternalReferences exception in debugger.

- Miniquest_AearosolDrug drug strenght check fix.
- Btn_OrderProstitute discount state fix.
- JuneTalk intro tweak (knocking).

Engine:
- Added Imazen support to VEE.
- Fixed FindExternalReferences exception in debugger.

- Futa drug GenderOverride tweak.

- Fixed GetWillingness inveting friendship bonus.
- Tweaked GetAttraction Grunge to reduce Charisma to 0 instead of into the negatives.
- Btn_peeFem-Futa exception.
- Reduced some SierraHardmanSex checks, since they were excessively high.

- Sherilyn_Encounters scheduling failsafe.
- Tweaked onsen change room layout to have lights on.

- Added ShowImageOverlayed & applied it to POO.
- Tweaked lactation regex.

- Added virginity removal failsafe to missing girl, maybe should integrate SexToy dummy virginity handling into GenSex.
- Fixed Btn_Shaving not affecting the items.
[close]

barteke22Topic starter

Emergency patch 1.11.0.1:
- Fix for a rare bug that you'd probably only run into with specific mods.
  PersonStatusEffect with link variant not being able to handle VirtualPerson.
- Fixed nun initialisation.

barteke22Topic starter

Emergency patch 1.11.0.2:
- Fixed a Cron exception in Pregnancy\Children.