Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- For every body part there seems to be the actual used files, a gap in files name numbers (eg heads, 000-008 then a gap until 150), then 45 files that do not seem to be used for anything, though *ARE* loaded in character edit.
- Everything is treated like a 4 byte group, far as I can tell, with the final byte being a sort of scalar that should generally be left alone to keep things within reasonable bounds. Messing with this byte can lead to negative heights, infinite planes of texture flipping out on the game, things of that nature, do so if you really want to make something bigger or smaller than would be reasonable.
- For character creation / editing, the files from game_main.arc are used, they're found in game_main.arc\edit\parts - in game, what files the morphs are pulled from seems to vary, for pawns game_main.arc seems to be it, but for the player character, it seems to be one of the following: game_main.arc, title.arc, or editParts_[gender].arc (found in rom\etc) - which of these it is seems to vary, I Godsbane suicided while savescumming novelties and what file it used swapped over to game_main.arc for me, so to be safe, you should probably test your edits out in game_main, then transfer them over to both title and editParts_[gender] to be sure they're active.
- Also of note: these are held CLIENT SIDE, all you are doing is changing what the presets in character creation mean - this means that if you change option 16 for Torso and edit that to look like some celebrity's beach body, your pawn will look slammin in your game, and have that totally retarded wedge shape in others' games. If you want to still get hires and be everyone's best friend, you should find a preset similar to what you're going for and edit from there, so your pawn for others will look at least similar to what you've wrought in your own game.
- And of course, this is a work in progress - not all hex ranges have been ID'd, so please refresh or look again later if you're really looking to edit noses, or better yet, mess with it and figure out what everything means and do my work for me, then message me on Steam. Also check this out: https://a.pomf.cat/tkfooy.webm
- ====================================
- ABOUT THE VALUES OF THESE ADDRESSES
- ====================================
- In regards to the 4th byte:
- Going up from BF = greater negative scalars
- Going up from 3F = greater positive scalars
- You can go either way from these, but the first three bytes should be seen as digits that scale off the 4th byte, right most digit being the greatest in value. So ranging from 00 00 00 to FF FF FF creates the range between 4th byte 3F and 40 as seen below. The 4th byte is a decimal value of 2 exponentially, for some reason treating 40 as 1, and BF as 1 but for a value multipled by -1.
- Essentially it's good to think of two baselines and work from there:
- 00 00 00 3E = 0.125
- 00 00 00 3F = 0.5
- 00 00 80 3F = 1.0
- FF FF FF 3F~= 2.0
- 00 00 00 40 = 2.0
- 00 00 00 BE = -0.125
- 00 00 00 BF = -0.5
- 00 00 80 BF = -1.0
- FF FF FF BF~= -2
- 00 00 00 C0 = -2
- head morphs
- ---------------------
- head000-008(male) and head100-108(female) are morphs for the head size slider
- 0x0C - scale of head
- 0x34 - neck height
- face morphs
- --------------------
- base folder contains face morphs
- base_000-047(male) and base_100-147(female)
- some of these files have a few less bytes and end at 0x107 instead of 0x113
- 0x10 : Forehead height
- 0x14 : Forehead depth (portrusion?)
- 0x18 : right side cheekbone horizontal depth
- 0x1C : right side behind eye height (cheekbone?)
- 0x20 : right side checkbone depth
- 0x24 : left side cheekbone horizontal depth
- 0x28 : right side behind eye height (cheekbone?)
- 0x2C : right side checkbone depth
- 0x30 : right side cheek horizontal?
- 0x34 : right side cheek no godamn idea
- 0x38 : right cheek depth (whole cheek)
- 0x3C : left side cheek horizontal?
- 0x40 : left side cheek no godamn idea
- 0x44 : left cheek depth (whole cheek)
- 0x48 : back right jaw horizontal
- 0x4C : back right jaw horizontal and depth
- 0x50 : back right jaw depth
- 0x54 : back left jaw horizontal
- 0x58 : back left jaw horizontal and depth
- 0x5C : back left jaw depth
- 0x64 : between chin and mouth area
- 0x68 : chin depth (chin tip jutting) (chin rotation?)
- 0x70 : chin growth/size
- 0x74 : chin depth
- 0x80 : double chin area size
- 0x84 : right mid jaw horizontal
- 0x88 : right mid jaw horizontal and depth
- 0x8C : front right jaw depth
- 0x90 : left mid jaw horizontal
- 0x94 : left mid jaw horizontal and depth
- 0x98 : front left jaw depth
- 0x9C : upper forehead width (brainiac)
- 0xA8 : chin width
- 0xB0 : chin center depth? See PSD
- 0xB8: nose height (affects whole face ayy lmao)
- 0xC0 : below mouth height (recesses chin)
- 0xCC : right ear horizontal
- 0xD8 : left ear horizontal (4th byte is absolute)
- 0xEC : right eyebrow vertical
- 0xF8 : left eyebrow vertical
- 0x104 : mouth depth
- 0x110 : between nose and mouth depth
- stature morphs
- -------------------
- bodyall folder contains stature morphs (height)
- bodyall_000 - 008(male) and bodyall_100 - 108(female)
- 0x1C : torso height
- 0x34 : overall height
- torso morphs
- -------------------
- body folder contains torso morphs
- body_000 - 011(male) and body_100 - 111(female)
- 0x0C : shoulder blade width (?)
- 0x14 : arm width (what)
- 0x24 : neck width
- 0x2C : neck depth
- 0x3C : shoulder/upper chest width
- 0x44 : upper chest depth
- 0x4C : shoulders set back ? (very subtle if anything)
- 0x54 : shoulder/upper chest width (does not include abdomen)
- 0x5C : upper chest depth (does not include abdomen)
- 0x78 : pectoral seperation (higher = closer)
- 0x80 : pectoral portrusion
- 0x94 : arm set (distance from torso)
- -------------------
- weight/musculature/breast morphs
- -------------------
- there are 5 options for each, can't find them yet
- 200-204 body/bodyall/base don't seem to do anything
- arm morphs
- -------------------
- arm_000 - 011(male) and arm_100 - 111(female)
- 0x10 : arm width
- 0x14 : arm depth
- 0x24 : vertical hand scale
- 0x28 : horizontal hand scale
- 0x2C : depth hand scale
- 0x30 : angled back degree (making a > with arm)
- ear morphs
- -------------------
- ear_000 - 015(male) and ear_100 - 115(female)
- 0x10 : Right ear vertical position
- 0x14 : Right ear z-axis placement
- 0x1C : Left ear vertical position
- 0x20 : Left ear z-axis placement (differs from 0x14, higher means closer to front on left ear, further back on right)
- 0x24 : right ear top tip rotation (angles in towards head)
- 0x28 : right ear top tip vertical scaling
- 0x2C : right ear top tip depth rotation (angles towards front of face)
- 0x30 : left ear top tip rotation (angles in towards head)
- 0x34 : left ear top tip vertical scaling
- 0x38 : left ear top tip depth rotation (angles towards front of face)
- 0x3C : right back of ear rotation (angles in towards head)
- 0x40 : right back ear scaling(?)
- 0x44 : right back ear rotation (angles towards front of face)
- 0x48 : left back of ear rotation (angles in towards head)
- 0x4C : left back ear scaling(?)
- 0x50 : left back ear rotation (angles towards front of face)
- 0x54 : right ear lobe rotation (angles in towards head)
- 0x58 : right ear lobe vertical scaling
- 0x5C : nothing?
- 0x60 : left ear lobe rotation (angles in towards head)
- 0x64 : left ear lobe vertical scaling
- 0x68 : nothing?
- 0x70 : whole right ear rotation (facing front of face)
- 0x7C : whole left ear rotation
- eye morphs
- -------------------
- eye_000 - 035(male) and eye_100 - 135(female)
- 0x0C : right inner eye (carancula) horizontal position
- 0x10 : right inner eye (carancula) vertical position
- 0x18 : left inner eye (carancula) horizontal position
- 0x1C : left inner eye (carancula) vertical position
- 0x24 : right inner upper eyelid horizontal position
- 0x28 : right inner upper eyelid vertical position
- 0x30 : left inner upper eyelid horizontal position
- 0x34 : left inner upper eyelid vertical position
- 0x3C : right eyeball depth
- 0x40 : right outer upper eyelid vertical position
- 0x48 : left eyeball depth
- 0x4C : left outer upper eyelid vertical position
- 0x54 : right eyeball horizontal scaling (?)
- 0x58 : right outer eye (lateral commissure) vertical position
- 0x60 : left eyeball horizontal scaling (?)
- 0x64 : left outer eye (lateral commissure) vertical position
- 0x6C : right outer lower eyelid depth position
- 0x70 : right outer lower eyelid vertical position
- 0x78 : left outer lower eyelid depth position
- 0x7C : left outer lower eyelid vertical position
- 0x84 : right mid lower eyelid horizontal position
- 0x88 : right mid lower eyelid vertical position
- 0x90: left mid lower eyelid horizontal position
- 0x94 : left mid lower eyelid vertical position
- 0x9C : right whole eye horizontal position
- 0xA0 : right whole eye vertical position
- 0xA8 : left whole eye horizontal position
- 0xAC : left whole eye vertical position
- 0xB4 : right lower inner eyebag (Orbicularis oculi orbital) horizontal position
- 0xB8 : right lower inner eyebag (Orbicularis oculi orbital) vertical position
- 0xBC : right lower inner eyebag (Orbicularis oculi orbital) depth position
- 0xC0 : left lower inner eyebag (Orbicularis oculi orbital) horizontal position
- 0xC4 : left lower inner eyebag (Orbicularis oculi orbital) vertical position
- 0xC8 : left lower inner eyebag (Orbicularis oculi orbital) depth position
- 0xD4 : right upper eyelash length
- 0xE0 : left upper eyelash length
- 0xE4 : right iris/pupil depth (why)
- 0xE8 : right iris/pupil scale
- 0xF0 : left iris/pupil depth
- 0xF4 : left iris/pupil scale
- 0x104 : right lower eyelash length
- 0x110 : left lower eyelash length
- 0x114 : right eyeball scale
- 0x120 : left eyeball scale
- 0x12C : right eyelash rotation
- 0x138 : left eyelash rotation
- 0x14C : right whole eye rotation
- 0x158 : left whole eye rotation
- 0x15C : nothing (?)
- 0x168 : nothing (?)
- eyebrow morphs
- -------------------
- eyeblow_000 - 039(male) and eyeblow_100 - 139(female)
- 0x0C : mid right brow horizontal position
- 0x10 : mid right brow vertical position
- 0x14 : mid right brow depth position
- 0x18 : mid left brow horizontal position
- 0x1C : mid left brow vertical position
- 0x20 : mid left brow depth position
- 0x24 : nothing (?)
- 0x28 : nothing (?)
- 0x2C : nothing (?)
- 0x30 : nothing (?)
- 0x34 : nothing (?)
- 0x38 : nothing (?)
- 0x3C : inner right brow horizontal position
- 0x40 : inner right brow vertical position
- 0x44 : inner right brow depth position
- 0x48 : inner left brow horizontal position
- 0x4C : inner left brow vertical position
- 0x50 : inner left brow depth position
- 0x54 : outer right brow horizontal position
- 0x58 : outer right brow vertical position
- 0x5C : outer right brow depth position
- 0x60 : outer left brow horizontal position
- 0x64 : outer left brow vertical position
- 0x68 : outer left brow depth position
- 0x70 : right brow vertical scaling
- 0x7C : left brow vertical scaling
- 0x8C : right mid-inner brow twisting/pinching (?)
- 0x98 : left mid-inner brow twisting/pinching (?)
- 0xA4 : right mid-outer brow twisting/pinching (?)
- 0xB0 : left mid-outer brow twisting/pinching (?)
- leg morphs
- -------------------
- leg_000 - 011(male) and leg_100 - 111(female)
- All below reference the start of 4byte values, and the 4th byte should be left alone (will generally be a value of 3F)
- 0x0C - horizontal scaling (whole leg)
- 0x14 - depth scaling (whole leg)
- 0x18 - thigh gap (higher is smaller gap) (angles legs)
- 0x1C - groin height? (very subtle change)
- 0x24 - horizontal foot scaling
- 0x2C - depth foot scaling
- 0x34 - no effect (?)
- 0x3C - abdomen width scaling (heavily affects shoulders)
- 0x44 - BUTTS (affects whole leg, may need to downplay 0x14)
- mouth morphs
- -------------------
- mouth_000 - mouth035(male) and mouth_100 - 135(female)
- 0x0C : right upper mid lip horizontal position
- 0x10 : right upper mid lip vertical position
- 0x14 : right upper mid lip depth position
- 0x18 : left upper mid lip horizontal position
- 0x1C : left upper mid lip vertical position
- 0x20 : left upper mid lip depth position
- 0x24 : right mouth tip horizontal position
- 0x28 : right mouth tip vertical position
- 0x2C : right mouth tip depth position
- 0x30 : left mouth tip horizontal position
- 0x34 : left mouth tip vertical position
- 0x38 : left mouth tip depth position
- 0x40 : whole mouth vertical position
- 0x48 : right lower mid lip horizontal position
- 0x4C : right lower mid lip vertical position
- 0x50 : right lower mid lip depth position
- 0x54 : left lower mid lip horizontal position
- 0x58 : left lower mid lip vertical position
- 0x5C : left lower mid lip depth position
- 0x64 : nothing (?)
- 0x70 : nothing (?)
- 0x84 : right lower outer lip horizontal position
- 0x88 : right lower outer lip vertical position
- 0x8C : right lower outer lip depth position
- 0x90 : left lower outer lip horizontal position
- 0x94 : left lower outer lip vertical position
- 0x98 : left lower outer lip depth position
- 0x9C : right outside mouth horizontal position
- 0xA0 : right outside mouth vertical position
- 0xA4 : right outside mouth depth position
- 0xA8 : left outside mouth horizontal position
- 0xAC : left outside mouth vertical position
- 0xB0 : left outside mouth depth position
- 0xB4 : whole mouth horizontal scaling
- nose morphs
- -------------------
- nose_000 - 035(male) and nose_100 - 135(female)
- 0x0C : nose bridge horizontal position
- 0x10 : nose bridge vertical position
- 0x14 : nose bridge depth position
- 0x18 : mid nose (dorsum nasi) horizontal position
- 0x1C : mid nose (dorsum nasi) vertical position
- 0x20 : mid nose (dorsum nasi) depth position
- 0x24 : nose tip horizontal position
- 0x28 : nose tip vertical position
- 0x2C : nose tip depth position
- 0x30 : whole lower nose base horizontal position
- 0x34 : whole lower nose base vertical position
- 0x3C : right nostril horizontal position
- 0x40 : right nostril vertical position
- 0x44 : right nostril depth position
- 0x48 : left nostril horizontal position
- 0x4C : left nostril vertical position
- 0x50 : left nostril depth position
- 0x54 : nose bridge horizontal scaling
- 0x60 : mid nose (dorsum nasi) horizontal scaling
- 0x6C : nose tip horizontal scaling
- 0x7C : right nostril vertical scaling
- 0x88 : left nostril vertical scaling
- 0x90 : twist nose tip downwards (?)
- 0x9C : twist right supra alar crease
- 0xA4 : twist right alar rim
- 0xA8 : twist left supa alar crease
- 0xB0 : twist left alar rim
- Hair Color
- -------------------
- in file bbs_rpg.arc\etc\editPattern\editPattern.epd
- Address 0x1F0 - 0x53F
- look at it in 16 byte lines, each line refers to one hair color
- Last byte (00 00 80 3F) of each 16 byte line produces awkward results, so I'd probably avoid messing with it.
- Skin Color
- -------------------
- in file bbs_rpg.arc\etc\editPattern\editPattern.epd
- Address 0x5EC - 0x93B
- just like hair color, 16 byte lines, each line refers to one skin color
- Last byte (00 00 80 3F) of each 16 byte line produces awkward results, so I'd probably avoid messing with it.
- Makeup Color
- -------------------
- in file bbs_rpg.arc\etc\editPattern\editPattern.epd
- Address 0x9E8 - 0xD27
- just like hair color, 16 byte lines, each line refers to one makeup color
- Last byte (00 00 80 3F) of each 16 byte line produces awkward results, so I'd probably avoid messing with it.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement