From 8a71b9ded31ba392f27e1710357b972a2f00ef9c Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Wed, 15 Sep 2021 23:35:42 +0100 Subject: [PATCH] libsmacker: Add `smk_palette_updated` changes This is a DevilutionX-specific patch to enable efficient rendering --- 3rdParty/libsmacker/smacker.c | 5 +++++ 3rdParty/libsmacker/smacker.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/3rdParty/libsmacker/smacker.c b/3rdParty/libsmacker/smacker.c index eef6e7b75..206c3fdd5 100644 --- a/3rdParty/libsmacker/smacker.c +++ b/3rdParty/libsmacker/smacker.c @@ -1795,3 +1795,8 @@ char smk_seek_keyframe(smk s, unsigned long f) return 0; } + +unsigned char smk_palette_updated(smk s) +{ + return s->frame_type[s->cur_frame] & 0x01; +} diff --git a/3rdParty/libsmacker/smacker.h b/3rdParty/libsmacker/smacker.h index e79700416..860ed9acf 100644 --- a/3rdParty/libsmacker/smacker.h +++ b/3rdParty/libsmacker/smacker.h @@ -96,6 +96,9 @@ char smk_next(smk object); /** seek to first keyframe before/at N in an smk */ char smk_seek_keyframe(smk object, unsigned long frame); +/** was the pallet updated this frame */ +unsigned char smk_palette_updated(smk s); + #ifdef __cplusplus } #endif