[Scummvm-git-logs] scummvm master -> ec75ae627a929c2c1aecc7689620e359e4c61376
dreammaster
dreammaster at scummvm.org
Sat Sep 25 16:54:35 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ec75ae627a AGS: Implemented fade_interpolate
Commit: ec75ae627a929c2c1aecc7689620e359e4c61376
https://github.com/scummvm/scummvm/commit/ec75ae627a929c2c1aecc7689620e359e4c61376
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-09-25T09:54:22-07:00
Commit Message:
AGS: Implemented fade_interpolate
Changed paths:
engines/ags/engine/gfx/ali_3d_scummvm.cpp
engines/ags/lib/allegro/color.cpp
diff --git a/engines/ags/engine/gfx/ali_3d_scummvm.cpp b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
index cfd02ed948..d690cae5be 100644
--- a/engines/ags/engine/gfx/ali_3d_scummvm.cpp
+++ b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
@@ -642,6 +642,7 @@ void ScummVMRendererGraphicsDriver::__fade_from_range(PALETTE source, PALETTE de
RenderToBackBuffer();
Present();
+ g_system->delayMillis(5);
sys_evt_process_pending();
if (_pollingCallback)
_pollingCallback();
diff --git a/engines/ags/lib/allegro/color.cpp b/engines/ags/lib/allegro/color.cpp
index 296dbdc19d..67ec489aab 100644
--- a/engines/ags/lib/allegro/color.cpp
+++ b/engines/ags/lib/allegro/color.cpp
@@ -196,7 +196,15 @@ void get_palette_range(PALETTE p, int from, int to) {
}
void fade_interpolate(AL_CONST PALETTE source, AL_CONST PALETTE dest, PALETTE output, int pos, int from, int to) {
- warning("TODO: fade_interpolate");
+ assert(pos >= 0 && pos <= 64);
+ assert(from >= 0 && from < PAL_SIZE);
+ assert(to >= 0 && to < PAL_SIZE);
+
+ for (int c = from; c <= to; c++) {
+ output[c].r = ((int)source[c].r * (63 - pos) + (int)dest[c].r * pos) / 64;
+ output[c].g = ((int)source[c].g * (63 - pos) + (int)dest[c].g * pos) / 64;
+ output[c].b = ((int)source[c].b * (63 - pos) + (int)dest[c].b * pos) / 64;
+ }
}
void select_palette(AL_CONST PALETTE p) {
More information about the Scummvm-git-logs
mailing list