adventuregamestudio / ags

AGS editor and engine source code
Other
707 stars 159 forks source link

AGS 4: remove 16-bit game color depth #2493

Closed ivan-mogilko closed 3 months ago

ivan-mogilko commented 3 months ago

I've been looking at #1980 again, and I think we might remove 16-bit game support first, thus reducing number of concerns in #1980.

For the new projects it is a matter of removing "16-bit" choice in the general settings. The value itself may have to stay in GameColorDepth enum to avoid errors when importing an older project, but tagged with [Browsable(false)] and [Obsolete] attributes, which will make it not present in the list.

I mostly wonder about older project import here, in case they are in 16-bit. AFAIK AGS does not have any actual conversion mechanism when switching the color depth in general settings. In theory, following has to be done:

For the engine... I don't want to remove 16-bit bitmap support from the graphics library just yet, after all we might want to support loading an arbitrary image for sprites with conversion. But any algorithm in the engine itself, which has a branch for 16-bit color, may be cut out.


On testing, there is a number of old 16-bit games in this list of opensource games: https://www.adventuregamestudio.co.uk/forums/advanced-technical-forum/a-sticky-list-with-open-source-ags-games/

Quick example: "Aeronuts" (http://shatten.sonores.de/wp-content/uploads/2014/09/AeroNuts_OSS.7z)

ericoporto commented 3 months ago

Perhaps it's a matter of writing an alternate process that reads sprites from old spritefile, converts color depth, and saves into a new one.

It looks like something along this was done in this commit https://github.com/adventuregamestudio/ags/commit/28b95663a2ca89e556f97d1a2d244e62f6570f98

ivan-mogilko commented 3 months ago

Resolved by #2496