AI Neural Net upscaling of old pixel backgrounds

From that comment, I gather you didn’t try it?

That’s right. I don’t configure compilers very often but I always encounter some unexpected problems (missing libraries, wrong version of headers, etc.) I don’t even have VC2015 installed and I suspect transition to VC2017 would cause more problems… :neutral_face:

Unless you want all your objects and hotspots to be in their original coordinates in the mega-upscaled-calculated-by-neural-network background image, yes that is necessary.

I don’t think so. :slightly_smiling_face:
When I was converting our game from 640x480 to variable resolutions I did not changed the internal coordinates at all. I just added a function that counted the “new” coordinates based on the current resolution and it was used only in Paint() methods of all game objects.

	// original version
	dx8.BltSprite(&rect, gfx, &frameRect, 2);

	// with conversion
        rect = dx8.Coord(rect);
	dx8.BltSprite(&rect, gfx, &frameRect, 2);

Of course, with mouse you need reverse function too and things could get messy with two different sizes of bitmaps (the original size and the real upscaled size).

I don’t like any of those…even MI2SE looks like that put more effort into it.
Anyway, I would definitely used my ESRGAN models to make HD version that will look great with my PS touches if anybody would like to try it.

But since we have the Special Editions you could just replace those graphic assets instead of modifying the original MI1 and MI2 resources/engine.

So you are a programmer? I’m a little bit shocked :slight_smile: that you don’t like their compiling instructions, they are straight forward and pretty simple.

1 Like

Not nearly as simple as those for Linux. :wink:

https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/GCC

But yeah, since they have precompiled dependency libraries it should be pretty simple.

If I could do it… it was simple all right!

Reminder to self to check/start a thread on ScummVM forum on this.

Edit: Yes, there is

Thats right! I didnt think about that :slight_smile: worth to try (unofficially) :wink:

So you are a programmer?

Not really. :slightly_smiling_face: I studied programming many years ago but I don’t program very often. That’s why I don’t remember all the important settings of project.

I’m a little bit shocked :slight_smile: that you don’t like their compiling instructions, they are straight forward and pretty simple.

My experience is that almost all straightforward and simple instructions lead to a bunch of undocumented compiler or linker error so I always expect the worst. :neutral_face: But I have to admit that combination of a latest Visual Studio and very old DirectX SDKs may not be the typical case. :wink:

I thought that finding tool for Special Editions would be even more difficult but apparently it’s not. :slightly_smiling_face: (Monkey Island Explorer)

The good thing is that MISE does what I wanted from ScummVM - it automatically reads files that are not part of the pack.

If you wanted the game to accept a modified version of “ui/titlescreen/en-mi_startscreen_final_chunk_0_0.dxt”
You would first make an “ui” folder inside the game folder, then a “titlescreen” folder, then you’d put the “en-mi_startscreen_final_chunk_0_0.dxt” file inside it. The game would then use this file instead of the one thats inside the .pak resource file.

Here’s a test:

2 Likes

Can you feed it alternate resolution dxt files?

I did not dare to try it yet because I don’t think so. The resolution of the background image is 1024x1024. The SCUMM bar is much wider so it is split to several images (1024x1024 each) and I suppose there is an internal reason for it.

Surprisingly it did not crashed but the game used just the upper left quarter (1024x1024) of the whole image (2048x2048) so it’s not really working.

Edit: The first screenshot was resized to 50 % and I forgot to resize the second one too. Sorry. :blush:

Anyway, it’s not perfect but I think 1024 pixel lines isn’t that bad when the original image is about 160. :slightly_smiling_face:

1 Like

It has been years, fans have been upset about Guybrush look in SE, and they created different modifications to his look…and i was just messing with backgrounds.


Scene01-FINAL
Anyway, I think the SE format, should work with .png as well…dont remember.

and for @Vit_Condak here are the upscaled images for MI1 and MI2:
MI1 link
MI2 link

4 Likes

Thanks for the upscaled images - I’ll try to create some semi-automatic conversion system. =)

Anyway, I think the SE format, should work with .png as well…dont remember.

“That doesn’t seem to work.” :disappointed:
“layer0_chunk_0_0.dxt” loads but “layer0_chunk_1024_0.png” does not.

Also the existence of Monkey Island Image Converter suggests .PNGs just don’t work.

Monkey Island Image Converter
A program that allows you to convert .DDS images back into the .DXT format used in Monkey Island 1 Special Edition and Monkey Island 2 Special Edition.

I’ve seen your rendered backgrounds but I don’t remember seeing them integrated in the game. Did you make some video of that back then?

2 Likes

Everything is lost, I guess… =(
The problem is that SE backgrounds slightly changed positions and shapes of many different objects.

I think there is no (easy) way how to get decently looking results. The tables and similar objects will be misplaced.

1 Like

Looking good, it would need some hand-made modifications, but it shouldn’t be such big problem. Its such tedious work.
More issues will be with original characters and props sprite sheets with animations and their positioning etc. not sure about that. :wink:

I would also test MI2SE, it might have better results

More issues will be with original characters and props sprite sheets with animations and their positioning etc. not sure about that. :wink:

That’s really way beyond what I had planned to test… :blush:
I hoped the characters and objects in front layer will somehow fit.

So far I took the upscaled image, set its height to 120 % to compensate 320x200 distortion, resized it to height 1024 with fixed ratio and split the result to chunks of 1024 pixels.

When I look at the modified scene in the game I can see that the size is slightly different and it should be moved a bit too, but it’s hard to tell how much.

1 Like

@Vit_Condak Might the same be possible with the classic sprites?

I think, we shouldn’t compare it to SE, but we should import all art from classic version, then all fits.
@Vit_Condak and keep just the UI stuff.

then funny thing will happen, we will be switching between same version :slight_smile:

I suppose it is possible but I don’t know if SE uses the same layout of frames as the VGA version. (I don’t have the original frames exported yet.) I suspect it won’t be exactly the same so it will require a lot of hand tuning…