Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5dc9406
gitignore
KRtekTM Sep 23, 2025
697a4ac
Merge branch 'OpenSalamander:main' into main
KRtekTM Sep 23, 2025
edd7bb4
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 1, 2025
5b6b4af
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 1, 2025
8ca6e28
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 1, 2025
5b64ad5
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 2, 2025
fb9b90b
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 2, 2025
fe80445
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 5, 2025
9a8e8ec
gitignore
KRtekTM Oct 5, 2025
0f52ff2
Merge branch 'OpenSalamander:main' into main
KRtekTM Oct 6, 2025
5c1e1a2
feat(pictview): replace PVW32Cnv loader with WIC backend
KRtekTM Oct 6, 2025
c0836a2
revert unwanted changes
KRtekTM Oct 6, 2025
dc0599f
revert unwanted changes
KRtekTM Oct 6, 2025
6c1ffb2
Handle GIF frame rects and disposal metadata in WIC backend
KRtekTM Oct 7, 2025
a5777f5
Populate GIF format info and clamp frame rectangles
KRtekTM Oct 7, 2025
27dbf87
Handle GIF transparency masks in WIC backend
KRtekTM Oct 7, 2025
cf16f75
Fix GIF mask orientation
KRtekTM Oct 7, 2025
dc51fac
Fix GIF mask generation
KRtekTM Oct 7, 2025
0fc5547
Merge pull request #194 from KRtkovo-eu-AI/codex/fix-gif-frame-offset…
KRtekTM Oct 7, 2025
0423880
Respect PVSaveImageInfo encoder settings (#195)
KRtekTM Oct 9, 2025
f2b555b
Fix context menu handling in PictView (#201)
KRtekTM Oct 9, 2025
eb72902
revert translation files
KRtekTM Oct 9, 2025
80c1a42
Fix palette decoding for indexed GIF frames (#200)
KRtekTM Oct 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 208 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,211 @@ Thumbs.db
/src/plugins/automation/generated/salamander_h.h
/src/plugins/automation/generated/salamander_i.c
/src/plugins/automation/generated/salamander_p.c
/src/plugins/7zip/vcxproj/7ZA/salamander/Debug_x64/plugins/7zip
/src/plugins/7zip/vcxproj/7ZA/salamander/Release_x64/plugins/7zip
/src/plugins/7zip/vcxproj/7zwrapper/salamander/Debug_x64/plugins/7zip
/src/plugins/7zip/vcxproj/7zwrapper/salamander/Release_x64/plugins/7zip
/src/plugins/7zip/vcxproj/salamander/Debug_x64/plugins/7zip
/src/plugins/7zip/vcxproj/salamander/Release_x64/plugins/7zip
/src/plugins/automation/vcxproj/salamander/Debug_x64/plugins/automation
/src/plugins/automation/vcxproj/salamander/Release_x64/plugins/automation
/src/plugins/checksum/vcxproj/salamander/Debug_x64/plugins/checksum
/src/plugins/checksum/vcxproj/salamander/Release_x64/plugins/checksum
/src/plugins/checkver/vcxproj/salamander/Debug_x64/plugins/checkver
/src/plugins/checkver/vcxproj/salamander/Release_x64/plugins/checkver
/src/plugins/dbviewer/vcxproj/salamander/Debug_x64/plugins/dbviewer
/src/plugins/dbviewer/vcxproj/salamander/Release_x64/plugins/dbviewer
/src/plugins/demomenu/vcxproj/salamander/Debug_x64/plugins/demomenu
/src/plugins/demomenu/vcxproj/salamander/Release_x64/plugins/demomenu
/src/plugins/demoplug/vcxproj/salamander/Debug_x64/plugins/demoplug
/src/plugins/demoplug/vcxproj/salamander/Release_x64/plugins/demoplug
/src/plugins/demoview/vcxproj/salamander/Debug_x64/plugins/demoview
/src/plugins/demoview/vcxproj/salamander/Release_x64/plugins/demoview
/src/plugins/diskmap/vcxproj/salamander/Debug_x64/plugins/diskmap
/src/plugins/diskmap/vcxproj/salamander/Release_x64/plugins/diskmap
/src/plugins/filecomp/vcxproj/fcremote/salamander/Debug_x64/plugins/filecomp
/src/plugins/filecomp/vcxproj/fcremote/salamander/Release_x64/plugins/filecomp
/src/plugins/filecomp/vcxproj/salamander/Debug_x64/plugins/filecomp
/src/plugins/filecomp/vcxproj/salamander/Release_x64/plugins/filecomp
/src/plugins/folders/vcxproj/salamander/Debug_x64/plugins/folders
/src/plugins/folders/vcxproj/salamander/Release_x64/plugins/folders
/src/plugins/ftp/vcxproj/salamander/Debug_x64/plugins/ftp
/src/plugins/ftp/vcxproj/salamander/Release_x64/plugins/ftp
/src/plugins/ieviewer/vcxproj/salamander/Debug_x64/plugins/ieviewer
/src/plugins/ieviewer/vcxproj/salamander/Release_x64/plugins/ieviewer
/src/plugins/mmviewer/vcxproj/salamander/Debug_x64/plugins/mmviewer
/src/plugins/mmviewer/vcxproj/salamander/Release_x64/plugins/mmviewer
/src/plugins/nethood/vcxproj/salamander/Debug_x64/plugins/nethood
/src/plugins/nethood/vcxproj/salamander/Release_x64/plugins/nethood
/src/plugins/pak/vcxproj/salamander/Debug_x64/plugins/pak
/src/plugins/pak/vcxproj/salamander/Release_x64/plugins/pak
/src/plugins/peviewer/vcxproj/salamander/Debug_x64/plugins/peviewer
/src/plugins/peviewer/vcxproj/salamander/Release_x64/plugins/peviewer
/src/plugins/pictview/vcxproj/exif/salamander/Debug_x64/plugins/pictview
/src/plugins/pictview/vcxproj/exif/salamander/Release_x64/plugins/pictview
/src/plugins/pictview/vcxproj/salamander/Debug_x64/plugins/pictview
/src/plugins/pictview/vcxproj/salamander/Release_x64/plugins/pictview
/src/plugins/portables/vcxproj/salamander/Debug_x64/plugins/portables
/src/plugins/portables/vcxproj/salamander/Release_x64/plugins/portables
/src/plugins/regedt/vcxproj/salamander/Debug_x64/plugins/regedt
/src/plugins/regedt/vcxproj/salamander/Release_x64/plugins/regedt
/src/plugins/renamer/vcxproj/salamander/Debug_x64/plugins/renamer
/src/plugins/renamer/vcxproj/salamander/Release_x64/plugins/renamer
/src/plugins/splitcbn/vcxproj/salamander/Debug_x64/plugins/splitcbn
/src/plugins/splitcbn/vcxproj/salamander/Release_x64/plugins/splitcbn
/src/plugins/tar/vcxproj/salamander/Debug_x64/plugins/tar
/src/plugins/tar/vcxproj/salamander/Release_x64/plugins/tar
/src/plugins/unarj/vcxproj/salamander/Debug_x64/plugins/unarj
/src/plugins/unarj/vcxproj/salamander/Release_x64/plugins/unarj
/src/plugins/uncab/vcxproj/salamander/Debug_x64/plugins/uncab
/src/plugins/uncab/vcxproj/salamander/Release_x64/plugins/uncab
/src/plugins/unchm/vcxproj/chmlib/salamander/Debug_x64/plugins/unchm
/src/plugins/unchm/vcxproj/chmlib/salamander/Release_x64/plugins/unchm
/src/plugins/unchm/vcxproj/salamander/Debug_x64/plugins/unchm
/src/plugins/unchm/vcxproj/salamander/Release_x64/plugins/unchm
/src/plugins/undelete/vcxproj/salamander/Debug_x64/plugins/undelete
/src/plugins/undelete/vcxproj/salamander/Release_x64/plugins/undelete
/src/plugins/unfat/vcxproj/salamander/Debug_x64/plugins/unfat
/src/plugins/unfat/vcxproj/salamander/Release_x64/plugins/unfat
/src/plugins/uniso/vcxproj/salamander/Debug_x64/plugins/uniso
/src/plugins/uniso/vcxproj/salamander/Release_x64/plugins/uniso
/src/plugins/unlha/vcxproj/salamander/Debug_x64/plugins/unlha
/src/plugins/unlha/vcxproj/salamander/Release_x64/plugins/unlha
/src/plugins/unmime/vcxproj/salamander/Debug_x64/plugins/unmime
/src/plugins/unmime/vcxproj/salamander/Release_x64/plugins/unmime
/src/plugins/unole/vcxproj/salamander/Debug_x64/plugins/unole
/src/plugins/unole/vcxproj/salamander/Release_x64/plugins/unole
/src/plugins/unrar/vcxproj/salamander/Debug_x64/plugins/unrar
/src/plugins/unrar/vcxproj/salamander/Release_x64/plugins/unrar
/src/plugins/wmobile/vcxproj/salamander/Debug_x64/plugins/wmobile
/src/plugins/wmobile/vcxproj/salamander/Release_x64/plugins/wmobile
/src/plugins/zip/vcxproj/salamander/Debug_x64/plugins/zip
/src/plugins/zip/vcxproj/salamander/Release_x64/plugins/zip
/src/plugins/zip/vcxproj/zip2sfx/salamander/Debug_x86/plugins/zip/zip2sfx/Intermediate/microsoft/STL
/src/plugins/zip/vcxproj/zip2sfx/salamander/Release_x86/plugins/zip/zip2sfx/Intermediate/microsoft/STL
/src/vcxproj/salamander/Debug_x64
/src/vcxproj/salamander/Release_x64
/src/vcxproj/salmon/salamander/Debug_x64
/src/vcxproj/salmon/salamander/Release_x64
/src/vcxproj/salopen/salamander/Debug_x64/plugins/Intermediate/salopen/Intermediate/microsoft/STL
/src/vcxproj/salopen/salamander/Release_x64/plugins/Intermediate/salopen/Intermediate/microsoft/STL
/src/vcxproj/salspawn/salamander/Debug_x64/plugins/Intermediate/salspawn/Intermediate/microsoft/STL
/src/vcxproj/salspawn/salamander/Release_x64/plugins/Intermediate/salspawn/Intermediate/microsoft/STL
/src/vcxproj/shellext/salamander/Debug_x64/plugins/Intermediate/salextx64/Intermediate/microsoft/STL
/src/vcxproj/shellext/salamander/Debug_x86/plugins/Intermediate/salextx86/Intermediate/microsoft/STL
/src/vcxproj/shellext/salamander/Release_x64/plugins/Intermediate/salextx64/Intermediate/microsoft/STL
/src/vcxproj/shellext/salamander/Release_x86/plugins/Intermediate/salextx86/Intermediate/microsoft/STL
/src/vcxproj/sqlite/salamander/Debug_x64
/src/vcxproj/sqlite/salamander/Release_x64

src/plugins/7zip/vcxproj/7ZA/salamander/Release_x86/

src/plugins/7zip/vcxproj/7zwrapper/salamander/Release_x86/

src/plugins/7zip/vcxproj/salamander/Release_x86/

src/plugins/automation/vcxproj/salamander/Release_x86/

src/plugins/checksum/vcxproj/salamander/Release_x86/

src/plugins/checkver/vcxproj/salamander/Release_x86/

src/plugins/dbviewer/vcxproj/salamander/Release_x86/

src/plugins/demomenu/vcxproj/salamander/Release_x86/

src/plugins/demoplug/vcxproj/salamander/Release_x86/

src/plugins/demoview/vcxproj/salamander/Release_x86/

src/plugins/diskmap/vcxproj/salamander/Release_x86/

src/plugins/filecomp/vcxproj/fcremote/salamander/Release_x86/

src/plugins/filecomp/vcxproj/salamander/Release_x86/

src/plugins/folders/vcxproj/salamander/Release_x86/

src/plugins/ftp/vcxproj/salamander/Release_x86/

src/plugins/ieviewer/vcxproj/salamander/Release_x86/

src/plugins/mmviewer/vcxproj/salamander/Release_x86/

src/plugins/nethood/vcxproj/salamander/Release_x86/

src/plugins/pak/vcxproj/salamander/Release_x86/

src/plugins/peviewer/vcxproj/salamander/Release_x86/

src/plugins/pictview/vcxproj/exif/salamander/Release_x86/

src/plugins/pictview/vcxproj/salamander/Release_x86/

src/plugins/portables/vcxproj/salamander/Release_x86/

src/plugins/regedt/vcxproj/salamander/Release_x86/

src/plugins/renamer/vcxproj/salamander/Release_x86/

src/plugins/splitcbn/vcxproj/salamander/Release_x86/

src/plugins/tar/vcxproj/salamander/Release_x86/

src/plugins/unarj/vcxproj/salamander/Release_x86/

src/plugins/uncab/vcxproj/salamander/Release_x86/

src/plugins/unchm/vcxproj/chmlib/salamander/Release_x86/

src/plugins/unchm/vcxproj/salamander/Release_x86/

src/plugins/undelete/vcxproj/salamander/Release_x86/

src/plugins/unfat/vcxproj/salamander/Release_x86/

src/plugins/uniso/vcxproj/salamander/Release_x86/

src/plugins/unlha/vcxproj/salamander/Release_x86/

src/plugins/unmime/vcxproj/salamander/Release_x86/

src/plugins/unole/vcxproj/salamander/Release_x86/

src/plugins/unrar/vcxproj/salamander/Release_x86/

src/plugins/wmobile/vcxproj/salamander/Release_x86/

src/plugins/zip/vcxproj/salamander/Release_x86/

src/vcxproj/salmon/salamander/Release_x86/

src/vcxproj/salopen/salamander/Release_x86/

src/vcxproj/salspawn/salamander/Release_x86/

src/vcxproj/sqlite/salamander/Release_x86/

src/vcxproj/salamander/Release_x86/

src/plugins/webview2renderviewer/managed/obj/

src/plugins/webview2renderviewer/managed/bin/

src/plugins/textviewer/managed/bin/

src/plugins/textviewer/managed/obj/

src/plugins/samandarin/managed/bin/

src/plugins/samandarin/managed/obj/

src/plugins/jsonviewer/managed/bin/

src/plugins/jsonviewer/managed/obj/

src/plugins/csdemo/managed/obj/

build/

output/
19 changes: 19 additions & 0 deletions doc/manual-tests/animated-gif-transparency.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Manual Test: 8-bit Animated GIF Transparency

This regression check ensures that semi-transparent pixels in paletted GIF animations
render without colour banding or grid artefacts.

## Required asset
- A dithered 8-bit animated GIF with transparency (for example, a ScreenToGif capture
exported with the gifski encoder).

## Steps
1. Open the GIF in PictView.
2. Let the animation loop at least once.
3. Inspect regions that fade in/out or show cursor trails.

## Expected result
- The animation uses the authored colours without blue/green/purple speckles.
- No grid artefacts or haloing appears around semi-transparent content.
- Pixels with fractional alpha look smooth across frames while fully transparent
regions remain transparent.
Loading