CGallery & CHeight - Character Gallery & Player Height

2025-07-0522-26-02-ezgif.com-optimize.gif


Untitled-ezgif.com-optimize.gif


2025-06-1322-21-12-ezgif.com-optimize.gif

CGallery & CHeight is a simple script/pcr01 lua combo that allows you to store your characters design and to customize the player's height in-game live
(which also saves to the game's save file and is loaded correctly)
Simply walk into a plastic surgeon to use both features, Character Gallery files are saved in the game's directory under a folder called CGallery, and are user-sharable.​
AdjustHeightCamera;
self explanatory, adjusts height of camera while on-foot according to your character's height.

2025-06-1220-49-56-ezgif.com-optimize.gif


ShouldDisableInCutscene;
disables the character height effect when a cutscene is playing, to avoid issues, otherwise it's recommended to make use of Cutscene's Patch height fixes.



r5:
Added CoopSync > this allows for player heights synchronization on join/height update!, coop only of course.
Added modifyPCR01 > patches pcr01.lua automatically when using Juiced 7.7.2+ assuming JuicedAPI is toggled on in juiced.ini under [API]
Added Metric > When using JuicedAPI's modifyPCR01 it'll display height in cm in the plastic surgeon
Download and install Ultimate ASI Loader, dinput8.dll Win32 suffices for SR2, (drag and drop dinput8.dll to same directory as SR2_pc.exe)
Drag and drop the mod's ASI into the game's directory or into a scripts folder in the same directory as the game.


CHeight now patches pcr01.lua on request assuming you're using Juiced 7.7.2+ and have modifyPCR01=1 toggled on in SR_CHeight.ini and JuicedAPI is toggled on in juiced.ini under [API] (modifyPCR01 IS REQUIRED FOR CGALLERY and in-thus Juiced)
otherwise if you're using an older version of Juiced.

Install modified pcr01.lua file depending on what mod you have, drag and drop into Juiced's mods folder, or your preferred way of installing files.

if a mod you use conflicts with the pcr01.lua provided, feel free to edit to support both, CHeight just needs an update function and the entry to show up in the Body section.

Height slider positioning will start from the far left, but moving it will instantly move it to the correct positioning, eitherways the value is correct and doesn't reset, most likely bad lua code.

Unicode is probably not supported in the gallery, text handling is hacked up right now.

Add a DisableInCutscene filter by cutscene name?
fix hitbox overall? (unlikely)

unconfirmed, but I need to reset coop player height when coop player leaves so that when a non CHeight-user joins, when the game hasn't been restarted it wouldn't default to the old coop player height, overall if both players are already using CHeight there should be no issues.



Changelog
r6(current):
Added CGallery, allows you to save your characters design and then load them, user sharable, folder is in the game's directory "CGallery", requires modifyPCR01

r5.1
Move camera height according to character's height in clothing stores just like plastic surgeon (.asi edit)

r5:
Added CoopSync > this allows for player heights synchronization on join/height update!, coop only of course.
Added modifyPCR01 > patches pcr01.lua automatically when using Juiced 7.7.2+ assuming JuicedAPI is toggled on in juiced.ini under [API]
Added Metric > When using JuicedAPI's modifyPCR01 it'll display height in cm in the plastic surgeon

r3: added lerpFactor

@scanti Reverse engineering help
SeaboundSaint: idea inspiration by Custom Heights & for Cutscene's patch to fix height issues in cutscenes.
 

Attachments

Last edited:
CHeight has been updated.


Changelog
r5:

2025-06-1322-21-12-ezgif.com-optimize.gif

Now features coop-sync.
(also technically this is the first custom internal network functionality mod for SR2)

Added CoopSync > this allows for player heights synchronization on join/height update!, coop only of course.
Added modifyPCR01 > patches pcr01.lua automatically when using Juiced 7.7.2+ assuming JuicedAPI is toggled on in juiced.ini under [API]
Added Metric > When using JuicedAPI's modifyPCR01 it'll display height in cm in the plastic surgeon
 
r6:
Added CGallery, allows you to save your characters design and then load them, user sharable, folder is in the game's directory "CGallery", requires modifyPCR01=1
Amazing! The updated pcr01.lua files weren't included this time though, so unfortunately I can't use this. (I'm still using Juiced v7.6.0.)

Also; I've noticed a bug with the camera height in the Wardrobe and clothing stores where if your character's height is below ~0.93 and preview Socks or Shoes, the camera will lock at 0 position and you can't see anything or zoom out.
 
Last edited:
This mod is easily gonna become essential for me as being able to save my character so i don't have redo them whenever i wanna make another character is a godsend (and was the only good feature in the reboot.)

I personally would like a standalone version of CGallery, since i have no intrest in the player height. But it's not a big deal.

I did notice some bugs howerver, like Lipstick not saving properly sometimes. I also notice if you switch to face, hair or make-up after loading a character, there hair will revert to whatever was selected previously. Which can be a little annoying.

I also hope the pcr01.lua file is inluded in r7, since i was a little confused when following the instructions at first.

Overall, amazing mod and i hope it gets updated more in the future!!!
 
Last edited:
I did notice some bugs howerver, like Lipstick not saving properly sometimes. I also notice if you switch to face, hair or make-up after loading a character, there hair will revert to whatever was selected previously. Which can be a little annoying.
All I use/base this off is the internal lua function multi_load_saved_character() which I believe it's purpose is to carry your SP character into MP, it does it by getting it from the last saved game, all I did was just not read the data from the save game but those binary files that are stored, so the loading/saving is fine it's just how the this function loads characters, I've found that re-loading the preset (clicking twice) would sometimes show/hide makeup/facial textures and I'm not sure why.
 
(Continuing a conversation from here.) @Clippy95 @SergeantPooter @MapleEllie

Okay, I've tested it with Juiced v7.6.0 + CHeight+CGallery + M2M + HS2.

- I get crashing when loading saved characters depending on how much needs to be loaded from what the character was before (ie: how different the saved character is from the current one).
- Hair options don't always remain once applied.
- Make-up options toggle on and off each time a saved character is loaded.

My guess for the crashing is that because the code CGallery utilises was made to load characters for multiplayer, it likely did that by using a completely blank character with no customization options applied (like this) as a base to load customization items onto behind a loading screen (I don't know for sure, I've never played the Mulitiplayer). But with CGallery, it also has to unload what was already on your character before you loaded the saved character, which might be proving too taxing for the game.

Hair options not sticking is the kind of issue that arises from modding player creation in general. Even adding more color options can result in this kind of bug.

There is code in pcr01.lua that centres around the saving and removal of make-up depending on which Sex Preset you choose to apply. Maybe it has something to do with that.

Again, I'm using Juiced v7.6.0, which does not allow pcr01.lua to be patched on the fly. I don't know if it works any better on newer versions of Juiced.
 
Back
Top