initial: nsAdvsplash plugin 1.0.0

This commit is contained in:
2026-04-29 23:19:37 +02:00
commit 889289e5a0
36 changed files with 3329 additions and 0 deletions
+177
View File
@@ -0,0 +1,177 @@
# Microsoft Developer Studio Project File - Name="advsplash" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=advsplash - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "advsplash.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "advsplash.mak" CFG="advsplash - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "advsplash - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "advsplash - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "advsplash - Win32 Release_Unicode" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "advsplash - Win32 Debug_Unicode" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "advsplash - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /Og /Os /Oy /I "..\ExDll" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FD /c
# SUBTRACT CPP /Ox /Ow /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib vfw32.lib winmm.lib ole32.lib oleaut32.lib uuid.lib msvcrt.lib /nologo /entry:"DllMain" /subsystem:windows /dll /machine:I386 /nodefaultlib /out:"../../Plugins/newadvsplash.dll" /opt:nowin98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "advsplash - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib vfw32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"../../Plugins/newadvsplash.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "advsplash - Win32 Release_Unicode"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release_Unicode"
# PROP BASE Intermediate_Dir "Release_Unicode"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_Unicode"
# PROP Intermediate_Dir "Release_Unicode"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /Og /Os /Oy /I "..\ExDll" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_MBCS" /D "_USRDLL" /FD /c
# SUBTRACT CPP /Ox /Ow /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib vfw32.lib winmm.lib ole32.lib oleaut32.lib uuid.lib msvcrt.lib /nologo /entry:"DllMain" /subsystem:windows /dll /machine:I386 /nodefaultlib /out:"../../Unicode/plugins/newadvsplash.dll" /opt:nowin98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "advsplash - Win32 Debug_Unicode"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib vfw32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"../../Unicode/plugins/newadvsplash.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "advsplash - Win32 Release"
# Name "advsplash - Win32 Debug"
# Name "advsplash - Win32 Release_Unicode"
# Name "advsplash - Win32 Debug_Unicode"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\advsplash.cpp
# End Source File
# Begin Source File
SOURCE=.\gif.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\ExDLL\exdll.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
+28
View File
@@ -0,0 +1,28 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "advsplash"=.\advsplash.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+69
View File
@@ -0,0 +1,69 @@
NewAdvSplash.dll - plug-in that lets you throw
up a splash screen in NSIS installers with
fading effects (win2k/xp) and transparency.
At the same time can play wav-mp3 sound file.
Usage:
1) newadvsplash::show [/NOUNLOAD] Delay FadeIn FadeOut KeyColor [/BANNER] [/PASSIVE] [/NOCANCEL] FileName
Delay - time (milliseconds) to show image
FadeIn - time to show the fadein scene
FadeOut - time to show the fadeout scene
KeyColor - color used for transparency, could be any RGB value
(for ex. R=255 G=100 B=16 -> KeyColor=0xFF6410),
use KeyColor=-1 if there is no transparent color at your image.
If KeyColor=-2 and image type is gif, plug-in attempts to extract
transparency color value from the file header. For gif images
transparency on the static background works even if KeyColor=-1.
/BANNER - returns control to installer immediatelly after plug-in
activation. Not depends on installer page - parent window NULL.
/NOCANCEL - disables 'exit on user click' default behaviour.
/PASSIVE - not forces splash window to foreground.
FileName - splash image filename (with extension!). Bmp, gif and jpg
image types are supported.
For example:
newadvsplash::show 3000 0 0 -2 "$PLUGINSDIR\catch.gif"
or
newadvsplash::show /NOUNLOAD 1000 600 400 0xFF6410 /BANNER "$TEMP\spltmp.bmp"
Use /NOUNLOAD with /BANNER key - this case plug-in not waits for
the end of 'show' and returns control to installer. If used in .onInit
function, /BANNER key requires 'ShowWindow $HWNDPARENT 2' in .onGUIInit
2) newadvsplash::stop [/WAIT | /FADEOUT]
Without options terminates banner.
With /WAIT option waits for the end.
With /FADEOUT option forces banner close with fade out effect ('Delay' -> 0).
3) newadvsplash::play /NOUNLOAD [/LOOP] FileName
FileName - sound filename to play (with extension, wav, mp3 ...).
Empty Filename string "" stops sound.
For example:
newadvsplash::play /NOUNLOAD /LOOP "$PLUGINSDIR\snd.mp3"
newadvsplash::show 2000 1000 500 -1 "$PLUGINSDIR\iamfat.jpg"
4) newadvsplash::hwnd /NOUNLOAD
Gets splash window handle.
For example:
newadvsplash::hwnd /NOUNLOAD
Pop $0 ; $0 is window handle now
Compatibility:
Basic - Win95 and later.
Fadein/fadeout - win2k/winxp.
Original code - Justin
Converted to a plugin DLL by Amir Szekely (kichik)
Fading and transparency by Nik Medved (brainsucker)
Gif and jpeg support, /BANNER and /CANCEL, mp3 support - Takhir Bedertdinov
+82
View File
@@ -0,0 +1,82 @@
{{PageAuthor|Takhir}}
== Links ==
Download:<br>
<attach>NewAdvSplash.zip</attach><br>
[http://forums.winamp.com/showthread.php?s=&threadid=197479 Forum thread]
== Description ==
NewAdvSplash.dll - startup image banner plug-in with fading effects (win2k/xp) and transparency. At the same time can play sound file. On the base of AdvSplash NSIS plug-in with following add-ons: allows background installer initialization (async-banner mode); plays mp3 files; gif, jpeg and some other OleLoadPicture() formats; "passive" mode - not forces spalsh window to foreground; can return splash HWND to work with other plug-ins (Marquee, AnimGif) in the async mode.
Compatibility: basic - Win95 and later, fadein/fadeout - win2k/winxp.
== Installing ==
Unzip and place the .dll file into the Plugins directory.
== Entry points and parameters (NSIS script) ==
newadvsplash::show [/NOUNLOAD] Delay FadeIn FadeOut KeyColor [/BANNER] [/PASSIVE] [/NOCANCEL] FileName
; Delay
: time (milliseconds) to show image
; FadeIn
: time to show the fadein scene
; FadeOut
: time to show the fadeout scene
; KeyColor
: color used for transparency, could be any RGB value (for ex. R=255 G=100 B=16 -> KeyColor=0xFF6410), use KeyColor=-1 if there is no transparent color at your image. If KeyColor=-2 and image type is gif, plug-in attempts to extract transparency color value from the file header. For gif images transparency on the static background works even if KeyColor=-1.
; /BANNER
: returns control to installer immediatelly after plug-in activation.
; /NOCANCEL
: disables 'exit on user click' default behaviour.
; /PASSIVE
: not forces spalsh window to foreground
; FileName
: splash image filename (with extension!). Bmp, gif and jpg image types supported.
newadvsplash::stop [/WAIT | /FADEOUT]
: For /BANNER mode only! Without options terminates banner.
: With /WAIT option waits for the end.
: With /FADEOUT option forces banner close with fade out effect ('Delay' -> 0).
newadvsplash::play /NOUNLOAD [/LOOP] FileName
; FileName
: sound filename to play (with extension, wav, mp3 ...). Empty Filename string "" stops playing ('show' end does this as well).
; /LOOP
: loops sound.
newadvsplash::hwnd
: Gets splash window handle (use Pop to take it from stack)
== Examples ==
'Modeless' logo with sound
<highlight-nsis>
newadvsplash::play /NOUNLOAD /LOOP "$PLUGINSDIR\snd.mp3"
newadvsplash::show /NOUNLOAD 2000 1000 500 -2 /BANNER "$PLUGINSDIR\logo.gif"
; add your initialization code here
newadvsplash::stop /WAIT
</highlight-nsis>
Simple logo
<highlight-nsis>
newadvsplash::show 2000 1000 500 -1 "$PLUGINSDIR\logo.jpg"
</highlight-nsis>
No return value.
[[Category:Plugins]]