Quote from: Gilbert on Tue 10/04/2018 15:36:01
I'm not sure whether this is the problem, but colours with lower indices (at least #0-15) are supposed to be "reserved", so you may not be able to do whatever you want to them. For dynamic palette entries, it's advised to have them taking higher indices(which also in general is better for organisation, so you can have all the fixed colours taking the lower indiced slots).
I have re-checked it with setting color id's to "room", and nothing changes. For some super-weird reason, only the first slot in the palette is ever shifted.
Same happens with SetPalRGB:
SetPalRGB(0, 42,42,42) works.
SetPalRGB(1, 42,42,42) and subsequent slots, don't.

Quote from: Crimson Wizard on Tue 10/04/2018 15:53:56
Neither Direct3D nor OpenGL support paletted mode natively (because both are working with textures rather than bitmaps). The solution that was once suggested is to create a mixed mode where the in-game gfx manipulation would be performed in 8-bit software mode, but the final output made through one of the "advanced" renderers (converting final 8-bit room image on fly). However, no one has got to make such mode yet.
Since AGS 3.4.1 both hardware renderers actually run 8-bit games, converting all sprites to 32-bit, but support is only formal, because some graphic aspects may be lost and dynamic palette cycling does not work either.
So AGS uses native Windows software rendering? GDI? Or is it Allegro's?
I remember dabbling in SDL and Pygame a while ago and it had 8bit surfaces you could draw onto and then manipulate as needed, including drawing to 32bit textures.
Anyhow, lot's of cycling effects can be "imitated" by brute forcing it as animated objects, but actual shifting/cycling is more performance-friendly and can be really breathtaking when used skillfully, like these images by Mark Ferrari - not a single animation frame there, only static images.