Fill Her Up Baka Edition - Extended Scaling Patch
====================================================

Version
-------
Final (?) extended binary patch with FOMOD preset support.

Target load order
-----------------
Install this patch after these mods:

1. Sexlab Fill Her Up Baka Edition
2. Fill-Her-Up-Baka-Edition-CORE-2.0.3.9
3. Fill Her Up Baka Edition - Settings Loader

The patch is intended for the setup where:

- sr_inflatequest.pex is taken from the main Fill Her Up Baka Edition mod.
- sr_inflateConfig.pex is taken from Fill Her Up Baka Edition - Settings Loader.

What this patch does
--------------------
This patch expands the usable inflation range while reducing visual growth per unit so that larger numerical values do not instantly create extreme belly scaling.

Core gameplay changes:

- Main inflation limit slider is expanded from 20.0 to 800.0.
- Oral inflation limit slider is expanded from 5.0 to 600.0.
- Debug fill amount slider is expanded from 20.0 to 800.0.
- Cum amount multiplier slider is expanded from 0.1-3.0 to 0.1-120.0.
- BodyMorph scaling is changed from value / 10 to value / 400.
- NodeScale scaling is changed from direct value scaling to 1.0 + value / 50.0.

Expected scaling result
-----------------------
With the patched formulas:

BodyMorph:
- 200 amount -> 200 / 400 = 0.5
- 400 amount -> 400 / 400 = 1.0
- 600 amount -> 600 / 400 = 1.5
- 800 amount -> 800 / 400 = 2.0

This means:
- 200 new amount is visually similar to old BodyMorph amount 5.
- 800 new amount is visually similar to old BodyMorph amount 20.

NodeScale:
- 200 amount -> 1.0 + 200 / 50 = 5.0
- 400 amount -> 1.0 + 400 / 50 = 9.0
- 600 amount -> 1.0 + 600 / 50 = 13.0
- 800 amount -> 1.0 + 800 / 50 = 17.0

This means:
- 200 new amount is visually similar to old NodeScale amount 5.
- 800 new amount is very large, but still slightly below old direct NodeScale 20.

Important note about oral inflation
-----------------------------------
The main belly inflation uses the combined vaginal + anal pool.

Oral inflation is handled separately and is controlled by its own oral inflation limit. The default extended ratio used by this patch is:

- Main max: 800
- Oral max: 600

That keeps oral capacity at 75% of the main capacity, matching the previous 200 / 150 ratio.


Exact binary changes
====================

Patched file 1
--------------
File:
Scripts/sr_inflateConfig.pex

Purpose:
This file comes from Fill Her Up Baka Edition - Settings Loader. It controls the MCM slider ranges.

SHA256 of patched file:
49d5d61e224fdfa16100cad32ed182a106aa18620bc7a05c176ca5e7e0b004a9

Binary edits:

1. Main max inflation slider upper bound

Meaning:
SetSliderDialogRange(0.1, 20.0) -> SetSliderDialogRange(0.1, 800.0)

Offset:
0x01201F

Original bytes:
41 A0 00 00

Patched bytes:
44 48 00 00

Float values:
41 A0 00 00 = 20.0
44 48 00 00 = 800.0

Verified nearby patched range:
3D CC CC CD 04 44 48 00 00
0.1          -- 800.0


2. Oral max inflation slider upper bound

Meaning:
SetSliderDialogRange(0.1, 5.0) -> SetSliderDialogRange(0.1, 600.0)

Offset:
0x012093

Original bytes:
40 A0 00 00

Patched bytes:
44 16 00 00

Float values:
40 A0 00 00 = 5.0
44 16 00 00 = 600.0

Verified nearby patched range:
3D CC CC CD 04 44 16 00 00
0.1          -- 600.0


3. Cum amount multiplier slider upper bound

Meaning:
SetSliderDialogRange(0.1, 3.0) -> SetSliderDialogRange(0.1, 120.0)

Offset:
0x0121F1

Original bytes:
40 40 00 00

Patched bytes:
42 F0 00 00

Float values:
40 40 00 00 = 3.0
42 F0 00 00 = 120.0

Verified nearby patched range:
3D CC CC CD 04 42 F0 00 00
0.1          -- 120.0


4. Debug fill amount slider upper bound

Meaning:
SetSliderDialogRange(0.1, 20.0) -> SetSliderDialogRange(0.1, 800.0)

Offset:
0x01236D

Original bytes:
41 A0 00 00

Patched bytes:
44 48 00 00

Float values:
41 A0 00 00 = 20.0
44 48 00 00 = 800.0

Verified nearby patched range:
3D CC CC CD 04 44 48 00 00
0.1          -- 800.0


Patched file 2
--------------
File:
Scripts/sr_inflatequest.pex

Purpose:
This file comes from the main Fill Her Up Baka Edition mod. It controls actual inflation application and visual scaling.

SHA256 of patched file:
fa3eaa7dba4ea253f25a001698a89906a23b5dc489e1b8079b75f7fbde5a8509

Binary edits:

1. BodyMorph divisor

Meaning:
BodyMorph scaling was changed from value / 10 to value / 400.

Practical result:
- Old: 20 / 10 = 2.0
- New: 800 / 400 = 2.0

Patched value:
Integer constant 10 -> 400

Original bytes:
00 00 00 0A

Patched bytes:
00 00 01 90

Number of replaced BodyMorph constants:
11

Patched offsets:
- 0x0135C3
- 0x01364C
- 0x0136D5
- 0x01375E
- 0x0137C3
- 0x01385D
- 0x0138E6
- 0x01396F
- 0x0139F8
- 0x013A57
- 0x013AC5

These constants are used by the BodyMorph path in SetBellyMorphValue.


2. NodeScale formula

Meaning:
The NodeScale path was changed from direct scaling:

value

to scaled growth:

value = value / 50.0
value = value + 1.0

Logical equivalent:
NodeScale = 1.0 + amount / 50.0

Inserted bytecode sequence offset:
0x00B944

Inserted / verified byte sequence:
08 01 02 CA 01 02 CA 04 42 48 00 00
02 01 02 CA 01 02 CA 04 3F 80 00 00

Decoded meaning:
- divide value by 50.0
- add 1.0 to value

Float constants:
42 48 00 00 = 50.0
3F 80 00 00 = 1.0

Practical result:
- 200 amount -> 1.0 + 200 / 50 = 5.0
- 400 amount -> 1.0 + 400 / 50 = 9.0
- 600 amount -> 1.0 + 600 / 50 = 13.0
- 800 amount -> 1.0 + 800 / 50 = 17.0

Notes about the NodeScale edit:
This is not a simple float replacement. It is a bytecode insertion into the SetNodeScale function. The patched PEX was adjusted so the script structure remains readable and the game can load it.

Installation
============
MO2 archive:
Install as a normal mod after the original FHU mods and Settings Loader.

Compatibility notes
===================
This patch overwrites:

Scripts/sr_inflateConfig.pex
Scripts/sr_inflatequest.pex

Any other mod that overwrites these same files will conflict. In MO2, this patch should win file conflicts against the original FHU Baka files and the Settings Loader config script.

If another patch also modifies these same PEX files, only the last winning files in MO2 will be active.
