[Scummvm-git-logs] scummvm branch-2-3 -> c924c3e84efafcad883cb23a8eaf009346a221e2

dreammaster dreammaster at scummvm.org
Sat Sep 25 16:55:01 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:
c924c3e84e AGS: Implemented fade_interpolate


Commit: c924c3e84efafcad883cb23a8eaf009346a221e2
    https://github.com/scummvm/scummvm/commit/c924c3e84efafcad883cb23a8eaf009346a221e2
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-09-25T09:54:55-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