This section specifically means portraits in portraits.2da that are not tied to a particular creature appearance. Those are usually found with the creature themselves.
The base game ones will get a 4x upscale (or reuse the _H one as a lower sized one) and any new ones will be listed here.
portraits.txi
This file must be included and be blanked so that the mipmaps of DDS files on portraits doesn't ruin the quality at high resolutions and high scaling values (eg; x3 or x4). It otherwise takes some weird cross section of the file when resizing it or viewing them at distance.
Methodology
This is from the 4x project.
Crunch Options
All portraits won't have alpha so forcing -DTX1 on nwn_crunch is the key to lower file sizes.
New Approach
After some testing of the below (renaming some files, copying others) it is actually beneficial instead to use the mipmaps of the 4x option.
Edited - this is the new approach, just use crunch to generate all the sizes with the rescale option.
Creatures
We just rescale H down to the other sizes as above.
| Portrait Size | Use | Original Size | TGA Size | 4x Size | 4x DDS Size | Notes |
|---|---|---|---|---|---|---|
| Huge (h) | Chargen only really | 256x512 | 385KB | 1024x2048 | 1.33MB | |
| Large (l) | Character sheet | 128x256 | 97KB | 512x1024 | 341 KB | Sizeable increase in quality |
| Medium (m) | Top left portrait | 64x128 | 25KB | 256x512 | 85.4 KB | 4x the original size so should be good (and not too large) |
| Small (s) | Sidebar portrait, conversations | 32x64 | 7KB | 128x256 | 21.4 KB | 4x the original size so should be good (and not too large) |
| Tiny (t) | Tab "see names" portrait | 16x32 | 2KB | 64x128 | 5.47 KB | 4x the original size so should be good (and not too large) |
For placeables since they lack H and L (mostly! there are 1 or 2 that have them, perhaps since the portraits are reused on creatures for some reason).
| Portrait Size | Original Size | 4x Size | 4x Size | 4x DDS Size | Option to do |
|---|---|---|---|---|---|
| Medium (m) | 64x128 canvas; upper 64x100 used | 256x512 | 25KB | 85.4 KB | M upscaled |
| Small (s) | 32x64 canvas; upper 32x50 used | 128x256 | 7KB | 21.4 KB | M upscaled and rescaled |
| Tiny (t) | 16x32 canvas, upper 16x25 used | 64x128 | 2KB | 5.47 KB | M upscaled and rescaled |
Oddities for the different options below:
- po_plc_rainbw_h - Placeable but has h and l versions
- po_plc_bbl_sm_m - This one has ONLY the medium one for some reason
- po_msc_ - several placeable ones not marked "po_plc_" for some reason
- po_levelup - only file, used in the top right for levelup (Equivalent I think to "m")
- po_gi_x0horse_m - I think a placeable one, has only m/s/t
- po_door01_m - placeable or door but not named po_plc_ so has only m/s/t
- po_pause - solo file like levelup that has just the "m" sized variant
- po_timestop - solo file like levelup that just has the "m" sized variant
- po_unknownpc - Not sure if used...?
- There's also a few default portrait files not prefixed po_ likely used in some cases
Can remove:
- po_plc_x0_syt_s and po_plc_x0_tyt_t are the same item, no "m" version, and thus misnamed or the only ones. Neither appear in portraits.2da (syt/tyt). Looks to be a destroyed version of po_plc_x0_myt_m.
- Unused due to odd names not sure why they're even there:
- po_pwc_mage_001_
- po_pwc_post_001_
- po_pwc_rubl_001_
- po_pwc_rubl_002_
- po_pwc_rubl_003_
- po_pwc_sand_001_, po_pwc_sand_002_, po_pwc_sand_003_ and po_pwc_sand_004_
- po_pwc_sieg_001_, po_pwc_sieg_002_, po_pwc_sieg_003
- po_pwc_skull_01__
- po_pwc_tabl_001_, po_pwc_tabl_002_
- po_pwc_torc_001_
Missing Portraits
The portraits.2da file sometimes has a valid line with no files found:
| ID | BaseResRef | Sex | Race | InanimateType | Plot | LowGore | Notes |
|---|---|---|---|---|---|---|---|
| 324 | xAribethE_ | 4 | 1 | **** | 0 | **** | Sex value 4 means unselectable at char select. Aribeth actually uses portrait 14/15 |
| 325 | xAribethG_ | 4 | 1 | **** | 0 | **** | Sex value 4 means unselectable at char select. Aribeth actually uses portrait 14/15 |
| 323 | xAarin_ | 4 | 6 | **** | 0 | **** | Sex value 4 means unselectable at char select. Old Aarin Gend reference, uses portrait 31 |
| 327 | xSedos_ | 4 | 6 | **** | 0 | **** | Sex value 4 means unselectable at char select. Old Sedos reference, uses portrait 25 |
| 328 | yBegFem_ | 4 | 6 | **** | 0 | **** | Sex value 4 means unselectable at char select. Old Begger, Female reference. Although I don't think they ever did a female begger... |
| 329 | yBegMale_ | 4 | 6 | **** | 0 | **** | Sex value 4 means unselectable at char select. Old Begger, Male reference, although not sure which supplanted it. |
| 330 | yBldSail_ | 4 | 6 | **** | 0 | **** | Old blood sailor |
| 331 | yComFem_ | 4 | 6 | **** | 0 | **** | Old Female Commoner |
| 332 | yComMale_ | 4 | 6 | **** | 0 | **** | Old Male commoner |
| 333 | yDwarf_ | 4 | 6 | **** | 0 | **** | Old Dwarf (but why under race: 6 - human) |
| 334 | yHalfling_ | 4 | 6 | **** | 0 | **** | Old Hafling (but why under race: 6 - human) |
| 335 | yHalfOrc_ | 4 | 6 | **** | 0 | **** | Old Half-Orc (but why under race: 6 - human) |
| 336 | yHouseGrd_ | 4 | 6 | **** | 0 | **** | Old House Guard |
| 337 | yKnight_ | 4 | 6 | **** | 0 | **** | Old Knight |
| 338 | yKurthTrp_ | 4 | 6 | **** | 0 | **** | Old High Captian Kurth |
| 339 | yLuskTrp_ | 4 | 6 | **** | 0 | **** | Old Luskan |
| 340 | yNeverTrp_ | 4 | 6 | **** | 0 | **** | Old not sure, never something |
| 341 | yNobleFem_ | 4 | 6 | **** | 0 | **** | Old Noble, Female |
| 342 | yNobleMale_ | 4 | 6 | **** | 0 | **** | Old Noble, Male |
| 343 | yPlagVict_ | 4 | 6 | **** | 0 | **** | Old Plague Victim |
| 344 | yPrstFem_ | 4 | 6 | **** | 0 | **** | Old Priest, Female |
| 345 | yPrstMale_ | 4 | 6 | **** | 0 | **** | Old Priest, Male |
| 346 | yRogueFem_ | 4 | 6 | **** | 0 | **** | Old Rogue, Female |
| 347 | yRogueMale_ | 4 | 6 | **** | 0 | **** | Old Rogue, Male |
| 708 | matron | 1 | 1 | **** | 1 | **** | Likely just a duplicate of the real one "matmother" |
| 1269 | godfroy_ | 4 | 4 | **** | 0 | **** | Among the 1.69 additions like "Mist Dragon" or "horse", not sure it was in the game files at all? Race 4 suggests "not to be chosen by PCs" anyway or plot, and the name Godfroy is a NPC companion in Wyvern Crown of Cormyr |
Original Portraits Upscaled
To follow. Need to pick out which ones are appearance.2da related.
New Portraits
To follow.
Naming convention would be: po_op_XXX_t.dds (where T would be the appropriate size ID) if a generic "thing" else follow race conventions for Dwarfs, Elves etc.. XXX can be 9 characters long. This is because of portraits.2da limitations (you are forced to use po_ as a prefix!)