-
Notifications
You must be signed in to change notification settings - Fork 2
Girl addition mod guide
If you are creating a new girl, it is strongly advised that you enable the console in your BepInEx/config.ini
configuration file (set console=true
) so you can see any validation errors appear when you attempt to load your game with your mod.
To verify the contents of your addGirl.json
file, use this website ( https://www.jsonschemavalidator.net/ ) and use the schema that is located in this repository.
This document describes how a new character is modded into HCS using HCSLoader. Currently additional outfits and hairstyles are not supported.
To begin, a new folder next to your HunieCamStudio.exe file called Mods
should be created.
In the new Mods
folder, each additional girl added should also have their own unique folder. The folder structure should look like this if it has been set up correctly.
HunieCamStudio/Mods/NewGirl
Inside that folder is where you place the files for your new girl.
This is rougly what the file structure should look like once you are complete:
../NewGirl/addGirl.json
../NewGirl/icon1.png
../NewGirl/photo.png
../NewGirl/photothumbnail.png
../NewGirl/voice-accessory/
../NewGirl/voice-blocked/
../NewGirl/voice-employ/
../NewGirl/voice-finish/
../NewGirl/voice-profile/
../NewGirl/voice-recruit/
../NewGirl/voice-start/
(and any additional textures if you wish to create the parts for them)
I will describe what each file means in the rest of this document:
These textures aren't necessarily related to how your character looks, but the game requires them for other things.
Note that all textures must be in PNG format.
icon1.png
: The small icon that's displayed for each girl in the wardrobe and the girls window. Should be 102x102 in size. You can increase the number (i.e. icon2.png
) to specify a different icon for each hairstyle, up to 5.
photo.png
: The image that's shown in the loading screen or when you view the special photo for a girl when you unlock all her outfits and hairstyles. Should be 1920x1080 in size.
photothumbnail.png
: The thumbnail that's displayed in the wardrobe when you unlock all of a girl's outfits and hairstyles. Should be 160x144 in size.
These folders must be created in your girl's folders, and are used to load audio clips for a specific response.
voice-accessory - Give a girl an accessory or item
voice-blocked - When a girl cannot perform an activity
voice-employ - You drag the girl into a slot on the right of your screen
voice-finish - Girl finishes an activity
voice-profile - You click on the girl's profile in the girls window
voice-recruit - When you recruit a girl for the first time
voice-start - Girl starts an activity
Each folder represents a different activity.
The audio clips must be in .ogg format. There must be at least 1 clip per folder.
addGirl.json
is what's used to store information about the girl, such as her name and description. Here is an example one:
{
"name": "Momo",
"description": "Momo is a catgirl.",
"age": 1,
"cupSize": "B",
"weight": 100,
"smokes": 0,
"drinks": 0,
"talentLevel": 1,
"styleLevel": 3,
"fetishes" : [
"Furry",
"Flat Chest"
],
"parts" : [
{
"type": "BODYCOLORS",
"file": "base.png",
"x": 760,
"y": 90
}
]
}
The name of the girl.
The description of the girl when you hover over her info tooltip.
The age of the girl, which is shown in the girls window.
The cupsize of the girl. Must be A
, B
, C
, D
, DD
, or F
.
The weight of the girl, in pounds.
How frequently the girl does the activity. Must be between 0 and 3 (Never
, Sometimes
, Frequently
and Addicted
in order)
The starting level of the skill of the girl. Must be between 1 and 5.
An array of fetishes that the girl has. Must contain exactly 2 fetishes.
Sprites of girls in the game are assembled by assembling lots of smaller sprites (named parts) together.
The type of part. The full list of them is:
BACKHAIR
BODYCOLORS
HAIRSHADOW
BODYLINES
OUTFIT
MOUTH
EYES
EYELIDS
EYEBROWS
FRONTHAIR
SPECIAL
Most of the types only influence the Z position of the part, but some have extra functionality attached to them:
-
EYELIDS
: The game switches between the first 3 EYELIDS parts on a random timespan to simulate blinking. -
MOUTH
andEYEBROWS
: The game has a hidden mechanic where girls can have a happy, sad or angry mood, and switches between the first three MOUTH and EYEBROW parts based on the current mood. Since this is never seen in normal gameplay, you would only ever need to supply 1 instance of these parts each. -
OUTFIT
: Changes based on the selected outfit of the character. -
FRONTHAIR
,BACKHAIR
, andHAIRSHADOW
: Changes based on the selected hairstyle of the character.
As I'm lazy and only using a single static image as a girl's sprite, I'm using BODYCOLORS
in my example as it is what the game thinks of as a "base" texture.
The .png file that has the texture of this part.
These properties define where exactly the part should be placed on the rendered girl image. However, figuring out the values that you want isn't very straightforward.
As a rough guide, you can use these formulas to get the x
and y
value that would center the image:
x = 1080 - (image width / 2)
y = 550 - (image height / 2)
If you wish to make any more precise adjustments, keep in mind that increasing x
moves the image to the right, and increasing y
moves the image down.
If you want to specify a name for an outfit or hairstyle, add an additional name
property in the part that has an OUTFIT
or FRONTHAIR
type.