It loads without errors. It compiles (same hints and warnings).
Hints and warnings will remain because they can not be avoided. I just hid them myself.
When running, it starts with glitched graphics (see attached screenshot) then freezes after the "presents" text disappears.
Yes, I know this problem. Earlier, we tried to fix it with
@Handoko, but it failed — either the frame was too narrow (when the pixel was 24-bit wide) or the game was hanging on just after the intro (when the pixel was 32-bit wide).
Maybe 28-bit wide pixel will work.

I have test:
[…]
In simple is same method in use game ?
Yes and no.
The hero is painted using
TCanvas.StretchDraw, because his body lengthens during falling and the sprite must be painted with stretch.
The level layers (except for the nearest black one) are painted using
TCanvas.CopyRect, because only the fragment visible on the screen must be copied and stretch (scaling) must be supported.
All other graphics, such as firefly sprites, text characters, pictures in animations, etc., are painted using the
TPainter.CopyBuffer method. This method works similarly to
TCanvas.Draw, i.e. it simply copies one bitmap to another without scaling, except that it omits pixels in the color of
clFuchsia. And it also supports copying only the part of the image that fits in the target bitmap (it does not try to modify the data outside the target bitmap area).
All level layers are rendered in a few steps, using the secondary buffer:
- defining the area visible on the screen,
- copying the fragment of the layer to the Buffers.Slave bitmap with or without scaling,
- painting the Buffers.Slave bitmap for a given color (only pixels in color other than clFuchsia)
- painting a layer from a Buffers.Slave bitmap on a Buffers.Master bitmap (omitting clFuchsia pixels).
ScanLine is always used when rendering level layers, more specifically when copying the
Buffers.Slave bitmap on the
Buffers.Master bitmap and when copying (without scaling and re-painting) the nearest layer (black one) on the
Buffers.Master bitmap. So it must work correctly.
I will prepare a simple window application to test
ScanLine and bitmaps that are used by the game, so that you can test copying images without having to debug the game. I will let you know when it will be ready.