Use mkxp-z bitmap animations for Intro Cinematic #123
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mkxp-z allows, in contrast to regular RGSS/rpgmakexp, to add multiple frames to a bitmap and to then play them at a predetermined frame rate that is independent of the game frame rate. These animated bitmaps can be loaded from a gif or be constructed manual at runtime.
Combining the 300 png frames from the intro cinematic into a gif and playing them back using the corresponding mkxp-z functionality has the following advantages:
All in all this isn't a game changer, but decreasing game size and code complexity is always a nice thing.
Edit: I realized, I should further inspect the quality loss, that can happen due to GIFs 256 colors per frame restriction. On the first frames, the degradation is actually pretty bad, due to all colors getting lighter with each frame. Therefore, I decided to keep the first 14 frames as PNGs with full color space and then to simply prepend the frames on startup (mkxp-z has no problem with mixing and matching those, since they get decoded to pure bitmaps anyway).
On the frames after this, there sometimes happens some loss of color. But in my opinion it is never noticeable without viewing it frame by frame and then zooming in pretty hard.
Some examples: