Features

  • High resolution textures for characters, skies and objects.
  • Animated 3D signs at Bricks restored.
  • Partial transparency that doesn't work is replaced with absolute.
  • Some cinematic scipts fixed to pause level music. Normally it overlaps with music from the cinematic.

Installation

  1. Extract the archive
  2. Merge with an existing /anoxdata/ folder (it is in the root of the game).

Make sure to backup the existing anoxdata folder in case the need to revert the changes.

The current state

So far most of the textures that could've been upscaled are added. Some minor stuff is still left. The mod requires a lot of testing, the things to pay attention to are:

  1. The surfaces on models that are supposed to be transparent are.
  2. The animated elements on models are animating properly and are not misplaced

The package is pretty huge, so I am trying to exclude all the textures that are unused in the game. To contribute in finding them you can visit The Cutting Room Floor page.

TBD

  • Decrease package size.
  • Clean up alpha channels.

Troubleshooting

If in any case anything goes wrong there can be 3 sources of the problem:

  1. anoxdata/models/entity.dat file. Its modification is responsible for restoration of the animated signs at Bricks. Delete or rename to check if it's the source of the problem.
  2. anoxdata/textures/textureinfo.dat file. Its modification is responsible for fixing partial transparency. Delete or rename to check if it's the source of the problem.
  3. upscaled textures and .atd files
  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Summed up

  • Upscaling is done with ESRGAN
  • The algorithm uses Manga109Attempt model
  • Output resolution is x4
  • Upscaling is done on characters, objects and skyboxes

Manga109Attempt model

Before using that combination I tried a couple more algorithms and models, but that one has the most authentic output.

Sometimes just upscaling textures is not enough, especially for characters. Some of them blink and such and that is controlled via .ATD files (procedural textures) which need to be altered for upscaled textures.

The algorithm doesn't upscale transparent textures by default. So alpha channel for these textures needs to be upscaled separately and matched with the new texture.

Regarding textures for level geometry

The textures that cover level geometry are not really easy to replace. For example, if you were to make any texture 4 times bigger it would take 4 times more space on surface, therefore upscaling like that wouldn't really work right away.

So far there are 2 theoretical solutions:

  1. Decompile all maps, and replace the textures manually (pretty crazy idea, but nevertheless). It seems that resolution of lightmaps is tied to texture size of surfaces. There is a limit on how many lightmaps there can be (after filling 1 lightmap completely another one is created, and lightmap resolution affects how fast they fill). There is a limit on how many lightmaps there can be.
  2. Hack the game with hex editor to make it assume all the textures loaded are 4 times smaller than what they actually are and then upscale everything x4 times.
  3. That method actually works but only manually:
    1. Make a separate textures folder and name it textureshd (any name will do)
    2. Load the game and any map
    3. Rename the old textures folder to texturesold and textureshd to textures
    4. Run flushtextures command in console.

Credits to Laguna (Stiv) for the third solution. It actually works, however there needs to be some sort of a script to automate the process.

So the current solutions don't seem really trivial therefore, as for now, mod is focused only on upscaling of what is possible with the current tools.

Skies

Upscaling produces a little noise pattern which is fine to have on most textures. With skies it is not really fitting. The only exception is skies that have stars, the areas with stars are not denoised since they are apparently being recognized as a noise pattern and get toned down a lot.

Examples: 1 2 3

Compression

Most of the textures in the game use .TGA file format, the other files use .PNG. Not much can be done regarding .TGA to reduce the package size except for RLE compression. Using indexed color palette with .TGA images does not work, the following message appears:

ANOXGFX: ERROR: Color-mapped targa images  are unsupported.

Regarding .PNG it is not easy as well, the game seems to not be able to recognize images with indexed palette, pointing out incorrect colortype value. Some textures are allowed to be indexed for some reason (Stiletto), but some are not (Boots).


Fixing animated signs at Bricks

Fixing animated signs at Bricks

News 2 comments

Fixing animated 3D signs that are not playing animation in the patched version of the game.

Partial Transparency

Partial Transparency

News

Explains the issue with partial transparency in the patched version of the game.

Add file RSS Files
No Upscale v0.3

No Upscale v0.3

Patch

Version of the mod without high resolution textures.

Graphical Enhancements v0.3

Graphical Enhancements v0.3

Patch 2 comments

The patch makes couple fixes and adds upscaled textures.

Post comment Comments
ChnuckiErdbeer
ChnuckiErdbeer - - 6 comments

Hi,
I manged to write a jupyter notebook for scaling the uv coordinates inside compiled levels. Some have a MAX_MAP_LIGHTING problem when using 4x scaling but 3x seems to work fine. I uploaded the notebook here but it is currently waiting for admin approval. You can visit it in my githup right now though:

Github.com

If somebody knows how to work around the MAX_MAP_LIGHTING problem: I'm interested! :)

Reply Good karma Bad karma+1 vote
AranhaRushGaming
AranhaRushGaming - - 2 comments

I tried the 3rd solution for the textures.
It works, but only at the level where the process was done.
Transitioning to another level, the textures get messed up again due to their size.

Reply Good karma Bad karma+2 votes
clort78
clort78 - - 2 comments

The gamma control doesn't work in my emulator, so I need some way to fix the pitch-black / dark environments.

Is doing textures the only way? Or can lighting in the worldmaps be adapted?

Reply Good karma Bad karma+1 vote
Guest
Guest - - 690,717 comments

This comment is currently awaiting admin approval, join now to view.

pawel0111
pawel0111 - - 54 comments

This game is one of the best RPG game ever in my opinion and still dont have remaster, sad :( btw great mod, keep up good work bro ;) cheers

Reply Good karma Bad karma+3 votes
Guest
Guest - - 690,717 comments

After all this time! Finally a texture mod for this masterpiece! Thank you!

Reply Good karma Bad karma+2 votes
Guest
Guest - - 690,717 comments

Oh this is incredible. Here's a game that is SO deserving of a remaster/upscale treatment. The characters, the atmosphere and music are memorable and I can still remember it so well, even after all these years. Thank you for this. I just finished reinstalling the game and will test this mod.

Reply Good karma Bad karma+2 votes
Vyolette13
Vyolette13 - - 220 comments

Awesome! I was just thinking of replaying this. The Characters look gorgeous, and I'm always a fan of bugfixes! Any plans on upscaling the environment textures?

Reply Good karma Bad karma+3 votes
Vyolette13
Vyolette13 - - 220 comments

Oh my apologies, I just read your article about the environment textures. I had read there were difficulties before but I had no idea that's how it worked. Sucks that's an engine limitation.

Reply Good karma Bad karma+3 votes
AlpacaNox Creator
AlpacaNox - - 2 comments

It's probably possible to make it happen, there is a method that actually works, but not automated (added in the articles).

Reply Good karma+3 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X