We'll run the Cupscale on the entire image set twice using the first two models, and pick the best images from each. The DDS images already have gone through a pass of 1x_artifacts_bc1_free_alsa (thanks Loinne!)
The models compared below:
Comparisons (note of course there may be transparency lost):
| Filename | Original (scaled up here if needed) | 4x_ESRGAN | 4x_BSRGAN | 4x_RealSR_DF2K_JPEG | realesrgan-x4plus | Jasperre's Winner |
|---|---|---|---|---|---|---|
| is_harm |
|
|
|
|
| BSRGAN is the most similar to the original scaled up - no smiling face. |
| ief_abildecr |
|
|
|
|
| BSRGAN. Crisp "human" model and downward arrow, although possibly loses a bit of the red in general. |
| isk_movsilent |
|
|
|
|
| BSRGAN or realesrgan-x4plus both look suitable, the former keeping the colour pallet a bit better. |
| dr_03 |
|
|
|
|
| Click to zoom in - large files! BSRGAN by a chunk, the JPEG one keeps a lot of the artefacts. The colours are best retained in BSRGAN too. Note the original file was TGA so no DDS artefacts to cope with. |
| iashlw_011 |
|
|
|
|
| The 4x_RealSR_DF2K_JPEG approach works well - it really brings the details of scratches and the crispness to the image and will look good in game. |
| cloak_001 (layer 4) |
|
|
|
|
| BSRGAN keeps it simple and effective. There are some odd subtle but noticeable changes in colours from greyscale in them too which we might need to account for (less so on BSRGAN). |
I went through and removed 518 files totalling 918MB of PNGs (pre-DDS) since they're pretty much:
Some files removed due to taste, some GUI things scale weirdly.
Also some bugs in my process! Such as icons not doing transparency properly so this is odd and needs to be fixed. Weirdly the PNGs look fine.
![]()
![]()
The blank Inventory icons (except the shield?) looks odd. The inventory is also now black instead of transparent and the lines are thicker. This seems to be from converting TGA's to PNGs not an issue with the upscaler as such, but need to test after redoing from source TGA files.
![]()
| Texture Name | Original | Upscaled | Notes |
|---|---|---|---|
| gui_rgbc | "Reg Green Blue Clear" presumably. Used in model gui_walk.mdl and other GUI things and scaling makes the colours overlap so it messes up the base "select/attack" models. | ||
| gui_rad_ring | This is the white bit around the tiny icons above. It might be fixable to give a smoother appearance by increasing the size manually. Not sure though might be a 1:1 pixel mapping. | ||
| gui_radialmenu | This is the now black squares! Weird. It might be fixable again by manually increasing the size of this file to make the circle elements more rounded and making sure the alpha is done properly. Not sure though might be a 1:1 pixel mapping or something odd! | ||
| inventory stuff to follow | |||
Lots of crashes - because of course NWN is ancient and sometimes hates things. Things noted here:
Distorted textures cannot exceed 256x256 resolution apparently - needs fully testing since one "shinywater" below is bigger than 256 already This is the TXI option "distort 1". This means primarily water but also other things like lava! Also look out for "arturowidth" and "arturoheight"
List of files:
| TXI file name / Texture Name | Original Size | Resized Size | Action |
|---|---|---|---|
| c_air_skin | 64x64 | 256x256 | Should be fine |
| c_water_skin | 128x128 | 512x512 | Remove, or need to downsize it |
| fxpa_globe | 64x64 | 256x256 | Should be fine |
| fxpa_globe2 | 64x64 | 256x256 | Should be fine |
| fxpa_spellturn | |||
| pdag_prt2 | 128x128 | 512x512 | Remove, or need to downsize it |
| pdag_prtl | 256x256 | 1024x1024 | Remove from pack |
| shinywater | 512x512 | 2048x2048 | Not even sure how this works in the original game! |
| tbw01_water01 | 256x256 | 1024x1024 | Remove from pack |
| tcm02_water01 | Remove from pack | ||
| tcn01_water01 | Remove from pack | ||
| tde01_lava01 | Remove from pack | ||
| tdm01_water01 | |||
| tdr01_e_wat01 | |||
| tds01_water01 | |||
| tdt01_water01 | |||
| tic01_water01 | |||
| tin01_water02 | |||
| tm_tcnwater01 | |||
| tm_tnowtsea01 | |||
| tm_trmwater01 | |||
| tm_ttzwater01 | |||
| tni01_water02 | |||
| tni02_water02 | |||
| tno01_water01 | |||
| trm02_water01 | |||
| trs02_water01 | |||
| tsw01_fog01 | |||
| tsw01_molten01 | |||
| tsw01_water01 | |||
| ttd01_water01 | |||
| ttf01_water01 | |||
| ttr01_water01 | |||
| tts01_water01 | |||
| tts02_water01 | |||
| ttu01_water | |||
| ttz01_water01 | |||
| twc03_wtsea01 | |||
| vdu_tex_shade |
Don't use DDS without mipmaps will crash - all mine have mipmaps mind you, even ones that don't really need it (icons for instance don't need mipmaps, the game has them at a set distance always on the GUI for maximum quality, but hey why not).
To follow - there's a chunk of redoing and actually documenting the process properly this time.