Here's an improvised/cannibalized/what have you version of character appearance addresses. Paste it inside the
Character Pointers script.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>348816</ID>
<Description>"[Player Appearance]"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>750058</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348845</ID>
<Description>"Sex"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:male
1:female
</DropDownList>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>16C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348847</ID>
<Description>"Face (0-27)"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>171</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348878</ID>
<Description>"Skin"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348839</ID>
<Description>"Skin color X"</Description>
<ShowAsSigned>0</ShowAsSigned>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>166</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348840</ID>
<Description>"Skin color Y"</Description>
<ShowAsSigned>0</ShowAsSigned>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>167</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348841</ID>
<Description>"Wrinkle Volume (Age)"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>168</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348842</ID>
<Description>"Wrinkles"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>169</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348879</ID>
<Description>"Hair"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348857</ID>
<Description>"Hairstyle"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>184</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348836</ID>
<Description>"Hair color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>17C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348851</ID>
<Description>"Eyebrows"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>175</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348846</ID>
<Description>"Brow type"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>170</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348835</ID>
<Description>"Eyebrow color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>15c</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348853</ID>
<Description>"Facial hair"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>177</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348855</ID>
<Description>"Facial hair - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>160</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348880</ID>
<Description>"Eyes"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348848</ID>
<Description>"Eyes"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>172</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348837</ID>
<Description>"Eye width"</Description>
<ShowAsSigned>1</ShowAsSigned>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>164</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348838</ID>
<Description>"Eye height"</Description>
<ShowAsSigned>1</ShowAsSigned>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>165</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348852</ID>
<Description>"Eyelash length"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Short
1:Average
2:Long
</DropDownList>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>176</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348833</ID>
<Description>"Left eye - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>154</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348834</ID>
<Description>"Right eye - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>158</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348881</ID>
<Description>"Nose"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348849</ID>
<Description>"Nose"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>173</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348843</ID>
<Description>"Nose height"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>16A</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348882</ID>
<Description>"Mouth"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348850</ID>
<Description>"Mouth"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>174</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348871</ID>
<Description>"Mouth height"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>16B</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348877</ID>
<Description>"Makeup"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<Color>C6005E</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>348832</ID>
<Description>"Makeup 1 - type"</Description>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>12C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348826</ID>
<Description>"Makeup 1 - position X"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>110</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348827</ID>
<Description>"Makeup 1 - position Y"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>114</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348828</ID>
<Description>"Makeup 1 - size X"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>118</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348829</ID>
<Description>"Makeup 1 - size Y"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>11C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348825</ID>
<Description>"Makeup 1 - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>10C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348830</ID>
<Description>"Makeup 1 - glossy"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>120</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348831</ID>
<Description>"Makeup 1 - metallic"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>124</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348919</ID>
<Description>"Makeup 1 - transparency"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>10F</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348923</ID>
<Description>"Makeup 1 - luminescent"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>128</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348928</ID>
<Description>"Makeup 2 - type"</Description>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>108</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348929</ID>
<Description>"Makeup 2 - position X"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>EC</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348930</ID>
<Description>"Makeup 2 - position Y"</Description>
<Color>845900</Color>
<VariableType>Float</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>F0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348926</ID>
<Description>"Makeup 2 - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>E8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>348860</ID>
<Description>"Expression"</Description>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>188</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348858</ID>
<Description>"Clothing"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>186</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348856</ID>
<Description>"Clothing - color (ARGB)"</Description>
<ShowAsHex>1</ShowAsHex>
<Color>845900</Color>
<VariableType>4 Bytes</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>180</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>348859</ID>
<Description>"Voice"</Description>
<Color>845900</Color>
<VariableType>Byte</VariableType>
<Address>ps1</Address>
<Offsets>
<Offset>187</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Might wanna make a new character with every visual setting you like, screenshot the values, then fire up your main character and edit accordingly.
I took the addresses from character creation so some floats are around that may or may not work; I've successfully changed gender, skin tone, hair(s), mouth, voice, and that's about all I was interested in (but I still made sure all options are there). Didn't bother continuing with the makeup stuff since you can change that whenever you feel like it at the box. As always make a hard backup and use at your own risk.
Also, for convenience (and since it was requested earlier), here's the merged table I'm using.
-upd(29.01)
Be advised, there's some hotkeys assigned here and there, and I've updated some addresses like the lucky vouchers. Surprising how much you can scavenge from the old tables.